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.15
case-sensitive
メディア
特別
トーク
利用者
利用者・トーク
Wiktionary
Wiktionary・トーク
ファイル
ファイル・トーク
MediaWiki
MediaWiki・トーク
テンプレート
テンプレート・トーク
ヘルプ
ヘルプ・トーク
カテゴリ
カテゴリ・トーク
付録
付録・トーク
TimedText
TimedText talk
モジュール
モジュール・トーク
Event
Event talk
styczeń
0
1867
2328253
2041269
2026-08-16T23:35:46Z
Kuroco2k
84207
2328253
wikitext
text/x-wiki
{{DEFAULTSORT:styczen}}
=={{L|zlw-opl}}==
==={{etym}}===
{{etyl|sla-pro|zlw-opl}} {{m|sla-pro|*sěčьnь}} < {{m|sla-pro|*sěča}} < {{m|sla-pro|*sěťi}}
==={{pron}}===
* {{zlw-opl-IPA}}
==={{noun}}===
{{zlw-opl-noun|m}}
#{{context|month|lang=zlw-opl}}[[一月]]。
===={{syn}}====
* {{l|zlw-opl|sieczeń}}, {{l|zlw-opl|strąpacz}}
----
=={{L|pl}}==
==={{etym}}===
{{etyl|zlw-opl|pl}} {{m|zlw-opl|sieczeń}} < {{etyl|sla-pro|pl}} {{m|sla-pro|*sěčьnь}} < {{m|sla-pro|*sěča}} < {{m|sla-pro|*sěťi}}「古い年と新しい年が接する(stykać się)月」という意味だと言われる。
==={{pron}}===
{{pl-pr|a=Pl-styczeń.ogg;LL-Q809 (pol)-Gower-styczeń.wav|hh=Styczeń}}
==={{noun}}===
{{pl-noun|m-in}}
#{{context|month|lang=pl}}[[一月]]。
'''月の用法'''
*「~月に」という場合は、(([[w]]+月名の前置格))。
*:[[wyjechać|Wyjechał]] [[do]] [[Polska|Polski]] w [[listopad|listopadzie]]. 彼は11月にポーランドへと出発した。
*日付を言うときは、月名の生格形を用いる。
*:[[urodzić|Urodziłam]] [[się]] [[dwudziesty|dwudziestego]] [[czwarty|czwartego]] [[kwiecień|kwietnia]]. 私は4月24日生まれです。
*:[[który|Którego]] [[dzisiaj]] [[mieć|mamy]]? 今日は何日?
*:[[dziś|Dziś]] [[być|jest]] [[trzeci|trzeciego]] [[grudzień|grudnia]]. 今日は12月3日です。
{{pl-decl-noun-m-in|stycz|ni|noms=styczeń|gens=stycznia|genp=styczniów/styczni}}
===={{drv}}====
* {{l|pl|styczniowy}}
===={{rel}}====
* {{l|pl|miesiąc}}
* {{l|pl|rok}}
{{月名/pl}}
hs6u2f64p5ka5qj1vb4v837f13rdvl3
palić
0
1920
2328256
2203822
2026-08-16T23:37:17Z
Kuroco2k
84207
2328256
wikitext
text/x-wiki
{{DEFAULTSORT:palic palić}}
=={{L|pl}}==
==={{etym}}===
*{{etyl|sla-pro|pol}} ''{{recons|pāliti|pālìti|lang=sla-pro}}'' <ref name="edosil">Rick Derksen, ''Etymological dictionary of the Slavic inherited lexicon'', Leiden Indo-European etymological dictionary series, v. 4, Leiden: Brill, 2008, p. 390.</ref>
===={{cogn}}====
{{cog|ru|палить}}<ref name="edosil" />
==={{pron}}===
{{pl-pr|a=Pl-#.ogg<text:#>;LL-Q809 (pol)-Olaf-# się.wav<text:~>|mp=pálić}}
*{{kanahyoki|pl|'''パ'''リチ}}
==={{verb}}===
{{pl-verb|impf|freq=[[palać]], [[páliwać]]}}
*{{タグ|pl|他動詞}}
#{{おくりがな2|燃|も|やす|もやす}}。{{おくりがな2|焼|や|く|やく}}。
#:{{syn|pl|spalać}}
#:{{ant|pl|gasić}}
#[[たばこ]]を吸う。[[喫煙]]する。
#:{{syn|pl|ćmić|jarać|kopcić|kurzyć}}
#*{{ux|pl|[[w#{{pl}}|W]] [[ten#{{pl}}|tej]] [[sala#{{pl}}|sali]] [[nie#{{pl}}|nie]] [[wolno]] [[palić]]|この部屋は禁煙です。}}
#{{q|[[燃料]]を}} [[消費]]する。[[燃費]]がかかる。
#:{{syn|pl|zużywać}}
#*{{ux|pl|[[ten#{{pl}}|Ten]] [[samochód]] '''pali''' 7 [[litr|litrów]] [[benzyna|benzyny]] [[na#{{pl}}|na]] [[sto#{{pl}}|sto]] [[kilometr|kilometrów]]|この車は百キロ走るのに7リットルのガソリンを'''消費し'''ます。}}
#[[点火]]する。{{おくりがな2|灯|とも|す|ともす}}。
*{{タグ|pl|自動詞}}
#燃料を{{おくりがな3|投|な|げ|入|い|れる|なげいれる}}。燃やす。火を{{おくりがな2|焚|た|く|たく}}。
#*{{ux|pl|[[od#{{pl}}|Od]] [[rok#{{pl}}|lat]] nie '''palimy''' w [[ten|tym]] [[stary#{{pl}}|starym]] [[piec|piecu]].|長年、私達たちはこの古いストーブに'''火を焚いてい'''ない。}}
#{{context|colloquial|lang=pl}} 焼けるように{{おくりがな2|痛|いた|む|いたむ}}。
*{{タグ|pl|reflexive-się}}
#{{おくりがな2|燃|も|える|もえる}}。燃えている。
#{{おくりがな2|輝|かがや|く|かがやく}}。燃える。
#[[暴力的]]な感情に[[支配]]される。
#{{q|特に[[哺乳類]]の雌について}} 性衝動を覚える<ref name="sjp">''Słownik Języka Polskiego'', t. VI, Warszawa: Państwowe Wydawnictwo Naukowe, 1964.</ref>。
#[[意欲]]がある。[[やる気]]がある。燃える。
#{{おくりがな3|真|ま|っ|赤|か||まっか}}に燃える。燃える様な色彩である<ref name="sjp" />。
#{{タグ|pl|無人称}} [[火事]]である<ref name="sjp" />。
#:{{syn|pl|gorzeć}}
#*{{ux|pl|'''Pali się'''!|'''火事だ'''!}}
===={{conjug}}====
{{pl-conj-impf-vt|palę|pali|palą|palił|palił|paliła|paliło|palili|paliły|pal|palon|palenie}}
===={{idiom}}====
語義1:
{{top}}
*{{l|pl|palić za sobą mosty|t=背水の陣を敷く、逐語的には "自分の背後の橋を燃やす"}} <ref>''Słownik Języka Polskiego'', t. VI, s. 38.</ref>
{{bottom}}
===={{drv}}====
{{rel-top|{{verb}}(不完了体/完了体)}}
*[[nadpalać]] / [[nadpalić]]
*{{q|完了体}} [[napalić]]
*[[dopalać]] ([[dopalać się|się]]) / [[dopalić]]
*[[opalać]] ([[opalać się|się]]) / [[opalić]]
*[[podpalać]] / [[podpalić]]
*[[przepalać]] / [[przepalić]] ([[przepalić się|się]])
*[[przypalać]] / [[przypalić]] ([[przypalić się|się]])
*[[rozpalać]] / [[rozpalić]] ([[rozpalić się|się]])
*[[spalać]] ([[spalać się|się]]) / [[spalić]]
*[[wypalać]] / [[wypalić]] ([[wypalić się|się]])
*[[zapalać]] ([[zapalać się|się]]) / [[zapalić]]
{{rel-bottom}}
{{rel-top|{{adj}}}}
*[[opalony]]
*[[palący]]
*[[przepalony]]
*[[spalony]]
*[[zapalający]]
*[[zapalony]]
{{rel-bottom}}
{{rel-top|{{noun}}}}
*[[opalacz]] {{m}}
*[[opalenizna]] {{f}}
*[[palący]] {{m}} (形容詞変化)
*[[palacz]] {{m}} / [[palaczka]] {{f}}
*[[palenie]] {{n}}
*[[podpalacz]] {{m}}
*[[spalanie]] {{n}}
*[[spalarnia]] {{f}}
*[[spalenie]] {{n}}
*[[zapalenie]] {{n}}
*[[zapaleniec]] {{m}}
{{rel-bottom}}
===={{rel}}====
{{rel-top|{{adj}}}}
*[[opałowy]]
*[[palny]]
*[[spalinowy]]
*[[upalny]]
*[[zapalny]]
{{rel-bottom}}
{{rel-top|{{noun}}}}
*[[opał]] {{m}}
*[[palarnia]] {{f}}
*[[palenisko]] {{n}}
*[[paliwo]] {{n}}
*[[palnik]] {{m}}
*[[palność]] {{f}}
*[[płomień]] {{m}}
*[[spaliny]] {{f}}{{p}}
*[[upał]] {{m}}
*[[zapalniczka]] {{f}}
*[[zapalnik]] {{m}}
*[[zapał]] {{m}}
*[[zapałka]] {{f}}
{{rel-bottom}}
===={{seealso}}====
*[[grzać]], [[parzyć]], [[piec]]
===脚注===
<references/>
ci0ofi0og29qo4f48gikubwbmeesrfv
ciężki
0
1954
2328235
2221240
2026-08-16T23:27:35Z
Kuroco2k
84207
2328235
wikitext
text/x-wiki
{{DEFAULTSORT:ciezki ciężki}}
=={{L|pl}}==
==={{alter}}===
*{{alt+|pl|cieżki|ciężek||中世ポーランド語}}
*{{alt+|pl|cięzki||西クラクフ}}
==={{etym}}===
{{etyl|zlw-opl|pl}} {{m|zlw-opl|ciężki}} < {{etyl|sla-pro|pl}} {{m|sla-pro|*tęžьkъ}}<ref name="edosil">{{R:Derksen2008|494}}</ref> < {{etyl|ine-bsl-pro|pl}} {{m|ine-bsl-pro|*ting-}}<ref name="edosil"></ref> < {{etyl|ine-pro|pl}} {{m|ine-pro|*tngʰ-}}<ref name="edosil"></ref>
==={{pron}}===
{{pl-pr|a=Pl-#.ogg;LL-Q809 (pol)-Olaf-#.wav|hh=Ciężki}}
*{{kanahyoki|pl|'''チェ'''ウンシュキ}}
===={{cogn}}====
{{sla}}:
{{cog|cs|těžký}}<ref name="edosil" /> {{cog|bg|тежък}}<ref name="edosil" /> {{cog|ru|тяжкий}}<ref name="edosil" />
非{{sla}}:
{{cog|non|þungr||重い}}<ref name="edosil" /> {{cog|lt|tingus||怠惰な}}<ref name="edosil" />
==={{adjective}}===
{{pl-adj}}
#[[おもい|重い]]。
#:{{ant|pl|lekki}}
##[[物理的]]に重い。
##*{{ux|pl|[[paczka|Paczka]] [[być|była]] [[tak#{{pl}}|tak]] '''ciężka''', [[że]] [[Joanna]] [[upuścić|upuściła]] [[ona|ją]] [[sobie]] [[na]] [[stopa|stopy]].|小包がとても'''重かっ'''たので、ヨアンナは足元に小包を取り落としてしまった。}}
#[[つらい]]、[[きびしい|厳しい]]。
#:{{syn|pl|trudny}}
#:{{ant|pl|łatwy}}
===={{inflection}}====
;原級:
{{pl-decl-adj|ciężki|ciężka|ciężkie|ciężcy|ciężkie|ciężkiego|ciężkiej|ciężkiego|ciężkich|ciężkiemu|ciężkiej|ciężkiemu|ciężkim|ciężkiego|ciężki|ciężką|ciężkie|ciężkich|ciężkie|ciężkim|ciężką|ciężkim|ciężkimi|ciężkim|ciężkiej|ciężkim|ciężkich}}
{{pl-decl-adj-comp-super|cięż}}
===={{drv}}====
{{rel-top|{{adverb}}}}
*[[ciężko]] → (比較級) [[ciężej]] → (最上級) [[najciężej]]
{{rel-bottom}}
{{rel-top|{{noun}}}}
*[[ciężkość]] '''{{f}}'''
{{rel-bottom}}
===={{rel}}====
{{rel-top|{{noun}}}}
*[[ciąg]] {{m}}
*[[ciąża]] {{f}}
*[[ciężar]] {{m}}
{{rel-bottom}}
{{rel-top|{{adj}}}}
*[[tęgi]]
{{rel-bottom}}
{{rel-top|{{verb}}}}
*[[ciągnąć]]
{{rel-bottom}}
===={{seealso}}====
*[[ważny]]; [[poważny]]
語義2:
*[[ostry]], [[srogi]], [[surowy]]
===脚注===
<references />
mo53q27ydmyfgy7fwhy00cisbifa8fw
marzec
0
1973
2328243
1888085
2026-08-16T23:30:35Z
Kuroco2k
84207
2328243
wikitext
text/x-wiki
=={{L|pl}}==
==={{etym}}===
{{bor|pl|gmh|marz}} < {{etyl|goh|pl}} {{m|goh|merzo}} < {{etyl|la|pl}} {{m|la|Mārtius}}(ローマ神話の軍神[[Mars]]({{epon|pl|マールス}})の月)から。
==={{pron}}===
{{pl-pr|a=pl-marzec.ogg;LL-Q809 (pol)-Olaf-marzec.wav|hh=Marzec}}
* {{kanahyoki|pl|マジェツ}}
==={{noun}}===
{{pl-noun|g=m-in}}
#{{context|month|lang=pl}}[[三月]]。
{{pl-decl-noun-m-in|mar|c|noms=marzec|gens=marca}}
===={{rel}}====
* {{l|pl|styczeń}}
* {{l|pl|miesiąc}}
{{月名/pl}}
5ouq8bbk70cxljlw9a59wo3nom54rdp
jestem
0
2001
2328241
2217418
2026-08-16T23:29:00Z
Kuroco2k
84207
2328241
wikitext
text/x-wiki
=={{L|pl}}==
==={{pron}}===
{{pl-pr|a=Pl-#.ogg;LL-Q809 (pol)-Poemat-#.wav;LL-Q809 (pol)-Olaf-#.wav}}
==={{verb}}===
{{head|pl|verb form}}
#{{タグ||コピュラ}} {{verb form of|pl|być||1|s|pres}}
#*「(私は)~である」の意。
#*{{ux|pl|'''Jestem''' [[z]] [[Japonii]].|私は日本から来ました。}}
7k8bhl22ew0zctvsetq4yncnsgox2a9
jesteś
0
2002
2328240
2217415
2026-08-16T23:29:00Z
Kuroco2k
84207
2328240
wikitext
text/x-wiki
=={{L|pl}}==
==={{pron}}===
{{pl-pr|a=LL-Q809 (pol)-Poemat-jesteś.wav;LL-Q809 (pol)-Olaf-jesteś.wav}}
==={{verb}}===
{{head|pl|verb form}}
#{{タグ||コピュラ}} {{verb form of|pl|być||2|s|pres}}
#*「(君は)~である」の意。
0le4jmmrf2ugkbk7fg61i19i4lpfumj
jesteście
0
2003
2328239
2217417
2026-08-16T23:29:00Z
Kuroco2k
84207
2328239
wikitext
text/x-wiki
=={{L|pl}}==
==={{pron}}===
{{pl-pr|a=LL-Q809 (pol)-Poemat-jesteście.wav;LL-Q809 (pol)-Olaf-jesteście.wav}}
==={{verb}}===
{{head|pl|verb form}}
#{{タグ||コピュラ}} {{verb form of|pl|być||ind|2|p|pres}}
#*「(君達は)~である」の意。
0blut7l4b2i91s4lc5fgshq3jvl8dcn
jesteśmy
0
2004
2328238
2217416
2026-08-16T23:28:59Z
Kuroco2k
84207
2328238
wikitext
text/x-wiki
=={{L|pl}}==
==={{pron}}===
{{pl-pr|a=LL-Q809 (pol)-Poemat-jesteśmy.wav;LL-Q809 (pol)-Olaf-jesteśmy.wav}}
==={{verb}}===
{{head|pl|verb form}}
#{{タグ||コピュラ}} {{verb form of|pl|być||ind|1|p|pres}}
#*「(私達は)~である」の意。
g49uyz9rs4j52gfemf1b1rb8cbml6p1
oglądać
0
2675
2328249
2217369
2026-08-16T23:34:12Z
Kuroco2k
84207
2328249
wikitext
text/x-wiki
{{DEFAULTSORT:ogladac oglądać}}
=={{L|pl}}==
==={{etym}}===
{{affix|pl|o-|ględać}}
==={{pron}}===
{{pl-pr|a=Pl-oglądać.ogg<text:#>;LL-Q809 (pol)-Olaf-oglądać się.wav<text:~>}}
*{{kanahyoki|pl|オグ'''ロ'''ンダチ}}
==={{verb}}===
{{pl-verb|impf|pf=[[obejrzeć]], [[oglądnąć]]}}
#{{q|意識的に}} [[みる#{{verb}}|見る]]。
##[[みる#{{verb}}|観る]]。[[観賞]]する。
##*{{ux|pl|'''Oglądali''' [[student#{{pl}}|studenci]] [[telewizja|telewizję]].|学生たちはテレビを'''見ていた'''。}}
##*{{ux|pl|[[Roman#{{pl}}|Romek]] [[wczoraj]] '''oglądał''' [[jakiś|jakieś]] [[rzeźba|rzeźby]] [[w#{{pl}}|w]] [[muzeum]].|ロマン君は昨日美術館で何かの彫刻を'''観てきた'''。}}
##手に取って[[しなさだめ|品定め]]する。
#{{context|reflexive-się|主語が単数|lang=pl}} [[自分]]を見る。
#{{context|reflexive-się|主語が複数|lang=pl}} [[たがい|互い]]を見る。
#{{context|reflexive-się|lang=pl}} [[うしろ|後ろ]]を[[みやる|見遣る]]。
===={{usage}}====
*「'''意識的に'''見る」という意。これに対し、"'''[[widzieć]]'''"は'''知覚的'''な側面が強く、「見える」と訳した方が良い場合がある。
===={{conjug}}====
{{pl-conj-impf-vt|oglądam|ogląda|oglądają|oglądał|oglądał|oglądała|oglądało|oglądali|oglądały|oglądaj|oglądan|oglądanie}}
===={{rel}}====
{{rel-top|{{noun}}}}
*[[oględność]] {{f}}
*[[oględziny]] {{f}}{{p}}
*[[pogląd]] {{m}}
*[[podglądacz]] {{m}}
*[[przeglądarka]] {{f}}
*[[wgląd]] {{m}}
*[[wygląd]] {{m}}
*[[wzgląd]] {{m}}
**[[uwzględnienie]] {{n}}
{{rel-bottom}}
{{rel-top|{{adj}}}}
*[[oględny]]
*[[poglądowy]]
*[[względny]]
{{rel-bottom}}
{{rel-top|{{adv}}}}
*[[względnie]]
{{rel-bottom}}
{{rel-top|{{verb}}(不完了体/完了体)}}
*[[doglądać]] / [[dojrzeć]]
*[[podglądać]]
*[[przeglądać]] ([[przeglądać się|się]]) / [[przejrzeć]]
*[[przyglądać się]]
*[[rozglądać się]] / [[rozejrzeć się]]
*[[spoglądać]] / [[spojrzeć]]
*[[uwzględniać]] / [[uwzględnić]]
*[[wyglądać]] / [[wyjrzeć]]
*[[zaglądać]] / [[zajrzeć]]
{{rel-bottom}}
{{rel-top|{{preposition}}}}
*[[względem]] ''(+ [[生格]])''
{{rel-bottom}}
===={{seealso}}====
*[[patrzeć]], [[widzieć]], [[zerkać]]
fi96q9kr8jktdrj3j3c47mgys44t30t
obejrzeć
0
2676
2328250
2217368
2026-08-16T23:34:12Z
Kuroco2k
84207
2328250
wikitext
text/x-wiki
{{DEFAULTSORT:obejrzeć obejrzec}}
=={{L|pl}}==
==={{pron}}===
{{pl-pr|a=Pl-obejrzeć.ogg<text:#>;LL-Q809 (pol)-Olaf-obejrzeć się.wav<text:~>}}
*{{kanahyoki|pl|オ'''ベ'''イジェチ}}
==={{verb}}===
{{pl-verb|pf|impf=oglądać}}
#{{q|意識的に}} [[みる#{{verb}}|見る]]。
##[[みる#{{verb}}|観る]]。[[観賞]]する。
##手に取って[[しなさだめ|品定め]]する。
#{{context|reflexive-się|主語が単数|lang=pl}} [[自分]]を見る。
#{{context|reflexive-się|主語が複数|lang=pl}} [[たがい|互い]]を見る。
#{{context|reflexive-się|lang=pl}} [[うしろ|後ろ]]を[[みやる|見遣る]]。
===={{conjug}}====
{{pl-conj-pf-vt|obejrzę|obejrzy|obejrzą|obejrzał|obejrzał|obejrzała|obejrzało|obejrzeli|obejrzały|obejrzyj|obejrzan|obejrzawszy|obejrzenie}}
===={{rel}}====
{{rel-top|{{verb}}(不完了体/完了体)}}
*[[doglądać]] / [[dojrzeć]]
*[[podejrzewać]]
*[[przeglądać]] ([[przeglądać się|się]]) / [[przejrzeć]]
*[[spoglądać]] / [[spojrzeć]]
*(完了体) [[ujrzeć]]
*[[wyglądać]] / [[wyjrzeć]]
*[[zaglądać]] / [[zajrzeć]]
{{rel-bottom}}
{{rel-top|{{adj}}}}
*[[podejrzany]]
*[[przejrzysty]]
{{rel-bottom}}
{{rel-top|{{adv}}}}
*[[przejrzyście]]
{{rel-bottom}}
{{rel-top|{{noun}}}}
*[[podejrzenie]]
{{rel-bottom}}
===={{seealso}}====
*[[zobaczyć]]; [[popatrzeć]], [[popatrzyć]]; [[zerknąć]]
cdvg9sw2yjsji11ttmvzil8yx9kmi84
ciastko
0
2681
2328221
1905692
2026-08-16T22:26:39Z
Kuroco2k
84207
/* {{pron}} */
2328221
wikitext
text/x-wiki
=={{L|pl}}==
{{wikipedia|lang=pl}}
==={{etym}}===
{{affix|pl|ciasto|-ko}}
==={{pron}}===
{{pl-p|a=Pl-ciastko.ogg;LL-Q809 (pol)-Olaf-ciastko.wav}}
* {{kanahyoki|pl|チャストコ}}
==={{noun}}===
{{pl-noun|n|dim=ciasteczko|aug=ciacho}}
#{{context|sweets|lang=pl}}[[ケーキ]]、[[クッキー]]。
#{{context|chiefly||in the plural|Internet|colloquial|lang=pl}}クッキー。
{{pl-decl-noun-n|ciast|k|ciastek}}
===={{rel}}====
* {{l|pl|słodycze}}
bpmw3pqvzsvkuk6un2rog5htzehiaxa
ポルトガル語
0
14212
2328310
2070981
2026-08-17T05:17:22Z
MSchoentgen
124887
/* {{trans}} */
2328310
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ポルトガルご}}
=={{L|ja}}==
{{wikipedia}}
{{言語コード|[[pt]]|[[por]]|[[por]]}}
==={{alter}}===
* [[葡萄牙語]]
==={{pron}}===
{{ja-pron|ポルトガルご|acc=0}}
==={{noun}}===
{{ja-noun|ポルトガルご|head=[[ポルトガル]][[語]]}}
[[カテゴリ:{{ja}}_ポルトガル語に関連する語]]
#{{context|languages|lang=ja}}[[インド・ヨーロッパ語族]]の[[イタリック語派]]に属する[[言語]]で、[[ポルトガル]]、[[ブラジル]]、[[モザンビーク]]等のポルトガル旧[[植民地]]の[[アフリカ]]諸国などで話されている。
===={{rel}}====
* [[インド・ポルトガル語]]
* [[古ポルトガル語]]
===={{seealso}}====
* [[:カテゴリ:ポルトガル語]]
===={{trans}}====
{{trans-top}}
* {{T|is}}: {{t|is|portúgalska|f}}
* {{T|ga}}: {{t|ga|Portaingéilis|f}}
* {{T|ast}}: {{t|ast|portugués|m}}
* {{T|az}}: {{t|az|portuqalca}}, {{t|az|[[portuqal]] [[dil]]i}}
* {{T|af}}: {{t|af|Portugees}}
* {{T|ar}}: {{t|ar|بُرْتُغَالِيَّة|f}}, {{t|ar|بُرْتُغَالِيّ|m}}
* {{T|sq}}: {{t|sq|[[gjuha]] [[portugeze]]|f}}, {{t|sq|portugalishte|f}}, {{t|sq|[[gjuha]] [[portugaleze]]|f}}
* {{T|hy}}: {{t|hy|պորտուգալերեն}}
* {{T|it}}: {{t|it|portoghese}}
* {{T|ia}}: {{t|ia|portugese}}
* {{T|id}}: {{t|id|[[bahasa]] [[portugal]]}}, {{t|id|[[bahasa]] [[portugis]]}}
* {{T|ug}}: {{t|ug|پورتۇگال}}
* {{T|cy}}: {{t|cy|Portiwgaleg}}
* {{T|vec}}: {{t|vec|portoghexe|m}}
* {{T|vo}}: {{t|vo|Portugänapük}}
* {{T|uk}}: {{t|uk|португа́льська|f}}
* {{T|uz}}: {{t|uz|portugal}}
* {{T|ur}}: {{t|ur|پرتگالی|tr=purtagālī}}
* {{T|en}}: {{t|en|Portuguese}}, {{t|en|Portugueese}}, {{t|en|Portugueze}}, {{t|en|Modern Portuguese}}
* {{T|et}}: {{t|et|portugali keel}}
* {{T|eo}}: {{t|eo|[[portugala]]}} ([[lingvo]])
* {{T|nl}}: {{t|nl|Portugees|n}}
* {{T|kk}}: {{t|kk|Португал тіл}}
* {{T|ca}}: {{t|ca|portuguès|m}}, {{qualifier|廃用}} {{t|ca|portugalès|m}}
*: バレンシア方言 : {{t|ca|portugués|m}}
* {{T|gl}}: {{t|gl|portugués|m}}
* {{T|kn}}: {{t|kn|ಪೋರ್ಚುಗೀಸ್}}
* {{T|el}}: {{t|el|πορτογαλικά|n-p}}
* {{T|gub}}: {{t|gub|karaiw ze'eg}}
* {{T|kl}}: {{t|kl|portugalimiutut}}
* {{T|ka}}: {{t|ka|პორტუგალიური}}, {{t|ka|პორტუგალიური ენა}}
* {{T|ku}}
*: {{T|kmr}}: {{t|kmr|portugalî|f}}
* {{T|hsb}}: {{t-check|hsb|Portugalšćina}}
* {{T|kw}}: {{t|kw|Portyngalek}}
* {{T|co}}: {{t|co|portughese}}, {{t|co|purtughese}}
* {{T|si}}: {{t|si|පෘතුගීසි}}
* {{T|sv}}: {{t|sv|portugisiska}}
* {{T|zu}}: {{t|zu|isiPutukezi}}
* {{T|sco}}: {{t|sco|Portuguese}}
* {{T|es}}: {{t|es|portugués|m}}
* {{T|srn}}: {{t|srn|Potogisitongo}}
* {{T|sk}}: {{t|sk|portugalčina|m}}
* {{T|sl}}: {{t|sl|portugálščina|f}}
* {{T|sw}}: {{t|sw|Kireno}}
* {{T|sh}}
*: キリル文字: {{t|sh|португалски|m}}
*: ラテン文字: {{t|sh|portugalski|m}}
* {{T|th}}: {{t|th|ภาษาโปรตุเกส|tr=paasăa bprohdtòogèt}}
* {{T|tl}}: {{t|tl|Portuges}}
* {{T|tt}}: {{t|tt|португал}}
* {{T|ta}}: {{t|ta|போர்ச்சுகீஸ}}
* {{T|ti}}: {{t|ti|ፖርቱጋሊኛ}}
* {{T|tet}}: {{t|tet|lian portugál}}
* {{T|tr}}: {{t|tr|Portekizce}}
* {{T|cs}}: {{t|cs|portugalština|f}}
* {{T|chr}}: {{t|chr|ᏉᏧᎦᎵ}}
* {{T|zh}}: {{t|zh|葡萄牙語|tr=pútáoyáyǔ}}
* {{T|ko}}: {{t|ko|^포르투갈어}}, {{t|ko|^포어(葡語)}}
* {{T|da}}: {{t|da|portugisisk}}
* {{T|de}}: {{t|de|Portugiesisch|n}}
* {{T|nv}}: {{t|nv|Boojigol dineʼé bizaad}}
* {{T|ny}}: {{t|ny|Chipwitikizi}}
* {{T|fy}}: {{t|fy|Portugeesk|n}}
* {{T|ne}}: {{t|ne|पोर्तुगाली}}
* {{T|no}}
*: {{T|nn}}: {{t|nn|portugisisk|m}}
*: {{T|nb}}: {{t|nb|portugisisk|m}}
* {{T|nrf}}: {{t|nrf|Portûndgais|m}}
* {{T|ht}}: {{t|ht|pòtigè}}
* {{T|ha}}: {{t|ha|Portuguese}}
* {{T|eu}}: {{t|eu|portugalera}}, {{t|eu|portuges}}
* {{T|hu}}: {{t|hu|portugál}}
* {{T|bjn}}: {{t|bjn|[[bahasa]] [[Paranggi]]}}
* {{T|hi}}: {{t|hi|पुर्तगाली|f}}
* {{T|gur}}: {{t|gur|Portugalne}}, {{t|gur|Portugale}}
* {{T|fi}}: {{t|fi|portugali}}
* {{T|fo}}: {{t|fo|portugisiskt}}
* {{T|fr}}: {{t|fr|portugais|m}}
* {{T|bg}}: {{t|bg|португа́лски|m}}
* {{T|br}}: {{t|br|portugaleg}}
* {{T|vi}}: {{t|vi|tiếng [[Bồ-đào-nha]]}}, {{t|vi|tiếng [[Bồ Đào Nha]]}}
* {{T|he}}: {{t|he|פּוֹרְטוּגָלִית}}, {{t|he|פּוֹרְטוּגֶזִית}}
* {{T|be}}: {{t|be|партуга́льская мо́ва|f}}, {{t|be|партуга́льская|f}}
* {{T|fa}}: {{t|fa|پرتغالی|tr=portoğâli}}
* {{T|bn}}: {{t|bn|পর্তুগিজ}}
* {{T|pl}}: {{t|pl|portugalski}}
* {{T|pt}}: {{t|pt|português|m}}
* {{T|mi}}: {{t|mi|reo Pōtikī}}
* {{T|mk}}: {{t|mk|португа́лски|m}}
* {{T|mt}}: {{t|mt|Il-Portugiż}}
* {{T|ms}}: {{t|ms|[[bahasa]] [[Portugis]]}}, {{t|ms|Portugal}}
* {{T|xmf}}: {{t|xmf|პორტუგალიური ნინა}}
* {{T|mdf}}: {{t|mdf|португалонь}}
* {{T|mn}}: {{t|mn|португали}}
* {{T|la}}: {{t|la|[[lingua]] [[Lusitanus|Lusitana]]|f}} ({{t|la|[[lingua]] [[lusitanus|lusitana]]|f}}), {{t|la|[[lingua]] [[Lusitanicus|Lusitanica]]|f}} ({{t|la|[[lingua]] [[lusitanicus|lusitanica]]|f}})
* {{T|lv}}: {{t|lv|portugāļu}}, {{t|lv|portugāļu valoda|f}}
* {{T|lt}}: {{t|lt|portugalų}}, {{t|lt|portugališkai}}
* {{T|li}}: {{t|li|Pórtegieësj|n}}
* {{T|ro}}: {{t|ro|portugheză|f}}
* {{T|lb}}: {{t|lb|Portugisesch|n}}
* {{T|roa-leo}}: {{t|roa-leo|pertués|m}}
* {{T|ru}}: {{t|ru|португа́льский}}
* {{T|wa}}: {{t|wa|portuguès}}
{{trans-bottom}}
mxj9ax2u0zketb5r68cbgtkwy83avgy
愛憎
0
15981
2328226
2110799
2026-08-16T23:08:34Z
Jiba1219
100610
2328226
wikitext
text/x-wiki
{{kana-DEFAULTSORT|あいぞう}}
=={{L|ja}}==
==={{pron}}===
{{ja-pron|あいぞう|acc=0}}
==={{noun}}===
{{ja-noun|あいぞう|あいそ}}
#(あいぞう)[[愛する]]ことと[[にくむ|憎む]]こと。特に相手に対して[[好悪]]の感情を[[いだく|抱く]]こと。
#*[[選択]]'''愛憎'''等の[[情緒的]]な[[心情]]も[[アプリオリ]]の[[内容]]を持ち、「心情の秩序」が[[存在]]する。([[w:倉田百三|倉田百三]]『学生と教養――教養と倫理学――』)
#(あいそ)[[愛想]]。
#*宅悦はお岩の鬼魅のわるい顔を避けながらもじもじしていた。「ひどいことをするものだ、男のわしでさえ'''愛憎'''(あいそ)がつきた。もし、お岩さん、あんな[[薄情]]な男と、何時までいっしょにいねえで、いっそわたしと」([[w:田中貢太郎|田中貢太郎]]『南北の東海道四谷怪談』)
====関連語====
*[[好悪]]
=={{L|zh}}==
{{zh-cat|ai4zeng1|noun}}
{{yue-cat|oi3jang1|noun}}
==={{pron}}===
{{cmn-pron|àizēng}}
{{yue-pron|oi3 zang1}}
==={{noun}}===
#[[愛する]]ことと[[にくむ|憎む]]こと。
=={{L|ko}}==
==={{noun}}===
{{ko-head|noun|애증}}
#[[愛する]]ことと[[にくむ|憎む]]こと。
2c22ahhye37ufpwl7lo6742aoflb4wb
2328229
2328226
2026-08-16T23:10:52Z
Jiba1219
100610
/* {{L|zh}} */
2328229
wikitext
text/x-wiki
{{kana-DEFAULTSORT|あいぞう}}
=={{L|ja}}==
==={{pron}}===
{{ja-pron|あいぞう|acc=0}}
==={{noun}}===
{{ja-noun|あいぞう|あいそ}}
#(あいぞう)[[愛する]]ことと[[にくむ|憎む]]こと。特に相手に対して[[好悪]]の感情を[[いだく|抱く]]こと。
#*[[選択]]'''愛憎'''等の[[情緒的]]な[[心情]]も[[アプリオリ]]の[[内容]]を持ち、「心情の秩序」が[[存在]]する。([[w:倉田百三|倉田百三]]『学生と教養――教養と倫理学――』)
#(あいそ)[[愛想]]。
#*宅悦はお岩の鬼魅のわるい顔を避けながらもじもじしていた。「ひどいことをするものだ、男のわしでさえ'''愛憎'''(あいそ)がつきた。もし、お岩さん、あんな[[薄情]]な男と、何時までいっしょにいねえで、いっそわたしと」([[w:田中貢太郎|田中貢太郎]]『南北の東海道四谷怪談』)
====関連語====
*[[好悪]]
=={{L|zh}}==
{{zh-cat|ai4zeng1|noun}}
{{yue-cat|oi3jang1|noun}}
==={{pron}}===
{{cmn-pron|àizēng}}
{{yue-pron|oi3 zang1}}
==={{noun}}===
{{zhchars|s=爱憎}}
#[[愛する]]ことと[[にくむ|憎む]]こと。
===={{idiom}}====
*{{zh-l|愛憎分明}}
=={{L|ko}}==
==={{noun}}===
{{ko-head|noun|애증}}
#[[愛する]]ことと[[にくむ|憎む]]こと。
5z9ul1g2gn46483jsx6cy7sjspitvdr
hope
0
21830
2328334
1766316
2026-08-17T10:36:11Z
M-30722
1202
2328334
wikitext
text/x-wiki
=={{L|en}}==
==={{pron}}===
イギリス:
*{{AHD|hōp}}
*{{IPA|lang=en|həʊp}}
*{{SAMPA|h@Up}}
アメリカ:
*{{IPA|lang=en|hɔʊp}}
*{{SAMPA|hoUp}}
* {{音声|en|en-us-hope.ogg|a=米}}
==={{etym}}1===
{{etyl|ang}} ''[[hopian]]''
===={{verb}}====
{{en-verb|hop|ing}}
#{{おくりがな2|望|のぞ|む|のぞむ}}、[[希望]]する。
#*{{ux|en|I hope everyone likes this definition.|みんながこの定義を気に入ることを私は希望します。}}
#[[期待]]する。楽観視している。
#*{{ux|en|I am still hoping that all will [[turn out]] well.|私は、まだ、すべてがうまくいくと思っているよ。}}
===={{usage}}====
[[Category:{{en}}_{{verb}}_to不定詞のみを目的語とするもの]]
*目的語としてto不定詞のみ用い、[[動名詞]]を用いない。
==={{etym}}2===
{{etyl|ang}} ''[[hopa]]''
===={{noun}}====
{{en-noun|s|-}}
#希望、{{おくりがな2|望|のぞ|み|のぞみ}}
#[[可能性]]
====={{ant}}=====
*[[despair]]
===={{drv}}====
*[[hopeful]]
*[[hopeless]]
*[[hopelessly]]
[[カテゴリ:ベーシック英語 850単語]]
=={{L|mi}}==
==={{noun}}===
{{head|mi|noun}}
#[[ウエスト]]。
#{{タグ|mi|解剖学}}[[しり|尻]]。
kh5lksl08ssswrlk0p6xgawav6699no
かぜ
0
22594
2328205
2314435
2026-08-16T18:08:57Z
M-30722
1202
2328205
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|かせ|がせ|がぜ}}
=={{L|ja}}==
==={{etym}}===
{{etyl|ojp|ja}}「[[#{{ojp}}|かぜ]]」 < {{etyl|jpx-pro|ja}} {{term|jpx-pro|*kansay}}
==={{pron}}===
{{ja-pron|かぜ|acc=0}}
{{ja-accent-common|region=京阪|h||かぜ}}
==={{noun}}:風===
[[Category:風|*]]
{{wikipedia|風}}
{{ja-noun|風}}
#{{topcat|ja|風}}[[地表面]]に対しほぼ[[水平]]な[[空気]]の流れ。
#ある人に対する、世間一般の[[評価]]や[[態度]]、一般的には[[批判]]的なものを言う。
#*[[むかいかぜ|向かい風]]、[[かぜあたり|風あたり]]
#接尾辞的用法
##(一般に『~風を吹かせる』の形で)(偉そうな)態度や[[そぶり|素振り]]。
##*先輩風、役人風
##(一般に『~風に吹かれる』の形で)[[影響]]。
##*臆病風
===={{drv}}====
*[[どこふくかぜ]]
*[[どうしたかぜのふきまわし]]
===={{trans}}====
{{trans-top|空気の流れ}}
*{{T|ain}}: {{t|ain|rera}}
*{{T|ga}}: [[gaoth]] {{f}}
*{{T|az}}: {{t|az|yel}}
*{{T|ar}}: {{t|ar|ريح|tr=riħ|f}}
*{{T|sq}}: [[erë]] {{f}}
*{{T|it}}: {{t|it|vento|m}}
*{{T|iu}}: {{t|iu|ᐊᓄᕆ}}
*{{T|id}}: [[angin]]
*{{T|uz}}: {{t|uz|yel}}
*{{T|en}}: {{t|en|wind}}
*:{{T|ang}}: {{t|ang|wind}}
*{{T|et}}: [[tuul]]
*{{T|eo}}: {{t|eo|vento}}
*{{T|nl}}: {{t|nl|wind|m}}
*{{T|kk}}: {{t|kk|жел}}, {{t|kk|самал}}
*{{T|ca}}: {{t|ca|vent|m}}
*{{T|kdr}}: {{t|kdr|йэль}}
*{{T|ki}}: {{t-|ki|rũhuho|c11}}
*{{T|atv}}: {{t|atv|йел}}
*{{T|el}}: {{t|el|αέρας|m}}
*:{{T|grc}}: {{t|grc|ἀήρ|m|f}}
*{{T|kum}}: {{t|kum|ел}}
*{{T|crh}}: {{t|crh|yel}}
*{{T|ku}}:
*:{{T|kmr}}: {{t|kmr|ba|m}}
*{{T|got}}: {{t|got|𐍅𐌹𐌽𐌳𐍃|m}}
*{{T|sc}}: [[bentu]] {{m}}
*{{T|sa}}: {{t|sa|वात|tr=vāta-|m}}, {{t|sa|वायु|tr=vāyu-|m}}
*{{T|cjs}}: {{t|cjs|чел}}
*{{T|sv}}: {{t|sv|vind|c}}
*{{T|gd}}: [[gaoth]] {{f}}
*{{T|es}}: {{t|es|viento|m}}
*{{T|sk}}: [[vietor]] {{m}}
*{{T|sl}}: [[veter]] {{m}}
*{{T|sh}}:
*:キリル文字: {{t|sh|ветар|m}}
*:ラテン文字: {{t|sh|vjetar|m}}
*{{T|th}}: {{t|th|ลม}}, {{t|th|วายุ}}
*{{T|tl}}: [[hangin]]
*{{T|tt}}: {{t|tt|җил}}
*{{T|cs}}: {{t|cs|vítr|m}}
*{{T|cv}}: {{t|cv|ҫил}}
*{{T|zh}}: {{zh-l|風|tr=fēng}}
*{{T|ko}}: {{t|ko|바람}}
*{{T|te}}: {{t|te|పవనము}}, {{t|te|తెమ్మెర}}
*{{T|da}}: [[vind]] {{c}}, [[luftstrøm]] {{c}}
*{{T|de}}: {{t|de|Wind|m}}
*{{T|tk}}: {{t|tk|ýel}}, {{t|tk|şemal}}
*{{T|tr}}: [[rüzgâr]]; [[yel]]
*{{T|na}}: {{t|na|engin}}
*{{T|nog}}: {{t|nog|ел}}
*{{T|no}}: [[vind]] {{m}}
*{{T|kjh}}: {{t|kjh|чил}}
*{{T|ba}}: {{t|ba|ел}}
*{{T|hu}}: [[szél]]
*{{T|my}}: {{t|my|လေ}}
*{{T|fi}}: [[tuuli]]
*{{T|fr}}: {{t|fr|vent|m}}
*{{T|bg}}: {{t|bg|вятър|m}}
*{{T|he}}: [[רוח]] (rúakh)
*{{T|fa}}: {{t|fa|باد|tr=bâd}}
*{{T|pl}}: {{t+|pl|wiatr|m}}
*{{T|pt}}: [[vento]] {{m}}
*{{T|mi}}: [[hau]]
*{{T|mt}}: [[riħ]]
*{{T|ms}}: [[angin]]
*{{T|alt}}: {{t|alt|јел}}, {{t|alt|салкын}}
*{{T|mnw}}: {{t|mnw|ကျာ|tr=kyā}}
*{{T|la}}: [[ventus]] {{m}}
*{{T|lv}}: {{t|lv|vējš|m}}
*{{T|lt}}: {{t|lt|vė́jas|m}}
*{{T|ru}}: {{t|ru|ве́тер|m}}
*{{T|rom}}: [[balval]] {{f}}
{{trans-bottom}}
==={{noun}}:風邪===
{{wikipedia|風邪}}
{{ja-noun}}【[[風]][[邪]]】
#{{タグ|ja|冬|病気}}主に[[呼吸器]]系を侵す[[疾病]]の一つ。[[せき]]、[[発熱]]などの[[症状]]を伴う。
#*[[風邪を引く|'''かぜ'''をひく]]。
#:病気の代表例として用いられることがある。
#*寒いから風邪ひかないようにね。(健康に気をつけて、といった意味)
====類義語====
*[[感冒]]
===={{drv}}====
*[[風邪気味]]
*[[おたふくかぜ]]
*[[なつかぜ]]
*[[スペインかぜ]]
===={{trans}}====
{{trans-top|疾病}}
*{{T|is}}: [[kvef]] {{n}}
*{{T|it}}: [[raffreddore]] {{m}}, [[influenza]] {{f}}
*{{T|cy}}: [[annwyd]]
*{{T|en}}: ([[common cold|common]]) {{t|en|cold}}, {{t|en|coryza}}
*{{T|nl}}: [[verkoudheid]] {{f}}
*{{T|ki}}: {{t-|ki|kĩhuti|c7}}
*{{T|sv}}: {{t|sv|förkylning|c}}
*{{T|gd}}: [[cnatan]] {{m}}
*{{T|es}}: [[constipado]] {{m}}, [[gripe]] {{f}}, [[gripa]] {{f}}
*{{T|sl}}: [[prehlad]] {{m}}
*{{T|sr}}: [[prehlada]] {{f}}
*{{T|th}}: {{lang|th|([[โรค]]){{t|th|หวัด|tr=(rôok) wàt}}}}
*{{T|tl}}: [[sipón]]
*{{T|cs}}: [[nachlazení]] {{n}}
*{{T|zh}}: [[感冒]] (gǎnmào)
*{{T|ko}}: {{t|ko|감기}}
*{{T|te}}: {{t|te|జలుబు}}
*{{T|de}}: {{t|de|Erkältung|f}}, {{t|de|Verkühlung|f}} (オーストリア)
*{{T|fi}}: [[nuha]], [[vilustuminen]]
*{{T|fr}}: [[rhume]] {{f}}
*{{T|pl}}: {{t|pl|przeziębienie|n}}
*{{T|pt}}: [[constipação]] {{f}}, [[resfriado]] {{m}}
*{{T|mnw}}: {{t-|mnw|ချာံ|tr=khyāṁ}}
*{{T|lv}}: {{t-|lv|saaukstēšanās|f}}
*{{T|ltg}}: {{t-|ltg|puorsaļšona}}
*{{T|lt}}: {{t-|lt|peršalimas|alt=péršalimas|m}}
*{{T|ro}}: [[gripă]] {{f}}, [[răceală]] {{f}}
*{{T|ru}}: {{t|ru|просту́да|f}}
{{trans-bottom}}
=={{L|ryn}}==
==={{etym}}===
{{etyl|jpx-ryu-pro|ryn}} {{term|jpx-ryu-pro|*kaze}} < {{etyl|jpx-pro|ryn}} {{term|jpx-pro|*kansay}}
==={{noun}}===
{{head|ryu|noun}}
#{{topcat|ryn|風}}(気象)かぜ。
===={{seealso}}====
*(沖縄語、宮古語)[[かじ]]
*(国頭語)[[はぢー]]
=={{L|ojp}}==
==={{etym}}===
{{etyl|jpx-pro|ojp}} {{term|jpx-pro|*kansay}}
==={{pron}}===
{{ojp-pron-noun-2-1|か|ぜ}}
==={{noun}}===
{{ojp-noun|風}}
#{{topcat|ojp|風}}[[空気]]の{{おくりがな2|流|なが|れ|ながれ}}。風。
#[[風習]]。
#{{タグ|ojp|病気}}風邪。[[感冒]]。
ir6fp6b77i8631z9a13vgwz2r7etcuw
楽
0
24377
2328263
2152926
2026-08-16T23:59:01Z
Jiba1219
100610
/* {{L|zh}} */
2328263
wikitext
text/x-wiki
{{kana-DEFAULTSORT|らく}}
==漢字==
<span lang="ja" xml:lang="ja" style="font-size:350%">{{PAGENAME}}</span>
* {{部首|木|9}}
* {{総画|13}}
{{kanji variants|樂=[[旧字体]]/[[繁体字]]|乐=[[簡体字]]}}
===字源===
* 「[[樂]]」の行書体に由来する略体。「樂」については[[樂#字源]]の項目を参照。
===字義===
#[[音曲]]、[[かなでる]]。
#[[たのしい]]、[[たのしむ]]。
#[[このむ]]、[[ねがう]]。
{{漢字}}
[[Category:漢字 多音字|かく らく]]
=={{L|ja}}==
[[Category:{{ja}}]]
{{ja-kanji|常用=ガク,ラク,たの-しい,たの-しむ|施策=教育:2|呉音=ラク,ガク,ギョウ<ゲウ,ロウ<ラウ|漢音=ラク,ガク,ゴウ<ガウ,ロウ<ラウ|訓=たの-しい,たの-しむ,かな-でる,この-む}}
==={{noun}}・形容動詞===
[[Category:{{ja}} {{noun}}]]
[[Category:{{ja}} 形容動詞]]
#('''[[ラク]]''')[[安逸]]であること。
#*これだけあれば、老後も'''楽'''に暮らせるだろう。
#('''[[ラク]]''')[[苦痛]]が[[緩和]]されること。
#*姿勢を変えたらだいぶん'''楽'''になった。
#*早く白状して'''楽'''になれ。
#*不治の病で苦しい。早く'''楽'''になりたい。
#('''[[ラク]]''')[[たやすい]]こと。
#*その仕事は'''楽'''にできた。
#('''[[ラク]]''')できるだけ[[労力]]をかけないこと。[[てぬき]]。
#*'''楽'''をする。
#('''[[ラク]]''')[[公演]]などの[[最終日]]。[[千秋楽]]、[[楽日]]。
#('''[[ガク]]''')[[音楽]]。特に[[雅楽]]など[[伝統的]]な[[音曲]]。
===={{conjug}}====
{{日本語ダ活用|kana=らく}}
===={{syn}}====
*[[気楽]](語義1、語義2)
*[[楽ちん]]
*[[やさしい]](語義2)
===={{drv}}====
*[[楽する]]
==={{prov}}===
{{top}}
*{{ふりがな|楽楽|らくらく}}
*{{ふりがな|楽観|らっかん}}
*{{ふりがな|楽園|らくえん}}
*{{ふりがな|楽座|らくざ}}
*{{ふりがな|楽事|らくじ}}
*{{ふりがな|楽勝|らくしょう}}
*{{ふりがな|楽助|らくすけ}}
*{{ふりがな|楽日|らくび}}
*{{ふりがな|楽髪|らくがみ}}
*{{ふりがな|楽天|らくてん}}
*{{ふりがな|楽想|がくそう}}
*{{ふりがな|楽隊|がくたい}}
*{{ふりがな|楽譜|がくふ}}
*{{ふりがな|楽曲|がっきょく}}
*{{ふりがな|楽屋|がくや}}
*{{ふりがな|楽面|がくめん}}
*{{ふりがな|楽理|がくり}}
*{{ふりがな|楽器|がっき}}
*{{ふりがな|楽員|がくいん}}
*{{ふりがな|楽団|がくだん}}
*{{ふりがな|楽才|がくさい}}
*{{ふりがな|楽堂|がくどう}}
*{{ふりがな|楽派|がくは}}
*{{ふりがな|楽聖|がくせい}}
*{{ふりがな|楽典|がくてん}}
*{{ふりがな|楽都|がくと}}
*{{ふりがな|安楽|あんらく}}
*{{ふりがな|苦楽|くらく}}
*{{ふりがな|娯楽|ごらく}}
*{{ふりがな|貧楽|ひんらく}}
*{{ふりがな|哀楽|あいらく}}
*{{ふりがな|快楽|かいらく}}
*{{ふりがな|極楽|ごくらく}}
*{{ふりがな|至楽|しらく}}
*{{ふりがな|独楽|どくらく}}
*{{ふりがな|耽楽|たんらく}}
*{{ふりがな|法楽|ほうらく}}
*{{ふりがな|豊楽|ほうらく}}
*{{ふりがな|道楽|どうらく}}
*{{ふりがな|音楽|おんがく}}
*{{ふりがな|田楽|でんがく}}
*{{ふりがな|雅楽|ががく}}
*{{ふりがな|洋楽|ようがく}}
*{{ふりがな|声楽|せいがく}}
*{{ふりがな|聖楽|せいがく}}
*{{ふりがな|能楽|のうがく}}
*{{ふりがな|邦楽|ほうがく}}
*{{ふりがな|雅楽|ががく}}
{{bottom}}
=={{L|zh}}==
'''[[樂]]'''又は'''{{l|zh|乐}}'''参照。
=={{L|ko}}==
'''[[樂]]'''参照。
==ベトナム語==
'''[[樂]]'''参照。
=={{コード}}==
{{文字コード|jis=1-19-58|mj={{mjmoji|014245}}|gb=9853|cns=3-417B|ksx=1027-1-3C25}}
{{検字|倉頡=IOD,XIOD|四角=3290.4}}
{{字典|dj=0930.200|hdz=80020.140|大字源=4332|大漢語林=5276|新大字典=7175|新潮漢字=5229|諸橋=15213}}
003yq78vzn6o6so2mzg9veicizd2po3
ことごとく
0
40605
2328314
1993231
2026-08-17T05:50:47Z
Jacky123a
89496
2328314
wikitext
text/x-wiki
=={{ja}}==
[[category:{{ja}}|ことことく ことごとく]]
==={{etym}}===
*[[ことごとく#古典{{ja}}|古典日本語]]より
==={{adv}}===
[[category:{{ja}}_{{adv}}|ことことく ことごとく]]
'''ことごとく'''【'''[[悉]]'''(く)、'''[[尽]]'''(く)、'''事事く'''】
#[[多数]]のものがあるうち、例外なく[[すべて]]。[[あげて|挙げて]]。
#*主人のように裏表のある人間は日記でも書いて[[世間]]に出されない自己の[[面目]]を暗室内に[[発揮]]する必要があるかも知れないが、我等猫属に至ると[[行住坐臥]]、[[行屎送尿]]'''ことごとく'''[[真正]]の日記であるから、別段そんな[[面倒]]な[[手数]]をして、己れの[[真面目]]を[[保存]]するには及ばぬと思う。([[w:夏目漱石|夏目漱石]] 『[[w:吾輩は猫である|吾輩は猫である]]』)
===={{syn}}====
*[[悉皆]]
----
==古典{{ja}}==
[[category:{{ojp}}|ことことく ことごとく]]
==={{etym}}===
*「事([[こと]])」の複数表現「ことこと」より
==={{adv}}===
[[category:{{ojp}}_{{adv}}|ことことく ことごとく]]
'''ことごとく'''【'''[[悉]]'''(く)、'''[[尽]]'''(く)、'''事事く'''】
#多数のものがあるうち、例外なく[[すべて]]。[[あげて|挙げて]]。
#*[[されど]][[とかく]][[いふかひなし|いふかひなくて]]、[[みかど]]よりはじめ[[たてまつる|奉り]]て、[[大臣]][[公卿]][[ことごとく]]攝津國[[難波]]の京にうつり[[たまふ|給ひ]][[ぬ]]。([[w:鴨長明|鴨長明]]『[[w:方丈記|方丈記]]』)
#*:そうではあっても、結局言っても仕方がないので、帝をはじめとして大臣や殿上人の'''一人残らず'''[[摂津]]国難波京へお移りになってしまった。
==={{rel}}===
*[[ことごとし]]
1rum1t5yteyi1gsto01gbfoff910la1
姻族
0
41346
2328311
2278703
2026-08-17T05:18:22Z
MSchoentgen
124887
/* {{trans}} */
2328311
wikitext
text/x-wiki
{{kana-DEFAULTSORT|いんぞく}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|いんぞく}}
#[[配偶者]]の[[血族]]又は血族の[[配偶者]]。
#血族の[[再婚]][[あいて|相手]]の[[子孫]]。
#[[直系]][[尊属]]の再婚相手の血族。
===={{trans}}====
{{top}}
*{{T|en}}: {{t|en|in-law}}
*{{T|nl}}: {{t|nl|aangetrouwd familielid}}, {{t|nl|schoonfamilie|p}}
*{{T|sv}}: {{t|sv|släkting genom giftermål}}, {{t|sv|ingift}}
*{{T|es}}: ([[político]]) {{t|es|[[relativo]]|m}}
*{{T|fr}}: {{t|fr|beau-|m}}, {{t|fr|belle-|f}}
*{{T|la}}: ([[politicus]]) {{t|la|[[relativus]]|m}}
{{bottom}}
88d1iyh5b15k6br5d9xztncezhxy5o5
招集
0
44022
2328258
1469101
2026-08-16T23:51:49Z
Jiba1219
100610
2328258
wikitext
text/x-wiki
{{kana-DEFAULTSORT|しょうしゅう}}
=={{L|ja}}==
==={{pron}}===
{{ja-pron|しょうしゅう|acc=0}}
==={{noun}}===
{{ja-noun-suru|[[しょうしゅう]]}}
# 人を招き集めること。
#{{context|legal|lang=ja}}[[会議]]を[[成立]]させるために、[[集合]]を求める[[てつづき|手続]]。
===={{rel}}====
*[[召集]]
* {{syn}}: [[招聘]]、[[招請]]、[[招待]]
===={{trans}}====
*{{en}}: [[call]]
==={{verb}}===
{{日本語サ変活用}}
===={{trans}}====
*{{en}}: call
=={{L|zh}}==
{{zh-cat|zhao1ji2|verb}}
{{yue-cat|jiu1jaap6|verb}}
{{nan-cat|chio1chip8|verb}}
==={{pron|zh}}===
*ピンイン: zhāojí
*注音符号: ㄓㄠ ㄐㄧˊ
*{{yue}}: jiu<sup>1</sup> jaap<sup>6</sup>
*{{nan}}: chio-chi̍p
==={{verb}}===
{{zhchars}}
#招集する。
=={{L|ko}}==
==={{noun}}===
{{ko-head|noun|초집}}
#招集。
i6dwq3nluvrh1boobsltjvz0q44dbro
ちゃんころ
0
45193
2328176
2298078
2026-08-16T14:13:37Z
麩
45039
出典を追加して修正しました
2328176
wikitext
text/x-wiki
{{半保護S}}
{{kana-DEFAULTSORT}}
=={{ja}}==
==={{noun}}:銭===
{{head|jpn|noun|kanji=[[銭]]ころ}}
# {{ふりがな|銭|ぜに}}のこと。特に[[つかいふるす|使い古し]]たもの。
===={{etym}}====
* [[銭]]の唐音“ちぇん”が転化した“ちゃん”に“ころ”が付いた語。
===={{syn}}====
*[[ころぜに|ころ銭]]
==={{noun}}:中国人===
'''ちゃんころ'''
#{{context|derogatory|ethnic slur|lang=jpn}}中国人に対する蔑称<ref name="p1883">{{Cite book|和書|title=[[広辞苑]] 第七版 |publisher=[[岩波書店]] |date=2018-01-12 |page=1883 |isbn=9784000801317 }}</ref>。
===={{etym}}====
*『広辞苑 第七版』は、中国語で中国人を意味する「Zhōngguórén」が訛ったものと説明している<ref name="p1883"/>。
*清国奴の[[台湾語]]読みが、[[台湾]]の日本統治時代に訛って日本へ伝わり広まったとする説もある{{要出典|date=2026年8月}}。
*中国人(特に漢民族)を意味する「ちゃんころ」という言葉は、日本帝国が中国に積極的に出兵する明治時代から頻繁に使われるようになった。いわゆる「兵隊シナ語」のひとつである{{要出典|date=2026年8月}}。
===={{trans}}====
{{trans-see|中国人に対する蔑称|支那人}}
nwo4xdln52gcou1v421bactaqmk2gmd
2328178
2328176
2026-08-16T14:14:18Z
麩
45039
無用な内部リンク除去
2328178
wikitext
text/x-wiki
{{半保護S}}
{{kana-DEFAULTSORT}}
=={{ja}}==
==={{noun}}:銭===
{{head|jpn|noun|kanji=[[銭]]ころ}}
# {{ふりがな|銭|ぜに}}のこと。特に[[つかいふるす|使い古し]]たもの。
===={{etym}}====
* [[銭]]の唐音“ちぇん”が転化した“ちゃん”に“ころ”が付いた語。
===={{syn}}====
*[[ころぜに|ころ銭]]
==={{noun}}:中国人===
'''ちゃんころ'''
#{{context|derogatory|ethnic slur|lang=jpn}}中国人に対する蔑称<ref name="p1883">{{Cite book|和書|title=広辞苑 第七版 |publisher=岩波書店 |date=2018-01-12 |page=1883 |isbn=9784000801317 }}</ref>。
===={{etym}}====
*『広辞苑 第七版』は、中国語で中国人を意味する「Zhōngguórén」が訛ったものと説明している<ref name="p1883"/>。
*清国奴の[[台湾語]]読みが、[[台湾]]の日本統治時代に訛って日本へ伝わり広まったとする説もある{{要出典|date=2026年8月}}。
*中国人(特に漢民族)を意味する「ちゃんころ」という言葉は、日本帝国が中国に積極的に出兵する明治時代から頻繁に使われるようになった。いわゆる「兵隊シナ語」のひとつである{{要出典|date=2026年8月}}。
===={{trans}}====
{{trans-see|中国人に対する蔑称|支那人}}
51knvuqfjne21rrsthmarppjaayv2xr
ドンタク
0
77721
2328324
1922123
2026-08-17T09:32:04Z
うーむ
129171
/* 日本語 */
2328324
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
=={{L|ja}}==
==={{etym}}===
{{bor|ja|nl|zondag}}
==={{noun}}===
{{ja-noun}}
#[[休日]]。
===={{rel}}====
*[[半ドン]]
*{{w|博多どんたく}}
eaoij38i7hagl5zusyw3othf1qk6j4l
しょくたく
0
79718
2328366
1475313
2026-08-17T11:13:13Z
うーむ
129171
/* 日本語 */
2328366
wikitext
text/x-wiki
{{DEFAULTSORT:しよくたく しょくたく}}
=={{ja}}==
[[Category:{{ja}}]]
==={{homonym}}===
[[Category:{{ja}} 同音異義]]
'''{{PAGENAME}}'''
*【[[色沢]]】[[いろつや]]。
*【[[食卓]]】[[食事]]に[[もちいる|用いる]][[テーブル]]。{{ふりがな|卓袱台|ちゃぶだい|yomilink=n}}。
*【[[嘱託]]・[[属託]]】1.[[仕事]]を[[たのむ|頼ん]]で[[まかせる|任せる]]こと。2.[[正式]]の[[社員]]や[[職員]]ではなく、ある[[業務]]や[[事務]]を[[うけもつ|受け持つ]]人や[[身分]]。
ns6dxxejuokove3g6i8lgb1g4i5bobq
2328368
2328366
2026-08-17T11:15:53Z
M-30722
1202
2328368
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[色沢]]】[[いろつや]]。
*【[[食卓]]】[[食事]]に[[もちいる|用いる]][[テーブル]]。{{ふりがな|卓袱台|ちゃぶだい|yomilink=n}}。
*【[[嘱託]]・[[属託]]】1.[[仕事]]を[[たのむ|頼ん]]で[[まかせる|任せる]]こと。2.[[正式]]の[[社員]]や[[職員]]ではなく、ある[[業務]]や[[事務]]を[[うけもつ|受け持つ]]人や[[身分]]。
9q6qu6zse2mgkot6a9da6rsgilmmtk4
てんかん
0
80353
2328162
2174348
2026-08-16T12:26:51Z
うーむ
129171
/* 同音異義語 */
2328162
wikitext
text/x-wiki
{{also|てんがん|でんかん}}
=={{L|ja}}==
{{wikipedia}}
==={{noun}}===
{{ja-noun|癲癇|瘨癇}} (常用漢字ではないが、頻用されるため通常はかな表記される)
#{{context|disease|lang=ja}}脳内の[[細胞]]に発生する異常な神経活動(「てんかん放電」)によって[[発作]]をきたす神経[[疾患]]、または[[症状]]。
===={{trans}}====
{{trans-top}}
*{{T|is}}: {{t|is|flogaveiki|f}}, {{t|is|flog|n}}, {{t|is|niðurfallssýki|f}}
*{{T|ga}}: {{t|ga|titimeas|m}}, {{t|ga|breoiteacht mhór|f|alt=an bhreoiteacht mhór}}, {{t|ga|galar titimeach|m}}, {{t|ga|galar Póil|m}}, {{t|ga|galar talmhaí|m}}, {{t|ga|tinneas beannaithe|m|alt=an tinneas beannaithe}}, {{t|ga|tinneas mór|m|alt=an tinneas mór}}, {{t|ga|tinneas Póil|m}}, {{t|ga|tinneas talún|m}}
*{{T|ast}}: {{t|ast|epilepsia|f}}
*{{T|as}}: {{t|as|আঁৱৰি|tr=ãori}}
*{{T|ar}}: {{t|ar|صَرْع|m}}
*{{T|hy}}: {{t|hy|ընկնավորություն}}
*{{T|ig}}: {{t|ig|ájụ̀}}
*{{T|it}}: {{t|it|epilessia|f}}
*{{T|io}}: {{t|io|epilepsio}}
*{{T|id}}: {{t|id|epilepsi}}, {{t|id|ayan}}
*{{T|cy}}: {{t|cy|epilepsi|m}}
*{{T|vo}}: {{t|vo|peiläp}}
*{{T|en}}: {{t|en|epilepsy}}
*:{{T|ang}}: {{t|ang|fiellesēocnes|f}}
*{{T|et}}: {{t|et|epilepsia}}, {{t|et|langetõbi}}
*{{T|eo}}: {{t|eo|epilepsio}}
*{{T|nl}}: {{t|nl|epilepsie|f}}, {{t|nl|vallende ziekte}}
*{{T|or}}: {{t|or|ଅପସ୍ମାର}}
*{{T|ca}}: {{t|ca|epilèpsia|f}}
*{{T|gl}}: {{t|gl|epilepsia|f}}, {{t|gl|gota|f}}
*{{T|el}}: {{t|el|επιληψία|f}}
*:{{T|grc}}: {{t|grc|ἐπιληψία|f}}
*{{T|ku}}:
*:{{T|ckb}}: {{t|ckb|فێ}}
*{{T|sa}}: {{t|sa|अपस्मार|m}}
*{{T|jv}}: {{t|jv|ꦲꦪꦤ꧀}}
*{{T|sv}}: {{t|sv|epilepsi|c}}
*{{T|gd}}: {{t|gd|tuiteamas|m}}
*{{T|es}}: {{t|es|epilepsia|f}}
*{{T|sw}}: {{t|sw|kifafa}}
*{{T|su}}: {{t|su|épilépsi}}, {{t|su|ayan}}
*{{T|sh}}:
*:キリル文字: {{t|sh|епилѐпсија|f}}, {{t|sh|па̏давица|f}}
*:ラテン文字: {{t|sh|epilèpsija|f}}, {{t|sh|pȁdavica|f}}
*{{T|so}}: {{t|so|qallal}}
*{{T|th}}: {{t|th|ลมชัก}}, {{t|th|ลมบ้าหมู}}
*{{T|tl}}: {{t|tl|kisay}}, {{t|tl|gotakural}}
*{{T|cs}}: {{t|cs|epilepsie|f}}, {{t|cs|padoucnice|f}}
*{{T|zh}}: {{t|cmn|羊癲瘋|tr=yángdiānfēng}}, {{t|cmn|癲癇|tr=diānxián}}, {{t|cmn|癲癇癥|tr=diānxiánzhèng}}, {{t|cmn|羊癇|tr=yángxián}}, {{t|cmn|羊癇瘋|tr=yángxiánfēng}}, {{t|cmn|羊角風|tr=yángjiǎofēng}}
*{{T|din}}: {{t|din|nok}}
*{{T|da}}: {{t|da|epilepsi|c}}
*{{T|de}}: {{t|de|Epilepsie|f}}; (古語) {{t|de|Fallsucht|f}}
*{{T|txb}}: {{t|txb|apasmār}}
*{{T|tr}}: {{t|tr|tutarak}}, {{t|tr|tutarık}}, {{t|tr|tutarga}}, {{t|tr|yilbik}}, {{t|tr|sara}}, {{t|tr|epilepsi}}
*{{T|nia}}: {{t|nia|faniri}}
*{{T|nog}}: {{t|nog|талма}}
*{{T|no}}:
*:{{T|nn}}: {{t|nn|epilepsi|m}}
*:{{T|nb}}: {{t|no|epilepsi|m}}
*{{T|nrf}}: {{t|nrf|épilepsie|f}} (ジャージー)
*{{T|ht}}: {{t|ht|malkadi}}
*{{T|hu}}: {{t|hu|epilepszia}}
*{{T|bjn}}: {{t|bjn|gila babi}}, {{t|bjn|balawa}}
*{{T|hi}}: {{t|hi|अपस्मार|m}}, {{t|hi|मिर्गी|f}}
*{{T|fi}}: {{t|fi|epilepsia}}
*{{T|fr}}: {{t|fr|épilepsie|f}}
*{{T|vi}}: {{t|vi|động kinh}}
*{{T|fa}}: {{t|fa|صرع|tr=sar'}}
*{{T|bn}}: {{t|bn|মৃগীরোগ}}
*{{T|pl}}: {{t|pl|padaczka|f}}, {{t|pl|epilepsja|f}}
*{{T|pt}}: {{t|pt|epilepsia|f}}
*{{T|mi}}: {{t|mi|hukihuki}}, {{t|mi|hūkiki}}, {{t|mi|mate hukihuki}}
*{{T|ms}}: {{t|ms|epilepsi}}, {{t|ms|gila babi}}, {{t|ms|sawan}}
*{{T|min}}: {{t|min|ayan}}
*{{T|pdt}}: {{t|pdt|Aunstoot}}
*{{T|la}}: {{t|la|epilēpsia|f}}
*{{T|ru}}: {{t|ru|эпиле́псия|f}}, {{t|ru|паду́чая|f}} (廃語)
{{trans-bottom}}
==={{homonym}}===
{{ja-homonym}}
*【[[展観]]】作品を並べて観覧させる。
*【[[転換]]】移し換える。
*【[[天漢]]】[[銀河]]。[[あまのがわ|天の川]]。
*【[[天干]]】[[十干]]。
*【[[天官]]】天子に仕える官吏。
*【[[廛閈]]】村里の門。また、商店街。
*【[[墊陥]]】陥ること。
*【[[点翰]]】着筆。
*【[[添翰]]】添え状。
sg1l4uoqzts327wezls26mm1rimfs3l
米粉
0
84601
2328261
2294226
2026-08-16T23:57:03Z
Jiba1219
100610
/* {{L|zh}} */
2328261
wikitext
text/x-wiki
{{kana-DEFAULTSORT|}}
=={{L|ja}}==
{{ja-kanjitab|べい|ふん|yomi=kanon,o}}
{{wikipedia}}
==={{pron}}===
{{ja-pron|べいふん|acc=0|acc_ref=DJR}}
==={{noun}}===
{{ja-noun|べいふん}}
#{{タグ|ja|食品}}[[麺]]や[[パン]]、[[菓子]]などの原料として用いるため、[[こめ|米]]を[[製粉]]したもの。
==={{wago}}===
{{ja-wagokanji|こめこ}}
#{{wagokanji of|こめこ}}
===={{rel}}====
*[[小麦粉]]
*[[穀粉]]
===脚注===
{{Reflist}}
=={{L|zh}}==
{{wikipedia|lang=zh}}
{{wikipedia|lang=yue}}
{{wikipedia|lang=nan|Bí-hún}}
{{wikipedia|lang=cdo|Mī-hūng}}
{{wikipedia|lang=wuu}}
{{zh-cat|mi3fen3|noun|食品}}
{{yue-cat|mai5fan2|noun|食品}}
{{nan-cat|bi2hun2|noun|食品}}
{{nan-tws-cat|bhi2hung2|noun|食品}}
{{cpx-cat|bi3hong3|noun|食品}}
{{hak-cat|mi3fun3|noun|食品}}
{{wuu-cat|mi2fen2|noun|食品}}
{{gan-cat|mi3fiin3|noun|食品}}
==={{pron}}===
{{cmn-pron|mǐfěn}}
{{yue-pron|mai5 fan2|dg=moi5 fan2|t=mai2 fun2}}
{{nan-pron|ml,jj,ta,ly,tw,km,sg,ph,pn:bí-hún|t=bhi2 hung2}}
{{cpx-pron|pt:bi3 hong3/xy:bi3 huong3}}
{{hak-pron|mí-fún|h=miˊ funˊ|gd=mi3 fun3}}
{{wuu-pron|sz:2mi6 3fen}}
{{gan-pron|mi3 fiin3}}
{{hsn-pron|l=mi3 hun3*|h=mi3 fen3}}
==={{noun}}===
{{zhchars}}
#{{ふりがな|米|こめ}}を[[製粉]]したもの。
#[[ビーフン]]。
===={{desc}}====
*{{ja}}: [[ビーフン]]
=={{L|ko}}==
==={{noun}}===
{{ko-head|noun|미분|cat2=食品}}
#(日本語に同じ)米粉。
88tqwsg5m7nd77aq9nenv0026pgjq5i
2328262
2328261
2026-08-16T23:57:31Z
Jiba1219
100610
/* {{L|zh}} */
2328262
wikitext
text/x-wiki
{{kana-DEFAULTSORT|}}
=={{L|ja}}==
{{ja-kanjitab|べい|ふん|yomi=kanon,o}}
{{wikipedia}}
==={{pron}}===
{{ja-pron|べいふん|acc=0|acc_ref=DJR}}
==={{noun}}===
{{ja-noun|べいふん}}
#{{タグ|ja|食品}}[[麺]]や[[パン]]、[[菓子]]などの原料として用いるため、[[こめ|米]]を[[製粉]]したもの。
==={{wago}}===
{{ja-wagokanji|こめこ}}
#{{wagokanji of|こめこ}}
===={{rel}}====
*[[小麦粉]]
*[[穀粉]]
===脚注===
{{Reflist}}
=={{L|zh}}==
{{wikipedia|lang=zh}}
{{wikipedia|lang=yue}}
{{wikipedia|lang=nan|Bí-hún}}
{{wikipedia|lang=cdo|Mī-hūng}}
{{wikipedia|lang=wuu}}
{{zh-cat|mi3fen3|noun|食品}}
{{yue-cat|mai5fan2|noun|食品}}
{{nan-cat|bi2hun2|noun|食品}}
{{nan-tws-cat|bhi2hung2|noun|食品}}
{{cpx-cat|bi3hong3|noun|食品}}
{{hak-cat|mi3fun3|noun|食品}}
{{hak-hl-cat|miˊ funˊ|noun|食品}}
{{wuu-cat|mi2fen2|noun|食品}}
{{gan-cat|mi3fiin3|noun|食品}}
==={{pron}}===
{{cmn-pron|mǐfěn}}
{{yue-pron|mai5 fan2|dg=moi5 fan2|t=mai2 fun2}}
{{nan-pron|ml,jj,ta,ly,tw,km,sg,ph,pn:bí-hún|t=bhi2 hung2}}
{{cpx-pron|pt:bi3 hong3/xy:bi3 huong3}}
{{hak-pron|mí-fún|h=miˊ funˊ|gd=mi3 fun3}}
{{wuu-pron|sz:2mi6 3fen}}
{{gan-pron|mi3 fiin3}}
{{hsn-pron|l=mi3 hun3*|h=mi3 fen3}}
==={{noun}}===
{{zhchars}}
#{{ふりがな|米|こめ}}を[[製粉]]したもの。
#[[ビーフン]]。
===={{desc}}====
*{{ja}}: [[ビーフン]]
=={{L|ko}}==
==={{noun}}===
{{ko-head|noun|미분|cat2=食品}}
#(日本語に同じ)米粉。
2ktmjljpyhd91eluxjg4j90v5k3aeg8
裝置
0
97625
2328264
1512341
2026-08-17T00:15:26Z
Jiba1219
100610
2328264
wikitext
text/x-wiki
{{kana-DEFAULTSORT|そうち}}
=={{L|ja}}==
==={{kyujitai}}===
{{ja-kyujitai|そうち}}
#{{kyujitai of|装置}}
=={{L|zh}}==
{{zh-cat|zhuang1zhi4|noun|verb}}
{{yue-cat|jong1ji3|noun|verb}}
{{nan-cat|chong1ti3|noun|verb}}
{{nan-tws-cat|zuang1di3|noun|verb}}
==={{pron}}===
{{cmn-pron|zhuāngzhì}}
{{yue-pron|zong1 zi3}}
{{nan-pron|chong-tì|t=zuang1 di3}}
==={{noun}}===
{{zhchars|s=装置}}
#[[装置]]。
==={{verb}}===
{{zhchars|s=装置}}
#{{おくりがな3|備|そな|え|付|つ|ける|そなえつける}}。
=={{L|ko}}==
==={{noun}}===
{{ko-head|noun|장치}}
#[[装置]]。
7cb23b0fy5zozhocn2rgspqgbtl7w2b
hoped
0
102272
2328335
2236440
2026-08-17T10:37:48Z
M-30722
1202
2328335
wikitext
text/x-wiki
=={{L|en}}==
==={{pron}}===
* {{IPA|lang=en|hoʊpt|a=GA}}
* {{IPA|lang=en|həʊpt|a=RP}}
* {{音声|en|en-us-hoped.ogg|a=US}}
* {{rhymes|lang=en|əʊpt|s=1}}
==={{verb}}===
{{head|en|verb form}}
#{{l|en|hope}}の過去形・過去分詞。
===={{rel}}====
* {{l|en|hoped for}}
* {{l|en|unhoped}}
==={{anag}}===
* {{anagrams|en|a=dehop|ephod}}
2nvulm18r65ql8z93qgs3pjrdvc191s
パンダ
0
108177
2328166
1923949
2026-08-16T12:46:28Z
うーむ
129171
/* */
2328166
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|はんた|はんだ|ばんた|ばんだ}}
=={{ja}}==
{{wikipedia}}
==={{noun}}===
[[File:Grosser Panda.JPG|thumb|right|語義1]]
[[Category:{{ja}}_食肉類]]
{{ja-noun|熊猫}}
# [[ジャイアントパンダ]]。[[中国]]に[[生息]]する、白黒模様の[[哺乳類]]。[[ささ|笹]]・[[たけ|竹]]のみを食べる。
# [[ジャイアントパンダ]]と[[レッサーパンダ]]の[[総称]]。生態などが似ているため、かつては同じ仲間と考えられたが、現在の動物学では同じ科には属さない。
===={{drv}}====
* [[客寄せパンダ]]
===={{trans}}====
{{trans-top}}
* {{is}}: {{t-|is|panda|f}}, {{t-|is|pandabjörn|m}}, {{t-|is|pandabirna|f}}
* {{ar}}: {{t-|ar|بندة|f|tr=banda}}
* {{it}}: {{t-|it|panda|m}}
* {{id}}: {{t-|id|panda|xs=Indonesian}}
* {{en}}: {{t+|en|panda}}
* {{nl}}: {{t+|nl|panda|m}}, {{t-|nl|pandabeer|m}}
* {{ca}}: {{t-|ca|panda|m}}
* {{el}}: {{t+|el|πάντα|n|tr=pánta|sc=Grek}}
* {{sv}}: {{t+|sv|panda|c}}, {{t-|sv|jättepanda|c}}, {{t-|sv|pandabjörn|c}}
* {{es}}: {{t+|es|panda|m}}
* {{sl}}: {{t+|sl|panda|f}}
* {{sh}}: {{t|sh|panda|f}}
* {{th}}: {{t-|th|หมีแพนด้า|tr=mi-panda}}, {{t-|th|แพนด้า}}
* {{cs}}: {{t-|cs|panda velká|f}}
* {{chr}}: {{t-|chr|ᏥᎾ ᏲᎾ|tr=tsina yona|sc=Cher}}
* {{zh}}:{{t-|cmn|熊貓|sc=Hani}}, {{t-|cmn|熊猫|tr=xióngmāo|sc=Hani}}; {{t|cmn|大熊貓|sc=Hani}}, {{t|cmn|大熊猫|tr=dàxióngmāo|sc=Hani}}; {{t|cmn|貓熊|sc=Hani}}, {{t|cmn|猫熊|tr=māoxióng|sc=Hani}}, {{t|cmn|大貓熊|sc=Hani}}, {{t|cmn|大猫熊|tr=dàmāoxióng|sc=Hani}}
* {{ko}}: {{t-|ko|판다|tr=panda|sc=Hang}}
* {{da}}: {{t-|da|panda|m}}, {{t-|da|kæmpepanda|c}}
* {{de}}: {{t+|de|Panda}}, {{t-|de|Pandabär|m}}
* {{nv}}: {{tø|nv|shash łizhin dóó łigaígíí}}
* {{no}}: {{t+|no|panda|m}}, {{t-|no|pandabjørn}}, {{t-|no|kjempepanda}}
* {{hu}}: {{t+|hu|panda}}
* {{fi}}: {{t+|fi|isopanda}}, {{t+|fi|jättiläispanda}}, {{t+|fi|panda}}, {{t+|fi|pandakarhu}}
* {{fr}}: {{t+|fr|panda|m}}
* {{fa}}: {{t-|fa|خرس پاندا|tr=kherse pāndā|xs=Persian}}
* {{pt}}: {{t+|pt|panda|m}}
* {{ru}}: {{t+|ru|панда|f|tr=pánda}}
{{trans-bottom}}
===={{seealso}}====
* [[ジャイアントパンダ]]
* [[レッサーパンダ]]
8zq134or4cvkkybz5ffg6fqidb4t5r1
おぼれる
0
112894
2328312
2297771
2026-08-17T05:21:49Z
MSchoentgen
124887
/* {{trans}} */
2328312
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
=={{L|ja}}==
==={{etym}}===
{{etyl|ojp|ja}}「[[おぼる]]」
==={{pron}}===
{{ja-pron|acc=0}}
{{ja-accent-common|region=京阪|h||おぼれる}}
==={{verb}}===
{{head|ja|verb}}【[[溺]]れる】
#{{タグ|ja|自動詞}} 水中に落ちて死ぬ。また死にそうになる。空気呼吸だけを行う動物が、[[みず|水]]を始めとする液体によって呼吸を[[はばむ|阻]]まれて[[窮する]]。
#* [[皇帝]]などは、[[もう]][[わたし|私]]は'''溺れ'''て[[しぬ|死]]んだのだろう、[[そして]]、[[あれ]]は[[敵]]の[[艦隊]]{{wp|艦隊}}が[[いま]][[おしよせる|押し寄せ]]て[[くる|来る]][[ところ]]だ、と[[おもいこむ|思い込]]んでいました。({{w|ジョナサン・スイフト}} 『{{w|ガリバー旅行記}}[https://www.aozora.gr.jp/cards/000912/files/4673_9768.html]』 {{w|原民喜}}[[訳]])〔{{w|1978年}}〕
#*[[ひ|火]]になつた[[たきぎ|焚き木]]を[[おう|負つ]]て[[ゐる]][[たぬき|狸]]、{{ふりがな|泥舟|どろぶね}}と[[ともに|共に]]'''溺れる'''狸、――あの狸の[[死]]を[[御覧]]なさい。({{w|芥川龍之介}} 『教訓談[https://www.aozora.gr.jp/cards/000879/files/3815_27295.html]』)〔{{w|1971年}}〕
#{{タグ|ja|自動詞}}([[みず|水]]の[[なか|中]]に[[おちる|落ち]]た[[もの|者]]が冷静な判断と行動ができなくなるがことく)[[なに|何]]かの[[事物]]に、[[夢中]]になって[[理性]]を[[うしなう|失う]]。[[こころ|心]]を[[うばう|奪]]われる。[[ふける]]。
#*[[基督]][[教徒]]を[[まどわす|惑は]]し、{{ふりがな|丈夫|ますらを}}リナルドオをアンチオヒアの[[その|園]]に[[さそう|誘]]ひて、[[酒色]]に'''溺れ'''しむ。({{w|ハンス・クリスチャン・アンデルセン}} 『{{w|即興詩人}}[https://www.aozora.gr.jp/cards/000019/files/4376_19283.html]』 {{w|森鴎外}}[[訳]])〔{{w|1967年}}〕
#* [[おやじ]]は[[頑固]]だ[[けれども]]、そんな{{ふりがな|依怙贔屓|えこひいき}}はせぬ[[おとこ|男]]だ。[[しかし]]{{ふりがな|清|きよ}}の[[め|眼]]から[[みる|見る]]とそう見えるのだろう。[[まったく|全く]][[愛]]に'''溺れ'''ていたに[[ちがう|違]]いない。[[もと|元]]は[[身分]]のある[[もの]]でも[[教育]]の[[ない]][[ばあさん|婆さん]][[だから]][[仕方]]がない。({{w|夏目漱石}}『[[w:坊つちやん|坊ちゃん]][https://www.aozora.gr.jp/cards/000148/files/752_14964.html]』)〔{{w|1987年}}〕
#{{タグ|ja|自動詞}} [[かこむ|囲]]まれる。[[圧倒]]される。[[翻弄]]される。[[埋没]]する。
#*[[膨大]]な[[情報]]に'''溺れる'''。
#* M・Cになるには、[[ふつかよい|フツカヨイ]]を[[ころす|殺]]して[[かかる|かゝる]][[努力]]がいるが、フツカヨイの[[なげき|嘆き]]に'''溺れ'''てしまうには、努力が[[すくない|少]]くて[[すむ]]のだ。({{w|坂口安吾}} 『[[不良]][[少年]]と[[キリスト]][https://www.aozora.gr.jp/cards/001095/files/42840_24908.html]』)〔{{w|1948年}}〕
#{{タグ|ja|自動詞}} [[こだわる|こだわ]]り[[すぎる|すぎ]]て[[失敗]]する。[[ひきずる|引きず]]られる。
#* [[過去]]の[[成功]][[体験]]に'''溺れ'''てはいけない。
#* [[策士]][[策]]に'''溺れる'''。
#* そんなやうに[[ひとり|一人]]で[[計画]]し一人で[[しごと|仕事]]をする人たちは[[みんな]][[相当]]に[[自信]]が[[つよい|強く]]、ある時は自分の[[技術]]に'''溺れ'''てしまふこともあるらしい。({{w|片山廣子}} 『[[すり|掏摸]]と[[泥棒]]たち[https://www.aozora.gr.jp/cards/001346/files/50148_41230.html]』)〔{{w|2004年}}〕
===={{conjug}}====
{{日本語下一段活用}}
===={{syn}}====
語義1
* [[溺水]]{{wp|溺水}}
語義2
{{top}}
* [[こる]]
* [[はまる]]
* [[うつつ]]を[[ぬかす]]
* [[魅了]]
* [[耽溺]]
{{bottom}}
===={{idiom}}====
* [[溺れる者は藁をも掴む]]
* [[策士策に溺れる]]
===={{rel}}====
{{top}}
語義1
* [[溺水]]{{wp|溺水}}
* [[溺死]]<!--※wikipediaの定義は間違っている(溺死とその他様々な形がある水死を混同して、全て水死との説明をしている)のでリンクしない。-->
語義2
* [[かわながれ|川流れ]]<sup>2</sup>
語義4
* [[やみつき]]
{{bottom}}
===={{trans}}====
{{trans-top|水中で泳ぐことができず死にそうになる。また、死ぬ。}}
*{{T|ar}}: {{t|ar|غرق|tr=gharaqa}}
*{{T|it}}: {{t|it|affogare}}, {{t|it|annegare}}
*{{T|en}}:{{t|en|drown}}
*{{T|eo}}: {{t|eo|droni}}
*{{T|nl}}: {{t|nl|verdrinken}}, {{t|nl|verzuipen}}
*{{T|el}}: {{t|el|πνίγομαι|tr=pnígomai}}
*{{T|sv}}: {{t|sv|drunkna}}
*{{T|gd}}: {{t|gd|bàth}}
*{{T|es}}: {{t|es|ahogarse}}
*{{T|cs}}: {{t|cs|utopit}} se
*{{T|zh}}: {{t|cmn|溺水|tr=nìshuǐ|sc=Hani}}, {{t|cmn|淹死|tr=yānsǐ|sc=Hani}}
*{{T|ko}}:{{t|ko|물에 뼈져 죽다|tr=mure ppyeojyeo jukda|sc=Hang}}
*{{T|de}}: {{t|de|ertrinken}}
*{{T|nrf}}: {{t|nrf|n'yer|alt=s'n'yer}}
*{{T|hu}}: {{t|hu|fullad}}
*{{T|fi}}: {{t|fi|hukkua}}
*{{T|fr}}: {{t|fr|noyer|alt=se noyer}}
*{{T|bg}}: {{t|bg|давя се}}, {{t|bg|удавям се}}
*{{T|pl}}: {{t|pl|tonąć|impf}}/{{t|pl|utonąć|pf}}
*{{T|pt}}: {{t|pt|afogar-se}}
*{{T|lv}}: {{t|lv|slīkt}}, {{t|lv|noslīkt}}
*{{T|ltg}}: {{t|ltg|sleikt}}
*{{T|lt}}: {{t|lt|skęsti}}
*{{T|ro}}: {{t|ro|îneca}}
*{{T|ru}}: {{t|ru|тонуть|impf|tr=tonút'}}, {{t|ru|утонуть|pf|tr=utonút'}}, {{t|ru|потонуть|pf|tr=potonút'}}
{{trans-bottom}}
{{trans-top|何かの事物に、夢中になって理性を失う。心を奪われる。ふける。}}
*{{T|en}}: {{t|en|indulge}}.
*{{T|eo}}: {{t|eo|indulgi}}, {{t|eo|dorloti}}
*{{T|nl}}: {{t|nl|toegeven}}, {{t|nl|zwichten}} (voor de verleiding)
*{{T|el}}: {{t|el|υποκύπτω|sc=Grek}}, {{t|el|ενδίδω|sc=Grek}}
*{{T|es}}: {{t|es|ceder}}, {{t|es|sucumbir}}
*{{T|zh}}: {{t|zh|沉溺}}、{{t|zh|耽于}}
*{{T|ko}}: {{朝鮮語訳|word=빠지다|rom=ppa.ji.da}}
*{{T|de}}: {{t|de|nachgeben}}, {{t|de|erliegen}}
*{{T|hu}}: {{t|hu|elcsábul}}
*{{T|fi}}: {{t|fi|langeta}}, {{t|fi|sortua}}
*{{T|fr}}: {{t|fr|céder}}, {{t|fr|succomber}} (à la tentation)
{{trans-bottom}}
6peozc16g92sf87fyprmootnz3qkqws
モジュール:languages
828
121395
2328214
2323385
2026-08-16T22:12:26Z
Kuroco2k
84207
2328214
Scribunto
text/plain
local export = {}
local debug_track_module = "Module:debug/track"
local etymology_languages_data_module = "Module:etymology languages/data"
local families_module = "Module:families"
local headword_page_module = "Module:headword/page"
local json_module = "Module:JSON"
local language_like_module = "Module:language-like"
local languages_data_module = "Module:languages/data"
local languages_data_patterns_module = "Module:languages/data/patterns"
local links_data_module = "Module:links/data"
local load_module = "Module:load"
local scripts_module = "Module:scripts"
local scripts_data_module = "Module:scripts/data"
local string_encode_entities_module = "Module:string/encode entities"
local string_pattern_escape_module = "Module:string/patternEscape"
local string_replacement_escape_module = "Module:string/replacementEscape"
local string_utilities_module = "Module:string utilities"
local table_module = "Module:table"
local utilities_module = "Module:utilities"
local wikimedia_languages_module = "Module:wikimedia languages"
local mw = mw
local string = string
local table = table
local char = string.char
local concat = table.concat
local find = string.find
local floor = math.floor
local get_by_code -- Defined below.
local get_data_module_name -- Defined below.
local get_extra_data_module_name -- Defined below.
local getmetatable = getmetatable
local gmatch = string.gmatch
local gsub = string.gsub
local insert = table.insert
local ipairs = ipairs
local is_known_language_tag = mw.language.isKnownLanguageTag
local make_object -- Defined below.
local match = string.match
local next = next
local pairs = pairs
local remove = table.remove
local require = require
local select = select
local setmetatable = setmetatable
local sub = string.sub
local type = type
local unstrip = mw.text.unstrip
-- Loaded as needed by findBestScript.
local Hans_chars
local Hant_chars
--[=[
Throw an error for an invalid language code or script code.
`lang_code` (required) is the bad code and can be nil or a non-string.
`param` (required) is the name of the parameter in which the code was contained. It can be a string, a number
(for a numeric param, in which case the param will show up in the error message as an ordinal such as
"first" or "second"), or `true` if no parameter can be clearly identified.
`code_desc` (optional) is text describing what the code is; by default, "language code".
`template_text` (optional) is a string specifying the template that generated the error, or a function
to generate this string. If given, it will be displayed in the error message.
`not_real_lang` (optional), if given, indicates that the code is not in the form of a language code
(e.g. it's a script code). Normally, this function checks for things that could plausibly be a language code:
two or three lowercase letters, two or three groups of three lowercase letters with hyphens between them.
If such a pattern is found, a different error message is displayed (indicating an invalid code) than otherwise
(indicating a missing code). If `not_real_lang` is given, this check is suppressed.
]=]
local function check_object(...)
check_object = require(utilities_module).check_object
return check_object(...)
end
local function debug_track(...)
debug_track = require(debug_track_module)
return debug_track(...)
end
local function decode_entities(...)
decode_entities = require(string_utilities_module).decode_entities
return decode_entities(...)
end
local function decode_uri(...)
decode_uri = require(string_utilities_module).decode_uri
return decode_uri(...)
end
local function deep_copy(...)
deep_copy = require(table_module).deepCopy
return deep_copy(...)
end
local function encode_entities(...)
encode_entities = require(string_encode_entities_module)
return encode_entities(...)
end
local function get_L2_sort_key(...)
get_L2_sort_key = require(headword_page_module).get_L2_sort_key
return get_L2_sort_key(...)
end
local function get_script(...)
get_script = require(scripts_module).getByCode
return get_script(...)
end
local function find_best_script_without_lang(...)
find_best_script_without_lang = require(scripts_module).findBestScriptWithoutLang
return find_best_script_without_lang(...)
end
local function get_family(...)
get_family = require(families_module).getByCode
return get_family(...)
end
local function get_plaintext(...)
get_plaintext = require(utilities_module).get_plaintext
return get_plaintext(...)
end
local function get_wikimedia_lang(...)
get_wikimedia_lang = require(wikimedia_languages_module).getByCode
return get_wikimedia_lang(...)
end
local function keys_to_list(...)
keys_to_list = require(table_module).keysToList
return keys_to_list(...)
end
local function list_to_set(...)
list_to_set = require(table_module).listToSet
return list_to_set(...)
end
local function load_data(...)
load_data = require(load_module).load_data
return load_data(...)
end
local function make_family_object(...)
make_family_object = require(families_module).makeObject
return make_family_object(...)
end
local function pattern_escape(...)
pattern_escape = require(string_pattern_escape_module)
return pattern_escape(...)
end
local function replacement_escape(...)
replacement_escape = require(string_replacement_escape_module)
return replacement_escape(...)
end
local function safe_require(...)
safe_require = require(load_module).safe_require
return safe_require(...)
end
local function shallow_copy(...)
shallow_copy = require(table_module).shallowCopy
return shallow_copy(...)
end
local function split(...)
split = require(string_utilities_module).split
return split(...)
end
local function to_json(...)
to_json = require(json_module).toJSON
return to_json(...)
end
local function u(...)
u = require(string_utilities_module).char
return u(...)
end
local function ugsub(...)
ugsub = require(string_utilities_module).gsub
return ugsub(...)
end
local function ulen(...)
ulen = require(string_utilities_module).len
return ulen(...)
end
local function ulower(...)
ulower = require(string_utilities_module).lower
return ulower(...)
end
local function umatch(...)
umatch = require(string_utilities_module).match
return umatch(...)
end
local function uupper(...)
uupper = require(string_utilities_module).upper
return uupper(...)
end
local function track(page)
debug_track("languages/" .. page)
return true
end
local function normalize_code(code)
return load_data(languages_data_module).aliases[code] or code
end
function export.err(lang_code, param, code_desc, template_tag, not_real_lang)
local ordinals = {
"first", "second", "third", "fourth", "fifth", "sixth",
"seventh", "eighth", "ninth", "tenth", "eleventh", "twelfth",
"thirteenth", "fourteenth", "fifteenth", "sixteenth", "seventeenth",
"eighteenth", "nineteenth", "twentieth"
}
code_desc = code_desc or "language code"
if not template_tag then
template_tag = ""
else
if type(template_tag) ~= "string" then
template_tag = template_tag()
end
template_tag = " (Original template: " .. template_tag .. ")"
end
local function err(msg)
error(msg .. template_tag, 3)
end
local param_type = type(param)
local in_the_param
if param == true then
-- handled specially below
in_the_param = ""
else
if param_type == "number" then
param = ordinals[param] .. "パラメータ"
elseif param_type == "string" then
param = 'パラメータ"' .. param .. '"'
else
err("パラメータの名前は"
.. (param_type == "table" and "a table" or tostring(param))
.. "ですが、これは数値または文字列であるべきです。")
end
in_the_param = " in the " .. param
end
if not lang_code or lang_code == "" then
if param == true then
err("" .. code_desc .. "が見つかりません。")
else
err("" .. param .. " (" .. code_desc .. ")が見つかりません。")
end
elseif type(lang_code) ~= "string" then
err("The " .. code_desc .. in_the_param .. " is supposed to be a string but is a " .. type(lang_code) .. ".")
-- Can use string.find because language codes only contain ASCII.
elseif not_real_lang or lang_code:find("^%l%l%l?$")
or lang_code:find("^%l%l%l%-%l%l%l$")
or lang_code:find("^%l%l%l%-%l%l%l%-%l%l%l$") then
err("The " .. code_desc .. " \"" .. lang_code .. "\"" .. in_the_param .. " is not valid.")
else
err("" .. code_desc .. in_the_param .. "を指定してください。値\"" .. lang_code .. "\"が無効です。")
end
end
local function check_object(...)
check_object = require(utilities_module).check_object
return check_object(...)
end
local function checkScript(text, self, sc)
if not check_object("script", true, sc) or sc:getCode() == "None" then
return self:findBestScript(text)
end
return sc
end
local function do_entry_name_or_sort_key_replacements(text, replacements)
if replacements.from then
for i, from in ipairs(replacements.from) do
local to = replacements.to[i] or ""
text = mw.ustring.gsub(text, from, to)
end
end
if replacements.remove_diacritics then
text = mw.ustring.toNFD(text)
text = mw.ustring.gsub(text,
'[' .. replacements.remove_diacritics .. ']',
'')
text = mw.ustring.toNFC(text)
end
return text
end
local Language = {}
function Language:getCode()
return self._code
end
function Language:getCanonicalName()
return self._rawData[1] or self._rawData.canonicalName
end
function Language:getDisplayForm()
return self:getCanonicalName()
end
function Language:getOtherNames(onlyOtherNames)
return require("モジュール:language-like").getOtherNames(self, onlyOtherNames)
end
function Language:getAliases()
return self._rawData.aliases or {}
end
function Language:getVarieties(flatten)
return require("モジュール:language-like").getVarieties(self, flatten)
end
function Language:getType()
return self._rawData.type or "regular"
end
--[==[
If the language is etymology-only, this iterates through parents until a full language or family is found, and the
corresponding object is returned. If the language is a full language, then it simply returns itself.
]==]
function Language:getFull()
local full = self._fullObject
if full == nil then
full = self:getFullCode()
full = full == self._code and self or get_by_code(full)
self._fullObject = full
end
return full
end
--[==[
If the language is an etymology-only language, this iterates through parents until a full language or family is
found, and the corresponding code is returned. If the language is a full language, then it simply returns the
language code.
]==]
function Language:getFullCode()
return self._fullCode or self._code
end
function Language:getFullName()
local full = self._fullName
if full == nil then
full = self:getFull():getCanonicalName()
self._fullName = full
end
return full
end
function Language:getWikimediaLanguages()
if not self._wikimediaLanguageObjects then
local m_wikimedia_languages = require("モジュール:wikimedia languages")
self._wikimediaLanguageObjects = {}
local wikimedia_codes = self._rawData.wikimedia_codes or { self._code }
for _, wlangcode in ipairs(wikimedia_codes) do
table.insert(self._wikimediaLanguageObjects, m_wikimedia_languages.getByCode(wlangcode))
end
end
return self._wikimediaLanguageObjects
end
function Language:getWikipediaArticle()
if self._rawData.wikipedia_article then
return self._rawData.wikipedia_article
elseif self._wikipedia_article then
return self._wikipedia_article
elseif self:getWikidataItem() and mw.wikibase then
self._wikipedia_article = mw.wikibase.sitelink(self:getWikidataItem(), 'enwiki')
end
if not self._wikipedia_article then
self._wikipedia_article = mw.ustring.gsub(self:getCategoryName(), "Creole language", "Creole")
end
return self._wikipedia_article
end
function Language:makeWikipediaLink()
return "[[w:" .. self:getWikipediaArticle() .. "|" .. self:getCanonicalName() .. "]]"
end
function Language:getWikidataItem()
return self._rawData[2] or self._rawData.wikidata_item
end
function Language:getScripts()
if not self._scriptObjects then
local m_scripts = require("モジュール:scripts")
self._scriptObjects = {}
for _, sc in ipairs(self._rawData.scripts or { "None" }) do
table.insert(self._scriptObjects, m_scripts.getByCode(sc))
end
end
return self._scriptObjects
end
function Language:getScriptCodes()
return self._rawData.scripts or { "None" }
end
function Language:findBestScript(text, forceDetect)
if not text or text == "" or text == "-" then
return get_script("None")
end
-- Differs from table returned by getScriptCodes, as Hants is not normalized into its constituents.
local codes = self._bestScriptCodes
if codes == nil then
codes = self._data[4]
codes = codes and split(codes, ",", true, true) or {"None"}
self._bestScriptCodes = codes
end
local first_sc = codes[1]
if first_sc == "All" then
return find_best_script_without_lang(text)
end
local codes_len = #codes
if not (forceDetect or first_sc == "Hants" or codes_len > 1) then
first_sc = get_script(first_sc)
local charset = first_sc.characters
return charset and umatch(text, "[" .. charset .. "]") and first_sc or get_script("None")
end
-- Remove all formatting characters.
text = get_plaintext(text)
-- Remove all spaces and any ASCII punctuation. Some non-ASCII punctuation is script-specific, so can't be removed.
text = ugsub(text, "[%s!\"#%%&'()*,%-./:;?@[\\%]_{}]+", "")
if #text == 0 then
return get_script("None")
end
-- Try to match every script against the text,
-- and return the one with the most matching characters.
local bestcount, bestscript, length = 0
for i = 1, codes_len do
local sc = codes[i]
-- Special case for "Hants", which is a special code that represents whichever of "Hant" or "Hans" best matches, or "Hani" if they match equally. This avoids having to list all three. In addition, "Hants" will be treated as the best match if there is at least one matching character, under the assumption that a Han script is desirable in terms that contain a mix of Han and other scripts (not counting those which use Jpan or Kore).
if sc == "Hants" then
local Hani = get_script("Hani")
if not Hant_chars then
Hant_chars = load_data("Module:zh/data/ts")
Hans_chars = load_data("Module:zh/data/st")
end
local t, s, found = 0, 0
-- This is faster than using mw.ustring.gmatch directly.
for ch in gmatch((ugsub(text, "[" .. Hani.characters .. "]", "\255%0")), "\255(.[\128-\191]*)") do
found = true
if Hant_chars[ch] then
t = t + 1
if Hans_chars[ch] then
s = s + 1
end
elseif Hans_chars[ch] then
s = s + 1
else
t, s = t + 1, s + 1
end
end
if found then
if t == s then
return Hani
end
return get_script(t > s and "Hant" or "Hans")
end
else
sc = get_script(sc)
if not length then
length = ulen(text)
end
-- Count characters by removing everything in the script's charset and comparing to the original length.
local charset = sc.characters
local count = charset and length - ulen((ugsub(text, "[" .. charset .. "]+", ""))) or 0
if count >= length then
return sc
elseif count > bestcount then
bestcount = count
bestscript = sc
end
end
end
-- Return best matching script, or otherwise None.
return bestscript or get_script("None")
end
function Language:getFamily()
if self._familyObject then
return self._familyObject
end
local family = self._rawData[3] or self._rawData.family
if family then
self._familyObject = require("モジュール:families").getByCode(family)
end
return self._familyObject
end
function Language:getParent()
local parent = self._parentObject
if parent == nil then
parent = self:getParentCode()
-- If the value is nil, it's cached as false.
parent = parent and get_by_code(parent, nil, true, true) or false
self._parentObject = parent
end
return parent or nil
end
function Language:getParentCode()
local parent = self._parentCode
if parent == nil then
-- If the value is nil, it's cached as false.
parent = self._data.parent or false
self._parentCode = parent
end
return parent or nil
end
function Language:getAncestors()
if not self._ancestorObjects then
self._ancestorObjects = {}
if self._rawData.ancestors then
for _, ancestor in ipairs(self._rawData.ancestors) do
table.insert(self._ancestorObjects, export.getByCode(ancestor) or require("モジュール:etymology languages").getByCode(ancestor))
end
else
local fam = self:getFamily()
local protoLang = fam and fam:getProtoLanguage() or nil
-- For the case where the current language is the proto-language
-- of its family, we need to step up a level higher right from the start.
if protoLang and protoLang:getCode() == self:getCode() then
fam = fam:getFamily()
protoLang = fam and fam:getProtoLanguage() or nil
end
while not protoLang and not (not fam or fam:getCode() == "qfa-not") do
fam = fam:getFamily()
protoLang = fam and fam:getProtoLanguage() or nil
end
table.insert(self._ancestorObjects, protoLang)
end
end
return self._ancestorObjects
end
local function iterateOverAncestorTree(node, func)
for _, ancestor in ipairs(node:getAncestors()) do
if ancestor then
local ret = func(ancestor) or iterateOverAncestorTree(ancestor, func)
if ret then
return ret
end
end
end
end
function Language:getAncestorChain()
if not self._ancestorChain then
self._ancestorChain = {}
local step = #self:getAncestors() == 1 and self:getAncestors()[1] or nil
while step do
table.insert(self._ancestorChain, 1, step)
step = #step:getAncestors() == 1 and step:getAncestors()[1] or nil
end
end
return self._ancestorChain
end
function Language:hasAncestor(otherlang)
local function compare(ancestor)
return ancestor:getCode() == otherlang:getCode()
end
return iterateOverAncestorTree(self, compare) or false
end
function Language:getCategoryName()
local name = self:getCanonicalName()
-- If the name already has "language" in it, don't add it.
if name:find("[Ll]anguage$") then
return name
else
return name .. ""
end
end
function Language:makeCategoryLink()
return "[[:Category:" .. self:getCategoryName() .. "|" .. self:getCanonicalName() .. "]]"
end
function Language:getStandardCharacters()
return self._rawData.standardChars
end
function Language:makeEntryName(text)
text = mw.ustring.match(text, "^[¿¡]?(.-[^%s%p].-)%s*[؟?!;՛՜ ՞ ՟?!︖︕।॥။၊་།]?$") or text
if self:getCode() == "ar" then
local U = mw.ustring.char
local taTwiil = U(0x640)
local waSla = U(0x671)
-- diacritics ordinarily removed by entry_name replacements
local Arabic_diacritics = U(0x64B, 0x64C, 0x64D, 0x64E, 0x64F, 0x650, 0x651, 0x652, 0x670)
if text == waSla or mw.ustring.find(text, "^" .. taTwiil .. "?[" .. Arabic_diacritics .. "]" .. "$") then
return text
end
end
if type(self._rawData.entry_name) == "table" then
text = do_entry_name_or_sort_key_replacements(text, self._rawData.entry_name)
end
return text
end
-- Add to data tables?
local has_dotted_undotted_i = {
["az"] = true,
["crh"] = true,
["gag"] = true,
["kaa"] = true,
["tt"] = true,
["tr"] = true,
["zza"] = true,
}
function Language:generateForms(text, sc)
local generate_forms = self._data.generate_forms
if generate_forms == nil then
return {text}
end
sc = checkScript(text, self, sc)
return require("モジュール:" .. self._data.generate_forms).generateForms(text, self, sc)
end
function Language:makeSortKey(name, sc)
if has_dotted_undotted_i[self:getCode()] then
name = name:gsub("I", "ı")
end
name = mw.ustring.lower(name)
-- Remove initial hyphens and *
local hyphens_regex = "^[-־ـ*]+(.)"
name = mw.ustring.gsub(name, hyphens_regex, "%1")
-- If there are language-specific rules to generate the key, use those
if type(self._rawData.sort_key) == "table" then
name = do_entry_name_or_sort_key_replacements(name, self._rawData.sort_key)
elseif type(self._rawData.sort_key) == "string" then
name = require("モジュール:" .. self._rawData.sort_key).makeSortKey(name, self:getCode(), sc and sc:getCode())
end
-- Remove parentheses, as long as they are either preceded or followed by something
name = mw.ustring.gsub(name, "(.)[()]+", "%1")
name = mw.ustring.gsub(name, "[()]+(.)", "%1")
if has_dotted_undotted_i[self:getCode()] then
name = name:gsub("i", "İ")
end
return mw.ustring.upper(name)
end
function Language:overrideManualTranslit()
if self._rawData.override_translit then
return true
else
return false
end
end
function Language:transliterate(text, sc, module_override)
if not ((module_override or self._rawData.translit_module) and text) then
return nil
end
if module_override then
require("モジュール:debug").track("module_override")
end
return require("モジュール:" .. (module_override or self._rawData.translit_module)).tr(text, self:getCode(), sc and sc:getCode() or nil)
end
function Language:hasTranslit()
return self._rawData.translit_module and true or false
end
function Language:link_tr()
return self._rawData.link_tr and true or false
end
function Language:toJSON()
local entryNamePatterns = nil
local entryNameRemoveDiacritics = nil
if self._rawData.entry_name then
entryNameRemoveDiacritics = self._rawData.entry_name.remove_diacritics
if self._rawData.entry_name.from then
entryNamePatterns = {}
for i, from in ipairs(self._rawData.entry_name.from) do
local to = self._rawData.entry_name.to[i] or ""
table.insert(entryNamePatterns, { from = from, to = to })
end
end
end
local ret = {
ancestors = self._rawData.ancestors,
canonicalName = self:getCanonicalName(),
categoryName = self:getCategoryName(),
code = self._code,
entryNamePatterns = entryNamePatterns,
entryNameRemoveDiacritics = entryNameRemoveDiacritics,
family = self._rawData[3] or self._rawData.family,
otherNames = self:getOtherNames(true),
aliases = self:getAliases(),
varieties = self:getVarieties(),
scripts = self._rawData.scripts,
type = self:getType(),
wikimediaLanguages = self._rawData.wikimedia_codes,
wikidataItem = self:getWikidataItem(),
}
return require("モジュール:JSON").toJSON(ret)
end
-- Do NOT use this method!
-- All uses should be pre-approved on the talk page!
function Language:getRawData()
return self._rawData
end
Language.__index = Language
function export.getDataModuleName(code)
if code:find("^%l%l$") then
return "languages/data2"
elseif code:find("^%l%l%l$") then
local prefix = code:sub(1, 1)
return "languages/data3/" .. prefix
elseif code:find("^[%l-]+$") then
return "languages/datax"
else
return nil
end
end
local function getRawLanguageData(code)
local modulename = export.getDataModuleName(code)
return modulename and mw.loadData("モジュール:" .. modulename)[code] or nil
end
function export.makeObject(code, data)
if data and data.deprecated then
require("モジュール:debug").track {
"languages/deprecated",
"languages/deprecated/" .. code
}
end
return data and setmetatable({ _rawData = data, _data = data, _code = code }, Language) or nil
end
function export.getByCode(code, paramForError, allowEtymLang, allowFamily)
if type(code) ~= "string" then
error("The function getByCode expects a string as its first argument, but received " .. (code == nil and "nil" or "a " .. type(code)) .. ".")
end
local retval = export.makeObject(code, getRawLanguageData(code))
if not retval and allowEtymLang then
retval = require("モジュール:etymology languages").getByCode(code)
end
if not retval and allowFamily then
retval = require("モジュール:families").getByCode(code)
end
if not retval and paramForError then
local codetext = nil
if allowEtymLang and allowFamily then
codetext = "language, etymology language or family code"
elseif allowEtymLang then
codetext = "language or etymology language code"
elseif allowFamily then
codetext = "language or family code"
else
codetext = "language code"
end
export.err(code, paramForError, codetext)
end
return retval
end
function export.getByName(name, errorIfInvalid)
local byName = mw.loadData("モジュール:languages/by name")
local code = byName.all and byName.all[name] or byName[name]
if not code then
if errorIfInvalid then
error("The language name \"" .. name .. "\" is not valid.")
else
return nil
end
end
return export.makeObject(code, getRawLanguageData(code))
end
function export.getByCanonicalName(name, errorIfInvalid, allowEtymLang, allowFamily)
local byName = mw.loadData("モジュール:languages/code to canonical name")
local code = byName and byName[name]
local retval = code and export.makeObject(code, getRawLanguageData(code)) or nil
if not retval and allowEtymLang then
retval = require("モジュール:etymology languages").getByCanonicalName(name)
end
if not retval and allowFamily then
local famname = name:match("^(.*) languages$")
famname = famname or name
retval = require("モジュール:families").getByCanonicalName(famname)
end
if not retval and errorIfInvalid then
local text
if allowEtymLang and allowFamily then
text = "language, etymology language or family name"
elseif allowEtymLang then
text = "language or etymology language name"
elseif allowFamily then
text = "language or family name"
else
text = "language name"
end
error("The " .. text .. " \"" .. name .. "\" is not valid.")
end
return retval
end
function export.iterateAll()
mw.incrementExpensiveFunctionCount()
local m_data = mw.loadData("モジュール:languages/alldata")
local func, t, var = pairs(m_data)
return function()
local code, data = func(t, var)
return export.makeObject(code, data)
end
end
function export.getNonEtymological(lang)
while lang:getType() == "etymology language" do
local parentCode = lang:getParentCode()
lang = export.getByCode(parentCode)
or require("モジュール:etymology languages").getByCode(parentCode)
or require("モジュール:families").getByCode(parentCode)
end
return lang
end
-- "eng" -> "en"
-- "cmn" -> "cmn"
function export.code3_to_code2(code)
return mw.loadData("モジュール:languages/code3 to code2")[code] or code
end
function export.getCanonicalNameByCode(code)
return mw.loadData("モジュール:languages/code to canonical name")[code]
end
function export.getSectionNameByCode(code)
return mw.loadData("モジュール:languages/section names")[code] or mw.loadData("モジュール:languages/code to canonical name")[code]
end
function export.getTranslationNameByCode(code)
return mw.loadData("モジュール:languages/translation names")[code] or mw.loadData("モジュール:languages/code to canonical name")[code]
end
function export.finalizeData(data, type, sort)
return data
end
function export.finalizeData(data, type, sort)
for _, lang in pairs(data) do
if type == "language" and _ ~= "alias" then
if not lang.getFullCode then
lang.getFullCode = lang.getCode or function(self) return self._code or self[1] end
end
end
end
return data
end
if export.Language and export.Language.getCode then
export.Language.getFullCode = export.Language.getCode
end
return export
sxth63078ybfry8wk80ar8xac19os9c
鹿肉
0
132707
2328273
2139497
2026-08-17T02:02:45Z
うーむ
129171
/* 関連語 */
2328273
wikitext
text/x-wiki
{{DEFAULTSORT:しかにく}}
=={{ja}}==
[[category:{{ja}}]]
{{wikipedia}}
==={{noun}}===
[[category:{{ja}}_{{noun}}]]
[[category:{{ja}}_肉]]
'''[[鹿]][[肉]]'''({{要出典範囲|かにく}}、しかにく)
# [[しか|鹿]]の肉。
===={{rel}}====
*[[紅葉]]
*[[ジビエ]]
===={{trans}}====
*{{T|en}}: {{t|en|venison}}
*{{T|zh}}: {{t|zh|鹿肉}}
*{{T|ko}}: {{t|ko|사슴고기}}
=={{zh}}==
{{zh-cat|lu4rou4|noun|肉}}
{{yue-cat|luk6yuk6|noun|肉}}
{{wikipedia|lang=zh}}
==={{pron}}===
{{cmn-pron|lùròu}}
{{yue-pron|luk6 juk6,luk6-2 juk6}}
==={{noun}}===
{{zhchars}}
# [[しか|鹿]]の肉。
9uw276pgv0aybmbbbinwusisuvckkmu
法学者
0
153405
2328175
2320464
2026-08-16T14:12:25Z
鍼灸
112313
2328175
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ほうがくしゃ}}
{{also|法學者}}
=={{ja}}==
==={{noun}}===
{{ja-noun|[[ほうがくしゃ]]}}
#{{タグ|ja|法律|科学者}}[[法学]]を[[研究]]する[[科学者]]。
===={{rel}}====
*[[法学]]
*[[イスラーム法学者]]
===={{trans}}====
{{trans-top}}
*{{en}}: {{t|en|jurist}}
*{{zh}}: [[法學家]]/[[法学家]]
{{trans-bottom}}
80zsv8hew6isir75pybvg8uuxf4wnee
chwila
0
167636
2328236
2290741
2026-08-16T23:27:35Z
Kuroco2k
84207
2328236
wikitext
text/x-wiki
{{also|chwilą}}
=={{L|pl}}==
{{wikipedia|Chwila|lang=pl}}
==={{etym}}===
{{etyl|zlw-opl|pl}} {{m|zlw-opl|chwila}}
==={{pron}}===
{{pl-pr|a=Pl-#.ogg;LL-Q809 (pol)-Olaf-#.wav|mp=#}}
==={{noun}}===
{{pl-noun|f|dim=chwilka|dim2=chwilunia|dim3=chwilusia}}
#[[一瞬]]。{{ふりがな|間|ま}}。
#:{{syn|pl|moment}}
#*{{ux|pl|za chwilę|'''一瞬'''の内に}}
===={{decl}}====
{{pl-decl-noun-f}}
===={{drv}}====
{{rel-top|{{noun}}}}
*{{l|pl|chwilka}} → {{l|pl|chwileczka}}
{{rel-bottom}}
{{rel-top|{{adv}}}}
*{{l|pl|chwilowo}}
{{rel-bottom}}
{{rel-top|{{adjc}}}}
*{{l|pl|chwilowy}}
{{rel-bottom}}
===={{idiom}}====
{{col2|pl|co chwila|lada chwila|od tej chwili|przez chwilę|przed chwilą|z chwilą|po chwili|w danej chwili|w tej chwili}}
===={{seealso}}====
*{{l|pl|czas}}
*{{l|pl|w mig}}
===外部リンク===
*[http://sjp.pwn.pl/szukaj/chwila.html chwila - Słowniki PWN] {{Accessdate|2015-08-20}}
0jllvka0c1z0qlczh67ssrg1o4t7bwz
także
0
174086
2328252
2213372
2026-08-16T23:35:46Z
Kuroco2k
84207
2328252
wikitext
text/x-wiki
{{also|takže}}
=={{L|pl}}==
==={{etym}}===
*{{suffix+|tak|że|lang=pl}}<ref>{{R:pl:Boryś|tak}}</ref>
===={{cogn}}====
{{cog|csb|także}} {{cog|szl|także}} {{cog|sk|takže}} {{cog|cs|takže}} {{cog|ru|та́кже}}
==={{pron}}===
{{pl-pr|a=Pl-także.ogg;LL-Q809 (pol)-Olaf-także.wav|hh=tak że}}
==={{particle}}===
{{head|pl|助詞}}
#…[[も#助詞|も]][[また]]。…も。
#:{{syn|en|takoż|też|również}}
===脚注===
{{Reflist}}
ehfx6u9djew7pzpd5e6isjxktr3a0ae
zdawać sobie sprawę
0
174824
2328246
2193394
2026-08-16T23:33:17Z
Kuroco2k
84207
2328246
wikitext
text/x-wiki
{{DEFAULTSORT:zdawacsobiesprawe zdawaćsobiesprawę}}
=={{L|pl}}==
==={{pron}}===
{{pl-pr|a=LL-Q809 (pol)-Poemat-zdawać sobie sprawę.wav}}
==={{idiom}}===
{{pl-verb|impf|pf=zdać sobie sprawę}}
# [[気付く|気づい]]ている。
#*{{ux|pl|[[nie]] '''zdawać sobie sprawy'''|'''気づいてい'''ない}}
===={{colloc}}====
{{top}}
*{{lang|pl|[[zdawać sobie sprawę]] {{l|pl|z}} ''{{l|pl|coś|czegoś}}''}} - ~に'''気づいている'''
{{bottom}}
8kiy36xit5kvgrx98ek9n8gzog0oshl
zdać sobie sprawę
0
174826
2328248
2193393
2026-08-16T23:33:17Z
Kuroco2k
84207
2328248
wikitext
text/x-wiki
{{DEFAULTSORT:zdacsobiesprawe zdaćsobiesprawę}}
=={{L|pl}}==
==={{pron}}===
{{pl-pr|a=LL-Q809 (pol)-Poemat-zdać sobie sprawę.wav}}
==={{idiom}}===
{{pl-verb|pf|impf=zdawać sobie sprawę}}
#[[気付く]]。
===={{colloc}}====
{{top}}
*{{lang|pl|[[zdać sobie sprawę]] {{l|pl|z}} ''{{l|pl|coś|czegoś}}''}} - ~に'''気づく'''
{{bottom}}
sbn91owdyfm586g88lsotqffp8z0fig
przychodzić
0
179814
2328255
2193437
2026-08-16T23:37:17Z
Kuroco2k
84207
2328255
wikitext
text/x-wiki
{{DEFAULTSORT:przychodzic przychodzić}}
=={{L|pl}}==
==={{etym}}===
*{{etyl|zlw-opl|pl}} {{m|zlw-opl|przychodzić}}
*{{prefix|przy|chodzić|lang=pl}}
==={{pron}}===
{{pl-pr|a=Pl-#.ogg;LL-Q809 (pol)-Olaf-#.wav}}
==={{verb}}===
{{pl-verb|impf|pf=przyjść}}
#{{context|自動詞|[[あるく|歩い]]て|lang=pl}} [[くる|来る]]。
#:{{syn|pl|nadchodzić}}
#:{{ant|pl|odchodzić}}
===={{usage}}====
*[[のりもの|乗り物]]を使う場合には'''''[[przyjeżdżać]]'''''が用いられる傾向にある。また、行き先が[[くに|国]]である場合には'''''[[przybywać]]'''''も用いられる。
===={{conjug}}====
{{pl-conj-impf-vi|przychodzę|przychodzi|przychodzą|przychodził|przychodził|przychodziła|przychodziło|przychodzili|przychodziły|przychodź|przychodzenie|przychodzono}}
===={{drv}}====
*{{l|pl|przychodzić na świat}}
===={{rel}}====
名詞:
*{{l|pl|przychodnia|g=f}}
*{{l|pl|przychód|g=m}}
jip5unbpkmtevj4it7orsrw0fyoi9pg
przyjść
0
179815
2328254
2193436
2026-08-16T23:37:17Z
Kuroco2k
84207
2328254
wikitext
text/x-wiki
{{DEFAULTSORT:przyjsc przyjść}}
=={{pl}}==
==={{alter}}===
*{{alt+|pl|przyść|przyści|przyć|przyjć||中期ポーランド語}}
==={{etym}}===
*{{etyl|zlw-opl|pl}} {{m|zlw-opl|przyjć}}
*{{prefix|przy|iść|lang=pl|sort=jsc}}
==={{pron}}===
{{pl-pr|a=Pl-#.ogg;LL-Q809 (pol)-Olaf-#.wav}}
*{{kanahyoki|pl|プ'''シ'''イシチ}}
==={{verb}}===
{{pl-verb|pf|impf=przychodzić}}
#{{context|自動詞|[[あるく|歩い]]て|lang=pl}} [[くる|来る]]。
#:{{syn|pl|nadejść}}
#:{{ant|pl|odejść}}
===={{usage}}====
*[[のりもの|乗り物]]を使う場合には'''''[[przyjechać]]'''''が用いられる傾向にある。また、行き先が[[くに|国]]である場合には'''''[[przybyć]]'''''も用いられる。
===={{conjug}}====
{{pl-conj-pf-vi|przyjdę|przyjdzie|przyjdą|przyszedł|przyszedł|przyszła|przyszło|przyszli|przyszły|przyjdź|przyszedłszy|przyjście|-}}
===={{drv}}====
名詞:
*{{l|pl|przyjście|g=n}}
fsnsl2nrbwnpoupwd6g4k2ebl7621b6
zdobywać
0
180066
2328233
1549777
2026-08-16T23:21:41Z
Jiba1219
100610
2328233
wikitext
text/x-wiki
{{DEFAULTSORT:zdobywac zdobywać}}
=={{L|pl}}==
==={{pron}}===
* {{IPA|lang=pl|zdɔˈbɨvat͡ɕ}}
===動詞===
{{head|pl|verb|cat2=不完了体|不完了体}} (完了体: [[zdobyć]])
# {{context|他動詞|lang=pl}} [[獲得|獲得する]]。
#* ''[[zdobywać]] [[bramka|bramkę]]'' - 《サッカー》 [[ゴール]][[を#助詞|を]]'''[[きめる|決める]]'''
# {{context|他動詞|lang=pl}} [[征服|征服する]]。
#* {{lang|pl|''[[zdobywać]] {{l|pl|kraj}}''}} - [[領土]]を'''征服する'''
====活用====
{{pl-conj-impf-vt|zdobywam|zdobywa|zdobywają|zdobywał|zdobywał|zdobywała|zdobywało|zdobywali|zdobywały|zdobywaj|zdobywan|zdobywanie}}
====類義語====
共通:
* [[zyskać]], [[uzyskiwać]]
語義2: 〈征服する〉
* [[podbijać]]
====参照====
* [[dostawać]]
djzulf1549fzpo30nkjo7216hl39i5a
zostać
0
180722
2328247
2217709
2026-08-16T23:33:17Z
Kuroco2k
84207
2328247
wikitext
text/x-wiki
{{DEFAULTSORT:zostac zostać}}
=={{L|pl}}==
==={{etym}}===
*{{etyl|zlw-opl|pl}} {{m|zlw-opl|zostać}}
*{{surf|pl|z-|ostać}}
==={{pron}}===
{{pl-pr|zo.|a=Pl-zostać.ogg;LL-Q809 (pol)-Matlin-zostać.wav}}
==={{verb}}===
{{pl-verb|pf|impf=zostawać}}
#{{context|自動詞|又は||reflexive-się|lang=pl}} [[のこる|残る]]。
#:{{syn|pl|pozostać}}
#*{{ux|pl|{{l|pl|nie|Nie}} [[pójść|pójdziesz]] [[dziś]] {{l|pl|do}} [[szkoła|szkoły]], '''zostaniesz''' {{l|pl|w}} [[dom]]u.|今日あなたは学校には行きません、家に'''いる'''のです。}}
#*{{ux|pl|{{l|pl|po|Po}} [[urlop]]ie '''zostało''' {{l|pl|my|nam}} [[trochę]] [[zagraniczny]]ch {{l|pl|moneta|monet}}.|休暇の後、私たちにはわずかばかりの外貨だけが'''残った'''。}}
#{{context|造格名詞を伴って|lang=pl}} ~に[[なる]]。
#:{{syn|pl|[[stać]] się}}
#*{{ux|pl|[[polski|Polski]] [[bokser]] '''został''' [[zwycięzca|zwycięzcą]] [[pojedynek|pojedynku]].|ポーランドのボクサーが対決の勝者と'''なった'''。}}
#{{context|動詞の[[過去形容分詞]]・[[主格]]形を伴って|lang=pl}} ~[[される]]。
#*{{ux|pl|[[wszystkie|Wszystkie]] [[drzewo|drzewa]] w [[park]]u '''zostały''' [[wycięty|wycięte]].|公園内の全ての木が伐り倒された。}}
===={{decl}}====
{{pl-conj-pf-vi|zostanę|zostanie|zostaną|został|został|została|zostało|zostali|zostały|zostań|zostawszy|zostanie|zostano}}
===={{drv}}====
{{rel-top|動詞 (不完了体/完了体)}}
*{{l|pl|pozostawać}} / {{l|pl|pozostać}}
{{rel-bottom}}
===={{rel}}====
{{rel-top|動詞 (不完了体/完了体)}}
*{{l|pl|zostawiać}} / {{l|pl|zostawić}}
{{rel-bottom}}
====参照====
語義3:
*[[dostać się]]
8jzxjh72mei8fgfouo8yjjtwo5m5rb8
続く
0
185613
2328225
1927090
2026-08-16T22:39:08Z
Kuroco2k
84207
2328225
wikitext
text/x-wiki
{{kana-DEFAULTSORT|つづく}}
=={{L|ja}}==
==={{wago}}===
{{ja-wagokanji|つづく}}
#{{wagokanji of|つづく}}
euh5q9v3jr69fctou1jmj4yy1ye8jcz
związek zawodowy
0
216025
2328245
2193400
2026-08-16T23:33:16Z
Kuroco2k
84207
2328245
wikitext
text/x-wiki
=={{L|pl}}==
{{wikipedia|lang=pl}}
==={{pron}}===
{{pl-pr|a=Pl-związek zawodowy.ogg}}
==={{noun}}===
{{pl-noun|m-in}}
#[[労働組合]]。
#*{{uxi|pl|[[niezależny|Niezależny]] [[samorządny|Samorządny]] '''Związek Zawodowy''' „[[solidarność|Solidarność]]”|[[w:独立自主管理労働組合「連帯」|独立自主管理'''労働組合'''「連帯」]]}}
===={{decl}}====
{{pl-decl-noun|związek zawodowy|związki zawodowe|związku zawodowego|związków zawodowych|związkowi zawodowemu|związkom zawodowym|związek zawodowy|związki zawodowe|związkiem zawodowym|związkami zawodowymi|związku zawodowym|związkach zawodowych|związku zawodowy|związki zawodowe}}
kvqjmv2elpnc5dln9n4tcua79dt0sa4
モジュール:qualifier
828
221866
2328215
1872438
2026-08-16T22:13:19Z
Kuroco2k
84207
2328215
Scribunto
text/plain
local export = {}
--[==[
Wrap text in one or more qualifier CSS classes. `suffix` is the suffix describing the type of content, e.g. `brac`
for parens, `content` for content, `comma` for commas. CSS classes <code>ib-<var>suffix</var></code> and
i<code>qualifier-<var>suffix</var></code> are added.
]==]
function export.wrap_qualifier_css(text, suffix)
local css_classes = ("ib-%s qualifier-%s"):format(suffix, suffix)
return export.wrap_css(text, css_classes)
end
function export.format_qualifier(list)
if type(list) ~= "table" then
list = { list }
end
if #list == 0 then
return ''
end
return '<span class="ib-brac qualifier-brac">(</span>' ..
'<span class="ib-content qualifier-content">' ..
table.concat(list, '<span class="ib-comma qualifier-comma">,</span> ') ..
'</span><span class="ib-brac qualifier-brac">)</span>'
end
function export.qualifier_t(frame)
local params = {
[1] = {list = true, required = true},
}
local args = require("Module:parameters").process(frame:getParent().args, params)
local subvarieties = mw.loadData("Module:qualifier/subvarieties")
for i, label in ipairs(args[1]) do
if subvarieties[label] then
require("Module:debug").track("qualifier/subvarieties")
--[[
currently not working:
local lang = subvarieties[label].languages[1]
require("Module:debug").track("qualifier/subvarieties/" .. lang)
]]
end
end
return export.format_qualifier(args[1])
end
function export.sense_t(frame)
local params = {
[1] = {list = true, required = true},
}
local args = require("Module:parameters").process(frame:getParent().args, params)
return export.format_qualifier(args[1])
.. '<span class="ib-colon sense-qualifier-colon">:</span>'
end
function export.gloss_t(frame)
local params = {
[1] = {required = true},
}
local args = require("モジュール:parameters").process(frame:getParent().args, params)
return '<span class="gloss-brac">(</span><span class="gloss-content">' ..
args[1] .. '</span><span class="gloss-brac">)</span>'
end
function export.non_gloss_definition_t(frame)
local params = {
[1] = {required = true},
}
local args = require("モジュール:parameters").process(frame:getParent().args, params)
return '<span class="use-with-mention">' .. require("Module:links").english_links(args[1]) .. '</span>'
end
function export.sense(list) -- keep in sync with [[Template:sense]]
return export.format_qualifier(list)
.. '<span class="ib-colon sense-qualifier-colon">:</span>'
end
return export
45mip7n92lu170q258vmqr3q0mvmnxp
2328216
2328215
2026-08-16T22:13:49Z
Kuroco2k
84207
2328216
Scribunto
text/plain
local export = {}
--[==[
Wrap text in one or more CSS classes. `classes` should be a string; separate multiple classes with a space.
]==]
function export.wrap_css(text, classes)
return ("<span class=\"%s\">%s</span>"):format(classes, text)
end
--[==[
Wrap text in one or more qualifier CSS classes. `suffix` is the suffix describing the type of content, e.g. `brac`
for parens, `content` for content, `comma` for commas. CSS classes <code>ib-<var>suffix</var></code> and
i<code>qualifier-<var>suffix</var></code> are added.
]==]
function export.wrap_qualifier_css(text, suffix)
local css_classes = ("ib-%s qualifier-%s"):format(suffix, suffix)
return export.wrap_css(text, css_classes)
end
function export.format_qualifier(list)
if type(list) ~= "table" then
list = { list }
end
if #list == 0 then
return ''
end
return '<span class="ib-brac qualifier-brac">(</span>' ..
'<span class="ib-content qualifier-content">' ..
table.concat(list, '<span class="ib-comma qualifier-comma">,</span> ') ..
'</span><span class="ib-brac qualifier-brac">)</span>'
end
function export.qualifier_t(frame)
local params = {
[1] = {list = true, required = true},
}
local args = require("Module:parameters").process(frame:getParent().args, params)
local subvarieties = mw.loadData("Module:qualifier/subvarieties")
for i, label in ipairs(args[1]) do
if subvarieties[label] then
require("Module:debug").track("qualifier/subvarieties")
--[[
currently not working:
local lang = subvarieties[label].languages[1]
require("Module:debug").track("qualifier/subvarieties/" .. lang)
]]
end
end
return export.format_qualifier(args[1])
end
function export.sense_t(frame)
local params = {
[1] = {list = true, required = true},
}
local args = require("Module:parameters").process(frame:getParent().args, params)
return export.format_qualifier(args[1])
.. '<span class="ib-colon sense-qualifier-colon">:</span>'
end
function export.gloss_t(frame)
local params = {
[1] = {required = true},
}
local args = require("モジュール:parameters").process(frame:getParent().args, params)
return '<span class="gloss-brac">(</span><span class="gloss-content">' ..
args[1] .. '</span><span class="gloss-brac">)</span>'
end
function export.non_gloss_definition_t(frame)
local params = {
[1] = {required = true},
}
local args = require("モジュール:parameters").process(frame:getParent().args, params)
return '<span class="use-with-mention">' .. require("Module:links").english_links(args[1]) .. '</span>'
end
function export.sense(list) -- keep in sync with [[Template:sense]]
return export.format_qualifier(list)
.. '<span class="ib-colon sense-qualifier-colon">:</span>'
end
return export
kxnuyu4oahqhlgb9gu6r07o9ec27jxz
obowiązek
0
224970
2328219
1550402
2026-08-16T22:19:53Z
Kuroco2k
84207
2328219
wikitext
text/x-wiki
{{DEFAULTSORT:obowiazek obowiązek}}
=={{L|pl}}==
==={{pron}}===
{{pl-p|a=Pl-obowiązek.ogg|mp=obowiązek}}
==={{noun}}===
{{pl-noun|m-in}}(生格・単数: {{l|pl|obowiązku}}<ref name="tp2003">{{R:pl:LPD2003}}</ref><ref>{{R:Sobol1994}}</ref>)
#[[義務]]、[[責務]]。
#:{{syn|pl|powinność|zobowiązanie}}
#*{{uxi|pl|[[ciężki]] [[obowiązek]]''|重い'''責務'''}}
#*{{uxi|pl|[[dopełnić]] '''obowiązku'''''|'''義務'''を果たす}}
#*{{uxi|pl|[[nakładać]] [[obowiązek]]''|'''義務'''を課す}}
#*{{uxi|pl|[[poczuwać się]] {{l|pl|do}} '''obowiązku'''''|強制されていると感じる<ref name="tp2003" />}}
#*{{uxi|pl|''[[spełnić]]''(または ''[[wypełnić]]'') '''''obowiązek'''''|'''義務を'''果たす}}
===={{decl}}====
{{pl-decl-noun-m-in|gens=obowiązku}}
===={{drv}}====
副詞:
*{{l|pl|obowiązkowo}}
形容詞:
*{{l|pl|obowiązkowy}}
===={{rel}}====
形容詞:
* {{l|pl|obowiązany}}
動詞:
*{{l|pl|obowiązywać}}
**{{l|pl|zobowiązywać}} ({{l|pl|zobowiązywać się|się}}) / {{l|pl|zobowiązać}} ({{l|pl|zobowiązać się|się}})
===={{seealso}}====
*{{l|pl|dyżur}}; {{l|pl|odpowiedzialność}}
===脚注===
<references />
phtixip8tb7md39xhyoqu73vvghc4hy
recite
0
227476
2328357
1847629
2026-08-17T11:05:15Z
M-30722
1202
2328357
wikitext
text/x-wiki
{{also|récite|récité|recité}}
=={{L|it}}==
==={{noun}}===
{{head|it|plural|g=f}}
#{{l|it|recita}}の複数形。
=={{L|en}}==
==={{etym}}===
*{{etyl|fro|en}} {{m|fro|reciter}}< {{etyl|la|en}} {{m|la|recitare}}
==={{pron}}===
* {{IPA|ɹɪˈsaɪt|lang=en}}
* {{音声|en|LL-Q1860 (eng)-Vealhurl-recite.wav|a=英}}
==={{verb}}===
{{en-verb|recit|ing}}
#{{タグ|en|transitive}} ~を[[朗読]]する、[[音読]]する、[[暗唱]]する、[[吟ずる]]。
#{{タグ|en|transitive}} ~を[[列挙]]する。
#{{タグ|en|intransitive}} [[朗読]]する、[[音読]]する、[[暗唱]]する。
===={{drv}}====
* [[recitation]]
===={{rel}}====
* {{l|en|recit}}
=={{L|es}}==
==={{verb}}===
{{head|es|verb form}}
# {{es-verb form of|ending=ar|mood=imperative|pers=2|formal=yes|number=singular|recitar}}
# {{es-verb form of|ending=ar|mood=subjunctive|tense=present|pers=1|number=singular|recitar}}
# {{es-verb form of|ending=ar|mood=subjunctive|tense=present|pers=2|formal=yes|number=singular|recitar}}
# {{es-verb form of|ending=ar|mood=subjunctive|tense=present|pers=3|number=singular|recitar}}
=={{L|pt}}==
==={{verb}}===
{{pt-verb-form}}
# {{活用形|recitar||1|s|pres|subj|lang=pt}}
# {{活用形|recitar||3|s|pres|subj|lang=pt}}
# {{活用形|recitar||3|s|impr|lang=pt}}
mkt538klu4gdg29h7gkzjrohjuomdyf
はんだ
0
248413
2328165
1929478
2026-08-16T12:45:16Z
うーむ
129171
/* */
2328165
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|はんた|ばんた|ばんだ|パンダ}}
{{wikipedia}}
=={{L|ja}}==
==={{pron}}===
{{ja-pron|acc=0}}
==={{noun}}===
{{ja-noun}}【[[半]][[田]]、[[盤]][[陀]] いずれも当て字】
#{{context|electronics|alloy|lang=jpn}}[[金属]]の[[接合]]に用いられる[[すず|錫]]と[[なまり|鉛]]を[[主成分]]とする[[合金]]。
===={{rel}}====
*[[はんだごて]]
*[[はんだづけ]]
*[[鉛フリーはんだ]]
===={{trans}}====
{{trans-top}}
*{{T|is}}: {{t|is|lóðmálmur|m}}, {{t|is|lóðtin|n}}, {{t|is|brasmálmur|m}}, {{t|is|loðningarefni|n}}
*{{T|ga}}: {{t|ga|sádar|m}}
*{{T|hy}}: {{t|hy|զոդ}}
*{{T|cy}}: {{t|cy|sodr|m}}
*{{T|en}}: {{t|en|solder}}
*{{T|nl}}: {{t|nl|soldeersel|n}}
*{{T|el}}: {{t|el|συγκολλώ}}
*{{T|gu}}: {{t|gu|રેણ}}
*{{T|es}}: {{t|es|estaño para soldar|m}}, {{t|es|estaño|m}}
*{{T|sh}}: {{t|sh|lem|m}}
*{{T|cs}}: {{t|cs|pájka|f}}
*{{T|zh}}: {{t|cmn|焊料|tr=hànliào|sc=Hani}}
*{{T|ko}}: {{t|ko|땜납|tr=ddaemnap}}
*{{T|da}}: {{t|da|loddemetal|n}}
*{{T|de}}: {{t|de|Lötmetall|n}}, {{t|de|Lot|n}}, {{t|de|Lötdraht|m}}, {{t|de|Lötzinn|n}}
*{{T|tr}}: {{t|tr|lehim}}
*{{T|no}}:
*:{{T|nn}}: {{t|nn|loddemetall|n}}, {{t|nn|loddetråd|m}}
*:{{T|nb}}: {{t|nb|loddemetall|n}}, {{t|nb|loddetråd}}
*{{T|fi}}: {{t|fi|juote}}, {{t|fi|juotosmetalli}}, {{t|fi|juotostina}}
*{{T|fr}}: {{t|fr|soudure|f}}
*{{T|fa}}: {{t|fa|لحیم|tr=lahim|sc=fa-Arab}}
*{{T|pl}}: {{t|pl|cyna|f}}, {{t|pl|spoiwo lutownicze|n}} (公式), {{t|pl|lut|m}}
*{{T|pt}}: {{t|pt|solda|f}}
*{{T|lv}}: {{t|lv|lode|f}}
*{{T|ru}}: {{t|ru|припой|m}}
{{trans-bottom}}
gygrskow375xx5r91z5qnjskszzj2sw
群を抜く
0
265853
2328338
1499594
2026-08-17T10:42:39Z
Maraschino Cherry
93381
/* 註 */
2328338
wikitext
text/x-wiki
{{DEFAULTSORT:くんをぬく}}
=={{ja}}==
[[Category:{{ja}}]]
===連語===
[[Category:{{ja}}_連語]]
'''[[群]][[を]][[ぬく|抜く]]'''(ぐんをぬく)
#[[ほか|他]]と[[くらべる|比べ]]て[[突出]]して[[すぐれる|優れる]]。
#*その当時、他にも相当の女形がないではなかったが、源之助の人気は'''群を抜い'''ていた。(岡本綺堂「源之助の一生」)〔1936年〕<ref>青空文庫(2008年11月29日作成)(底本:「岡本綺堂随筆集」岩波文庫、岩波書店、2008年5月23日第4刷)https://www.aozora.gr.jp/cards/000082/files/49551_33614.html 2019年4月18日参照。</ref>
#*無釉陶の中でも、'''群を抜い'''て美しいのが、この備前焼である。(北大路魯山人「備前焼」)〔1953年〕<ref>青空文庫(2018年2月25日作成)(底本:「魯山人陶説」中公文庫、中央公論新社、2008年11月25日12刷)https://www.aozora.gr.jp/cards/001403/files/55084_64135.html 2019年4月18日参照。</ref>
===={{syn}}====
*[[抜群]]
*[[とびぬける]]、[[ずばぬける]]、[[ぬきんでる]]
===註===
<references/>
67e4a6vxkb1uao74ixql9n7zv0fz18d
ほうがく
0
322709
2328174
2107287
2026-08-16T14:11:10Z
鍼灸
112313
2328174
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|ほうかく}}
=={{ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[法学]]】:[[法律]]についての[[学問]]。
*【[[方角]]】:[[方向]]、[[方位]]。
*【[[邦楽]]】:[[日本]][[古来]]の[[音楽]]。
*【[[放学]]】:[[学籍]]の[[除籍]][[処分]]。
*【[[蜂学]]】:[[はち|蜂]]について研究する[[昆虫学]]の一種。
24oe99682uajh84xml6rq3h660rgyow
肉弾
0
340404
2328298
2213442
2026-08-17T03:22:43Z
うーむ
129171
/* 関連語 */
2328298
wikitext
text/x-wiki
{{kana-DEFAULTSORT|にくだん}}
{{wikipedia}}
=={{ja}}==
==={{noun}}===
{{ja-noun|にくだん}}
#{{タグ|ja|軍事}}[[兵士]]の[[肉体]]を[[弾丸]]の代わりとして、[[敵陣]]に[[突入]]すること。
#{{タグ|ja|性行為}}主に[[性的]]な工作のために肉体を用いること。
===={{etym}}====
[[明治]]期の[[w:櫻井忠温|櫻井忠温]]の[[小説]]の題名から。
===={{rel}}====
*[[肉弾戦]]
*[[特別攻撃]]([[特攻]])
**[[特別攻撃隊]]([[特攻隊]])
*[[自爆テロ]]
7sllm78risnm0rwhi4ib6xpnmc1azvz
はんぺん
0
343983
2328354
1934401
2026-08-17T10:58:27Z
うーむ
129171
/* */
2328354
wikitext
text/x-wiki
{{also|はんべん|ばんぺん}}
=={{ja}}==
[[Category:{{ja}}]]
{{kana-DEFAULTSORT}}
{{wikipedia|半片}}
==={{noun}}===
[[Category:{{ja}}_{{noun}}]]
'''はんぺん'''【[[半片]]、[[半平]]】
#[[魚類]]の[[肉]]の[[すりみ|すり身]]に[[やまのいも|山の芋]]などを[[くわえる|加え]]、[[ねる|練っ]]て、[[むす|蒸し]]たもの。
[[Category:{{ja}} 食品]]
===={{rel}}====
*[[ねりもの]]
0n7dy89wr2s4pitah8xu45wc3wi9lvs
じょうせい
0
346217
2328305
1935514
2026-08-17T03:42:24Z
うーむ
129171
/* 日本語 */
2328305
wikitext
text/x-wiki
{{also|しょうせい}}
{{kana-DEFAULTSORT}}
=={{ja}}==
==={{homonym}}===
{{head|ja|同音異義}}
*【[[上世]]】[[おおむかし]]。
*【[[情勢]]】[[変化]]していく[[物事]]の、その[[時々]]の[[状態]]や、[[近い]][[将来]]に[[予想]]されるなりゆき。
*【[[醸成]]】[[発酵]]により[[酒]]や[[醤油]]や[[味噌]]を[[つくる|造る]]こと。
8ulnm407deb8f0rrr20ckj87ay3thq5
托生
0
350335
2328370
1647607
2026-08-17T11:30:11Z
うーむ
129171
/* 日本語 */
2328370
wikitext
text/x-wiki
{{DEFAULTSORT:たくしよう たくしょう 托生}}
=={{ja}}==
[[category:{{ja}}]]
==={{alter}}===
*[[託生]]
==={{noun}}===
[[category:{{ja}} {{noun}}]]
{{jachars}} (たくしょう、たくせい)
#他のものにたよって生存すること。
#[[寄生]]。
#*{{ruby|'''托生'''蘭|たくせいらん}}、{{ruby|石松類|なんかくらんるい}}等に奇物多し。([[w:南方熊楠|南方熊楠]] 『神社合祀に関する意見』)
#*十一年前予紀州西牟婁郡朝来沼で丁斑魚にミクソネマ・テヌエてふ[[緑藻]]が'''託生'''せるを見出したが三、四年経てアイルランドで同じ藻が金魚に著きいるを見出した人があった。([[w:南方熊楠|南方熊楠]] 『十二支考 虎に関する史話と伝説民俗』)
#[[輪廻]]して生まれ変わる。
#*[[三位一体|三位一體]]、[[本地垂迹]]のやうな説は、[[宗教]]の[[常套]]であるが、此意味に於て、元始天尊と老子とは別なものとされながら又一方には老子は榑桑太常玉帝天宮に開冥賢劫の時に'''託生'''して、無極太上大道君とも曰ひ、最上至眞正一眞人とも云ひ、無上虚皇元始天尊とも云ひ、何億年を教主として人を度し世を濟つたともされてゐるのである。([[w:幸田露伴|幸田露伴]] 『道教に就いて』)
====由来====
[[category:由来 荘子]]
*『[[w:荘子|荘子]]』「託生與民並行,而不知其所之。」より。
===={{prov}}====
*[[一蓮托生]]
----
=={{zh}}==
[[category:{{zh}}|tuo1sheng1]]
==={{alter}}===
*託生
==={{verb}}===
[[category:{{zh}} {{verb}}|tuo1sheng1]]
{{zhchars}} ({{unicode|tuōshēng}})
#[[寄生]]する。
#[[輪廻]]して生まれ変わる。
q3ohbqlsugzp0t18qbrzrbzitv3pf4k
自爆
0
356558
2328299
1938301
2026-08-17T03:27:15Z
うーむ
129171
/* 日本語 */
2328299
wikitext
text/x-wiki
=={{ja}}==
[[Category:{{ja}}]]
{{kana-DEFAULTSORT|じばく}}
==={{noun}}===
[[Category:{{ja}}_{{noun}}]]
[[Category:{{ja}}_{{noun}}_サ変動詞]]
{{jachar|自|爆}}([[じばく]])
#[[戦況]]などにより[[みずから|自ら]]がのっている[[艦艇]]や[[飛行機]]を[[爆砕]]すること。
#{{context|slang|lang=ja}}[[自分]]がした[[行為]]により自分が破滅的な[[被害]]を受けること。
===={{prov}}====
*[[自爆テロ]]
==={{verb}}===
[[Category:{{ja}} {{verb}}]]
{{日本語サ変活用}}
bsrilzxm257ji45b61sj3fs9ehyfegr
ばんか
0
385731
2328330
2271095
2026-08-17T09:56:53Z
うーむ
129171
/* 日本語 */
2328330
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|はんか|はんが}}
=={{ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[万化]]】さまざまに変化すること。
*【[[晩夏]]】夏の終わり頃。
*【[[挽歌]]】哀傷歌。
*【[[蕃茄]]】トマトの異称。
*【[[晩霞]]】夕焼け。
j9sf9gxy6wz3aom98zoui7m6516p82e
特攻
0
402341
2328296
1953859
2026-08-17T03:19:06Z
うーむ
129171
2328296
wikitext
text/x-wiki
=={{ja}}==
{{kana-DEFAULTSORT|とっこう}}
{{ja-kanjitab|とく|k1=とっ|こう}}
==={{noun}}===
{{ja-noun|[[とっこう]]}}
#{{タグ|ja|略語}}[[特別攻撃]]の略。[[特別]]に[[編成]]した[[部隊]]で攻撃すること。特に、[[第二次世界大戦]]中に日本軍がとった敵軍へ[[体当たり]]して[[自爆]]するような[[作戦]]。
#{{context|figuratively|lang=ja}}[[失敗]]を[[覚悟]]で突き進むこと。当たって砕けること。
==={{verb}}===
{{ja-verb-suru|とっこう}}
{{日本語サ変活用}}
k9gig0mpci8phds8c7ex6bx15ufdkq1
2328297
2328296
2026-08-17T03:20:04Z
うーむ
129171
/* 日本語 */
2328297
wikitext
text/x-wiki
=={{ja}}==
{{kana-DEFAULTSORT|とっこう}}
{{ja-kanjitab|とく|k1=とっ|こう}}
==={{noun}}===
{{ja-noun|[[とっこう]]}}
#{{タグ|ja|略語}}[[特別攻撃]]の略。[[特別]]に[[編成]]した[[部隊]]で攻撃すること。特に、[[第二次世界大戦]]中に日本軍がとった敵軍へ[[体当たり]]して[[自爆]]するような[[作戦]]。
#{{context|figuratively|lang=ja}}[[失敗]]を[[覚悟]]で突き進むこと。当たって砕けること。
==={{verb}}===
{{ja-verb-suru|とっこう}}
{{日本語サ変活用}}
===={{rel}}====
*[[特攻隊]]
hgzxsa4x4ct7t971hjxhycflav9cihb
眠り薬
0
403377
2328206
1954219
2026-08-16T21:36:41Z
Kuroco2k
84207
2328206
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ねむりぐすり}}
=={{L|ja}}==
==={{wago}}===
{{ja-wagokanji|ねむりぐすり}}
#{{wagokanji of|ねむりぐすり}}
0wv242tcwbw9vjq09rf7b3j32wme1dj
𢺵
0
444860
2328306
2189520
2026-08-17T03:52:44Z
ふゆくれ
95641
2328306
wikitext
text/x-wiki
==漢字==
{{kanji|支|2}}
{{kanji variants|歧=字義3}}
===字源===
*[[形声文字|形声]]。「[[匕]]」+[[音符]]「[[支]] {{phoneme|*KE}}<ref group="字源" name="上古音">{{R:och:GYXSK}}</ref>」。
{{字源}}
<references group="字源"/>
===字義===
#(qì) 傾く。
#(qǐ) 仰ぐ。首を後ろに反らした様子。
#(qí) 「[[歧]]」の[[異体字]](『正字通』掲載)。
=={{L|ja}}==
{{ja-kanji|音=キ|訓=かたむ-く<かたぶ-く|古訓=ちまた,くまた,たかし;{{w|篇立}}}}
===参考文献===
{{書誌・コトバンク|word=きかたむく|head={{PAGENAME}}|author=普及版 {{w|字通}}|accessdate=2026-08-17}}
=={{L|zh}}==
{{zh-cat|qi4}}
{{och-cat|kheh}}
{{zh-han|m=qì,qǐ,qí}}
**'''[[上古音]]''':
***'''布之道''': /*kʰeh/
=={{コード}}==
{{文字コード|mj={{mjmoji|037183}}|cns=4-2277|全={{全字庫|270967}}}}
{{検字|倉頡=PJE}}
{{字典|諸橋=13062|康煕=0467.040|hdz=21328.010|広韻=348.31|vt=A02071-004/C04540}}
i0uzvaw33vy8nd45vr5y64nir9ktmfg
テンプレート:pl-pronunciation
10
462708
2328227
1887824
2026-08-16T23:09:51Z
Kuroco2k
84207
[[テンプレート:pl-p]]への転送ページ
2328227
wikitext
text/x-wiki
#REDIRECT [[テンプレート:pl-p]]
pedzhyq2737eqp7xu59g86m4sbx2lqr
テンプレート:pl-p
10
462892
2328213
1888095
2026-08-16T22:10:26Z
Kuroco2k
84207
アップデートしてあまりにエラー出る用なら考える
2328213
wikitext
text/x-wiki
{{#invoke:zlw-lch-IPA|show|lang=pl}}<!--
--><noinclude>{{documentation}}[[カテゴリ:{{pl}}_発音テンプレート]]</noinclude>
30la45bsb3ar254iour6pa2ahykmm8z
ボルネオ
0
465155
2328286
1972664
2026-08-17T02:34:26Z
鍼灸
112313
2328286
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{wikipedia|ボルネオ島}}
=={{L|ja}}==
==={{etym}}===
{{bor|ja|en|Borneo}}
==={{name}}===
{{ja-proper noun}}
#{{context|place|island|lang=ja}} [[東南アジア]]にあり、[[インドネシア]]と[[ブルネイ]]と[[マレーシア]]に跨る[[世界]]で3番目に大きな島。
====別表記====
特記の無いものは当て字。
*[[婆羅]]
*[[浡泥]]
*[[保留根尾]]
*[[カリマンタン]](インドネシア語での呼称)
c1r3gk9qlq09v7di4ay2o17wbme6fqd
Azerbejdżan
0
473524
2328223
1913910
2026-08-16T22:31:08Z
Kuroco2k
84207
/* {{pron}} */
2328223
wikitext
text/x-wiki
{{DEFAULTSORT:azerbejdzan}}
{{also|Azerbejdžan}}
=={{L|csb}}==
==={{name}}===
{{csb-proper noun|m-in}}
#{{context|アジアの国|lang=csb}}[[アゼルバイジャン]]。
----
=={{L|pl}}==
==={{etym}}===
{{etyl|fa|pl}} {{m|fa|آذربایجان|tr=âzarbâyjân}}
==={{pron}}===
{{pl-p|#,Azerbej'dżan|a=Pl-#.ogg}}
==={{name}}===
{{head|pl|name|g=m}}
#{{context|アジアの国|lang=pl}}[[アゼルバイジャン]]。
{{pl-decl-noun|Azerbejdżan|Azerbejdżany|Azerbejdżanu|Azerbejdżanów|Azerbejdżanowi|Azerbejdżanom|Azerbejdżan|Azerbejdżany|Azerbejdżanem|Azerbejdżanami|Azerbejdżanie|Azerbejdżanach|Azerbejdżanie|Azerbejdżany}}
===={{drv}}====
* (形容詞) {{l|pl|azerski}}, {{l|pl|azerbejdżański}}
* (名詞) {{l|pl|Azerbejdżanin}}, {{l|pl|Azerbejdżanka}}, {{l|pl|Azer}}, {{l|pl|Azerka}}
199z580cx67i0q28h4rp5kb8r71zrsm
テンプレート:zlw-slv-pr
10
480619
2328210
2323366
2026-08-16T22:05:59Z
Kuroco2k
84207
2328210
wikitext
text/x-wiki
{{#invoke:zlw-lch-IPA|show|lang=zlw-slv}}<!--
--><noinclude>[[カテゴリ:{{zlw-slv}}_テンプレート]]{{documentation}}</noinclude>
ibk5m0uppd1z1h5abjaje2shjjfjwrc
モジュール:zlw-lch-IPA
828
480620
2328207
2323365
2026-08-16T21:42:57Z
Kuroco2k
84207
[[:en:Module:zlw-lch-IPA]]から更新
2328207
Scribunto
text/plain
local export = {}
local m_str_utils = require("Module:string utilities")
local m_table = require("Module:table")
local audio_module = "Module:audio"
local links_module = "Module:links"
local parse_utilities_module = "Module:parse utilities"
local u = m_str_utils.char
local rfind = m_str_utils.find
local rmatch = m_str_utils.match
local rsplit = m_str_utils.split
local rsubn = m_str_utils.gsub
local ulen = m_str_utils.len
local ulower = m_str_utils.lower
local uupper = mw.ustring.upper
local usub = mw.ustring.sub
local OVERTIE = u(0x361) -- COMBINING DOUBLE INVERTED BREVE
local vowels = "aãăɒeɛɜəɘiĭɨɪoõŏɔɞɵuŭʉy"
-- In cases where there are two possible stresses (e.g. in words ending in -ika/-yka), we put ALTSTRESS where both
-- stresses can go, and handle this later in multiword().
local ALTSTRESS = u(0xFFF0)
-- Lect data later retrieved in the module.
local lectdata
-- FIXME: Implement optional assimilation across word boundaries.
local assimilate_across_word_boundaries = false
local function track(page)
require("Module:debug/track")("zlw-lch-IPA/" .. page)
return true
end
-- Version of rsubn() that discards all but the first return value.
local function rsub(term, foo, bar)
local retval = rsubn(term, foo, bar)
return retval
end
-- apply rsub() repeatedly until no change
local function rsub_repeatedly(term, foo, bar)
while true do
local new_term = rsub(term, foo, bar)
if new_term == term then
return term
end
term = new_term
end
end
-- Flat-map a function `fun` over `items`. This is like `map` over a sequence followed by `flatten`, i.e. the function
-- must itself return a sequence and all of the returned sequences are flattened into a single sequence.
local function flatmap(items, fun)
local new = {}
for _, item in ipairs(items) do
local results = fun(item)
for _, result in ipairs(results) do
m_table.insertIfNot(new, result)
end
end
return new
end
local function generate_obj(respelling)
return {respelling = respelling}
end
-- Combine two sets of qualifiers, either of which may be nil or a list of qualifiers. Remove duplicate qualifiers.
-- Return value is nil or a list of qualifiers.
local function combine_qualifiers(qual1, qual2)
if not qual1 then
return qual2
end
if not qual2 then
return qual1
end
local qualifiers = m_table.deepCopy(qual1)
for _, qual in ipairs(qual2) do
m_table.insertIfNot(qualifiers, qual)
end
return qualifiers
end
local function split_on_comma(term)
if not term then
return nil
end
if term:find(",%s") or term:find("\\") then
return require(parse_utilities_module).split_on_comma(term)
else
return rsplit(term, ",")
end
end
-- Remove any HTML from the formatted text and resolve links, since the extra characters don't contribute to the
-- displayed length.
local function convert_to_raw_text(text)
text = rsub(text, "<.->", "")
if text:find("%[%[") then
text = require(links_module).remove_links(text)
end
return text
end
-- Return the approximate displayed length in characters.
local function textual_len(text)
return ulen(convert_to_raw_text(text))
end
local function parse_respellings_with_modifiers(respelling, paramname)
if respelling:find("[<%[]") then
local put = require(parse_utilities_module)
-- Parse balanced segment runs involving either [...] (substitution notation) or <...> (inline modifiers).
-- We do this because we don't want commas inside of square or angle brackets to count as respelling
-- delimiters. However, we need to rejoin square-bracketed segments with nearby ones after splitting
-- alternating runs on comma. For example, if we are given
-- "a[x]a<q:learned>,[vol:vôl,ks]<q:nonstandard>", after calling
-- parse_multi_delimiter_balanced_segment_run() we get the following output:
--
-- {"a", "[x]", "a", "<q:learned>", ",", "[vol:vôl,ks]", "", "<q:nonstandard>", ""}
--
-- After calling split_alternating_runs(), we get the following:
--
-- {{"a", "[x]", "a", "<q:learned>", ""}, {"", "[vol:vôl,ks]", "", "<q:nonstandard>", ""}}
--
-- We need to rejoin stuff on either side of the square-bracketed portions.
local segments = put.parse_multi_delimiter_balanced_segment_run(respelling, {{"<", ">"}, {"[", "]"}})
local comma_separated_groups = put.split_alternating_runs_on_comma(segments)
-- Process each value.
local retval = {}
for _, group in ipairs(comma_separated_groups) do
-- Rejoin runs that don't involve <...>.
local j = 2
while j <= #group do
if not group[j]:find("^<.*>$") then
group[j - 1] = group[j - 1] .. group[j] .. group[j + 1]
table.remove(group, j)
table.remove(group, j)
else
j = j + 2
end
end
local param_mods = {
q = {type = "qualifier"},
qq = {type = "qualifier"},
a = {type = "labels"},
aa = {type = "labels"},
ref = {item_dest = "refs", type = "references"},
}
table.insert(retval, put.parse_inline_modifiers_from_segments {
group = group,
arg = respelling,
props = {
paramname = paramname,
param_mods = param_mods,
generate_obj = generate_obj,
},
})
end
return retval
else
local retval = {}
for _, item in ipairs(split_on_comma(respelling)) do
table.insert(retval, generate_obj(item))
end
return retval
end
end
-- Parse a pronunciation modifier in `arg`, the argument portion in an inline modifier (after the prefix), which
-- specifies a pronunciation property such as rhyme, hyphenation/syllabification, homophones or audio. The argument
-- can itself have inline modifiers, e.g. <audio:Foo.ogg<a:Masovia>>. The allowed inline modifiers are specified
-- by `param_mods` (of the format expected by `parse_inline_modifiers()`); in addition to any modifiers specified
-- there, the modifiers <q:...>, <qq:...>, <a:...>, <aa:...> and <ref:...> are always accepted. `generate_obj` and
-- `parse_err` are like in `parse_inline_modifiers()` and specify respectively a function to generate the object into
-- which modifier properties are stored given the non-modifier part of the argument, and a function to generate an error
-- message (given the message). Normally, a comma-separated list of pronunciation properties is accepted and parsed,
-- where each element in the list can have its own inline modifiers and where no spaces are allowed next to the commas
-- in order for them to be recognized as separators. This can be overridden with `splitchar` (which can actually be a
-- Lua pattern). The return value is a list of property objects.
local function parse_pron_modifier(arg, paramname, generate_obj, param_mods, splitchar)
splitchar = splitchar or ","
if arg:find("<") then
param_mods.q = {type = "qualifier"}
param_mods.qq = {type = "qualifier"}
param_mods.a = {type = "labels"}
param_mods.aa = {type = "labels"}
param_mods.ref = {item_dest = "refs", type = "references"}
return require(parse_utilities_module).parse_inline_modifiers(arg, {
param_mods = param_mods,
generate_obj = generate_obj,
paramname = paramname,
splitchar = splitchar,
})
else
local retval = {}
local split_arg = splitchar == "," and split_on_comma(arg) or rsplit(arg, splitchar)
for _, term in ipairs(split_arg) do
table.insert(retval, generate_obj(term))
end
return retval
end
end
local function parse_audio(lang, arg, pagename, paramname)
local param_mods = {
IPA = {
sublist = true,
},
text = {},
t = {
item_dest = "gloss",
},
-- No tr=, ts=, or sc=; doesn't make sense for Polish.
gloss = {},
pos = {},
-- No alt=; text= already goes in alt=.
lit = {},
-- No id=; text= already goes in alt= and isn't normally linked.
g = {
item_dest = "genders",
sublist = true,
},
bad = {},
cap = {
item_dest = "caption",
},
}
local function process_special_chars(val)
if not val then
return val
end
return (val:gsub("[#~]", {
["#"] = pagename,
["~"] = pagename .. " się",
}))
end
local function generate_audio_obj(arg)
return {file = process_special_chars(arg)}
end
-- Split on semicolon instead of comma because some filenames have embedded commas not followed by a space
-- (typically followed by an underscore).
local retvals = parse_pron_modifier(arg, paramname, generate_audio_obj, param_mods, "%s*;%s*")
for _, retval in ipairs(retvals) do
retval.lang = lang
retval.text = process_special_chars(retval.text)
retval.caption = process_special_chars(retval.caption)
local textobj = require(audio_module).construct_audio_textobj(retval)
retval.text = textobj
-- Set to nil the fields that were moved into `retval.text`.
retval.gloss = nil
retval.pos = nil
retval.lit = nil
retval.genders = nil
end
return retvals
end
local function parse_homophones(arg, paramname)
local function generate_obj(term)
return {term = term}
end
local param_mods = {
t = {
-- [[Module:links]] expects the gloss in "gloss".
item_dest = "gloss",
},
gloss = {},
-- No tr=, ts=, or sc=; doesn't make sense for Polish.
pos = {},
alt = {},
lit = {},
id = {},
g = {
-- [[Module:links]] expects the genders in "genders".
item_dest = "genders",
sublist = true,
},
}
return parse_pron_modifier(arg, paramname, generate_obj, param_mods)
end
--[=[
Given a single word in `txt`, compute its "lightly phonetic" IPA representation. If there are multiple possible outputs
(e.g. because of -yka/-ika words or words with clitics such as -by- or -śmy/-ście), we signal this through special
symbols such as ALTSTRESS or capital letters (on input, capital letters have been lowercased so we can use capital
letters as special symbols). The actual generation of multiple outputs happens in multiword() after the full term's IPA
has been generated. Return two values: the IPA representation and the hyphenation.
]=]
local function single_word(data)
local txt, lang, lect = data.txt, data.lang, data.lect
local is_pagename = txt == data.pagename
-- This is the number of syllables before the penultimate syllable onto which to add the stress.
local penultimate_offset = 0
local is_prefix = not not txt:find("%-$")
local is_suffix = not not txt:find("^%-")
local unstressed = data.is_prep or is_prefix
-- If penultimate_offset > 0, add a second stress onto the penult.
local double_stress = false
function tsub(s, r)
local c
txt, c = rsubn(txt, s, r)
return c > 0
end
function tsub_repeatedly(s, r)
txt = rsub_repeatedly(txt, s, r)
end
function lg(s) return s[lang] or s[1] end
function tfind(s) return rfind(txt, s) end
-- ⟨Å⟩ is allowed for Standard Kurpian only.
if tfind("[Åå]") and not (lang == "pl" and lect == "skur") then
error("Please replace å with á")
end
-- Save indices of uppercase characters before setting everything lowercase.
local uppercase_indices
uppercase_indices = {}
local capitals = ("[A-Z%s]"):format(lg {
pl = "ĄĆĘŁŃÓŚŹŻ" --[[and the dialectal]] .. "ÁÅÉËÏÔÛÝ" --[[and the MPl]] .. "ḾṔẂ",
szl = "ÃĆŁŃŌŎÔÕŚŹŻ",
csb = "ÔÒÃËÙÉÓĄŚŁŻŹĆŃ",
["zlw-slv"] = "ÃÉËÊÓÕÔÚÙŃŻ",
})
if tfind(capitals) then
local i = 1
local str = rsub(txt, "[.\"'^*+&]", "")
while rfind(str, capitals, i) do
local r, _ = rfind(str, capitals, i)
table.insert(uppercase_indices, r)
i = r + 1
end
end
if #uppercase_indices == 0 then
uppercase_indices = nil
end
txt = ulower(txt)
-- Replace digraphs with single capital letters to simplify the code below.
tsub("[crsd][hzżź]", {
cz = "C",
rz = "R",
sz = "S",
dz = "D",
ch = "H",
["dż"] = "Ż",
["dź"] = "Ź",
})
if lect == "mpl" then
tsub("b́", "B")
end
if lang == "zlw-slv" then
tsub("gh", "G")
tsub("y̆", "Y")
end
local function undo_digraph_replacement(txt)
return rsub(txt, "[CRSDHŻŹBG]", {
C = "cz",
R = "rz",
S = "sz",
D = "dz",
H = "ch",
["Ż"] = "dż",
["Ź"] = "dź",
B = "b́",
G = "gh",
Y = "y̆",
})
end
-- Vowels, both spelled and IPA vowels. To make the distinction easier, we separate the IPA-only vowels and
-- concatenate them at the end. For Polish, we additionally separate the spelled Middle Polish vowels.
local V_no_IU = lg {
pl = "aąeęioóuy" .. "áåéëïôûý" .. "ɛɔɘ",
szl = "aãeéioōŏôõuy" .. "ɛɔɪ",
csb = "aãąeéëioôòóuùy" .. "ɛɜɔõɞ",
-- NOTE: DO NOT include ɔ̃ here because it's not a single Unicode character.
["zlw-slv"] = "aãāăeéëêEiĭoóõôŏuúùŭŭùyY" .. "ɛɪɔɵʉə",
}
local V = V_no_IU .. "IU"
local C = ("[^%sU.'\"]"):format(V_no_IU)
if txt:find("^%*") then
-- The symbol <*> before a word indicates it is unstressed.
unstressed = true
txt = txt:sub(2)
elseif txt:find("^%^+") then
-- The symbol <^> before a word indicates it is stressed on the antepenult,
-- <^^> on the ante-antepenult, etc.
penultimate_offset = txt:match("^(%^+)"):len()
txt = txt:sub(penultimate_offset + 1)
elseif txt:find("^&+") then
-- The symbol <&> before a word indicates it has double stress on both the antepenult (prescriptive) and on
-- the penult (colloquial); <&&> is similar but for ante-antepenult and penult, etc.
penultimate_offset = txt:match("^(&+)"):len()
txt = txt:sub(penultimate_offset + 1)
double_stress = true
elseif txt:find("^%+") then
-- The symbol <+> indicates the word is stressed regularly on the penult. This is useful
-- for avoiding the following checks to come into place.
txt = txt:sub(2)
else
if tfind(".+[łlb][iy]") then -- this first check is an optimization only
-- Some words endings trigger stress on the antepenult or ante-antepenult regularly.
if tfind("łybyśmy$") or tfind("libyśmy$") or tfind("łybyście$") or tfind("libyście$") then
penultimate_offset = 2
elseif tfind("ł[aoy]?by[mś]?$") or tfind("liby[mś]?$") then
penultimate_offset = 1
elseif tfind("łyśmy$") or tfind("liśmy$") or tfind("łyście$") or tfind("liście$") then
penultimate_offset = 1
double_stress = true
end
end
-- FIXME, is the following correct?
if lect == "mpl" then
if tfind(".+[yi]j.+") then
local endings = { "[ąáéo]", "[ée]j", "[áo]m", "ach" }
for _, v in ipairs(endings) do
if tfind(("[yi]j%s$"):format(v)) then
penultimate_offset = 1
-- FIXME: correct?
-- double_stress = true
end
end
end
end
end
-- TODO: mpl, csb, szl, zlw-slv
-- Syllabify common prefixes as separate; note that since we replaced digraphs above with single
-- chars, we need to use the replacement chars here. Longer prefixes must precede shorter subprefixes,
-- e.g. niedo- must precede nie- for the former to be recognized.
local prefixes = {
'a"?ero', '"?anty', '"?arcy', "bez",
"Ctero", "ćwierć", "dwu", "mało", "niby", "niedo", "nie",
"[pt]Ry", "pRed?", "roze?", "wielo", "współ", "wy",
-- <do-, na-, po-, o-, u-> would hit too many false positives
}
for _, prefix in ipairs(prefixes) do
if tfind("^" .. prefix) then
-- Make sure the suffix is followed by zero or more consonants (including - but not
-- including a syllable divider) followed by a vowel. We do this so that we don't put
-- a syllable divider when the user specified the divider in a different place.
tsub(("^(%s)(%s*[%s])"):format(prefix, C, V), "%1.%2")
break
end
end
-- syllabify common suffixes as separate
local suffixes = lg {
pl = {
"nąć",
"[sc]tw[aou]", "[sc]twie", "[sc]tw[eo]m", "[sc]twami", "[sc]twach",
"dztw[aou]", "dztwie", "dztw[eo]m", "dztwami", "dztwach",
"dł[aou]", "dł[eo]m", "dłami", "dłach",
"[czs]j[aeięąo]", "[czs]jom", "[czs]jami", "[czs]jach",
}, szl = {
"nōńć", "dło",
}, csb = {
"nąc", "dło"
}, ["zlw-slv"] = {
"nõc", "dlô"
},
}
for _, v in ipairs(suffixes) do
-- Make sure there's no syllable divider elsewhere in the consonant cluster
-- preceding the suffix. Same logic as above for prefixes.
if tsub(("([%s]%s*)(%s)$"):format(V, C, v), "%1.%2") then break end
end
-- Syllabify <-Ctka> as /Ct.ka/, e.g. in [[-istka]], [[haftka]], [[adiunktka]], [[abiturientka]], [[ćwiartka]],
-- [[adeptka]], etc. Same for any case form.
local C_before_t = "łrnfskp"
if tfind(("[%s][%s]+t[kc]"):format(V, C_before_t)) then
local endings = lg {
-- As with prefixes above, must use digraph replacement codes.
{ "k[aąęio]", "ce", "kaH", "kom", "kami" },
szl = { "k[aãio]", "ce", "kami", "kacj", "kacaH", "kōma" },
csb = { "k[aãąioôòùó]", "ce", "kami", "kacj", "kacaH", },
}
for _, ending in ipairs(endings) do
-- Make sure there's no syllable divider elsewhere in the consonant cluster
-- preceding the suffix. Same logic as above for prefixes.
if tsub(("([%s][%s]+t)(%s)$"):format(V, C_before_t, ending), "%1.%2") then
break
end
end
end
if lang == "pl" then
-- FIXME: Add support for other languages and lects.
-- Syllabify <-Ctny> as /Ct.ny/, and <-Ctnik> as <Ct.nik>; same for any case form.
if tfind(("[%s][%s]+tn"):format(V, C_before_t)) then
local endings = lg {
-- As with prefixes above, must use digraph replacement codes.
-- -ny
{
"n[yaeią]", "nego", "nej", "nyH", "nemu", "nymi?",
-- -nik, -nica
"nik[aui]?", "nikowi", "nikiem", "ników", "ni[kc]om", "ni[kc]ami", "ni[kc]aH", "nic[ayeęąo]?",
}
}
for _, ending in ipairs(endings) do
-- Make sure there's no syllable divider elsewhere in the consonant cluster
-- preceding the suffix. Same logic as above for prefixes.
if tsub(("([%s][%s]+t)(%s)$"):format(V, C_before_t, ending), "%1.%2") then
break
end
end
end
end
-- falling diphthongs <au> and <eu>, and diacriticised variants
tsub(lg { "([aeáé])u", csb = "([ae])ù" }, "%1U")
-- rising diphthongs with <iV>
tsub(("([^%s])" .. (lang == "zlw-slv" and "j" or "i") .. "([%s])"):format(V, V), "%1I%2")
-- Prevent palatalization of the special case kwazi-.
tsub("^kwazi", "kwaz-i")
-- Syllabify by adding a period (.) between syllables. There may already be user-supplied syllable divisions
-- (period or single quote), which we need to respect. This works by replacing each sequence of VC*V with
-- V.V, V.CV, V.TRV (where T is an obstruent and R is a liquid) or otherwise VTR.C+V or VC.C+V, i.e. if there are
-- multiple consonants, place the syllable boundary after the first TR sequence or otherwise the first consonant.
-- We need to repeat since each VC*V sequence overlaps the next one. Digraphs have already been replaced by single
-- capital letters.
--
-- FIXME: I don't believe it's necessarily correct in a sequence of obstruents to place the boundary after the
-- first one. I think we should respect the possible onsets.
tsub(("qu([%s])"):format(V), "Q%1") -- replace qu before vowel with Q for easier syllabifying
-- List of obstruents and liquids, including capital letters representing digraphs. We count rz as a liquid even
-- in Polish.
local obstruent = "bBcćCdDfgGhHkpṕQqsSśtxzźżŹŻ"
local liquid_no_w = "IjlrR"
local liquid = liquid_no_w .. "łwẃ"
-- We need to treat I (<i> in hiatus) as a consonant, and since we check for two vowels in a row, we don't want
-- U to be one of the second vowels.
tsub_repeatedly(("([%sU])(%s*)([%s])"):format(V_no_IU, C, V_no_IU), function(v1, cons, v2)
local cons_no_hyphen = cons:gsub("%-", "")
-- If there's only one consonant, or just an obstruent-liquid sequence, or any single consonant followed by
-- written i in hiatus, put the syllable break before the consonant(s); but don't do this for -ńj-, or -ńi-
-- in hiatus, or in the sequence -nii- (which later gets handled specially and converted to -ńji-).
if (ulen(cons_no_hyphen) < 2 or rfind(cons_no_hyphen, ("^[%s][%s]I?$"):format(obstruent, liquid)) or
rfind(cons_no_hyphen, ("^%sI$"):format(C))) and not rfind(cons_no_hyphen, "^ń[Ij]$") and
not (cons_no_hyphen == "nI" and v2 == "i") then
cons = "." .. cons
else
local nsubs
-- Don't syllabify [[niósłby]] as niósł.by or [[jabłczan]] as jabłczan.
-- FIXME: Not sure if this is quite right.
cons, nsubs = rsubn(cons, ("^(%%-?[%s]%%-?[%s])"):format(obstruent, liquid_no_w), "%1.")
if nsubs == 0 then
cons = rsub(cons, "^(%-?.)", "%1.")
end
end
return ("%s%s%s"):format(v1, cons, v2)
end)
tsub("Q", "qu") -- undo qu -> Q replacement
-- If the text is not the pagename, ignore certain symbols and diacritics for the hyphenation.
local hyph = is_pagename and txt or txt:gsub("['\"]", "."):gsub("^%.", ""):gsub("-", ""):gsub(",", "")
if lang == "zlw-slv" then
hyph = rsubn(hyph, "[IăĭŏŭYā]", {
["I"] = "j",
["ă"] = "a", ["ĭ"] = "i", ["ŏ"] = "o",
["ŭ"] = "u", ["Y"] = "y", ["ā"] = "a",
})
end
hyph = undo_digraph_replacement(hyph)
hyph = hyph:lower()
-- Restore uppercase characters.
if uppercase_indices then
-- str_i loops through all the characters of the string
-- list_i loops as above but doesn't count dots
-- array_i loops through the indices at which the capital letters are
local str_i, list_i, array_i = 1, 1, 1
function h_sub(x, y) return usub(hyph, x, y) end
while array_i <= #uppercase_indices do
if h_sub(str_i, str_i) ~= "." then
if list_i == uppercase_indices[array_i] then
hyph = ("%s%s%s"):format(h_sub(1,str_i-1), uupper(h_sub(str_i,str_i)), h_sub(str_i+1))
array_i = array_i + 1
end
list_i = list_i + 1
end
str_i = str_i + 1
end
end
tsub("'", "ˈ")
tsub('"', "ˌ")
txt = undo_digraph_replacement(txt)
-- handle <x>; must precede ch -> [x]; use - to prevent palatalization by following i
tsub("x", "ks-")
-- move syllable boundary between [ks] if preceded by a vowel
tsub(("([%s])([.ˈˌ])ks"):format(V), "%1k%2s")
-- handle digraphs
tsub("ch", "x")
tsub("[cs]z", { ["cz"]="t_ʂ", ["sz"]="ʂ" })
tsub("rz", "R")
tsub("d([zżź])", "d_%1")
tsub("qu", "kw")
if lang == "pl" and lect == "mpl" then tsub("b́", "bʲ") end
if lang == "pl" and lect == "skur" then tsub("ę̈", "əN") end
if lang == "zlw-slv" then tsub("gh", "ɣ") end
-- basic orthographical rules
-- replacements that are the same (almost) everywhere; can be overridden
local replacements = {
-- vowels
["e"] = "ɛ", ["o"] = "ɔ",
-- consonants
["c"] = "t_s", ["ć"] = "t_ɕ",
["ń"] = "ɲ", ["ś"] = "ɕ", ["ź"] = "ʑ",
["ł"] = "w", ["w"] = "v", ["ż"] = "ʐ",
["g"] = "ɡ", ["h"] = "x",
}
local function override(tbl)
for k, v in pairs(tbl) do
replacements[k] = v
end
end
-- not using lg() here for speed
if lang == "pl" then
override {
-- vowels
["ą"] = "ɔN", ["ę"] = "ɛN",
["ó"] = "u", ["y"] = "ɘ",
}
if lect then
override {
["é"] = "e", ["á"] = "ɒ",
}
if lect == "mpl" then -- Middle Polish
override {
["ę"] = "ɛ̃",
["ą"] = "ɔ̃",
["y"] = "ɨ",
["ó"] = "o",
["ł"] = "ɫ",
["ṕ"] = "pʲ",
["ḿ"] = "mʲ",
["ẃ"] = "vʲ",
}
-- <b́> has no Unicode character and hence is handled above
else
override {
["ô"] = "wɔ",
["û"] = "wu",
["ý"] = "Y",
}
if lectdata.lects[lect].mid_o then
replacements["ó"] = "o"
elseif lect == "ekr" then -- Eastern Kraków
replacements["ó"] = "O"
end
if lectdata.lects[lect].front_y then
replacements["y"] = "Y"
end
if lectdata.lects[lect].dark_l then
replacements["ł"] = "ɫ"
replacements["l"] = "lʲ"
end
if lectdata.lects[lect].glottal_h then
replacements["h"] = "h"
end
if lect == "skur" then -- Standard Kurpian
override {
["å"] = replacements["á"],
["ą"] = "oN",
["ï"] = "ɪ",
["ë"] = "ə",
-- <ę̈> has no Unicode codepoints and is handled above
}
end
end
end
tsub(".", replacements)
elseif lang == "szl" then
override {
-- vowels
["ō"] = "o", ["ŏ"] = "O",
["ô"] = "wɔ", ["õ"] = "ɔ̃",
["y"] = "ɪ",
}
if lect then
if lectdata.lects[lect].glottal_h then
replacements["h"] = "h"
end
end
tsub(".", replacements)
elseif lang == "csb" then
override {
-- vowels
["é"] = "e",
["ó"] = "o", ["ô"] = "ɞ", ["ë"] = "ɜ",
["ò"] = "wɛ", ["ù"] = "wu", ["y"] = "Y",
["ą"] = "ɔ̃",
}
tsub(".", replacements)
elseif lang == "zlw-slv" then
override {
-- vowels
["é"]="e",
["ó"]="o", ["ô"]="ɵ", ["ë"]="ə", ["ê"]="E",
["y"]="ɪ", ["ú"]="ʉ", ["ù"]="y",
["õ"]="ɔ̃", ["ā"]="aː", -- ãăĭŏŭ
-- breves remain (FIXME: correct?)
["ń"] = "n", -- purely etymological
}
tsub(".", replacements)
end
if lang == "csb" or lang == "zlw-slv" then
tsub("ʂ", "ʃ")
tsub("ʐ", "ʒ")
end
-- palatalization
local palatalize_into = { ["n"] = "ɲ", ["s"] = "ɕ", ["z"] = "ʑ" }
tsub("([nsz])([.ˈˌ]?)Ii", function (c, divider) return palatalize_into[c] .. divider .. "ji" end)
tsub("([nsz])I", function (c) return palatalize_into[c] end)
tsub("([nsz])i", function (c) return palatalize_into[c] .. "i" end)
-- velar assimilation
tsub("n([.ˈˌ]?[kɡx])", "ŋ%1")
-- voicing and devoicing
local devoice = {
["b"] = "p",
["d"] = "t",
["ɡ"] = "k",
["z"] = "s",
["v"] = "f",
["ʑ"] = "ɕ",
["ʐ"] = "ʂ",
["ʒ"] = "ʃ",
-- NOTE: was not here before but I think we need it for Polish; if we remove it, we have
-- to add x manually to `T` below, the list of unvoiced obstruents
["ɣ"] = "x",
["R"] = "S",
}
local trilled_rz = lang == "csb" or lang == "zlw-slv"
if not trilled_rz and lect then
trilled_rz = lectdata.lects[lect].trilled_rz
end
if trilled_rz then
devoice["R"] = nil
end
--if lang == "zlw-slv" then
-- devoice["ɣ"] = "x"
--end
local voice = {}
for k, v in pairs(devoice) do
voice[v] = k
end
local function concat_keys(tbl, exclude)
local keys = {}
for k, _ in pairs(tbl) do
if not exclude or not exclude[k] then
table.insert(keys, k)
end
end
return table.concat(keys)
end
-- Forward assimilation is only devoicing of <w> and <rz>. Backward assimilation both voices and devoices,
-- but <w> and <rz> do not cause backward assimilation. (Since we do forward assimilation first, occurrences
-- of <w> and <rz> following a voiceless obstruent should not occur in standard Polish when we do backward
-- assimilation, but <rz> may occur in lects that have trilled <rz>.) Note that in the event of <w> and <rz>
-- between a voiceless obstruent and a voiced one, forward assimilation will devoice them and then they will
-- get voiced again by backward assimilation.
local T_causes_forward_assim = concat_keys(voice)
local T_causes_backward_assim = T_causes_forward_assim
local T_gets_backward_assim = T_causes_forward_assim
local D_causes_backward_assim = concat_keys(devoice, {v = true, R = true})
local D_gets_backward_assim = concat_keys(devoice)
-- FIXME! The following operates only in Slovincian and I assume <w> and <rz> do not cause forward voicing
-- assimilation.
local D_causes_forward_assim = D_causes_backward_assim
local transparent_liquid = "rlɫw"
if trilled_rz then
-- FIXME! I hope this is correct.
transparent_liquid = transparent_liquid .. "R"
end
-- forward (progressive) assimilation of <w> and <rz>; proceeds left to right
tsub_repeatedly(("([%s]ʲ?[.ˈˌ]?[%s]?ʲ?[.ˈˌ]?)([vR])"):format(T_causes_forward_assim, transparent_liquid),
function(prev, cons)
return prev .. (cons == "v" and "f" or "S")
end
)
-- forward (progressive) assimilation of [ɣ] and [x] in Slovincian; proceeds left to right
if lang == "zlw-slv" then
-- FIXME! Does this occur across an intervening liquid, as in Polish?
tsub(("([%s][.ˈˌ]?)ɣ"):format(T_causes_forward_assim), "%1x")
tsub(("([%s][.ˈˌ]?)x"):format(D_causes_forward_assim), "%1ɣ")
end
-- final devoicing
if not data.is_prep then
tsub(("([%s])(ʲ?)$"):format(D_gets_backward_assim), function (a, b)
return devoice[a] .. b
end)
end
-- Backward (regressive) assimilation. It both voices and devoices, and needs to proceed right to left
-- in case of sequences of obstruents. The way to do that is to add a .* at the beginning of each pattern
-- to replace so we do the rightmost cluster first, and then repeat till nothing changes.
local prev_txt
local devoice_string = ("^(.*)([%s])(ʲ?[._ˈˌ]?[%s])"):format(
D_gets_backward_assim, T_causes_backward_assim)
local voice_string = ("^(.*)([%s])(ʲ?[._ˈˌ]?[%s])"):format(
T_gets_backward_assim, D_causes_backward_assim)
local function devoice_func(prev, c1, c2) return prev .. devoice[c1] .. c2 end
local function voice_func(prev, c1, c2) return prev .. voice[c1] .. c2 end
while txt ~= prev_txt do
prev_txt = txt
tsub(devoice_string, devoice_func)
tsub(voice_string, voice_func)
end
tsub("Y", "i")
if lang == "csb" then
tsub("([pbmfvkɡx])o", "%1wo")
tsub("vw", "w")
end
if lang == "zlw-slv" then
tsub("nj$", "n")
tsub("nj([^" .. V .. "])", "n%1")
tsub("ɲ([" .. V .. "])", "nj%1")
tsub("ɛ$", "ə")
end
if trilled_rz then
tsub("R", "r̝")
end
if lect ~= "mpl" then
tsub("S", "ʂ")
tsub("R", "ʐ")
end
if lang == "pl" then
-- nasal vowels
tsub("N([.ˈˌ]?[pb])", "m%1")
tsub("N([.ˈˌ]?[td]_[ɕʑ])", "ɲ%1")
tsub("N([.ˈˌ]?[td])", "n%1")
tsub("N([.ˈˌ]?[wl])", "%1")
if data.match_pl_p_output then
tsub("N([.ˈˌ]?[kɡ])", "ŋ%1")
tsub("ɛN$", "ɛ")
tsub("N([.ˈˌ]?[ɕʑ])", "ɲ%1")
tsub("N", "w̃")
else
tsub("N([.ˈˌ]?[kɡxɣ])", "ŋ%1")
-- For now, we have two outputs for final -ę for standard (nasal and non-nasal), but nasal-only
-- for Middle Polish and non-nasal-only for all modern dialects.
if not lect then
tsub("ɛN$", "Ẽ")
elseif lect ~= "mpl" then
tsub("ɛN$", "ɛ")
end
-- Turn this off for now; too simplistic.
-- tsub("ɔN$", "Õ")
tsub("N([.ˈˌ]?[ɕʑszʂʐ])", (lect and lectdata.lects[lect].decompose_nasal) and "n%1" or "Ñ%1")
tsub("N", "w̃")
end
end
-- Hyphen separator, e.g. to prevent palatalization of <kwazi->.
tsub("-", "")
tsub("_", OVERTIE)
tsub("I", "j")
tsub("U", "w")
-- Handles stress.
local function add_stress(first_penultimate_offset, second_penultimate_offset)
local stressed_txt
-- Return a regex that matches a syllable divider at the beginning of the appropriate syllable, where offset
-- counts backwards from the penultimate (1 = antepenultimate, 2 = ante-antepenultimate, etc.).
local function get_stress_regex(offset)
local regex = ""
for _ = 0, offset do
regex = regex .. "[^.ˌ]+[.ˌ]"
end
return "([.ˌ])(" .. regex .. "[^.ˌ]+)$"
end
if first_penultimate_offset < 0 then
-- Deals with initially stressed lects.
stressed_txt = is_suffix and txt or "ˈ" .. txt
else
local stress_regex = get_stress_regex(first_penultimate_offset)
stressed_txt = rsub(txt, stress_regex, function(syldiv, rest)
if syldiv == "ˌ" then
error("Attempt to assign primary stress to syllable already containing secondary stress: " .. txt)
else
return "ˈ" .. rest
end
end)
-- If no stress mark could have been placed, it can only be initial, e.g. in monosyllables or a 3-syllable
-- word when ante-antepenultimate stress is requested (e.g. [[szłybyśmy]]). Overly short suffixes (normally
-- single-syllable, but also disyllabic if stress is antepenultimate, etc.) don't get stress; nor do words
-- without vowels.
if not stressed_txt:find("ˈ") and rfind(stressed_txt, ("[%s]"):format(V)) and
(not is_suffix or rfind("[.ˌ]" .. stressed_txt, stress_regex)) then
stressed_txt = "ˈ" .. stressed_txt
end
end
if rfind(stressed_txt, "ˈˌ") then
error("Attempt to assign primary stress to syllable already containing secondary stress: " .. txt)
end
if second_penultimate_offset then
-- If the stress is farther back than penultimate and `second_penultimate_offset` is set, there is an
-- additional variant with stress on the specified syllable (penultimate or sometimes antepenultimate, in
-- the case of "ora" and "zag" lects with -śmy/-ście words not in -by-). We handle this by putting ALTSTRESS
-- at both stress points and converting this later to two outputs with appropriate qualifiers. Note that
-- this substitution may not succeed (e.g. if antepenultimate stress is called for but there are only two
-- syllables); that is fine and just means we don't get two outputs in this case.
stressed_txt = rsub(stressed_txt, "ˈ(.+)" .. get_stress_regex(second_penultimate_offset),
ALTSTRESS .. "%1" .. ALTSTRESS .. "%3")
end
return stressed_txt
end
local should_stress = not (unstressed or txt:find("ˈ"))
-- "Oscillating stress" lects have initial stress in some subvarieties; in others, normally penultimate, but
-- antepenultimate or ante-antepenultimate in words with clitics (-by-, -śmy/-ście). (That is, they behave like
-- standard Polish other than not having the colloquial penultimate stress with certain clitics.)
local oscillating_stress = lang == "pl" and (lect == "ora" or lect == "zag" or lect == "buk")
-- "Always initial stress" lects have initial stress in all subvarieties.
local always_initial_stress = lect and lectdata.lects[lect].initial_stress
local first_penultimate_offset, second_penultimate_offset
if oscillating_stress or always_initial_stress then
first_penultimate_offset = -1 -- initial stress
else
first_penultimate_offset = penultimate_offset
end
if oscillating_stress then
second_penultimate_offset = penultimate_offset
elseif always_initial_stress then
second_penultimate_offset = nil
else
-- Standard Polish stress; if double_stress is set and the first (prescriptive) stress is antepenultimate or
-- earlier, there's a second (colloquial) stress on the penultimate.
second_penultimate_offset = penultimate_offset > 0 and double_stress and 0 or nil
end
if should_stress then
txt = add_stress(first_penultimate_offset, second_penultimate_offset)
end
-- This must follow stress assignment because it depends on whether the E is stressed.
if lang == "zlw-slv" and tfind("E") then
txt = txt:gsub("([ˈˌ][^" .. V .. "]*)E", "%1i̯ɛ")
txt = txt:gsub("E$", "ə")
txt = txt:gsub("E", "ɛ")
end
if data.is_prep then
txt = txt .. "$"
end
return txt, hyph
end
-- Determine number of syllables of a pronunciation. For this to work, there must be either stress marks or syllable
-- divisions at each syllable boundary.
local function count_syllables(pron)
-- Convert prosodic boundaries to regular spaces; ignore stress markers at the beginning
-- of a word; and then count occurrences of spaces, syllable dividers and stress marks.
return 1 + ulen(rsub(rsub(rsub(pron:gsub(" | ", " "), " [ˈˌ]", " "), "^[%[/]?[ˈˌ]", ""), "[^.ˈˌ ]", ""))
end
-- Returns rhyme from a transcription.
local function do_rhyme(pron, lang)
-- No rhymes for multiword terms.
if pron:find(" ") then
return nil
end
-- Combined list of single-Unicode-character vowels for all lects. FIXME: Consider using definition of V from above.
-- DO NOT include multi-character sequences such as ɛ̃ ɔ̃ i̯ aː because that will mess everything up. The regex below
-- looks for a sequence of non-vowels followed by a vowel and truncates the non-vowels. The above sequences have the
-- vowel first, which means things will work out fine without the diacritics included among the vowel characters.
local V = vowels
return {
rhyme = rsub(rsub(pron:gsub("^.*ˈ", ""), ("^[^%s]-([%s])"):format(V, V), "%1"), "[.ˌ]", ""),
num_syl = { count_syllables(pron) },
}
end
--[[
Handles a single input, returning a table of transcriptions. Returns also a string of hyphenation and a table of rhymes
if it is a single-word term.
--]]
local function multiword(term, lang, period, lect, match_pl_p_output, pagename)
if term:find("^raw:%[.+%]$") then
return {{ phonetic = term:gsub("^raw:", "") }}
end
local ipa, hyph
term = rsub(term, "%s*,%s*", " | ")
if term:find(" ") then
-- TODO: repeated
function lg(s)
return s[lang] or s[1]
end
local prepositions = lg {
{
"beze?", "na", "dla", "do", "ku", "nade?", "o", "ode?", "po", "pode?", "przede?", "przeze?", "przy",
"spode?", "u", "we?", "z[ae]?", "znade?", "zza",
-- clitic conjunctions and adverbs
"a", "i", "nie",
-- clitic pronouns; less common variants with stress need an explicit stress mark (e.g. [[mi]] = variant
-- of Greek letter [[my]] or the third note in a musical scale; [[go]] = the game of go; [[mu]] = the
-- sound "moo" of a cow; note that [[ci]] is also a stressed pronoun, the nominative virile plural of
-- [[ten]])
"mi", "ci", "cię", "go", "mu", "się",
}, szl = {
"bezy?", "na", "dlŏ", "d[oō]", "ku", "nady?", "ô", "ôdy?", "po", "pody?", "przedy?", "przezy?", "przi",
"spody?", "u", "w[ey]?", "z[aey]?", "[śs]", "znady?"
}, csb = {
"beze?", "na", "dlô", "do", "kù", "nade?", "ò", "òde?", "pò", "pòde?", "przede?", "przeze?", "przë",
"spòde?", "ù", "we?", "wew", "z[ae]?", "zez", "zeza", "zó", "znade?"
}, ["zlw-slv"] = {
"dlo", "dô", "na", "nade?", "przêde?", "przêze?", "przë", "pô", "pôde?", "sê?", "vô", "we?", "wôde?",
"wù", "za"
},
}
local ipaparts, hyphparts = {}, {}
local contains_preps = false
local words = rsplit(term, " +")
for i, word in ipairs(words) do
if word == "|" then
-- prosodic boundary, from a comma
table.insert(ipaparts, word)
if hyphparts[#hyphparts] then
hyphparts[#hyphparts] = hyphparts[#hyphparts] .. ","
else
hyphparts[1] = ","
end
else
local is_prep = false
if word == "nie" and words[i + 1] == "ma" then
is_prep = false
elseif word == "ma" and words[i - 1] == "nie" then
is_prep = true
else
for _, prep in ipairs(prepositions) do
if (rfind(word, ("^%s$"):format(prep))) then
is_prep = true
break
end
end
end
contains_preps = contains_preps or is_prep
local wordipa, wordhyph = single_word {
txt = word,
lang = lang,
is_prep = is_prep,
period = period,
lect = lect,
match_pl_p_output = match_pl_p_output,
pagename = pagename,
}
table.insert(ipaparts, wordipa)
table.insert(hyphparts, wordhyph)
if i < #words then
local separator = is_prep and "‿" or " "
table.insert(ipaparts, separator)
table.insert(hyphparts, separator)
end
end
end
ipa = table.concat(ipaparts)
hyph = table.concat(hyphparts)
local function assimilate_preps(str)
local function assim(from, to, before)
str = rsub(str, ("%s(%%$‿[ˈˌ]?[%s])"):format(from, before), to .. "%1")
end
local T = "fptsʂɕkx"
assim("d", "t", T)
assim("v", "f", T)
assim("z", "s", T)
if lang == "szl" then
local D = "bdzʐʑɡ"
assim("s", "z", D)
assim("ɕ", "ʑ", D)
end
return rsub(str, "%$", "")
end
if contains_preps then
ipa = assimilate_preps(ipa)
-- Move stress before non-syllabic clitics attached with tie bar. FIXME: We should be using # or similar
-- at string boundaries to avoid the need to substitute twice.
local C = "[^" .. vowels .. "]"
ipa = rsub(ipa, ("([‿ ])(%s+)‿([ˈˌ])"):format(C), "%1%3%2")
ipa = rsub(ipa, ("^(%s+)‿([ˈˌ])"):format(C), "%2%1‿")
end
else
ipa, hyph = single_word {
txt = term,
lang = lang,
is_prep = false,
period = period,
lect = lect,
match_pl_p_output = match_pl_p_output,
pagename = pagename,
}
end
local result = {{
pron = ipa,
norhyme = false,
}}
-- Map over each element in `result`. If `from` is found in the element, replace the element with up to three
-- elements, respectively replacing `from` with `to1` (with accent qualifiers `a1`), `to2` (with accent qualifiers
-- `a2`) and `to3` (with accent qualifiers `a3`). If `to2` or `to3` are nil, no replacement is done for them.
-- If `nr1` is true, this variant should not have rhymes generated; likewise for `nr2` and `nr3`.
local function flatmap_and_sub_post(from, to1, a1, nr1, to2, a2, nr2, to3, a3, nr3)
local any_change = false
result = flatmap(result, function(item)
if rfind(item.pron, from) then
any_change = true
local retval = {
{
pron = rsub(item.pron, from, to1),
a = combine_qualifiers(item.a, a1),
norhyme = item.norhyme or nr1,
}
}
if to2 then
table.insert(retval,
{
pron = rsub(item.pron, from, to2),
a = combine_qualifiers(item.a, a2),
norhyme = item.norhyme or nr2,
}
)
end
if to3 then
table.insert(retval,
{
pron = rsub(item.pron, from, to3),
a = combine_qualifiers(item.a, a3),
norhyme = item.norhyme or nr3,
}
)
end
return retval
else
return {item}
end
end)
return any_change
end
-- Replace the first ALTSTRESS with a syllable divider but not at the beginning of a word.
local function stress_second(before_first, before_second)
if before_first == "" then
return before_second .. "ˈ"
else
return before_first .. "." .. before_second .. "ˈ"
end
end
if lang == "pl" and lect == "ekr" then
flatmap_and_sub_post("O", "o", {"pre-21<sup>st</sup> c."}, false, "u", {"21<sup>st</sup> c."}, false)
elseif lang == "pl" and lect == "mpl" then
if period == "early" then
flatmap_and_sub_post("[RS]", "r̝", nil, false)
elseif period == "late" then
flatmap_and_sub_post("[RS]", {R = "ʐ", S = "ʂ"}, nil, false)
elseif not period then
flatmap_and_sub_post("[RS]", "r̝", {"16<sup>th</sup> c."}, false,
{R = "ʐ", S = "ʂ"}, {"17<sup>th</sup>–18<sup>th</sup> c."}, false)
else
error(("'%s' is not a supported Middle Polish period; try with 'early' or 'late'"):format(period))
end
elseif lang == "pl" and lect == "ora" then
flatmap_and_sub_post("([^ ‿]*)" .. ALTSTRESS .. "([^ ‿]-)" .. ALTSTRESS, "%1ˈ%2.", {"Poland"}, false,
stress_second, {"Slovakia"}, false)
elseif lang == "pl" and lect == "zag" then
flatmap_and_sub_post("([^ ‿]*)" .. ALTSTRESS .. "([^ ‿]-)" .. ALTSTRESS, stress_second, {"north"}, false,
"%1ˈ%2.", {"south"}, false)
elseif lang == "pl" then
flatmap_and_sub_post("([^ ‿]*)" .. ALTSTRESS .. "([^ ‿]-)" .. ALTSTRESS, "%1ˈ%2.", {"prescriptive"}, false,
stress_second, {"colloquial"}, false)
elseif lang == "szl" then
if lect then
local diphthongal_o = lectdata.lects[lect].diphthongal_o or "ɔ"
if type(diphthongal_o) == "string" then
flatmap_and_sub_post("O", diphthongal_o)
elseif type(diphthongal_o) == "table" and #diphthongal_o == 2 then
flatmap_and_sub_post("O", diphthongal_o[1], nil, false, diphthongal_o[2], nil, false)
else
error("The provided diphthongal_o value for the lect " .. lect .. " is invalid.")
end
else
flatmap_and_sub_post("O", "ɔ", {"non-Western"}, false, "ɔw", {"Western"}, false, "ɛw", {"Głogówek"}, false)
end
end
-- Two outputs from nasal before sibilant, if not converted to one above.
flatmap_and_sub_post("Ñ([.ˈˌ]?)([szɕʑʂʐ])", "w̃%1%2", nil, false, function(syldiv, sib)
return ((sib == "ɕ" or sib == "ʑ") and "ɲ" or "n") .. syldiv .. sib
end, nil, true)
flatmap_and_sub_post("Ẽ", "ɛ", {"normal speech"}, true, "ɛw̃", {"careful speech"}, false)
-- Turn this off for now; too simplistic.
-- flatmap_and_sub_post("Õ", "ɔw̃", {"standard"}, false, "ɔm", {"regional", "or", "dialectal", "proscribed"}, true)
while true do
-- Make all primary stresses but the last one in a given word be secondary.
-- FIXME: Remove this.
if not flatmap_and_sub_post("([^ ‿]*)ˈ([^ ‿]-)ˈ", "%1ˌ%2ˈ") then
break
end
track("two-primary-stresses-in-word")
end
return result, hyph
end
-- Given a single substitution spec, `to`, figure out the corresponding value of `from` used in a complete
-- substitution spec. `pagename` is the name of the page, either the actual one or taken from the `pagename` param.
-- `anchor_begin`, if set, indicates that the match must be to the beginning of a word (it was preceded by ~).
-- `anchor_end`, if set, indicates that the match must be to the end of a word (it was followed by ~). If there is a
-- second return value, it indicates that the `from` is a Lua pattern and doesn't need to be pattern-escaped.
local function convert_single_substitution_to_original(to, pagename, anchor_begin, anchor_end)
-- Replace specially-handled characters with a class matching the character and possible replacements.
local escaped_from = to
-- If the entire single substitution spec is one of the special stress-controlling symbols (&, &&, +, etc.),
-- place it at the very beginning of the pagename. We do this by returning a Lua pattern that matches the
-- beginning of the string, using the %f notation. (%f[^%z] means a transition from %z, or the NUL character, to
-- not-%z; strings are treated for this purpose as if they begin and end with a NUL character.)
if escaped_from:find("^[+*^&]+$") then
return "%f[^%z]", true
end
escaped_from = escaped_from:gsub("[.'\"]", "")
-- Call the equivalent of pattern_escape() in [[Module:string utilities]] but leave out +, *, ^ and -, which we match below.
local chars = {
["\0"] = "%z", ["$"] = "%$", ["%"] = "%%", ["("] = "%(", [")"] = "%)",
["."] = "%.", ["?"] = "%?", ["["] = "%[", ["]"] = "%]",
}
escaped_from = escaped_from:gsub("[%z$%%().?[%]]", chars)
-- A special stress-controlling symbol (&, &&, +, etc.) that occurs in a single substitution expression but
-- is not the entire expression matches the beginning of a word. (Contrast the case above when the symbol stands
-- alone and matches the beginning of the entire term.) This makes it possible e.g. with an expression like
-- [[Koreańska Republika Ludowo-Demokratyczna]] to write the substitution spec [&R] and have it work; it matches
-- R at the beginning of a word and converts it to &R, which makes [[Republika]] have optional antepenultimate
-- stress. This must precede other replacements esp. k -> [kc]+, otherwise the + will wrongly get matched.
escaped_from = escaped_from:gsub("[&+*^]+", "%%f[%%a]")
-- j can match against i in e.g. [[aikido]] respelled <ajkido> and [[apeiron]] respelled <apejron>
escaped_from = escaped_from:gsub("j", "[ji]")
-- ń can match against n; in combination with the preceding, ńj can match against ni in e.g. [[Albania]] respelled
-- <Albańja>.
escaped_from = escaped_from:gsub("ń", "[ńn]")
-- k can match against c or cc in e.g. [[altocumulus]] respelled <altokumulus> or [[piccolo]] respelled <pikolo>
escaped_from = escaped_from:gsub("k", "[kc]+")
-- A hyphen can match against a hyphen or nothing in the original. We have to take into account escaping the hyphen
-- in the from side, adding a % sign in the replacement to escape the hyphen in the later rmatch, and escaping the
-- percent sign in the replacement.
escaped_from = escaped_from:gsub("%-", "%%-?")
-- A space can match against space or hyphen in the original, so e.g. [[agar-agar]] can use [ ] to respell it as
-- <agar agar>.
escaped_from = escaped_from:gsub(" ", "[ -]")
-- Middle Polish á can match against a, and similarly for é, ó, ḿ, ṕ, ẃ and b́. The latter is tricky because it's
-- two characters in Unicode. (Even though ó exists in modern Polish, Middle Polish often has ó where the spelling
-- has o, and sometimes vice-versa.)
escaped_from = escaped_from:gsub("á", "[aá]")
escaped_from = escaped_from:gsub("é", "[eé]")
escaped_from = escaped_from:gsub("ó", "[oó]")
escaped_from = escaped_from:gsub("ḿ", "[mḿ]")
escaped_from = escaped_from:gsub("ṕ", "[pṕ]")
escaped_from = escaped_from:gsub("ẃ", "[wẃ]")
escaped_from = escaped_from:gsub("b́", "b́?")
escaped_from = "(" .. escaped_from .. ")"
if anchor_begin then
escaped_from = "%f[%a]" .. escaped_from
end
if anchor_end then
escaped_from = escaped_from .. "%f[%A]"
end
local match = rmatch(pagename, escaped_from)
if match then
if match == to then
error(("Single substitution spec '%s' found in pagename '%s', replacement would have no effect"):
format(to, pagename))
end
return match
end
error(("Single substitution spec '%s' couldn't be matched to pagename '%s' (escaped_from: %s"):format(
to, pagename, mw.dumpObject(escaped_from)))
end
local function apply_substitution_spec(respelling, pagename, parse_err)
local subs = split_on_comma(rmatch(respelling, "^%[(.*)%]$"))
respelling = pagename
for _, sub in ipairs(subs) do
if sub:find("%^") or sub:find("%$") then
-- Changed to use ~ at beginning or end to avoid clashing with other use of ^; catch old uses
track("old-anchor-symbols")
end
local from, escaped_from, to, escaped_to, anchor_begin, anchor_end
if sub:find("^~") then
-- anchor at beginning
sub = rmatch(sub, "^~(.*)$")
anchor_begin = true
end
local already_escaped
if sub:find(":") then
from, to = rmatch(sub, "^(.-):(.*)$")
if from:find("~$") then
-- anchor at end
from = rmatch(from, "^(.*)~$")
anchor_end = true
end
else
if sub:find("~$") then
-- anchor at end
sub = rmatch(sub, "^(.*)~$")
anchor_end = true
end
to = sub
from, already_escaped = convert_single_substitution_to_original(to, pagename, anchor_begin, anchor_end)
end
if from then
escaped_from = already_escaped and from or m_str_utils.pattern_escape(from)
if anchor_begin then
escaped_from = "%f[%a]" .. escaped_from
end
if anchor_end then
escaped_from = escaped_from .. "%f[%A]"
end
escaped_to = m_str_utils.replacement_escape(to)
local subbed_respelling, nsubs = rsubn(respelling, escaped_from, escaped_to)
if nsubs == 0 then
parse_err(("Substitution spec %s -> %s didn't match processed pagename '%s'"):format(
from, to, respelling))
elseif nsubs > 1 then
parse_err(("Substitution spec %s -> %s matched multiple substrings in processed pagename '%s', add " ..
"more context"):format(from, to, respelling))
else
respelling = subbed_respelling
end
end
end
return respelling
end
-- This handles all the magic characters <*>, <^>, <&>, <+>, <.>, <#>.
local function normalise_input(term, pagename, paramname)
local function check_af(str, af, reg, repl, err_msg)
reg = reg:format(af)
if not rfind(str, reg) then
error(("The word %s does not %s with %s"):format(str, err_msg, af))
end
return str:gsub(reg, repl)
end
local function check_pref(str, pref) return check_af(str, pref, "^(%s)", "%1.", "start") end
local function check_suf(str, suf) return check_af(str, suf, "(%s)$", ".%1", "end") end
if term:find("^%[.*%]$") then
local function parse_err(msg)
-- Don't call make_parse_err() until we actually need to throw an error, to avoid unnecessarily loading
-- [[Module:parse utilities]].
require(parse_utilities_module).make_parse_err(paramname)(msg)
end
return apply_substitution_spec(term, pagename, parse_err)
end
if term == "#" then
-- The pound sign stands simply for {{PAGENAME}}.
return pagename
elseif (term == "+") or term:find("^%^+$") or term:find("^&+$") or (term == "*") then
-- Inputs that are just '+', '*', '^', '^^', '&', '&&', etc. are treated as
-- if they contained the pagename with those symbols preceding it.
return term .. pagename
-- Handle syntax like <po.>, <.ka> and <po..ka>. This allows to not respell
-- the entire word when all is needed is to specify syllabification of a prefix
-- and/or a suffix.
elseif term:find(".+%.$") then
return check_pref(pagename, term:sub(1, -2))
elseif term:find("^%..+") then
return check_suf(pagename, term:sub(2))
elseif term:find(".+%.%..+") then
return check_suf(check_pref(pagename, term:gsub("%.%..+", "")), term:gsub(".+%.%.", ""))
end
return term
end
-- This converts the raw information, the arguments and pagename, into tables to be handed over to the IPA module.
-- It is called externally by [[Module:zlw-lch-IPA/testcases/driver]].
function export.get_lect_pron_info(terms, pagename, paramname, lang, lect, period, match_pl_p_output)
if #terms == 1 and terms[1].respelling == "-" then
return {
pron_list = nil,
rhyme_list = {},
hyph_list = {},
}
end
local pron_list = {}
local rhyme_list = {}
local hyph_list = {}
local brackets = "/%s/"
if lect then
if lectdata.lects[lect].phonetic then
brackets = "[%s]"
end
end
-- Loops over the terms given as arguments.
for _, term in ipairs(terms) do
local respelling = term.respelling
-- Handles magic symbols in the input.
respelling = normalise_input(respelling, pagename, paramname)
-- Obtains the transcription and hyphenation for the current index.
local prons, hyph = multiword(respelling, lang, period, lect, match_pl_p_output, pagename)
for i, pron in ipairs(prons) do
if pron.phonetic then
table.insert(pron_list, {
pron = pron.phonetic,
pron_with_syldivs = pron.phonetic,
q = term.q,
qq = term.qq,
a = term.a,
aa = term.aa,
refs = i == 1 and term.refs or nil,
})
else
local bracketed_pron = brackets:format(pron.pron)
table.insert(pron_list, {
pron = bracketed_pron,
pron_with_syldivs = bracketed_pron,
q = term.q,
qq = term.qq,
a = combine_qualifiers(pron.a, term.a),
aa = term.aa,
refs = i == 1 and term.refs or nil,
})
if not pron.norhyme then
-- Make sure to pass a version of the pronunciation with syllable dividers.
table.insert(rhyme_list, do_rhyme(pron.pron, lang))
end
end
end
-- If a hyphenation value had been returned by multiword(), make sure it matches the pagename; otherwise
-- don't add. FIXME: This should be smarter in the presence of hyphens in the lemma.
if hyph and hyph:gsub("%.", ""):gsub("‿", " ") == pagename then
m_table.insertIfNot(hyph_list, hyph)
end
end
return {
pron_list = pron_list,
hyph_list = hyph_list,
rhyme_list = rhyme_list,
}
end
function export.get_lect_pron_info_bot(frame)
local iargs = require("Module:parameters").process(frame.args, {
[1] = {},
["lang"] = { default = "pl" },
["lect"] = {},
["period"] = {},
["pagename"] = {}, -- for debugging or demonstration only
["plp"] = { list = true },
["match_pl_p_output"] = { type = "boolean" },
})
local termspec = iargs[1] or "#"
local terms = parse_respellings_with_modifiers(termspec, 1)
local retval = export.get_lect_pron_info(
terms,
iargs.pagename or mw.loadData("Module:headword/data").pagename,
"[from bot]",
iargs.lang,
iargs.lect,
iargs.period,
iargs.match_pl_p_output
)
if iargs.plp[1] then
retval.plp_prons = {}
for _, plp in ipairs(iargs.plp) do
table.insert(retval.plp_prons, "/" .. require("Module:pl-IPA").convert_to_IPA(plp) .. "/")
end
end
return require("Module:JSON").toJSON(retval)
end
function export.show(frame)
local process = require("Module:parameters").process
local lang = process(frame.args, {
["lang"] = { required = true, type = "language" }
}).lang
local langcode = lang:getCode()
if langcode == "pl" or langcode == "szl" then
lectdata = require("Module:zlw-lch-IPA/data/" .. langcode)
end
local params = {
[1] = {},
["hyphs"] = true, ["h"] = { alias_of = "hyphs" },
["rhymes"] = true, ["r"] = { alias_of = "rhymes" },
["audios"] = true, ["a"] = { alias_of = "audios" },
["homophones"] = true, ["hh"] = { alias_of = "homophones" },
["pagename"] = true, -- for debugging or demonstration only
["indent"] = true,
}
if langcode == "pl" then
params["mpl_period"] = true
params["mp_period"] = { alias_of = "mpl_period" }
end
if langcode == "pl" or langcode == "szl" then
for lect, _ in pairs(lectdata.lects) do
params[lect] = true
end
if lectdata.lect_aliases then
for alias, lect in pairs(lectdata.lect_aliases) do
params[alias] = { alias_of = lect }
end
end
end
local args = process(frame:getParent().args, params)
local termspec = args[1] or "#"
local terms = parse_respellings_with_modifiers(termspec, 1)
local pagename = args.pagename or mw.loadData("Module:headword/data").pagename
local indent = args.indent or "*"
local pronobj = export.get_lect_pron_info(terms, pagename, 1, langcode)
local hyph_list, rhyme_list = pronobj.hyph_list, pronobj.rhyme_list
local hyph_automatic = true
local do_hyph
local lect_prons
if langcode == "pl" or langcode == "szl" then
for lect, _ in pairs(lectdata.lects) do
if args[lect] then
if lect_prons == nil then lect_prons = {} end
lect_prons[lect] = export.get_lect_pron_info(
parse_respellings_with_modifiers(args[lect], lect), pagename, lect, langcode, lect,
args[lect .. "_period"]
).pron_list
end
end
end
if args.hyphs then
hyph_automatic = false
if args.hyphs == "-" then
do_hyph = false
else
hyph_list = split_on_comma(args.hyphs)
do_hyph = true
end
elseif terms[1].respelling == "-" then
do_hyph = false
else
do_hyph = true
end
if args.rhymes then
if args.rhymes == "-" then
rhyme_list = {}
elseif args.rhymes ~= "+" then
rhyme_list = {}
for _, rhyme in ipairs(split_on_comma(args.rhymes)) do
if rfind(rhyme, ".+/.+") then
table.insert(rhyme_list, {
rhyme = rsub(rhyme, "/.+", ""),
num_syl = { tonumber(rsub(rhyme, ".+/", "")) },
})
else
error(("The manual rhyme %s did not specify syllable number as RHYME/NUM_SYL"):format(rhyme))
end
end
end
end
-- This deals with duplicate values in rhymes.
if #rhyme_list > 0 then
local temp_rhyme_list = {}
local indices = {}
for _, rhymeobj in ipairs(rhyme_list) do
local index = indices[rhymeobj.rhyme]
if index == nil then
table.insert(temp_rhyme_list, rhymeobj)
indices[rhymeobj.rhyme] = #temp_rhyme_list
else
local different_num_syl = true
for _, ns in ipairs(temp_rhyme_list[index].num_syl) do
if ns == rhymeobj.num_syl[1] then
different_num_syl = false
break
end
end
if different_num_syl then
table.insert(temp_rhyme_list[index].num_syl, rhymeobj.num_syl[1])
end
end
end
rhyme_list = temp_rhyme_list
end
local m_IPA_format = require("Module:IPA").format_IPA_full
local parts = {}
local function ins(text)
table.insert(parts, text)
end
local do_collapse = false
local maxlen = 0
if pronobj.pron_list then
if lect_prons then
do_collapse = true
ins('<div class="vsSwitcher" data-toggle-category="pronunciations" style="width: {width}em; max-width:100%;"><span class="vsToggleElement" style="float: right;"> </span>\n')
end
local formatted = m_IPA_format(lang, pronobj.pron_list)
ins(indent .. formatted)
maxlen = textual_len(formatted)
end
local em_length
if lect_prons then
if do_collapse then
ins('\n<div class="vsHide">\n')
end
local m_labels = require("Module:labels")
-- Equivalent to require("Module:accent qualifier").format_qualifiers, but with categorisation.
local format_qualifiers = function(qualifiers, nocat)
return m_labels.show_labels {
lang = lang,
labels = qualifiers,
mode = "accent",
nocat = nocat,
}
end
-- First groups the lects into their lect groups.
local grouped_lects = {}
for lect, lect_prons in pairs(lect_prons) do
local lect_group = lectdata.lects[lect].group
if grouped_lects[lect_group] == nil then grouped_lects[lect_group] = {} end
table.insert(grouped_lects[lect_group], { code = lect, prons = lect_prons })
end
-- And then displays each group in order.
local function display_lect(value, indentation)
local formatted = ("%s%s %s"):format(indentation,
format_qualifiers { lectdata.lects[value.code].name },
m_IPA_format { lang = lang, items = value.prons }
)
maxlen = math.max(maxlen, textual_len(formatted))
ins("\n" .. formatted)
end
for group_index = 1, #lectdata.lect_groups do
local lects = grouped_lects[group_index]
local group = lectdata.lect_groups[group_index]
if lects ~= nil then
if group.single_lect then
display_lect(lects[1], indent)
else
-- Checks to indent Goral under Lesser Polish.
local additional_indent = ""
if group.indent_with_prec then
additional_indent = "*"
if grouped_lects[group_index - 1] == nil then
ins("\n*" .. format_qualifiers({ lectdata.lect_groups[group_index - 1].name }, true) .. ":")
end
end
-- Lect group header.
ins("\n*" .. additional_indent .. format_qualifiers({ group.name }, true) .. ":")
-- The lects are sorted according to their <index> value.
table.sort(lects, function (a, b) return lectdata.lects[a.code].index < lectdata.lects[b.code].index end)
for _, lect in ipairs(lects) do
display_lect(lect, "**" .. additional_indent)
end
end
end
end
if do_collapse then
ins('\n</div></div>\n')
end
em_length = math.floor(maxlen * 0.68)
end
if args.audios then
local format_audio = require("Module:audio").format_audio
local audio_objs = parse_audio(lang, args.audios, pagename, "audios")
local num_audios = #audio_objs
for i, audio_obj in ipairs(audio_objs) do
if num_audios > 1 and not audio_obj.caption then
audio_obj.caption = "Audio " .. i
end
ins("\n" .. indent .. " " .. format_audio(audio_obj))
end
end
if #rhyme_list > 0 then
ins("\n" .. indent .. " " .. require("Module:rhymes").format_rhymes { lang = lang, rhymes = rhyme_list })
end
if do_hyph then
ins("\n" .. indent .. " ")
if #hyph_list > 0 then
local hyphs = {}
local seen_num_pron_syls
if pronobj.pron_list then
-- Compute the number of syllables for each pronunciation, for use below.
seen_num_pron_syls = {}
for _, pronobj in ipairs(pronobj.pron_list) do
local pron = pronobj.pron_with_syldivs
local num_pron_syls = count_syllables(pron)
m_table.insertIfNot(seen_num_pron_syls, {pron = pron, nsyl = num_pron_syls})
end
end
for i, hyph in ipairs(hyph_list) do
hyphs[i] = { hyph = {} }
for syl in hyph:gmatch("[^.]+") do
table.insert(hyphs[i].hyph, syl)
end
if pronobj.pron_list then
-- Match each syllabification against the syllable counts of all pronunciations, since we don't have
-- any alignment between the two. Only complain if the syllable count of the syllabification doesn't
-- match the syllable count of any pronunciation.
local num_hyph_syls = 1 + #(hyph:gsub("[^. ]", ""))
local matched = false
for _, num_pron_syls in ipairs(seen_num_pron_syls) do
if num_pron_syls.nsyl == num_hyph_syls then
matched = true
break
end
end
if not matched then
local prons_and_sylcounts = {}
for _, num_pron_syls in ipairs(seen_num_pron_syls) do
table.insert(prons_and_sylcounts, ("%s:%s"):format(num_pron_syls.pron, num_pron_syls.nsyl))
end
mw.log(("Syllable count %s for syllabification '%s' doesn't match pronunciation syllable count(s) %s for '%s'"):format(
num_hyph_syls, hyph, table.concat(prons_and_sylcounts, ","), pagename))
if mw.title.getCurrentTitle().nsText == "" then
ins(("[[Category:%s entries with Template:%s-pr with %s syllabification syllable count mismatch]]"):format(
lang:getFullName(), langcode, hyph_automatic and "automatic" or "manual"))
end
end
end
end
ins(require("Module:hyphenation").format_hyphenations {
lang = lang, hyphs = hyphs, caption = "分綴"
})
else
ins("分綴: <small>[please specify syllabification manually]</small>")
if mw.title.getCurrentTitle().nsText == "" then
ins(("[[Category:%s entries with Template:%s-pr without syllabification]]"):format(
lang:getFullName(), langcode))
end
end
end
if args.homophones then
local homophone_list = parse_homophones(args.homophones, "homophones")
ins("\n" .. indent .. " " .. require("Module:homophones").format_homophones {
lang = lang,
homophones = homophone_list,
})
end
local ret = table.concat(parts)
if em_length then
ret = m_str_utils.gsub(ret, "{width}", em_length)
end
return ret
end
return export
kq7e8hd4585g5i7x71xhebq0tt0343z
2328209
2328207
2026-08-16T22:05:47Z
Kuroco2k
84207
古いのに更新しながら内容だけアップデート
2328209
Scribunto
text/plain
local export = {}
local m_str_utils = require("Module:string utilities")
local m_table = require("Module:table")
local audio_module = "Module:audio"
local links_module = "Module:links"
local parse_utilities_module = "Module:parse utilities"
local u = m_str_utils.char
local rfind = m_str_utils.find
local rmatch = m_str_utils.match
local rsplit = m_str_utils.split
local rsubn = m_str_utils.gsub
local ulen = m_str_utils.len
local ulower = m_str_utils.lower
local uupper = mw.ustring.upper
local usub = mw.ustring.sub
local OVERTIE = u(0x361) -- COMBINING DOUBLE INVERTED BREVE
local vowels = "aãăɒeɛɜɘiĭɨɪoõŏɔɞɵuŭʉy"
-- In cases where there are two possible stresses (e.g. in words ending in -ika/-yka), we put ALTSTRESS where both
-- stresses can go, and handle this later in multiword().
local ALTSTRESS = u(0xFFF0)
-- Lect data later retrieved in the module.
local lectdata
-- FIXME: Implement optional assimilation across word boundaries.
local assimilate_across_word_boundaries = false
local function track(page)
require("Module:debug/track")("zlw-lch-IPA/" .. page)
return true
end
-- Version of rsubn() that discards all but the first return value.
local function rsub(term, foo, bar)
local retval = rsubn(term, foo, bar)
return retval
end
-- apply rsub() repeatedly until no change
local function rsub_repeatedly(term, foo, bar)
while true do
local new_term = rsub(term, foo, bar)
if new_term == term then
return term
end
term = new_term
end
end
-- Flat-map a function `fun` over `items`. This is like `map` over a sequence followed by `flatten`, i.e. the function
-- must itself return a sequence and all of the returned sequences are flattened into a single sequence.
local function flatmap(items, fun)
local new = {}
for _, item in ipairs(items) do
local results = fun(item)
for _, result in ipairs(results) do
m_table.insertIfNot(new, result)
end
end
return new
end
-- Combine two sets of qualifiers, either of which may be nil or a list of qualifiers. Remove duplicate qualifiers.
-- Return value is nil or a list of qualifiers.
local function combine_qualifiers(qual1, qual2)
if not qual1 then
return qual2
end
if not qual2 then
return qual1
end
local qualifiers = m_table.deepcopy(qual1)
for _, qual in ipairs(qual2) do
m_table.insertIfNot(qualifiers, qual)
end
return qualifiers
end
local function split_on_comma(term)
if not term then
return nil
end
if term:find(",%s") or term:find("\\") then
return require(parse_utilities_module).split_on_comma(term)
else
return rsplit(term, ",")
end
end
-- Remove any HTML from the formatted text and resolve links, since the extra characters don't contribute to the
-- displayed length.
local function convert_to_raw_text(text)
text = rsub(text, "<.->", "")
if text:find("%[%[") then
text = require(links_module).remove_links(text)
end
return text
end
-- Return the approximate displayed length in characters.
local function textual_len(text)
return ulen(convert_to_raw_text(text))
end
local function parse_respellings_with_modifiers(respelling, paramname)
local function generate_obj(respelling, parse_err)
return {respelling = respelling}
end
if respelling:find("[<%[]") then
local put = require(parse_utilities_module)
-- Parse balanced segment runs involving either [...] (substitution notation) or <...> (inline modifiers).
-- We do this because we don't want commas inside of square or angle brackets to count as respelling
-- delimiters. However, we need to rejoin square-bracketed segments with nearby ones after splitting
-- alternating runs on comma. For example, if we are given
-- "a[x]a<q:learned>,[vol:vôl,ks]<q:nonstandard>", after calling
-- parse_multi_delimiter_balanced_segment_run() we get the following output:
--
-- {"a", "[x]", "a", "<q:learned>", ",", "[vol:vôl,ks]", "", "<q:nonstandard>", ""}
--
-- After calling split_alternating_runs(), we get the following:
--
-- {{"a", "[x]", "a", "<q:learned>", ""}, {"", "[vol:vôl,ks]", "", "<q:nonstandard>", ""}}
--
-- We need to rejoin stuff on either side of the square-bracketed portions.
local segments = put.parse_multi_delimiter_balanced_segment_run(respelling, {{"<", ">"}, {"[", "]"}})
local comma_separated_groups = put.split_alternating_runs_on_comma(segments)
-- Process each value.
local retval = {}
for i, group in ipairs(comma_separated_groups) do
-- Rejoin runs that don't involve <...>.
local j = 2
while j <= #group do
if not group[j]:find("^<.*>$") then
group[j - 1] = group[j - 1] .. group[j] .. group[j + 1]
table.remove(group, j)
table.remove(group, j)
else
j = j + 2
end
end
local param_mods = {
q = {type = "qualifier"},
qq = {type = "qualifier"},
a = {type = "labels"},
aa = {type = "labels"},
ref = {item_dest = "refs", type = "references"},
}
table.insert(retval, put.parse_inline_modifiers_from_segments {
group = group,
arg = respelling,
props = {
paramname = paramname,
param_mods = param_mods,
generate_obj = generate_obj,
},
})
end
return retval
else
local retval = {}
for _, item in ipairs(split_on_comma(respelling)) do
table.insert(retval, generate_obj(item))
end
return retval
end
end
-- Parse a pronunciation modifier in `arg`, the argument portion in an inline modifier (after the prefix), which
-- specifies a pronunciation property such as rhyme, hyphenation/syllabification, homophones or audio. The argument
-- can itself have inline modifiers, e.g. <audio:Foo.ogg<a:Masovia>>. The allowed inline modifiers are specified
-- by `param_mods` (of the format expected by `parse_inline_modifiers()`); in addition to any modifiers specified
-- there, the modifiers <q:...>, <qq:...>, <a:...>, <aa:...> and <ref:...> are always accepted. `generate_obj` and
-- `parse_err` are like in `parse_inline_modifiers()` and specify respectively a function to generate the object into
-- which modifier properties are stored given the non-modifier part of the argument, and a function to generate an error
-- message (given the message). Normally, a comma-separated list of pronunciation properties is accepted and parsed,
-- where each element in the list can have its own inline modifiers and where no spaces are allowed next to the commas
-- in order for them to be recognized as separators. This can be overridden with `splitchar` (which can actually be a
-- Lua pattern). The return value is a list of property objects.
local function parse_pron_modifier(arg, paramname, generate_obj, param_mods, splitchar)
splitchar = splitchar or ","
if arg:find("<") then
param_mods.q = {type = "qualifier"}
param_mods.qq = {type = "qualifier"}
param_mods.a = {type = "labels"}
param_mods.aa = {type = "labels"}
param_mods.ref = {item_dest = "refs", type = "references"}
return require(parse_utilities_module).parse_inline_modifiers(arg, {
param_mods = param_mods,
generate_obj = generate_obj,
paramname = paramname,
splitchar = splitchar,
})
else
local retval = {}
local split_arg = splitchar == "," and split_on_comma(arg) or rsplit(arg, splitchar)
for _, term in ipairs(split_arg) do
table.insert(retval, generate_obj(term))
end
return retval
end
end
local function parse_audio(lang, arg, pagename, paramname)
local param_mods = {
IPA = {
sublist = true,
},
text = {},
t = {
item_dest = "gloss",
},
-- No tr=, ts=, or sc=; doesn't make sense for Polish.
gloss = {},
pos = {},
-- No alt=; text= already goes in alt=.
lit = {},
-- No id=; text= already goes in alt= and isn't normally linked.
g = {
item_dest = "genders",
sublist = true,
},
bad = {},
cap = {
item_dest = "caption",
},
}
local function process_special_chars(val)
if not val then
return val
end
return (val:gsub("[#~]", {
["#"] = pagename,
["~"] = pagename .. " się",
}))
end
local function generate_audio_obj(arg)
return {file = process_special_chars(arg)}
end
-- Split on semicolon instead of comma because some filenames have embedded commas not followed by a space
-- (typically followed by an underscore).
local retvals = parse_pron_modifier(arg, paramname, generate_audio_obj, param_mods, "%s*;%s*")
for i, retval in ipairs(retvals) do
retval.lang = lang
retval.text = process_special_chars(retval.text)
retval.caption = process_special_chars(retval.caption)
local textobj = require(audio_module).construct_audio_textobj(retval)
retval.text = textobj
-- Set to nil the fields that were moved into `retval.text`.
retval.gloss = nil
retval.pos = nil
retval.lit = nil
retval.genders = nil
end
return retvals
end
local function parse_homophones(arg, paramname)
local function generate_obj(term)
return {term = term}
end
local param_mods = {
t = {
-- [[Module:links]] expects the gloss in "gloss".
item_dest = "gloss",
},
gloss = {},
-- No tr=, ts=, or sc=; doesn't make sense for Polish.
pos = {},
alt = {},
lit = {},
id = {},
g = {
-- [[Module:links]] expects the genders in "genders".
item_dest = "genders",
sublist = true,
},
}
return parse_pron_modifier(arg, paramname, generate_obj, param_mods)
end
--[=[
Given a single word in `txt`, compute its "lightly phonetic" IPA representation. If there are multiple possible outputs
(e.g. because of -yka/-ika words or words with clitics such as -by- or -śmy/-ście), we signal this through special
symbols such as ALTSTRESS or capital letters (on input, capital letters have been lowercased so we can use capital
letters as special symbols). The actual generation of multiple outputs happens in multiword() after the full term's IPA
has been generated. Return two values: the IPA representation and the hyphenation.
]=]
local function single_word(data)
local txt, lang, lect = data.txt, data.lang, data.lect
-- This is the number of syllables before the penultimate syllable onto which to add the stress.
local penultimate_offset = 0
local is_prefix = not not txt:find("%-$")
local is_suffix = not not txt:find("^%-")
local unstressed = data.is_prep or is_prefix
-- If penultimate_offset > 0, add a second stress onto the penult.
local double_stress = false
function tsub(s, r)
local c
txt, c = rsubn(txt, s, r)
return c > 0
end
function tsub_repeatedly(s, r)
txt = rsub_repeatedly(txt, s, r)
end
function lg(s) return s[lang] or s[1] end
function tfind(s) return rfind(txt, s) end
if tfind("[Åå]") then error("Please replace å with á") end
-- Save indices of uppercase characters before setting everything lowercase.
local uppercase_indices
uppercase_indices = {}
local capitals = ("[A-Z%s]"):format(lg {
pl = "ĄĆĘŁŃÓŚŹŻ" --[[and the dialectal]] .. "ÁÉÔÛÝ" --[[and the MPl]] .. "ḾṔẂ",
szl = "ÃĆŁŃŌŎÔÕŚŹŻ",
csb = "ÔÒÃËÙÉÓĄŚŁŻŹĆŃ",
["zlw-slv"] = "ÃÉËÊÓÕÔÚÙŃŻ",
})
if tfind(capitals) then
local i = 1
local str = rsub(txt, "[.\"'^*+&]", "")
while rfind(str, capitals, i) do
local r, _ = rfind(str, capitals, i)
table.insert(uppercase_indices, r)
i = r + 1
end
end
if #uppercase_indices == 0 then
uppercase_indices = nil
end
txt = ulower(txt)
-- Replace digraphs with single capital letters to simplify the code below.
tsub("[crsd][hzżź]", {
cz = "C",
rz = "R",
sz = "S",
dz = "D",
ch = "H",
["dż"] = "Ż",
["dź"] = "Ź",
})
if lect == "mpl" then
tsub("b́", "B")
end
if lang == "zlw-slv" then
tsub("gh", "G")
tsub("y̆", "Y")
end
local function undo_digraph_replacement(txt)
return rsub(txt, "[CRSDHŻŹBG]", {
C = "cz",
R = "rz",
S = "sz",
D = "dz",
H = "ch",
["Ż"] = "dż",
["Ź"] = "dź",
B = "b́",
G = "gh",
Y = "y̆",
})
end
-- Vowels, both spelled and IPA vowels. To make the distinction easier, we separate the IPA-only vowels and
-- concatenate them at the end. For Polish, we additionally separate the spelled Middle Polish vowels.
local V_no_IU = lg {
pl = "aąeęioóuy" .. "áéôûý" .. "ɛɔɘ",
szl = "aãeéioōŏôõuy" .. "ɛɔɪ",
csb = "aãąeéëioôòóuùy" .. "ɛɜɔõɞ",
-- NOTE: DO NOT include ɔ̃ here because it's not a single Unicode character.
["zlw-slv"] = "aãāăeéëêEiĭoóõôŏuúùŭŭùyY" .. "ɛɪɔɵʉə",
}
local V = V_no_IU .. "IU"
local C = ("[^%sU.'\"]"):format(V_no_IU)
if txt:find("^%*") then
-- The symbol <*> before a word indicates it is unstressed.
unstressed = true
txt = txt:sub(2)
elseif txt:find("^%^+") then
-- The symbol <^> before a word indicates it is stressed on the antepenult,
-- <^^> on the ante-antepenult, etc.
penultimate_offset = txt:match("^(%^+)"):len()
txt = txt:sub(penultimate_offset + 1)
elseif txt:find("^&+") then
-- The symbol <&> before a word indicates it has double stress on both the antepenult (prescriptive) and on
-- the penult (colloquial); <&&> is similar but for ante-antepenult and penult, etc.
penultimate_offset = txt:match("^(&+)"):len()
txt = txt:sub(penultimate_offset + 1)
double_stress = true
elseif txt:find("^%+") then
-- The symbol <+> indicates the word is stressed regularly on the penult. This is useful
-- for avoiding the following checks to come into place.
txt = txt:sub(2)
else
if tfind(".+[łlb][iy]") then -- this first check is an optimization only
-- Some words endings trigger stress on the antepenult or ante-antepenult regularly.
if tfind("łybyśmy$") or tfind("libyśmy$") or tfind("łybyście$") or tfind("libyście$") then
penultimate_offset = 2
elseif tfind("ł[aoy]?by[mś]?$") or tfind("liby[mś]?$") then
penultimate_offset = 1
elseif tfind("łyśmy$") or tfind("liśmy$") or tfind("łyście$") or tfind("liście$") then
penultimate_offset = 1
double_stress = true
end
end
-- FIXME, is the following correct?
if lect == "mpl" then
if tfind(".+[yi]j.+") then
local endings = { "[ąáéo]", "[ée]j", "[áo]m", "ach" }
for _, v in ipairs(endings) do
if tfind(("[yi]j%s$"):format(v)) then
penultimate_offset = 1
-- FIXME: correct?
-- double_stress = true
end
end
end
end
end
-- TODO: mpl, csb, szl, zlw-slv
-- Syllabify common prefixes as separate; note that since we replaced digraphs above with single
-- chars, we need to use the replacement chars here. Longer prefixes must precede shorter subprefixes,
-- e.g. niedo- must precede nie- for the former to be recognized.
local prefixes = {
'a"?ero', '"?anty', '"?arcy', "bez",
"Ctero", "ćwierć", "dwu", "mało", "niby", "niedo", "nie",
"[pt]Ry", "pRed?", "roze?", "wielo", "współ", "wy",
-- <do-, na-, po-, o-, u-> would hit too many false positives
}
for _, prefix in ipairs(prefixes) do
if tfind("^" .. prefix) then
-- Make sure the suffix is followed by zero or more consonants (including - but not
-- including a syllable divider) followed by a vowel. We do this so that we don't put
-- a syllable divider when the user specified the divider in a different place.
tsub(("^(%s)(%s*[%s])"):format(prefix, C, V), "%1.%2")
break
end
end
-- syllabify common suffixes as separate
local suffixes = lg {
pl = {
"nąć",
"[sc]tw[aou]", "[sc]twie", "[sc]tw[eo]m", "[sc]twami", "[sc]twach",
"dztw[aou]", "dztwie", "dztw[eo]m", "dztwami", "dztwach",
"dł[aou]", "dł[eo]m", "dłami", "dłach",
"[czs]j[aeięąo]", "[czs]jom", "[czs]jami", "[czs]jach",
}, szl = {
"nōńć", "dło",
}, csb = {
"nąc", "dło"
}, ["zlw-slv"] = {
"nõc", "dlô"
},
}
for _, v in ipairs(suffixes) do
-- Make sure there's no syllable divider elsewhere in the consonant cluster
-- preceding the suffix. Same logic as above for prefixes.
if tsub(("([%s]%s*)(%s)$"):format(V, C, v), "%1.%2") then break end
end
-- Syllabify <-Ctka> as /Ct.ka/, e.g. in [[-istka]], [[haftka]], [[adiunktka]], [[abiturientka]], [[ćwiartka]],
-- [[adeptka]], etc. Same for any case form.
local C_before_t = "łrnfskp"
if tfind(("[%s][%s]+t[kc]"):format(V, C_before_t)) then
local endings = lg {
-- As with prefixes above, must use digraph replacement codes.
{ "k[aąęio]", "ce", "kaH", "kom", "kami" },
szl = { "k[aãio]", "ce", "kami", "kacj", "kacaH", "kōma" },
csb = { "k[aãąioôòùó]", "ce", "kami", "kacj", "kacaH", },
}
for _, ending in ipairs(endings) do
-- Make sure there's no syllable divider elsewhere in the consonant cluster
-- preceding the suffix. Same logic as above for prefixes.
if tsub(("([%s][%s]+t)(%s)$"):format(V, C_before_t, ending), "%1.%2") then
break
end
end
end
if lang == "pl" then
-- FIXME: Add support for other languages and lects.
-- Syllabify <-Ctny> as /Ct.ny/, and <-Ctnik> as <Ct.nik>; same for any case form.
if tfind(("[%s][%s]+tn"):format(V, C_before_t)) then
local endings = lg {
-- As with prefixes above, must use digraph replacement codes.
-- -ny
{ "n[yaeią]", "nego", "nej", "nyH", "nemu", "nymi?",
-- -nik, -nica
"nik[aui]?", "nikowi", "nikiem", "ników", "ni[kc]om", "ni[kc]ami", "ni[kc]aH", "nic[ayeęąo]?",
}
}
for _, ending in ipairs(endings) do
-- Make sure there's no syllable divider elsewhere in the consonant cluster
-- preceding the suffix. Same logic as above for prefixes.
if tsub(("([%s][%s]+t)(%s)$"):format(V, C_before_t, ending), "%1.%2") then
break
end
end
end
end
-- falling diphthongs <au> and <eu>, and diacriticised variants
tsub(lg { "([aeáé])u", csb = "([ae])ù" }, "%1U")
-- rising diphthongs with <iV>
tsub(("([^%s])" .. (lang == "zlw-slv" and "j" or "i") .. "([%s])"):format(V, V), "%1I%2")
-- Prevent palatalization of the special case kwazi-.
tsub("^kwazi", "kwaz-i")
-- Syllabify by adding a period (.) between syllables. There may already be user-supplied syllable divisions
-- (period or single quote), which we need to respect. This works by replacing each sequence of VC*V with
-- V.V, V.CV, V.TRV (where T is an obstruent and R is a liquid) or otherwise VTR.C+V or VC.C+V, i.e. if there are
-- multiple consonants, place the syllable boundary after the first TR sequence or otherwise the first consonant.
-- We need to repeat since each VC*V sequence overlaps the next one. Digraphs have already been replaced by single
-- capital letters.
--
-- FIXME: I don't believe it's necessarily correct in a sequence of obstruents to place the boundary after the
-- first one. I think we should respect the possible onsets.
tsub(("qu([%s])"):format(V), "Q%1") -- replace qu before vowel with Q for easier syllabifying
-- List of obstruents and liquids, including capital letters representing digraphs. We count rz as a liquid even
-- in Polish.
local obstruent = "bBcćCdDfgGhHkpṕQqsSśtxzźżŹŻ"
local liquid_no_w = "IjlrR"
local liquid = liquid_no_w .. "łwẃ"
-- We need to treat I (<i> in hiatus) as a consonant, and since we check for two vowels in a row, we don't want
-- U to be one of the second vowels.
tsub_repeatedly(("([%sU])(%s*)([%s])"):format(V_no_IU, C, V_no_IU), function(v1, cons, v2)
local cons_no_hyphen = cons:gsub("%-", "")
-- If there's only one consonant, or just an obstruent-liquid sequence, or any single consonant followed by
-- written i in hiatus, put the syllable break before the consonant(s); but don't do this for -ńj-, or -ńi-
-- in hiatus, or in the sequence -nii- (which later gets handled specially and converted to -ńji-).
if (ulen(cons_no_hyphen) < 2 or rfind(cons_no_hyphen, ("^[%s][%s]I?$"):format(obstruent, liquid)) or
rfind(cons_no_hyphen, ("^%sI$"):format(C))) and not rfind(cons_no_hyphen, "^ń[Ij]$") and
not (cons_no_hyphen == "nI" and v2 == "i") then
cons = "." .. cons
else
local nsubs
-- Don't syllabify [[niósłby]] as niósł.by or [[jabłczan]] as jabłczan.
-- FIXME: Not sure if this is quite right.
cons, nsubs = rsubn(cons, ("^(%%-?[%s]%%-?[%s])"):format(obstruent, liquid_no_w), "%1.")
if nsubs == 0 then
cons = rsub(cons, "^(%-?.)", "%1.")
end
end
return ("%s%s%s"):format(v1, cons, v2)
end)
tsub("Q", "qu") -- undo qu -> Q replacement
-- Ignore certain symbols and diacritics for the hyphenation.
local hyph = txt:gsub("['\"]", "."):gsub("^%.", ""):gsub("-", ""):gsub(",", "")
if lang == "zlw-slv" then
hyph = rsubn(hyph, "[IăĭŏŭYā]", {
["I"] = "j",
["ă"] = "a", ["ĭ"] = "i", ["ŏ"] = "o",
["ŭ"] = "u", ["Y"] = "y", ["ā"] = "a",
})
end
hyph = undo_digraph_replacement(hyph)
hyph = hyph:lower()
-- Restore uppercase characters.
if uppercase_indices then
-- str_i loops through all the characters of the string
-- list_i loops as above but doesn't count dots
-- array_i loops through the indices at which the capital letters are
local str_i, list_i, array_i = 1, 1, 1
function h_sub(x, y) return usub(hyph, x, y) end
while array_i <= #uppercase_indices do
if h_sub(str_i, str_i) ~= "." then
if list_i == uppercase_indices[array_i] then
hyph = ("%s%s%s"):format(h_sub(1,str_i-1), uupper(h_sub(str_i,str_i)), h_sub(str_i+1))
array_i = array_i + 1
end
list_i = list_i + 1
end
str_i = str_i + 1
end
end
tsub("'", "ˈ")
tsub('"', "ˌ")
txt = undo_digraph_replacement(txt)
-- handle <x>; must precede ch -> [x]; use - to prevent palatalization by following i
tsub("x", "ks-")
-- move syllable boundary between [ks] if preceded by a vowel
tsub(("([%s])([.ˈˌ])ks"):format(V), "%1k%2s")
-- handle digraphs
tsub("ch", "x")
tsub("[cs]z", { ["cz"]="t_ʂ", ["sz"]="ʂ" })
tsub("rz", "R")
tsub("d([zżź])", "d_%1")
tsub("qu", "kw")
if lect == "mpl" then tsub("b́", "bʲ") end
if lang == "zlw-slv" then tsub("gh", "ɣ") end
-- basic orthographical rules
-- replacements that are the same (almost) everywhere; can be overridden
local replacements = {
-- vowels
["e"] = "ɛ", ["o"] = "ɔ",
-- consonants
["c"] = "t_s", ["ć"] = "t_ɕ",
["ń"] = "ɲ", ["ś"] = "ɕ", ["ź"] = "ʑ",
["ł"] = "w", ["w"] = "v", ["ż"] = "ʐ",
["g"] = "ɡ", ["h"] = "x",
}
local function override(tbl)
for k, v in pairs(tbl) do
replacements[k] = v
end
end
-- not using lg() here for speed
if lang == "pl" then
override {
-- vowels
["ą"] = "ɔN", ["ę"] = "ɛN",
["ó"] = "u", ["y"] = "ɘ",
}
if lect then
override {
["é"] = "e", ["á"] = "ɒ",
}
if lect == "mpl" then
override {
["ę"] = "ɛ̃",
["ą"] = "ɔ̃",
["y"] = "ɨ",
["ó"] = "o",
["ł"] = "ɫ",
["ṕ"] = "pʲ",
["ḿ"] = "mʲ",
["ẃ"] = "vʲ",
}
-- <b́> has no unicode character and hence is handled above
else
override {
["ô"] = "wɔ",
["û"] = "wu",
["ý"] = "Y",
}
if lectdata.lects[lect].mid_o then
replacements["ó"] = "o"
elseif lect == "ekr" then
replacements["ó"] = "O"
end
if lectdata.lects[lect].front_y then
replacements["y"] = "Y"
end
if lectdata.lects[lect].dark_l then
replacements["ł"] = "ɫ"
replacements["l"] = "lʲ"
end
if lectdata.lects[lect].glottal_h then
replacements["h"] = "h"
end
end
end
tsub(".", replacements)
elseif lang == "szl" then
override {
-- vowels
["ō"] = "o", ["ŏ"] = "O",
["ô"] = "wɔ", ["õ"] = "ɔ̃",
["y"] = "ɪ",
}
tsub(".", replacements)
elseif lang == "csb" then
override {
-- vowels
["é"] = "e",
["ó"] = "o", ["ô"] = "ɞ", ["ë"] = "ɜ",
["ò"] = "wɛ", ["ù"] = "wu", ["y"] = "Y",
["ą"] = "ɔ̃",
}
tsub(".", replacements)
elseif lang == "zlw-slv" then
override {
-- vowels
["é"]="e",
["ó"]="o", ["ô"]="ɵ", ["ë"]="ə", ["ê"]="E",
["y"]="ɪ", ["ú"]="ʉ", ["ù"]="y",
["õ"]="ɔ̃", ["ā"]="aː", -- ãăĭŏŭ
-- breves remain (FIXME: correct?)
["ń"] = "n", -- purely etymological
}
tsub(".", replacements)
end
if lang == "csb" or lang == "zlw-slv" then
tsub("ʂ", "ʃ")
tsub("ʐ", "ʒ")
end
-- palatalization
local palatalize_into = { ["n"] = "ɲ", ["s"] = "ɕ", ["z"] = "ʑ" }
tsub("([nsz])([.ˈˌ]?)Ii", function (c, divider) return palatalize_into[c] .. divider .. "ji" end)
tsub("([nsz])I", function (c) return palatalize_into[c] end)
tsub("([nsz])i", function (c) return palatalize_into[c] .. "i" end)
-- velar assimilation
tsub("n([.ˈˌ]?[kɡx])", "ŋ%1")
-- voicing and devoicing
local devoice = {
["b"] = "p",
["d"] = "t",
["ɡ"] = "k",
["z"] = "s",
["v"] = "f",
["ʑ"] = "ɕ",
["ʐ"] = "ʂ",
["ʒ"] = "ʃ",
-- NOTE: was not here before but I think we need it for Polish; if we remove it, we have
-- to add x manually to `T` below, the list of unvoiced obstruents
["ɣ"] = "x",
["R"] = "S",
}
local trilled_rz = lang == "csb" or lang == "zlw-slv"
if not trilled_rz and lect then
trilled_rz = lectdata.lects[lect].trilled_rz
end
if trilled_rz then
devoice["R"] = nil
end
--if lang == "zlw-slv" then
-- devoice["ɣ"] = "x"
--end
local voice = {}
for k, v in pairs(devoice) do
voice[v] = k
end
local function concat_keys(tbl, exclude)
local keys = {}
for k, _ in pairs(tbl) do
if not exclude or not exclude[k] then
table.insert(keys, k)
end
end
return table.concat(keys)
end
-- Forward assimilation is only devoicing of <w> and <rz>. Backward assimilation both voices and devoices,
-- but <w> and <rz> do not cause backward assimilation. (Since we do forward assimilation first, occurrences
-- of <w> and <rz> following a voiceless obstruent should not occur in standard Polish when we do backward
-- assimilation, but <rz> may occur in lects that have trilled <rz>.) Note that in the event of <w> and <rz>
-- between a voiceless obstruent and a voiced one, forward assimilation will devoice them and then they will
-- get voiced again by backward assimilation.
local T_causes_forward_assim = concat_keys(voice)
local T_causes_backward_assim = T_causes_forward_assim
local T_gets_backward_assim = T_causes_forward_assim
local D_causes_backward_assim = concat_keys(devoice, {v = true, R = true})
local D_gets_backward_assim = concat_keys(devoice)
-- FIXME! The following operates only in Slovincian and I assume <w> and <rz> do not cause forward voicing
-- assimilation.
local D_causes_forward_assim = D_causes_backward_assim
local transparent_liquid = "rlɫw"
if trilled_rz then
-- FIXME! I hope this is correct.
transparent_liquid = transparent_liquid .. "R"
end
-- forward (progressive) assimilation of <w> and <rz>; proceeds left to right
tsub_repeatedly(("([%s]ʲ?[.ˈˌ]?[%s]?ʲ?[.ˈˌ]?)([vR])"):format(T_causes_forward_assim, transparent_liquid),
function(prev, cons)
return prev .. (cons == "v" and "f" or "S")
end
)
-- forward (progressive) assimilation of [ɣ] and [x] in Slovincian; proceeds left to right
if lang == "zlw-slv" then
-- FIXME! Does this occur across an intervening liquid, as in Polish?
tsub(("([%s][.ˈˌ]?)ɣ"):format(T_causes_forward_assim), "%1x")
tsub(("([%s][.ˈˌ]?)x"):format(D_causes_forward_assim), "%1ɣ")
end
-- final devoicing
if not data.is_prep then
tsub(("([%s])(ʲ?)$"):format(D_gets_backward_assim), function (a, b)
return devoice[a] .. b
end)
end
-- Backward (regressive) assimilation. It both voices and devoices, and needs to proceed right to left
-- in case of sequences of obstruents. The way to do that is to add a .* at the beginning of each pattern
-- to replace so we do the rightmost cluster first, and then repeat till nothing changes.
local prev_txt
local devoice_string = ("^(.*)([%s])(ʲ?[._ˈˌ]?[%s])"):format(
D_gets_backward_assim, T_causes_backward_assim)
local voice_string = ("^(.*)([%s])(ʲ?[._ˈˌ]?[%s])"):format(
T_gets_backward_assim, D_causes_backward_assim)
local function devoice_func(prev, c1, c2) return prev .. devoice[c1] .. c2 end
local function voice_func(prev, c1, c2) return prev .. voice[c1] .. c2 end
while txt ~= prev_txt do
prev_txt = txt
tsub(devoice_string, devoice_func)
tsub(voice_string, voice_func)
end
tsub("Y", "i")
if lang == "csb" then
tsub("([pbmfvkɡx])o", "%1wo")
tsub("vw", "w")
end
if lang == "zlw-slv" then
tsub("nj$", "n")
tsub("nj([^" .. V .. "])", "n%1")
tsub("ɲ([" .. V .. "])", "nj%1")
tsub("ɛ$", "ə")
end
if trilled_rz then
tsub("R", "r̝")
end
if lect ~= "mpl" then
tsub("S", "ʂ")
tsub("R", "ʐ")
end
if lang == "pl" then
-- nasal vowels
tsub("N([.ˈˌ]?[pb])", "m%1")
tsub("N([.ˈˌ]?[td]_[ɕʑ])", "ɲ%1")
tsub("N([.ˈˌ]?[td])", "n%1")
tsub("N([.ˈˌ]?[wl])", "%1")
if data.match_pl_p_output then
tsub("N([.ˈˌ]?[kɡ])", "ŋ%1")
tsub("ɛN$", "ɛ")
tsub("N([.ˈˌ]?[ɕʑ])", "ɲ%1")
tsub("N", "w̃")
else
tsub("N([.ˈˌ]?[kɡxɣ])", "ŋ%1")
-- For now, we have two outputs for final -ę for standard (nasal and non-nasal), but nasal-only
-- for Middle Polish and non-nasal-only for all modern dialects.
if not lect then
tsub("ɛN$", "Ẽ")
elseif lect ~= "mpl" then
tsub("ɛN$", "ɛ")
end
-- Turn this off for now; too simplistic.
-- tsub("ɔN$", "Õ")
tsub("N([.ˈˌ]?[ɕʑszʂʐ])", "Ñ%1")
tsub("N", "w̃")
end
end
-- Hyphen separator, e.g. to prevent palatalization of <kwazi->.
tsub("-", "")
tsub("_", OVERTIE)
tsub("I", "j")
tsub("U", "w")
-- Handles stress.
local function add_stress(first_penultimate_offset, second_penultimate_offset)
local stressed_txt
-- Return a regex that matches a syllable divider at the beginning of the appropriate syllable, where offset
-- counts backwards from the penultimate (1 = antepenultimate, 2 = ante-antepenultimate, etc.).
local function get_stress_regex(offset)
local regex = ""
for _ = 0, offset do
regex = regex .. "[^.ˌ]+[.ˌ]"
end
return "([.ˌ])(" .. regex .. "[^.ˌ]+)$"
end
if first_penultimate_offset < 0 then
-- Deals with initially stressed lects.
stressed_txt = is_suffix and txt or "ˈ" .. txt
else
local stress_regex = get_stress_regex(first_penultimate_offset)
stressed_txt = rsub(txt, stress_regex, function(syldiv, rest)
if syldiv == "ˌ" then
error("Attempt to assign primary stress to syllable already containing secondary stress: " .. txt)
else
return "ˈ" .. rest
end
end)
-- If no stress mark could have been placed, it can only be initial, e.g. in monosyllables or a 3-syllable
-- word when ante-antepenultimate stress is requested (e.g. [[szłybyśmy]]). Overly short suffixes (normally
-- single-syllable, but also disyllabic if stress is antepenultimate, etc.) don't get stress; nor do words
-- without vowels.
if not stressed_txt:find("ˈ") and rfind(stressed_txt, ("[%s]"):format(V)) and
(not is_suffix or rfind("[.ˌ]" .. stressed_txt, stress_regex)) then
stressed_txt = "ˈ" .. stressed_txt
end
end
if rfind(stressed_txt, "ˈˌ") then
error("Attempt to assign primary stress to syllable already containing secondary stress: " .. txt)
end
if second_penultimate_offset then
-- If the stress is farther back than penultimate and `second_penultimate_offset` is set, there is an
-- additional variant with stress on the specified syllable (penultimate or sometimes antepenultimate, in
-- the case of "ora" and "zag" lects with -śmy/-ście words not in -by-). We handle this by putting ALTSTRESS
-- at both stress points and converting this later to two outputs with appropriate qualifiers. Note that
-- this substitution may not succeed (e.g. if antepenultimate stress is called for but there are only two
-- syllables); that is fine and just means we don't get two outputs in this case.
stressed_txt = rsub(stressed_txt, "ˈ(.+)" .. get_stress_regex(second_penultimate_offset),
ALTSTRESS .. "%1" .. ALTSTRESS .. "%3")
end
return stressed_txt
end
local should_stress = not (unstressed or txt:find("ˈ"))
-- "Oscillating stress" lects have initial stress in some subvarieties; in others, normally penultimate, but
-- antepenultimate or ante-antepenultimate in words with clitics (-by-, -śmy/-ście). (That is, they behave like
-- standard Polish other than not having the colloquial penultimate stress with certain clitics.)
local oscillating_stress = lang == "pl" and (lect == "ora" or lect == "zag")
-- "Always initial stress" lects have initial stress in all subvarieties.
local always_initial_stress = lect and lectdata.lects[lect].initial_stress
local first_penultimate_offset, second_penultimate_offset
if oscillating_stress or always_initial_stress then
first_penultimate_offset = -1 -- initial stress
else
first_penultimate_offset = penultimate_offset
end
if oscillating_stress then
second_penultimate_offset = penultimate_offset
elseif always_initial_stress then
second_penultimate_offset = nil
else
-- Standard Polish stress; if double_stress is set and the first (prescriptive) stress is antepenultimate or
-- earlier, there's a second (colloquial) stress on the penultimate.
second_penultimate_offset = penultimate_offset > 0 and double_stress and 0 or nil
end
if should_stress then
txt = add_stress(first_penultimate_offset, second_penultimate_offset)
end
-- This must follow stress assignment because it depends on whether the E is stressed.
if lang == "zlw-slv" and tfind("E") then
txt = txt:gsub("([ˈˌ][^" .. V .. "]*)E", "%1i̯ɛ")
txt = txt:gsub("E$", "ə")
txt = txt:gsub("E", "ɛ")
end
if data.is_prep then
txt = txt .. "$"
end
return txt, hyph
end
-- Determine number of syllables of a pronunciation. For this to work, there must be either stress marks or syllable
-- divisions at each syllable boundary.
local function count_syllables(pron)
-- Convert prosodic boundaries to regular spaces; ignore stress markers at the beginning
-- of a word; and then count occurrences of spaces, syllable dividers and stress marks.
return 1 + ulen(rsub(rsub(rsub(pron:gsub(" | ", " "), " [ˈˌ]", " "), "^[%[/]?[ˈˌ]", ""), "[^.ˈˌ ]", ""))
end
-- Returns rhyme from a transcription.
local function do_rhyme(pron)
-- No rhymes for multiword terms.
if pron:find(" ") then
return nil
end
-- Combined list of single-Unicode-character vowels for all lects. FIXME: Consider using definition of V from above.
-- DO NOT include multi-character sequences such as ɛ̃ ɔ̃ i̯ aː because that will mess everything up. The regex below
-- looks for a sequence of non-vowels followed by a vowel and truncates the non-vowels. The above sequences have the
-- vowel first, which means things will work out fine without the diacritics included among the vowel characters.
local V = "aãăɒeɛɜɘiĭɨɪoõŏɔɞɵuŭʉy"
return {
rhyme = rsub(rsub(pron:gsub("^.*ˈ", ""), ("^[^%s]-([%s])"):format(V, V), "%1"), "[.ˌ]", ""),
num_syl = { count_syllables(pron) },
}
end
--[[
Handles a single input, returning a table of transcriptions. Returns also a string of hyphenation and a table of rhymes
if it is a single-word term.
--]]
local function multiword(term, lang, period, lect, match_pl_p_output)
if term:find("^raw:%[.+%]$") then
return {{ phonetic = term:gsub("^raw:", "") }}
end
local ipa, hyph
term = rsub(term, "%s*,%s*", " | ")
if term:find(" ") then
-- TODO: repeated
function lg(s)
return s[lang] or s[1]
end
local prepositions = lg {
{
"beze?", "na", "dla", "do", "ku", "nade?", "o", "ode?", "po", "pode?", "przede?", "przeze?", "przy",
"spode?", "u", "we?", "z[ae]?", "znade?", "zza",
-- clitic conjunctions and adverbs
"a", "i", "nie",
-- clitic pronouns; less common variants with stress need an explicit stress mark (e.g. [[mi]] = variant
-- of Greek letter [[my]] or the third note in a musical scale; [[go]] = the game of go; [[mu]] = the
-- sound "moo" of a cow; note that [[ci]] is also a stressed pronoun, the nominative virile plural of
-- [[ten]])
"mi", "ci", "cię", "go", "mu", "się",
}, szl = {
"bezy?", "na", "dlŏ", "d[oō]", "ku", "nady?", "ô", "ôdy?", "po", "pody?", "przedy?", "przezy?", "przi",
"spody?", "u", "w[ey]?", "z[aey]?", "[śs]", "znady?"
}, csb = {
"beze?", "na", "dlô", "do", "kù", "nade?", "ò", "òde?", "pò", "pòde?", "przede?", "przeze?", "przë",
"spòde?", "ù", "we?", "wew", "z[ae]?", "zez", "zeza", "zó", "znade?"
}, ["zlw-slv"] = {
"dlo", "dô", "na", "nade?", "przêde?", "przêze?", "przë", "pô", "pôde?", "sê?", "vô", "we?", "wôde?",
"wù", "za"
},
}
local ipaparts, hyphparts = {}, {}
local contains_preps = false
local words = rsplit(term, " +")
for i, word in ipairs(words) do
if word == "|" then
-- prosodic boundary, from a comma
table.insert(ipaparts, word)
if hyphparts[#hyphparts] then
hyphparts[#hyphparts] = hyphparts[#hyphparts] .. ","
else
hyphparts[1] = ","
end
else
local is_prep = false
if word == "nie" and words[i + 1] == "ma" then
is_prep = false
elseif word == "ma" and words[i - 1] == "nie" then
is_prep = true
else
for _, prep in ipairs(prepositions) do
if (rfind(word, ("^%s$"):format(prep))) then
is_prep = true
break
end
end
end
contains_preps = contains_preps or is_prep
local wordipa, wordhyph = single_word {
txt = word,
lang = lang,
is_prep = is_prep,
period = period,
lect = lect,
match_pl_p_output = match_pl_p_output,
}
table.insert(ipaparts, wordipa)
table.insert(hyphparts, wordhyph)
if i < #words then
local separator = is_prep and "‿" or " "
table.insert(ipaparts, separator)
table.insert(hyphparts, separator)
end
end
end
ipa = table.concat(ipaparts)
hyph = table.concat(hyphparts)
local function assimilate_preps(str)
local function assim(from, to, before)
str = rsub(str, ("%s(%%$‿[ˈˌ]?[%s])"):format(from, before), to .. "%1")
end
local T = "fptsʂɕkx"
assim("d", "t", T)
assim("v", "f", T)
assim("z", "s", T)
if lang == "szl" then
local D = "bdzʐʑɡ"
assim("s", "z", D)
assim("ɕ", "ʑ", D)
end
return rsub(str, "%$", "")
end
if contains_preps then
ipa = assimilate_preps(ipa)
-- Move stress before non-syllabic clitics attached with tie bar. FIXME: We should be using # or similar
-- at string boundaries to avoid the need to substitute twice.
local C = "[^" .. vowels .. "]"
ipa = rsub(ipa, ("([‿ ])(%s+)‿([ˈˌ])"):format(C), "%1%3%2")
ipa = rsub(ipa, ("^(%s+)‿([ˈˌ])"):format(C), "%2%1‿")
end
else
ipa, hyph = single_word {
txt = term,
lang = lang,
is_prep = false,
period = period,
lect = lect,
match_pl_p_output = match_pl_p_output,
}
end
local result = {{
pron = ipa,
norhyme = false,
}}
-- Map over each element in `result`. If `from` is found in the element, replace the element with up to three
-- elements, respectively replacing `from` with `to1` (with accent qualifiers `a1`), `to2` (with accent qualifiers
-- `a2`) and `to3` (with accent qualifiers `a3`). If `to2` or `to3` are nil, no replacement is done for them.
-- If `nr1` is true, this variant should not have rhymes generated; likewise for `nr2` and `nr3`.
local function flatmap_and_sub_post(from, to1, a1, nr1, to2, a2, nr2, to3, a3, nr3)
local any_change = false
result = flatmap(result, function(item)
if rfind(item.pron, from) then
any_change = true
local retval = {
{
pron = rsub(item.pron, from, to1),
a = combine_qualifiers(item.a, a1),
norhyme = item.norhyme or nr1,
}
}
if to2 then
table.insert(retval,
{
pron = rsub(item.pron, from, to2),
a = combine_qualifiers(item.a, a2),
norhyme = item.norhyme or nr2,
}
)
end
if to3 then
table.insert(retval,
{
pron = rsub(item.pron, from, to3),
a = combine_qualifiers(item.a, a3),
norhyme = item.norhyme or nr3,
}
)
end
return retval
else
return {item}
end
end)
return any_change
end
-- Replace the first ALTSTRESS with a syllable divider but not at the beginning of a word.
local function stress_second(before_first, before_second)
if before_first == "" then
return before_second .. "ˈ"
else
return before_first .. "." .. before_second .. "ˈ"
end
end
if lang == "pl" and lect == "ekr" then
flatmap_and_sub_post("O", "o", {"pre-21<sup>st</sup> c."}, false, "u", {"21<sup>st</sup> c."}, false)
elseif lang == "pl" and lect == "mpl" then
if period == "early" then
flatmap_and_sub_post("[RS]", "r̝", nil, false)
elseif period == "late" then
flatmap_and_sub_post("[RS]", {R = "ʐ", S = "ʂ"}, nil, false)
elseif not period then
flatmap_and_sub_post("[RS]", "r̝", {"16<sup>th</sup> c."}, false,
{R = "ʐ", S = "ʂ"}, {"17<sup>th</sup>–18<sup>th</sup> c."}, false)
else
error(("'%s' is not a supported Middle Polish period; try with 'early' or 'late'"):format(period))
end
elseif lang == "pl" and lect == "ora" then
flatmap_and_sub_post("([^ ‿]*)" .. ALTSTRESS .. "([^ ‿]-)" .. ALTSTRESS, "%1ˈ%2.", {"Poland"}, false,
stress_second, {"Slovakia"}, false)
elseif lang == "pl" and lect == "zag" then
flatmap_and_sub_post("([^ ‿]*)" .. ALTSTRESS .. "([^ ‿]-)" .. ALTSTRESS, stress_second, {"north"}, false,
"%1ˈ%2.", {"south"}, false)
elseif lang == "pl" then
flatmap_and_sub_post("([^ ‿]*)" .. ALTSTRESS .. "([^ ‿]-)" .. ALTSTRESS, "%1ˈ%2.", {"prescriptive"}, false,
stress_second, {"colloquial"}, false)
elseif lang == "szl" then
flatmap_and_sub_post("O", "ɔ", {"non-Western"}, false, "ɔw", {"Western"}, false, "ɛw", {"Głogówek"}, false)
end
-- Two outputs from nasal before sibilant, if not converted to one above.
flatmap_and_sub_post("Ñ([.ˈˌ]?)([szɕʑʂʐ])", "w̃%1%2", nil, false, function(syldiv, sib)
return ((sib == "ɕ" or sib == "ʑ") and "ɲ" or "n") .. syldiv .. sib
end, nil, true)
flatmap_and_sub_post("Ẽ", "ɛ", {"normal speech"}, true, "ɛw̃", {"careful speech"}, false)
-- Turn this off for now; too simplistic.
-- flatmap_and_sub_post("Õ", "ɔw̃", {"standard"}, false, "ɔm", {"regional", "or", "dialectal", "proscribed"}, true)
while true do
-- Make all primary stresses but the last one in a given word be secondary.
-- FIXME: Remove this.
if not flatmap_and_sub_post("([^ ‿]*)ˈ([^ ‿]-)ˈ", "%1ˌ%2ˈ") then
break
end
track("two-primary-stresses-in-word")
end
return result, hyph
end
-- Given a single substitution spec, `to`, figure out the corresponding value of `from` used in a complete
-- substitution spec. `pagename` is the name of the page, either the actual one or taken from the `pagename` param.
-- `anchor_begin`, if set, indicates that the match must be to the beginning of a word (it was preceded by ~).
-- `anchor_end`, if set, indicates that the match must be to the end of a word (it was followed by ~). If there is a
-- second return value, it indicates that the `from` is a Lua pattern and doesn't need to be pattern-escaped.
local function convert_single_substitution_to_original(to, pagename, anchor_begin, anchor_end)
-- Replace specially-handled characters with a class matching the character and possible replacements.
local escaped_from = to
-- If the entire single substitution spec is one of the special stress-controlling symbols (&, &&, +, etc.),
-- place it at the very beginning of the pagename. We do this by returning a Lua pattern that matches the
-- beginning of the string, using the %f notation. (%f[^%z] means a transition from %z, or the NUL character, to
-- not-%z; strings are treated for this purpose as if they begin and end with a NUL character.)
if escaped_from:find("^[+*^&]+$") then
return "%f[^%z]", true
end
escaped_from = escaped_from:gsub("[.'\"]", "")
-- Call the equivalent of pattern_escape() in [[Module:string utilities]] but leave out +, *, ^ and -, which we match below.
local chars = {
["\0"] = "%z", ["$"] = "%$", ["%"] = "%%", ["("] = "%(", [")"] = "%)",
["."] = "%.", ["?"] = "%?", ["["] = "%[", ["]"] = "%]",
}
escaped_from = escaped_from:gsub("[%z$%%().?[%]]", chars)
-- A special stress-controlling symbol (&, &&, +, etc.) that occurs in a single substitution expression but
-- is not the entire expression matches the beginning of a word. (Contrast the case above when the symbol stands
-- alone and matches the beginning of the entire term.) This makes it possible e.g. with an expression like
-- [[Koreańska Republika Ludowo-Demokratyczna]] to write the substitution spec [&R] and have it work; it matches
-- R at the beginning of a word and converts it to &R, which makes [[Republika]] have optional antepenultimate
-- stress. This must precede other replacements esp. k -> [kc]+, otherwise the + will wrongly get matched.
escaped_from = escaped_from:gsub("[&+*^]+", "%%f[%%a]")
-- j can match against i in e.g. [[aikido]] respelled <ajkido> and [[apeiron]] respelled <apejron>
escaped_from = escaped_from:gsub("j", "[ji]")
-- ń can match against n; in combination with the preceding, ńj can match against ni in e.g. [[Albania]] respelled
-- <Albańja>.
escaped_from = escaped_from:gsub("ń", "[ńn]")
-- k can match against c or cc in e.g. [[altocumulus]] respelled <altokumulus> or [[piccolo]] respelled <pikolo>
escaped_from = escaped_from:gsub("k", "[kc]+")
-- A hyphen can match against a hyphen or nothing in the original. We have to take into account escaping the hyphen
-- in the from side, adding a % sign in the replacement to escape the hyphen in the later rmatch, and escaping the
-- percent sign in the replacement.
escaped_from = escaped_from:gsub("%-", "%%-?")
-- A space can match against space or hyphen in the original, so e.g. [[agar-agar]] can use [ ] to respell it as
-- <agar agar>.
escaped_from = escaped_from:gsub(" ", "[ -]")
-- Middle Polish á can match against a, and similarly for é, ó, ḿ, ṕ, ẃ and b́. The latter is tricky because it's
-- two characters in Unicode. (Even though ó exists in modern Polish, Middle Polish often has ó where the spelling
-- has o, and sometimes vice-versa.)
escaped_from = escaped_from:gsub("á", "[aá]")
escaped_from = escaped_from:gsub("é", "[eé]")
escaped_from = escaped_from:gsub("ó", "[oó]")
escaped_from = escaped_from:gsub("ḿ", "[mḿ]")
escaped_from = escaped_from:gsub("ṕ", "[pṕ]")
escaped_from = escaped_from:gsub("ẃ", "[wẃ]")
escaped_from = escaped_from:gsub("b́", "b́?")
escaped_from = "(" .. escaped_from .. ")"
if anchor_begin then
escaped_from = "%f[%a]" .. escaped_from
end
if anchor_end then
escaped_from = escaped_from .. "%f[%A]"
end
local match = rmatch(pagename, escaped_from)
if match then
if match == to then
error(("Single substitution spec '%s' found in pagename '%s', replacement would have no effect"):
format(to, pagename))
end
return match
end
error(("Single substitution spec '%s' couldn't be matched to pagename '%s' (escaped_from: %s"):format(
to, pagename, mw.dumpObject(escaped_from)))
end
local function apply_substitution_spec(respelling, pagename, parse_err)
local subs = split_on_comma(rmatch(respelling, "^%[(.*)%]$"))
respelling = pagename
for _, sub in ipairs(subs) do
if sub:find("%^") or sub:find("%$") then
-- Changed to use ~ at beginning or end to avoid clashing with other use of ^; catch old uses
track("old-anchor-symbols")
end
local from, escaped_from, to, escaped_to, anchor_begin, anchor_end
if sub:find("^~") then
-- anchor at beginning
sub = rmatch(sub, "^~(.*)$")
anchor_begin = true
end
local already_escaped
if sub:find(":") then
from, to = rmatch(sub, "^(.-):(.*)$")
if from:find("~$") then
-- anchor at end
from = rmatch(from, "^(.*)~$")
anchor_end = true
end
else
if sub:find("~$") then
-- anchor at end
sub = rmatch(sub, "^(.*)~$")
anchor_end = true
end
to = sub
from, already_escaped = convert_single_substitution_to_original(to, pagename, anchor_begin, anchor_end)
end
if from then
escaped_from = already_escaped and from or m_str_utils.pattern_escape(from)
if anchor_begin then
escaped_from = "%f[%a]" .. escaped_from
end
if anchor_end then
escaped_from = escaped_from .. "%f[%A]"
end
escaped_to = m_str_utils.replacement_escape(to)
local subbed_respelling, nsubs = rsubn(respelling, escaped_from, escaped_to)
if nsubs == 0 then
parse_err(("Substitution spec %s -> %s didn't match processed pagename '%s'"):format(
from, to, respelling))
elseif nsubs > 1 then
parse_err(("Substitution spec %s -> %s matched multiple substrings in processed pagename '%s', add " ..
"more context"):format(from, to, respelling))
else
respelling = subbed_respelling
end
end
end
return respelling
end
-- This handles all the magic characters <*>, <^>, <&>, <+>, <.>, <#>.
local function normalise_input(term, pagename, paramname)
local function check_af(str, af, reg, repl, err_msg)
reg = reg:format(af)
if not rfind(str, reg) then
error(("The word %s does not %s with %s"):format(str, err_msg, af))
end
return str:gsub(reg, repl)
end
local function check_pref(str, pref) return check_af(str, pref, "^(%s)", "%1.", "start") end
local function check_suf(str, suf) return check_af(str, suf, "(%s)$", ".%1", "end") end
if term:find("^%[.*%]$") then
local function parse_err(msg)
-- Don't call make_parse_err() until we actually need to throw an error, to avoid unnecessarily loading
-- [[Module:parse utilities]].
require(parse_utilities_module).make_parse_err(paramname)(msg)
end
return apply_substitution_spec(term, pagename, parse_err)
end
if term == "#" then
-- The pound sign stands simply for {{PAGENAME}}.
return pagename
elseif (term == "+") or term:find("^%^+$") or term:find("^&+$") or (term == "*") then
-- Inputs that are just '+', '*', '^', '^^', '&', '&&', etc. are treated as
-- if they contained the pagename with those symbols preceding it.
return term .. pagename
-- Handle syntax like <po.>, <.ka> and <po..ka>. This allows to not respell
-- the entire word when all is needed is to specify syllabification of a prefix
-- and/or a suffix.
elseif term:find(".+%.$") then
return check_pref(pagename, term:sub(1, -2))
elseif term:find("^%..+") then
return check_suf(pagename, term:sub(2))
elseif term:find(".+%.%..+") then
return check_suf(check_pref(pagename, term:gsub("%.%..+", "")), term:gsub(".+%.%.", ""))
end
return term
end
-- This converts the raw information, the arguments and pagename, into tables to be handed over to the IPA module.
-- It is called externally by [[Module:zlw-lch-IPA/testcases/driver]].
function export.get_lect_pron_info(terms, pagename, paramname, lang, lect, period, match_pl_p_output)
if #terms == 1 and terms[1].respelling == "-" then
return {
pron_list = nil,
rhyme_list = {},
hyph_list = {},
}
end
local pron_list = {}
local rhyme_list = {}
local hyph_list = {}
local brackets = "/%s/"
if lect then
if lectdata.lects[lect].phonetic then
brackets = "[%s]"
end
end
-- Loops over the terms given as arguments.
for _, term in ipairs(terms) do
local respelling = term.respelling
-- Handles magic symbols in the input.
respelling = normalise_input(respelling, pagename, paramname)
-- Obtains the transcription and hyphenation for the current index.
local prons, hyph = multiword(respelling, lang, period, lect, match_pl_p_output)
for i, pron in ipairs(prons) do
if pron.phonetic then
table.insert(pron_list, {
pron = pron.phonetic,
pron_with_syldivs = pron.phonetic,
q = term.q,
qq = term.qq,
a = term.a,
aa = term.aa,
refs = i == 1 and term.refs or nil,
})
else
local bracketed_pron = brackets:format(pron.pron)
table.insert(pron_list, {
pron = bracketed_pron,
pron_with_syldivs = bracketed_pron,
q = term.q,
qq = term.qq,
a = combine_qualifiers(pron.a, term.a),
aa = term.aa,
refs = i == 1 and term.refs or nil,
})
if not pron.norhyme then
-- Make sure to pass a version of the pronunciation with syllable dividers.
table.insert(rhyme_list, do_rhyme(pron.pron, lang))
end
end
end
-- If a hyphenation value had been returned by multiword(), make sure it matches the pagename; otherwise
-- don't add. FIXME: This should be smarter in the presence of hyphens in the lemma.
if hyph and hyph:gsub("%.", ""):gsub("‿", " ") == pagename then
m_table.insertIfNot(hyph_list, hyph)
end
end
return {
pron_list = pron_list,
hyph_list = hyph_list,
rhyme_list = rhyme_list,
}
end
function export.get_lect_pron_info_bot(frame)
local iargs = require("Module:parameters").process(frame.args, {
[1] = {},
["lang"] = { default = "pl" },
["lect"] = {},
["period"] = {},
["pagename"] = {}, -- for debugging or demonstration only
["plp"] = { list = true },
["match_pl_p_output"] = { type = "boolean" },
})
local termspec = iargs[1] or "#"
local terms = parse_respellings_with_modifiers(termspec, 1)
local retval = export.get_lect_pron_info(
terms,
iargs.pagename or mw.loadData("Module:headword/data").pagename,
"[from bot]",
iargs.lang,
iargs.lect,
iargs.period,
iargs.match_pl_p_output
)
if iargs.plp[1] then
retval.plp_prons = {}
for _, plp in ipairs(iargs.plp) do
table.insert(retval.plp_prons, "/" .. require("Module:pl-IPA").convert_to_IPA(plp) .. "/")
end
end
return require("Module:JSON").toJSON(retval)
end
function export.show(frame)
local ilang = frame.args.lang
if ilang == "pl" then
lectdata = require("Module:zlw-lch-IPA/data/pl")
end
local process_args = {
[1] = {},
["hyphs"] = {}, ["h"] = { alias_of = "hyphs" },
["rhymes"] = {}, ["r"] = { alias_of = "rhymes" },
["audios"] = {}, ["a"] = { alias_of = "audios" },
["homophones"] = {}, ["hh"] = { alias_of = "homophones" },
["pagename"] = {}, -- for debugging or demonstration only
["indent"] = {},
}
if ilang == "pl" then
process_args["mpl_period"] = {}
process_args["mp_period"] = { alias_of = "mpl_period" }
for lect, _ in pairs(lectdata.lects) do
process_args[lect] = {}
end
for alias, lect in pairs(lectdata.lect_aliases) do
process_args[alias] = { alias_of = lect }
end
end
local args = require("Module:parameters").process(frame:getParent().args, process_args)
local lang = require("Module:languages").getByCode(ilang, true, "allow etym")
local termspec = args[1] or "#"
local terms = parse_respellings_with_modifiers(termspec, 1)
local pagename = args.pagename or mw.loadData("Module:headword/data").pagename
local indent = args.indent or "*"
local pronobj = export.get_lect_pron_info(terms, pagename, 1, ilang)
local hyph_list, rhyme_list = pronobj.hyph_list, pronobj.rhyme_list
local hyph_automatic = true
local do_hyph
local pl_lect_prons
if ilang == "pl" then
for lect, _ in pairs(lectdata.lects) do
if args[lect] then
if pl_lect_prons == nil then pl_lect_prons = {} end
pl_lect_prons[lect] = export.get_lect_pron_info(
parse_respellings_with_modifiers(args[lect], lect), pagename, lect, "pl", lect,
args[lect .. "_period"]
).pron_list
end
end
end
if args.hyphs then
hyph_automatic = false
if args.hyphs == "-" then
do_hyph = false
else
hyph_list = split_on_comma(args.hyphs)
do_hyph = true
end
elseif terms[1].respelling == "-" then
do_hyph = false
else
do_hyph = true
end
if args.rhymes then
if args.rhymes == "-" then
rhyme_list = {}
elseif args.rhymes ~= "+" then
rhyme_list = {}
for _, rhyme in ipairs(split_on_comma(args.rhymes)) do
if rfind(rhyme, ".+/.+") then
table.insert(rhyme_list, {
rhyme = rsub(rhyme, "/.+", ""),
num_syl = { tonumber(rsub(rhyme, ".+/", "")) },
})
else
error(("The manual rhyme %s did not specify syllable number as RHYME/NUM_SYL"):format(rhyme))
end
end
end
end
-- This deals with duplicate values in rhymes.
if #rhyme_list > 0 then
local temp_rhyme_list = {}
local indices = {}
for _, rhymeobj in ipairs(rhyme_list) do
local index = indices[rhymeobj.rhyme]
if index == nil then
table.insert(temp_rhyme_list, rhymeobj)
indices[rhymeobj.rhyme] = #temp_rhyme_list
else
local different_num_syl = true
for _, ns in ipairs(temp_rhyme_list[index].num_syl) do
if ns == rhymeobj.num_syl[1] then
different_num_syl = false
break
end
end
if different_num_syl then
table.insert(temp_rhyme_list[index].num_syl, rhymeobj.num_syl[1])
end
end
end
rhyme_list = temp_rhyme_list
end
local m_IPA_format = require("Module:IPA").format_IPA_full
local parts = {}
local function ins(text)
table.insert(parts, text)
end
local do_collapse = false
if pronobj.pron_list then
if pl_lect_prons then
do_collapse = true
ins('<div class="vsSwitcher" data-toggle-category="pronunciations" style="width: {width}em; max-width:100%;"><span class="vsToggleElement" style="float: right;"> </span>\n')
end
ins(indent .. m_IPA_format(lang, pronobj.pron_list))
end
local em_length
if pl_lect_prons then
if do_collapse then
ins('\n<div class="vsHide">\n')
end
local m_format_qualifiers = require("Module:accent qualifier").format_qualifiers
-- First groups the lects into their lect groups.
local grouped_lects = {}
for lect, lect_prons in pairs(pl_lect_prons) do
local lect_group = lectdata.lects[lect].group
if grouped_lects[lect_group] == nil then grouped_lects[lect_group] = {} end
table.insert(grouped_lects[lect_group], { code = lect, prons = lect_prons })
end
-- And then displays each group in order.
local maxlen = 0
local function display_lect(value, indentation)
local formatted = ("%s%s %s"):format(indentation,
m_format_qualifiers(lang, { lectdata.lects[value.code].name }),
m_IPA_format(lang, value.prons)
)
maxlen = math.max(maxlen, textual_len(formatted))
ins("\n" .. formatted)
end
for group_index = 1, #lectdata.lect_groups do
local lects = grouped_lects[group_index]
local group = lectdata.lect_groups[group_index]
if lects ~= nil then
if group.single_lect then
display_lect(lects[1], indent)
else
-- Checks to indent Goral under Lesser Polish.
additional_indent = ""
if group.indent_with_prec then
additional_indent = "*"
if grouped_lects[group_index - 1] == nil then
ins("\n*" .. m_format_qualifiers(lang, { lectdata.lect_groups[group_index - 1].name }) .. ":")
end
end
-- Lect group header.
ins("\n*" .. additional_indent .. m_format_qualifiers(lang, { group.name }) .. ":")
-- The lects are sorted according to their <index> value.
table.sort(lects, function (a, b) return lectdata.lects[a.code].index < lectdata.lects[b.code].index end)
for _, lect in ipairs(lects) do
display_lect(lect, "**" .. additional_indent)
end
end
end
end
if do_collapse then
ins('\n</div></div>\n')
end
em_length = math.floor(maxlen * 0.68)
end
if args.audios then
local format_audio = require("Module:audio").format_audio
local audio_objs = parse_audio(lang, args.audios, pagename, "audios")
local num_audios = #audio_objs
for i, audio_obj in ipairs(audio_objs) do
if num_audios > 1 and not audio_obj.caption then
audio_obj.caption = "Audio " .. i
end
ins("\n" .. indent .. " " .. format_audio(audio_obj))
end
end
if #rhyme_list > 0 then
ins("\n" .. indent .. " " .. require("Module:rhymes").format_rhymes { lang = lang, rhymes = rhyme_list })
end
if do_hyph then
ins("\n" .. indent .. " ")
if #hyph_list > 0 then
local hyphs = {}
local seen_num_pron_syls
if pronobj.pron_list then
-- Compute the number of syllables for each pronunciation, for use below.
seen_num_pron_syls = {}
for _, pronobj in ipairs(pronobj.pron_list) do
local pron = pronobj.pron_with_syldivs
local num_pron_syls = count_syllables(pron)
m_table.insertIfNot(seen_num_pron_syls, {pron = pron, nsyl = num_pron_syls})
end
end
for i, hyph in ipairs(hyph_list) do
hyphs[i] = { hyph = {} }
for syl in hyph:gmatch("[^.]+") do
table.insert(hyphs[i].hyph, syl)
end
if pronobj.pron_list then
-- Match each syllabification against the syllable counts of all pronunciations, since we don't have
-- any alignment between the two. Only complain if the syllable count of the syllabification doesn't
-- match the syllable count of any pronunciation.
local num_hyph_syls = 1 + #(hyph:gsub("[^. ]", ""))
local matched = false
for _, num_pron_syls in ipairs(seen_num_pron_syls) do
if num_pron_syls.nsyl == num_hyph_syls then
matched = true
break
end
end
if not matched then
local prons_and_sylcounts = {}
for _, num_pron_syls in ipairs(seen_num_pron_syls) do
table.insert(prons_and_sylcounts, ("%s:%s"):format(num_pron_syls.pron, num_pron_syls.nsyl))
end
mw.log(("Syllable count %s for syllabification '%s' doesn't match pronunciation syllable count(s) %s for '%s'"):format(
num_hyph_syls, hyph, table.concat(prons_and_sylcounts, ","), pagename))
if mw.title.getCurrentTitle().nsText == "" then
ins(("[[Category:%s entries with Template:%s-pr with %s syllabification syllable count mismatch]]"):format(
lang:getFullName(), ilang, hyph_automatic and "automatic" or "manual"))
end
end
end
end
ins(require("Module:hyphenation").format_hyphenations {
lang = lang, hyphs = hyphs, caption = "分綴"
})
else
ins("分綴: <small>[please specify syllabification manually]</small>")
if mw.title.getCurrentTitle().nsText == "" then
ins(("[[Category:%s entries with Template:%s-pr without syllabification]]"):format(
lang:getFullName(), ilang))
end
end
end
if args.homophones then
local homophone_list = parse_homophones(args.homophones, "homophones")
ins("\n" .. indent .. " " .. require("Module:homophones").format_homophones {
lang = lang,
homophones = homophone_list,
})
end
local ret = table.concat(parts)
if em_length then
ret = m_str_utils.gsub(ret, "{width}", em_length)
end
return ret
end
return export
a7ud8ehu3eknnvz9380uzi0e4ys0s3w
2328222
2328209
2026-08-16T22:26:56Z
Kuroco2k
84207
2328222
Scribunto
text/plain
local export = {}
local m_str_utils = require("Module:string utilities")
local m_table = require("Module:table")
local audio_module = "Module:audio"
local links_module = "Module:links"
local parse_utilities_module = "Module:parse utilities"
local u = m_str_utils.char
local rfind = m_str_utils.find
local rmatch = m_str_utils.match
local rsplit = m_str_utils.split
local rsubn = m_str_utils.gsub
local ulen = m_str_utils.len
local ulower = m_str_utils.lower
local uupper = mw.ustring.upper
local usub = mw.ustring.sub
local OVERTIE = u(0x361) -- COMBINING DOUBLE INVERTED BREVE
local vowels = "aãăɒeɛɜɘiĭɨɪoõŏɔɞɵuŭʉy"
-- In cases where there are two possible stresses (e.g. in words ending in -ika/-yka), we put ALTSTRESS where both
-- stresses can go, and handle this later in multiword().
local ALTSTRESS = u(0xFFF0)
-- Lect data later retrieved in the module.
local lectdata
-- FIXME: Implement optional assimilation across word boundaries.
local assimilate_across_word_boundaries = false
local function track(page)
require("Module:debug/track")("zlw-lch-IPA/" .. page)
return true
end
-- Version of rsubn() that discards all but the first return value.
local function rsub(term, foo, bar)
local retval = rsubn(term, foo, bar)
return retval
end
-- apply rsub() repeatedly until no change
local function rsub_repeatedly(term, foo, bar)
while true do
local new_term = rsub(term, foo, bar)
if new_term == term then
return term
end
term = new_term
end
end
-- Flat-map a function `fun` over `items`. This is like `map` over a sequence followed by `flatten`, i.e. the function
-- must itself return a sequence and all of the returned sequences are flattened into a single sequence.
local function flatmap(items, fun)
local new = {}
for _, item in ipairs(items) do
local results = fun(item)
for _, result in ipairs(results) do
m_table.insertIfNot(new, result)
end
end
return new
end
-- Combine two sets of qualifiers, either of which may be nil or a list of qualifiers. Remove duplicate qualifiers.
-- Return value is nil or a list of qualifiers.
local function combine_qualifiers(qual1, qual2)
if not qual1 then
return qual2
end
if not qual2 then
return qual1
end
local qualifiers = m_table.deepcopy(qual1)
for _, qual in ipairs(qual2) do
m_table.insertIfNot(qualifiers, qual)
end
return qualifiers
end
local function split_on_comma(term)
if not term then
return nil
end
if term:find(",%s") or term:find("\\") then
return require(parse_utilities_module).split_on_comma(term)
else
return rsplit(term, ",")
end
end
-- Remove any HTML from the formatted text and resolve links, since the extra characters don't contribute to the
-- displayed length.
local function convert_to_raw_text(text)
text = rsub(text, "<.->", "")
if text:find("%[%[") then
text = require(links_module).remove_links(text)
end
return text
end
-- Return the approximate displayed length in characters.
local function textual_len(text)
return ulen(convert_to_raw_text(text))
end
local function parse_respellings_with_modifiers(respelling, paramname)
local function generate_obj(respelling, parse_err)
return {respelling = respelling}
end
if respelling:find("[<%[]") then
local put = require(parse_utilities_module)
-- Parse balanced segment runs involving either [...] (substitution notation) or <...> (inline modifiers).
-- We do this because we don't want commas inside of square or angle brackets to count as respelling
-- delimiters. However, we need to rejoin square-bracketed segments with nearby ones after splitting
-- alternating runs on comma. For example, if we are given
-- "a[x]a<q:learned>,[vol:vôl,ks]<q:nonstandard>", after calling
-- parse_multi_delimiter_balanced_segment_run() we get the following output:
--
-- {"a", "[x]", "a", "<q:learned>", ",", "[vol:vôl,ks]", "", "<q:nonstandard>", ""}
--
-- After calling split_alternating_runs(), we get the following:
--
-- {{"a", "[x]", "a", "<q:learned>", ""}, {"", "[vol:vôl,ks]", "", "<q:nonstandard>", ""}}
--
-- We need to rejoin stuff on either side of the square-bracketed portions.
local segments = put.parse_multi_delimiter_balanced_segment_run(respelling, {{"<", ">"}, {"[", "]"}})
local comma_separated_groups = put.split_alternating_runs_on_comma(segments)
-- Process each value.
local retval = {}
for i, group in ipairs(comma_separated_groups) do
-- Rejoin runs that don't involve <...>.
local j = 2
while j <= #group do
if not group[j]:find("^<.*>$") then
group[j - 1] = group[j - 1] .. group[j] .. group[j + 1]
table.remove(group, j)
table.remove(group, j)
else
j = j + 2
end
end
local param_mods = {
q = {type = "qualifier"},
qq = {type = "qualifier"},
a = {type = "labels"},
aa = {type = "labels"},
ref = {item_dest = "refs", type = "references"},
}
table.insert(retval, put.parse_inline_modifiers_from_segments {
group = group,
arg = respelling,
props = {
paramname = paramname,
param_mods = param_mods,
generate_obj = generate_obj,
},
})
end
return retval
else
local retval = {}
for _, item in ipairs(split_on_comma(respelling)) do
table.insert(retval, generate_obj(item))
end
return retval
end
end
-- Parse a pronunciation modifier in `arg`, the argument portion in an inline modifier (after the prefix), which
-- specifies a pronunciation property such as rhyme, hyphenation/syllabification, homophones or audio. The argument
-- can itself have inline modifiers, e.g. <audio:Foo.ogg<a:Masovia>>. The allowed inline modifiers are specified
-- by `param_mods` (of the format expected by `parse_inline_modifiers()`); in addition to any modifiers specified
-- there, the modifiers <q:...>, <qq:...>, <a:...>, <aa:...> and <ref:...> are always accepted. `generate_obj` and
-- `parse_err` are like in `parse_inline_modifiers()` and specify respectively a function to generate the object into
-- which modifier properties are stored given the non-modifier part of the argument, and a function to generate an error
-- message (given the message). Normally, a comma-separated list of pronunciation properties is accepted and parsed,
-- where each element in the list can have its own inline modifiers and where no spaces are allowed next to the commas
-- in order for them to be recognized as separators. This can be overridden with `splitchar` (which can actually be a
-- Lua pattern). The return value is a list of property objects.
local function parse_pron_modifier(arg, paramname, generate_obj, param_mods, splitchar)
splitchar = splitchar or ","
if arg:find("<") then
param_mods.q = {type = "qualifier"}
param_mods.qq = {type = "qualifier"}
param_mods.a = {type = "labels"}
param_mods.aa = {type = "labels"}
param_mods.ref = {item_dest = "refs", type = "references"}
return require(parse_utilities_module).parse_inline_modifiers(arg, {
param_mods = param_mods,
generate_obj = generate_obj,
paramname = paramname,
splitchar = splitchar,
})
else
local retval = {}
local split_arg = splitchar == "," and split_on_comma(arg) or rsplit(arg, splitchar)
for _, term in ipairs(split_arg) do
table.insert(retval, generate_obj(term))
end
return retval
end
end
local function parse_audio(lang, arg, pagename, paramname)
local param_mods = {
IPA = {
sublist = true,
},
text = {},
t = {
item_dest = "gloss",
},
-- No tr=, ts=, or sc=; doesn't make sense for Polish.
gloss = {},
pos = {},
-- No alt=; text= already goes in alt=.
lit = {},
-- No id=; text= already goes in alt= and isn't normally linked.
g = {
item_dest = "genders",
sublist = true,
},
bad = {},
cap = {
item_dest = "caption",
},
}
local function process_special_chars(val)
if not val then
return val
end
return (val:gsub("[#~]", {
["#"] = pagename,
["~"] = pagename .. " się",
}))
end
local function generate_audio_obj(arg)
return {file = process_special_chars(arg)}
end
-- Split on semicolon instead of comma because some filenames have embedded commas not followed by a space
-- (typically followed by an underscore).
local retvals = parse_pron_modifier(arg, paramname, generate_audio_obj, param_mods, "%s*;%s*")
for i, retval in ipairs(retvals) do
retval.lang = lang
retval.text = process_special_chars(retval.text)
retval.caption = process_special_chars(retval.caption)
local textobj = require(audio_module).construct_audio_textobj(retval)
retval.text = textobj
-- Set to nil the fields that were moved into `retval.text`.
retval.gloss = nil
retval.pos = nil
retval.lit = nil
retval.genders = nil
end
return retvals
end
local function parse_homophones(arg, paramname)
local function generate_obj(term)
return {term = term}
end
local param_mods = {
t = {
-- [[Module:links]] expects the gloss in "gloss".
item_dest = "gloss",
},
gloss = {},
-- No tr=, ts=, or sc=; doesn't make sense for Polish.
pos = {},
alt = {},
lit = {},
id = {},
g = {
-- [[Module:links]] expects the genders in "genders".
item_dest = "genders",
sublist = true,
},
}
return parse_pron_modifier(arg, paramname, generate_obj, param_mods)
end
--[=[
Given a single word in `txt`, compute its "lightly phonetic" IPA representation. If there are multiple possible outputs
(e.g. because of -yka/-ika words or words with clitics such as -by- or -śmy/-ście), we signal this through special
symbols such as ALTSTRESS or capital letters (on input, capital letters have been lowercased so we can use capital
letters as special symbols). The actual generation of multiple outputs happens in multiword() after the full term's IPA
has been generated. Return two values: the IPA representation and the hyphenation.
]=]
local function single_word(data)
local txt, lang, lect = data.txt, data.lang, data.lect
-- This is the number of syllables before the penultimate syllable onto which to add the stress.
local penultimate_offset = 0
local is_prefix = not not txt:find("%-$")
local is_suffix = not not txt:find("^%-")
local unstressed = data.is_prep or is_prefix
-- If penultimate_offset > 0, add a second stress onto the penult.
local double_stress = false
function tsub(s, r)
local c
txt, c = rsubn(txt, s, r)
return c > 0
end
function tsub_repeatedly(s, r)
txt = rsub_repeatedly(txt, s, r)
end
function lg(s) return s[lang] or s[1] end
function tfind(s) return rfind(txt, s) end
if tfind("[Åå]") then error("Please replace å with á") end
-- Save indices of uppercase characters before setting everything lowercase.
local uppercase_indices
uppercase_indices = {}
local capitals = ("[A-Z%s]"):format(lg {
pl = "ĄĆĘŁŃÓŚŹŻ" --[[and the dialectal]] .. "ÁÉÔÛÝ" --[[and the MPl]] .. "ḾṔẂ",
szl = "ÃĆŁŃŌŎÔÕŚŹŻ",
csb = "ÔÒÃËÙÉÓĄŚŁŻŹĆŃ",
["zlw-slv"] = "ÃÉËÊÓÕÔÚÙŃŻ",
})
if tfind(capitals) then
local i = 1
local str = rsub(txt, "[.\"'^*+&]", "")
while rfind(str, capitals, i) do
local r, _ = rfind(str, capitals, i)
table.insert(uppercase_indices, r)
i = r + 1
end
end
if #uppercase_indices == 0 then
uppercase_indices = nil
end
txt = ulower(txt)
-- Replace digraphs with single capital letters to simplify the code below.
tsub("[crsd][hzżź]", {
cz = "C",
rz = "R",
sz = "S",
dz = "D",
ch = "H",
["dż"] = "Ż",
["dź"] = "Ź",
})
if lect == "mpl" then
tsub("b́", "B")
end
if lang == "zlw-slv" then
tsub("gh", "G")
tsub("y̆", "Y")
end
local function undo_digraph_replacement(txt)
return rsub(txt, "[CRSDHŻŹBG]", {
C = "cz",
R = "rz",
S = "sz",
D = "dz",
H = "ch",
["Ż"] = "dż",
["Ź"] = "dź",
B = "b́",
G = "gh",
Y = "y̆",
})
end
-- Vowels, both spelled and IPA vowels. To make the distinction easier, we separate the IPA-only vowels and
-- concatenate them at the end. For Polish, we additionally separate the spelled Middle Polish vowels.
local V_no_IU = lg {
pl = "aąeęioóuy" .. "áéôûý" .. "ɛɔɘ",
szl = "aãeéioōŏôõuy" .. "ɛɔɪ",
csb = "aãąeéëioôòóuùy" .. "ɛɜɔõɞ",
-- NOTE: DO NOT include ɔ̃ here because it's not a single Unicode character.
["zlw-slv"] = "aãāăeéëêEiĭoóõôŏuúùŭŭùyY" .. "ɛɪɔɵʉə",
}
local V = V_no_IU .. "IU"
local C = ("[^%sU.'\"]"):format(V_no_IU)
if txt:find("^%*") then
-- The symbol <*> before a word indicates it is unstressed.
unstressed = true
txt = txt:sub(2)
elseif txt:find("^%^+") then
-- The symbol <^> before a word indicates it is stressed on the antepenult,
-- <^^> on the ante-antepenult, etc.
penultimate_offset = txt:match("^(%^+)"):len()
txt = txt:sub(penultimate_offset + 1)
elseif txt:find("^&+") then
-- The symbol <&> before a word indicates it has double stress on both the antepenult (prescriptive) and on
-- the penult (colloquial); <&&> is similar but for ante-antepenult and penult, etc.
penultimate_offset = txt:match("^(&+)"):len()
txt = txt:sub(penultimate_offset + 1)
double_stress = true
elseif txt:find("^%+") then
-- The symbol <+> indicates the word is stressed regularly on the penult. This is useful
-- for avoiding the following checks to come into place.
txt = txt:sub(2)
else
if tfind(".+[łlb][iy]") then -- this first check is an optimization only
-- Some words endings trigger stress on the antepenult or ante-antepenult regularly.
if tfind("łybyśmy$") or tfind("libyśmy$") or tfind("łybyście$") or tfind("libyście$") then
penultimate_offset = 2
elseif tfind("ł[aoy]?by[mś]?$") or tfind("liby[mś]?$") then
penultimate_offset = 1
elseif tfind("łyśmy$") or tfind("liśmy$") or tfind("łyście$") or tfind("liście$") then
penultimate_offset = 1
double_stress = true
end
end
-- FIXME, is the following correct?
if lect == "mpl" then
if tfind(".+[yi]j.+") then
local endings = { "[ąáéo]", "[ée]j", "[áo]m", "ach" }
for _, v in ipairs(endings) do
if tfind(("[yi]j%s$"):format(v)) then
penultimate_offset = 1
-- FIXME: correct?
-- double_stress = true
end
end
end
end
end
-- TODO: mpl, csb, szl, zlw-slv
-- Syllabify common prefixes as separate; note that since we replaced digraphs above with single
-- chars, we need to use the replacement chars here. Longer prefixes must precede shorter subprefixes,
-- e.g. niedo- must precede nie- for the former to be recognized.
local prefixes = {
'a"?ero', '"?anty', '"?arcy', "bez",
"Ctero", "ćwierć", "dwu", "mało", "niby", "niedo", "nie",
"[pt]Ry", "pRed?", "roze?", "wielo", "współ", "wy",
-- <do-, na-, po-, o-, u-> would hit too many false positives
}
for _, prefix in ipairs(prefixes) do
if tfind("^" .. prefix) then
-- Make sure the suffix is followed by zero or more consonants (including - but not
-- including a syllable divider) followed by a vowel. We do this so that we don't put
-- a syllable divider when the user specified the divider in a different place.
tsub(("^(%s)(%s*[%s])"):format(prefix, C, V), "%1.%2")
break
end
end
-- syllabify common suffixes as separate
local suffixes = lg {
pl = {
"nąć",
"[sc]tw[aou]", "[sc]twie", "[sc]tw[eo]m", "[sc]twami", "[sc]twach",
"dztw[aou]", "dztwie", "dztw[eo]m", "dztwami", "dztwach",
"dł[aou]", "dł[eo]m", "dłami", "dłach",
"[czs]j[aeięąo]", "[czs]jom", "[czs]jami", "[czs]jach",
}, szl = {
"nōńć", "dło",
}, csb = {
"nąc", "dło"
}, ["zlw-slv"] = {
"nõc", "dlô"
},
}
for _, v in ipairs(suffixes) do
-- Make sure there's no syllable divider elsewhere in the consonant cluster
-- preceding the suffix. Same logic as above for prefixes.
if tsub(("([%s]%s*)(%s)$"):format(V, C, v), "%1.%2") then break end
end
-- Syllabify <-Ctka> as /Ct.ka/, e.g. in [[-istka]], [[haftka]], [[adiunktka]], [[abiturientka]], [[ćwiartka]],
-- [[adeptka]], etc. Same for any case form.
local C_before_t = "łrnfskp"
if tfind(("[%s][%s]+t[kc]"):format(V, C_before_t)) then
local endings = lg {
-- As with prefixes above, must use digraph replacement codes.
{ "k[aąęio]", "ce", "kaH", "kom", "kami" },
szl = { "k[aãio]", "ce", "kami", "kacj", "kacaH", "kōma" },
csb = { "k[aãąioôòùó]", "ce", "kami", "kacj", "kacaH", },
}
for _, ending in ipairs(endings) do
-- Make sure there's no syllable divider elsewhere in the consonant cluster
-- preceding the suffix. Same logic as above for prefixes.
if tsub(("([%s][%s]+t)(%s)$"):format(V, C_before_t, ending), "%1.%2") then
break
end
end
end
if lang == "pl" then
-- FIXME: Add support for other languages and lects.
-- Syllabify <-Ctny> as /Ct.ny/, and <-Ctnik> as <Ct.nik>; same for any case form.
if tfind(("[%s][%s]+tn"):format(V, C_before_t)) then
local endings = lg {
-- As with prefixes above, must use digraph replacement codes.
-- -ny
{ "n[yaeią]", "nego", "nej", "nyH", "nemu", "nymi?",
-- -nik, -nica
"nik[aui]?", "nikowi", "nikiem", "ników", "ni[kc]om", "ni[kc]ami", "ni[kc]aH", "nic[ayeęąo]?",
}
}
for _, ending in ipairs(endings) do
-- Make sure there's no syllable divider elsewhere in the consonant cluster
-- preceding the suffix. Same logic as above for prefixes.
if tsub(("([%s][%s]+t)(%s)$"):format(V, C_before_t, ending), "%1.%2") then
break
end
end
end
end
-- falling diphthongs <au> and <eu>, and diacriticised variants
tsub(lg { "([aeáé])u", csb = "([ae])ù" }, "%1U")
-- rising diphthongs with <iV>
tsub(("([^%s])" .. (lang == "zlw-slv" and "j" or "i") .. "([%s])"):format(V, V), "%1I%2")
-- Prevent palatalization of the special case kwazi-.
tsub("^kwazi", "kwaz-i")
-- Syllabify by adding a period (.) between syllables. There may already be user-supplied syllable divisions
-- (period or single quote), which we need to respect. This works by replacing each sequence of VC*V with
-- V.V, V.CV, V.TRV (where T is an obstruent and R is a liquid) or otherwise VTR.C+V or VC.C+V, i.e. if there are
-- multiple consonants, place the syllable boundary after the first TR sequence or otherwise the first consonant.
-- We need to repeat since each VC*V sequence overlaps the next one. Digraphs have already been replaced by single
-- capital letters.
--
-- FIXME: I don't believe it's necessarily correct in a sequence of obstruents to place the boundary after the
-- first one. I think we should respect the possible onsets.
tsub(("qu([%s])"):format(V), "Q%1") -- replace qu before vowel with Q for easier syllabifying
-- List of obstruents and liquids, including capital letters representing digraphs. We count rz as a liquid even
-- in Polish.
local obstruent = "bBcćCdDfgGhHkpṕQqsSśtxzźżŹŻ"
local liquid_no_w = "IjlrR"
local liquid = liquid_no_w .. "łwẃ"
-- We need to treat I (<i> in hiatus) as a consonant, and since we check for two vowels in a row, we don't want
-- U to be one of the second vowels.
tsub_repeatedly(("([%sU])(%s*)([%s])"):format(V_no_IU, C, V_no_IU), function(v1, cons, v2)
local cons_no_hyphen = cons:gsub("%-", "")
-- If there's only one consonant, or just an obstruent-liquid sequence, or any single consonant followed by
-- written i in hiatus, put the syllable break before the consonant(s); but don't do this for -ńj-, or -ńi-
-- in hiatus, or in the sequence -nii- (which later gets handled specially and converted to -ńji-).
if (ulen(cons_no_hyphen) < 2 or rfind(cons_no_hyphen, ("^[%s][%s]I?$"):format(obstruent, liquid)) or
rfind(cons_no_hyphen, ("^%sI$"):format(C))) and not rfind(cons_no_hyphen, "^ń[Ij]$") and
not (cons_no_hyphen == "nI" and v2 == "i") then
cons = "." .. cons
else
local nsubs
-- Don't syllabify [[niósłby]] as niósł.by or [[jabłczan]] as jabłczan.
-- FIXME: Not sure if this is quite right.
cons, nsubs = rsubn(cons, ("^(%%-?[%s]%%-?[%s])"):format(obstruent, liquid_no_w), "%1.")
if nsubs == 0 then
cons = rsub(cons, "^(%-?.)", "%1.")
end
end
return ("%s%s%s"):format(v1, cons, v2)
end)
tsub("Q", "qu") -- undo qu -> Q replacement
-- Ignore certain symbols and diacritics for the hyphenation.
local hyph = txt:gsub("['\"]", "."):gsub("^%.", ""):gsub("-", ""):gsub(",", "")
if lang == "zlw-slv" then
hyph = rsubn(hyph, "[IăĭŏŭYā]", {
["I"] = "j",
["ă"] = "a", ["ĭ"] = "i", ["ŏ"] = "o",
["ŭ"] = "u", ["Y"] = "y", ["ā"] = "a",
})
end
hyph = undo_digraph_replacement(hyph)
hyph = hyph:lower()
-- Restore uppercase characters.
if uppercase_indices then
-- str_i loops through all the characters of the string
-- list_i loops as above but doesn't count dots
-- array_i loops through the indices at which the capital letters are
local str_i, list_i, array_i = 1, 1, 1
function h_sub(x, y) return usub(hyph, x, y) end
while array_i <= #uppercase_indices do
if h_sub(str_i, str_i) ~= "." then
if list_i == uppercase_indices[array_i] then
hyph = ("%s%s%s"):format(h_sub(1,str_i-1), uupper(h_sub(str_i,str_i)), h_sub(str_i+1))
array_i = array_i + 1
end
list_i = list_i + 1
end
str_i = str_i + 1
end
end
tsub("'", "ˈ")
tsub('"', "ˌ")
txt = undo_digraph_replacement(txt)
-- handle <x>; must precede ch -> [x]; use - to prevent palatalization by following i
tsub("x", "ks-")
-- move syllable boundary between [ks] if preceded by a vowel
tsub(("([%s])([.ˈˌ])ks"):format(V), "%1k%2s")
-- handle digraphs
tsub("ch", "x")
tsub("[cs]z", { ["cz"]="t_ʂ", ["sz"]="ʂ" })
tsub("rz", "R")
tsub("d([zżź])", "d_%1")
tsub("qu", "kw")
if lect == "mpl" then tsub("b́", "bʲ") end
if lang == "zlw-slv" then tsub("gh", "ɣ") end
-- basic orthographical rules
-- replacements that are the same (almost) everywhere; can be overridden
local replacements = {
-- vowels
["e"] = "ɛ", ["o"] = "ɔ",
-- consonants
["c"] = "t_s", ["ć"] = "t_ɕ",
["ń"] = "ɲ", ["ś"] = "ɕ", ["ź"] = "ʑ",
["ł"] = "w", ["w"] = "v", ["ż"] = "ʐ",
["g"] = "ɡ", ["h"] = "x",
}
local function override(tbl)
for k, v in pairs(tbl) do
replacements[k] = v
end
end
-- not using lg() here for speed
if lang == "pl" then
override {
-- vowels
["ą"] = "ɔN", ["ę"] = "ɛN",
["ó"] = "u", ["y"] = "ɘ",
}
if lect then
override {
["é"] = "e", ["á"] = "ɒ",
}
if lect == "mpl" then
override {
["ę"] = "ɛ̃",
["ą"] = "ɔ̃",
["y"] = "ɨ",
["ó"] = "o",
["ł"] = "ɫ",
["ṕ"] = "pʲ",
["ḿ"] = "mʲ",
["ẃ"] = "vʲ",
}
-- <b́> has no unicode character and hence is handled above
else
override {
["ô"] = "wɔ",
["û"] = "wu",
["ý"] = "Y",
}
if lectdata.lects[lect].mid_o then
replacements["ó"] = "o"
elseif lect == "ekr" then
replacements["ó"] = "O"
end
if lectdata.lects[lect].front_y then
replacements["y"] = "Y"
end
if lectdata.lects[lect].dark_l then
replacements["ł"] = "ɫ"
replacements["l"] = "lʲ"
end
if lectdata.lects[lect].glottal_h then
replacements["h"] = "h"
end
end
end
tsub(".", replacements)
elseif lang == "szl" then
override {
-- vowels
["ō"] = "o", ["ŏ"] = "O",
["ô"] = "wɔ", ["õ"] = "ɔ̃",
["y"] = "ɪ",
}
tsub(".", replacements)
elseif lang == "csb" then
override {
-- vowels
["é"] = "e",
["ó"] = "o", ["ô"] = "ɞ", ["ë"] = "ɜ",
["ò"] = "wɛ", ["ù"] = "wu", ["y"] = "Y",
["ą"] = "ɔ̃",
}
tsub(".", replacements)
elseif lang == "zlw-slv" then
override {
-- vowels
["é"]="e",
["ó"]="o", ["ô"]="ɵ", ["ë"]="ə", ["ê"]="E",
["y"]="ɪ", ["ú"]="ʉ", ["ù"]="y",
["õ"]="ɔ̃", ["ā"]="aː", -- ãăĭŏŭ
-- breves remain (FIXME: correct?)
["ń"] = "n", -- purely etymological
}
tsub(".", replacements)
end
if lang == "csb" or lang == "zlw-slv" then
tsub("ʂ", "ʃ")
tsub("ʐ", "ʒ")
end
-- palatalization
local palatalize_into = { ["n"] = "ɲ", ["s"] = "ɕ", ["z"] = "ʑ" }
tsub("([nsz])([.ˈˌ]?)Ii", function (c, divider) return palatalize_into[c] .. divider .. "ji" end)
tsub("([nsz])I", function (c) return palatalize_into[c] end)
tsub("([nsz])i", function (c) return palatalize_into[c] .. "i" end)
-- velar assimilation
tsub("n([.ˈˌ]?[kɡx])", "ŋ%1")
-- voicing and devoicing
local devoice = {
["b"] = "p",
["d"] = "t",
["ɡ"] = "k",
["z"] = "s",
["v"] = "f",
["ʑ"] = "ɕ",
["ʐ"] = "ʂ",
["ʒ"] = "ʃ",
-- NOTE: was not here before but I think we need it for Polish; if we remove it, we have
-- to add x manually to `T` below, the list of unvoiced obstruents
["ɣ"] = "x",
["R"] = "S",
}
local trilled_rz = lang == "csb" or lang == "zlw-slv"
if not trilled_rz and lect then
trilled_rz = lectdata.lects[lect].trilled_rz
end
if trilled_rz then
devoice["R"] = nil
end
--if lang == "zlw-slv" then
-- devoice["ɣ"] = "x"
--end
local voice = {}
for k, v in pairs(devoice) do
voice[v] = k
end
local function concat_keys(tbl, exclude)
local keys = {}
for k, _ in pairs(tbl) do
if not exclude or not exclude[k] then
table.insert(keys, k)
end
end
return table.concat(keys)
end
-- Forward assimilation is only devoicing of <w> and <rz>. Backward assimilation both voices and devoices,
-- but <w> and <rz> do not cause backward assimilation. (Since we do forward assimilation first, occurrences
-- of <w> and <rz> following a voiceless obstruent should not occur in standard Polish when we do backward
-- assimilation, but <rz> may occur in lects that have trilled <rz>.) Note that in the event of <w> and <rz>
-- between a voiceless obstruent and a voiced one, forward assimilation will devoice them and then they will
-- get voiced again by backward assimilation.
local T_causes_forward_assim = concat_keys(voice)
local T_causes_backward_assim = T_causes_forward_assim
local T_gets_backward_assim = T_causes_forward_assim
local D_causes_backward_assim = concat_keys(devoice, {v = true, R = true})
local D_gets_backward_assim = concat_keys(devoice)
-- FIXME! The following operates only in Slovincian and I assume <w> and <rz> do not cause forward voicing
-- assimilation.
local D_causes_forward_assim = D_causes_backward_assim
local transparent_liquid = "rlɫw"
if trilled_rz then
-- FIXME! I hope this is correct.
transparent_liquid = transparent_liquid .. "R"
end
-- forward (progressive) assimilation of <w> and <rz>; proceeds left to right
tsub_repeatedly(("([%s]ʲ?[.ˈˌ]?[%s]?ʲ?[.ˈˌ]?)([vR])"):format(T_causes_forward_assim, transparent_liquid),
function(prev, cons)
return prev .. (cons == "v" and "f" or "S")
end
)
-- forward (progressive) assimilation of [ɣ] and [x] in Slovincian; proceeds left to right
if lang == "zlw-slv" then
-- FIXME! Does this occur across an intervening liquid, as in Polish?
tsub(("([%s][.ˈˌ]?)ɣ"):format(T_causes_forward_assim), "%1x")
tsub(("([%s][.ˈˌ]?)x"):format(D_causes_forward_assim), "%1ɣ")
end
-- final devoicing
if not data.is_prep then
tsub(("([%s])(ʲ?)$"):format(D_gets_backward_assim), function (a, b)
return devoice[a] .. b
end)
end
-- Backward (regressive) assimilation. It both voices and devoices, and needs to proceed right to left
-- in case of sequences of obstruents. The way to do that is to add a .* at the beginning of each pattern
-- to replace so we do the rightmost cluster first, and then repeat till nothing changes.
local prev_txt
local devoice_string = ("^(.*)([%s])(ʲ?[._ˈˌ]?[%s])"):format(
D_gets_backward_assim, T_causes_backward_assim)
local voice_string = ("^(.*)([%s])(ʲ?[._ˈˌ]?[%s])"):format(
T_gets_backward_assim, D_causes_backward_assim)
local function devoice_func(prev, c1, c2) return prev .. devoice[c1] .. c2 end
local function voice_func(prev, c1, c2) return prev .. voice[c1] .. c2 end
while txt ~= prev_txt do
prev_txt = txt
tsub(devoice_string, devoice_func)
tsub(voice_string, voice_func)
end
tsub("Y", "i")
if lang == "csb" then
tsub("([pbmfvkɡx])o", "%1wo")
tsub("vw", "w")
end
if lang == "zlw-slv" then
tsub("nj$", "n")
tsub("nj([^" .. V .. "])", "n%1")
tsub("ɲ([" .. V .. "])", "nj%1")
tsub("ɛ$", "ə")
end
if trilled_rz then
tsub("R", "r̝")
end
if lect ~= "mpl" then
tsub("S", "ʂ")
tsub("R", "ʐ")
end
if lang == "pl" then
-- nasal vowels
tsub("N([.ˈˌ]?[pb])", "m%1")
tsub("N([.ˈˌ]?[td]_[ɕʑ])", "ɲ%1")
tsub("N([.ˈˌ]?[td])", "n%1")
tsub("N([.ˈˌ]?[wl])", "%1")
if data.match_pl_p_output then
tsub("N([.ˈˌ]?[kɡ])", "ŋ%1")
tsub("ɛN$", "ɛ")
tsub("N([.ˈˌ]?[ɕʑ])", "ɲ%1")
tsub("N", "w̃")
else
tsub("N([.ˈˌ]?[kɡxɣ])", "ŋ%1")
-- For now, we have two outputs for final -ę for standard (nasal and non-nasal), but nasal-only
-- for Middle Polish and non-nasal-only for all modern dialects.
if not lect then
tsub("ɛN$", "Ẽ")
elseif lect ~= "mpl" then
tsub("ɛN$", "ɛ")
end
-- Turn this off for now; too simplistic.
-- tsub("ɔN$", "Õ")
tsub("N([.ˈˌ]?[ɕʑszʂʐ])", "Ñ%1")
tsub("N", "w̃")
end
end
-- Hyphen separator, e.g. to prevent palatalization of <kwazi->.
tsub("-", "")
tsub("_", OVERTIE)
tsub("I", "j")
tsub("U", "w")
-- Handles stress.
local function add_stress(first_penultimate_offset, second_penultimate_offset)
local stressed_txt
-- Return a regex that matches a syllable divider at the beginning of the appropriate syllable, where offset
-- counts backwards from the penultimate (1 = antepenultimate, 2 = ante-antepenultimate, etc.).
local function get_stress_regex(offset)
local regex = ""
for _ = 0, offset do
regex = regex .. "[^.ˌ]+[.ˌ]"
end
return "([.ˌ])(" .. regex .. "[^.ˌ]+)$"
end
if first_penultimate_offset < 0 then
-- Deals with initially stressed lects.
stressed_txt = is_suffix and txt or "ˈ" .. txt
else
local stress_regex = get_stress_regex(first_penultimate_offset)
stressed_txt = rsub(txt, stress_regex, function(syldiv, rest)
if syldiv == "ˌ" then
error("Attempt to assign primary stress to syllable already containing secondary stress: " .. txt)
else
return "ˈ" .. rest
end
end)
-- If no stress mark could have been placed, it can only be initial, e.g. in monosyllables or a 3-syllable
-- word when ante-antepenultimate stress is requested (e.g. [[szłybyśmy]]). Overly short suffixes (normally
-- single-syllable, but also disyllabic if stress is antepenultimate, etc.) don't get stress; nor do words
-- without vowels.
if not stressed_txt:find("ˈ") and rfind(stressed_txt, ("[%s]"):format(V)) and
(not is_suffix or rfind("[.ˌ]" .. stressed_txt, stress_regex)) then
stressed_txt = "ˈ" .. stressed_txt
end
end
if rfind(stressed_txt, "ˈˌ") then
error("Attempt to assign primary stress to syllable already containing secondary stress: " .. txt)
end
if second_penultimate_offset then
-- If the stress is farther back than penultimate and `second_penultimate_offset` is set, there is an
-- additional variant with stress on the specified syllable (penultimate or sometimes antepenultimate, in
-- the case of "ora" and "zag" lects with -śmy/-ście words not in -by-). We handle this by putting ALTSTRESS
-- at both stress points and converting this later to two outputs with appropriate qualifiers. Note that
-- this substitution may not succeed (e.g. if antepenultimate stress is called for but there are only two
-- syllables); that is fine and just means we don't get two outputs in this case.
stressed_txt = rsub(stressed_txt, "ˈ(.+)" .. get_stress_regex(second_penultimate_offset),
ALTSTRESS .. "%1" .. ALTSTRESS .. "%3")
end
return stressed_txt
end
local should_stress = not (unstressed or txt:find("ˈ"))
-- "Oscillating stress" lects have initial stress in some subvarieties; in others, normally penultimate, but
-- antepenultimate or ante-antepenultimate in words with clitics (-by-, -śmy/-ście). (That is, they behave like
-- standard Polish other than not having the colloquial penultimate stress with certain clitics.)
local oscillating_stress = lang == "pl" and (lect == "ora" or lect == "zag")
-- "Always initial stress" lects have initial stress in all subvarieties.
local always_initial_stress = lect and lectdata.lects[lect].initial_stress
local first_penultimate_offset, second_penultimate_offset
if oscillating_stress or always_initial_stress then
first_penultimate_offset = -1 -- initial stress
else
first_penultimate_offset = penultimate_offset
end
if oscillating_stress then
second_penultimate_offset = penultimate_offset
elseif always_initial_stress then
second_penultimate_offset = nil
else
-- Standard Polish stress; if double_stress is set and the first (prescriptive) stress is antepenultimate or
-- earlier, there's a second (colloquial) stress on the penultimate.
second_penultimate_offset = penultimate_offset > 0 and double_stress and 0 or nil
end
if should_stress then
txt = add_stress(first_penultimate_offset, second_penultimate_offset)
end
-- This must follow stress assignment because it depends on whether the E is stressed.
if lang == "zlw-slv" and tfind("E") then
txt = txt:gsub("([ˈˌ][^" .. V .. "]*)E", "%1i̯ɛ")
txt = txt:gsub("E$", "ə")
txt = txt:gsub("E", "ɛ")
end
if data.is_prep then
txt = txt .. "$"
end
return txt, hyph
end
-- Determine number of syllables of a pronunciation. For this to work, there must be either stress marks or syllable
-- divisions at each syllable boundary.
local function count_syllables(pron)
-- Convert prosodic boundaries to regular spaces; ignore stress markers at the beginning
-- of a word; and then count occurrences of spaces, syllable dividers and stress marks.
return 1 + ulen(rsub(rsub(rsub(pron:gsub(" | ", " "), " [ˈˌ]", " "), "^[%[/]?[ˈˌ]", ""), "[^.ˈˌ ]", ""))
end
-- Returns rhyme from a transcription.
local function do_rhyme(pron)
-- No rhymes for multiword terms.
if pron:find(" ") then
return nil
end
-- Combined list of single-Unicode-character vowels for all lects. FIXME: Consider using definition of V from above.
-- DO NOT include multi-character sequences such as ɛ̃ ɔ̃ i̯ aː because that will mess everything up. The regex below
-- looks for a sequence of non-vowels followed by a vowel and truncates the non-vowels. The above sequences have the
-- vowel first, which means things will work out fine without the diacritics included among the vowel characters.
local V = "aãăɒeɛɜɘiĭɨɪoõŏɔɞɵuŭʉy"
return {
rhyme = rsub(rsub(pron:gsub("^.*ˈ", ""), ("^[^%s]-([%s])"):format(V, V), "%1"), "[.ˌ]", ""),
num_syl = { count_syllables(pron) },
}
end
--[[
Handles a single input, returning a table of transcriptions. Returns also a string of hyphenation and a table of rhymes
if it is a single-word term.
--]]
local function multiword(term, lang, period, lect, match_pl_p_output)
if term:find("^raw:%[.+%]$") then
return {{ phonetic = term:gsub("^raw:", "") }}
end
local ipa, hyph
term = rsub(term, "%s*,%s*", " | ")
if term:find(" ") then
-- TODO: repeated
function lg(s)
return s[lang] or s[1]
end
local prepositions = lg {
{
"beze?", "na", "dla", "do", "ku", "nade?", "o", "ode?", "po", "pode?", "przede?", "przeze?", "przy",
"spode?", "u", "we?", "z[ae]?", "znade?", "zza",
-- clitic conjunctions and adverbs
"a", "i", "nie",
-- clitic pronouns; less common variants with stress need an explicit stress mark (e.g. [[mi]] = variant
-- of Greek letter [[my]] or the third note in a musical scale; [[go]] = the game of go; [[mu]] = the
-- sound "moo" of a cow; note that [[ci]] is also a stressed pronoun, the nominative virile plural of
-- [[ten]])
"mi", "ci", "cię", "go", "mu", "się",
}, szl = {
"bezy?", "na", "dlŏ", "d[oō]", "ku", "nady?", "ô", "ôdy?", "po", "pody?", "przedy?", "przezy?", "przi",
"spody?", "u", "w[ey]?", "z[aey]?", "[śs]", "znady?"
}, csb = {
"beze?", "na", "dlô", "do", "kù", "nade?", "ò", "òde?", "pò", "pòde?", "przede?", "przeze?", "przë",
"spòde?", "ù", "we?", "wew", "z[ae]?", "zez", "zeza", "zó", "znade?"
}, ["zlw-slv"] = {
"dlo", "dô", "na", "nade?", "przêde?", "przêze?", "przë", "pô", "pôde?", "sê?", "vô", "we?", "wôde?",
"wù", "za"
},
}
local ipaparts, hyphparts = {}, {}
local contains_preps = false
local words = rsplit(term, " +")
for i, word in ipairs(words) do
if word == "|" then
-- prosodic boundary, from a comma
table.insert(ipaparts, word)
if hyphparts[#hyphparts] then
hyphparts[#hyphparts] = hyphparts[#hyphparts] .. ","
else
hyphparts[1] = ","
end
else
local is_prep = false
if word == "nie" and words[i + 1] == "ma" then
is_prep = false
elseif word == "ma" and words[i - 1] == "nie" then
is_prep = true
else
for _, prep in ipairs(prepositions) do
if (rfind(word, ("^%s$"):format(prep))) then
is_prep = true
break
end
end
end
contains_preps = contains_preps or is_prep
local wordipa, wordhyph = single_word {
txt = word,
lang = lang,
is_prep = is_prep,
period = period,
lect = lect,
match_pl_p_output = match_pl_p_output,
}
table.insert(ipaparts, wordipa)
table.insert(hyphparts, wordhyph)
if i < #words then
local separator = is_prep and "‿" or " "
table.insert(ipaparts, separator)
table.insert(hyphparts, separator)
end
end
end
ipa = table.concat(ipaparts)
hyph = table.concat(hyphparts)
local function assimilate_preps(str)
local function assim(from, to, before)
str = rsub(str, ("%s(%%$‿[ˈˌ]?[%s])"):format(from, before), to .. "%1")
end
local T = "fptsʂɕkx"
assim("d", "t", T)
assim("v", "f", T)
assim("z", "s", T)
if lang == "szl" then
local D = "bdzʐʑɡ"
assim("s", "z", D)
assim("ɕ", "ʑ", D)
end
return rsub(str, "%$", "")
end
if contains_preps then
ipa = assimilate_preps(ipa)
-- Move stress before non-syllabic clitics attached with tie bar. FIXME: We should be using # or similar
-- at string boundaries to avoid the need to substitute twice.
local C = "[^" .. vowels .. "]"
ipa = rsub(ipa, ("([‿ ])(%s+)‿([ˈˌ])"):format(C), "%1%3%2")
ipa = rsub(ipa, ("^(%s+)‿([ˈˌ])"):format(C), "%2%1‿")
end
else
ipa, hyph = single_word {
txt = term,
lang = lang,
is_prep = false,
period = period,
lect = lect,
match_pl_p_output = match_pl_p_output,
}
end
local result = {{
pron = ipa,
norhyme = false,
}}
-- Map over each element in `result`. If `from` is found in the element, replace the element with up to three
-- elements, respectively replacing `from` with `to1` (with accent qualifiers `a1`), `to2` (with accent qualifiers
-- `a2`) and `to3` (with accent qualifiers `a3`). If `to2` or `to3` are nil, no replacement is done for them.
-- If `nr1` is true, this variant should not have rhymes generated; likewise for `nr2` and `nr3`.
local function flatmap_and_sub_post(from, to1, a1, nr1, to2, a2, nr2, to3, a3, nr3)
local any_change = false
result = flatmap(result, function(item)
if rfind(item.pron, from) then
any_change = true
local retval = {
{
pron = rsub(item.pron, from, to1),
a = combine_qualifiers(item.a, a1),
norhyme = item.norhyme or nr1,
}
}
if to2 then
table.insert(retval,
{
pron = rsub(item.pron, from, to2),
a = combine_qualifiers(item.a, a2),
norhyme = item.norhyme or nr2,
}
)
end
if to3 then
table.insert(retval,
{
pron = rsub(item.pron, from, to3),
a = combine_qualifiers(item.a, a3),
norhyme = item.norhyme or nr3,
}
)
end
return retval
else
return {item}
end
end)
return any_change
end
-- Replace the first ALTSTRESS with a syllable divider but not at the beginning of a word.
local function stress_second(before_first, before_second)
if before_first == "" then
return before_second .. "ˈ"
else
return before_first .. "." .. before_second .. "ˈ"
end
end
if lang == "pl" and lect == "ekr" then
flatmap_and_sub_post("O", "o", {"pre-21<sup>st</sup> c."}, false, "u", {"21<sup>st</sup> c."}, false)
elseif lang == "pl" and lect == "mpl" then
if period == "early" then
flatmap_and_sub_post("[RS]", "r̝", nil, false)
elseif period == "late" then
flatmap_and_sub_post("[RS]", {R = "ʐ", S = "ʂ"}, nil, false)
elseif not period then
flatmap_and_sub_post("[RS]", "r̝", {"16<sup>th</sup> c."}, false,
{R = "ʐ", S = "ʂ"}, {"17<sup>th</sup>–18<sup>th</sup> c."}, false)
else
error(("'%s' is not a supported Middle Polish period; try with 'early' or 'late'"):format(period))
end
elseif lang == "pl" and lect == "ora" then
flatmap_and_sub_post("([^ ‿]*)" .. ALTSTRESS .. "([^ ‿]-)" .. ALTSTRESS, "%1ˈ%2.", {"Poland"}, false,
stress_second, {"Slovakia"}, false)
elseif lang == "pl" and lect == "zag" then
flatmap_and_sub_post("([^ ‿]*)" .. ALTSTRESS .. "([^ ‿]-)" .. ALTSTRESS, stress_second, {"north"}, false,
"%1ˈ%2.", {"south"}, false)
elseif lang == "pl" then
flatmap_and_sub_post("([^ ‿]*)" .. ALTSTRESS .. "([^ ‿]-)" .. ALTSTRESS, "%1ˈ%2.", {"prescriptive"}, false,
stress_second, {"colloquial"}, false)
elseif lang == "szl" then
flatmap_and_sub_post("O", "ɔ", {"non-Western"}, false, "ɔw", {"Western"}, false, "ɛw", {"Głogówek"}, false)
end
-- Two outputs from nasal before sibilant, if not converted to one above.
flatmap_and_sub_post("Ñ([.ˈˌ]?)([szɕʑʂʐ])", "w̃%1%2", nil, false, function(syldiv, sib)
return ((sib == "ɕ" or sib == "ʑ") and "ɲ" or "n") .. syldiv .. sib
end, nil, true)
flatmap_and_sub_post("Ẽ", "ɛ", {"normal speech"}, true, "ɛw̃", {"careful speech"}, false)
-- Turn this off for now; too simplistic.
-- flatmap_and_sub_post("Õ", "ɔw̃", {"standard"}, false, "ɔm", {"regional", "or", "dialectal", "proscribed"}, true)
while true do
-- Make all primary stresses but the last one in a given word be secondary.
-- FIXME: Remove this.
if not flatmap_and_sub_post("([^ ‿]*)ˈ([^ ‿]-)ˈ", "%1ˌ%2ˈ") then
break
end
track("two-primary-stresses-in-word")
end
return result, hyph
end
-- Given a single substitution spec, `to`, figure out the corresponding value of `from` used in a complete
-- substitution spec. `pagename` is the name of the page, either the actual one or taken from the `pagename` param.
-- `anchor_begin`, if set, indicates that the match must be to the beginning of a word (it was preceded by ~).
-- `anchor_end`, if set, indicates that the match must be to the end of a word (it was followed by ~). If there is a
-- second return value, it indicates that the `from` is a Lua pattern and doesn't need to be pattern-escaped.
local function convert_single_substitution_to_original(to, pagename, anchor_begin, anchor_end)
-- Replace specially-handled characters with a class matching the character and possible replacements.
local escaped_from = to
-- If the entire single substitution spec is one of the special stress-controlling symbols (&, &&, +, etc.),
-- place it at the very beginning of the pagename. We do this by returning a Lua pattern that matches the
-- beginning of the string, using the %f notation. (%f[^%z] means a transition from %z, or the NUL character, to
-- not-%z; strings are treated for this purpose as if they begin and end with a NUL character.)
if escaped_from:find("^[+*^&]+$") then
return "%f[^%z]", true
end
escaped_from = escaped_from:gsub("[.'\"]", "")
-- Call the equivalent of pattern_escape() in [[Module:string utilities]] but leave out +, *, ^ and -, which we match below.
local chars = {
["\0"] = "%z", ["$"] = "%$", ["%"] = "%%", ["("] = "%(", [")"] = "%)",
["."] = "%.", ["?"] = "%?", ["["] = "%[", ["]"] = "%]",
}
escaped_from = escaped_from:gsub("[%z$%%().?[%]]", chars)
-- A special stress-controlling symbol (&, &&, +, etc.) that occurs in a single substitution expression but
-- is not the entire expression matches the beginning of a word. (Contrast the case above when the symbol stands
-- alone and matches the beginning of the entire term.) This makes it possible e.g. with an expression like
-- [[Koreańska Republika Ludowo-Demokratyczna]] to write the substitution spec [&R] and have it work; it matches
-- R at the beginning of a word and converts it to &R, which makes [[Republika]] have optional antepenultimate
-- stress. This must precede other replacements esp. k -> [kc]+, otherwise the + will wrongly get matched.
escaped_from = escaped_from:gsub("[&+*^]+", "%%f[%%a]")
-- j can match against i in e.g. [[aikido]] respelled <ajkido> and [[apeiron]] respelled <apejron>
escaped_from = escaped_from:gsub("j", "[ji]")
-- ń can match against n; in combination with the preceding, ńj can match against ni in e.g. [[Albania]] respelled
-- <Albańja>.
escaped_from = escaped_from:gsub("ń", "[ńn]")
-- k can match against c or cc in e.g. [[altocumulus]] respelled <altokumulus> or [[piccolo]] respelled <pikolo>
escaped_from = escaped_from:gsub("k", "[kc]+")
-- A hyphen can match against a hyphen or nothing in the original. We have to take into account escaping the hyphen
-- in the from side, adding a % sign in the replacement to escape the hyphen in the later rmatch, and escaping the
-- percent sign in the replacement.
escaped_from = escaped_from:gsub("%-", "%%-?")
-- A space can match against space or hyphen in the original, so e.g. [[agar-agar]] can use [ ] to respell it as
-- <agar agar>.
escaped_from = escaped_from:gsub(" ", "[ -]")
-- Middle Polish á can match against a, and similarly for é, ó, ḿ, ṕ, ẃ and b́. The latter is tricky because it's
-- two characters in Unicode. (Even though ó exists in modern Polish, Middle Polish often has ó where the spelling
-- has o, and sometimes vice-versa.)
escaped_from = escaped_from:gsub("á", "[aá]")
escaped_from = escaped_from:gsub("é", "[eé]")
escaped_from = escaped_from:gsub("ó", "[oó]")
escaped_from = escaped_from:gsub("ḿ", "[mḿ]")
escaped_from = escaped_from:gsub("ṕ", "[pṕ]")
escaped_from = escaped_from:gsub("ẃ", "[wẃ]")
escaped_from = escaped_from:gsub("b́", "b́?")
escaped_from = "(" .. escaped_from .. ")"
if anchor_begin then
escaped_from = "%f[%a]" .. escaped_from
end
if anchor_end then
escaped_from = escaped_from .. "%f[%A]"
end
local match = rmatch(pagename, escaped_from)
if match then
if match == to then
error(("Single substitution spec '%s' found in pagename '%s', replacement would have no effect"):
format(to, pagename))
end
return match
end
error(("Single substitution spec '%s' couldn't be matched to pagename '%s' (escaped_from: %s"):format(
to, pagename, mw.dumpObject(escaped_from)))
end
local function apply_substitution_spec(respelling, pagename, parse_err)
local subs = split_on_comma(rmatch(respelling, "^%[(.*)%]$"))
respelling = pagename
for _, sub in ipairs(subs) do
if sub:find("%^") or sub:find("%$") then
-- Changed to use ~ at beginning or end to avoid clashing with other use of ^; catch old uses
track("old-anchor-symbols")
end
local from, escaped_from, to, escaped_to, anchor_begin, anchor_end
if sub:find("^~") then
-- anchor at beginning
sub = rmatch(sub, "^~(.*)$")
anchor_begin = true
end
local already_escaped
if sub:find(":") then
from, to = rmatch(sub, "^(.-):(.*)$")
if from:find("~$") then
-- anchor at end
from = rmatch(from, "^(.*)~$")
anchor_end = true
end
else
if sub:find("~$") then
-- anchor at end
sub = rmatch(sub, "^(.*)~$")
anchor_end = true
end
to = sub
from, already_escaped = convert_single_substitution_to_original(to, pagename, anchor_begin, anchor_end)
end
if from then
escaped_from = already_escaped and from or m_str_utils.pattern_escape(from)
if anchor_begin then
escaped_from = "%f[%a]" .. escaped_from
end
if anchor_end then
escaped_from = escaped_from .. "%f[%A]"
end
escaped_to = m_str_utils.replacement_escape(to)
local subbed_respelling, nsubs = rsubn(respelling, escaped_from, escaped_to)
if nsubs == 0 then
parse_err(("Substitution spec %s -> %s didn't match processed pagename '%s'"):format(
from, to, respelling))
elseif nsubs > 1 then
parse_err(("Substitution spec %s -> %s matched multiple substrings in processed pagename '%s', add " ..
"more context"):format(from, to, respelling))
else
respelling = subbed_respelling
end
end
end
return respelling
end
-- This handles all the magic characters <*>, <^>, <&>, <+>, <.>, <#>.
local function normalise_input(term, pagename, paramname)
local function check_af(str, af, reg, repl, err_msg)
reg = reg:format(af)
if not rfind(str, reg) then
error(("The word %s does not %s with %s"):format(str, err_msg, af))
end
return str:gsub(reg, repl)
end
local function check_pref(str, pref) return check_af(str, pref, "^(%s)", "%1.", "start") end
local function check_suf(str, suf) return check_af(str, suf, "(%s)$", ".%1", "end") end
if term:find("^%[.*%]$") then
local function parse_err(msg)
-- Don't call make_parse_err() until we actually need to throw an error, to avoid unnecessarily loading
-- [[Module:parse utilities]].
require(parse_utilities_module).make_parse_err(paramname)(msg)
end
return apply_substitution_spec(term, pagename, parse_err)
end
if term == "#" then
-- The pound sign stands simply for {{PAGENAME}}.
return pagename
elseif (term == "+") or term:find("^%^+$") or term:find("^&+$") or (term == "*") then
-- Inputs that are just '+', '*', '^', '^^', '&', '&&', etc. are treated as
-- if they contained the pagename with those symbols preceding it.
return term .. pagename
-- Handle syntax like <po.>, <.ka> and <po..ka>. This allows to not respell
-- the entire word when all is needed is to specify syllabification of a prefix
-- and/or a suffix.
elseif term:find(".+%.$") then
return check_pref(pagename, term:sub(1, -2))
elseif term:find("^%..+") then
return check_suf(pagename, term:sub(2))
elseif term:find(".+%.%..+") then
return check_suf(check_pref(pagename, term:gsub("%.%..+", "")), term:gsub(".+%.%.", ""))
end
return term
end
-- This converts the raw information, the arguments and pagename, into tables to be handed over to the IPA module.
-- It is called externally by [[Module:zlw-lch-IPA/testcases/driver]].
function export.get_lect_pron_info(terms, pagename, paramname, lang, lect, period, match_pl_p_output)
if #terms == 1 and terms[1].respelling == "-" then
return {
pron_list = nil,
rhyme_list = {},
hyph_list = {},
}
end
local pron_list = {}
local rhyme_list = {}
local hyph_list = {}
local brackets = "/%s/"
if lect then
if lectdata.lects[lect].phonetic then
brackets = "[%s]"
end
end
-- Loops over the terms given as arguments.
for _, term in ipairs(terms) do
local respelling = term.respelling
-- Handles magic symbols in the input.
respelling = normalise_input(respelling, pagename, paramname)
-- Obtains the transcription and hyphenation for the current index.
local prons, hyph = multiword(respelling, lang, period, lect, match_pl_p_output)
for i, pron in ipairs(prons) do
if pron.phonetic then
table.insert(pron_list, {
pron = pron.phonetic,
pron_with_syldivs = pron.phonetic,
q = term.q,
qq = term.qq,
a = term.a,
aa = term.aa,
refs = i == 1 and term.refs or nil,
})
else
local bracketed_pron = brackets:format(pron.pron)
table.insert(pron_list, {
pron = bracketed_pron,
pron_with_syldivs = bracketed_pron,
q = term.q,
qq = term.qq,
a = combine_qualifiers(pron.a, term.a),
aa = term.aa,
refs = i == 1 and term.refs or nil,
})
if not pron.norhyme then
-- Make sure to pass a version of the pronunciation with syllable dividers.
table.insert(rhyme_list, do_rhyme(pron.pron, lang))
end
end
end
-- If a hyphenation value had been returned by multiword(), make sure it matches the pagename; otherwise
-- don't add. FIXME: This should be smarter in the presence of hyphens in the lemma.
if hyph and hyph:gsub("%.", ""):gsub("‿", " ") == pagename then
m_table.insertIfNot(hyph_list, hyph)
end
end
return {
pron_list = pron_list,
hyph_list = hyph_list,
rhyme_list = rhyme_list,
}
end
function export.get_lect_pron_info_bot(frame)
local iargs = require("Module:parameters").process(frame.args, {
[1] = {},
["lang"] = { default = "pl" },
["lect"] = {},
["period"] = {},
["pagename"] = {}, -- for debugging or demonstration only
["plp"] = { list = true },
["match_pl_p_output"] = { type = "boolean" },
})
local termspec = iargs[1] or "#"
local terms = parse_respellings_with_modifiers(termspec, 1)
local retval = export.get_lect_pron_info(
terms,
iargs.pagename or mw.loadData("Module:headword/data").pagename,
"[from bot]",
iargs.lang,
iargs.lect,
iargs.period,
iargs.match_pl_p_output
)
if iargs.plp[1] then
retval.plp_prons = {}
for _, plp in ipairs(iargs.plp) do
table.insert(retval.plp_prons, "/" .. require("Module:pl-IPA").convert_to_IPA(plp) .. "/")
end
end
return require("Module:JSON").toJSON(retval)
end
function export.show(frame)
local ilang = frame.args.lang
if ilang == "pl" then
lectdata = require("Module:zlw-lch-IPA/data/pl")
end
local process_args = {
[1] = {},
["hyphs"] = {}, ["h"] = { alias_of = "hyphs" },
["rhymes"] = {}, ["r"] = { alias_of = "rhymes" },
["audios"] = {}, ["a"] = { alias_of = "audios" },
["homophones"] = {}, ["hh"] = { alias_of = "homophones" },
["pagename"] = {}, -- for debugging or demonstration only
["indent"] = {},
}
if ilang == "pl" then
process_args["mpl_period"] = {}
process_args["mp_period"] = { alias_of = "mpl_period" }
for lect, _ in pairs(lectdata.lects) do
process_args[lect] = {}
end
for alias, lect in pairs(lectdata.lect_aliases) do
process_args[alias] = { alias_of = lect }
end
end
local args = require("Module:parameters").process(frame:getParent().args, process_args)
local lang = require("Module:languages").getByCode(ilang, true, "allow etym")
local termspec = args[1] or "#"
local terms = parse_respellings_with_modifiers(termspec, 1)
local pagename = args.pagename or mw.loadData("Module:headword/data").pagename
local indent = args.indent or "*"
local pronobj = export.get_lect_pron_info(terms, pagename, 1, ilang)
local hyph_list, rhyme_list = pronobj.hyph_list, pronobj.rhyme_list
local hyph_automatic = true
local do_hyph
local pl_lect_prons
if ilang == "pl" then
for lect, _ in pairs(lectdata.lects) do
if args[lect] then
if pl_lect_prons == nil then pl_lect_prons = {} end
pl_lect_prons[lect] = export.get_lect_pron_info(
parse_respellings_with_modifiers(args[lect], lect), pagename, lect, "pl", lect,
args[lect .. "_period"]
).pron_list
end
end
end
if args.hyphs then
hyph_automatic = false
if args.hyphs == "-" then
do_hyph = false
else
hyph_list = split_on_comma(args.hyphs)
do_hyph = true
end
elseif terms[1].respelling == "-" then
do_hyph = false
else
do_hyph = true
end
if args.rhymes then
if args.rhymes == "-" then
rhyme_list = {}
elseif args.rhymes ~= "+" then
rhyme_list = {}
for _, rhyme in ipairs(split_on_comma(args.rhymes)) do
if rfind(rhyme, ".+/.+") then
table.insert(rhyme_list, {
rhyme = rsub(rhyme, "/.+", ""),
num_syl = { tonumber(rsub(rhyme, ".+/", "")) },
})
else
error(("The manual rhyme %s did not specify syllable number as RHYME/NUM_SYL"):format(rhyme))
end
end
end
end
-- This deals with duplicate values in rhymes.
if #rhyme_list > 0 then
local temp_rhyme_list = {}
local indices = {}
for _, rhymeobj in ipairs(rhyme_list) do
local index = indices[rhymeobj.rhyme]
if index == nil then
table.insert(temp_rhyme_list, rhymeobj)
indices[rhymeobj.rhyme] = #temp_rhyme_list
else
local different_num_syl = true
for _, ns in ipairs(temp_rhyme_list[index].num_syl) do
if ns == rhymeobj.num_syl[1] then
different_num_syl = false
break
end
end
if different_num_syl then
table.insert(temp_rhyme_list[index].num_syl, rhymeobj.num_syl[1])
end
end
end
rhyme_list = temp_rhyme_list
end
local m_IPA_format = require("Module:IPA").format_IPA_full
local parts = {}
local function ins(text)
table.insert(parts, text)
end
local do_collapse = false
if pronobj.pron_list then
if pl_lect_prons then
do_collapse = true
ins('<div class="vsSwitcher" data-toggle-category="pronunciations" style="width: {width}em; max-width:100%;"><span class="vsToggleElement" style="float: right;"> </span>\n')
end
ins(indent .. m_IPA_format(lang, pronobj.pron_list))
end
local em_length
if pl_lect_prons then
if do_collapse then
ins('\n<div class="vsHide">\n')
end
local m_format_qualifiers = require("Module:accent qualifier").format_qualifiers
-- First groups the lects into their lect groups.
local grouped_lects = {}
for lect, lect_prons in pairs(pl_lect_prons) do
local lect_group = lectdata.lects[lect].group
if grouped_lects[lect_group] == nil then grouped_lects[lect_group] = {} end
table.insert(grouped_lects[lect_group], { code = lect, prons = lect_prons })
end
-- And then displays each group in order.
local maxlen = 0
local function display_lect(value, indentation)
local formatted = ("%s%s %s"):format(indentation,
m_format_qualifiers(lang, { lectdata.lects[value.code].name }),
m_IPA_format(lang, value.prons)
)
maxlen = math.max(maxlen, textual_len(formatted))
ins("\n" .. formatted)
end
for group_index = 1, #lectdata.lect_groups do
local lects = grouped_lects[group_index]
local group = lectdata.lect_groups[group_index]
if lects ~= nil then
if group.single_lect then
display_lect(lects[1], indent)
else
-- Checks to indent Goral under Lesser Polish.
additional_indent = ""
if group.indent_with_prec then
additional_indent = "*"
if grouped_lects[group_index - 1] == nil then
ins("\n*" .. m_format_qualifiers(lang, { lectdata.lect_groups[group_index - 1].name }) .. ":")
end
end
-- Lect group header.
ins("\n*" .. additional_indent .. m_format_qualifiers(lang, { group.name }) .. ":")
-- The lects are sorted according to their <index> value.
table.sort(lects, function (a, b) return lectdata.lects[a.code].index < lectdata.lects[b.code].index end)
for _, lect in ipairs(lects) do
display_lect(lect, "**" .. additional_indent)
end
end
end
end
if do_collapse then
ins('\n</div></div>\n')
end
em_length = math.floor(maxlen * 0.68)
end
if args.audios then
local format_audio = require("Module:audio").format_audio
local audio_objs = parse_audio(lang, args.audios, pagename, "audios")
local num_audios = #audio_objs
for i, audio_obj in ipairs(audio_objs) do
if num_audios > 1 and not audio_obj.caption then
audio_obj.caption = "音声" .. i
end
ins("\n" .. indent .. " " .. format_audio(audio_obj))
end
end
if #rhyme_list > 0 then
ins("\n" .. indent .. " " .. require("Module:rhymes").format_rhymes { lang = lang, rhymes = rhyme_list })
end
if do_hyph then
ins("\n" .. indent .. " ")
if #hyph_list > 0 then
local hyphs = {}
local seen_num_pron_syls
if pronobj.pron_list then
-- Compute the number of syllables for each pronunciation, for use below.
seen_num_pron_syls = {}
for _, pronobj in ipairs(pronobj.pron_list) do
local pron = pronobj.pron_with_syldivs
local num_pron_syls = count_syllables(pron)
m_table.insertIfNot(seen_num_pron_syls, {pron = pron, nsyl = num_pron_syls})
end
end
for i, hyph in ipairs(hyph_list) do
hyphs[i] = { hyph = {} }
for syl in hyph:gmatch("[^.]+") do
table.insert(hyphs[i].hyph, syl)
end
if pronobj.pron_list then
-- Match each syllabification against the syllable counts of all pronunciations, since we don't have
-- any alignment between the two. Only complain if the syllable count of the syllabification doesn't
-- match the syllable count of any pronunciation.
local num_hyph_syls = 1 + #(hyph:gsub("[^. ]", ""))
local matched = false
for _, num_pron_syls in ipairs(seen_num_pron_syls) do
if num_pron_syls.nsyl == num_hyph_syls then
matched = true
break
end
end
if not matched then
local prons_and_sylcounts = {}
for _, num_pron_syls in ipairs(seen_num_pron_syls) do
table.insert(prons_and_sylcounts, ("%s:%s"):format(num_pron_syls.pron, num_pron_syls.nsyl))
end
mw.log(("Syllable count %s for syllabification '%s' doesn't match pronunciation syllable count(s) %s for '%s'"):format(
num_hyph_syls, hyph, table.concat(prons_and_sylcounts, ","), pagename))
if mw.title.getCurrentTitle().nsText == "" then
ins(("[[Category:%s entries with Template:%s-pr with %s syllabification syllable count mismatch]]"):format(
lang:getFullName(), ilang, hyph_automatic and "automatic" or "manual"))
end
end
end
end
ins(require("Module:hyphenation").format_hyphenations {
lang = lang, hyphs = hyphs, caption = "分綴"
})
else
ins("分綴: <small>[please specify syllabification manually]</small>")
if mw.title.getCurrentTitle().nsText == "" then
ins(("[[Category:%s entries with Template:%s-pr without syllabification]]"):format(
lang:getFullName(), ilang))
end
end
end
if args.homophones then
local homophone_list = parse_homophones(args.homophones, "homophones")
ins("\n" .. indent .. " " .. require("Module:homophones").format_homophones {
lang = lang,
homophones = homophone_list,
})
end
local ret = table.concat(parts)
if em_length then
ret = m_str_utils.gsub(ret, "{width}", em_length)
end
return ret
end
return export
imvwevhy0ffpb0txnjmsv2nmukbwqqg
利用者:Kuroco2k
2
489345
2328208
2327232
2026-08-16T21:48:56Z
Kuroco2k
84207
/* テスト */
2328208
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/他言語版にあって日本語版にない項目]]
**タスクリスト
== チェック ==
*afr: "af",✅
*ara: "ar",✅
*bel: "be",✅
*bul: "bg",✅
*cat: "ca",✅
*ces: "cs",
*chu: "cu",✅
*dan: "da",✅
*deu: "de",✅
*ell: "el",✅
*eng: "en",
*epo: "eo",✅
*fao: "fo",✅
*fas: "fa",
*fin: "fi",✅
*fiu: "krl",✅
*fra: "fr",
*fry: "fy",✅
*gem: "gem-pro",
*glg: "gl",✅
*gmq: "gmq-pro",✅
*hbs: "sh",✅
*heb: "he",✅
*hin: "hi",✅
*hun: "hu",✅
*hye: "hy",✅
*ido: "io",✅
*ina: "ia",✅
*ind: "id",✅
*ine: "ine-pro",
*isl: "is",✅
*ita: "it",✅
*itc: "itc-pro",
*jpn: "ja",
*kor: "ko",✅
*lat: "la",
*lim: "li",✅
*lit: "lt",✅
*mac: "mk",✅
*mkd: "mk",✅
*may: "ms",✅
*nld: "nl",
*nno: "nn",✅
*nob: "nb",✅
*oci: "oc",✅
*pli: "pi",✅
*pol: "pl",
*por: "pt",
*roh: "rm",✅
*ron: "ro",✅
*rus: "ru",
*san: "sa",✅
*slk: "sk",✅
*slv: "sl",✅
*spa: "es",✅
*sqi: "sq",✅
*swa: "sw",✅
*swe: "sv",✅
*tgl: "tl",✅
*tha: "th",✅
*tur: "tr",✅
*ukr: "uk",✅
*urd: "ur",✅
*vol: "vo",✅
*zho: "zh",
==テスト==
{{#invoke:zlw-lch-IPA|show|lang=zlw-slv}}
==リスト一覧==
{{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声とみなされないものをいう。
ko51clhu440v5yy9sjlluiots9r3uy9
颀
0
498527
2328266
2028976
2026-08-17T01:41:54Z
ふゆくれ
95641
2328266
wikitext
text/x-wiki
{{kana-DEFAULTSORT|キ}}
==漢字==
{{kanji|页|4}}
{{kanji variants|頎=[[康煕字典体]]}}
===字義===
#「[[頎]]」の[[簡体字]](『{{w|漢語大字典}}』掲載)。
=={{L|ja}}==
{{ja-kanji|呉音=ゲ,コン|漢音=キ,キン}}
=={{L|zh}}==
{{zh-cat|qi2|簡=1}}
{{yue-cat|kei4}}
{{hak-cat|ki2}}
{{hak-hl-cat|ki2}}
{{nan-cat|ki5}}
{{nan-tws-cat|ki5}}
{{wuu-cat|ji3}}
{{zh-han|m=qí,kěn|c=kei4|pfs=kì|hrs=ki|gd=ki2|mn=xm:kî|mn-t=ki5|w=6ji}}
=={{L|ko}}==
{{ko-han|기}}
=={{L|vi}}==
{{vi-han|kì|kỳ|khẩn|ạt}}
=={{コード}}==
{{文字コード|gb=717D|cns=14-5B2D|全={{全字庫|940845}}}}
{{検字|倉頡=HLMBO|四角=7128.2}}
{{字典|hdz=74361.120|vt=B05669-001}}
jm5ky2dpjj4rjdxwxrg65v567y1csyc
ジビエ
0
508601
2328275
2055628
2026-08-17T02:06:30Z
うーむ
129171
/* 日本語 */
2328275
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{wikipedia}}
=={{L|ja}}==
==={{etym}}===
{{bor|ja|fr|gibier}}
==={{noun}}===
{{ja-noun}}
#{{context|肉|lang=ja}} [[捕獲]]した[[鳥獣]]。その[[肉]]。
8ujsaqb3zh10l4tbeq0lwd4hobilea1
宝石商
0
509222
2328267
2057262
2026-08-17T01:43:01Z
鍼灸
112313
2328267
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ほうせきしょう}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|ほうせきしょう}}
#{{タグ|ja|職業}}[[宝石]]を[[売買]]する[[商人]]。
#:{{syn|ja|宝石屋|宝石店|宝飾店}}
ah32thychu0kdssi45664yxh9el6dzk
2328268
2328267
2026-08-17T01:46:56Z
鍼灸
112313
2328268
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ほうせきしょう}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|ほうせきしょう}}
#{{タグ|ja|職業}}[[宝石]]を[[売買]]する[[商人]]。
#:{{syn|ja|宝石屋|宝石店|宝飾店|貴金属店}}
36ks4ktcnqljr8ez4cn77ssp6qfufag
色沢
0
510370
2328365
2060307
2026-08-17T11:12:32Z
うーむ
129171
/* 日本語 */
2328365
wikitext
text/x-wiki
{{kana-DEFAULTSORT|しきたく}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|しきたく|[[しょくたく]]}}
#[[いろつや]]。[[いろ|色]]や[[光沢]]。
#*赤沢の合流点附近に於ける{{ruby|椈|ぶな}}や{{ruby|水楢|みずなら}}の深林は、なんという潤いにみちた豊麗な'''色沢'''をもっていることであろう。<small>――{{Cite web|author=[[w:木暮理太郎|木暮理太郎]]|url=https://www.aozora.gr.jp/cards/001373/card56268.html|title=図書カード:秩父の渓谷美|publisher=青空文庫|year=1926|accessdate=2025-02-09}}</small>
#*大小の相異は著しいけれども、植物のツシタマも形状曲線、ことに'''色沢'''がよほどよくあの貝に似ている。<small>――{{Cite web|author=[[w:柳田國男|柳田國男]]|url=https://www.aozora.gr.jp/cards/001566/card54331.html|title=図書カード:海上の道|publisher=青空文庫|year=1950|accessdate=2025-02-09}}</small>
rv1dp5jymqyq1zr6qhgl51l4359e393
テンプレート:pl-pr
10
513329
2328228
2067323
2026-08-16T23:09:54Z
Kuroco2k
84207
転送先を [[テンプレート:pl-pronunciation]] から [[テンプレート:pl-p]] に変更しました
2328228
wikitext
text/x-wiki
#REDIRECT [[テンプレート:pl-p]]
pedzhyq2737eqp7xu59g86m4sbx2lqr
利用者:Binarystep
2
523399
2328184
2328144
2026-08-16T14:51:05Z
Binarystep
64377
2328184
wikitext
text/x-wiki
__NOTOC__
==日本語==
*[[アザーキン]]
*[[サイエントロジスト]]
*[[ブルーラズベリー]]
*[[メタンフェタミン]]
==イタリア語==
*[[paguro]]
*[[serial killer]]
==英語==
*[[alt.1der]]
*[[alt.2600er]]
*[[anteater dick]]
*[[asswipe]]
*[[blue raspberry]]
*[[boatward]]
*[[Boulderite]]
*[[cannabev]]
*[[chessman]]
*[[chess piece]]
*[[clam]]
*[[copper-nickel]]
*[[Cupid's disease]]
*[[cupronickel]]
*[[dairy-free]]
*[[dairyless]]
*[[dogette]]
*[[drunkle]]
*[[freeware]]
*[[freezer]]
*[[fruit juice]]
*[[furry]]
*[[gibbon]]
*[[homomisia]]
*[[Japanese chess]]
*[[konbini]]
*[[kupfernickel]]
*[[lactose-free]]
*[[love lotion]]
*[[mauzy]]
*[[mickey]]
*[[Mont Blanc]]
*[[myriad]]
*[[nondairy]]
*[[otherkin]]
*[[paper driver]]
*[[plurale tantum]]
*[[serial kill]]
*[[serial killer]]
*[[smartphone]]
*[[stylus]]
*[[toilet paper]]
*[[touch pen]]
*[[westoid]]
*[[yenny]]
==オランダ語==
*[[furry]]
*[[gibbon]]
*[[plurale tantum]]
==カタルーニャ語==
*[[clam]]
==古アイルランド語==
*[[clam]]
==古英語==
*[[clam]]
==スウェーデン語==
*[[furry]]
*[[grape]]
*[[myriad]]
==スペイン語==
*[[freeware]]
==チェコ語==
*[[freeware]]
==デンマーク語==
*[[grape]]
==フィンランド語==
*[[grape]]
==フランス語==
*[[entièrement]]
*[[furry]]
*[[gibbon]]
==ブルトン語==
*[[a-bezh]]
*[[adanv]]
*[[amprevan]]
*[[amprevanoniezh]]
*[[anv-gwan]]
*[[boued-touseg]]
*[[c'hoari]]
*[[penn-da-benn]]
==ポーランド語==
*[[freeware]]
==ポルトガル語==
*[[plurale tantum]]
*[[serial killer]]
==ラテン語==
*[[pagurus]]
*[[plurale tantum]]
256i2cy2suirl353nmz0dih1qljnx2n
テンプレート:zh-han
10
554711
2328257
2268982
2026-08-16T23:50:41Z
Kuroco2k
84207
2328257
wikitext
text/x-wiki
<includeonly>{{trans_link|zh|{{PAGENAME}}}}
* '''ローマ字表記'''<!--
-->{{#if:{{{m|}}}|** '''[[普通話]]'''
*** '''[[ピンイン]]''': {{#invoke:cmn-pron|py_pair|{{{m|}}}}}
*** '''[[ウェード式]]''': {{#invoke:cmn-pron|py_wg|{{{m|}}}}}
{{#ifeq:{{{z|}}}|n||*** '''[[注音符号]]''': {{#invoke:cmn-pron|py_zhuyin|{{{m|}}}}}
*** '''[[w:国語ローマ字|国語ローマ字]]''': {{#invoke:cmn-pron|py_gwoyeu|{{{m|}}}}}
*** '''[[w:通用拼音|通用拼音]]''': {{#invoke:cmn-pron|py_tongyong|{{{m|}}}}}}}}}<!--
-->{{#if:{{{ma|}}}|***:{{音声|zh|{{#ifeq:{{{ma|}}}|y|Zh-{{{m}}}.ogg|{{{ma}}}}}}}}}<!--
-->{{#if:{{{m-s|}}}|** '''[[:w:en:Sichuanese dialects|四川語]]'''
*** '''[[:w:en:Sichuanese Pinyin|ピンイン]]''': {{{m-s}}}}}<!--
-->{{#if:{{{m-nj|}}}|** '''[[:w:南京官話|南京語]]'''
*** '''南京漢語拼音''': {{{m-nj}}}}}<!--
-->{{#if:{{{m-x|}}}|** '''[[:w:en:Guanzhong dialect|西安語]]'''
*** '''関中漢語拼音''': {{{m-x}}}}}<!--
-->{{#if:{{{c|{{{c-dg|{{{c-t|{{{c-yj|{{{c-yl|}}}}}}}}}}}}}}}|
** '''[[広東語]]'''<!--
-->{{#if:{{{c|}}}|*** '''[[イェール式]]''': {{#invoke:yue-pron|jyutping_to_yale2|{{{c}}}}}
*** '''[[:w:香港語言学学会粤語拼音方案|粤拼]]''': {{#invoke:yue-pron|jyutping_reshape|{{{c}}}}}}}<!--
-->{{#if:{{{ca|}}}|***:{{音声|yue|{{{ca}}}}}}}<!--
-->{{#if:{{{c-dg|}}}|*** '''[[:w:h:東莞話|東莞語]]''': {{{c-dg}}}}}<!--
-->{{#if:{{{c-t|}}}|*** '''[[台山語]]''': {{{c-t}}}}}<!--
-->{{#if:{{{c-yj|}}}|*** '''[[:w:zh:陽江話|陽江語]]''': {{{c-yj}}}}}<!--
-->{{#if:{{{c-yl|}}}|*** '''[[:w:zh:玉林話|玉林語]]''': {{{c-yl}}}}}
}}<!--
-->{{#if:{{{mn|{{{mn-t|{{{mn-l|}}}}}}}}}|
** '''[[閩南語]]'''<!--
-->{{#if:{{{mn|}}}|*** '''[[福建語]]'''
**** '''[[POJ]]''': {{#invoke:nan-pron|poj_display|{{{mn|}}}}}}}<!--
-->{{#if:{{{mn-t|}}}|*** '''[[潮州語]]'''
**** '''[[:w:en:Peng'im|ピンイン]]''': {{#invoke:nan-pron|pengim_display|{{{mn-t|}}}}}}}<!--
-->{{#if:{{{mn-l|}}}|*** '''[[雷州語]]'''
**** '''[[ピンイン]]''': {{#invoke:luh-pron|rom|{{{mn-l|}}}}}}}
}}<!--
-->{{#if:{{{mna|}}}|***:{{音声|nan|{{{mna}}}}}}}<!--
-->{{#if:{{{px|}}}|** '''[[莆仙語]]'''
*** '''[[ピンイン]]''': {{#invoke:cpx-pron|rom_display|{{{px|}}}}}}}<!--
-->{{#if:{{{md|}}}|** '''[[閩東語]]'''
*** '''[[平話字]]''': {{{md}}}}}<!--
-->{{#if:{{{mda|}}}|***:{{音声|cdo|{{{mda}}}}}}}<!--
-->{{#if:{{{mb|}}}|** '''[[閩北語]]'''
*** '''{{w|建寧ローマ字|KCR}}''': {{#invoke:mnp-pron|rom|{{{mb}}}}}}}<!--
-->{{#if:{{{mba|}}}|***:{{音声|mnp|{{{mba}}}}}}}<!--
-->{{#if:{{{hn|}}}|** '''[[海南語]]'''
*** '''{{w|海口語}}'''
**** '''{{w|白話字|BOT}}''': {{#invoke:hnm-pron|rom|{{{hn}}}}}}}<!--
-->{{#if:{{{pfs|{{{hrs|{{{gd|}}}}}}}}}|
** '''[[客家語]]'''<!--
-->{{#if:{{{pfs|}}}|*** '''[[:w:台湾客家語#四県腔|四県腔]]'''
**** '''[[白話字]]''': {{{pfs}}}}}<!--
-->{{#if:{{{hrs|}}}|*** '''[[:w:台湾客家語#海陸腔|海陸腔]]'''
**** '''[[:w:en:Taiwanese Hakka Romanization System|HRS]]''': {{{hrs}}}}}<!--
-->{{#if:{{{gd|}}}|***'''[[:w:梅県語|梅県語]]'''
****'''[[:w:en:Pinfa|ピンイン]]''': {{{gd}}}}}
}}<!--
-->{{#if:{{{w|{{{w-mini|}}}}}}|** '''[[呉語]]'''
*** '''[[w:呉語#音韻|通用呉語拼音]]''': {{#if:{{{w-mini|}}}|{{{w-mini}}}|{{#invoke:wuu-pron|wugniu_to_minidict|{{{w}}}}}}}<!--
-->{{#if:{{{w|}}}|*** '''[[w:呉語#音韻|呉語学堂式ピンイン]]''': {{{w}}}}}}}<!--
-->{{#if:{{{wa|}}}|***:{{音声|wuu|{{{wa}}}}}}}<!--
-->{{#if:{{{g|}}}|** '''[[贛語]]''': {{#invoke:gan-pron|rom|{{{g}}}}}}}<!--
-->{{#if:{{{j|}}}|** '''[[晋語]]''': {{#invoke:cjy-pron|rom|{{{j}}}}}}}<!--
-->{{#if:{{{x|{{{x-l|{{{x-h|}}}}}}}}}|
** '''[[湘語]]''':<!--
-->{{#if:{{{x|}}}|*** '''[[:w:zh:長沙話|長沙語]]''': {{#invoke:hsn-pron|rom|{{{x}}}}}}}<!--
-->{{#if:{{{x-l|}}}|*** '''[[:w:zh:婁底話|婁底語]]''': {{#invoke:hsn-pron|rom|l={{{x-l}}}}}}}<!--
-->{{#if:{{{x-h|}}}|*** '''[[:w:zh:衡陽話|衡陽語]]''': {{#invoke:hsn-pron|rom|h={{{x-h}}}}}}}
}}<!--
-->{{#if:{{{sp|}}}|** '''[[桂南平話]]''': {{#invoke:csp-pron|jpp_to_rom|{{{sp}}}}}}}<!--
-->{{#if:{{{np|}}}|** '''[[桂北平話]]''': {{{np}}}}}<!--
-->{{#if:{{{hz|}}}|** '''[[徽語]]''': {{#invoke:czh-pron|rom|{{{hz}}}}}}}<!--
-->{{#if:{{{dg|}}}|** '''[[ドンガン語]]''': [[{{{dg}}}]]}}<!--
-->{{#if:{{{mc|}}}|** {{#invoke:ltc-pron|retrieve_pron|{{PAGENAME}}}}}}<!-- 中古漢語を出力
-->{{#if:{{{oc|}}}|** {{#invoke:och-pron|retrieve_pron|{{PAGENAME}}}}}}<!-- 上古漢語を出力
--></includeonly><noinclude>[[カテゴリ:{{zh}}_テンプレート|zhhan]][[カテゴリ:漢字 テンプレート]]{{documentation}}</noinclude>
8qky0104ulm9p4aukkvk0ft57jpw989
利用者:ふゆくれ
2
556197
2328309
2312714
2026-08-17T04:35:24Z
ふゆくれ
95641
2328309
wikitext
text/x-wiki
{{Babel|ja|en-1|zh-1}}
==自己紹介==
2023年頃から2年ほどIPユーザーとして活動してきましたが、編集フィルターに引っ掛かることが増えてきたためwikipedia・wikibooksで用いているもののこちらでは殆ど使用したことのなかったこのアカウントを流用することにしました。過去の仮アカウント群は[[利用者・トーク:~2025-32841-32#*|こちら]]を参照。専門は電気系ですが、数学及び物理学・地球科学・生物学全般、国語学、近代文学、日本史、世界史、比較政治学、政治哲学、形式論理学などを齧っています。中国語は文意をとれるだけで聞いたり書いたり話したりするのは無理です。
==to do==
*日本語関連
**単漢字項目に関して、その漢字を含む熟語群の整備
***「[[摳]]」を作業中、今後「[[弁]]」「[[祝]]」「[[灯]]」「[[煉]]」「[[標]]」「[[煮]]」「[[邈]]」「[[攢]]」「[[嗛]]」「[[蠆]]」「[[眶]]」「[[瑣]]」「[[畎]]」「[[瘵]]」「[[黴]]」「[[筦]]」「[[箭]]」「[[儗]]」「[[哭]]」「[[惺]]」「[[翹]]」「[[翅]]」「[[衈]]」「[[絁]]」「[[疆]]」「[[耆]]」「[[琦]]」「[[瑋]]」「[[玉]]」「[[玄]]」「[[魄]]」「[[喁]]」「[[扁]]」「[[勿]]」「[[難]]」「[[很]]」「[[汩]]」「[[氳]]」「[[熇]]」「[[枻]]」「[[檠]]」「[[鑊]]」「[[氿]]」「[[戹]]」「[[匜]]」「[[厝]]」「[[墊]]」「[[胾]]」「[[罾]]」「[[酺]]」「[[諑]]」「[[巋]]」「[[縗]]」「[[瘨]]」「[[鮧]]」「[[鰭]]」「[[蘸]]」「[[蔌]]」「[[旂]]」「[[嶸]]」「[[翏]]」「[[飆]]」「[[圮]]」「[[倜]]」「[[鈐]]」「[[瓊]]」「[[玦]]」「[[璿]]」「[[璇]]」「[[岧]]」「[[迢]]」「[[剡]]」「[[閫]]」「[[烘]]」「[[姝]]」「[[宸]]」「[[匾]]」「[[邐]]」「[[孌]]」「[[闐]]」「[[蓽]]」「[[隤]]」「[[甗]]」「[[巘]]」「[[錡]]」「[[搉]]」「[[絇]]」「[[沅]]」「[[芷]]」「[[紈]]」「[[帨]]」「[[盱]]」「[[掔]]」「[[曛]]」「[[閟]]」「[[窔]]」「[[蚖]]」「[[嚱]]」「[[騶]]」「[[頎]]」「[[狶]]」「[[觭]]」「[[攲]]」「[[禨]]」を予定
**[https://kotobank.jp/ コトバンク]にある同音異義語及び和語項目の整備
***上記単漢字項目の作業と並行して行う
**古典単語の追加
**齧ってる分野の専門用語の追加
**沖縄語のテンプレート整備(優先度低め)
**アクセント核が複数ある場合の対応(できれば)
*中国語関連
**{{temp|hak-pron}}
***北四県話・南四県話で発音が異なる場合の出力(「(拼音)」「ns:(拼音)」「n:(拼音1)/s:(拼音2)」のような入力)
***海陸話の区切り入力対応
***梅県話で「 / 」(半角スペースありスラッシュ)で区切らないといけないのを「/」区切りでいけるようにしたい
***ソートキーの自動出力
**{{hnm}}項目の作成(英語版・中国語版にすら発音表記が記されてないため難航)
**既存漢語項目の発音テンプレート適用
***{{cpx}}, {{gan}}, {{hsn}}, {{cjy}}, {{zhx-sic}}, {{dng}}, {{mnp}}, {{nan-tws}}を対応完了
*その他
**漢字項目の整備
***立項、最新フォーマットへの更新、熟語追加など
**記号項目の整備
***{{temp|symb}}/{{temp|symbol}}/{{temp|文字コード}}の適用など
==メモ==
*kchはHakka as pronounced in {{w|クチン|Kuching}}のことらしい
*立項予定の漢字↓
{{col3|lang=ja|敧|撝|庪|頍|惎|褘|褕|媵|巸|韡|墍|芰|攉|跱|佹|摽|犍|忡|惙|忼|鞈|顙|臊|漪|闑|穅|倊|浥|鯁|悻|顥|驄|荄|鵾|惛|憒|玢|憯|箠|惛|怓|緗|繒|瘱|櫩|潢|嶒|吰|嘈|𠨋|慸|薢|擿|擋|趯|豗|獃|儓|倀|嬥|剗|箑|翣|襜|墠|顓|遄|耎|狺|囷|嶔|嚾|窾|暵|諴|欿|睆|衎|喭|塍|坌|稊|荑|醮|咮|憃|嚅|綃}}
sndhqsgmangmtb2iozijhet7o00nzhz
nadzwyczajny
0
565962
2328244
2215065
2026-08-16T23:30:35Z
Kuroco2k
84207
2328244
wikitext
text/x-wiki
=={{L|pl}}==
==={{etym}}===
{{prefix|lang=pl|nad|zwyczajny|tr1=超過|tr2=平凡な}}
==={{pron}}===
{{pl-pr|nad.|a=Pl-nadzwyczajny.ogg}}
*{{kanahyoki|pl|ナドズヴィ'''チャ'''イヌィ}}
==={{adjective}}===
{{pl-adj}}
#[[非凡]]な。
#:{{syn|pl|niezwykły|niebywały|nieprzeciętny|wyjątkowy}}
#[[尋常]]で[[ない]]。[[非常時]]の。
#:{{syn|pl|ponadprogramowy|pozaseryjny|specjalny}}
===={{decl}}====
{{pl-decl-adj-y|nadzwyczajn}}
===={{rel}}====
副詞:
*{{l|pl|nadzwyczaj}}
*{{l|pl|nadzwyczajnie}}
===参考文献===
*{{R:Sobol1994}}
1se0fh5h72yyerlksa9hhibbfum1l23
利用者:本名は匿名希望
2
568021
2328313
2284275
2026-08-17T05:32:00Z
となりのふぁいやーくん
129376
[[利用者:となりのふぁいやーくん]]への転送ページ
2328313
wikitext
text/x-wiki
#転送 [[利用者:となりのふぁいやーくん]]
3uugbdu5vqjbjjgegt5b471kc8n7juc
モジュール:audio
828
577271
2328218
2204473
2026-08-16T22:19:00Z
Kuroco2k
84207
2328218
Scribunto
text/plain
local export = {}
local headword_data_module = "モジュール:headword/data"
local IPA_module = "モジュール:IPA"
local labels_module = "モジュール:labels"
local links_module = "モジュール:links"
local parameters_module = "モジュール:parameters"
local qualifier_module = "モジュール:qualifier"
local references_module = "モジュール:references"
local string_utilities_module = "モジュール:string utilities"
local table_module = "モジュール:table"
local template_styles_module = "モジュール:TemplateStyles"
local utilities_module = "モジュール:utilities"
local audio_styles_css = "audio/styles.css"
local function track(page)
require("モジュール:debug/track")("audio/" .. page)
return true
end
local function wrap_qualifier_css(text, suffix)
return require(qualifier_module).wrap_qualifier_css(text, suffix)
end
--[==[
Display a box that can be used to play an audio file. `data` is a table containing the following fields:
* `lang` ('''required'''): language object for the audio files;
* `file` ('''required'''): file containing the audio;
* `caption`: Caption to display before the audio box; normally {"Audio"}, and does not usually need to be changed;
* `nocaption`: If specified, don't display the caption;
* `q`: {nil} or a list of left regular qualifier strings, formatted using {format_qualifier()} in [[モジュール:qualifier]]
and displayed before the audio box and after the caption (and any accent qualifiers);
* `qq`: {nil} or a list of right regular qualifier strings, displayed directly after the audio box (and after any
accent qualifiers);
* `a`: {nil} or a list of left accent qualifier strings, formatted using {format_qualifiers()} in
[[モジュール:accent qualifier]] and displayed before the audio box and after the caption;
* `aa`: {nil} or a list of right accent qualifier strings, displayed directly after the homophone in question;
* `refs`: {nil} or a list of references or reference specs to add directly after the audio box; the value of a list item
is either a string containing the reference text (typically a call to a citation template such as {{tl|cite-book}}, or
a template wrapping such a call), or an object with fields `text` (the reference text), `name` (the name of the
reference, as in {{cd|<nowiki><ref name="foo">...</ref></nowiki>}} or {{cd|<nowiki><ref name="foo" /></nowiki>}})
and/or `group` (the group of the reference, as in {{cd|<nowiki><ref name="foo" group="bar">...</ref></nowiki>}} or
{{cd|<nowiki><ref name="foo" group="bar"/></nowiki>}}); this uses a parser function to format the reference
appropriately and insert a footnote number that hyperlinks to the actual reference, located in the
{{cd|<nowiki><references /></nowiki>}} section;
* `text`: Text of the audio snippet; if specified, should be an object of the form passed to {full_link()} in
[[モジュール:links]], including a `lang` field containing the language of the text (usually the same as `data.lang`);
displayed before the audio box, after any regular and accent qualifiers;
* `IPA`: IPA of the audio snippet, or a list of IPA specs; if specified, should be surrounded by slashes or brackets,
and will be processed using {format_IPA_multiple()} in [[モジュール:IPA]] and displayed before the audio box, after any
regular and accent qualifiers and after the text of the audio snippet, if given;
* `nocat`: If true, suppress categorization;
* `sort`: Sort key for categorization.
]==]
function export.format_audio(data)
local langname = data.lang:getFullName()
local cats = { langname .. " 音声リンクがある語句" }
local function format_a(a)
if a and a[1] then
return require(labels_module).show_labels {
lang = data.lang,
labels = a,
mode = "accent",
nocat = true,
open = false,
close = false,
no_track_already_seen = true,
}
end
return nil
end
local function format_q(q)
if q and q[1] then
return require(qualifier_module).format_qualifier(q, false, false)
end
return nil
end
local function make_td_if(text)
if text == "" then
return text
end
return "<td>" .. text .. "</td>"
end
-- Generate the full text preceding the audio box.
local pretext_parts = {}
local function ins(text)
table.insert(pretext_parts, text)
end
local formatted_accent_labels, formatted_qualifiers, formatted_text, formatted_ipa
formatted_accent_labels = format_a(data.a)
formatted_qualifiers = format_q(data.q)
if data.text then
formatted_text = require(links_module).full_link(data.text, "term", true)
end
if data.IPA then
local ipa_cats
local ipa = data.IPA
if type(ipa) == "string" then
ipa = {ipa}
end
local ipa_items = {}
for _, ipa_item in ipairs(ipa) do
table.insert(ipa_items, {pron = ipa_item})
end
formatted_ipa, ipa_cats = require(IPA_module).format_IPA_multiple(data.lang, ipa_items, nil, "no count", "raw")
if ipa_cats[1] then
require(table_module).extend(cats, ipa_cats)
end
end
local has_qual = formatted_accent_labels or formatted_qualifiers
if not data.nocaption then
-- Track uses of caption (3=). Over time as we eliminate most of them, we can use this to find and
-- eliminate the remainder.
if data.caption then
track("caption")
end
ins(data.caption or "Audio")
if has_qual then
ins(" " .. wrap_qualifier_css("(", "brac"))
end
end
if formatted_accent_labels then
ins(formatted_accent_labels)
if formatted_qualifiers then
ins(wrap_qualifier_css(",", "comma") .. " ")
end
end
if formatted_qualifiers then
ins(formatted_qualifiers)
end
if has_qual then
if not data.nocaption then
ins(wrap_qualifier_css(")", "brac"))
end
end
if (formatted_text or formatted_ipa) and (has_qual or not data.nocaption) then
ins(wrap_qualifier_css(";", "semicolon") .. " ")
end
if formatted_text then
ins(formatted_text)
if formatted_ipa then
ins(" ")
end
end
ins(formatted_ipa)
if not data.nocaption then
ins(wrap_qualifier_css(":", "colon"))
end
local pretext = make_td_if(table.concat(pretext_parts))
-- Generate the full text following the audio box.
local posttext_parts = {}
local function ins(text)
table.insert(posttext_parts, text)
end
local formatted_post_accent_labels = format_a(data.aa)
local formatted_post_qualifiers = format_q(data.qq)
local formatted_references = data.refs and require(references_module).format_references(data.refs) or nil
if formatted_references then
ins(formatted_references)
end
if formatted_post_accent_labels or formatted_post_qualifiers then
if formatted_references then
ins(" ")
end
ins(wrap_qualifier_css("(", "brac"))
if formatted_post_accent_labels then
ins(formatted_post_accent_labels)
if formatted_post_qualifiers then
ins(wrap_qualifier_css(",", "comma") .. " ")
end
end
if formatted_post_qualifiers then
ins(formatted_post_qualifiers)
end
ins(wrap_qualifier_css(")", "brac"))
end
if data.bad then
table.insert(cats, langname .. " terms with nonstandard or incorrect audio pronunciations")
ins(" " .. require(qualifier_module).wrap_css("Note: this pronunciation may be nonstandard or incorrect: " .. data.bad, "bad-audio-note"))
end
local posttext = make_td_if(table.concat(posttext_parts))
local template = [=[
<tr>%s<td class="audiofile">[[File:%s|noicon|175px]]</td><td class="audiometa" style="font-size: 80%%;">([[:File:%s|file]])</td>%s</tr>]=]
local text = template:format(pretext, data.file, data.file, posttext)
text = '<table class="audiotable" style="vertical-align: middle; display: inline-block; list-style: none; line-height: 1em; border-collapse: collapse; margin: 0;">' .. text .. "</table>"
local stylesheet = require(template_styles_module)(audio_styles_css)
local categories =
data.nocat and "" or
cats[1] and require(utilities_module).format_categories(cats, data.lang, data.sort) or ""
return stylesheet .. text .. categories
end
--[==[
FIXME: Old entry point for formatting multiple audios in a single table. Not used anywhere and needs rewriting to the
standard of format_audio().
Meant to be called from a module. `data` is a table containing the following fields:
<pre>
{
lang = LANGUAGE_OBJECT,
audios = {{file = "FILENAME", qualifiers = nil or {"QUALIFIER", "QUALIFIER", ...}}, ...},
caption = nil or "CAPTION"
}
</pre>
Here:
* `lang` is a language object.
* `audios` is the list of audio files to display. FILENAME is the name of the audio file without a namespace.
QUALIFIER is a qualifier string to display after the specific audio file in question, formatted using
{format_qualifier()} in [[モジュール:qualifier]].
* `caption`, if specified, adds a caption before the audio file.
]==]
function export.format_multiple_audios(data)
local audiocats = { data.lang:getFullName() .. " 音声リンクがある語句" }
local rows = { }
local caption = data.caption
for _, audio in ipairs(data.audios) do
local qualifiers = audio.qualifiers
local function repl(key)
if key == "file" then
return audio.file
elseif key == "caption" then
if not caption then return "" end
return "<td rowspan=" .. #data.audios .. ">" .. caption .. ":</td>"
elseif key == "qualifiers" then
if not qualifiers or not qualifiers[1] then return "" end
return "<td>" .. require(qualifier_module).format_qualifier(qualifiers) .. "</td>"
end
end
local template = [=[
<tr>{{{caption}}}
<td class="audiofile">[[File:{{{file}}}|noicon|175px]]</td>
<td class="audiometa" style="font-size: 80%;">([[:File:{{{file}}}|file]])</td>
{{{qualifiers}}}</tr>]=]
local text = (mw.ustring.gsub(template, "{{{([a-z0-9_:]+)}}}", repl))
table.insert(rows, text)
caption = nil
end
local function repl(key)
if key == "rows" then
return table.concat(rows, "\n")
end
end
local template = [=[
<table class="audiotable" style="vertical-align: middle; display: inline-block; list-style: none; line-height: 1em; border-collapse: collapse;">
{{{rows}}}
</table>
]=]
local stylesheet = require(template_styles_module)(audio_styles_css)
local text = mw.ustring.gsub(template, "{{{([a-z0-9_:]+)}}}", repl)
local categories =
data.nocat and "" or
#audiocats > 0 and require(utilities_module).format_categories(audiocats, data.lang, data.sort) or ""
-- remove newlines due to HTML generator bug in MediaWiki(?) - newlines in tables cause list items to not end correctly
text = mw.ustring.gsub(text, "\n", "")
return stylesheet .. text .. categories
end
--[==[
Construct the `text` object passed into {format_audio()}, from raw-ish arguments (essentially, the output of {process()}
in [[モジュール:parameters]]). On entry, `args` contains the following fields:
* `lang` ('''required'''): Language object.
* `text`: Text. If this isn't defined and neither are any of `gloss`, `tr`, `ts`, `pos`, `lit` or `genders`, the
function returns {nil}.
* `gloss`: Gloss of text.
* `tr`: Manual transliteration of text.
* `ts`: Transcription of text.
* `pos`: Part of speech of text.
* `lit`: Literal meaning of text.
* `genders`: List of gender/number spec(s) of text.
* `sc`: Optional script object of text (rarely needs to be set).
* `pagename`: Pagename; used in place of `text` when `text` is unset but other text-related parameters are set.
If not specified, taken from the actual pagename.
]==]
function export.construct_audio_textobj(args)
local textobj
if args.text or args.gloss or args.tr or args.ts or args.pos or args.lit or args.genders and args.genders[1] then
local text = args.text or args.pagename or mw.loadData("モジュール:headword/data").pagename
textobj = {
lang = args.lang,
alt = wrap_qualifier_css("“", "quote") .. text .. wrap_qualifier_css("”", "quote"),
gloss = args.gloss,
tr = args.tr,
ts = args.ts,
pos = args.pos,
lit = args.lit,
genders = args.genders,
sc = args.sc,
}
end
return textobj
end
--[==[
Entry point for {{tl|audio}} template.
]==]
function export.show(frame)
local parent_args = frame:getParent().args
local compat = parent_args.lang
local offset = compat and 0 or 1
local params = {
[compat and "lang" or 1] = {required = true, type = "language", default = "en"},
[1 + offset] = {required = true, default = "Example.ogg"},
[2 + offset] = {},
["q"] = {type = "qualifier"},
["qq"] = {type = "qualifier"},
["a"] = {type = "labels"},
["aa"] = {type = "labels"},
["ref"] = {type = "references"},
["IPA"] = {sublist = true},
["text"] = {},
["t"] = {},
["gloss"] = {alias_of = "t"},
["tr"] = {},
["ts"] = {},
["pos"] = {},
["lit"] = {},
["g"] = {sublist = true},
["sc"] = {type = "script"},
["bad"] = {},
["nocat"] = {type = "boolean"},
["sort"] = {},
["pagename"] = {},
}
local args = require(parameters_module).process(parent_args, params)
local lang = args[compat and "lang" or 1]
-- Needed in construct_audio_textobj().
args.lang = lang
local textobj = export.construct_audio_textobj(args)
local caption = args[2 + offset]
local nocaption
if caption == "-" then
caption = nil
nocaption = true
end
if caption then
-- Remove final colon if given, to avoid two colons.
caption = caption:gsub(":$", "")
end
local data = {
lang = lang,
file = args[1 + offset],
caption = caption,
nocaption = nocaption,
q = args.q,
qq = args.qq,
a = args.a,
aa = args.aa,
refs = args.ref,
text = textobj,
IPA = args.IPA,
bad = args.bad,
nocat = args.nocat,
sort = args.sort,
}
return export.format_audio(data)
end
return export
kzeait0q3o2al5lou11euqeb7le6u08
2328220
2328218
2026-08-16T22:21:15Z
Kuroco2k
84207
2328220
Scribunto
text/plain
local export = {}
local headword_data_module = "モジュール:headword/data"
local IPA_module = "モジュール:IPA"
local labels_module = "モジュール:labels"
local links_module = "モジュール:links"
local parameters_module = "モジュール:parameters"
local qualifier_module = "モジュール:qualifier"
local references_module = "モジュール:references"
local string_utilities_module = "モジュール:string utilities"
local table_module = "モジュール:table"
local template_styles_module = "モジュール:TemplateStyles"
local utilities_module = "モジュール:utilities"
local audio_styles_css = "audio/styles.css"
local function track(page)
require("モジュール:debug/track")("audio/" .. page)
return true
end
local function wrap_qualifier_css(text, suffix)
return require(qualifier_module).wrap_qualifier_css(text, suffix)
end
--[==[
Display a box that can be used to play an audio file. `data` is a table containing the following fields:
* `lang` ('''required'''): language object for the audio files;
* `file` ('''required'''): file containing the audio;
* `caption`: Caption to display before the audio box; normally {"Audio"}, and does not usually need to be changed;
* `nocaption`: If specified, don't display the caption;
* `q`: {nil} or a list of left regular qualifier strings, formatted using {format_qualifier()} in [[モジュール:qualifier]]
and displayed before the audio box and after the caption (and any accent qualifiers);
* `qq`: {nil} or a list of right regular qualifier strings, displayed directly after the audio box (and after any
accent qualifiers);
* `a`: {nil} or a list of left accent qualifier strings, formatted using {format_qualifiers()} in
[[モジュール:accent qualifier]] and displayed before the audio box and after the caption;
* `aa`: {nil} or a list of right accent qualifier strings, displayed directly after the homophone in question;
* `refs`: {nil} or a list of references or reference specs to add directly after the audio box; the value of a list item
is either a string containing the reference text (typically a call to a citation template such as {{tl|cite-book}}, or
a template wrapping such a call), or an object with fields `text` (the reference text), `name` (the name of the
reference, as in {{cd|<nowiki><ref name="foo">...</ref></nowiki>}} or {{cd|<nowiki><ref name="foo" /></nowiki>}})
and/or `group` (the group of the reference, as in {{cd|<nowiki><ref name="foo" group="bar">...</ref></nowiki>}} or
{{cd|<nowiki><ref name="foo" group="bar"/></nowiki>}}); this uses a parser function to format the reference
appropriately and insert a footnote number that hyperlinks to the actual reference, located in the
{{cd|<nowiki><references /></nowiki>}} section;
* `text`: Text of the audio snippet; if specified, should be an object of the form passed to {full_link()} in
[[モジュール:links]], including a `lang` field containing the language of the text (usually the same as `data.lang`);
displayed before the audio box, after any regular and accent qualifiers;
* `IPA`: IPA of the audio snippet, or a list of IPA specs; if specified, should be surrounded by slashes or brackets,
and will be processed using {format_IPA_multiple()} in [[モジュール:IPA]] and displayed before the audio box, after any
regular and accent qualifiers and after the text of the audio snippet, if given;
* `nocat`: If true, suppress categorization;
* `sort`: Sort key for categorization.
]==]
function export.format_audio(data)
local langname = data.lang:getFullName()
local cats = { langname .. " 音声リンクがある語句" }
local function format_a(a)
if a and a[1] then
return require(labels_module).show_labels {
lang = data.lang,
labels = a,
mode = "accent",
nocat = true,
open = false,
close = false,
no_track_already_seen = true,
}
end
return nil
end
local function format_q(q)
if q and q[1] then
return require(qualifier_module).format_qualifier(q, false, false)
end
return nil
end
local function make_td_if(text)
if text == "" then
return text
end
return "<td>" .. text .. "</td>"
end
-- Generate the full text preceding the audio box.
local pretext_parts = {}
local function ins(text)
table.insert(pretext_parts, text)
end
local formatted_accent_labels, formatted_qualifiers, formatted_text, formatted_ipa
formatted_accent_labels = format_a(data.a)
formatted_qualifiers = format_q(data.q)
if data.text then
formatted_text = require(links_module).full_link(data.text, "term", true)
end
if data.IPA then
local ipa_cats
local ipa = data.IPA
if type(ipa) == "string" then
ipa = {ipa}
end
local ipa_items = {}
for _, ipa_item in ipairs(ipa) do
table.insert(ipa_items, {pron = ipa_item})
end
formatted_ipa, ipa_cats = require(IPA_module).format_IPA_multiple(data.lang, ipa_items, nil, "no count", "raw")
if ipa_cats[1] then
require(table_module).extend(cats, ipa_cats)
end
end
local has_qual = formatted_accent_labels or formatted_qualifiers
if not data.nocaption then
-- Track uses of caption (3=). Over time as we eliminate most of them, we can use this to find and
-- eliminate the remainder.
if data.caption then
track("caption")
end
ins(data.caption or "音声")
if has_qual then
ins(" " .. wrap_qualifier_css("(", "brac"))
end
end
if formatted_accent_labels then
ins(formatted_accent_labels)
if formatted_qualifiers then
ins(wrap_qualifier_css(",", "comma") .. " ")
end
end
if formatted_qualifiers then
ins(formatted_qualifiers)
end
if has_qual then
if not data.nocaption then
ins(wrap_qualifier_css(")", "brac"))
end
end
if (formatted_text or formatted_ipa) and (has_qual or not data.nocaption) then
ins(wrap_qualifier_css(";", "semicolon") .. " ")
end
if formatted_text then
ins(formatted_text)
if formatted_ipa then
ins(" ")
end
end
ins(formatted_ipa)
if not data.nocaption then
ins(wrap_qualifier_css(":", "colon"))
end
local pretext = make_td_if(table.concat(pretext_parts))
-- Generate the full text following the audio box.
local posttext_parts = {}
local function ins(text)
table.insert(posttext_parts, text)
end
local formatted_post_accent_labels = format_a(data.aa)
local formatted_post_qualifiers = format_q(data.qq)
local formatted_references = data.refs and require(references_module).format_references(data.refs) or nil
if formatted_references then
ins(formatted_references)
end
if formatted_post_accent_labels or formatted_post_qualifiers then
if formatted_references then
ins(" ")
end
ins(wrap_qualifier_css("(", "brac"))
if formatted_post_accent_labels then
ins(formatted_post_accent_labels)
if formatted_post_qualifiers then
ins(wrap_qualifier_css(",", "comma") .. " ")
end
end
if formatted_post_qualifiers then
ins(formatted_post_qualifiers)
end
ins(wrap_qualifier_css(")", "brac"))
end
if data.bad then
table.insert(cats, langname .. " terms with nonstandard or incorrect audio pronunciations")
ins(" " .. require(qualifier_module).wrap_css("Note: this pronunciation may be nonstandard or incorrect: " .. data.bad, "bad-audio-note"))
end
local posttext = make_td_if(table.concat(posttext_parts))
local template = [=[
<tr>%s<td class="audiofile">[[File:%s|noicon|175px]]</td><td class="audiometa" style="font-size: 80%%;">([[:File:%s|ファイル]])</td>%s</tr>]=]
local text = template:format(pretext, data.file, data.file, posttext)
text = '<table class="audiotable" style="vertical-align: middle; display: inline-block; list-style: none; line-height: 1em; border-collapse: collapse; margin: 0;">' .. text .. "</table>"
local stylesheet = require(template_styles_module)(audio_styles_css)
local categories =
data.nocat and "" or
cats[1] and require(utilities_module).format_categories(cats, data.lang, data.sort) or ""
return stylesheet .. text .. categories
end
--[==[
FIXME: Old entry point for formatting multiple audios in a single table. Not used anywhere and needs rewriting to the
standard of format_audio().
Meant to be called from a module. `data` is a table containing the following fields:
<pre>
{
lang = LANGUAGE_OBJECT,
audios = {{file = "FILENAME", qualifiers = nil or {"QUALIFIER", "QUALIFIER", ...}}, ...},
caption = nil or "CAPTION"
}
</pre>
Here:
* `lang` is a language object.
* `audios` is the list of audio files to display. FILENAME is the name of the audio file without a namespace.
QUALIFIER is a qualifier string to display after the specific audio file in question, formatted using
{format_qualifier()} in [[モジュール:qualifier]].
* `caption`, if specified, adds a caption before the audio file.
]==]
function export.format_multiple_audios(data)
local audiocats = { data.lang:getFullName() .. " 音声リンクがある語句" }
local rows = { }
local caption = data.caption
for _, audio in ipairs(data.audios) do
local qualifiers = audio.qualifiers
local function repl(key)
if key == "file" then
return audio.file
elseif key == "caption" then
if not caption then return "" end
return "<td rowspan=" .. #data.audios .. ">" .. caption .. ":</td>"
elseif key == "qualifiers" then
if not qualifiers or not qualifiers[1] then return "" end
return "<td>" .. require(qualifier_module).format_qualifier(qualifiers) .. "</td>"
end
end
local template = [=[
<tr>{{{caption}}}
<td class="audiofile">[[File:{{{file}}}|noicon|175px]]</td>
<td class="audiometa" style="font-size: 80%;">([[:File:{{{file}}}|file]])</td>
{{{qualifiers}}}</tr>]=]
local text = (mw.ustring.gsub(template, "{{{([a-z0-9_:]+)}}}", repl))
table.insert(rows, text)
caption = nil
end
local function repl(key)
if key == "rows" then
return table.concat(rows, "\n")
end
end
local template = [=[
<table class="audiotable" style="vertical-align: middle; display: inline-block; list-style: none; line-height: 1em; border-collapse: collapse;">
{{{rows}}}
</table>
]=]
local stylesheet = require(template_styles_module)(audio_styles_css)
local text = mw.ustring.gsub(template, "{{{([a-z0-9_:]+)}}}", repl)
local categories =
data.nocat and "" or
#audiocats > 0 and require(utilities_module).format_categories(audiocats, data.lang, data.sort) or ""
-- remove newlines due to HTML generator bug in MediaWiki(?) - newlines in tables cause list items to not end correctly
text = mw.ustring.gsub(text, "\n", "")
return stylesheet .. text .. categories
end
--[==[
Construct the `text` object passed into {format_audio()}, from raw-ish arguments (essentially, the output of {process()}
in [[モジュール:parameters]]). On entry, `args` contains the following fields:
* `lang` ('''required'''): Language object.
* `text`: Text. If this isn't defined and neither are any of `gloss`, `tr`, `ts`, `pos`, `lit` or `genders`, the
function returns {nil}.
* `gloss`: Gloss of text.
* `tr`: Manual transliteration of text.
* `ts`: Transcription of text.
* `pos`: Part of speech of text.
* `lit`: Literal meaning of text.
* `genders`: List of gender/number spec(s) of text.
* `sc`: Optional script object of text (rarely needs to be set).
* `pagename`: Pagename; used in place of `text` when `text` is unset but other text-related parameters are set.
If not specified, taken from the actual pagename.
]==]
function export.construct_audio_textobj(args)
local textobj
if args.text or args.gloss or args.tr or args.ts or args.pos or args.lit or args.genders and args.genders[1] then
local text = args.text or args.pagename or mw.loadData("モジュール:headword/data").pagename
textobj = {
lang = args.lang,
alt = wrap_qualifier_css("“", "quote") .. text .. wrap_qualifier_css("”", "quote"),
gloss = args.gloss,
tr = args.tr,
ts = args.ts,
pos = args.pos,
lit = args.lit,
genders = args.genders,
sc = args.sc,
}
end
return textobj
end
--[==[
Entry point for {{tl|audio}} template.
]==]
function export.show(frame)
local parent_args = frame:getParent().args
local compat = parent_args.lang
local offset = compat and 0 or 1
local params = {
[compat and "lang" or 1] = {required = true, type = "language", default = "en"},
[1 + offset] = {required = true, default = "Example.ogg"},
[2 + offset] = {},
["q"] = {type = "qualifier"},
["qq"] = {type = "qualifier"},
["a"] = {type = "labels"},
["aa"] = {type = "labels"},
["ref"] = {type = "references"},
["IPA"] = {sublist = true},
["text"] = {},
["t"] = {},
["gloss"] = {alias_of = "t"},
["tr"] = {},
["ts"] = {},
["pos"] = {},
["lit"] = {},
["g"] = {sublist = true},
["sc"] = {type = "script"},
["bad"] = {},
["nocat"] = {type = "boolean"},
["sort"] = {},
["pagename"] = {},
}
local args = require(parameters_module).process(parent_args, params)
local lang = args[compat and "lang" or 1]
-- Needed in construct_audio_textobj().
args.lang = lang
local textobj = export.construct_audio_textobj(args)
local caption = args[2 + offset]
local nocaption
if caption == "-" then
caption = nil
nocaption = true
end
if caption then
-- Remove final colon if given, to avoid two colons.
caption = caption:gsub(":$", "")
end
local data = {
lang = lang,
file = args[1 + offset],
caption = caption,
nocaption = nocaption,
q = args.q,
qq = args.qq,
a = args.a,
aa = args.aa,
refs = args.ref,
text = textobj,
IPA = args.IPA,
bad = args.bad,
nocat = args.nocat,
sort = args.sort,
}
return export.format_audio(data)
end
return export
fnvcgy9qu58sozrrqbazuhasu13dio1
kilo-
0
577783
2328242
2206865
2026-08-16T23:30:35Z
Kuroco2k
84207
/* {{pron}} */
2328242
wikitext
text/x-wiki
{{also|kilo|kiló|kilö|kilọ|kiło|kíló|kíló-|kîlo|kîlo-|кіло|кіло-|кіло|кило|кило-|кило}}
=={{L|sq}}==
==={{prefix}}===
{{head|sq|prefix}}
#{{タグ|sq|国際単位系}} [[千]]倍の。[[キロ]]。
=={{L|it}}==
==={{prefix}}===
{{head|it|prefix}}
#{{タグ|it|国際単位系|sciences}} [[千]]倍の。[[キロ]]。
#:{{syn|it|chilo-}}
=={{L|io}}==
==={{prefix}}===
{{head|io|prefix}}
#{{タグ|io|国際単位系}} [[千]]倍の。[[キロ]]。
=={{L|izh}}==
==={{etym}}===
{{bor|izh|ru|кило-}}
==={{pron}}===
*{{izh-p}}
==={{prefix}}===
{{head|izh|prefix}}
#{{タグ|izh|国際単位系}} [[千]]倍の。[[キロ]]。
=={{L|id}}==
==={{prefix}}===
{{head|id|prefix}}
#{{タグ|id|国際単位系}} [[千]]倍の。[[キロ]]。
=={{L|en}}==
{{enum|en|hecto-|mega-|SI単位系|k}}
==={{etym}}===
{{bor|en|fr|kilo-}} < {{etyl|grc|en}} {{m|grc|χίλιοι}}。語源から見ると{{m|en|chili-}} か {{m|en|chilo-}}が正統だが、フランス語の時代に卑語 {{m|fr|chier}} との混同を防ぐためこの形になった。
==={{pron}}===
*{{enPR|kĭl′ə-}}
*{{IPA|lang=en|/ˌkɪl.ə-/|a=RP|a2=GenAm|a3=CanE|a4=AuE|a5=ScE}}
**{{音声|en|LL-Q1860 (eng)-Vealhurl-kilo-.wav|a=Southern England}}
*{{IPA|lang=en|/ˌkəl.ə-/|a=NZE}}
*{{IPA|lang=en|/ˌkɪl.o-/|a=InE}}
*{{hyph|en|kil|o-}}
==={{prefix}}===
{{en-prefix}}
#{{タグ|en|国際単位系}} [[千]]倍の。[[キロ]]。
#:{{syn|en|chilia-}}
#:{{ant|en|milli-}}
#{{context|computing|非推奨|lang=en}} 1024倍 {{q|2<sup>10</sup>}}の。
#:{{syn|en|kibi-|Ki-|ki-}}
===={{usage}}====
*語義2の用法では死語だが、使用する人も多く存在する<ref name=BIPM>{{cite-book |year=2006年 |author=BIPM |title=Le Système international d’unités: The International System of Units |edition=8 |url=https://www1.bipm.org/utils/common/pdf/si_brochure_8.pdf#page=127}}</ref>。
===脚注===
{{Reflist}}
===参考文献===
* {{R:OneLook}}
==={{anag}}===
* {{anagrams|en|a=iklo|Ilok|Loki}}
=={{L|et}}==
==={{prefix}}===
{{head|et|prefix}}
#{{タグ|et|国際単位系}} [[千]]倍の。[[キロ]]。
===参考文献===
*{{R:EKSS}}
=={{L|eo}}==
==={{prefix}}===
{{head|eo|prefix}}
#{{タグ|eo|国際単位系}} [[千]]倍の。[[キロ]]。
===参考文献===
*{{R:eo:PIV 2020|kilo}}
*{{R:eo:ReVo}}
=={{L|nl}}==
{{wikipedia|kilo (SI-prefix)|lang=nl}}
==={{etym}}===
{{etyl|fr|nl}} {{m|fr|kilo-}}
==={{pron}}===
*{{音声|nl|Nl-kilo-.ogg}}
==={{prefix}}===
{{head|nl|prefix}}
#{{タグ|nl|国際単位系}} [[千]]倍の。[[キロ]]。
=={{L|ca}}==
==={{alter}}===
*{{alt+|ca|quilo-}}
==={{etym}}===
{{bor|ca|fr|kilo-}} < {{etyl|grc|ca}} {{m|grc|χίλιοι}}
==={{prefix}}===
{{head|ca|prefix}}
#{{タグ|ca|国際単位系}} [[千]]倍の。[[キロ]]。
===={{usage}}====
本来カタルーニャ語アルファベットではkが存在せず、/k/の音を示すには qu を用いていた (={{m|ca|quilo-}}) が、国際標準の略語としてkが一般になったため、kilo-の形で書かれるようになった。保守的な人は現在も quilo- とすることがある。
===参考文献===
*{{R:ca:IEC2}}
*{{R:ca:GDLC}}
*{{R:ca:DNV}}
=={{L|sv}}==
==={{prefix}}===
{{head|sv|prefix}}
#{{タグ|sv|国際単位系}} [[千]]倍の。[[キロ]]。
===参考文献===
*{{R:svenska.se|saob}}
=={{L|es}}==
==={{etym}}===
{{etyl|fr|es}} {{m|fr|kilo-}} < {{etyl|grc|es}} {{m|grc|χίλιοι}}
==={{prefix}}===
{{head|es|prefix}}
#{{タグ|es|国際単位系}} [[千]]倍の。[[キロ]]。
#{{context|computing|lang=es}} 1024倍 {{q|2<sup>10</sup>}}の。
===参考文献===
*{{R:es:DRAE}}
=={{L|sk}}==
==={{prefix}}===
{{head|sk|prefix}}
#{{タグ|sk|国際単位系}} [[千]]倍の。[[キロ]]。
===参考文献===
*{{R:sk:SDK}}
=={{L|sl}}==
==={{pron}}===
*{{sl-IPA|kȋlo}}
==={{prefix}}===
{{head|sl|prefix|head=kȋlo-}}
#{{タグ|sl|国際単位系}} [[千]]倍の。[[キロ]]。
===参考文献===
*{{R:sl:Fran}}
=={{L|sw}}==
==={{prefix}}===
{{head|sw|prefix}}
#{{タグ|sw|国際単位系}} [[千]]倍の。[[キロ]]。
=={{L|sh}}==
==={{prefix}}===
{{head|sh|prefix}}
#{{タグ|sh|国際単位系}} [[千]]倍の。[[キロ]]。
===参考文献===
* {{R:sh:HJP|el1vWRA%3D}}
=={{L|cs}}==
==={{pron}}===
*{{cs-IPA}}
==={{prefix}}===
{{head|cs|prefix}}
#{{タグ|cs|国際単位系}} [[千]]倍の。[[キロ]]。
===参考文献===
*{{R:cs:SSJC}}
=={{L|da}}==
==={{etym}}===
{{etyl|fr|da}} {{m|fr|kilo-}} < {{etyl|grc|da}} {{m|grc|χίλιοι}}
==={{prefix}}===
{{head|da|prefix}}
#{{タグ|da|国際単位系}} [[千]]倍の。[[キロ]]。
=={{L|de}}==
==={{prefix}}===
{{head|de|prefix}}
#{{タグ|de|国際単位系}} [[千]]倍の。[[キロ]]。
=={{L|tr}}==
==={{prefix}}===
{{head|tr|prefix}}
#{{タグ|tr|国際単位系}} [[千]]倍の。[[キロ]]。
===参考文献===
*{{R:tr:TDK|kilogram}}
=={{L|nn}}==
==={{prefix}}===
{{head|nn|prefix}}
#{{タグ|nn|国際単位系}} [[千]]倍の。[[キロ]]。
===参考文献===
*{{R:nn:OB|kilogram}}
=={{L|nb}}==
==={{prefix}}===
{{head|nb|prefix}}
#{{タグ|nb|国際単位系}} [[千]]倍の。[[キロ]]。
===参考文献===
*{{R:nb:OB}}
=={{L|eu}}==
==={{prefix}}===
{{head|eu|prefix}}
#{{タグ|eu|国際単位系}} [[千]]倍の。[[キロ]]。
=={{L|hu}}==
==={{pron}}===
*{{hu-IPA}}
*{{hyphenation|lang=hu|ki|lo}}
==={{prefix}}===
{{head|hu|prefix}}
#{{タグ|hu|国際単位系}} [[千]]倍の。[[キロ]]。
=={{L|fi}}==
==={{etym}}===
{{etyl|fr|fi}} {{m|fr|kilo-}} < {{etyl|grc|fi}} {{m|grc|χίλιοι}}
==={{pron}}===
{{fi-p}}
==={{prefix}}===
{{head|fi|prefix}}
#{{タグ|fi|国際単位系}} [[千]]倍の。[[キロ]]。
#{{context|computing|lang=fi}} 1024倍 {{q|2<sup>10</sup>}}の。
===参考文献===
*{{R:KTSK}}
=={{L|fr}}==
==={{etym}}===
{{etyl|grc|fr}} {{m|grc|χίλιοι}}
==={{pron}}===
*{{音声|fr|LL-Q150 (fra)-LoquaxFR-kilo-.wav|a=Vosges}}
*{{音声|fr|LL-Q150 (fra)-Poslovitch-kilo-.wav|a=Vosges}}
==={{prefix}}===
{{head|fr|prefix}}
#{{タグ|fr|国際単位系}} [[千]]倍の。[[キロ]]。
#{{context|computing|lang=fr}} 1024倍 {{q|2<sup>10</sup>}}の。
===参考文献===
*{{R:fr:TLFi}}
=={{L|pl}}==
==={{etym}}===
{{bor|pl|fr|kilo-}}
==={{pron}}===
{{pl-pr|a=Pl-kilo-.ogg;LL-Q809 (pol)-Olaf-kilo-.wav}}
==={{prefix}}===
{{head|pl|prefix}}
#{{タグ|pl|国際単位系}} [[千]]倍の。[[キロ]]。
=={{L|pt}}==
==={{prefix}}===
{{head|pt|prefix}}
#{{alt form|pt|quilo-}}
=={{L|lv}}==
==={{prefix}}===
{{head|lv|prefix}}
#{{タグ|lv|国際単位系}} [[千]]倍の。[[キロ]]。
=={{L|lt}}==
==={{prefix}}===
{{head|lt|prefix}}
#{{タグ|lt|国際単位系}} [[千]]倍の。[[キロ]]。
=={{L|ro}}==
==={{prefix}}===
{{head|ro|prefix}}
#{{タグ|ro|国際単位系}} [[千]]倍の。[[キロ]]。
p8jigcwpybif8tji5rhctjqxglgmbej
Afryka
0
578370
2328237
2208316
2026-08-16T23:27:36Z
Kuroco2k
84207
2328237
wikitext
text/x-wiki
{{also|Afryką}}
=={{L|pl}}==
==={{etym}}===
{{lbor|pl|la|Āfrica}}
==={{pron}}===
{{pl-pr|&|a=Pl-Afryka.ogg}}
==={{name}}===
{{pl-prop|f}}
#{{タグ|pl|アフリカ|sort=*|label=no}} {{タグ|pl|地理}} [[アフリカ]]。
===={{decl}}====
{{pl-decl-noun-f|num=s}}
===={{drv}}====
{{col2|pl|Afrykańczyk|Afrykanin|Afrykanka}}
fhu5grqtdiseotvdbb9fzl30ff8avcx
wielbłąd
0
585085
2328251
2267248
2026-08-16T23:35:45Z
Kuroco2k
84207
2328251
wikitext
text/x-wiki
=={{L|csb}}==
==={{etym}}===
{{etyl|sla-pro|csb}} {{m|sla-pro|*velьblǫdъ}} 。{{doublet|csb|élefant}}。
===={{cogn}}====
{{cog|cs|velbloud}} {{cog|pl|wielbłąd}}
==={{noun}}===
{{csb-noun|m-an|f=wielbłądnica}} {{topcat|csb|駱駝}}
#[[駱駝]]。
#:{{syn|csb|kamel}}
=={{L|pl}}==
==={{etym}}===
{{etyl|sla-pro|pl}} {{m|sla-pro|*velьb(l)ǫdъ}}, {{m|sla-pro|*vъlьb(l)ǫdъ}} < {{etyl|got|pl}} {{m|got|𐌿𐌻𐌱𐌰𐌽𐌳𐌿𐍃}} < {{etyl|la|pl}} {{m|la|elephantus}} < {{etyl|grc|pl}} {{m|grc|ἐλέφας}}
==={{pron}}===
{{pl-pr|a=LL-Q809 (pol)-Olaf-wielbłąd.wav;LL-Q809 (pol)-Gower-wielbłąd.wav}}
==={{noun}}===
{{pl-noun|m-an}} {{topcat|pl|駱駝}}
#[[駱駝]]。
#{{context|humorous|lang=pl}} 大[[失態]]。
===={{drv}}====
{{col2|pl|wielbłądzi|wielbłądka}}
oqdjqr9sderdtmvwb6m6vywe09cz2pk
չէ
0
592435
2328212
2299103
2026-08-16T22:10:20Z
Shishinó Mígami
120892
2328212
wikitext
text/x-wiki
=={{L|hy}}==
==={{etym}}===
{{etyl|xcl|hy}} {{m|xcl|չէ}}から。
==={{pron}}===
{{hy-IPA}}
*{{音声|hy|LL-Q8785 (hye)-Veravi95-չէ.wav|a=hy-W}}
*{{hyph|hy|չէ}}
===応答詞===
{{hy-interj}}
#{{context|informal|lang=hy}} [[いいえ]]。
===={{syn}}====
# {{l|hy|ոչ}} {{タグ|hy|やや改まった表現|丁寧}}
===={{ant}}====
# {{l|hy|հա}} {{タグ|hy|informal}}
# {{l|hy|այո}} {{タグ|hy|やや改まった表現|丁寧}}
4n6cktrr3587s9unikw582gmr088a84
businessman
0
594858
2328234
2298614
2026-08-16T23:25:48Z
Kuroco2k
84207
/* {{pron}} */
2328234
wikitext
text/x-wiki
=={{L|en}}==
==={{etym}}===
{{affix|en|business|-man}}。早期英語の{{m|en|merchant}}を置き換えた形。
==={{pron}}===
* {{IPA|lang=en|/ˈbɪznəsmən/|/ˈbɪznɪsmən/|a=UK}}
* {{IPA|lang=en|/ˈbɪznəsmæn/|/ˈbɪznəsmən/|a=US}}
* {{音声|en|en-us-businessman.ogg|a=US}}
==={{noun}}===
{{en-noun|businessmen|irr=1}}
#[[実業家]]、[[実業者]]。
#:{{syn|en|businessperson}}
===={{desc}}====
* {{desc|ga|fear gnó|clq=1}}
* {{desc|sk|biznismen|bor=1}}
* {{desc|sh|-|bor=1}}
*: {{desc|sh|бѝзнисмен}}
*: {{desc|sh|bìznismen}}
* {{desc|ja|ビジネスマン|bor=1}}
* {{desc|fr|businessman|bor=1}}
* {{desc|pl|biznesmen|bor=1}}
* {{desc|mk|би́знисмен|bor=1}}
* {{desc|ro|businessman|bor=1}}
* {{desctree|ru|бизнесме́н|tr=biznɛsmén|bor=1}}
=={{L|fr}}==
==={{etym}}===
{{bor+|fr|en|businessman}}
==={{pron}}===
* {{fr-IPA|bisenessemane}}
* {{音声|fr|LL-Q150 (fra)-Lyokoï-businessman.wav|a=Lyon}}
==={{noun}}===
{{fr-noun|m|pl=businessmen|pl2=businessmans|f=businesswoman}}
#[[実業家]]、[[実業者]]。
=={{L|pl}}==
==={{etym}}===
{{ubor|fr|en|businessman}}
==={{pron}}===
{{pl-pr|'biz.nes.men,biznesmen|a=LL-Q809 (pol)-Olaf-businessman.wav|h=busi.ness.man}}
==={{noun}}===
{{pl-noun|m-pr|f=businesswoman}}
#{{alt sp|pl|biznesmen}}
===={{decl}}====
{{pl-decl-noun-m-pr}}
=={{L|ro}}==
==={{etym}}===
{{bor+|ro|en|businessman}}
==={{noun}}===
{{ro-noun|m|businessmeni}}
#[[実業家]]、[[実業者]]。
===={{decl}}====
{{ro-noun-m|pl=businessmeni}}
r1j56t7jo8giyfin43rx9yx6su6hsxf
トーク:مجمع روحانيون مبارز
1
601944
2328224
2325487
2026-08-16T22:33:37Z
Naggy Nagumo
12105
/* 執筆方針を満たす? */ 返信
2328224
wikitext
text/x-wiki
== 執筆方針を満たす? ==
私は世界史選択じゃないのでいまいちわからないのですが、これらって[[Wiktionary:編集方針#人名・団体名及び芸術作品名の扱い]]を満たすのでしょうか?--[[利用者:Kuroco2k|<span style="color:#000000">'''雛宮黒狐'''</span>]]([[利用者‐会話:Kuroco2k|<span style="color:#5a00cc">Talk</span>]]) 2026年8月16日 (日) 00:11 (UTC)
:{{コメント}} 日本語訳を見る限り今の編集方針には合っていないように見えます。ネットで調べた情報から読み取る限りは、政治・宗教組織の名前ということらしい。おそらく一般常識的な政党名というわけではなく、現代イラン政治の派閥の一つだと思います。あと、削除される運命ならあまり関係ありませんが、1文字だけアラビア文字が混じっているのが気になります(Web検索がうまくいかなくて気づいた)。--[[利用者:Naggy Nagumo|Naggy Nagumo]] ([[利用者・トーク:Naggy Nagumo|トーク]]) 2026年8月16日 (日) 22:33 (UTC)
mxdr6r64ueab1iidb8mffkrwpnd1pko
倮
0
602537
2328185
2327823
2026-08-16T15:16:15Z
TAKA647
91604
2328185
wikitext
text/x-wiki
==漢字==
{{kanji|人|8}}
{{kanji variants|裸=[[正字]]|𬾛|㒩}}
===意義===
#「[[裸]]」の[[同字]](『{{w|漢語大字典}}』掲載)。
=={{コード}}==
{{文字コード|jis=1-14-32/2-17-58|mj={{mjmoji|006869}}|gb=D9C0|cns=3-2F51|big5=93F5|全={{全字庫|208721}}|ksx=1002-5D73|kps=10721-35B0}}
{{検字|蒼頡=OWD|四角=2629.0}}
{{字典|新潮漢字=11645|諸橋=797|新大字典=603|大字源=352|大漢語林=453|dj=0232.050|hdz=10177.030|康煕=0109.070|matthews=4108|ch=115.301}}
g9d671xk379mfju0j1egl2w6it552vv
天官
0
602710
2328161
2026-08-16T12:24:45Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|てんかん}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|[[てんかん]]}} #[[天子]]に仕える[[官吏]]。 #[[中国]][[周]]代の[[官職]]の一つ。[[国政]]を[[総括]]し、[[宮中]]のことを司った官吏の総称。」
2328161
wikitext
text/x-wiki
{{kana-DEFAULTSORT|てんかん}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|[[てんかん]]}}
#[[天子]]に仕える[[官吏]]。
#[[中国]][[周]]代の[[官職]]の一つ。[[国政]]を[[総括]]し、[[宮中]]のことを司った官吏の総称。
1dzofekmmbrxiy3cbieq3oftuvvwnqp
煩多
0
602711
2328163
2026-08-16T12:37:53Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|はんた}} =={{ja}}== ==={{noun}}=== {{ja-noun|[[はんた]]}} #[[煩雑]]なこと。また、そのようなさま。 ==={{adjectivenoun}}=== {{日本語タルト活用}}」
2328163
wikitext
text/x-wiki
{{kana-DEFAULTSORT|はんた}}
=={{ja}}==
==={{noun}}===
{{ja-noun|[[はんた]]}}
#[[煩雑]]なこと。また、そのようなさま。
==={{adjectivenoun}}===
{{日本語タルト活用}}
pl1z8w49yp1tpt5j0rmgay31xnl0rkq
ばんだ
0
602712
2328164
2026-08-16T12:44:15Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT}} {{also|はんた|はんだ|ばんた|パンダ}} =={{L|ja}}== ==={{kangokana}}=== {{ja-kangokana}} *【[[万朶]]】たくさんの垂れ下がった枝。」
2328164
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|はんた|はんだ|ばんた|パンダ}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana}}
*【[[万朶]]】たくさんの垂れ下がった枝。
j08hv5venjy8zp52qab6rvlyhixgv09
ばんた
0
602713
2328167
2026-08-16T12:49:50Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT}} {{also|はんた|はんだ|ばんだ|パンダ}} =={{L|ja}}== ==={{kangokana}}=== {{ja-kangokana}} *【[[番太]]】江戸時代、町の番をした者。」
2328167
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|はんた|はんだ|ばんだ|パンダ}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana}}
*【[[番太]]】江戸時代、町の番をした者。
eq5oaayxmsalqp6q4a5rr9ezl3yx5i5
はんた
0
602714
2328168
2026-08-16T12:52:38Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT}} {{also|はんた|ばんた|ばんだ|パンダ}} =={{L|ja}}== ==={{kangokana}}=== {{ja-kangokana|h=y}} *【[[煩多]]】煩雑なこと。 *【[[繁多]]】多忙なこと。」
2328168
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|はんた|ばんた|ばんだ|パンダ}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[煩多]]】煩雑なこと。
*【[[繁多]]】多忙なこと。
5d26iqe8d3a6piveb9y72bmn2d2c3ae
2328169
2328168
2026-08-16T12:52:53Z
うーむ
129171
2328169
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|はんだ|ばんた|ばんだ|パンダ}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[煩多]]】煩雑なこと。
*【[[繁多]]】多忙なこと。
nqsd8ktru0n4oinwwsk02i9fskywrqa
公安警察
0
602715
2328170
2026-08-16T13:02:48Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|こうあんけいさつ}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|こうあんけいさつ}} #警察組織のうち[[社会]]の[[安全]]と[[秩序]][[維持]]を[[目的]]とする[[警察]]の[[組織]]や[[活動]]。」
2328170
wikitext
text/x-wiki
{{kana-DEFAULTSORT|こうあんけいさつ}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|こうあんけいさつ}}
#警察組織のうち[[社会]]の[[安全]]と[[秩序]][[維持]]を[[目的]]とする[[警察]]の[[組織]]や[[活動]]。
mf2jt5t1v56papl0b29dhv1oifi6ron
2328171
2328170
2026-08-16T13:03:26Z
うーむ
129171
2328171
wikitext
text/x-wiki
{{kana-DEFAULTSORT|こうあんけいさつ}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|こうあんけいさつ}}
#警察組織のうち[[社会]]の[[安全]]と[[秩序]][[維持]]を[[目的]]とする[[警察]]の[[組織]]や[[活動]]。[[警備警察]]。
cn2saaddwhwcmtlyrc9v3inmjyc3pib
警備警察
0
602716
2328172
2026-08-16T13:04:50Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|けいびけいさつ}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|けいびけいさつ}} #「[[公安警察]]」を[[参照]]。」
2328172
wikitext
text/x-wiki
{{kana-DEFAULTSORT|けいびけいさつ}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|けいびけいさつ}}
#「[[公安警察]]」を[[参照]]。
dc3b5zs10wcvpjitiyxgegzudvwqllq
蜂学
0
602717
2328173
2026-08-16T14:09:54Z
鍼灸
112313
ページの作成:「{{kana-DEFAULTSORT|はちがく}} =={{L|ja}}== ==={{alter}}=== *[[ハチ学]] ==={{noun}}=== {{ja-noun|はちがく|[[ほうがく]]}} #[[はち|蜂]]について[[研究]]する[[学問]]。[[昆虫学]]の一種。 ===={{trans}}==== {{trans-top}} *{{en}}: {{t|en|melittology}} {{trans-bottom}}」
2328173
wikitext
text/x-wiki
{{kana-DEFAULTSORT|はちがく}}
=={{L|ja}}==
==={{alter}}===
*[[ハチ学]]
==={{noun}}===
{{ja-noun|はちがく|[[ほうがく]]}}
#[[はち|蜂]]について[[研究]]する[[学問]]。[[昆虫学]]の一種。
===={{trans}}====
{{trans-top}}
*{{en}}: {{t|en|melittology}}
{{trans-bottom}}
qpwzjq16nl1yu9hhcqdou9qzolh6de1
ほうがくしゃ
0
602718
2328177
2026-08-16T14:14:01Z
鍼灸
112313
ページの作成:「{{kana-DEFAULTSORT}} =={{L|ja}}== ==={{kangokana}}=== {{ja-kangokana|h=y}} *【[[法学者]]】:[[法学]]について[[研究]]する[[科学者]]。 *【[[蜂学者]]】:[[蜂学]]について研究する科学者。」
2328177
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[法学者]]】:[[法学]]について[[研究]]する[[科学者]]。
*【[[蜂学者]]】:[[蜂学]]について研究する科学者。
n17rykex8l8h1mx77kuxadupdxfmen2
蜂学者
0
602719
2328179
2026-08-16T14:15:44Z
鍼灸
112313
ページの作成:「{{kana-DEFAULTSORT|はちがくしゃ}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|はちがくしゃ|[[ほうがくしゃ]]}} #{{タグ|ja|科学者}}[[蜂学]]について[[研究]]する[[科学者]]。 ===={{trans}}==== {{trans-top}} *{{en}}: {{t|en|melittologist}} {{trans-bottom}}」
2328179
wikitext
text/x-wiki
{{kana-DEFAULTSORT|はちがくしゃ}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|はちがくしゃ|[[ほうがくしゃ]]}}
#{{タグ|ja|科学者}}[[蜂学]]について[[研究]]する[[科学者]]。
===={{trans}}====
{{trans-top}}
*{{en}}: {{t|en|melittologist}}
{{trans-bottom}}
rwcp4nfyre9dl8owosbhkbgz4pp2m1c
蜜蜂学
0
602720
2328180
2026-08-16T14:18:58Z
鍼灸
112313
ページの作成:「{{kana-DEFAULTSORT|みつばちがく}} =={{L|ja}}== ==={{alter}}=== *[[ミツバチ学]] ==={{noun}}=== {{ja-noun|みつばちがく}} #[[みつばち|蜜蜂]]について[[研究]]する[[蜂学]]の一分野。 ===={{trans}}==== {{trans-top}} *{{en}}: {{t|en|apiology}} {{trans-bottom}}」
2328180
wikitext
text/x-wiki
{{kana-DEFAULTSORT|みつばちがく}}
=={{L|ja}}==
==={{alter}}===
*[[ミツバチ学]]
==={{noun}}===
{{ja-noun|みつばちがく}}
#[[みつばち|蜜蜂]]について[[研究]]する[[蜂学]]の一分野。
===={{trans}}====
{{trans-top}}
*{{en}}: {{t|en|apiology}}
{{trans-bottom}}
kx4lejkskejuhxk93g30r6ab9ditukh
2328181
2328180
2026-08-16T14:19:43Z
鍼灸
112313
2328181
wikitext
text/x-wiki
{{kana-DEFAULTSORT|みつばちがく}}
=={{L|ja}}==
==={{alter}}===
*[[ミツバチ学]]
==={{noun}}===
{{ja-noun|みつばちがく}}
#[[みつばち|蜜蜂]]について[[研究]]する[[蜂学]]の一分野。
[[Category:{{ja}}_昆虫学]]
===={{trans}}====
{{trans-top}}
*{{en}}: {{t|en|apiology}}
{{trans-bottom}}
5n4a6ihikm5b3b57hb31c5du271k2bt
蜜蜂学者
0
602721
2328182
2026-08-16T14:21:22Z
鍼灸
112313
ページの作成:「{{kana-DEFAULTSORT|みつばちがくしゃ}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|みつばちがくしゃ}} #{{タグ|ja|科学者}}[[蜜蜂学]]について[[研究]]する[[科学者]]。 ===={{trans}}==== {{trans-top}} *{{en}}: {{t|en|apiologist}} {{trans-bottom}}」
2328182
wikitext
text/x-wiki
{{kana-DEFAULTSORT|みつばちがくしゃ}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|みつばちがくしゃ}}
#{{タグ|ja|科学者}}[[蜜蜂学]]について[[研究]]する[[科学者]]。
===={{trans}}====
{{trans-top}}
*{{en}}: {{t|en|apiologist}}
{{trans-bottom}}
1tnsfepqoa6yofausa1gnsgt6ozb6bz
boued-touseg
0
602722
2328183
2026-08-16T14:50:35Z
Binarystep
64377
ページの作成:「=={{L|br}}== [[File:Amanita muscaria (06).jpg|thumb|right]] ==={{etym}}=== {{affix|br|boued|t1=食べ物|touseg|t2=ヒキガエル}} ==={{pron}}=== *{{IPA|bweˈtusːek|lang=br}} ==={{noun}}=== {{br-noun|m}} #{{context|菌類|lang=br}}[[きのこ]]。 #:{{syn|br|kabell-touseg|potiron|skabell-touseg|tog-touseg}}」
2328183
wikitext
text/x-wiki
=={{L|br}}==
[[File:Amanita muscaria (06).jpg|thumb|right]]
==={{etym}}===
{{affix|br|boued|t1=食べ物|touseg|t2=ヒキガエル}}
==={{pron}}===
*{{IPA|bweˈtusːek|lang=br}}
==={{noun}}===
{{br-noun|m}}
#{{context|菌類|lang=br}}[[きのこ]]。
#:{{syn|br|kabell-touseg|potiron|skabell-touseg|tog-touseg}}
09xs0f1ic4tgv5gxg0tyaum017zo9hp
𠼑
0
602723
2328186
2026-08-16T16:35:48Z
らみるな
126633
/* */ 新規作成
2328186
wikitext
text/x-wiki
==漢字==
{{kanji|口|11}}
===意義===
# [[台湾]]の[[人名]][[用字]]。
=={{コード}}==
{{文字コード}}
hqtvjo58xdnf4lndxx7iqqp48olxcdd
2328259
2328186
2026-08-16T23:52:08Z
ふゆくれ
95641
2328259
wikitext
text/x-wiki
==漢字==
{{kanji|口|11}}
{{kanji variants|啙=字義2}}
===字義===
#(hào) [[台湾]]の[[人名]][[用字]]。
#(zǐ, cǐ) 「[[啙]]」の[[同字]](『漢典』掲載)。
=={{L|zh}}==
{{zh-cat|hao4}}
{{zh-han|m=hào,zǐ,cǐ}}
=={{コード}}==
{{文字コード|cns=15-472B|全={{全字庫|1001259}}}}
{{検字|倉頡=HRHGR}}
atkm337eymlomg2ob8rshe3x9s3pgco
ел
0
602724
2328187
2026-08-16T17:24:28Z
M-30722
1202
[[enел]]より
2328187
wikitext
text/x-wiki
{{also|эл|ёл}}
=={{L|udi}}==
==={{noun}}===
{{head|udi|noun}}
#{{タグ|udi|調味料}}{{ふりがな|塩|しお}}。
=={{L|kk}}==
==={{etym}}===
{{etyl|qwm|kk}} < {{etyl|trk-cmn-pro|kk}} {{m|trk-cmn-pro|*ēl}} < {{etyl|trk-pro|kk}} {{m|trk-pro|*ēl}}
==={{pron}}===
* {{IPA|lang=kk|/el/|[je̘lʲ]}}
* {{hyph|kk|ел}}
==={{noun}}===
{{kk-noun}}
#[[民衆]]、[[大衆]]。
#:{{syn|kk|бұқара|жұрт|халық|халайық}}
#{{ふりがな|国|くに}}、[[国家]]。
#:{{syn|kk|держава|мемлекет|отан|штат}}
{{kk-noun-c|е|л}}
=={{L|kum}}==
==={{etym}}===
{{etyl|trk-pro|kum}} {{m|trk-pro|*yẹl}}
==={{noun}}===
{{kum-noun}}
#{{topcat|kum|風}}{{ふりがな|風|かぜ}}。
#{{タグ|kum|生理学}}[[腸]]の[[ガス]]。
{{kum-decl-noun}}
=={{L|tt}}==
==={{etym}}===
{{etyl|trk-pro|tt}} {{m|trk-pro|*yïl}}
==={{noun}}===
{{head|tt|noun}}
#{{タグ|tt|暦}}{{ふりがな|年|とし}}。
{{tt-cyrl-decl|ы}}
=={{L|nog}}==
==={{etym}}===
{{etyl|trk-pro|nog}} {{m|trk-pro|*yẹl}}
==={{noun}}===
{{nog-noun}}
#{{topcat|nog|風}}{{ふりがな|風|かぜ}}。
=={{L|ba}}==
==={{etym}}===
{{etyl|trk-pro|ba}} {{m|trk-pro|*yẹl}}
==={{pron}}===
* {{IPA|lang=ba|[jɪ̞l]}}
* {{音声|ba|Ba-ел.ogg}}
* {{hyphenation|ел}}
==={{noun}}===
{{ba-noun}}
#{{topcat|ba|風}}{{ふりがな|風|かぜ}}。
===={{drv}}====
* {{l|ba|хәйерсегә ел ҡаршы}}
=={{L|ru}}==
==={{pron}}===
* {{ru-IPA}}
==={{verb}}===
{{head|ru|verb form}}
#{{l|ru|есть}}の直説法過去男性単数形。
cnj54bs38sz5th8xpuh7wklq6tb8k8i
җил
0
602725
2328188
2026-08-16T17:30:21Z
M-30722
1202
[[en:җил]]より
2328188
wikitext
text/x-wiki
{{also|жил}}
=={{L|xal}}==
{{xal-variant|җил|ᠴᡅᠯ}}
==={{etym}}===
{{etyl|xwo|xal}} {{m|xwo|ᠴᡅᠯ}} < {{etyl|xgn-pro|xal}} {{m|xgn-pro|*ǯil}} < {{etyl|trk-pro|xal}} {{m|trk-pro|*yïl}}
==={{pron}}===
* {{IPA|lang=xal|/dʒil/|[d̥͡ʑ̥iʎ(ə́)]}}
==={{noun}}===
{{xal-noun|pl1= җилмүд}}
#{{タグ|xal|暦}}{{ふりがな|年|とし}}。
===={{seealso}}====
* {{l|xal|он}}
=={{L|tt}}==
==={{etym}}===
{{etyl|trk-pro|tt}} {{m|trk-pro|*yẹl}}
==={{noun}}===
{{head|tt|noun}}
#{{topcat|tt|風}}{{ふりがな|風|かぜ}}、[[強風]]。
{{tt-cyrl-decl|и}}
nf739bt7uatumo4rccvgtmbqmmvrlsd
テンプレート:xwo
10
602726
2328189
2026-08-16T17:31:09Z
M-30722
1202
新規作成
2328189
wikitext
text/x-wiki
<onlyinclude>オイラート文語</onlyinclude>[[カテゴリ:言語表記テンプレート|{{PAGENAME}}]][[カテゴリ:ISO 639-3|{{PAGENAME}}]]
tlz2wjo90ol1t8krsdcdcvmsw4i9ic5
テンプレート:xal-variant
10
602727
2328190
2026-08-16T17:33:15Z
M-30722
1202
新規作成
2328190
wikitext
text/x-wiki
{| class="floatright wikitable" style="text-align:center;"
|-
! キリル文字
! トド文字
|-
| {{l-self|xal|{{{1|}}}}}
| {{#if:{{{1|}}}| {{l-self|xwo|{{{2|}}}}}}}
|}<noinclude>[[カテゴリ:{{xal}}_テンプレート]]カルムイク語の各文字の表記を示すテンプレート。引数1にキリル文字、引数2にトド文字を入力する。</noinclude>
bmkvfujr6cujxxlxuriz3xqis1foeul
жил
0
602728
2328191
2026-08-16T17:39:52Z
M-30722
1202
[[en:жил]]より
2328191
wikitext
text/x-wiki
{{also|җил|жыл}}
=={{L|ug}}==
==={{pron}}===
* {{IPA|lang=ug|ʒil}}
==={{noun}}===
{{ug-noun}}
#{{l|ug|يىل}}のキリル文字表記。
=={{L|tab}}==
==={{noun}}===
{{head|tab|noun}}
#[[地面]]、[[土壌]]。
=={{L|mn}}==
==={{etym}}===
{{mn-variant|ᠵᠢᠯ|жил}}
{{etyl|xgn-pro|mn}} {{m|xgn-pro|*jil}} < {{etyl|trk-pro|mn}} {{m|trk-pro|*yïl}}
==={{pron}}===
{{mn-IPA}}
==={{noun}}===
{{mn-noun|pl=жилүүд}}
#{{タグ|mn|暦}}{{ふりがな|年|とし}}。
{{mn-decl|жил<r>}}
===={{drv}}====
* {{l|mn|өндөр жил}}
* {{l|mn|жилийн}}
===={{seealso}}====
* {{l|mn|он}}
=={{L|ru}}==
==={{pron}}===
* {{ru-IPA}}
* {{rhymes|lang=ru|ɨl|s=1}}
==={{verb}}===
{{head|ru|verb form|女性|жила|中性|жило}}
#{{l|ru|жить}}の直説法過去男性単数形。
==={{noun}}===
{{head|ru|noun form|g=f-in-p|g2=m-an-p|g3=f-an-p}}
#{{l|ru|жи́ла}}の複数生格。
#{{l|ru|жи́ла}}の活動体複数対格。
9c9hcr8qz6cm90o41xvjw42xb8sf5dv
жыл
0
602729
2328192
2026-08-16T17:41:45Z
M-30722
1202
[[en:жыл]]より
2328192
wikitext
text/x-wiki
{{also|жил}}
=={{L|kk}}==
{{kk-regional|жыл|جىل}}
==={{etym}}===
{{etyl|trk-pro|kk}} {{m|trk-pro|*yïl}}
==={{noun}}===
{{kk-noun}}
#{{タグ|kk|暦}}{{ふりがな|年|とし}}。
{{kk-decl-noun
|жыл|[[жылдар]]
|[[жылдың]]|[[жылдардың]]
|[[жылға]]|[[жылдарға]]
|[[жылды]]|[[жылдарды]]
|[[жылда]]|[[жылдарда]]
|[[жылдан]]|[[жылдардан]]
|[[жылмен]]|[[жылдармен]]
}}
=={{L|ky}}==
==={{etym}}===
{{etyl|trk-pro|ky}} {{m|trk-pro|*yïl}}
==={{pron}}===
* {{IPA|lang=ky|d͡ʒɯl}}
* {{hyphenation|жыл}}
==={{noun}}===
{{ky-noun}}
#{{タグ|ky|暦}}{{ふりがな|年|とし}}。
{{ky-decl-noun}}
dey2owlkm3zcje5d2rrssmi9qkcqh2v
يىل
0
602730
2328193
2026-08-16T17:43:44Z
M-30722
1202
[[en:يىل]]より
2328193
wikitext
text/x-wiki
=={{L|ug}}==
{{ug-variant|a=يىل|c=жил|r=yil}}
==={{etym}}===
{{etyl|trk-pro|ug}} {{m|trk-pro|*yïl}}
==={{pron}}===
* {{IPA|lang=ug|/jɯl/|[jɪ̈l]|a=Xinjiang}}
* {{IPA|lang=ug|/ʒɯl/|a=Kazakhstan}}
==={{noun}}===
{{head|ug|noun|複数|يىللار}}
#{{タグ|ug|暦}}{{ふりがな|年|とし}}。
iwsmwtlzgrbumptgm7p65pvnh4l9gdy
йел
0
602731
2328194
2026-08-16T17:46:00Z
M-30722
1202
[[en:йел]]より
2328194
wikitext
text/x-wiki
=={{L|atv}}==
==={{etym}}===
{{etyl|trk-pro|atv}} {{m|trk-pro|*yẹl}}
==={{noun}}===
{{atv-noun}}
#{{topcat|atv|風}}{{ふりがな|風|かぜ}}。
==={{seealso}}===
* {{l|atv|салгын}}
* {{l|atv|салкын}}
433nljwx5k6h15emol00pxgu88375ag
јел
0
602732
2328195
2026-08-16T17:48:14Z
M-30722
1202
[[en:јел]]より
2328195
wikitext
text/x-wiki
=={{L|alt}}==
==={{etym}}===
{{etyl|trk-pro|alt}} {{m|trk-pro|*yẹl}}
==={{noun}}===
{{alt-noun}}
#{{topcat|alt|風}}{{ふりがな|風|かぜ}}。
#[[空気]]。
{{alt-ndecl-c|е|л}}
===={{syn}}====
* {{l|alt|салкын}}
===={{drv}}====
* {{l|alt|јелдӱ}}
e2qbvqma01t3y4g48i38l08uf1ejk41
2328197
2328195
2026-08-16T17:50:17Z
M-30722
1202
2328197
wikitext
text/x-wiki
=={{L|alt}}==
==={{etym}}===
{{etyl|trk-pro|alt}} {{m|trk-pro|*yẹl}}
==={{noun}}===
{{alt-noun}}
#{{topcat|alt|風}}{{ふりがな|風|かぜ}}。
#[[空気]]。
{{alt-noun-c|е|л}}
===={{syn}}====
* {{l|alt|салкын}}
===={{drv}}====
* {{l|alt|јелдӱ}}
72u9vz3m2c9yztx5d6oq0i09471t564
テンプレート:alt-ndecl-c
10
602733
2328196
2026-08-16T17:49:29Z
M-30722
1202
新規作成
2328196
wikitext
text/x-wiki
{{alt-ndecl-base
<!-- singular -->
|1={{pagename}}
|3={{pagename}}{{#switch:{{{2|}}}|м|н|ҥ|нь|а|о|ё|ы|у|ю|я|э|е|ӧ|и|ӱ=н|б|в|г|д|ж|к|п|с|т|ф|х|ц|ч|ш|щ|бь|вь|дь|сь|ть=т|з|й|л|р|зь|ль|рь=д}}{{#switch:{{{1|}}}|а|о|ё|ы|у|ю|я=ы|э|е|ӧ|и|ӱ=и}}ҥ
|5={{pagename}}{{#switch:{{{2|}}}|б|в|г|д|ж|к|п|с|т|ф|х|ц|ч|ш|щ|бь|вь|дь|сь|ть=к|а|о|ё|ы|у|ю|я|э|е|ӧ|и|ӱ|з|й|л|м|н|ҥ|р|зь|ль|нь|рь=г}}{{#switch:{{{1|}}}|а|ы|у|ю|я=а|о|ё=о|э|е|и|ӱ=е|ӧ=ӧ}}
|7={{pagename}}{{#switch:{{{2|}}}|а|о|ё|ы|я|э|е|ӧ|и=н|з|й|л|м|н|ҥ|р|зь|ль|нь|рь|у|ю|ӱ=д|б|в|г|д|ж|к|п|с|т|ф|х|ц|ч|ш|щ|бь|вь|дь|сь|ть=т}}{{#switch:{{{1|}}}|а|о|ё|ы|у|ю|я=ы|э|е|ӧ|и|ӱ=и}}
|9={{pagename}}{{#switch:{{{2|}}}|б|в|г|д|ж|к|п|с|т|ф|х|ц|ч|ш|щ|бь|вь|дь|сь|ть=т|а|о|ё|ы|у|ю|я|э|е|ӧ|и|ӱ|з|й|л|м|н|ҥ|р|зь|ль|нь|рь=д}}{{#switch:{{{1|}}}|а|ы|у|ю|я=а|о|ё=о|э|е|и|ӱ=е|ӧ=ӧ}}
|11={{pagename}}{{#switch:{{{2|}}}|м|н|ҥ|нь=н|б|в|г|д|ж|к|п|с|т|ф|х|ц|ч|ш|щ|бь|вь|дь|сь|ть=т|а|о|ё|ы|у|ю|я|э|е|ӧ|и|ӱ|з|й|л|р|зь|ль|рь=д}}{{#switch:{{{1|}}}|а|ы|у|ю|я=а|о|ё=о|э|е|и|ӱ=е|ӧ=ӧ}}ҥ
<!-- plural -->
|2={{pagename}}{{#switch:{{{2|}}}|б|в|г|д|ж|к|п|с|т|ф|х|ц|ч|ш|щ|бь|вь|дь|сь|ть=т|а|о|ё|ы|у|ю|я|э|е|ӧ|и|ӱ|й|р|рь=л|з|л|м|н|ҥ|зь|ль|нь=д}}{{#switch:{{{1|}}}|а|ы|у|ю|я=а|о|ё=о|э|е|и|ӱ=е|ӧ=ӧ}}р
|4={{pagename}}{{#switch:{{{2|}}}|б|в|г|д|ж|к|п|с|т|ф|х|ц|ч|ш|щ|бь|вь|дь|сь|ть=т|а|о|ё|ы|у|ю|я|э|е|ӧ|и|ӱ|й|р|рь=л|з|л|м|н|ҥ|зь|ль|нь=д}}{{#switch:{{{1|}}}|а|ы|у|ю|я=арды|о|ё=орды|э|е|и|ӱ=ерди|ӧ=ӧрди}}ҥ
|6={{pagename}}{{#switch:{{{2|}}}|б|в|г|д|ж|к|п|с|т|ф|х|ц|ч|ш|щ|бь|вь|дь|сь|ть=т|а|о|ё|ы|у|ю|я|э|е|ӧ|и|ӱ|й|р|рь=л|з|л|м|н|ҥ|зь|ль|нь=д}}{{#switch:{{{1|}}}|а|ы|у|ю|я=арга|о|ё=орго|э|е|и|ӱ=ерге|ӧ=ӧргӧ}}
|8={{pagename}}{{#switch:{{{2|}}}|б|в|г|д|ж|к|п|с|т|ф|х|ц|ч|ш|щ|бь|вь|дь|сь|ть=т|а|о|ё|ы|у|ю|я|э|е|ӧ|и|ӱ|й|р|рь=л|з|л|м|н|ҥ|зь|ль|нь=д}}{{#switch:{{{1|}}}|а|ы|у|ю|я=арды|о|ё=орды|э|е|и|ӱ=ерди|ӧ=ӧрди}}
|10={{pagename}}{{#switch:{{{2|}}}|б|в|г|д|ж|к|п|с|т|ф|х|ц|ч|ш|щ|бь|вь|дь|сь|ть=т|а|о|ё|ы|у|ю|я|э|е|ӧ|и|ӱ|й|р|рь=л|з|л|м|н|ҥ|зь|ль|нь=д}}{{#switch:{{{1|}}}|а|ы|у|ю|я=арда|о|ё=ордо|э|е|и|ӱ=ерде|ӧ=ӧрдӧ}}
|12={{pagename}}{{#switch:{{{2|}}}|б|в|г|д|ж|к|п|с|т|ф|х|ц|ч|ш|щ|бь|вь|дь|сь|ть=т|а|о|ё|ы|у|ю|я|э|е|ӧ|и|ӱ|й|р|рь=л|з|л|м|н|ҥ|зь|ль|нь=д}}{{#switch:{{{1|}}}|а|ы|у|ю|я=арда|о|ё=ордо|э|е|и|ӱ=ерде|ӧ=ӧрдӧ}}ҥ
}}<!--
--><noinclude>[[カテゴリ:{{alt}}_語形変化表テンプレート]]{{documentation}}</noinclude>
3p8xv8k3j9nsubl6drfomgfgceup7cx
2328198
2328196
2026-08-16T17:50:47Z
M-30722
1202
転送
2328198
wikitext
text/x-wiki
#REDIRECT [[テンプレート:alt-noun-c]]
rnp3475mgpdilamwgalvepqq1uin8va
салкын
0
602734
2328199
2026-08-16T17:53:01Z
M-30722
1202
[[en:салкын]]より
2328199
wikitext
text/x-wiki
=={{L|ky}}==
==={{pron}}===
* {{音声|ky|LL-Q9255 (kir)-Almanbet Janışev-салкын.wav}}
==={{adjective}}===
{{head|ky|adjective}}
#{{おくりがな2|涼|すず|しい|すずしい}}。
=={{L|alt}}==
==={{etym}}===
{{etyl|mn|alt}}
==={{noun}}===
{{head|alt|noun}}
#{{topcat|alt|風}}{{ふりがな|風|かぜ}}。
{{alt-ndecl-c|ы|н}}
===={{syn}}====
* {{l|alt|јел}}
1pwiokc8c5vzix759g9g2caf02k12bw
ییل
0
602735
2328200
2026-08-16T17:54:53Z
M-30722
1202
[[en:ییل]]より
2328200
wikitext
text/x-wiki
=={{L|ota}}==
==={{etym}}===
{{etyl|trk-pro|ota}} {{m|trk-pro|*yïl}}
==={{noun}}===
{{ota-noun|tr=yıl}}
#{{タグ|ota|暦}}{{ふりがな|年|とし}}。
===={{desc}}====
* {{desc|tr|yıl}}
g7gwmnes6wj9ljqn1owqdxbmlyl0b3r
yıl
0
602736
2328201
2026-08-16T18:00:27Z
M-30722
1202
[[en:yıl]]より
2328201
wikitext
text/x-wiki
{{DEFAULTSORT:yil}}
{{also|yil}}
=={{L|gag}}==
==={{etym}}===
{{etyl|trk-oat|gag}} {{m|trk-oat|یل|tr=yıl}} < {{etyl|trk-pro|gag}} {{m|trk-pro|*yïl}}
==={{pron}}===
* {{IPA|lang=gag|jɨl}}
==={{noun}}===
{{gag-noun|ı|lar}}
#{{タグ|gag|暦}}{{ふりがな|年|とし}}。
{{gag-decl-noun|yıl|yıllar|yılı|yılları|yıla|yıllara|yılda|yıllarda|yıldan|yıllardan|yılın|yılların}}
===={{drv}}====
* {{l|gag|üzyıllık}}
* {{l|gag|geçti yıl}}
* {{l|gag|geçän yıl}}
* {{l|gag|yıllık}}
* {{l|gag|yıldönümü}}
=={{L|crh}}==
==={{etym}}===
{{etyl|trk-pro|crh}} {{m|trk-pro|*yïl}}
==={{noun}}===
{{head|crh|noun}}
#{{タグ|crh|暦}}{{ふりがな|年|とし}}。
#[[年齢]]。
{{crh-latin-noun|nıñ|ğa|nı|da|dan}}
=={{L|tt}}==
==={{etym}}===
{{etyl|trk-pro|tt}} {{m|trk-pro|*yïl}}
==={{noun}}===
{{head|tt|noun}}
#{{タグ|tt|暦}}{{ふりがな|年|とし}}。
=={{L|tr}}==
==={{pron}}===
* {{IPA|lang=tr|ˈjɯɫ}}
* {{音声|tr|Yıl.ogg}}
==={{etym}}1===
{{etyl|ota|tr}} {{m|ota|ییل|tr=yıl}} < {{etyl|trk-oat|tr}} {{m|trk-oat|یل|tr=yıl}} < {{etyl|trk-pro|tr}} {{m|trk-pro|*yïl}}
====Noun====
{{tr-noun|ı|lar}}
#{{タグ|tr|暦}}{{ふりがな|年|とし}}。
#: {{syn|tr|sene}}
{{tr-infl-noun-c|ı|poss=1}}
====={{drv}}=====
{{col3|lang=tr|altın yıl|yarıyıl|yıl dönümü|yılönümü|yüzyıl|yıllı|yıllık|yıldan yıla|yıllamak|yıllarca|yıllar yılı|Yılbaşı}}
==={{etym}}2===
===={{verb}}====
{{head|tr|verb form}}
#{{l|tr|yılmak}}の命令法第二人称単数形。
=={{L|klj}}==
{{klj-variant|a=[[یؽل]]}}
==={{etym}}===
{{etyl|trk-pro|klj}} {{m|trk-pro|*yïl}}
==={{pron}}===
* {{IPA|lang=klj|[ji(ˑ)l]|a=Mansûrâbâdî|a2=Xaltâbâdî}}
* {{IPA|lang=klj|[jil]|a=Talxâbî}}
* {{IPA|lang=klj|[jɪ̈(ˑ)l]|[jɪl]|[ji(ˑ)l]|a=Xarrâbî}}
==={{noun}}===
{{klj-noun}}
#{{タグ|klj|暦}}{{ふりがな|年|とし}}。
{{klj-infl-noun|ı|c}}
k619lckpnu9reyv76vfdyk4o584r8nr
йэль
0
602737
2328202
2026-08-16T18:02:33Z
M-30722
1202
新規作成
2328202
wikitext
text/x-wiki
=={{L|kdr}}==
==={{etym}}===
{{etyl|trk-pro|kdr}} {{m|trk-pro|*yẹl}}
==={{noun}}===
{{head|kdr|noun|tr=yelʹ}}
#{{topcat|kdr|風}}{{ふりがな|風|かぜ}}。
m61fhf6o94otjp1epjsbtelv1n1fbq2
ҫил
0
602738
2328203
2026-08-16T18:04:42Z
M-30722
1202
[[en:ҫил]]より
2328203
wikitext
text/x-wiki
=={{L|cv}}==
==={{etym}}===
{{etyl|trk-pro|cv}} {{m|trk-pro|*yẹl}}
===={{pron}}====
* {{IPA|lang=cv|[ɕil]}}
===={{noun}}====
{{cv-noun}}
#{{topcat|cv|風}}{{ふりがな|風|かぜ}}。
lzuy39f09jn45lm1ma9caeyzqjpwsds
самал
0
602739
2328204
2026-08-16T18:06:51Z
M-30722
1202
[[en:самал]]より
2328204
wikitext
text/x-wiki
=={{L|kk}}==
==={{etym}}===
{{etyl|fa|kk}} {{m|fa|شمال}} < {{etyl|ar|kk}} {{m|ar|شَمَال|t=北、北風}}
==={{noun}}===
{{kk-noun}}
#{{topcat|kk|風}}{{ふりがな|風|かぜ}}、[[そよかぜ]]。
{{kk-noun-c|а|л}}
===={{drv}}====
* {{l|kk|самалдау}}
* {{l|kk|самалды}}
* {{l|kk|самалдық}}
0ym35a806g3brvnlaknp21jixn2tsse
モジュール:zlw-lch-IPA/data/pl
828
602740
2328211
2026-08-16T22:07:07Z
Kuroco2k
84207
[[:en:Module:zlw-lch-IPA/data/pl]]
2328211
Scribunto
text/plain
-- Links to Wikipedia articles are handled at [[Module:labels/data/lang/pl]].
local export = {}
export.lects = {
-- MIDDLE POLISH
mpl = { group = 1, name = "中期ポーランド語" },
-- GREATER POLAND
koc = { group = 2, index = 1, name = "Kociewie", mid_o = true, front_y = true, phonetic = true },
bor = { group = 2, index = 2, name = "Bory Tucholskie", mid_o = true, front_y = true, phonetic = true },
kra = { group = 2, index = 3, name = "Krajna", mid_o = true, front_y = true, phonetic = true },
CD = { group = 2, index = 4, name = "Chełmno-Dobrzyń", phonetic = true },
kuj = { group = 2, index = 5, name = "Kujawy", mid_o = true, phonetic = true },
NGP = { group = 2, index = 6, name = "Northern Greater Poland", mid_o = true, phonetic = true },
WGP = { group = 2, index = 7, name = "Western Greater Poland", phonetic = true },
CGP = { group = 2, index = 8, name = "Central Greater Poland", mid_o = true, phonetic = true },
EGP = { group = 2, index = 9, name = "Eastern Greater Poland", mid_o = true, phonetic = true },
SGP = { group = 2, index = 10, name = "Southern Greater Poland", phonetic = true },
-- MASOVIA
lub = { group = 3, index = 1, name = "Lubawa", mid_o = true, phonetic = true },
ost = { group = 3, index = 2, name = "Ostróda", mid_o = true, front_y = true, phonetic = true },
war = { group = 3, index = 3, name = "Warmia", mid_o = true, front_y = true, trilled_rz = true, phonetic = true },
mas = { group = 3, index = 4, name = "Masurian", mid_o = true, front_y = true, trilled_rz = true, phonetic = true },
kur = { group = 3, index = 5, name = "Kurpie", mid_o = true, front_y = true, phonetic = true },
skur = { group = 3, index = 6, name = "Standard Kurpie", mid_o = true, decompose_nasal = true, phonetic = true },
MB = { group = 3, index = 7, name = "Near Masovian", mid_o = true, phonetic = true },
MD = { group = 3, index = 8, name = "Far Masovian", mid_o = true, phonetic = true },
pdl = { group = 3, index = 9, name = "Podlachia", dark_l = true, glottal_h = true, phonetic = true },
suw = { group = 3, index = 10, name = "Suwałki", dark_l = true, glottal_h = true, phonetic = true },
low = { group = 3, index = 11, name = "Łowicz", glottal_h = true, phonetic = true },
-- LESSER POLAND
lec = { group = 4, index = 1, name = "Łęczyca", mid_o = true, phonetic = true },
sie = { group = 4, index = 2, name = "Sieradz", mid_o = true, phonetic = true },
PM = { group = 4, index = 3, name = "Masovian Borderland", phonetic = true },
kie = { group = 4, index = 4, name = "Kielce", phonetic = true },
krk = { group = 4, index = 5, name = "Western Kraków", phonetic = true },
ekr = { group = 4, index = 6, name = "Eastern Kraków", phonetic = true }, -- oscillating mid o
las = { group = 4, index = 7, name = "Lasovia", mid_o = true, phonetic = true },
pdg = { group = 4, index = 8, name = "Podegrodzie", mid_o = true, phonetic = true },
bie = { group = 4, index = 9, name = "Biecz", mid_o = true, phonetic = true },
WL = { group = 4, index = 10, name = "Western Lublin", dark_l = true, phonetic = true },
EL = { group = 4, index = 11, name = "Eastern Lublin", dark_l = true, glottal_h = true, phonetic = true },
prz = { group = 4, index = 12, name = "Przemyśl", dark_l = true, glottal_h = true, phonetic = true },
-- GORAL, subgroup of Lesser Poland
sad = { group = 5, index = 1, name = "Sącz", mid_o = true, initial_stress = true, phonetic = true },
zyw = { group = 5, index = 2, name = "Żywiec", mid_o = true, trilled_rz = true, phonetic = true },
ora = { group = 5, index = 3, name = "Orawa", mid_o = true, dark_l = true, phonetic = true }, -- oscillating initial stress
pod = { group = 5, index = 4, name = "Podhale", mid_o = true, initial_stress = true, phonetic = true },
spi = { group = 5, index = 5, name = "Spisz", mid_o = true, trilled_rz = true, dark_l = true, initial_stress = true, phonetic = true },
zag = { group = 5, index = 6, name = "Zagórze", mid_o = true, phonetic = true }, -- oscillating initial stress
kli = { group = 5, index = 7, name = "Kliszczacy", mid_o = true, phonetic = true },
BG = { group = 5, index = 8, name = "Babia Góra", phonetic = true },
kys = { group = 5, index = 9, name = "Kysuce", phonetic = true },
pie = { group = 5, index = 10, name = "Pieniny", mid_o = true, initial_stress = true, phonetic = true },
och = { group = 5, index = 11, name = "Ochotnica", mid_o = true, phonetic = true },
lip = { group = 5, index = 12, name = "Liptov", initial_stress = true, phonetic = true },
buk = { group = 5, index = 13, name = "Bukowina", phonetic = true, dark_l = true, glottal_h = true }, -- oscillating initial stress
-- BORDERLANDS
sbl = { group = 6, index = 1, name = "Southern Borderlands", dark_l = true, glottal_h = true, phonetic = true },
nbl = { group = 6, index = 2, name = "Northern Borderlands", dark_l = true, phonetic = true },
-- NEW MIXED DIALECTS
nmd = { group = 7, name = "New mixed dialects", phonetic = true },
}
export.lect_groups = {
{ single_lect = true },
{ name = "Greater Poland" },
{ name = "Masovia" },
{ name = "Lesser Poland" },
{ name = "Goral", indent_with_prec = true },
{ name = "Borderlands" },
{ single_lect = true },
}
export.lect_aliases = {
["mp"] = "mpl",
["łow"] = "low",
}
return export
4xpex52xy3nmcyt8nrzmyn2xdpfw0cw
テンプレート:audio/styles.css
10
602741
2328217
2026-08-16T22:14:25Z
Kuroco2k
84207
[[:en:Template:audio/styles.css]]
2328217
sanitized-css
text/css
/* Work-around for [[phab:T25965]] (Kaltura advertisement) */
.k-player .k-attribution {
visibility: hidden;
}
oxfk6r6mqtgkw5nh8ifkuf7jz1mg5x0
爱憎
0
602742
2328230
2026-08-16T23:11:49Z
Jiba1219
100610
ページの作成:「=={{L|zh}}== {{zh-cat|ai4zeng1|noun}} {{yue-cat|oi3jang1|noun}} ==={{pron}}=== {{cmn-pron|àizēng|z=n}} {{yue-pron|oi3 zang1|h=n}} ==={{noun}}=== {{zhchars|t=愛憎}} #[[愛する]]ことと[[にくむ|憎む]]こと。 ===={{idiom}}==== *{{zh-l|愛憎分明}}」
2328230
wikitext
text/x-wiki
=={{L|zh}}==
{{zh-cat|ai4zeng1|noun}}
{{yue-cat|oi3jang1|noun}}
==={{pron}}===
{{cmn-pron|àizēng|z=n}}
{{yue-pron|oi3 zang1|h=n}}
==={{noun}}===
{{zhchars|t=愛憎}}
#[[愛する]]ことと[[にくむ|憎む]]こと。
===={{idiom}}====
*{{zh-l|愛憎分明}}
c8p28s364vnuojeuqsqcn3lntmc8ssg
2328231
2328230
2026-08-16T23:12:11Z
Jiba1219
100610
2328231
wikitext
text/x-wiki
=={{L|zh}}==
{{zh-cat|ai4zeng1|noun}}
{{yue-cat|oi3jang1|noun}}
==={{pron}}===
{{cmn-pron|àizēng|z=n}}
{{yue-pron|oi3 zang1|h=n}}
==={{noun}}===
{{zhchars|t=愛憎}}
#[[愛する]]ことと[[にくむ|憎む]]こと。[[愛憎]]。
===={{idiom}}====
*{{zh-l|愛憎分明}}
57jfcfc41ni3jc4nirgr1scq4v815s5
애증
0
602743
2328232
2026-08-16T23:18:13Z
Jiba1219
100610
ページの作成:「=={{L|ko}}== ==={{pron}}=== {{ko-IPA|l=y}} ==={{noun}}=== {{head|ko|noun}} {{ko-h|愛|憎}} #[[愛する]]ことと[[にくむ|憎む]]こと。[[愛憎]]。 ===={{syn}}==== *{{l|ko|애오(愛惡)}} *{{l|ko|증애(憎愛)}}」
2328232
wikitext
text/x-wiki
=={{L|ko}}==
==={{pron}}===
{{ko-IPA|l=y}}
==={{noun}}===
{{head|ko|noun}}
{{ko-h|愛|憎}}
#[[愛する]]ことと[[にくむ|憎む]]こと。[[愛憎]]。
===={{syn}}====
*{{l|ko|애오(愛惡)}}
*{{l|ko|증애(憎愛)}}
c0qfiphw67igezobtfhffjd3nlpyydk
초집
0
602744
2328260
2026-08-16T23:55:08Z
Jiba1219
100610
ページの作成:「=={{L|ko}}== ==={{pron}}=== {{ko-IPA}} ==={{noun}}=== {{head|ko|noun|cat2=漢字語}} *<[[招]][[集]]>;[[招集|*]] #[[招集]]。」
2328260
wikitext
text/x-wiki
=={{L|ko}}==
==={{pron}}===
{{ko-IPA}}
==={{noun}}===
{{head|ko|noun|cat2=漢字語}}
*<[[招]][[集]]>;[[招集|*]]
#[[招集]]。
gjopzjewrif848msmw3i548ohm13qtn
頎
0
602745
2328265
2026-08-17T01:41:50Z
ふゆくれ
95641
ページの作成:「{{kana-DEFAULTSORT|キ}} ==漢字== {{kanji|頁|4}} {{kanji variants|颀=[[簡体字]]|懇=字義2}} ===字源=== *[[形声文字|形声]]。「[[頁]]」+[[音符]]「[[斤]] {{phoneme|*KƏI}}<ref group="字源" name="上古音">{{R:och:GYXSK}}</ref>」。 {{字源}} <references group="字源"/> ===字義=== #(qí) ##頭の形がよい。 ##背が高く大きい。姿が立派。 ##小さい。堅い。 #(kěn) 「[[懇]]」の通字。この上ない悲しみ。…」
2328265
wikitext
text/x-wiki
{{kana-DEFAULTSORT|キ}}
==漢字==
{{kanji|頁|4}}
{{kanji variants|颀=[[簡体字]]|懇=字義2}}
===字源===
*[[形声文字|形声]]。「[[頁]]」+[[音符]]「[[斤]] {{phoneme|*KƏI}}<ref group="字源" name="上古音">{{R:och:GYXSK}}</ref>」。
{{字源}}
<references group="字源"/>
===字義===
#(qí)
##頭の形がよい。
##背が高く大きい。姿が立派。
##小さい。堅い。
#(kěn) 「[[懇]]」の通字。この上ない悲しみ。悼み嘆く。
=={{L|ja}}==
{{ja-kanji|呉音=ゲ,コン|漢音=キ,キン|古訓=たきたかし,をさむ,わきまふ,ひとひとし;{{w|名義抄}},くだる,いこほし,かたふく;{{w|篇立}}}}
==={{prov}}===
{{prov-top}}
*[[頎偉]]
*[[頎頎]]
*[[頎然]]
*[[頎大]]
*[[頎長]]
*[[頎典]]
{{prov-bottom}}
===参考文献===
{{書誌・コトバンク|word=きこん|head={{PAGENAME}}|author=普及版 {{w|字通}}|accessdate=2026-08-17}}
=={{L|zh}}==
{{zh-cat|qi2}}
{{yue-cat|kei4}}
{{hak-cat|ki2}}
{{hak-hl-cat|ki2}}
{{nan-cat|ki5}}
{{nan-tws-cat|ki5}}
{{wuu-cat|ji3}}
{{ltc-cat|gjj1}}
{{och-cat|gei}}
{{zh-han|m=qí,kěn|c=kei4|pfs=kì|hrs=ki|gd=ki2|mn=xm:kî|mn-t=ki5|w=6ji}}
**'''[[中古音]]''': gj+j
**'''[[上古音]]''':
***'''鄭張''': /*ɡɯl/
***'''布之道''': /*ɡəi/
==={{prov}}===
{{zh-der|頎然|頎頎|頎長|頎典}}
=={{L|ko}}==
{{ko-han|기}}
=={{L|vi}}==
{{vi-han|kì|kỳ|khẩn|ạt}}
=={{コード}}==
{{文字コード|jis=2-92-20/2-71-87|mj={{mjmoji|028166}}|gb=717D|cns=2-4866|全={{全字庫|149606}}|big5=E0E0|ksx=1002-5C26|kps=10721-8683}}
{{検字|倉頡=HLMBC|四角=7128.6}}
{{字典|諸橋=43370|新潮漢字=14125|新大字典=18946|大字源=11213|大漢語林=12812|康煕=1400.170|hdz=74361.110|dj=1917.070|ch=1476.102|広韻=065.04|mw=666a/1123q|vt=B05669}}
oi36i3ehznbm0m1mbhokn7sap5ptnrp
宝石屋
0
602746
2328269
2026-08-17T01:58:08Z
鍼灸
112313
ページの作成:「{{kana-DEFAULTSORT|ほうせきや}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|ほうせきや}} #[[宝石]]や[[貴金属]]を[[加工]]して{{おくりがな2|売|う|うる}}{{ふりがな|店|みせ}}。[[宝飾品]]を{{おくりがな2|作|つく|っ|つくる}}て売る店。 #:{{syn|ja|宝石店|宝飾店|貴金属店}} #{{syn|ja|職人}}宝石や貴金属、宝飾品を売る{{ふりがな|人|ひと}}; 宝石や貴金属を加工する人; 宝飾品の{…」
2328269
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ほうせきや}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|ほうせきや}}
#[[宝石]]や[[貴金属]]を[[加工]]して{{おくりがな2|売|う|うる}}{{ふりがな|店|みせ}}。[[宝飾品]]を{{おくりがな2|作|つく|っ|つくる}}て売る店。
#:{{syn|ja|宝石店|宝飾店|貴金属店}}
#{{syn|ja|職人}}宝石や貴金属、宝飾品を売る{{ふりがな|人|ひと}}; 宝石や貴金属を加工する人; 宝飾品の{{おくりがな3|作|つく|り|手||つくりて}}。
#:{{syn|ja|宝石商}}
#宝石や貴金属を販売する企業や宝飾品を製造する企業に対する諧謔的表現。
ik7nkjbmybr8wcabt5olqmgvqfvtk4o
2328270
2328269
2026-08-17T01:58:26Z
鍼灸
112313
2328270
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ほうせきや}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|ほうせきや}}
#[[宝石]]や[[貴金属]]を[[加工]]して{{おくりがな2|売|う|うる}}{{ふりがな|店|みせ}}。[[宝飾品]]を{{おくりがな2|作|つく|っ|つくる}}て売る店。
#:{{syn|ja|宝石店|宝飾店|貴金属店}}
#{{syn|ja|職人}}宝石や貴金属、宝飾品を売る{{ふりがな|人|ひと}}; 宝石や貴金属を加工する人; 宝飾品の{{おくりがな3|作|つく|り|手|て||つくりて}}。
#:{{syn|ja|宝石商}}
#宝石や貴金属を販売する企業や宝飾品を製造する企業に対する諧謔的表現。
iohs60p6dwneitcfdguqcpvzvrkkfat
2328271
2328270
2026-08-17T01:58:50Z
鍼灸
112313
2328271
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ほうせきや}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|ほうせきや}}
#[[宝石]]や[[貴金属]]を[[加工]]して{{おくりがな2|売|う|うる}}{{ふりがな|店|みせ}}。[[宝飾品]]を{{おくりがな2|作|つく|っ|つくる}}て売る店。
#:{{syn|ja|宝石店|宝飾店|貴金属店}}
#{{タグ|ja|職人}}宝石や貴金属、宝飾品を売る{{ふりがな|人|ひと}}; 宝石や貴金属を加工する人; 宝飾品の{{おくりがな3|作|つく|り|手|て||つくりて}}。
#:{{syn|ja|宝石商}}
#宝石や貴金属を販売する企業や宝飾品を製造する企業に対する諧謔的表現。
ojv0dp1jtchjofait8ulbet0aa06umu
2328272
2328271
2026-08-17T01:59:29Z
鍼灸
112313
2328272
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ほうせきや}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|ほうせきや}}
#{{タグ|ja|店舗}}[[宝石]]や[[貴金属]]を[[加工]]して{{おくりがな2|売|う|る|うる}}{{ふりがな|店|みせ}}。[[宝飾品]]を{{おくりがな2|作|つく|っ|つくる}}て売る店。
#:{{syn|ja|宝石店|宝飾店|貴金属店}}
#{{タグ|ja|職人}}宝石や貴金属、宝飾品を売る{{ふりがな|人|ひと}}; 宝石や貴金属を加工する人; 宝飾品の{{おくりがな3|作|つく|り|手|て||つくりて}}。
#:{{syn|ja|宝石商}}
#宝石や貴金属を販売する企業や宝飾品を製造する企業に対する諧謔的表現。
bd9nr899h9ikjqt9zd1phi3r5s9av9c
2328274
2328272
2026-08-17T02:05:15Z
鍼灸
112313
2328274
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ほうせきや}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|ほうせきや}}
#{{タグ|ja|店舗}}[[宝石]]や[[貴金属]]を[[加工]]して{{おくりがな2|売|う|る|うる}}{{ふりがな|店|みせ}}。[[宝飾品]]を{{おくりがな2|作|つく|っ|つくる}}て売る店。
#:{{syn|ja|宝石店|宝飾店|貴金属店}}
#{{タグ|ja|職人}}宝石や貴金属、宝飾品を売る{{ふりがな|人|ひと}}; 宝石や貴金属を加工する人; 宝飾品の{{おくりがな3|作|つく|り|手|て||つくりて}}。
#:{{syn|ja|宝石商|宝石彫刻師}}
#宝石や貴金属を販売する企業や宝飾品を製造する企業に対する諧謔的表現。
1aag2g0g822gwer3bxw55xilo25p11t
しかにく
0
602747
2328276
2026-08-17T02:08:44Z
うーむ
129171
[[鹿肉]]への転送ページ
2328276
wikitext
text/x-wiki
#転送[[鹿肉]]
rjety3f4vwuuph3zt4mam1kvuv934hr
2328277
2328276
2026-08-17T02:10:36Z
うーむ
129171
[[鹿肉]] へのリダイレクトを解除しました
2328277
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana}}
*【[[鹿肉]]】鹿の肉。
p18ugdxzx0zvkqcmbksw9fxo1t0pt06
狶
0
602748
2328278
2026-08-17T02:10:43Z
ふゆくれ
95641
ページの作成:「{{kana-DEFAULTSORT|キ}} ==漢字== {{kanji|犬3|7}} {{kanji variants|豨=字義1-1|㹷=[[同字]]}} ===字義=== #(xī) ##「[[豨]]」の[[同字]]。豚。猪。 ##豚の鳴き声。 #(shǐ) 「{{l|zh|狶韋}}」に用いられる字。 ##三皇五帝以前の古帝王。 ##古代の官職名。 =={{L|ja}}== {{ja-kanji|呉音=ケ|漢音=キ|音=シ,チ,イ|訓=ぶた|古訓=ゐのこ,ゐのしし;{{w|篇立}}}} ==={{prov}}=== *[[狶韋]] *[[狶膏]] *[[狶鬣]]…」
2328278
wikitext
text/x-wiki
{{kana-DEFAULTSORT|キ}}
==漢字==
{{kanji|犬3|7}}
{{kanji variants|豨=字義1-1|㹷=[[同字]]}}
===字義===
#(xī)
##「[[豨]]」の[[同字]]。豚。猪。
##豚の鳴き声。
#(shǐ) 「{{l|zh|狶韋}}」に用いられる字。
##三皇五帝以前の古帝王。
##古代の官職名。
=={{L|ja}}==
{{ja-kanji|呉音=ケ|漢音=キ|音=シ,チ,イ|訓=ぶた|古訓=ゐのこ,ゐのしし;{{w|篇立}}}}
==={{prov}}===
*[[狶韋]]
*[[狶膏]]
*[[狶鬣]]
===参考文献===
{{書誌・コトバンク|word=きぶた|head={{PAGENAME}}|author=普及版 {{w|字通}}|accessdate=2026-08-17}}
=={{L|zh}}==
{{zh-cat|xi1}}
{{yue-cat|hei1}}
{{hak-cat|hi1}}
{{hak-hl-cat|hi1}}
{{nan-cat|hi1}}
{{nan-tws-cat|hi1}}
{{och-cat|qhei}}
{{zh-han|m=xī,shǐ|c=hei1,hei2|pfs=hî/hí|hrs=hiˋ/hiˊ|gd=hi1|mn=hi|mn-t=hi1}}
**'''[[上古音]]''':
***'''Baxter-Sagart''': /*qʰəjʔ/
==={{prov}}===
{{zh-der|狶膏|狶苓|狶首|狶韋|狶洲|封狶|海狶|江狶|履狶|監市履狶}}
=={{L|ko}}==
{{ko-han|시|희}}
=={{L|vi}}==
{{vi-han|hỉ|hỷ}}
=={{コード}}==
{{文字コード|mj={{mjmoji|016957}}|gb=4672|cns=2-3068|全={{全字庫|143464}}|big5=D2A7|ksx=1027-1-4665|kps=10721-57E7}}
{{検字|倉頡=KHKKB|四角=4422.7}}
{{字典|諸橋=20416|新潮漢字=6933|新大字典=9654|大字源=5722|大漢語林=6800|康煕=0711.190|hdz=21349.130|dj=1123.190|vt=B02529}}
ar4wqj637wfgqgvaiko77e70jjhzaw3
肉串ろ
0
602749
2328279
2026-08-17T02:11:55Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|ししくしろ}} =={{L|ja}}== ==={{wagokanji}}=== {{ja-wagokanji|ししくしろ}} #{{wagokanji of|ししくしろ}}」
2328279
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ししくしろ}}
=={{L|ja}}==
==={{wagokanji}}===
{{ja-wagokanji|ししくしろ}}
#{{wagokanji of|ししくしろ}}
nb8v6pzz51ry8bzmkvr217vsj1ydtg4
パスンダン国
0
602750
2328280
2026-08-17T02:18:25Z
鍼灸
112313
ページの作成:「{{kana-DEFAULTSORT|パスンダンこく}} =={{L|ja}}== ==={{name}}=== {{ja-name|パスンダン国}} #{{タグ|ja|東南アジア史}}[[ジャワ島]]に1947年から1950年まで存在した[[インドネシア連邦共和国]]の構成国。首都は[[バンドン]]。」
2328280
wikitext
text/x-wiki
{{kana-DEFAULTSORT|パスンダンこく}}
=={{L|ja}}==
==={{name}}===
{{ja-name|パスンダン国}}
#{{タグ|ja|東南アジア史}}[[ジャワ島]]に1947年から1950年まで存在した[[インドネシア連邦共和国]]の構成国。首都は[[バンドン]]。
n82wsyiejdhy4n36gqg17zf6mwkxaxh
2328281
2328280
2026-08-17T02:18:36Z
鍼灸
112313
2328281
wikitext
text/x-wiki
{{kana-DEFAULTSORT|パスンダンこく}}
=={{L|ja}}==
==={{name}}===
{{ja-name|パスンダンこく}}
#{{タグ|ja|東南アジア史}}[[ジャワ島]]に1947年から1950年まで存在した[[インドネシア連邦共和国]]の構成国。首都は[[バンドン]]。
dbhm9zmn8vdkc8ler5ipgoif66r0xkb
2328282
2328281
2026-08-17T02:18:59Z
鍼灸
112313
2328282
wikitext
text/x-wiki
{{kana-DEFAULTSORT|パスンダンこく}}
{{wikipedia}}
=={{L|ja}}==
==={{name}}===
{{ja-name|パスンダンこく}}
#{{タグ|ja|東南アジア史}}[[ジャワ島]]に1947年から1950年まで存在した[[インドネシア連邦共和国]]の構成国。首都は[[バンドン]]。
8eoonmhhco2jhqhc1e6i4fydye5cmwz
マドゥラ国
0
602751
2328283
2026-08-17T02:22:01Z
鍼灸
112313
ページの作成:「{{kana-DEFAULTSORT|マドゥラこく}} {{wikipedia}} =={{L|ja}}== ==={{name}}=== {{ja-name|マドゥラこく}} #{{タグ|ja|東南アジア史}}[[マドゥラ島]]に1948年から1950年まで存在した[[インドネシア連邦共和国]]の構成国。首都は[[パメカサン]]。」
2328283
wikitext
text/x-wiki
{{kana-DEFAULTSORT|マドゥラこく}}
{{wikipedia}}
=={{L|ja}}==
==={{name}}===
{{ja-name|マドゥラこく}}
#{{タグ|ja|東南アジア史}}[[マドゥラ島]]に1948年から1950年まで存在した[[インドネシア連邦共和国]]の構成国。首都は[[パメカサン]]。
mxnd74xpclj596sdhqmmlaum2ajpque
インドネシア連邦共和国
0
602752
2328284
2026-08-17T02:27:08Z
鍼灸
112313
ページの作成:「{{kana-DEFAULTSORT|インドネシアれんぽうきょうわこく}} {{wikipedia}} =={{L|ja}}== ==={{name}}=== {{ja-name|インドネシアれんぽうきょうわこく}} #{{タグ|ja|東南アジア史}}1949年から1950年まで[[インドネシア]]の領域に存在した[[オランダ]]の[[傀儡国家]]で構成された[[連邦国家]]。首都は[[ジャカルタ]]。」
2328284
wikitext
text/x-wiki
{{kana-DEFAULTSORT|インドネシアれんぽうきょうわこく}}
{{wikipedia}}
=={{L|ja}}==
==={{name}}===
{{ja-name|インドネシアれんぽうきょうわこく}}
#{{タグ|ja|東南アジア史}}1949年から1950年まで[[インドネシア]]の領域に存在した[[オランダ]]の[[傀儡国家]]で構成された[[連邦国家]]。首都は[[ジャカルタ]]。
691o1vfl7jno6rwr30m71i0u6lzkzeq
マドゥラ島
0
602753
2328285
2026-08-17T02:31:05Z
鍼灸
112313
ページの作成:「{{kana-DEFAULTSORT|マドゥラとう}} {{wikipedia}} =={{L|ja}}== ==={{name}}=== {{ja-name|マドゥラとう}} #{{タグ|ja|島}}[[大スンダ列島]]の一つで[[ジャワ島]]北東部に位置する島。」
2328285
wikitext
text/x-wiki
{{kana-DEFAULTSORT|マドゥラとう}}
{{wikipedia}}
=={{L|ja}}==
==={{name}}===
{{ja-name|マドゥラとう}}
#{{タグ|ja|島}}[[大スンダ列島]]の一つで[[ジャワ島]]北東部に位置する島。
m61pygi9xu5x50bg4upmo0xg8su1ywp
カリマンタン
0
602754
2328287
2026-08-17T02:35:49Z
鍼灸
112313
ページの作成:「{{kana-DEFAULTSORT}} {{wikipedia}} =={{L|ja}}== ==={{name}}=== {{ja-name}} #{{タグ|ja|地名|島}}「[[ボルネオ]]」のインドネシア語名。」
2328287
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{wikipedia}}
=={{L|ja}}==
==={{name}}===
{{ja-name}}
#{{タグ|ja|地名|島}}「[[ボルネオ]]」のインドネシア語名。
dl693u3053ycshqzthzkljh30fjjs4e
ボルネオ島
0
602755
2328288
2026-08-17T02:37:57Z
鍼灸
112313
ページの作成:「{{kana-DEFAULTSORT|ボルネオとう}} =={{L|ja}}== ==={{name}}=== {{ja-name|ボルネオとう}} #「[[ボルネオ]]」を参照。」
2328288
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ボルネオとう}}
=={{L|ja}}==
==={{name}}===
{{ja-name|ボルネオとう}}
#「[[ボルネオ]]」を参照。
a3tgci0gi27knnwjp0y8vwti51qd8z6
カリマンタン島
0
602756
2328289
2026-08-17T02:38:47Z
鍼灸
112313
ページの作成:「{{kana-DEFAULTSORT|カリマンタンとう}} =={{L|ja}}== ==={{name}}=== {{ja-name|カリマンタンとう}} #「[[カリマンタン]]」を参照。」
2328289
wikitext
text/x-wiki
{{kana-DEFAULTSORT|カリマンタンとう}}
=={{L|ja}}==
==={{name}}===
{{ja-name|カリマンタンとう}}
#「[[カリマンタン]]」を参照。
0nrcrezij0qoni9i6ldqbjif23esx53
バンドン
0
602757
2328290
2026-08-17T02:45:10Z
鍼灸
112313
ページの作成:「{{kana-DEFAULTSORT}} {{wikipedia|バンドン (インドネシア)}} =={{L|ja}}== ==={{name}}=== {{ja-name}} #{{タグ|ja|旧首都}}[[インドネシア]]西ジャワ州の州都。1947年から1950年まで[[パスンダン国]]の首都。」
2328290
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{wikipedia|バンドン (インドネシア)}}
=={{L|ja}}==
==={{name}}===
{{ja-name}}
#{{タグ|ja|旧首都}}[[インドネシア]]西ジャワ州の州都。1947年から1950年まで[[パスンダン国]]の首都。
s9egrd4hsq77nsv3l3enivj0pfaj19a
2328326
2328290
2026-08-17T09:37:23Z
うーむ
129171
/* */
2328326
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|はんどん}}
{{wikipedia|バンドン (インドネシア)}}
=={{L|ja}}==
==={{name}}===
{{ja-name}}
#{{タグ|ja|旧首都}}[[インドネシア]]西ジャワ州の州都。1947年から1950年まで[[パスンダン国]]の首都。
0vfmw1gr2pq26bkdifa6dmh2lz8b5oq
觭
0
602758
2328291
2026-08-17T02:51:37Z
ふゆくれ
95641
ページの作成:「{{kana-DEFAULTSORT|キ}} ==漢字== {{kanji|角|8}} {{kanji variants|奇=字義1-4/字義4|踦=字義1-5|掎=字義2}} {{kanji-regional2}} ===字源=== *[[形声文字|形声]]。「[[角]]」+[[音符]]「[[奇]] {{phoneme|*KAI}}<ref group="字源" name="上古音">{{R:och:GYXSK}}</ref>」。 {{字源}} <references group="字源"/> ===字義=== #(jī) ##傾く。首をかしげる。 ##偏る。重点を置く。 ##得る。 ##「[[奇]]」の[[通字]]。単独の…」
2328291
wikitext
text/x-wiki
{{kana-DEFAULTSORT|キ}}
==漢字==
{{kanji|角|8}}
{{kanji variants|奇=字義1-4/字義4|踦=字義1-5|掎=字義2}}
{{kanji-regional2}}
===字源===
*[[形声文字|形声]]。「[[角]]」+[[音符]]「[[奇]] {{phoneme|*KAI}}<ref group="字源" name="上古音">{{R:och:GYXSK}}</ref>」。
{{字源}}
<references group="字源"/>
===字義===
#(jī)
##傾く。首をかしげる。
##偏る。重点を置く。
##得る。
##「[[奇]]」の[[通字]]。単独の。偶でない。
##「[[踦]]」の[[通字]]。片足。
#(jǐ) 「[[掎]]」の[[通字]]。取る。牽く。
#(qǐ) 牛の角。
#(qí) 「[[奇]]」の[[通字]]。珍しい。奇妙な。不可解な。
=={{L|ja}}==
{{ja-kanji|呉音=*|漢音=キ|訓=かたむ-く<かたぶ-く}}
==={{prov}}===
{{prov-top}}
*[[觭角]]
*[[觭偶]]
*[[觭倍]]
*[[觭夢]]
*[[觭輪]]
{{prov-bottom}}
===参考文献===
{{書誌・コトバンク|word=きかたむく|head={{PAGENAME}}|author=普及版 {{w|字通}}|accessdate=2026-08-17}}
=={{L|zh}}==
{{zh-cat|ji1}}
{{yue-cat|kei1}}
{{hak-cat|ki2}}
{{hak-hl-cat|ki2}}
{{ltc-cat|khje1}}
{{och-cat|khrai}}
{{zh-han|m=jī,jǐ,qǐ,qí|c=kei1,gei1|pfs=kì|hrs=ki}}
**'''[[中古音]]''': khje, khjeX
**'''[[上古音]]''':
***'''鄭張''': /*kʰral/, /*kʰralʔ/
***'''布之道''': /*kʰ(r)ai/, /*kʰ(r)aiʔ/
==={{prov}}===
{{zh-der|三觭龍|觭輪|觭龍類|觭夢|觭介|觭偶|觭角|觭角兒|觭日|觭重}}
=={{L|ko}}==
{{ko-han|기}}
=={{L|vi}}==
{{vi-han|khi|kì|kỳ|ki|ky|cơ}}
=={{コード}}==
{{文字コード|jis=2-61-28|mj={{mjmoji|024313}}|gb=7244|cns=2-543A|全={{全字庫|152634}}|big5=E7D1|ksx=1027-1-5F7E|kps=10721-7555}}
{{検字|倉頡=NBKMR|四角=2422.1}}
{{字典|諸橋=35105|新潮漢字=11819|新大字典=15582|大字源=9232|大漢語林=10573|康煕=1143.310|hdz=63928.180|dj=1610.200|ch=1235.505|広韻=044.48/243.14|matthews=423|mw=1115b|vt=B04619}}
sgespb7arncx2gy6z6qnzutrel3ihjo
伺持
0
602759
2328292
2026-08-17T03:04:56Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|しじ}} =={{L|ja}}== ==={{noun}}=== {{ja-noun-suru|[[しじ]]}} #[[貴人]]などの側に[[つかえる|仕える]]こと。 ==={{verb}}=== {{ja-verb-suru|しじ}} {{日本語サ変活用}}」
2328292
wikitext
text/x-wiki
{{kana-DEFAULTSORT|しじ}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun-suru|[[しじ]]}}
#[[貴人]]などの側に[[つかえる|仕える]]こと。
==={{verb}}===
{{ja-verb-suru|しじ}}
{{日本語サ変活用}}
7y366xqovfmf3tno63tvqh053uw7emf
肉叢
0
602760
2328293
2026-08-17T03:07:45Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|ししむら}} =={{L|ojp}}== ==={{wago}}=== {{ojp-wagokanji|ししむら}} #{{wagokanji of|ししむら}}」
2328293
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ししむら}}
=={{L|ojp}}==
==={{wago}}===
{{ojp-wagokanji|ししむら}}
#{{wagokanji of|ししむら}}
5n03462s31iw4qftwdfr65yx3qx5kl5
肉団
0
602761
2328294
2026-08-17T03:13:19Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|にくだん}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|[[にくだん]]}} #[[肉]]の[[かたまり|塊]]。 #{{タグ|ja|仏教}}[[心臓]]。」
2328294
wikitext
text/x-wiki
{{kana-DEFAULTSORT|にくだん}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|[[にくだん]]}}
#[[肉]]の[[かたまり|塊]]。
#{{タグ|ja|仏教}}[[心臓]]。
skplnx5oto5d70it95nviz1r1uiy2p5
にくだん
0
602762
2328295
2026-08-17T03:16:45Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT}} =={{L|ja}}== ==={{kangokana}}=== {{ja-kangokana|h=y}} *【[[肉団]]】肉の塊。 *【[[肉弾]]】兵士が直接敵陣に突入すること。」
2328295
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[肉団]]】肉の塊。
*【[[肉弾]]】兵士が直接敵陣に突入すること。
8qeknm8r852ds2vvcwyl5c0i2zo5743
攲
0
602763
2328300
2026-08-17T03:34:19Z
ふゆくれ
95641
ページの作成:「{{kana-DEFAULTSORT|キ}} ==漢字== {{kanji|支|8}} {{kanji variants|欹|敧}} ===字源=== *[[形声文字|形声]]。「[[支]]」+[[音符]]「[[奇]] {{phoneme|*KAI}}<ref group="字源" name="上古音">{{R:och:GYXSK}}</ref>」。 {{字源}} <references group="字源"/> ===字義=== #(jī) 箸で摘まみ上げる。 #(qī) ##傾いている。 ##寄り掛かる。支える。 =={{L|ja}}== {{ja-kanji|呉音=*|漢音=キ|訓=かたむ-く<かたぶ-く}} ==={{pr…」
2328300
wikitext
text/x-wiki
{{kana-DEFAULTSORT|キ}}
==漢字==
{{kanji|支|8}}
{{kanji variants|欹|敧}}
===字源===
*[[形声文字|形声]]。「[[支]]」+[[音符]]「[[奇]] {{phoneme|*KAI}}<ref group="字源" name="上古音">{{R:och:GYXSK}}</ref>」。
{{字源}}
<references group="字源"/>
===字義===
#(jī) 箸で摘まみ上げる。
#(qī)
##傾いている。
##寄り掛かる。支える。
=={{L|ja}}==
{{ja-kanji|呉音=*|漢音=キ|訓=かたむ-く<かたぶ-く}}
==={{prov}}===
{{prov-top}}
*[[攲案]]
*[[攲架]]
*[[攲岸]]
*[[攲器]]
*[[攲危]]
*[[攲傾]]
*[[攲欠]]
*[[攲坐]]
*[[攲斜]]
*[[攲邪]]
*[[攲牀]]
*[[攲側]]
*[[攲頽]]
*[[攲倒]]
*[[攲帆]]
*[[案攲]]
*[[虚攲]]
*[[傾攲]]
*[[紅攲]]
*[[斜攲]]
*[[松攲]]
*[[枕攲]]
*[[低攲]]
*[[棹攲]]
*[[半攲]]
{{prov-bottom}}
===参考文献===
{{書誌・コトバンク|word=きかたむく|head={{PAGENAME}}|author=普及版 {{w|字通}}|accessdate=2026-08-17}}
=={{L|zh}}==
{{zh-cat|ji1}}
{{yue-cat|kei1}}
{{hak-cat|ki2}}
{{hak-hl-cat|ki2}}
{{nan-cat|khi1}}
{{nan-tws-cat|ki1}}
{{ltc-cat|kje1}}
{{och-cat|krai}}
{{zh-han|m=jī,qī|c=kei1|pfs=kì|hrs=ki|mn=khi/khia|mn-t=ki1}}
**'''[[中古音]]''': kje, khje, kjeX
**'''[[上古音]]''':
***'''鄭張''': /*kral/, /*kʰral/, /*kralʔ/
***'''布之道''': /*k(r)ai/, /*k(r)aiʔ/, /*kʰ(r)ai/
==={{prov}}===
{{zh-der|攲傾|攲倒|攲側|攲器|攲斜|攲案|低攲|斜攲|攲缺|攲攲|攲架|蹺攲|傾蹺}}
=={{L|ko}}==
{{ko-han|기}}
=={{L|vi}}==
{{vi-han|khi}}
=={{コード}}==
{{文字コード|jis=2-13-65|mj={{mjmoji|012944}}|gb=4368|cns=2-3C37|全={{全字庫|146487}}|big5=D972|ksx=1002-5B6D|kps=10721-47F1}}
{{検字|倉頡=KRJE|四角=4464.7}}
{{字典|諸橋=13086|新潮漢字=4389|新大字典=6070|大字源=3660|大漢語林=4280|康煕=0467.210|hdz=21329.210|dj=0815.190|ch=599.202|広韻=045.03/047.01/243.08|matthews=516|nelson=2041|vt=B01462}}
a1brabq4iihex8jcmgxgxok82a2sjfm
2328304
2328300
2026-08-17T03:41:32Z
ふゆくれ
95641
/* {{L|ja}} */
2328304
wikitext
text/x-wiki
{{kana-DEFAULTSORT|キ}}
==漢字==
{{kanji|支|8}}
{{kanji variants|欹|敧}}
===字源===
*[[形声文字|形声]]。「[[支]]」+[[音符]]「[[奇]] {{phoneme|*KAI}}<ref group="字源" name="上古音">{{R:och:GYXSK}}</ref>」。
{{字源}}
<references group="字源"/>
===字義===
#(jī) 箸で摘まみ上げる。
#(qī)
##傾いている。
##寄り掛かる。支える。
=={{L|ja}}==
{{ja-kanji|呉音=*|漢音=キ|訓=かたむ-く<かたぶ-く|古訓=そばたつ,あづかる;{{w|名義抄}},うつはもの,あつかる,かかげたり,そばだつ;{{w|字鏡集}}}}
==={{prov}}===
{{prov-top}}
*[[攲案]]
*[[攲架]]
*[[攲岸]]
*[[攲器]]
*[[攲危]]
*[[攲傾]]
*[[攲欠]]
*[[攲坐]]
*[[攲斜]]
*[[攲邪]]
*[[攲牀]]
*[[攲側]]
*[[攲頽]]
*[[攲倒]]
*[[攲帆]]
*[[案攲]]
*[[虚攲]]
*[[傾攲]]
*[[紅攲]]
*[[斜攲]]
*[[松攲]]
*[[枕攲]]
*[[低攲]]
*[[棹攲]]
*[[半攲]]
{{prov-bottom}}
===参考文献===
{{書誌・コトバンク|word=きかたむく|head={{PAGENAME}}|author=普及版 {{w|字通}}|accessdate=2026-08-17}}
=={{L|zh}}==
{{zh-cat|ji1}}
{{yue-cat|kei1}}
{{hak-cat|ki2}}
{{hak-hl-cat|ki2}}
{{nan-cat|khi1}}
{{nan-tws-cat|ki1}}
{{ltc-cat|kje1}}
{{och-cat|krai}}
{{zh-han|m=jī,qī|c=kei1|pfs=kì|hrs=ki|mn=khi/khia|mn-t=ki1}}
**'''[[中古音]]''': kje, khje, kjeX
**'''[[上古音]]''':
***'''鄭張''': /*kral/, /*kʰral/, /*kralʔ/
***'''布之道''': /*k(r)ai/, /*k(r)aiʔ/, /*kʰ(r)ai/
==={{prov}}===
{{zh-der|攲傾|攲倒|攲側|攲器|攲斜|攲案|低攲|斜攲|攲缺|攲攲|攲架|蹺攲|傾蹺}}
=={{L|ko}}==
{{ko-han|기}}
=={{L|vi}}==
{{vi-han|khi}}
=={{コード}}==
{{文字コード|jis=2-13-65|mj={{mjmoji|012944}}|gb=4368|cns=2-3C37|全={{全字庫|146487}}|big5=D972|ksx=1002-5B6D|kps=10721-47F1}}
{{検字|倉頡=KRJE|四角=4464.7}}
{{字典|諸橋=13086|新潮漢字=4389|新大字典=6070|大字源=3660|大漢語林=4280|康煕=0467.210|hdz=21329.210|dj=0815.190|ch=599.202|広韻=045.03/047.01/243.08|matthews=516|nelson=2041|vt=B01462}}
47ilcvy8vd0yc15dcf0gxtt7x35rzoi
戎狄
0
602764
2328301
2026-08-17T03:37:22Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|じゅうてき}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|じゅうてき}} #[[西戎]]と[[北狄]]。古代中国で周辺の異民族や外国人に対する蔑称。[[狄夷]]。」
2328301
wikitext
text/x-wiki
{{kana-DEFAULTSORT|じゅうてき}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|じゅうてき}}
#[[西戎]]と[[北狄]]。古代中国で周辺の異民族や外国人に対する蔑称。[[狄夷]]。
a41jaub77glxemzjnpgc62qccqzdcv5
2328302
2328301
2026-08-17T03:37:46Z
うーむ
129171
2328302
wikitext
text/x-wiki
{{kana-DEFAULTSORT|じゅうてき}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|じゅうてき}}
#[[西戎]]と[[北狄]]。古代中国で周辺の異民族や外国人に対する蔑称。[[戎夷]]。
3zgl5f4c1vtfi9aw7mx8yh2fst3r0un
上世
0
602765
2328303
2026-08-17T03:41:17Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|じょうせい}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|[[じょうせい]]}} #[[おおむかし|大昔]]。[[上古]]。[[上代]]。」
2328303
wikitext
text/x-wiki
{{kana-DEFAULTSORT|じょうせい}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|[[じょうせい]]}}
#[[おおむかし|大昔]]。[[上古]]。[[上代]]。
4zyax9h64eucitryyqgigancgb02rnz
禨
0
602766
2328307
2026-08-17T04:24:56Z
ふゆくれ
95641
ページの作成:「{{kana-DEFAULTSORT|キ}} ==漢字== {{kanji|示|12}} {{kanji|示4|12|lang=zh|t=[[拡張新字体]]/MJ018948の字形/中国での字形}} {{kanji variants|𥘌=[[類推簡化字]]|𧝞=[[同字]]|䤒=字義2|𧗒=字義3}} {{kanji-regional2}} ===字源=== *[[形声文字|形声]]。「[[示]]」+[[音符]]「[[幾]] {{phoneme|*KƏI}}<ref group="字源" name="上古音">{{R:och:GYXSK}}</ref>」。 {{字源}} <references group="字源"/> ===字義=== #(jī) ##鬼神…」
2328307
wikitext
text/x-wiki
{{kana-DEFAULTSORT|キ}}
==漢字==
{{kanji|示|12}}
{{kanji|示4|12|lang=zh|t=[[拡張新字体]]/MJ018948の字形/中国での字形}}
{{kanji variants|𥘌=[[類推簡化字]]|𧝞=[[同字]]|䤒=字義2|𧗒=字義3}}
{{kanji-regional2}}
===字源===
*[[形声文字|形声]]。「[[示]]」+[[音符]]「[[幾]] {{phoneme|*KƏI}}<ref group="字源" name="上古音">{{R:och:GYXSK}}</ref>」。
{{字源}}
<references group="字源"/>
===字義===
#(jī)
##鬼神を祀って福を祈る。
##祟り。兆し。
#(jì) 「[[䤒]]」の[[同字]]。入浴後に飲む酒。
#(qí) 「[[𧗒]]」の同字。血祭り。
=={{L|ja}}==
{{ja-kanji|呉音=ケ,ギ|漢音=キ|訓=たたり,きざし,まつり|古訓=さかゆ,やすし;{{w|字鏡集}}}}
==={{prov}}===
{{prov-top}}
*[[禨卹]]
*[[禨祥]]
*[[受禨]]
*[[信禨]]
*[[禎禨]]
{{prov-bottom}}
===参考文献===
{{書誌・コトバンク|word=きたたりまつり|head={{PAGENAME}}|author=普及版 {{w|字通}}|accessdate=2026-08-17}}
=={{L|zh}}==
{{zh-cat|ji1}}
{{yue-cat|gei1}}
{{hak-cat|gi1}}
{{hak-hl-cat|gi1}}
{{nan-tws-cat|gi1}}
{{ltc-cat|kjj1}}
{{och-cat|kei}}
{{zh-han|m=jī,jì,qí|c=gei1,gei6|pfs=gî|hrs=giˋ|mn-t=gi1}}
**'''[[中古音]]''': kj+j, kj+jH
**'''[[上古音]]''':
***'''鄭張''': /*kɯl/, /*kɯls/
***'''布之道''': /*kəi/, /*kəih/
==={{prov}}===
{{zh-der|禨祥|禨鬼|進禨|豐禨}}
=={{L|ko}}==
{{ko-han|기}}
=={{L|vi}}==
{{vi-han|kị|kỵ|ki|ky|cơ}}
=={{コード}}==
{{文字コード|jis=2-48-76|mj={{mjmoji|018948|018949|018950}}|gb=5679|cns=2-5D7B|全={{全字庫|155003}}|big5=EDB0|ksx=1002-5B75|kps=10721-6187}}
{{検字|倉頡=IFVII|四角=3225.3}}
{{字典|諸橋=24832|新潮漢字=8158/8159|新大字典=11272|大字源=6762|大漢語林=7937|康煕=0846.330|hdz=42409.010|dj=1267.230|ch=985.201|広韻=065.30/361.03|vt=B03075/B03075-001}}
fb84l3lxw96p6ufcizwqatp6hneh1kb
𥘌
0
602767
2328308
2026-08-17T04:31:10Z
ふゆくれ
95641
ページの作成:「==漢字== {{kanji|示4|2}} {{kanji variants|机=字義1|禨=字義2/[[康煕字典体]]}} ===字義=== #「[[机]]」の[[同字]](『漢語大字典』掲載)。 #「[[禨]]」の[[類推簡化字]](『漢典』掲載)。 =={{L|zh}}== {{zh-cat|ji1|簡=2}} {{zh-han|m=jī,jì,qí,wèi}} =={{コード}}== {{文字コード|cns=10-6C44|全={{全字庫|683076}}}} {{検字|倉頡=IFHN}} {{字典|hdz=42385.060}}」
2328308
wikitext
text/x-wiki
==漢字==
{{kanji|示4|2}}
{{kanji variants|机=字義1|禨=字義2/[[康煕字典体]]}}
===字義===
#「[[机]]」の[[同字]](『漢語大字典』掲載)。
#「[[禨]]」の[[類推簡化字]](『漢典』掲載)。
=={{L|zh}}==
{{zh-cat|ji1|簡=2}}
{{zh-han|m=jī,jì,qí,wèi}}
=={{コード}}==
{{文字コード|cns=10-6C44|全={{全字庫|683076}}}}
{{検字|倉頡=IFHN}}
{{字典|hdz=42385.060}}
k5o63vnxl8pp4bxhib87jl16r97gibo
利用者:義彦の日常
2
602768
2328315
2026-08-17T06:14:03Z
義彦の日常
133006
/* */ 自己紹介
2328315
wikitext
text/x-wiki
たまたま見たい記事があって、はじめてウィキスピーシーズで加入いたしました!まだ、わからないことがあるかもしれません😐️ちなみに飛行機✈️も物凄く好きで、特に、アイベックスエアラインズが好きです✈️
==ウィクショナリーはなんのために使う?==
インターネット上でみんなで作る無料のオンライン辞書です。言葉の意味、読み方、発音、類義語、別の言語への翻訳などを調べるために使います。
s0pz4k4z50mu0qva4qoqg0ga8zroxle
2328322
2328315
2026-08-17T07:21:40Z
20041027 tatsu
59964
/* */ {{Indefblockeduser}}
2328322
wikitext
text/x-wiki
{{Indefblockeduser}}
たまたま見たい記事があって、はじめてウィキスピーシーズで加入いたしました!まだ、わからないことがあるかもしれません😐️ちなみに飛行機✈️も物凄く好きで、特に、アイベックスエアラインズが好きです✈️
==ウィクショナリーはなんのために使う?==
インターネット上でみんなで作る無料のオンライン辞書です。言葉の意味、読み方、発音、類義語、別の言語への翻訳などを調べるために使います。
l1tooqejhtddgdvhhd4525v6hntslft
2328323
2328322
2026-08-17T08:57:09Z
20041027 tatsu
59964
/* */ nopage=t
2328323
wikitext
text/x-wiki
{{Indefblockeduser|nopage=t}}
たまたま見たい記事があって、はじめてウィキスピーシーズで加入いたしました!まだ、わからないことがあるかもしれません😐️ちなみに飛行機✈️も物凄く好きで、特に、アイベックスエアラインズが好きです✈️
==ウィクショナリーはなんのために使う?==
インターネット上でみんなで作る無料のオンライン辞書です。言葉の意味、読み方、発音、類義語、別の言語への翻訳などを調べるために使います。
d0ilphi0821bje5a1rqvxy81fu6r1gn
利用者・トーク:義彦の日常
3
602769
2328316
2026-08-17T06:14:44Z
義彦の日常
133006
/* */ 説明
2328316
wikitext
text/x-wiki
わからないことがあるかもしれません
i72ewhetjcviiode0xz5pynen47i15j
付録:マレー語の発音表記
100
602770
2328317
2026-08-17T07:12:54Z
Kuroco2k
84207
[[:en:Appendix:Malay pronunciation]]
2328317
wikitext
text/x-wiki
以下の表は、Wiktionaryにおける[[:w:国際音声記号|IPA]]によるマレー語の発音表記である。
[[File:Pronunciation Standards in Standard Malay.png|thumb|マレー語の発音分布。赤がSVS、紫はAVS、水色は Baku の地域だが、実際はSVSがちである]]
マレー語自体には二つの標準的な発音表記があり、一つは{{w|シュワー}}変種 (以下SVS)、もう一つは /a/変種 (以下AVS)である。SVSは、名の通りシュワー [ə] を語末 /a/ に用いる方式で、AVSは語末 /a/ を [a] と発音し、更にその後ろの /r/ まで含めて発音する方式である。{{m|ms|buka}}, {{m|ms|sabar}}の二単語で比較したのが以下である:
*SVS: [bukə] (buka), [saba] (sabar)
*AVS: [buka] (buka), [sabar] (sabar)
また上記以外に、シンガポールでは、綴り通りに単語を発音する Baku (マレー語で「標準」を意味する)もしくは「文学的」標準発音(LPSと略される。)と呼ばれる発音方式が存在する。AVSが -ar で終わる単語を /r/ まで発音するようなことに似ているが、全てが全てAVSと一致するというわけではない。
単純にマレーシアの標準発音を考えると、SVSは{{w|ジョホール州}}・{{w|クアラルンプール}}の発音を受け継いだ形になるが、AVSは多様な発音を拾っている、つまり多数話者がいるはずの{{w|ケダ州}}・{{w|サバ州}}の発音とも微妙に違うものとなっている。なので、単純化してLPSがAVSの代表的発音として取り上げられている。
{| style="background:none;"
| style="vertical-align: top;" |
{| class="wikitable" style="text-align: center;"
|+ 子音
|-
! IPA !! Examples
|-
|<big>{{IPAfont|b}}</big>
| align="left"| '''b'''ola<ref name=stop>/p/, /t/, /k/ は無気音で、語末なら内破音 [p̚, t̪̚, ʔ̚]、語末 '''k''' は声門破裂音になる。語末に /b, d, ɡ/ が現れることはないが、借用語に限って [p̚, t̪̚, k̚] という発音の下で正書法上登場することはある。{{w|リエゾン}}は発生しないので、連語になっても発音は同じである。</ref>
|-
|<big>{{IPAfont|d}}</big>
| align="left"| '''d'''ari<ref name=stop/>
|-
|<big>{{IPAfont|dʒ}}</big>
| align="left"| '''j'''ari
|-
|<big>{{IPAfont|f}}</big>
| align="left"| '''f'''ikir<ref name=loan>摩擦音 [f, v, z, ʃ, x] は借用語のみで登場する。</ref>
|-
|<big>{{IPAfont|ɡ}}</big>
| align="left"| '''g'''alah<ref name=glottal/>
|-
|<big>{{IPAfont|h}}</big>
| align="left"| '''h'''abis, toko'''h'''
|-
|<big>{{IPAfont|j}}</big>
| align="left"| '''y'''akin, ka'''y'''a
|-
|<big>{{IPAfont|k}}</big>
| align="left"| '''k'''alah<ref name=stop/><ref name=glottal/>
|-
|<big>{{IPAfont|l}}</big>
| align="left"| '''l'''ama
|-
|<big>{{IPAfont|m}}</big>
| align="left"| '''m'''akan
|-
|<big>{{IPAfont|n}}</big>
| align="left"| '''n'''akal
|-
|<big>{{IPAfont|ŋ}}</big>
| align="left"| '''ng'''arai
|-
|<big>{{IPAfont|ɲ}}</big>
| align="left"| '''ny'''aman
|-
|<big>{{IPAfont|p}}</big>
| align="left"| '''p'''ola<ref name=stop/>
|-
|<big>{{IPAfont|r}}</big>
| align="left"| '''r'''aja, da'''r'''i, pasa'''r'''<ref>SVSでは語末の /r/ は省略される(ただしLPSの影響もあり、公的な場ではあえて発音する場合もある)。</ref>
|-
|<big>{{IPAfont|s}}</big>
| align="left"| '''s'''aya
|-
|<big>{{IPAfont|ʃ}}</big>
| align="left"| '''sy'''ak<ref name=loan/>
|-
|<big>{{IPAfont|t}}</big>
| align="left"| '''t'''ari<ref name=stop/>
|-
|<big>{{IPAfont|tʃ}}</big>
| align="left"| '''c'''ari
|-
|<big>{{IPAfont|v}}</big>
| align="left"| '''v'''isa<ref name=loan/>
|-
|<big>{{IPAfont|w}}</big>
| align="left"| '''w'''aktu, Ja'''w'''a
|-
|<big>{{IPAfont|x}}</big>
| align="left"| '''kh'''as<ref name=loan/>
|-
|<big>{{IPAfont|z}}</big>
| align="left"| '''z'''aman<ref name=loan/>
|-
|<big>{{IPAfont|ʔ}}</big>
| align="left"| bapa'''k''', ra'''k'''yat<ref name=stop/><ref name=glottal>声門破裂音 [ʔ] は末尾子音 /k/, /ɡ/ の[[異音]]。{{w|ヒアートゥス}}の場合でも登場する。''bakso'', ''rakyat'' など、中間音ながら登場する場合もある。''Al Qur'an'' など、アラビア語由来であれば、アポストロフィで表現される場合もある。</ref>
|-
|}
| style="vertical-align: top;" |
{| class="wikitable" style="text-align: center;"
|+ 母音
|-
! colspan="2" | IPA
! rowspan="2" | 例
|-
! LPS
! SVS
|-
| colspan="2" | <big>{{IPAfont|a}}, {{IPAfont|ä}}</big>
| align="left"| '''a'''j'''a'''r<ref>[{{IPAfont|ɑ}}] は、アラビア語借用語において、単語の子音を慎重に発音するときに時折現れる /a/ の異音。</ref>
|-
| <big>{{IPAfont|a}} {{IPAfont|ä}}</big>
| <big>{{IPAfont|ə}}</big>
| align="left" | buk'''a'''<ref name="final a">SVSでは、語末 /a/ の発音は [{{IPAfont|ə}}].</ref>
|-
| colspan="2" |<big>{{IPAfont|ə}}</big>
| align="left"| g'''e'''lak
|-
| colspan="2" |<big>{{IPAfont|i}}</big>
| align="left" | b'''i'''la, '''i'''n'''i'''
|-
| colspan="2" | <big>{{IPAfont|e}}</big>
| align="left"| s'''e'''rong, bol'''e'''h
|-
| <big>{{IPAfont|i}}</big>
| <big>{{IPAfont|e}}</big>
| align="left" | pil'''i'''h, mak'''i'''n<ref name="high_allophone">[e, o] は固有語において、 /i, u/ の閉鎖音文節における異音だが、著者によってはそのような区別がないとする主張もある。ただしその主張が正しいなら、{{m|ms|burung}}, {{m|ms|borong}} などでは一つ目の u, o と二つ目のそれらが異音になるはずがないと言える。</ref>
|-
| colspan="2" |<big>{{IPAfont|ɛ}}</big>
| align="left"| p'''e'''k, b'''e'''g<ref name=foreignVowel>西欧語族からの借用語では母音 [ɛ], [ɔ] が登場する(例: {{m|ms|pek}} [pɛk], {{m|ms|kos}} [kɔs])。ただし、借用から時間がたった語は発音がマレー語一般の物へ変化している(例: {{m|ms|bomba}}, [bombə])。</ref>
|-
| colspan="2" | <big>{{IPAfont|u}}</big>
| align="left"| '''u'''pah, bar'''u'''
|-
| colspan="2" |<big>{{IPAfont|o}}</big>
| align="left"| r'''o'''da, r'''o'''b'''o'''h
|-
| <big>{{IPAfont|u}}</big>
| <big>{{IPAfont|o}}</big>
| tuj'''u'''h, rump'''u'''t<ref name=high_allophone/>
|-
| colspan="2" | <big>{{IPAfont|ɔ}}</big>
| align="left"| k'''o'''s<ref name=foreignVowel/>
|}
<br/>
{| class="wikitable" style="text-align: center;"
|+二重母音
|-
! IPA !! Examples
|-
|<big>au</big>
| align="left"| kal'''au'''
|-
|<big>ai</big>
| align="left"| cap'''ai'''
|-
|<big>oi</big>
| align="left"| cak'''oi'''
|-
|<big>ei</big>
| align="left"| M'''ei'''<ref name=FACE_vowel>[ei] はたいてい [e] に簡略化される。</ref>
|-
|<big>ui</big>
| align="left"| fengs'''ui'''
|}
<br/>
{| class="wikitable"
|+ その他
|-
! IPA !! 説明
|-
|align="center" |<big>{{IPAfont|ˈ}}</big>
| 第一強勢。強勢音節に前置する<ref>強勢はたいてい最後から二番目の音節に落ち着く。その音節にシュワー [ə] があれば最後から三番目の音節に、なければ最終音節になる。接尾辞によっては強勢を置くため無視もありえる。</ref>。
|}
|}
== 脚注 ==
{{Reflist}}
[[Category:発音|らてんこ]]
[[カテゴリ:{{ms}}の付録|はつおんひようき]]
6hgb6oiu642ipj6rcw30be88p5qnn5j
2328321
2328317
2026-08-17T07:13:55Z
Kuroco2k
84207
2328321
wikitext
text/x-wiki
以下の表は、Wiktionaryにおける[[:w:国際音声記号|IPA]]によるマレー語の発音表記である。
[[File:Pronunciation Standards in Standard Malay.png|thumb|マレー語の発音分布。赤がSVS、紫はAVS、水色は Baku の地域だが、実際はSVSがちである]]
マレー語自体には二つの標準的な発音表記があり、一つは{{w|シュワー}}変種 (以下SVS)、もう一つは /a/変種 (以下AVS)である。SVSは、名の通りシュワー [ə] を語末 /a/ に用いる方式で、AVSは語末 /a/ を [a] と発音し、更にその後ろの /r/ まで含めて発音する方式である。{{m|ms|buka}}, {{m|ms|sabar}}の二単語で比較したのが以下である:
*SVS: [bukə] (buka), [saba] (sabar)
*AVS: [buka] (buka), [sabar] (sabar)
また上記以外に、シンガポールでは、綴り通りに単語を発音する Baku (マレー語で「標準」を意味する)もしくは「文学的」標準発音(LPSと略される。)と呼ばれる発音方式が存在する。AVSが -ar で終わる単語を /r/ まで発音するようなことに似ているが、全てが全てAVSと一致するというわけではない。
単純にマレーシアの標準発音を考えると、SVSは{{w|ジョホール州}}・{{w|クアラルンプール}}の発音を受け継いだ形になるが、AVSは多様な発音を拾っている、つまり多数話者がいるはずの{{w|ケダ州}}・{{w|サバ州}}の発音とも微妙に違うものとなっている。なので、単純化してLPSがAVSの代表的発音として取り上げられている。
{| style="background:none;"
| style="vertical-align: top;" |
{| class="wikitable" style="text-align: center;"
|+ 子音
|-
! IPA !! 例
|-
|<big>{{IPAfont|b}}</big>
| align="left"| '''b'''ola<ref name=stop>/p/, /t/, /k/ は無気音で、語末なら内破音 [p̚, t̪̚, ʔ̚]、語末 '''k''' は声門破裂音になる。語末に /b, d, ɡ/ が現れることはないが、借用語に限って [p̚, t̪̚, k̚] という発音の下で正書法上登場することはある。{{w|リエゾン}}は発生しないので、連語になっても発音は同じである。</ref>
|-
|<big>{{IPAfont|d}}</big>
| align="left"| '''d'''ari<ref name=stop/>
|-
|<big>{{IPAfont|dʒ}}</big>
| align="left"| '''j'''ari
|-
|<big>{{IPAfont|f}}</big>
| align="left"| '''f'''ikir<ref name=loan>摩擦音 [f, v, z, ʃ, x] は借用語のみで登場する。</ref>
|-
|<big>{{IPAfont|ɡ}}</big>
| align="left"| '''g'''alah<ref name=glottal/>
|-
|<big>{{IPAfont|h}}</big>
| align="left"| '''h'''abis, toko'''h'''
|-
|<big>{{IPAfont|j}}</big>
| align="left"| '''y'''akin, ka'''y'''a
|-
|<big>{{IPAfont|k}}</big>
| align="left"| '''k'''alah<ref name=stop/><ref name=glottal/>
|-
|<big>{{IPAfont|l}}</big>
| align="left"| '''l'''ama
|-
|<big>{{IPAfont|m}}</big>
| align="left"| '''m'''akan
|-
|<big>{{IPAfont|n}}</big>
| align="left"| '''n'''akal
|-
|<big>{{IPAfont|ŋ}}</big>
| align="left"| '''ng'''arai
|-
|<big>{{IPAfont|ɲ}}</big>
| align="left"| '''ny'''aman
|-
|<big>{{IPAfont|p}}</big>
| align="left"| '''p'''ola<ref name=stop/>
|-
|<big>{{IPAfont|r}}</big>
| align="left"| '''r'''aja, da'''r'''i, pasa'''r'''<ref>SVSでは語末の /r/ は省略される(ただしLPSの影響もあり、公的な場ではあえて発音する場合もある)。</ref>
|-
|<big>{{IPAfont|s}}</big>
| align="left"| '''s'''aya
|-
|<big>{{IPAfont|ʃ}}</big>
| align="left"| '''sy'''ak<ref name=loan/>
|-
|<big>{{IPAfont|t}}</big>
| align="left"| '''t'''ari<ref name=stop/>
|-
|<big>{{IPAfont|tʃ}}</big>
| align="left"| '''c'''ari
|-
|<big>{{IPAfont|v}}</big>
| align="left"| '''v'''isa<ref name=loan/>
|-
|<big>{{IPAfont|w}}</big>
| align="left"| '''w'''aktu, Ja'''w'''a
|-
|<big>{{IPAfont|x}}</big>
| align="left"| '''kh'''as<ref name=loan/>
|-
|<big>{{IPAfont|z}}</big>
| align="left"| '''z'''aman<ref name=loan/>
|-
|<big>{{IPAfont|ʔ}}</big>
| align="left"| bapa'''k''', ra'''k'''yat<ref name=stop/><ref name=glottal>声門破裂音 [ʔ] は末尾子音 /k/, /ɡ/ の[[異音]]。{{w|ヒアートゥス}}の場合でも登場する。''bakso'', ''rakyat'' など、中間音ながら登場する場合もある。''Al Qur'an'' など、アラビア語由来であれば、アポストロフィで表現される場合もある。</ref>
|-
|}
| style="vertical-align: top;" |
{| class="wikitable" style="text-align: center;"
|+ 母音
|-
! colspan="2" | IPA
! rowspan="2" | 例
|-
! LPS
! SVS
|-
| colspan="2" | <big>{{IPAfont|a}}, {{IPAfont|ä}}</big>
| align="left"| '''a'''j'''a'''r<ref>[{{IPAfont|ɑ}}] は、アラビア語借用語において、単語の子音を慎重に発音するときに時折現れる /a/ の異音。</ref>
|-
| <big>{{IPAfont|a}} {{IPAfont|ä}}</big>
| <big>{{IPAfont|ə}}</big>
| align="left" | buk'''a'''<ref name="final a">SVSでは、語末 /a/ の発音は [{{IPAfont|ə}}].</ref>
|-
| colspan="2" |<big>{{IPAfont|ə}}</big>
| align="left"| g'''e'''lak
|-
| colspan="2" |<big>{{IPAfont|i}}</big>
| align="left" | b'''i'''la, '''i'''n'''i'''
|-
| colspan="2" | <big>{{IPAfont|e}}</big>
| align="left"| s'''e'''rong, bol'''e'''h
|-
| <big>{{IPAfont|i}}</big>
| <big>{{IPAfont|e}}</big>
| align="left" | pil'''i'''h, mak'''i'''n<ref name="high_allophone">[e, o] は固有語において、 /i, u/ の閉鎖音文節における異音だが、著者によってはそのような区別がないとする主張もある。ただしその主張が正しいなら、{{m|ms|burung}}, {{m|ms|borong}} などでは一つ目の u, o と二つ目のそれらが異音になるはずがないと言える。</ref>
|-
| colspan="2" |<big>{{IPAfont|ɛ}}</big>
| align="left"| p'''e'''k, b'''e'''g<ref name=foreignVowel>西欧語族からの借用語では母音 [ɛ], [ɔ] が登場する(例: {{m|ms|pek}} [pɛk], {{m|ms|kos}} [kɔs])。ただし、借用から時間がたった語は発音がマレー語一般の物へ変化している(例: {{m|ms|bomba}}, [bombə])。</ref>
|-
| colspan="2" | <big>{{IPAfont|u}}</big>
| align="left"| '''u'''pah, bar'''u'''
|-
| colspan="2" |<big>{{IPAfont|o}}</big>
| align="left"| r'''o'''da, r'''o'''b'''o'''h
|-
| <big>{{IPAfont|u}}</big>
| <big>{{IPAfont|o}}</big>
| tuj'''u'''h, rump'''u'''t<ref name=high_allophone/>
|-
| colspan="2" | <big>{{IPAfont|ɔ}}</big>
| align="left"| k'''o'''s<ref name=foreignVowel/>
|}
<br/>
{| class="wikitable" style="text-align: center;"
|+二重母音
|-
! IPA !! Examples
|-
|<big>au</big>
| align="left"| kal'''au'''
|-
|<big>ai</big>
| align="left"| cap'''ai'''
|-
|<big>oi</big>
| align="left"| cak'''oi'''
|-
|<big>ei</big>
| align="left"| M'''ei'''<ref name=FACE_vowel>[ei] はたいてい [e] に簡略化される。</ref>
|-
|<big>ui</big>
| align="left"| fengs'''ui'''
|}
<br/>
{| class="wikitable"
|+ その他
|-
! IPA !! 説明
|-
|align="center" |<big>{{IPAfont|ˈ}}</big>
| 第一強勢。強勢音節に前置する<ref>強勢はたいてい最後から二番目の音節に落ち着く。その音節にシュワー [ə] があれば最後から三番目の音節に、なければ最終音節になる。接尾辞によっては強勢を置くため無視もありえる。</ref>。
|}
|}
== 脚注 ==
{{Reflist}}
[[Category:発音|らてんこ]]
[[カテゴリ:{{ms}}の付録|はつおんひようき]]
qr1whedrsapic6zswjlvhy1oysehfyd
付録:ラテン語の発音表記
100
602771
2328318
2026-08-17T07:12:54Z
Kuroco2k
84207
[[:en:Appendix:Latin pronunciation]]
2328318
wikitext
text/x-wiki
以下に示す表は[[:w:国際音声記号|IPA]]によってラテン語の発音を表したものである。
== 母音 ==
古典ラテン語においては長母音、短母音の区別がなされた。/a aː/ を除いたすべての母音においては、短母音は多くの形でより{{w|広母音|開口}}をするように再構されている。したがって{{w|ロマンス諸語|イタロ-西ロマンス諸語}}では、長母音の衰退に伴って短母音の i と u が、長母音の ē と ō が合流するようになっていった。
=== Wiktionaryで用いる符号 ===
{| class="wikitable"
|+ 古典ラテン語の単母音
! rowspan="2" | 文字 !! rowspan="2" | 配置 || colspan="2" | IPA
|-
! 記法 !! Wiktionary式記法
|-
| a || 全ての場合 || {{IPAchar|/a/}} || {{IPAchar|[a]}}
|-
| ā || 全ての場合 || {{IPAchar|/aː/}} || {{IPAchar|[aː]}}
|-
| rowspan="2" | e || ほとんどの場合 || rowspan="2" | {{IPAchar|/e/}} || {{IPAchar|[ɛ]}}
|-
| 母音の前 || {{IPAchar|[e]}}
|-
| ē || 全ての場合 || {{IPAchar|/eː/}} || {{IPAchar|[eː]}}
|-
| rowspan="2" | i || ほとんどの場合 || rowspan="2" | {{IPAchar|/i/}} || {{IPAchar|[ɪ]}}
|-
| 母音の前 || {{IPAchar|[i]}}
|-
| ī || 全ての場合 || {{IPAchar|/iː/}} || {{IPAchar|[iː]}}
|-
| rowspan="2" | o || ほとんどの場合 || rowspan="2" | {{IPAchar|/o/}} || {{IPAchar|[ɔ]}}
|-
| 母音の前 || {{IPAchar|[o]}}
|-
| ō || 全ての場合 || {{IPAchar|/oː/}} || {{IPAchar|[oː]}}
|-
| rowspan="2" | u || ほとんどの場合 || rowspan="2" | {{IPAchar|/u/}} || {{IPAchar|[ʊ]}}
|-
| 母音の前 || {{IPAchar|[u]}}
|-
| ū || 全ての場合 || {{IPAchar|/uː/}} || {{IPAchar|[uː]}}
|-
| y || 全ての場合 || {{IPAchar|/y/}} || {{IPAchar|[y]}}
|-
| ȳ || 全ての場合 || {{IPAchar|/yː/}} || {{IPAchar|[yː]}}
|}
{| class="wikitable"
|+ 古典ラテン語の二重母音
! Letters !! IPA
|-
| ae || {{IPAchar|/ae̯/}}
|-
| au || {{IPAchar|/au̯/}}
|-
| ei || {{IPAchar|/ei̯/}}
|-
| eu || {{IPAchar|/eu̯/}}
|-
| oe || {{IPAchar|/oe̯/}}
|-
| ui || {{IPAchar|/ui̯/}}
|}
ここにないが、{{w|倒置ブレーヴェ}}を用いて、母音が非独立音節であることを示す場合もある。
=== 鼻音化母音 ===
場合によって、鼻音の /m/, /n/が消失し、その代わりに前の母音が鼻音化(別の言い方をすれば、鼻音と前の母音と融合)することもある。これらは主に、-ns- または -nf- を含む語句 ({{m|la|ānser}}, {{m|la|cēnsus}}, {{m|la|īnferus}}, {{m|la|tōnsor}}, {{m|la|tūnsus}} など) 、語末の -m に子音が接続しない場合 ({{m|la|etiam}} など) で起こったと考えられている。
{| class="wikitable"
|+ 古典ラテン語の鼻音化母音
! 文字!! 配置 !! Wiktionary式記法
|-
| ān || n, f の前 || rowspan="2" | {{IPAchar|[ãː]}}
|-
| am || 語末
|-
| ēn || n, f の前 || rowspan="2" | {{IPAchar|[ẽː]}}
|-
| em || 語末
|-
| īn || n, f の前 || rowspan="2" | {{IPAchar|[ĩː]}}
|-
| im || 語末
|-
| ōn || n, f の前 || {{IPAchar|[õː]}}
|-
| ūn || n, f の前 || rowspan="2" | {{IPAchar|[ũː]}}
|-
| um || 語末
|}
=== IとJの対立 ===
ラテン語において、古く "I" は母音、子音の両要素を兼ね持って(まれに一続き)おり、用法は単語における位置によっていた(多くは母音としての用法だった)。二つの要素においては、詩においても用法が区別された。
近代早期の俗習(それ自体は中世文字による)で見れば、一般・固有名詞を問わず、子音 "I" は "J" に置き換えられた。これは下記 "V" から "U" への変化と似ているが、変化の度合いはV→Uほどではない。
===={{pron}}====
母音:
*{{a|古典ラテン語}}: IPA: 短: {{IPAchar|/i/}}, 長: {{IPAchar|/iː/}}
子音:
*{{a|古典ラテン語}}: IPA: {{IPAchar|/j/}}, ただし母音間では{{IPAchar|/jj/}}
子音-母音列:
*{{a|古典ラテン語}}: IPA: 母音後: {{IPAchar|/jji/}}, 子音後: {{IPAchar|/ji/}}
=== UとVの対立 ===
ラテン語において、"V" もまた上記と同様、母音、子音の両要素を兼ね備え、詩でも用法の区別があった。
現代のラテン語の慣習上は、母音としての V は "U" で、母音はそのままというように定められている(辞書類や、古典ラテン語を扱う文章の再販物でも同様)。例外的にすべて V で統一するのは、わざと古めかしい雰囲気を出したいときなど、一部に限られる。
ただし、一部対立が起きる語句があることに留意されたい。例として、{{m|la|servit}} ({{m|la|servīre}}の第三人称単数現在形) は発音が /ˈser.wit/ であり、{{m|la|seruit}} ({{m|la|serere}}の第三人称単数完了形) は発音が /ˈse.ru.it/ である。
===={{pron}}====
子音:
*{{a|古典ラテン語}}: : IPA: {{IPAchar|/w/}}, (in Greek loanwords between vowels) {{IPAchar|/ww/}}
母音:
*{{a|古典ラテン語}}: : IPA: short {{IPAchar|/u/}}, long {{IPAchar|/uː/}}
== 子音 ==
*'''子音''': b (ps, pt) k d f g (ŋ) h j k l m n p kw r s t w ks z kʰ pʰ tʰ
=== /r/ の異音 ===
ラテン語では{{w|R音}}の存在が認められており、Wiktionaryでは /r/ で音韻が表記されるが、古典ラテン語の /r/ は複数の音韻を含んでいた(=[[異音]])と考えられている。
{{w|巻き舌}}音 [r] は、次の状況に際して登場した可能性が高いと考えられている:
*小休止を挟んだ語頭。
*二重に子音が重なる、つまり /r.r/ [rː] というような発音となる場合 (例: {{m|la|terra}})。
多く、古典ラテン語の研究資料ではこちらの方がより主要な発音として紹介されている。
{{w|有声歯・歯茎たたき音およびはじき音|歯茎たたき音・はじき音}}は、語中の母音間の位置で、単一子音の場合においての /r/ の別形と考えられている。一部古典ラテン語の研究資料では、古典ラテン語 /r/ に [ɾ] を主要な発音として充てている。
ただしこれらは諸説ある問題であり、語の周囲の音韻、単語や形態素の位置、話す速度に話し方など、諸要素が絡み合って結果異音と見做されたという可能性も考えられる。上では主要な二つを挙げたが、{{w|摩擦音}}が /r/ の異音として使われた可能性もある。
Wiktionaryにおいては、これらの原因から /r/ の区別は行わず、単一の [r] と見做してIPAの導出を行う。
== 教会ラテン語の発音 ==
Wiktionaryの多くの項目では、19世紀のローマ・カトリック教会系で普及していたイタリア語風の発音を採択している。文字通りイタリア語由来であり、古典ラテン語にはない、e や i の前の c /t͡ʃ/ などに見られる。英語版Wikipediaの ''[[:en:Italianate Latin|Italianate Latin]]'' も参照のこと。
[[Category:発音|らてんこ]]
[[カテゴリ:{{la}}の付録|はつおんひようき]]
77wdqxm6l2m7eif59iyrs6ccfwek9rp
付録:潮州語の発音表記
100
602772
2328319
2026-08-17T07:12:55Z
Kuroco2k
84207
[[:w:en:Peng'im]]の表を借りながら作成
2328319
wikitext
text/x-wiki
日本語版Wiktionaryでは、広東省教育部によって定められた『潮州話拼音方案』によって音声を表す。
== 発音 ==
=== 声母 ===
{| class="wikitable" style="text-align:center; margin:0.5em auto"
|+声母
! colspan="2" |
!両唇音
!歯茎音
!軟口蓋音
!声門音
|-
! rowspan="2" |有声
!<small>鼻音</small>
|m<br>{{IPAfont|[m]}}<br>毛
|n<br>{{IPAfont|[n]}}<br>年
|ng<br>{{IPAfont|[ŋ]}}<br>雅
|
|-
!<small>破裂音/側面音</small>
|bh<br>{{IPAfont|[b]}}<br>米
|l<br>{{IPAfont|[l]}}<br>來/內
|gh<br>{{IPAfont|[g]}}<br>鵝/牙
|
|-
! rowspan="2" |無声破裂音
!<small>有気音</small>
|p<br>{{IPAfont|[pʰ]}}<br>皮
|t<br>{{IPAfont|[tʰ]}}<br>臺
|k<br>{{IPAfont|[kʰ]}}<br>可
|
|-
!<small>無気音</small>
|b<br>{{IPAfont|[p]}}<br>比
|d<br>{{IPAfont|[t]}}<br>都
|g<br>{{IPAfont|[k]}}<br>歌
|<br>{{IPAfont|[ʔ]}}
|-
! rowspan="2" |無声破擦音
!<small>有気音</small>
|
|c<br>{{IPAfont|[tsʰ]}}<br>菜
|
|
|-
!<small>無気音</small>
|
|z<br>{{IPAfont|[ts]}}<br>書
|
|
|-
! colspan="2" rowspan="2" |摩擦音
| rowspan="2" |
|s<br>{{IPAfont|[s]}}<br>士/速
| rowspan="2" |
| rowspan="2" |h<br>{{IPAfont|[h]}}<br>海/系
|-
|r<br>{{IPAfont|[dz]}}/<br>{{IPAfont|[(d)z]}}<br>爾
|}
=== 韻母 ===
{| class="wikitable" style="text-align:center; margin:1em auto 1em auto"
! colspan="4" |韻母
|-
| || 開母音 || 中央母音 || 閉母音
|-
| rowspan=10|単複韻母|| || i<br>{{IPAfont|[i]}}<br>衣 || u<br>{{IPAfont|[u]}}<br>汙
|-
| a<br>{{IPAfont|[a]}}<br>亞 || ia<br>{{IPAfont|[ia]}}<br>呀 || ua<br>{{IPAfont|[ua]}}<br>娃
|-
| o<br>{{IPAfont|[o]}}<br>窩 || io<br>{{IPAfont|[io]}}<br>腰 ||
|-
| ê<br>{{IPAfont|[e]}}<br>啞 || || uê<br>{{IPAfont|[ue]}}<br>鍋
|-
| e<br>{{IPAfont|[ɯ]}}<br>余 || ||
|-
| ai<br>{{IPAfont|[ai]}}<br>哀 || || uai<br>{{IPAfont|[uai]}}<br>歪
|-
| oi<br>{{IPAfont|[oi]}}<br>鞋 || || ui<br>{{IPAfont|[ui]}}<br>威
|-
| ao<br>{{IPAfont|[au]}}<br>歐 || ||
|-
| ou<br>{{IPAfont|[ou]}}<br>烏 || iou<br>{{IPAfont|[iou]}}<br>夭 ||
|-
| || iu<br>{{IPAfont|[iu]}}<br>憂 ||
|-
| rowspan=7|鼻化韻母 || || in<br>{{IPAfont|[ĩ]}}<br>丸 ||
|-
| an<br>{{IPAfont|[ã]}}<br>噯 || ian<br>{{IPAfont|[ĩã]}}<br>營 || uan<br>{{IPAfont|[ũã]}}<br>鞍
|-
| || ion<br>{{IPAfont|[ĩõ]}}<br>羊 ||
|-
| ên<br>{{IPAfont|[ẽ]}}<br>楹 || ||
|-
| en<br>{{IPAfont|[ɯ̃]}}<br>秧 || ||
|-
| ain<br>{{IPAfont|[ãĩ]}}<br>愛 || ||
|-
| oin<br>{{IPAfont|[õĩ]}}<br>閑 || ||
|-
| rowspan=6|鼻韻母|| || im<br>{{IPAfont|[im]}}<br>音 ||
|-
| am<br>{{IPAfont|[am]}}[庵]<ref name="pengim">廣州話、客家話、潮汕話與普通話對照詞典(2005年),第545頁。</ref> || iam<br>{{IPAfont|[iam]}}<br>淹 || uam<br>{{IPAfont|[uam]}}<br>凡
|-
| || ing<br>{{IPAfont|[iŋ]}}<br>因 || ung<br>{{IPAfont|[uŋ]}}<br>溫
|-
| ang<br>{{IPAfont|[aŋ]}}<br>按 || iang<br>{{IPAfont|[iaŋ]}}<br>央 || uang<br>{{IPAfont|[uaŋ]}}<br>汪
|-
| ong<br>{{IPAfont|[oŋ]}}<br>翁 || iong<br>{{IPAfont|[ioŋ]}}<br>雍 ||
|-
| êng<br>{{IPAfont|[eŋ]}}<br>英 || ||
|-
| rowspan=11|入声 || || ih<br>{{IPAfont|[iʔ]}}<br>裂 ||
|-
| ah<br>{{IPAfont|[aʔ]}}<br>鴨 || iah<br>{{IPAfont|[iaʔ]}}<br>益 || uah<br>{{IPAfont|[uaʔ]}}<br>活
|-
| oh<br>{{IPAfont|[oʔ]}}<br>學 || ioh<br>{{IPAfont|[ioʔ]}}<br>約 ||
|-
| êh<br>{{IPAfont|[eʔ]}}<br>厄 || ||
|-
| oih<br>{{IPAfont|[oiʔ]}}<br>狹 || ||
|-
| || ib<br>{{IPAfont|[ip̚]}}<br>邑 ||
|-
| ab<br>{{IPAfont|[ap̚]}}<br>盒 || iab<br>{{IPAfont|[iap̚]}}<br>壓 || uab<br>{{IPAfont|[uap̚]}}<br>法
|-
| || ig<br>{{IPAfont|[ik̚]}}<br>乙 || ug<br>{{IPAfont|[uk̚]}}<br>熨
|-
| ag<br>{{IPAfont|[ak̚]}}<br>[惡]<ref name="pengim" /> || iag<br>{{IPAfont|[iak̚]}}<br>躍 || uag<br>{{IPAfont|[uak̚]}}<br>蕕[獲]<ref name="pengim" />
|-
| og<br>{{IPAfont|[ok̚]}}<br>屋 || iog<br>{{IPAfont|[iok̚]}}<br>育 ||
|-
| êg<br>{{IPAfont|[ek̚]}}<br>液 || ||
|}
=== 声調 ===
{| class="wikitable" style="text-align:center; margin:1em auto 1em auto"
! colspan="9"|声調
|-
| 声調名 || 陰平 || 陰上 || 陰去 || 陰入 || 陽平 || 陽上 || 陽去 || 陽入
|-
| 調値 || 33 || 52 || 213 || 2 || 55 || 35 ||11 || 4
|-
| 声調番号 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8
|}
== 方言差異 ==
方言によって韻母に違いがみられる。以下は一般的な規則の表であり、特定の単語について説明しているわけでないことに留意されたい。
{| class="wikitable" style="text-align:center; margin:0.5em auto 1em auto"
|-
| 汕頭 || 饒平 || 潮州 || 澄海 || 普寧 || 揭陽 || 潮陽 || 海豐 || 例字
|-
| e || || || || e || || u || i || 餘,許,豬,祠
|-
| oi || || || || ôi || || || ei ||鞋
|-
| uin || || || || ui || ui || uain|| || 跪,櫃
|-
| oin || oin/êng|| || || ain || ain || ain || ain || 閒,殿
|-
| oih || || || || || || || eih ||狹
|-
| iao/iou||iao || iou || iou || io/iao || || || || 搖,要
|-
| io || || ie || ie || io || || || || 腰
|-
| ion || || ien || ien || ion || || || || 羊
|-
| ioh || || ieh || ieh || ioh || || || || 借,惜,藥,石
|-
| am[am] || || || ang[aŋ] || am[am] || || || ||庵
|-
| ab[ap] || || || ag[ak] || ap || || || ||盒
|-
| iam[iam] || || iem[iem] || iang[iaŋ] || iam[iam] || || || ||嚴
|-
| iab[iap] || || ieb[iep] || iag [iak] || iap || || || ||壓
|-
| im[im] || || || ing [iŋ] || im || || || ||音
|-
| ib[ip] || || || ig [ik] || ip || || || ||溼
|-
| ang[aŋ] || || || || ang || || || || 安
|-
| ag [ak] || || || || âk || || || || 達
|-
| iang[iaŋ] || || iêng[ieŋ] || || iang || || || || 仙
|-
| iag [iak] || || iêg[iek] || || iâk || || || || 傑,設
|-
| uang[uaŋ] || || uêng[ueŋ] || || uâng || || || || 全,完,緣,彎
|-
| uag [uak] || || uêg [uek] || || uâk || || || || 粵
|-
| eng [ɯŋ] || eng/ing || || || êng/ung || êng[eŋ] || ing[iŋ] || ng/eng || 斤
|-
| eg [ɯk] || || || || êg [ek] || êg [ek] || ig[ik] || || 乞
|-
| ing[iŋ] || || || || ing || êng[eŋ] || || in[in] || 因
|-
| ung[uŋ] || || || || ung || || || un[un] || 溫
|}
===脚注===
{{Reflist}}
[[Category:発音|ちようしゆうこ]]
[[カテゴリ:{{zh}}の付録|はつおんひようき]]
9pdam56xog4khnhwcvljvkegprhe5a0
付録:スペイン語の発音表記
100
602773
2328320
2026-08-17T07:13:30Z
Kuroco2k
84207
[[:en:Appendix:Spanish pronunciation]]
2328320
wikitext
text/x-wiki
以下の表では、[[国際音声記号|IPA]]および[[SAMPA]]にしたがってスペイン語の音韻を説明している。なお、[[単母音]]、[[二重母音]]のいずれも掲載している。
{| style="background:none;"
| valign="top" |
{| class="wikitable"
|+[[母音]]
!scope="col"| [[w:国際音声記号|IPA]]
!scope="col"| [[w:SAMPA|SAMPA]]
!scope="col"| 例
|-
|-align="center"
!scope="row"| {{IPAfont|a}}
| a
| [[alto|'''a'''lto]], [[mar|m'''a'''r]], {{l|es|luna|lun'''a'''}}
|-align="center"
!scope="row"| {{IPAfont|ai}}
| ai
| {{l|es|aire|'''ai'''re}}, {{l|es|vaina|v'''ai'''na}}, {{l|es|hay|h'''ay'''}}
|-align="center"
!scope="row"| {{IPAfont|au}}
| au
| {{l|es|aura|'''au'''ra}}, {{l|es|flauta|fl'''au'''ta}}, {{l|es|miau|mi'''au'''}}
|-align="center"
!scope="row"| {{IPAfont|e}}
| e
| {{l|es|esto|'''e'''sto}}, [[cielo|ci'''e'''lo]], {{l|es|madre|madr'''e'''}}
|-align="center"
!scope="row"| {{IPAfont|ei}}
| ei
| {{l|es|peine|p'''ei'''ne}}, {{l|es|rey|r'''ey'''}}
|-align="center"
!scope="row"| {{IPAfont|eu}}
| eu
| {{l|es|europeo|'''eu'''ropeo}}, {{l|es|reuma|r'''eu'''ma}}, {{l|es|deuda|d'''eu'''da}}
|-align="center"
!scope="row"| {{IPAfont|i}}
| i
| {{l|es|isla|'''i'''sla}}, {{l|es|vino|v'''i'''no}}, {{l|es|casi|cas'''i'''}}
|-align="center"
!scope="row"| {{IPAfont|iu}}
| iu
| {{l|es|diu|d'''iu'''}}, {{l|es|chiwchi|ch'''iw'''chi}}, {{l|es|mildíu|mild'''íu'''}}
|-align="center"
!scope="row"| {{IPAfont|o}}
| o
| {{l|es|ola|'''o'''la}}, [[broma|br'''o'''ma]], {{l|es|sapo|sap'''o'''}}
|-align="center"
!scope="row"| {{IPAfont|oi}}
| oi
| {{l|es|oigo|'''oi'''go}}, {{l|es|boina|b'''oi'''na}}, {{l|es|hoy|h'''oy'''}}
|-align="center"
!scope="row"| {{IPAfont|ou}}
| ou
|[[bou|b'''ou''']], [[estadounidense|estad'''ou'''nidense]]
|-align="center"
!scope="row"| {{IPAfont|u}}
| u
| {{l|es|uva|'''u'''va}}, {{l|es|alud|al'''u'''d}}, {{l|es|tribu|trib'''u'''}}
|-align="center"
!scope="row"| {{IPAfont|ui}}
| ui
| {{l|es|uy|'''uy'''}}, {{l|es|muy|m'''uy'''}}
|-align="center"
|}
| valign="top" |
{| class="wikitable"
|+[[子音]]
!scope="col"| [[w:国際音声記号|IPA]]
!scope="col"| [[w:SAMPA|SAMPA]]
!scope="col"| 例
|-
|-align="center"
!scope="row"| {{IPAfont|b}}
| b
| {{l|es|barco|'''b'''arco}}, {{l|es|tumba|tum'''b'''a}}, {{l|es|vida|'''v'''ida}}, {{l|es|invierno|in'''v'''ierno}}
|-align="center"
!scope="row"| {{IPAfont|β̞}}
| B_o
| {{l|es|cabeza|ca'''b'''eza}}, {{l|es|pueblo|pue'''b'''lo}}, {{l|es|nuevo|nue'''v'''o}}
|-align="center"
!scope="row"| {{IPAfont|d̪}}
| d_d
| {{l|es|día|'''d'''ía}}, {{l|es|caldo|cal'''d'''o}}, {{l|es|candado|can'''d'''ado}}
|-align="center"
!scope="row"| {{IPAfont|ð̞}}
| D
| {{l|es|candado|canda'''d'''o}}, {{l|es|virtud|virtu'''d'''}}
|-align="center"
!scope="row"| {{IPAfont|f}}
| f
| {{l|es|fuente|'''f'''uente}}, {{l|es|afán|a'''f'''án}}
|-align="center"
!scope="row"| {{IPAfont|ɡ}}
| g
| {{l|es|gota|'''g'''ota}}, {{l|es|mango|man'''g'''o}}
|-align="center"
!scope="row"| {{IPAfont|ɣ̞}} or {{IPAfont|ɰ}}
| G or M\
| {{l|es|lago|la'''g'''o}}, {{l|es|amargo|amar'''g'''o}}
|-align="center"
!scope="row"| {{IPAfont|j}}
| j
| {{l|es|miau|m'''i'''au}}, {{l|es|cielo|c'''i'''elo}}, {{l|es|opción|opc'''i'''ón}}, {{l|es|viuda|v'''i'''uda}}
|-align="center"
!scope="row"| {{IPAfont|ɟʝ}}
| J\j\
| {{l|es|hielo|'''hi'''elo}}, {{l|es|yeso|'''y'''eso}}
|-align="center"
!scope="row"| {{IPAfont|ʝ}}
| j\
| {{l|es|ayer|a'''y'''er}}, {{l|es|mayo|ma'''y'''o}}
|-align="center"
!scope="row"| {{IPAfont|k}}
| k
| {{l|es|campo|'''c'''ampo}}, {{l|es|vaca|va'''c'''a}}, {{l|es|kilo|'''k'''ilo}}, {{l|es|queso|'''qu'''eso}}
|-align="center"
!scope="row"| {{IPAfont|l}}
| l
| {{l|es|león|'''l'''eón}}, {{l|es|mula|mu'''l'''a}}, {{l|es|coral|cora'''l'''}}
|-align="center"
!scope="row"| {{IPAfont|ʎ}}
| L
| {{l|es|llave|'''ll'''ave}}, {{l|es|cuello|cue'''ll'''o}}
|-align="center"
!scope="row"| {{IPAfont|m}}
| m
| {{l|es|monte|'''m'''onte}}, {{l|es|cama|ca'''m'''a}}, {{l|es|invierno|i'''n'''vierno}}
|-align="center"
!scope="row"| {{IPAfont|n}}
| n
| {{l|es|nieto|'''n'''ieto}}, {{l|es|cana|ca'''n'''a}}, {{l|es|pan|pa'''n'''}}
|-align="center"
!scope="row"| {{IPAfont|ɲ}}
| J
| {{l|es|ñandú|'''ñ'''andú}}, {{l|es|mañana|ma'''ñ'''ana}}
|-align="center"
!scope="row"| {{IPAfont|ŋ}}
| N
| {{l|es|cinco|ci'''n'''co}}, {{l|es|ángel|á'''n'''gel}}, {{l|es|rango|ra'''n'''go}}, {{l|es|naranja|nara'''n'''ja}}
|-align="center"
!scope="row"| {{IPAfont|p}}
| p
| {{l|es|puente|'''p'''uente}}, {{l|es|capa|ca'''p'''a}}, {{l|es|chip|chi'''p'''}}
|-align="center"
!scope="row"| {{IPAfont|r}}
| r
| {{l|es|reino|'''r'''eino}}, {{l|es|enredar|en'''r'''edar}}, {{l|es|carro|ca'''rr'''o}}
|-align="center"
!scope="row"| {{IPAfont|ɾ}}
| 4
| {{l|es|caro|ca'''r'''o}}, {{l|es|mandril|mand'''r'''il}}, {{l|es|robar|roba'''r'''}}
|-align="center"
!scope="row"| {{IPAfont|s}}
| s
| {{l|es|siglo|'''s'''iglo}}, {{l|es|mesa|me'''s'''a}}, {{l|es|ciprés|cipré'''s'''}}
|-align="center"
!scope="row"| {{IPAfont|θ}}
| T
| {{l|es|cien|'''c'''ien}}, {{l|es|sauce|sau'''c'''e}}, {{l|es|voz|vo'''z'''}}, {{l|es|zurdo|'''z'''urdo}}, {{l|es|enzima|en'''z'''ima}}
|-align="center"
!scope="row"| {{IPAfont|t̪}}
| t_d
| {{l|es|tiempo|'''t'''iempo}}, {{l|es|atún|a'''t'''ún}}, {{l|es|martes|mar'''t'''es}}
|-align="center"
!scope="row"| {{IPAfont|tʃ}}
| tS
| {{l|es|chile|'''ch'''ile}}, {{l|es|macho|ma'''ch'''o}}
|-align="center"
!scope="row"| {{IPAfont|w}}
| w
| {{l|es|huevo|h'''u'''evo}}, {{l|es|cuido|c'''u'''ido}}, {{l|es|sándwich|sánd'''w'''ich}}
|-align="center"
!scope="row"| {{IPAfont|x}}
| x
| {{l|es|joven|'''j'''oven}}, {{l|es|gente|'''g'''ente}}, {{l|es|maja|ma'''j'''a}}, {{l|es|México|Mé'''x'''ico}}
|-align="center"
!scope="row"| {{IPAfont|z}}
| z
| {{l|es|desde|de'''s'''de}}, {{l|es|isla|i'''s'''la}}, {{l|es|mismo|mi'''s'''mo}}, {{l|es|deshuesar|de'''s'''huesar}}
|}
|}
また、{{w|強勢}}を表すときは、IPAやSAMPAでは以下のようにする。
{| class="wikitable"
|+強勢記号
!scope="col"| [[w:国際音声記号|IPA]]
!scope="col"| [[w:SAMPA|SAMPA]]
!scope="col"| 説明
|-
!scope="row"| {{IPAfont|ˈ}} ({{IPAfont|ˈ}}a)
| " ("a)
| 第一強勢
|-
!scope="row"| {{IPAfont|ˌ}} ({{IPAfont|ˌ}}a)
| % (%a)
| 第二強勢、まれに第三強勢
|-
!scope="row"| a{{IPAfont|.}}a
| a.a
| 分綴の区切りに用いる
|}
[[Category:発音|すへいんこ]]
[[カテゴリ:{{es}}の付録|はつおんひようき]]
t2ankq23x0t1fza4f0r75000puc1u4f
はんどん
0
602774
2328325
2026-08-17T09:36:47Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT}} {{also|バンドン}} =={{L|ja}}== ==={{kangokana}}=== {{ja-kangokana}} *【[[半ドン]]】半日の休日。」
2328325
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|バンドン}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana}}
*【[[半ドン]]】半日の休日。
804jgniga5o5ueudhwz2c807cxwve0j
万化
0
602775
2328327
2026-08-17T09:54:31Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|ばんか}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|[[ばんか]]}} #[[さまざま]]に[[変化]]すること。 #*[[千変万化]] #[[万物]]が[[化育]]されること。 #[[大自然]]。」
2328327
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ばんか}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|[[ばんか]]}}
#[[さまざま]]に[[変化]]すること。
#*[[千変万化]]
#[[万物]]が[[化育]]されること。
#[[大自然]]。
nqd38bz89wt7h0017xel1k7e3xwui26
2328328
2328327
2026-08-17T09:55:44Z
うーむ
129171
うーむ がページ「[[万変]]」を「[[万化]]」に移動しました: 間違いのため
2328327
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ばんか}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|[[ばんか]]}}
#[[さまざま]]に[[変化]]すること。
#*[[千変万化]]
#[[万物]]が[[化育]]されること。
#[[大自然]]。
nqd38bz89wt7h0017xel1k7e3xwui26
万変
0
602776
2328329
2026-08-17T09:55:44Z
うーむ
129171
うーむ がページ「[[万変]]」を「[[万化]]」に移動しました: 間違いのため
2328329
wikitext
text/x-wiki
#転送 [[万化]]
b2ztawze4ouaa9496ux1qrmsjvpyzxh
2328331
2328329
2026-08-17T09:59:12Z
うーむ
129171
[[万化]] へのリダイレクトを解除しました
2328331
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ばんぺん}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|[[ばんぺん]]}}
#[[さまざま]]に[[変化]]すること。[[千変]]。[[万化]]。
m5p8xdezzgqcrucvnp5corshwtf7p3p
利用者:飛行機が好きでたまらない男
2
602777
2328332
2026-08-17T10:14:48Z
飛行機が好きでたまらない男
133022
/* */ 自己紹介と謝罪
2328332
wikitext
text/x-wiki
はじめまして!飛行機が好きでたまらない男です!✈️
物凄く飛行機✈️が好きなので、家族には、飛行機✈️の話しかしていません。www
==この人ってどんな人?==
物凄く飛行機を語っていた、飛行機博士。
==編集ブロックやアカウント消した人へ。==
この度は、ぼく自信も、わかっていなくて、複数アカウントの悪用をしました。ぼくは、複数アカウントしたら、誰でも、仲良くなれると思いまして、この度の件をしてしまいました。すみませんでした。
a9aazzllu3nw2f8z6b76osqul5j6qe6
利用者・トーク:飛行機が好きでたまらない男
3
602778
2328333
2026-08-17T10:15:47Z
飛行機が好きでたまらない男
133022
/* */ 謝罪
2328333
wikitext
text/x-wiki
すみませんでした。🙇
7vy65u7ekberpsbxlovl5tesg3cpa8i
𐍅𐌴𐌽𐍃
0
602779
2328336
2026-08-17T10:39:25Z
M-30722
1202
[[en:𐍅𐌴𐌽𐍃]]より
2328336
wikitext
text/x-wiki
=={{L|got}}==
==={{etym}}===
{{etyl|gem-pro|got}} {{m|gem-pro|*wēniz}}
==={{noun}}===
{{got-noun|f}}
#[[希望]]、[[期待]]。
#: {{syn|got|𐌻𐌿𐌱𐌰𐌹𐌽𐍃}}
{{got-decl-noun-i-f|wēn}}
===={{drv}}====
* {{l|got|𐌿𐌽𐍅𐌴𐌽𐌹𐌲𐌲𐍉}}
* {{l|got|𐌿𐍃𐍅𐌴𐌽𐌰}}
===={{rel}}====
* {{l|got|𐍅𐌴𐌽𐌾𐌰𐌽}}
hz50pxnnfrhyr9pg0esgzvumaqmhwf8
𐌻𐌿𐌱𐌰𐌹𐌽𐍃
0
602780
2328337
2026-08-17T10:41:08Z
M-30722
1202
[[en:𐌻𐌿𐌱𐌰𐌹𐌽𐍃]]より
2328337
wikitext
text/x-wiki
=={{L|got}}==
==={{etym}}===
{{affix|got|*𐌻𐌿𐌱𐌰𐌽|-𐌰𐌹𐌽𐍃|tr1=*lubān}}
==={{noun}}===
{{got-noun|f}}
#{{おくりがな2|望|のぞ|み|のぞみ}}、[[希望]]。
#: {{syn|got|𐍅𐌴𐌽𐍃}}
{{got-decl-noun-i-f|lubain}}
ikq8bks56abnzahhqvx8n85zpqujeqf
-𐌰𐌹𐌽𐍃
0
602781
2328339
2026-08-17T10:44:26Z
M-30722
1202
[[en:-𐌰𐌹𐌽𐍃]]より
2328339
wikitext
text/x-wiki
{{DEFAULTSORT:𐌰𐌹𐌽𐍃}}
=={{L|got}}==
==={{etym}}===
{{etyl|gem-pro|got}} {{m|gem-pro||*-ai-}} + {{m|gem-pro|*-niz}}
==={{pron}}===
* {{IPA|lang=got|ɛːns}}
==={{suffix}}===
{{got-suffix|f}}
#{{l|got|-𐌰𐌽|tr=-ān}}が付く弱変化第3類動詞に付いて抽象名詞を作る。
{{got-decl-noun-i-f|-ain}}
d300573fg281fo8wnk29lfpl8slvabd
カスティーリャ王国
0
602782
2328340
2026-08-17T10:47:05Z
鍼灸
112313
ページの作成:「{{kana-DEFAULTSORT|カスティーリャおうこく}} {{wikipedia}} =={{L|ja}}== ==={{name}}=== {{ja-nama|カスティーリャおうこく}} #{{タグ|ja|南ヨーロッパ史}}1035年から1715年まで[[イベリア半島]]中央部に存在した[[国家]]。」
2328340
wikitext
text/x-wiki
{{kana-DEFAULTSORT|カスティーリャおうこく}}
{{wikipedia}}
=={{L|ja}}==
==={{name}}===
{{ja-nama|カスティーリャおうこく}}
#{{タグ|ja|南ヨーロッパ史}}1035年から1715年まで[[イベリア半島]]中央部に存在した[[国家]]。
05nge5l6574urbol3g5h0q86qc7z87q
2328341
2328340
2026-08-17T10:47:15Z
鍼灸
112313
2328341
wikitext
text/x-wiki
{{kana-DEFAULTSORT|カスティーリャおうこく}}
{{wikipedia}}
=={{L|ja}}==
==={{name}}===
{{ja-name|カスティーリャおうこく}}
#{{タグ|ja|南ヨーロッパ史}}1035年から1715年まで[[イベリア半島]]中央部に存在した[[国家]]。
p5xzuln9plfyqvxqwc3xtes48x87z6n
テンプレート:got-suffix
10
602783
2328342
2026-08-17T10:47:44Z
M-30722
1202
新規作成
2328342
wikitext
text/x-wiki
<includeonly>{{head|fr|suffix|head={{{head|}}}<!--
-->|g={{#switch:{{{1|g}}}|m|f|n={{{1|g}}}}}<!--
-->}}[[カテゴリ:{{got}}_接尾辞"{{PAGENAME}}"|*]]</includeonly><noinclude>{{documentation}}[[カテゴリ:{{got}}_見出し語テンプレート]]</noinclude>
2qs40w3m1vgqb3giehlhkr5s6ha1m9s
2328344
2328342
2026-08-17T10:49:32Z
M-30722
1202
テスト
2328344
wikitext
text/x-wiki
<includeonly>{{head|fr|suffix|head={{{head|}}}<!--
-->|g={{#switch:{{{1|{{{g}}}}}}|m|f|n={{{1|{{{g}}}}}}}}<!--
-->}}[[カテゴリ:{{got}}_接尾辞"{{PAGENAME}}"|*]]</includeonly><noinclude>{{documentation}}[[カテゴリ:{{got}}_見出し語テンプレート]]</noinclude>
kxzrilybl1f3d3zadkc0jfknidarusp
2328348
2328344
2026-08-17T10:52:48Z
M-30722
1202
2328348
wikitext
text/x-wiki
<includeonly>{{head|got|suffix|head={{{head|}}}<!--
-->|g={{#switch:{{{1|{{{g}}}}}}|m|f|n={{{1|{{{g}}}}}}}}<!--
-->}}[[カテゴリ:{{got}}_接尾辞"{{PAGENAME}}"|*]]</includeonly><noinclude>{{documentation}}[[カテゴリ:{{got}}_見出し語テンプレート]]</noinclude>
mxfbfo9ewp4gl9bj1pgljx3ylmdgxwd
ばんぺん
0
602784
2328343
2026-08-17T10:49:18Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT}} {{also|はんべん|はんぺん}} =={{L|ja}}== ==={{kangokana}}=== {{ja-kangokana}} *【[[万変]]】千変。万化。」
2328343
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|はんべん|はんぺん}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana}}
*【[[万変]]】千変。万化。
33zeeqdvk3k635hdg8e7uk51wrdcndx
カスティーリャ
0
602785
2328345
2026-08-17T10:51:40Z
鍼灸
112313
ページの作成:「{{kana-DEFAULTSORT}} {{wikipedia}} =={{L|ja}}== ==={{name}}=== {{ja-name}} #{{タグ|ja|地名}} [[カスティーリャ王国]]に属していた地域の中央部。」
2328345
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{wikipedia}}
=={{L|ja}}==
==={{name}}===
{{ja-name}}
#{{タグ|ja|地名}} [[カスティーリャ王国]]に属していた地域の中央部。
dry4gdqez2cqeyvxvoagl13r9bwcuyg
半弁
0
602786
2328346
2026-08-17T10:52:02Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|はんべん}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|[[はんべん]]}} #[[豆腐]]。また、豆腐を焼いて[[味噌]]で煮た[[食品]]。」
2328346
wikitext
text/x-wiki
{{kana-DEFAULTSORT|はんべん}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|[[はんべん]]}}
#[[豆腐]]。また、豆腐を焼いて[[味噌]]で煮た[[食品]]。
8023hrtozayjnu7chwgeao6itucixzl
テンプレート:got-suffix/doc
10
602787
2328347
2026-08-17T10:52:21Z
M-30722
1202
説明作成
2328347
wikitext
text/x-wiki
<noinclude>{{documentation subpage}}</noinclude>
__TOC__
==使い方==
ゴート語の接尾辞に用いる見出し語テンプレートです。
==引数==
{| class="wikitable" border="1"
|+ 引数の一覧
! 引数 !! 指定内容 !! 既定値 !! 説明
|-
! head
| 見出し || 項目名 || 見出しを指定する
|-
! 1 又は g
| 性 || 無し || 性を指定する。m:男性、f:女性、n:中性
|}
==カテゴリ==
このテンプレートは、貼り付けられたページに次のカテゴリを適用します:
{| class="wikitable"
! カテゴリ !! ソートキー
|-
| カテゴリ:ゴート語 || 項目名又はデフォルトソートで指定されたもの
|-
| カテゴリ:ゴート語 接尾辞 || 上記に同じ
|-
| カテゴリ:ゴート語 接尾辞"(項目名)" || *
|}
==使用例==
*[[-𐌰𐌹𐌽𐍃]] → <nowiki>{{got-suffix|f}}</nowiki>
61tf5do6uxg6ln9sbqtye9f2e6q9iaw
カテゴリ:ゴート語 接尾辞"-𐌰𐌹𐌽𐍃"
14
602788
2328349
2026-08-17T10:53:23Z
M-30722
1202
新規作成
2328349
wikitext
text/x-wiki
[[カテゴリ:{{got}}_{{suffix}}|𐌰𐌹𐌽𐍃]]
qo6b64kf2m347kuzvtqc4j7d7m37ldw
盼眄
0
602789
2328350
2026-08-17T10:54:50Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|はんべん}} =={{L|ja}}== ==={{noun}}=== {{ja-noun-suru|[[はんべん]]}} #[[かえりみる|顧みる]]こと。 ==={{verb}}=== {{ja-verb-suru|はんべん}} {{日本語サ変活用}}」
2328350
wikitext
text/x-wiki
{{kana-DEFAULTSORT|はんべん}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun-suru|[[はんべん]]}}
#[[かえりみる|顧みる]]こと。
==={{verb}}===
{{ja-verb-suru|はんべん}}
{{日本語サ変活用}}
rl92rf2k8f3fl7m4d98rxcsh5puxttt
𐌰𐌽𐌰𐌺𐌿𐌽𐌽𐌰𐌹𐌽𐍃
0
602790
2328351
2026-08-17T10:55:23Z
M-30722
1202
[[en:𐌰𐌽𐌰𐌺𐌿𐌽𐌽𐌰𐌹𐌽𐍃]]より
2328351
wikitext
text/x-wiki
=={{L|got}}==
==={{etym}}===
{{affix|got|𐌰𐌽𐌰𐌺𐌿𐌽𐌽𐌰𐌽|-𐌰𐌹𐌽𐍃|tr1=anakunnān}}
==={{noun}}===
{{got-noun|f}}
#[[読書]]、{{おくりがな2|読|よ|む|よむ}}こと。
{{got-decl-noun-i-f|anakunnain}}
6azqm1wqpcwds4uczm3p4gc2olq0wrj
はんべん
0
602791
2328352
2026-08-17T10:56:40Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT}} {{also|はんぺん|ばんぺん}} =={{L|ja}}== ==={{kangokana}}=== {{ja-kangokana|h=y}} *【[[半弁]]】豆腐。 *【[[盼眄]]】顧みること。」
2328352
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|はんぺん|ばんぺん}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[半弁]]】豆腐。
*【[[盼眄]]】顧みること。
1nhd5tqyyz2s4wpoo3hgonwcykbuccy
𐌰𐌽𐌰𐌺𐌿𐌽𐌽𐌰𐌽
0
602792
2328353
2026-08-17T10:56:49Z
M-30722
1202
[[en:𐌰𐌽𐌰𐌺𐌿𐌽𐌽𐌰𐌽]]より
2328353
wikitext
text/x-wiki
=={{L|got}}==
==={{etym}}===
{{affix|got|𐌰𐌽𐌰-|𐌺𐌿𐌽𐌽𐌰𐌽}}
==={{verb}}===
{{got-verb|tr=anakunnān}}
#(勉強などのために){{おくりがな2|読|よ|む|よむ}}。
{{got-conj-wk3|anakunn}}
===={{coor}}====
* {{l|got|𐌿𐍃𐍃𐌹𐌲𐌲𐍅𐌰𐌽}}
===={{drv}}====
* {{l|got|𐌰𐌽𐌰𐌺𐌿𐌽𐌽𐌰𐌹𐌽𐍃}}
rx4fmraw8pamjlakndwrwap0dzhhytj
perfective aspect
0
602793
2328355
2026-08-17T10:59:53Z
M-30722
1202
[[en:perfective aspect]]より
2328355
wikitext
text/x-wiki
{{DEFAULTSORT:perfectiveaspect}}
=={{L|en}}==
==={{alter}}===
*略語: {{l|en|pf.}}
==={{pron}}===
* {{音声|en|LL-Q1860 (eng)-Vealhurl-perfective aspect.wav|a=Southern England}}
==={{noun}}===
{{en-noun|-}}
#{{タグ|en|文法}}[[完結相]]。
==={{seealso}}===
* {{l|en|aorist aspect}}
* {{l|en|imperfective aspect}}
* {{l|en|iterative aspect}}
* {{l|en|semelfactive aspect}}
tqtbrx1ynh9ym4ygfm7llvbdj95yodk
imperfective aspect
0
602794
2328356
2026-08-17T11:03:00Z
M-30722
1202
[[en:imperfective aspect]]より
2328356
wikitext
text/x-wiki
{{DEFAULTSORT:imperfectiveaspect}}
=={{L|en}}==
==={{pron}}===
* {{音声|en|LL-Q1860 (eng)-Vealhurl-imperfective aspect.wav|a=Southern England}}
==={{noun}}===
{{en-noun|-}}
#{{タグ|en|文法}}[[非完結相]]。
===={{coor}}====
* {{l|en|perfective aspect}}
==={{seealso}}===
* {{l|en|aorist aspect}}
* {{l|en|iterative aspect}}
* {{l|en|perfective aspect}}
* {{l|en|semelfactive aspect}}
peesm4kxhz2098tc3m5t0koz7oio9sz
𐌿𐍃𐍃𐌹𐌲𐌲𐍅𐌰𐌽
0
602795
2328358
2026-08-17T11:06:25Z
M-30722
1202
[[en:𐌿𐍃𐍃𐌹𐌲𐌲𐍅𐌰𐌽]]より
2328358
wikitext
text/x-wiki
=={{L|got}}==
==={{etym}}===
{{affix|got|𐌿𐍃-|𐍃𐌹𐌲𐌲𐍅𐌰𐌽}}
==={{verb}}===
{{got-verb}} {{タグ|got|perfective}}
#[[音読]]する、[[朗読]]する。
{{got-conj-st|class=3|ussiggw|ussaggw|ussuggw|ussuggw|past2sg=ussanht}}
===={{coor}}====
* {{l|got|𐌰𐌽𐌰𐌺𐌿𐌽𐌽𐌰𐌽}}
06imptun7iqha7cjzyr57v4thui57bv
拓殖
0
602796
2328359
2026-08-17T11:08:34Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|しょくたく}} =={{L|ja}}== ==={{noun}}=== {{ja-noun-suru|[[しょくたく]]}} #[[未開]]の地を切り開き、そこに[[定住]]すること。[[開拓]]と[[植民]]。 ==={{verb}}=== {{ja-verb-suru|しょくたく}} {{日本語サ変活用}}」
2328359
wikitext
text/x-wiki
{{kana-DEFAULTSORT|しょくたく}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun-suru|[[しょくたく]]}}
#[[未開]]の地を切り開き、そこに[[定住]]すること。[[開拓]]と[[植民]]。
==={{verb}}===
{{ja-verb-suru|しょくたく}}
{{日本語サ変活用}}
3gcceeuzijxyh4zqmo9l6u0ttdjfa63
2328361
2328359
2026-08-17T11:09:07Z
うーむ
129171
2328361
wikitext
text/x-wiki
{{kana-DEFAULTSORT|たくしょく}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun-suru|[[たくしょく]]}}
#[[未開]]の地を切り開き、そこに[[定住]]すること。[[開拓]]と[[植民]]。
==={{verb}}===
{{ja-verb-suru|しょくたく}}
{{日本語サ変活用}}
tomrp4wcp0chmtyt6ngxnp327s5ihhj
2328362
2328361
2026-08-17T11:09:24Z
うーむ
129171
2328362
wikitext
text/x-wiki
{{kana-DEFAULTSORT|たくしょく}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun-suru|[[たくしょく]]}}
#[[未開]]の地を切り開き、そこに[[定住]]すること。[[開拓]]と[[植民]]。
==={{verb}}===
{{ja-verb-suru|たくしょく}}
{{日本語サ変活用}}
qhpmr6deueyvaekiycf73qmieebfvcs
𐌰𐍄𐍅𐌹𐍄𐌰𐌹𐌽𐍃
0
602797
2328360
2026-08-17T11:08:41Z
M-30722
1202
[[en:𐌰𐍄𐍅𐌹𐍄𐌰𐌹𐌽𐍃]]新規作成
2328360
wikitext
text/x-wiki
=={{L|got}}==
==={{etym}}===
{{affix|got|𐌰𐍄-|𐍅𐌹𐍄𐌰𐌽|-𐌰𐌹𐌽𐍃}}
==={{pron}}===
* {{IPA|lang=got|atˈwitɛːns}}
==={{noun}}===
{{got-noun|f}}
#[[観察]]、[[観測]]。
{{got-decl-noun-i-f|atwitain}}
ec9eolmbf2rd67l8dawx2x8d4ifraq5
𐌱𐌰𐌿𐌰𐌹𐌽𐍃
0
602798
2328363
2026-08-17T11:11:22Z
M-30722
1202
[[en:𐌱𐌰𐌿𐌰𐌹𐌽𐍃]]より
2328363
wikitext
text/x-wiki
=={{L|got}}==
==={{etym}}===
{{affix|got|𐌱𐌰𐌿𐌰𐌽|-𐌰𐌹𐌽𐍃}}
==={{noun}}===
{{got-noun|f}}
#[[住居]]。
{{got-decl-noun-i-f|bauain}}
agumrvdfometamsavhypxwdz8elfrij
沢色
0
602799
2328364
2026-08-17T11:11:46Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|たくしょく}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|[[たくしょく]]}} #[[いろつや|色艶]]。[[色沢]]。」
2328364
wikitext
text/x-wiki
{{kana-DEFAULTSORT|たくしょく}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|[[たくしょく]]}}
#[[いろつや|色艶]]。[[色沢]]。
hsbep9m22a05bk0p6ljj0kdcdlpyupu
𐌱𐌰𐌿𐌰𐌽
0
602800
2328367
2026-08-17T11:14:52Z
M-30722
1202
[[en:𐌱𐌰𐌿𐌰𐌽]]より
2328367
wikitext
text/x-wiki
=={{L|got}}==
==={{etym}}===
{{etyl|gem-pro|got}} {{m|gem-pro|*būaną}}
==={{pron}}===
* {{IPA|lang=got|ˈbɔːan}}
==={{verb}}===
{{got-verb}}
#{{おくりがな2|住|す|む|すむ}}、[[居住]]する。
{{got-conj-bauan}}
===={{drv}}====
* {{l|got|𐌱𐌰𐌿𐌰𐌹𐌽𐍃}}
* {{l|got|𐌲𐌰𐌱𐌰𐌿𐌰𐌽}}
8lk8i2b33n4k4zwyfo6wgt7lcy97qfm
たくしょく
0
602801
2328369
2026-08-17T11:27:02Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT}} =={{L|ja}}== ==={{kangokana}}=== {{ja-kangokana|h=y}} *【[[沢色]]】いろつや。 *【[[拓殖]]】開拓と植民。」
2328369
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[沢色]]】いろつや。
*【[[拓殖]]】開拓と植民。
lstiqf8te3j4bryy21emk1nbl249gmg