위키낱말사전
kowiktionary
https://ko.wiktionary.org/wiki/%EC%9C%84%ED%82%A4%EB%82%B1%EB%A7%90%EC%82%AC%EC%A0%84:%EB%8C%80%EB%AC%B8
MediaWiki 1.47.0-wmf.10
case-sensitive
미디어
특수
토론
사용자
사용자토론
위키낱말사전
위키낱말사전토론
파일
파일토론
미디어위키
미디어위키토론
틀
틀토론
도움말
도움말토론
분류
분류토론
부록
부록 토론
TimedText
TimedText talk
모듈
모듈토론
행사
행사토론
개구리
0
3048
4485201
4181115
2026-07-09T07:44:46Z
Intolerable situation
23954
/* 관련 어휘 */
4485201
wikitext
text/x-wiki
== 한국어 ==
{{위키백과}}
{{발음 듣기|}}
{{ko-IPA}}
=== 명사 ===
[[파일:Frog on bough.jpg|섬네일|200픽셀|개구리]]
*어원: < [[중세국어|중세 한국어]] [[개고리]] (신증유합 1576)
# 양서류 개구리과의 동물을 통틀어 부르는 말.
:* '''개구리'''가 연못에서 개굴개굴 노래한다.
==== 관용 표현 ====
*속담
:* 개구리도 옴쳐야 뛴다: 무엇을 하기 위해서는 우선 준비가 있어야 한다라는 뜻.
:* 개구리 올챙이 적 생각 못 한다: 사람이 성공한 후에는 대개 성공하기 전의 처지를 생각하지 않는다는 뜻.
:* 우물 안 개구리: 견문이 좁아 생각이 짧은 것을 일컫는 말.
==== 관련 어휘 ====
*파생어: [[참개구리]]
*합성어: [[개구리눈]]
*사투리: [[개구락지]]
*참고: [[양서류]], [[청개구리]], [[두꺼비]], [[올챙이]]
{{외국어|
* 가가우스어(gag): [[kurbaa]]
* 갈리시아어(gl): [[ra]] (여성)
* 고대 교회 슬라브어(cu): [[жаба]](키릴)/[[ⰆⰀⰁⰀ]](글라골 문자)(žaba) (여성)
* 고대 영어(ang): [[frosc]] (남성), [[frocga]] (남성)
* 과라니어(gn): [[ju’i]]
* 구자라트어(gu): [[દેડકું]](deḍkuṃ)
* 그리스어(el): [[βάτραχος]](vátrakhos) (남성)
* 그린란드어(kl): [[naraseq]]
* 나나이어(gld): [[хэрэ]]
* 나바호어(nv): [[ch'ał]]
* 나와틀어(nah): [[cueyatl]]
* 나폴리어(nap): [[ranógno]]
* 네네츠어(yrk): [[тямдэ’]]
* 네덜란드어(nl): [[kikker]] (남성), [[kikvors]] (남성)
* 노르웨이어(no): [[frosk]] (남성)
* 다르긴어(dar): [[пяспясаг]]; [[гӀятӀа]]
* 다리어(prs): [[قورباغه]](qūrbāġâ)
* 덴마크어(da): [[frø]]
* 독일어(de): [[Frosch]] (남성)
* 디베히어(dv): [[ބޮއް]](boḣ)
* 라디노어(lad): [[rana]](라틴)/[[ראנה]](히브리 문자)
* 라오어(lo): [[ອື່ງ]]('yyng), [[ກົບ]]
* 라크어(lbe): [[оьрватӀи]]
* 라트비아어(lv): [[varde]] (여성)
* 라틴어(la): [[rana]] (여성)
* 러시아어(ru): [[лягушка]](ljagúška) (여성)
* 레즈긴어(lez): [[къиб]]
* 루마니아어(ro): [[broască]] (여성), [[brotac]] (남성)
* 룩셈부르크어(lb): [[Fräsch]]
* 리투아니아어(lt): [[varlė]] (여성)
* 림뷔르흐어(li): [[waerkwakkert]]
* 링갈라어(ln): [[mombemba]]
* 마라티어(mr): [[बेडुक]](be.duk)
* 마리어(chm): [[ужава]]
* 마오리어(mi): [[pepeke]]; [[pepeketua]]; [[poraka]]
* 마케도니아어(mk): [[жаба]](žaba) (여성)
* 마푸체어(arn): [[jigkü]]
* 말라가시어(mg): [[sahona]]
* 말라얄람어(ml): [[തവള]](tavaḷa)
* 말레이어(ms): [[katak]]
* 맨어(gv): [[rannag]]
* 모크샤어(mdf): [[ватракш]]
* 몰도바어(mo): [[броаскэ]]
* 몰타어(mt): [[żrinġ]] (남성)
* 몽골어(mn): [[мэлхий]](melkhii)
* 미얀마어(my): [[ဖား]]
* 밍그렐리야어(xmf): [[გორდი]]
* 바슈키르어(ba): [[баҡа]]; [[тәлмәрйен]]
* 바스크어(eu): [[igel]]
* 발루치어(bal): [[پگل]]
* 버로어(fiu-vro): [[kunn]]
* 베트남어(vi): [[con ếch]], [[con ngoé]], [[con nhái]], [[ếch]], [[nhái]]
* 벨라루스어(be): [[жаба]](키릴)/[[žaba]](라틴) (여성)
* 벱스어(vep): [[löc]]; [[samba]]
* 벵골어(bn): [[দাদুর]](dādur)
* 보스니아어(bs): [[žaba]] (여성)
* 볼라퓌크(vo): [[frog]]
* 부랴트어(bua): [[баха]]
* 북부사미어(se): [[rihcit]]
* 불가리아어(bg): [[водна жаба]], [[жаба]](zhaba) (여성)
* 브르타뉴어(br): [[ran]] (여성)
* 사르데냐어(sc): [[arana]]
* 산스크리트어(sa): [[मण्डूकः]](maṇḍūkaḥ)
* 살라르어(slr): [[Bağa]]
* 상소르브어(hsb): [[žaba]] (여성)
* 서프리지아어(fy): [[frosk]], [[kikkert]]
* 세르비아어(sr): [[жаба]] (여성)/ [[жабац]] (남성) (키릴), [[žaba]] (여성)/ [[žabac]] (남성) (라틴)
* 셰르파어(xsr): [[बालव]](bālwa)
* 소말리어(so): [[rah]]
* 쇼나어(sn): [[dáfi]]
* 쇼르어(cjs): [[паға]]
* 스라난통고어(srn): [[todo]]
* 스와힐리어(sw): [[chura]]
* 스웨덴어(sv): [[groda]]
* 스코트어(sco): [[losgann]]; [[puddock]]
* 스코틀랜드 게일어(gd): [[losgann]] (남성, 여성), [[muile-mhàg]] (여성)
* 스페인어(es): [[rana]] (여성)
* 슬로바키아어(sk): [[žaba]] (여성)
* 슬로베니아어(sl): [[žaba]] (여성)
* 시칠리아어(scn): [[giurana]] (여성)
* 신드어(sd): [[ڏيڏر]](ḋeḋaru)
* 실레지아어(szl): [[rapitouza]]; [[žaba]]
* 아디게이어(ady): [[хьантӀаркъу]]
* 아라곤어(an): [[rana]] (여성); [[granota]]
* 아람어(arc): [[ܐܘܪܕܥܐ]](시리아)/[[פקעא]](히브리 문자)(ūrdʿā)
* 아랍어(ar): [[ضفدع]](ḍífdaʕ) (남성)
* 아르메니아어(hy): [[գորտ]](gort)
* 아바르어(av): [[къверкъ]]
* 아바자어(abq): [[ада]]; [[дагъьы]]
* 아삼어(asm): [[ভেকুলী]](bʰekulī)
* 아스투리아스어(ast): [[rana]] (여성); [[xaronca]]
* 아이마라어(ay): [[k’ayra]]
* 아이슬란드어(is): [[froskur]] (남성)
* 아이티크레올어(ht): [[krapo]]
* 아일랜드어(ga): [[frog]] (남성); [[loscán]]
* 아제르바이잔어(az): [[qurbağa]]
* 아프리칸스어(af): [[padda]]
* 알바니아어(sq): [[bretkosë]]
* 알타이어(alt): [[бака]]
* 암하라어(am): [[እንቁራሪት]]
* 압하스어(ab): [[адаҕь]]
* 앨라배마어(akz): [[chòoto]]
* 야쿠트어(sah): [[баҕа]]
|
* 에르자어(myv): [[ватракш]](vatrakš), [[ведь ватракш]](vedj vatrakš)
* 에벤어(eve): [[эрики]]
* 에벤키어(evn): [[бадялаки]]
* 에스토니아어(et): [[konn]]
* 에스페란토(eo): [[rano]]
* 에웨어(ee): [[akpɔkplɔ]]
* 영어(en): [[frog]]
* 오세티야어(os): [[хӕфс]]
* 오크어(oc): [[granolha]] (여성), [[granhòta]] (여성)
* 왈론어(wa): [[rinne]]
* 요루바어(yo): [[ò̩pò̩ló̩]]
* 우드무르트어(udm): [[эбек]]; [[бака]]
* 우르두어(ur): [[مینڈک]](men.dak, men.duk)
* 우즈베크어(uz): [[qurbaqa]]
* 우크라이나어(uk): [[жаба]](žaba) (여성)
* 월로프어(wo): [[mbott]]
* 웨일스어(cy): (남부); [[broga]] (남성), (북부); [[llyffant]] (남성)
* 위구르어(ug): [[пақа]](키릴)/[[paqa]](라틴)/[[پاقا]](아랍 문자)
* 유카테코어(yua): [[muuch]]
* 이나리사미어(smn): [[cuábui]]
* 이누이트어(iu): [[naaraajiiq]]
* 이도(io): [[rano]]
* 이디시어(yi): [[זשאַבע]](zhabe) (여성)
* 이탈리아어(it): [[rana]] (여성)
* 인도네시아어(id): [[kodok]], [[katak]]
* 인터링구아(ia): [[rana]]
* 일본어(ja): {{lang|ja|[[蛙]]([[かえる]])}}(kaeru)
* 잉구쉬어(inh): [[пхьид]]
* 자자키어(zza): [[beq]]
* 저지색슨어(nds): [[Pogg]]
* 조지아어(ka): [[ბაყაყი]](baqaqi)
* 줄루어(zu): [[ixoxo]]
* 중국어(zh): [[蛤蟆]](háma); [[青蛙]](qīngwā)
* 차모로어(ch): [[kairo']]
* 차미쿠로어(ccc): [[kujpawa'to]]
* 체로키어(chr): [[ᏩᎶᏏ]](walosi)
* 체첸어(ce): [[пхьид]]
* 체코어(cs): [[žába]] (여성)
* 추바슈어(cv): [[шапа]]
* 츠와나어(tn): [[segogwane]]
* 카라차이발카르어(krc): [[макъа]]
* 카라칼파크어(kaa): [[qurbaqa]]
* 카렐리야어(krl): [[šlöpöi]]
* 카바르딘어(kbd): [[хьэндыркъуакъуэ]]
* 카슈브어(csb): [[żaba]]
* 카자흐어(kk): [[құрбақа]]
* 카탈루냐어(ca): [[granota]] (여성)
* 칸나다어(kn): [[ಕಪ್ಪೆ]](kappe); [[ಮಂಡೂಕ]](maṃḍūka)
* 칼미크어(xal): [[меклә]]
* 케추아어(qu): [[k’aira]]
* 코르시카어(co): [[ranochja]]
* 코미페르먀크어(koi): [[лягуша]]
* 콘월어(kw): [[kwilkyn]]
* 콘카니어(kok): [[बेब्बो]](bebbo)
* 쿠르드어(ku): [[بۆق]], [[beq]], (소라니어); [[قورواق]](qurwaq)
* 쿠미크어(kum): [[бакъа]]
* 크로아티아어(hr): [[žaba]] (여성)
* 크림타타르어(crh): [[qır baqa]], [[qır baqası]]; [[baqa]], [[suvbaqa]]
* 크메르어(km): [[កង្កែប]](gong-gaip), [[អង្កែប]](ong-gaip)
* 키르기스어(ky): [[бака]]
* 킬딘사미어(sjd): [[цуэмп]]
* 타갈로그어(tl): [[palakâ]]
* 타밀어(ta): [[தவளை]](tavaḷai)
* 타바사란어(tab): [[гъюб]]
* 타이어(th): [[กบ]](gòp)
* 타지크어(tg): [[ғук]]; [[қурбоққа]], [[курбока]]
* 타타르어(tt): [[бака]]
* 타트어(ttt): [[бэгъ]]
* 탈리쉬어(tly): [[вазах]]
* 텔루구어(te): [[కప్ప]](kappa)
* 톡피신(tpi): [[rokrok]], [[dokorok]]
* 투르크멘어(tk): [[gurbaga]]
* 투바어(tyv): [[пага]]
* 튀르키예어(tr): [[kurbağa]]
* 파슈토어(ps): [[چونګښه]](čūngaŝâ)
* 파이완어(pwn): [[qubqub]]
* 파피아멘토어(pap): [[dori]]
* 펀자브어(pa): [[ਡੱਡੂ]](ḍaḍḍū)
* 페로어(fo): [[froskur]] (남성)
* 페르시아어(fa): [[قورباغه]](qorbâghe); [[غوک]](quk)
* 포르투갈어(pt): [[rã]] (여성)
* 폴라브어(pox): [[zobo]] (여성)
* 폴란드어(pl): [[żaba]] (여성)
* 프랑스어(fr): [[grenouille]] (여성)
* 프리울리아어(fur): [[crot]]
* 핀란드어(fi): [[sammakko]]
* 하소르브어(dsb): [[žaba]] (여성)
* 하와이어(haw): [[poloka]]
* 하와이피진어(hwc): [[bufo]]
* 하우사어(ha): [[kwaɗo]]
* 하카스어(kjh): [[паға]]
* 헝가리어(hu): [[béka]], [[erdei béka]]
* 히브리어(he): [[צפרדע|צְפַרְדֵעַ]](tsfardea) (남성)
* 힌디어(hi): [[मेंढक]](mendhak) (남성), [[मेंढकी]](mendhki) (여성), [[मेंडक]](me.n.dak) (남성), [[मेंडुक]](me.n.duk) (남성)
}}
[[분류:한국어 단일어명사]]
[[분류:한국어 자립명사]]
[[분류:한국어 고유어]]
[[분류:한국어 양서류]]
ssxdktcob22i8qrhr6qtz63siccuibz
mourir
0
5835
4485187
4351422
2026-07-08T22:10:12Z
Intolerable situation
23954
4485187
wikitext
text/x-wiki
==프랑스어==
===발음===
{{발음 듣기|Fr-{{PAGENAME}}.ogg}}
* {{fr-IPA}}
===동사===
{{fr-verb}}
# {{lb|fr|자동사}} [[죽다]], [[사망하다]]. (부록: [[부록:프랑스어 불규칙 동사|프랑스어 불규칙 동사]])
#: {{유의어|fr|décéder}}
nkq9wikj2k7zjf666vhazekp2aqiwxy
deer
0
61900
4485188
4320617
2026-07-08T22:35:49Z
Intolerable situation
23954
4485188
wikitext
text/x-wiki
== 영어 ==
[[파일:Rothirsch.jpg|섬네일|사슴]]
{{발음 듣기|en-us-{{PAGENAME}}.ogg|미국}}
{{IPA|dɪə|영국}}
{{IPA|dɪɚ|미국}}
=== 명사 ===
{{en-noun|*}}
# [[사슴]].
:*
[[분류:영어 포유류]]
o6kwe35ib599zjffpxdhgmohbxgu29w
4485189
4485188
2026-07-08T22:39:03Z
Intolerable situation
23954
/* 명사 */
4485189
wikitext
text/x-wiki
== 영어 ==
[[파일:Rothirsch.jpg|섬네일|사슴]]
{{발음 듣기|en-us-{{PAGENAME}}.ogg|미국}}
{{IPA|dɪə|영국}}
{{IPA|dɪɚ|미국}}
=== 명사 ===
{{en-noun|*|s}}
# [[사슴]].
:*
[[분류:영어 포유류]]
heerb5lhjv23ifxyszo2jey9aksvkux
4485190
4485189
2026-07-08T22:46:46Z
Intolerable situation
23954
/* 명사 */
4485190
wikitext
text/x-wiki
== 영어 ==
[[파일:Rothirsch.jpg|섬네일|사슴]]
{{발음 듣기|en-us-{{PAGENAME}}.ogg|미국}}
{{IPA|dɪə|영국}}
{{IPA|dɪɚ|미국}}
=== 명사 ===
{{en-noun|*|s}}
# [[사슴]].
=== 파생어 ===
{{col|en
|fallow deer|hog deer|mule deer|musk deer|pampas deer|Père David's deer|red deer|reindeer|roe deer|Schomburgk's deer|sika deer|water deer|white-tailed deer}}
[[분류:영어 포유류]]
dzf000szitf5u30emxqi0g9d2t5dn2p
4485191
4485190
2026-07-08T22:47:02Z
Intolerable situation
23954
4485191
wikitext
text/x-wiki
== 영어 ==
[[파일:Rothirsch.jpg|섬네일|사슴]]
{{발음 듣기|en-us-deer.ogg|미국}}
{{IPA|dɪə|영국}}
{{IPA|dɪɚ|미국}}
=== 명사 ===
{{en-noun|*|s}}
# [[사슴]].
==== 파생어 ====
{{col|en
|fallow deer|hog deer|mule deer|musk deer|pampas deer|Père David's deer|red deer|reindeer|roe deer|Schomburgk's deer|sika deer|water deer|white-tailed deer}}
[[분류:영어 포유류]]
meir4xfl9y24wv6qngwdbrg8ik8cdte
4485193
4485191
2026-07-08T22:49:42Z
Intolerable situation
23954
4485193
wikitext
text/x-wiki
== 영어 ==
[[파일:Rothirsch.jpg|섬네일|사슴]]
{{발음 듣기|en-us-deer.ogg|미국}}
{{IPA|dɪə|영국}}
{{IPA|dɪɹ|미국}}
=== 명사 ===
{{en-noun|*|s}}
# [[사슴]].
==== 파생어 ====
{{col|en
|fallow deer|hog deer|mule deer|musk deer|pampas deer|Père David's deer|red deer|reindeer|roe deer|Schomburgk's deer|sika deer|water deer|white-tailed deer}}
[[분류:영어 포유류]]
hvcdx4r5e2w38w5zdt2wc3bnblb27ve
reindeer
0
73906
4485192
4365188
2026-07-08T22:49:21Z
Intolerable situation
23954
4485192
wikitext
text/x-wiki
== 영어 ==
{{발음 듣기|en-us-reindeer.ogg|미국}}
{{IPA|/ˈɹeɪndɪə/|영국}}
{{IPA|/ˈɹeɪndɪɹ/|미국}}
=== 명사 ===
{{en-noun|*|+}}
# [[순록]].
[[분류:영어 포유류]]
pvms96km2hswvx75artmx4ek5k9c5ik
다스리다
0
75183
4485174
4114890
2026-07-08T16:00:18Z
路人戌
30290
/* 한국어 */
4485174
wikitext
text/x-wiki
== 한국어 ==
{{발음 듣기|}}
{{ko-IPA}}
# 국가나 사회, 단체, 가정의 일을 목적과 방침에 따라서 보살피며 때에 따라서는 다른 사람의 행위를 제한하다.
:* 국가를 다스리는 일은 쉽지가 않다.
:* 가장으로서 집안을 다스리다.
:*참조: [[통제하다]], [[지배하다]]
{{외국어|
* 그리스어(el):
* 네덜란드어(nl):
* 노르웨이어(no):
* 덴마크어(da):
* 독일어(de):
* 라틴어(la):
* 러시아어(ru):
* 루마니아어(ro):
* 몽골어(mn):
* 불가리아어(bg):
* 브레통어(br):
* 스웨덴어(sv):
* 슬로바키아어(sk):
* 슬로베니아어(sl):
* 아랍어(ar):
* 아이슬란드어(is)
* 스페인어(es):
* 에스페란토(eo):
|
* 영어(en): to [[rule]], [[reign]], [[govern]], [[command]]
* 우크라이나어(uk)
* 이도(io):
* 이탈리아어(it):
* 인도네시아어(id):
* 인터링구아(ia):
* 일본어(ja): {{lang|ja| }}
* 중국어(zh):
* 체코어(cs):
* 카탈루냐어(ca):
* 타갈로그어(tl):
* 터키어(tr):
* 포르투갈어(pt): [[governar]], [[reinar]], [[comandar]]
* 폴란드어(pl):
* 프랑스어(fr):
* 핀란드어(fi):
* 헝가리어(hu):
* 히브리어(he):
}}
# 주어진 목적에 따라 일을 잘 처리하다.
:* 홍수 예방을 위해서 댐을 만든 것은 한강을 다스리기 위한 방법이다.
*유의어: [[처리하다]]
{{외국어|
* 그리스어(el):
* 네덜란드어(nl):
* 노르웨이어(no):
* 덴마크어(da):
* 독일어(de):
* 라틴어(la):
* 러시아어(ru):
* 루마니아어(ro):
* 몽골어(mn):
* 불가리아어(bg):
* 브레통어(br):
* 스웨덴어(sv):
* 슬로바키아어(sk):
* 슬로베니아어(sl):
* 아랍어(ar):
* 아이슬란드어(is)
* 스페인어(es):
* 에스페란토(eo):
|
* 영어(en): to [[control]], [[manage]]
* 우크라이나어(uk)
* 이도(io):
* 이탈리아어(it):
* 인도네시아어(id):
* 인터링구아(ia):
* 일본어(ja): {{lang|ja| }}
* 중국어(zh):
* 체코어(cs):
* 카탈루냐어(ca):
* 타갈로그어(tl):
* 터키어(tr):
* 포르투갈어(pt):
* 폴란드어(pl):
* 프랑스어(fr):
* 핀란드어(fi):
* 헝가리어(hu):
* 히브리어(he):
}}
# 죄의 진상을 밝혀 벌을 주다.
:* 경제범을 다스리기 위한 엄격한 법율이 필요하다.
{{외국어|
* 그리스어(el):
* 네덜란드어(nl):
* 노르웨이어(no):
* 덴마크어(da):
* 독일어(de):
* 라틴어(la):
* 러시아어(ru):
* 루마니아어(ro):
* 몽골어(mn):
* 불가리아어(bg):
* 브레통어(br):
* 스웨덴어(sv):
* 슬로바키아어(sk):
* 슬로베니아어(sl):
* 아랍어(ar):
* 아이슬란드어(is)
* 스페인어(es):
* 에스페란토(eo):
|
* 영어(en): to [[castigate]]
* 우크라이나어(uk)
* 이도(io):
* 이탈리아어(it):
* 인도네시아어(id):
* 인터링구아(ia):
* 일본어(ja): {{lang|ja| }}
* 중국어(zh):
* 체코어(cs):
* 카탈루냐어(ca):
* 타갈로그어(tl):
* 터키어(tr):
* 포르투갈어(pt):
* 폴란드어(pl):
* 프랑스어(fr):
* 핀란드어(fi):
* 헝가리어(hu):
* 히브리어(he):
}}
# 병이나 혼란한 마음을 낫게 하거나 가라앉히다.
:* 이 약초는 치통을 다스리는 데 효험이 있다.
:* 입술을 깨물며 울분을 다스리다.
*유의어: [[가라앚히다]]
{{외국어|
* 그리스어(el):
* 네덜란드어(nl):
* 노르웨이어(no):
* 덴마크어(da):
* 독일어(de):
* 라틴어(la):
* 러시아어(ru):
* 루마니아어(ro):
* 몽골어(mn):
* 불가리아어(bg):
* 브레통어(br):
* 스웨덴어(sv):
* 슬로바키아어(sk):
* 슬로베니아어(sl):
* 아랍어(ar):
* 아이슬란드어(is)
* 스페인어(es):
* 에스페란토(eo):
|
* 영어(en): to [[master]], [[control]]
* 우크라이나어(uk)
* 이도(io):
* 이탈리아어(it):
* 인도네시아어(id):
* 인터링구아(ia):
* 일본어(ja): {{lang|ja| }}
* 중국어(zh):
* 체코어(cs):
* 카탈루냐어(ca):
* 타갈로그어(tl):
* 터키어(tr):
* 포르투갈어(pt):
* 폴란드어(pl):
* 프랑스어(fr):
* 핀란드어(fi):
* 헝가리어(hu):
* 히브리어(he):
}}
2fr6v256jyczfbvihnsk95mab4iq772
wear
0
87680
4485199
4382657
2026-07-09T00:24:29Z
Intolerable situation
23954
4485199
wikitext
text/x-wiki
== 영어 ==
{{발음 듣기|en-us-wear.ogg|미국}}
{{IPA|wɛɹ|미국식|wɛə|영국식}}
=== 동사 ===
{{동사변화|wear|wore|[[worn]]}}
# (옷을) [[입다]].
#: {{예문|en|She was '''wearing''' a pink blouse.|그녀는 핑크색 블라우스를 입고 있었다.}}
#: {{예문|en|Spiderman '''wears''' a black suit in Spiderman 3. |스파이더맨은 스파이더맨3에서 검정색 옷을 입고 나온다. |출처={{따옴|이보경,(영어의 달인이 되는 영작문)(2009) 23쪽 ISBN 978-89-6049-114-4 }} }}
[[분류:영어 동사]]
[[분류:영어 불규칙동사]]
== 우니쉬 ==
{{발음 듣기|}}
{{IPA|}}
=== 명사 ===
* '''1.''' [[의류]].
[[분류:우니쉬 명사]]
5gsy0hbycjp34yuj5mi793t6zbgbz03
analysis
0
98686
4485176
4306098
2026-07-08T21:38:32Z
Intolerable situation
23954
4485176
wikitext
text/x-wiki
== 영어 ==
{{발음 듣기|En-us-analysis.ogg|미국}}
{{IPA|əˈnæləsɪs}}
=== 명사 ===
{{en-noun|~|analyses}}
# [[분석]].
# {{lb|en|수학}} [[해석학]].
dkefjajnhm68l95d0dcbcwmqlgbbomq
4485183
4485176
2026-07-08T22:01:11Z
Intolerable situation
23954
4485183
wikitext
text/x-wiki
==영어==
===발음===
{{발음 듣기|En-us-analysis.ogg|미국}}
{{IPA|əˈnæləsɪs}}
===명사===
{{en-noun|~|analyses}}
# [[분석]].
# {{lb|en|수학}} [[해석학]].
===관련 어휘===
* {{l|en|analyse}}, {{l|en|analyze}}
* {{l|en|analyst}}
* {{l|en|analyte}}
* {{l|en|analytic}}
d5r0vkthy09nog5q9hpavsinvlr95u8
4485184
4485183
2026-07-08T22:01:25Z
Intolerable situation
23954
/* 관련 어휘 */
4485184
wikitext
text/x-wiki
==영어==
===발음===
{{발음 듣기|En-us-analysis.ogg|미국}}
{{IPA|əˈnæləsɪs}}
===명사===
{{en-noun|~|analyses}}
# [[분석]].
# {{lb|en|수학}} [[해석학]].
===관련 어휘===
* {{l|en|analyse}}, {{l|en|analyze}}
* {{l|en|analyst}}
* {{l|en|analyte}}
* {{l|en|analytic}}
* {{l|en|analytical}}
po2wmmjmzfc96azscqkfncgb1u60p50
4485185
4485184
2026-07-08T22:04:28Z
Intolerable situation
23954
4485185
wikitext
text/x-wiki
==영어==
===발음===
{{발음 듣기|En-us-analysis.ogg|미국}}
{{IPA|əˈnæləsɪs}}
===명사===
{{en-noun|~|analyses}}
# [[분석]].
# {{lb|en|수학}} [[해석학]].
====관련 어휘====
* {{l|en|analyse}}, {{l|en|analyze}}
* {{l|en|analyst}}
* {{l|en|analyte}}
* {{l|en|analytic}}
* {{l|en|analytical}}
3ts7el6pih020up2j8b22ayxzk51fmy
4485186
4485185
2026-07-08T22:04:49Z
Intolerable situation
23954
4485186
wikitext
text/x-wiki
{{also|Analysis}}
==영어==
===발음===
{{발음 듣기|En-us-analysis.ogg|미국}}
{{IPA|əˈnæləsɪs}}
===명사===
{{en-noun|~|analyses}}
# [[분석]].
# {{lb|en|수학}} [[해석학]].
====관련 어휘====
* {{l|en|analyse}}, {{l|en|analyze}}
* {{l|en|analyst}}
* {{l|en|analyte}}
* {{l|en|analytic}}
* {{l|en|analytical}}
e44jh26hfzjbjwfep9sc92c3o6pxmby
discourse
0
100682
4485200
4322167
2026-07-09T06:30:04Z
Apisite
21408
/* 영어 */ + en-noun
4485200
wikitext
text/x-wiki
== 영어 ==
=== 어원 ===
라틴어 ''[[dis-]]'' + ''[[currere|currĕre]]'' ("달리다") → ''[[discursus]]'' → 프랑스어 [[discours]]
=== 발음 ===
{{IPA|dískɔːrs, --́}}
=== 명사 ===
{{en-noun|~}}
# 강화(講話), 강연;설교;연설;(진지한) 담론, 토론, 담화
:* ''a [[tedious]] [[discourse]]'' 지루한 이야기, 답답하게 긴 연설
1cwllwv3szdpfvykufct7mac8d9nx3m
课程
0
114679
4485203
3907190
2026-07-09T07:48:52Z
Bykim2012
11306
4485203
wikitext
text/x-wiki
== 중국어 ==
[[분류:중국어 명사]][[분류:광둥어]][[분류:민난어]][[분류:우어]]
{{발음 듣기|}}
{{IPA|}}
*병음: kèchéng(표준어)
*병음: fo3ching4(광둥어)
*병음: khò-thêng(민난어)
*병음: khu3zen(우어)
* '''1.''' [[과정]], [[과목]].
我本科学过这门'''课程'''。Wǒ běnkē xuéguò zhè mén kèchéng。(저는 학부 시절에 이 과목을 수강했습니다.)
*번체: [[課程]]
g3jz7p5hzbe8rz1vl71yxduoqbaj967
분석
0
116001
4485182
4270144
2026-07-08T21:58:37Z
Intolerable situation
23954
4485182
wikitext
text/x-wiki
== 한국어 ==
{{ko-IPA}}
=== 명사 ===
==== 명사 1 ====
*어원: 한자 [[分石]]
#
{{외국어|
* 독일어(de):
* 러시아어(ru):
|
* 영어(en):
* 일본어(ja):
* 중국어(zh):
* 프랑스어(fr):
}}
==== 명사 2 ====
*어원: 한자 [[分析]]
# 어떤 물체나 성분을 조사하는 것.
*동사: [[분석되다]], [[분석하다]]
{{외국어|
* 네덜란드어(nl): [[analyse]] (여성)
* 노르웨이어(no): [[analyse]] (남성)
* 독일어(de):
* 러시아어(ru):
* 루마니아어(ro): [[analiză]] (여성)
|
* 영어(en): {{t+|en|analysis}}
* 일본어(ja):
* 중국어(zh):
* 프랑스어(fr): [[analyse]] (여성)
}}
[[분류:표준어 자립명사]]
[[분류:표준어 단일어명사]]
[[분류:한국어 한자어 독음]]
8wi06xgc15a94uewt0cqud7g4du9989
analyze
0
214854
4485177
4306100
2026-07-08T21:40:34Z
Intolerable situation
23954
4485177
wikitext
text/x-wiki
== 영어 ==
[[분류:영어 동사]]
{{발음 듣기|en-us-{{PAGENAME}}.ogg|미국}}
{{IPA|}}
=== 동사 ===
# [[분석하다]].
fqhwwhf9fs0tepxp6sbimi4v1ycnn2w
4485178
4485177
2026-07-08T21:47:26Z
Intolerable situation
23954
4485178
wikitext
text/x-wiki
== 영어 ==
=== 이형태/이표기 ===
* {{alt|en|analyse||영연방|때때로 [[w:캐나다 영어|캐나다]]에서 쓰임}}
=== 발음 ===
{{발음 듣기|en-us-{{PAGENAME}}.ogg|미국}}
{{IPA|/ˈænəlaɪz/}}
=== 동사 ===
{{en-verb}} {{tlb|en|미국식 표기}}
# {{lb|en|타동사}} [[분석하다]].
==== 관련 어휘 ====
* {{l|en|analysis}}
* {{l|en|analyst}}
* {{l|en|analytic}}
* {{l|en|analytical}}
rky35djdxtyuv6pzikphecb04uzx9g0
4485181
4485178
2026-07-08T21:57:43Z
Intolerable situation
23954
/* 발음 */
4485181
wikitext
text/x-wiki
== 영어 ==
=== 이형태/이표기 ===
* {{alt|en|analyse||영연방|때때로 [[w:캐나다 영어|캐나다]]에서 쓰임}}
=== 발음 ===
{{발음 듣기|en-us-{{PAGENAME}}.ogg|미국}}
{{IPA|/ˈænəlaɪz/|영국}}
{{IPA|/ˈænəˌlaɪz/|미국}}
=== 동사 ===
{{en-verb}} {{tlb|en|미국식 표기}}
# {{lb|en|타동사}} [[분석하다]].
==== 관련 어휘 ====
* {{l|en|analysis}}
* {{l|en|analyst}}
* {{l|en|analytic}}
* {{l|en|analytical}}
gdfq263e5oaeyf6czv5p7fpshbk0khc
analyst
0
232072
4485179
4261596
2026-07-08T21:53:05Z
Intolerable situation
23954
4485179
wikitext
text/x-wiki
==영어==
===발음===
{{발음 듣기|en-us-analyst.ogg|미국}}
{{IPA|/ˈænəlɪst/}}
* {{homophone|en|annalist}}
===명사===
{{en-noun}}
# [[분석가]]
:*
{{C|en|사람}}
flrdge6l2ak1fuv75xab73ml9wfnpgx
4485180
4485179
2026-07-08T21:54:48Z
Intolerable situation
23954
4485180
wikitext
text/x-wiki
==영어==
===발음===
{{발음 듣기|en-us-analyst.ogg|미국}}
{{IPA|/ˈænəlɪst/}}
* {{homophone|en|annalist}}
===명사===
{{en-noun}}
# [[분석가]]
===관련 어휘===
* {{l|en|analyse}} / {{l|en|analyze}}
* {{l|en|analysis}}
* {{l|en|analytic}}
* {{l|en|analytical}}
{{C|en|사람}}
n53re22smdr0of77h5qojzrx37s5ngw
azote
0
232441
4485196
4483899
2026-07-08T23:02:25Z
Intolerable situation
23954
4485196
wikitext
text/x-wiki
== 영어 ==
{{발음 듣기|}}
{{IPA|}}
#
:*
[[분류:영어 명사]]
[[분류:영어 초안]]
== 프랑스어 ==
{{발음 듣기|}}
* {{fr-IPA}}
=== 명사 ===
{{fr-noun|m}}
# [[질소]].
[[분류:프랑스어 화학]]
inpjeudif44isr2i3cfu82eao0a8b9c
cactus
0
239609
4485175
4315047
2026-07-08T21:35:45Z
Intolerable situation
23954
4485175
wikitext
text/x-wiki
== 영어 ==
{{발음 듣기|En-us-cactus.ogg|미국}}
{{IPA|ˈkæktəs}}
=== 명사 ===
{{en-noun|+|cacti}}
# [[선인장]].
:*
[[분류:영어 식물]]
pgsf6j6ob24jzwysp9ubjl4x25qvuwo
4485197
4485175
2026-07-08T23:08:37Z
Intolerable situation
23954
4485197
wikitext
text/x-wiki
==영어==
===발음===
{{발음 듣기|En-us-cactus.ogg|미국}}
{{IPA|ˈkæktəs}}
===명사===
{{en-noun|+|cacti}}
# [[선인장]]
:*
[[분류:영어 식물]]
==프랑스어==
===발음===
* {{fr-IPA|cactuss}}
===명사===
{{fr-noun}}
# [[선인장]]
[[분류:프랑스어 식물]]
9mjw89oraqvhk79v6pff5t6m25v7ya6
4485198
4485197
2026-07-08T23:08:50Z
Intolerable situation
23954
/* 프랑스어 */
4485198
wikitext
text/x-wiki
==영어==
===발음===
{{발음 듣기|En-us-cactus.ogg|미국}}
{{IPA|ˈkæktəs}}
===명사===
{{en-noun|+|cacti}}
# [[선인장]]
:*
[[분류:영어 식물]]
==프랑스어==
===발음===
* {{fr-IPA|cactuss}}
===명사===
{{fr-noun|m}}
# [[선인장]]
[[분류:프랑스어 식물]]
sstvb0b6atxp8iilo15aoegfkv815gk
renne
0
279730
4485195
4193130
2026-07-08T22:59:57Z
Intolerable situation
23954
4485195
wikitext
text/x-wiki
==프랑스어==
{{발음 듣기|}}
* {{fr-IPA}}
===명사===
{{fr-noun|m}}
# [[순록]].
:*
[[분류:프랑스어 동물]]
p2wjkhf9469oqabzcsl7yzva449bgt6
居然
0
359206
4485205
3890422
2026-07-09T07:53:57Z
Bykim2012
11306
4485205
wikitext
text/x-wiki
== 중국어 ==
[[분류:중국어 부사]][[분류:광둥어]]
{{발음 듣기|}}
{{IPA|}}
*병음: jūrán(표준어)
*병음: geui1yin2(광둥어)
=== 부사 ===
* '''1.''' [[의외]]로도. [[놀랍게도]]
这次英语考试'''居然'''没及格。Zhè cì yīngyǔ kǎoshì jūrán méi jígé. 이번 영어 시험에 뜻밖에도 합격하지 못했습니다.
24elg7woo2r60kjpi12ld2wmqcqh6ne
순록
0
394442
4485194
4263862
2026-07-08T22:56:32Z
Intolerable situation
23954
/* 명사 */
4485194
wikitext
text/x-wiki
== 한국어 ==
[[분류:한국어 명사]]
[[분류:한국어 포유류]]
{{발음 듣기|}}
{{ko-IPA|}}
=== 명사 ===
*어원: 한자 [[馴鹿]]
# (학명: [[Rangifer tarandus]]) [[사슴]]과의 하나. 몸의 길이는 1.8미터, 어깨의 높이는 1미터 정도이며, 여름에는 어두운 갈색, 겨울에는 갈색이고 여러 갈래로 된 큰 뿔이 있으며 [[북극]]에 서식한다.
{{외국어|
* 그리스어(el):
* 네덜란드어(nl):
* 노르웨이어(no):
* 덴마크어(da):
* 독일어(de):
* 라틴어(la):
* 러시아어(ru):
* 루마니아어(ro):
* 몽골어(mn):
* 불가리아어(bg):
* 브르타뉴어(br):
* 스웨덴어(sv):
* 스페인어(es): {{t+|es|reno|m}}
* 슬로바키아어(sk):
* 슬로베니아어(sl):
* 아랍어(ar):
* 아이슬란드어(is):
|
* 에스페란토(eo):
* 영어(en): {{t+|en|reindeer}}
* 우크라이나어(uk):
* 이도(io):
* 이탈리아어(it):
* 인도네시아어(id):
* 인터링구아(ia):
* 일본어(ja): {{lang|ja| }}
* 중국어(zh):
* 체코어(cs):
* 카탈루냐어(ca):
* 타갈로그어(tl):
* 튀르키예어(tr):
* 포르투갈어(pt):
* 폴란드어(pl):
* 프랑스어(fr): {{t+|fr|renne|m}}
* 핀란드어(fi):
* 헝가리어(hu):
* 히브리어(he):
}}
b32odjhtk43wqyaeaccg1m82x81re5x
录取
0
423542
4485206
3891593
2026-07-09T08:08:01Z
Bykim2012
11306
/* 동사 */
4485206
wikitext
text/x-wiki
== 중국어 ==
[[분류:중국어 동사]]
[[분류:중국어 간체]]
=== 발음 ===
*표준어
:*병음: {{lang|zh|lùqǔ}}
:*주음부호: {{lang|zh|ㄌㄨˋ ㄑㄩˇ}}
=== 동사 ===
* '''1.''' 합격시키다. 채용하다. 고용하다.
* '''2.''' 녹취하다.
恭喜你被北京大学'''录取'''了。Gōngxǐ nǐ bèi běijīng dàxué lùqǔle. (베이징대학교 입학을 축하드립니다!)
8wbdg216pi3sykrzt8cr0h6prlpqw69
本科
0
423602
4485202
3895913
2026-07-09T07:47:28Z
Bykim2012
11306
4485202
wikitext
text/x-wiki
== 중국어 ==
*어원:
{{발음 듣기|}}
{{IPA|}}
*병음: běnkē
* '''1.''' 본과, (대학교의) 학부 과정
:* 我'''本科'''学过这门课程。Wǒ běnkē xuéguò zhè mén kèchéng。(저는 학부 시절에 이 과목을 수강했습니다.)
[[분류:중국어]]
hda8djwaeepqmlev4b4zynashbutydt
위키낱말사전:질문방
4
434459
4485173
4485127
2026-07-08T14:42:17Z
Jeebeen
13056
/* 틀:en-noun이 띄어쓰기가 있는 영어 명사의 불규칙 복수형을 다루는 것에 관함 */ 답변
4485173
wikitext
text/x-wiki
{{게시판}}
{{위키낱말사전 질문방}}
{{보존 문서|
* [[/보존문서1]]
}}
== 혹시 Translingual는 어떤 뜻인가요? ==
기호 문서 번역 및 생성을 목적으로 영어판에 들어갔는데 'Translingual'라는 단어가 이해가 가지 않습니다. --[[사용자:린눈라단|린눈라단]] ([[사용자토론:린눈라단|토론]]) 2022년 2월 23일 (수) 12:14 (KST)
:검색해보시면 나옵니다. --[[사용자:호로조|호로조]] ([[사용자토론:호로조|토론]]) 2023년 3월 3일 (금) 16:57 (KST)
:{{핑|린눈라단}} 당시에는 그냥 본인이 알고 싶으셔서 썼다고 생각하고 단순히 궁금해서 물어보는 거면 직접 찾아보라는 의미로 써놓은 것이긴 한데, 써놓고 보니 질문자 기를 죽이고 편집 의욕를 떨어뜨리는 싹쑤 노란 말같아서 따로 의견 남깁니다. 저도 해당하는 어휘에 대한 기술이 필요할 것 같아 다시 찾았고요. 언어에 구애받지 않고 공통적으로 사용되는 기호 따위를 뜻합니다. TV, USA, SOS 같은 거 말이죠. 한국어 위키낱말사전에는 '곧통'이라는 문단 정도로 써놓는 것으로 생각 중이고, 또 다른 방법으로는 IOS(국제 표준화 기구) 표준 정도로 써놓는 걸 생각 중입니다. --[[사용자:호로조|호로조]] ([[사용자토론:호로조|토론]]) 2024년 2월 17일 (토) 03:45 (KST)
::답변 감사합니다. --[[사용자:린눈라단|린눈라단]] ([[사용자토론:린눈라단|토론]]) 2024년 2월 24일 (토) 01:50 (KST)
::영어 위키낱말사전의 [[:en:Wiktionary:Translingual entry guidelines|Translingual entry guidelines]] 문서와 [[:en:Category:Translingual language|Translingual language]] 분류 문서를 확인했을 때 "범(汎)언어"로 정하는 것이 합리적인 선택으로 보입니다.
::"Translingual"이 학술지 등에서는 '횡단(橫斷)언어적' 혹은 '횡(橫)언어적'으로 번역되고 있으나 일반 사용자 입장에서 매우 생소하고 직관성이 떨어지는 표현입니다.
::Translingual 단락에 표시할 수 있는 표제어가 이모지나 이모티콘, 기호 등 언어에만 국한되지 않는다는 점을 들어 '공통' 혹은 '공통 표기'로도 번역할 수 있지만, 제시한 Transligual language 또한 분류 과정에서 마치 하나의 언어인 양 기능한다는 점({{코드|mul}}이라는 언어 코드가 부여된 점, [[:en:Category:Translingual nouns|Translingual nouns]]와 같이 품사별로 하위 분류를 구성하는 점 등) 때문에 이 역시 적합하지 않다고 봅니다.
::이러한 점을 확인할 때 "범언어"로 번역하는 것이 가장 현실적이고 합리적이라 생각합니다. [[사용자:CHK2605|CHK2605]] ([[사용자토론:CHK2605|토론]]) 2025년 8월 5일 (화) 21:51 (KST)
== 전하지 못한 고백 ==
전하지 못한 고백이나 전하지 못한 진심 등 전하지 못하다 의 뜻을 가진 한글단어들이 무엇이 있을까요? [[사용자:단어|단어]] ([[사용자토론:단어|토론]]) 2022년 10월 2일 (일) 23:42 (KST)
:답변하기에 좀 늦은 감이 있긴 하나 이 질문에 계속 답변을 하지 않아왔던 이유는 질문방의 성격에 맞지 않아서입니다. 외국어로 된 낱말의 한국어 대응 의미를 찾아 기술하기 위한 질문인지 단순히 어휘가 궁금해서 질문을 하시는 것인지 알 수 없었습니다. --[[사용자:호로조|호로조]] ([[사용자토론:호로조|토론]]) 2024년 2월 17일 (토) 03:35 (KST)
== 대문 디자인에 대한 고민 ==
* [[사용자:호로조/시험장]]
한 번 확인해보시고 의견 남겨주시면 감사하겠습니다. --[[사용자:호로조|호로조]] ([[사용자토론:호로조|토론]]) 2024년 2월 27일 (화) 07:15 (KST)
:저작권은 없으며 가져가져서 직접 수정하셔도 되고, 수정을 못하시겠으면 이러이러해서 수정했으면 좋겠다 의견을 남겨주셔도 됩니다. 네덜란드어판 위키피디아 대문에 영감을 받아 제작했는데, 개인적으로 이렇게 대문을 제작하는 게 맞나 싶네요. 맨 처음엔 동적으로 제작했으나 이건 좀 아닌 것 같아서 최대한 보수적으로 변경했습니다. --[[사용자:호로조|호로조]] ([[사용자토론:호로조|토론]]) 2024년 2월 27일 (화) 07:19 (KST)
== [[틀:ko-IPA]]에 관하여 ==
[[틀:ko-IPA]]가 영어판과 한국어판에서 다르게 작동합니다. 예를 들어, [[발전]]의 영어판과 한국어판은 발음 ("ㄹ" 부분)과 매큔-라이샤워 표기가 서로 다릅니다. 또한, [[곡선]]의 영어판과 한국어판은 예일 표기가 서로 다릅니다. 현재 한국어판의 [[틀:ko-IPA]]에 오류가 있습니까? 이 틀에 오류가 있다면 수정할 수 있는 사람이 있습니까? 읽어 주시면 감사하겠습니다. [[사용자:Intolerable situation|Intolerable situation]] ([[사용자토론:Intolerable situation|토론]]) 2024년 4월 14일 (일) 14:13 (KST)
:[[틀:ko-IPA]]를 영어판과 동일하게 작동하도록 수정하였습니다. --[[사용자:Dolab0526|Dolab0526]] ([[사용자토론:Dolab0526|토론]]) 2024년 5월 26일 (일) 22:57 (KST)
:국어의 로마자 표기법에서는 혼동을 피하기 위하여 "-"를 사용합니다 (예: 증오 → jeung-o). 그러나 [[틀:ko-IPA]]에서는 "-"를 사용하여야 할 자리에 "'"를 사용합니다. 이 부분이 정정되어야 합니다. 읽어 주시면 감사하겠습니다. [[사용자:Intolerable situation|Intolerable situation]] ([[사용자토론:Intolerable situation|토론]]) 2024년 6월 15일 (토) 09:40 (KST)
::{{ㄷ|Intolerable situation}} 안녕하신지요, 항상 위키낱말사전에 관심 가져 주시고 질적 향상에 힘써 주셔서 감사합니다.
::일단 말씀하신 [[증오]]처럼 이중모음(ng)이 분간이 안 될 경우 사용하는 아포스트로피를 붙임표로 변경하는 문제에 대해선 [[모듈:ko-pron/data]]을 [[특수:차이/4101386|수정하면 되긴 합니다]]. 그러면 [[중앙|음역의 경우 붙임표로 표기되는 것]]을 확인하실 수 있습니다. [[사용자:호로조|호로조]] ([[사용자토론:호로조|토론]]) 2024년 6월 15일 (토) 18:05 (KST)
:현재 [[틀:ko-IPA]]에서 "ㅐ"와 "ㅔ"가 매큔-라이샤워 표기법에서 "aë"로 바뀌는 오류가 있습니다. 이를 정정하여 주시면 감사하겠습니다. [[사용자:Intolerable situation|Intolerable situation]] ([[사용자토론:Intolerable situation|토론]]) 2024년 6월 16일 (일) 11:00 (KST)
::"ㅚ", "ㅙ", "ㅞ"의 매큔-라이샤워 표기법도 오류가 있습니다. 이것을 정정할 수 있는 분께서 계십니까? [[사용자:Intolerable situation|Intolerable situation]] ([[사용자토론:Intolerable situation|토론]]) 2024년 6월 16일 (일) 12:47 (KST)
:::{{ㄷ|Intolerable situation}} 문서 알려 주시면 수정해 보겠습니다. --[[사용자:호로조|호로조]] ([[사용자토론:호로조|토론]]) 2024년 6월 17일 (월) 17:23 (KST)
== 언어가 한 문서에서 나오는 순서는 어떻게 정하나요? ==
한국어가 아닌 언어는 기본적으로 언어의 한국어 이름 순서대로 (예: 스페인어, 영어, 프랑스어) 문서에서 등장하여야 하나요? "한자"만 맨 처음에 등장하는 예외인가요? [[사용자:Intolerable situation|Intolerable situation]] ([[사용자토론:Intolerable situation|토론]]) 2024년 4월 16일 (화) 03:02 (KST)
:정책인지는 모르겠으나 영어판은 영어가 아닌 언어를 언어의 이름 순(abc순)으로 자주 나옵니다. --[[사용자:린눈라단|린눈라단]] ([[사용자토론:린눈라단|토론]]) 2024년 4월 16일 (화) 19:56 (KST)
::한국어 위키낱말사전에도 비슷한 정책이 있는지 보았는데, [[위키낱말사전:낱말 풀이는 어떻게]]에 관련 정책이 있네요. 감사합니다. 앞으로는 언어의 한국어 이름 순서대로 문서를 만들고, 언어의 순서가 정책을 따르지 아니하면 이를 바로잡겠습니다. [[사용자:Intolerable situation|Intolerable situation]] ([[사용자토론:Intolerable situation|토론]]) 2024년 4월 19일 (금) 11:51 (KST)
:::하핳하하하 [[특수:기여/118.221.147.60|118.221.147.60]] 2024년 5월 30일 (목) 11:51 (KST)
== 참고: ==
문서를 만들때 "참고:"라는 말이 나오는데 이건 뭘 적으면 되는건가요? [[사용자:Mamiamauwy|Mamiamauwy]] ([[사용자토론:Mamiamauwy|토론]]) 2024년 4월 27일 (토) 20:16 (KST)
:참고를 적으면 됩니당^^ [[특수:기여/118.221.147.60|118.221.147.60]] 2024년 5월 30일 (목) 11:51 (KST)
== 혹시 poscatboiler는 어떤 뜻인가요? ==
[https://w.wiki/Cfhs 이 모듈]에는 '''poscatboiler'''이라는 낱말이 모듈 제목에 들어가 있습니다. pos-cat-boiler 정도로 풀이되는 것 같은데 한국어로 어떻게 번역해야 할지 모르겠어요. 추측 상으로는 "position category boiler" 같기도 한데 확실하지 않고, 그리고 갑자기 뜬금없이 보일러는 뭔지. 이 낱말이 무슨 뜻인가요? [[사용자:Whatback11|Whatback11]] ([[사용자토론:Whatback11|토론]]) 2025년 1월 9일 (목) 21:36 (KST)
:아 알았어요. chatgpt한테 물어보았더니 '''"part of speech category boilerplate"'''를 뜻한다고 하더군요. 그래서 이걸 한국어로 번역하면 '''"품사분류상용구"''' 정도로 되네요. [[사용자:Whatback11|Whatback11]] ([[사용자토론:Whatback11|토론]]) 2025년 1월 9일 (목) 22:01 (KST)
:{{ㄷ|Whatback11}} [[POS]]는 품사이고, [[CAT]]은 일반적으로 위키미디어 프로그래밍에서 분류의 약자입니다. [[boiler]]는 저도 모르겠습니다.
:다만 오역될 여지가 크고, 변수명이나 모듈의 하위 문서를 왜 그렇게 지었는지의 의도에 관해 한국어로 왜 그렇게 번역을 했는지에 대해서도 번역자의 의도를 한 번 더 확인해야 한다는 문제가 있습니다. 이 때문에 [[모듈:headword]]와 같이 pos_function과 같이 한글 인코딩을 함수명으로 사용할 수 있고 이 함수명이 분류에도 그대로 적용되도록 코딩된 특이한 경우가 아니라면 일반적으로 모듈 이름과 변수명은 영어로 적습니다. 모듈 이름을 한국어로 적으면 require나 mw.load에서 작동하지 않는 경우를 봐 왔고, 일일히 이 내용들을 수정해야 하기 때문에 영어로 적습니다.
:프로그래밍에는 퍼블릭과 프라이빗이라는 영역이 있습니다. 퍼블릭에는 틀이나 모듈 설명문서와 같이 실제로 사용자들이 작동법을 알기 위해서 번역이 필요한 경우고, 프라이빗은 모듈과 같이 번역이 필요가 없는 부분으로 그 내용은 개발자만 알아야 하는 내용입니다. 프라이빗에 대해 사용하는 다수의 사람이 수정을 가하게 되면 문제를 일으킵니다. 모듈명을 굳이 번역할 필요는 없다는 게 제 의견입니다. 그렇다고 JAVA나 C계열 언어에서 퍼블릭 함수를 번역해야 한다는 건 절대 아닙니다만, 주석은 한국어로 달 수 있기 때문에 해당 변수에 대한 설명을 주석으로 달거나 모듈명은 설명문서에서 설명하는 편이 낫습니다. --[[사용자:Jeebeen|Jeebeen]] ([[사용자토론:Jeebeen|토론]]) 2025년 1월 10일 (금) 00:44 (KST)
:추가적인 내용은 아침에 확인해 보겠습니다. --[[사용자:Jeebeen|Jeebeen]] ([[사용자토론:Jeebeen|토론]]) 2025년 1월 10일 (금) 00:48 (KST)
== [[틀:ux/설명문서]]에서 IOS 언어 코드 관련 ==
[[틀:ux/설명문서]]에서 IOS 언어 코드라고 하는 것은 ISO 639에 기반한 것입니까? 이 언어 코드는 영어 위키낱말사전에서 사용하는 것을 그대로 사용하면 됩니까? 앞의 질문 둘의 답이 모두 "예"이면 해당 설명문서에서 "구식 매개변수" 문단의 "cz"를 "cs"로 정정하여야 합니까? [[사용자:Intolerable situation|Intolerable situation]] ([[사용자토론:Intolerable situation|토론]]) 2025년 4월 27일 (일) 16:48 (KST)
:{{사용자:메지로 아르당/인구절벽}} [[사용자:메지로 아르당|메지로 아르당]] ([[사용자토론:메지로 아르당|토론]]) 2025년 8월 5일 (화) 22:02 (KST)
== 분류 관련 질문 ==
분류:A 를 분류:B 라는 이름으로 이동할때 A분류의 문서들은 자동으로 B분류로 이동되나요?
@[[사용자:CHK2605|CHK2605]] [[사용자:메지로 아르당|메지로 아르당]] ([[사용자토론:메지로 아르당|토론]]) 2025년 8월 8일 (금) 09:22 (KST)
:{{핑|메지로 아르당}} 자동으로 이동되지 않습니다. 모든 문서를 새 분류명으로 이동하려면 분류를 추가하는 로직을 모듈에서 고치거나(분류 자동 생성의 경우), hotcat 소도구 등을 이용하여 이름을 일일이 바꿔주어야 합니다(분류 수동 생성의 경우). [[사용자:CHK2605|CHK2605]] ([[사용자토론:CHK2605|토론]]) 2025년 8월 8일 (금) 10:15 (KST)
== 글자 오류 ==
네모상자로 뜨는 글들이 있는데 이거는 혹시 개인이 별도로 휴대폰을 탈옥을 하든가 해서 일일이 개인 휴대폰에 등록해야되나요? [[사용자:메지로 아르당|메지로 아르당]] ([[사용자토론:메지로 아르당|토론]]) 2025년 8월 8일 (금) 11:10 (KST)
:@[[사용자:CHK2605|CHK2605]] [[사용자:메지로 아르당|메지로 아르당]] ([[사용자토론:메지로 아르당|토론]]) 2025년 8월 8일 (금) 11:10 (KST)
::{{핑|메지로 아르당}} 컴퓨터 혹은 모바일 환경에서 사용되는 글꼴이 시스템에서 지원하지 않는 경우입니다. 보통 일반적으로 거의 사용되지 않는 특수 기호나 유니코드에 최근 추가된 글자에서 발생하는 문제이므로 무시하셔도 큰 문제는 없습니다. 다만 글자를 확인할 필요가 있는 경우 해당 문자를 지원할 수 있는 범용 글꼴을 설치하면 됩니다. [[사용자:CHK2605|CHK2605]] ([[사용자토론:CHK2605|토론]]) 2025년 8월 8일 (금) 11:35 (KST)
:::모바일에 글꼴을 어떻게 설치하나요? [[사용자:메지로 아르당|메지로 아르당]] ([[사용자토론:메지로 아르당|토론]]) 2025년 8월 8일 (금) 11:36 (KST)
::::모바일 환경에서 작업하고 있지 않으므로 그것까지는 제가 알지 못합니다. 인터넷 검색을 통해 찾아보시면 되겠습니다. [[사용자:CHK2605|CHK2605]] ([[사용자토론:CHK2605|토론]]) 2025년 8월 8일 (금) 11:37 (KST)
== Twinkle 소도구 질문 ==
'모두 되돌리기'는 관리자만 가능한가요?
@[[사용자:CHK2605|CHK2605]] [[사용자:메지로 아르당|메지로 아르당]] ([[사용자토론:메지로 아르당|토론]]) 2025년 8월 14일 (목) 17:57 (KST)
:Twinkle 기능은 안 써서 모르겠지만 아마 그런듯합니다. [[사용자:CHK2605|CHK2605]] ([[사용자토론:CHK2605|토론]]) 2025년 8월 14일 (목) 20:55 (KST)
== 편집 불가 ==
[[모듈:references]] 여기뜨는 영어 자동인가요....? [[사용자:메지로 아르당|메지로 아르당]] ([[사용자토론:메지로 아르당|토론]]) 2025년 8월 15일 (금) 14:02 (KST)
:@[[사용자:CHK2605|CHK2605]] [[사용자:메지로 아르당|메지로 아르당]] ([[사용자토론:메지로 아르당|토론]]) 2025년 8월 15일 (금) 14:02 (KST)
::자동 아닙니다. 주석 처리된 부분 번역해주어야 합니다. [[사용자:CHK2605|CHK2605]] ([[사용자토론:CHK2605|토론]]) 2025년 8월 16일 (토) 18:21 (KST)
== [사무관]오류 ==
"Request served via cp5018 cp5018, Varnish XID 290679288
Error: 503, Backend fetch failed at Fri, 15 Aug 2025 06:50:58 GMT"
'서버가 다운되었을수도 있음' 오류가 떴는데 의미을 모르겠네요.
(다행이 바로 해결되긴 했습니다.) [[사용자:메지로 아르당|메지로 아르당]] ([[사용자토론:메지로 아르당|토론]]) 2025년 8월 15일 (금) 15:55 (KST)
== "프랑스어"가 분류에서 비표준 언어 제목으로 여겨지는 이유 ==
[[틀:fr-IPA]]와 [[틀:fr-noun]]을 사용하는 문서인 [[requin]]에서 언어 제목으로 "프랑스어"만 사용하였는데도 문서가 [[:분류:비표준 언어 제목이 있는 문서]]에 분류되었습니다. "프랑스어"가 아직 표준 언어 제목 목록에 들어가지 못한 것입니까?--[[사용자:Intolerable situation|Intolerable situation]] ([[사용자토론:Intolerable situation|토론]]) 2026년 6월 20일 (토) 17:07 (KST)
:{{ㄷ|Intolerable situation}} 오랫동안 고쳐지지 않고 있는 파소이드 오류이긴 합니다. CHK2605님께서 몇번 언급하셨는데 아직 고치지 못했습니다. [[사용자:Jeebeen|Jeebeen]] ([[사용자토론:Jeebeen|토론]]) 2026년 6월 21일 (일) 16:01 (KST)
== [[틀:en-noun]]이 띄어쓰기가 있는 영어 명사의 불규칙 복수형을 다루는 것에 관함 ==
[[roe deer]] 문서에서 [[틀:en-noun]]을 썼는데, 이 틀이 영어판의 해당 틀과 달리 *로 단수형과 복수형이 같음을 표시하는 기능이 없어서 손수 "roe deer"를 틀의 첫 변수로 입력하였습니다. 그런데 문서가 [[:분류:영어 불규칙 복수형을 가진 명사]]나 [[:분류:영어 indeclinable nouns]]에 분류되지 않습니다. 이를 어떠한 방법으로 해결하여야 할까요? [[사용자:Intolerable situation|Intolerable situation]] ([[사용자토론:Intolerable situation|토론]]) 2026년 6월 25일 (목) 19:11 (KST)
:* [[특수:차이/4485172]] - [[모듈:en-headword]]
:{{ㄷ|Intolerable situation}} 이제 정상적으로 표시되도록 고쳤습니다. [[사용자:Jeebeen|Jeebeen]] ([[사용자토론:Jeebeen|토론]]) 2026년 7월 8일 (수) 23:42 (KST)
== [[:고양이]] 문서의 명사 소문단을 정리하는 방법 ==
[[고양이]] 항목에서 "한 동물, 반려동물로 가장인기가 많은 동물 2위에 속한다."라는 설명이 어원 위에 번호 없이 있고, "고양이과 고양이속에 속하는 동물의 총칭."이라는 설명이 어원 아래에 1번으로 있습니다. 이 문서를 어떠하게 정리하여야 합니까? [[사용자:Intolerable situation|Intolerable situation]] ([[사용자토론:Intolerable situation|토론]]) 2026년 7월 4일 (토) 17:08 (KST)
qjaigsfxgeyl0lpcr9axuy1apn3hjpb
모듈:en-headword
828
446465
4485172
4478424
2026-07-08T14:40:52Z
Jeebeen
13056
4485172
Scribunto
text/plain
local export = {}
local pos_functions = {}
local force_cat = false -- for testing; if true, categories appear in non-mainspace pages
local require_when_needed = require("Module:require when needed")
local en_utilities_module = "Module:en-utilities"
local m_links = require("Module:also/link")
local headword_utilities_module = "Module:headword utilities"
local string_utilities_module = "Module:string utilities"
local lang = require("Module:languages").getByCode("en")
local add_suffix = require_when_needed(en_utilities_module, "add_suffix")
local langname = lang:getCanonicalName()
local rsplit = mw.text.split
local function glossary_link(entry, text)
text = text or entry
return "[[부록:용어사전#" .. entry .. "|" .. text .. "]]"
end
local function track(page)
require("Module:debug/track")("en-headword/" .. page)
return true
end
------------------------------------------- UTILITY FUNCTIONS #1 ------------------------------------------
-- These functions are used directly in the <> format as well as in the utility functions #2 below.
local function compute_double_last_cons_stem(verb)
local last_cons = verb:match("([bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ])$")
if not last_cons then
error("Verb stem '" .. verb .. "' must end in a consonant to use ++")
end
return verb .. last_cons
end
local function compute_plusplus_s_form(verb, default_s_form)
if verb:find("[sz]$") then
-- regas -> regasses, derez -> derezzes
return compute_double_last_cons_stem(verb) .. "es"
else
return default_s_form
end
end
-- The main entry point.
-- This is the only function that can be invoked from a template.
function export.show(frame)
local poscat = frame.args[1] or error("Part of speech has not been specified. Please pass parameter 1 to the module invocation.")
local params = {
["head"] = {list = true},
["id"] = {},
["json"] = {type = "boolean"},
["sort"] = {},
["splithyph"] = {type = "boolean"},
["nosplithyph"] = {type = "boolean"},
["hyphspace"] = {type = "boolean"},
["nolink"] = {type = "boolean"},
["nolinkhead"] = {type = "boolean", alias_of = "nolink"},
["nosuffix"] = {type = "boolean"},
["nomultiwordcat"] = {type = "boolean"},
["pagename"] = {}, -- for testing
}
local pos_data = pos_functions[poscat]
if pos_data then
for key, val in pairs(pos_data.params) do
params[key] = val
end
end
local args = require("Module:parameters").process(frame:getParent().args, params, nil, "en-headword", "show")
local pagename = args.pagename or mw.loadData("Module:headword/data").pagename -- Accounts for unsupported titles.
local user_specified_heads = args.head
local heads = user_specified_heads
local autohead
if args.nolink or not pagename:find("[ '%-]") then
autohead = pagename
else
local m_headutil = require(headword_utilities_module)
local en_no_split_apostrophe_words = require("Module:table/listToSet") {
"one's",
"someone's",
"he's",
"she's",
"it's",
}
local en_include_hyphen_prefixes = require("Module:table/listToSet") {
-- We don't include things that are also words even though they are often (perhaps mostly) prefixes, e.g.
-- "be", "counter", "cross", "extra", "half", "mid", "over", "pan", "under".
"acro",
"acousto",
"Afro",
"agro",
"anarcho",
"angio",
"Anglo",
"ante",
"anti",
"arch",
"auto",
"bi",
"bio",
"cis",
"co",
"cryo",
"crypto",
"de",
"demi",
"eco",
"electro",
"Euro",
"ex",
"Greco",
"hemi",
"hydro",
"hyper",
"hypo",
"infra",
"Indo",
"inter",
"intra",
"Judeo",
"macro",
"meta",
"micro",
"mini",
"multi",
"neo",
"neuro",
"non",
"para",
"peri",
"post",
"pre",
"pro",
"proto",
"pseudo",
"re",
"semi",
"sub",
"super",
"trans",
"un",
"vice",
}
local function is_english(term)
local title = mw.title.new(term)
if title and title.exists then
local content = title:getContent()
if content and content:find("==English==\n") then
return true
end
end
return false
end
local function en_split_hyphen_when_space(word)
if not word:find("%-") then
return nil
end
if args.hyphspace then
return "[[" .. word:gsub("%-", " ") .. "|" .. word .. "]]"
end
if args.nosplithyph then
return "[[" .. word .. "]]"
end
if not args.splithyph then
local space_word = word:gsub("%-", " ")
if is_english(space_word) then
return "[[" .. space_word .. "|" .. word .. "]]"
end
if is_english(word) then
return "[[" .. word .. "]]"
end
end
return nil
end
local function en_split_apostrophe(word)
local base = word:match("^(.*)'s$")
if base then
return "[[" .. base .. "]][[-'s|'s]]"
end
base = word:match("^(.*)'$")
if base then
if base:find("s$") then
local sg = require(string_utilities_module).singularize(base)
if is_english(sg) then
return "[[" .. sg .. "|" .. base .. "]][[-'|']]"
end
end
return "[[" .. base .. "]][[-'|']]"
end
return "[[" .. word .. "]]"
end
autohead = m_headutil.add_links_to_multiword_term(pagename, {
split_hyphen_when_space = en_split_hyphen_when_space,
split_apostrophe = en_split_apostrophe,
no_split_apostrophe_words = en_no_split_apostrophe_words,
include_hyphen_prefixes = en_include_hyphen_prefixes,
})
end
if #heads == 0 then
heads = {autohead}
else
for i, head in ipairs(heads) do
if head:find("^~") then
head = require(headword_utilities_module).apply_link_modifiers(autohead, head:sub(2))
heads[i] = head
end
if head == autohead then
track("redundant-head")
end
end
end
local data = {
lang = lang,
pos_category = poscat,
categories = {},
heads = heads,
user_specified_heads = user_specified_heads,
no_redundant_head_cat = #user_specified_heads == 0,
inflections = {},
nomultiwordcat = args.nomultiwordcat,
sort_key = args.sort,
pagename = args.pagename,
-- This is always set, and in the case of unsupported titles, it's the displayed version (e.g. 'C|N>K' instead of
-- 'Unsupported titles/C through N to K').
displayed_pagename = pagename,
id = args.id,
force_cat_output = force_cat,
}
local is_suffix = false
if not args.nosuffix and pagename:find("^%-") and not pagename:find("^%-%-") and poscat ~= "suffix forms" then
is_suffix = true
data.pos_category = "suffixes"
local singular_poscat = require("Module:string utilities").singularize(poscat)
table.insert(data.categories, langname .. " " .. singular_poscat .. "-forming suffixes")
table.insert(data.inflections, {label = singular_poscat .. "-forming suffix"})
end
if pos_data then
pos_data.func(args, data, is_suffix)
end
local extra_categories = {}
if pagename:find("[Qq][^Uu]") or pagename:find("[Qq]$") then
table.insert(data.categories, langname .. " words containing Q not followed by U")
end
-- mw.ustring.toNFD performs decomposition, so letters that decompose
-- to an ASCII vowel and a diacritic, such as é, are counted as vowels and
-- do not need to be included in the pattern.
if not mw.ustring.find(mw.ustring.lower(mw.ustring.toNFD(pagename)), "[aeiouyæœøəªºαεηιουω]") then
table.insert(data.categories, langname .. " words without vowels")
end
if pagename:find("yre$") then
table.insert(data.categories, langname .. ' words ending in "-yre"')
end
if not pagename:find(" ") and mw.ustring.len(pagename) >= 25 then
table.insert(extra_categories, "Long " .. langname .. ' words')
end
if pagename:find("^[^aeiou ]*a[^aeiou ]*e[^aeiou ]*i[^aeiou ]*o[^aeiou ]*u[^aeiou ]*$") then
table.insert(data.categories, langname .. ' words that use all vowels in alphabetical order')
end
if args.json then
return require("Module:JSON").toJSON(data)
end
return require("Module:headword").full_headword(data)
.. (#extra_categories > 0
and require("Module:utilities").format_categories(extra_categories, lang, args.sort)
or "")
end
-- This function does the common work between adjectives and adverbs
local function make_comparatives(params, data)
local comp_parts = {label = glossary_link("비교급"), accel = {form = "비교급"}}
local sup_parts = {label = glossary_link("최상급"), accel = {form = "최상급"}}
local pagename = data.displayed_pagename
if #params == 0 then
table.insert(params, {"more"})
end
-- To form the stem, replace -(e)y with -i and remove a final -e.
local stem = pagename:gsub("([^aeiou])e?%f[y]y$", "%1i"):gsub("e$", "")
-- Go over each parameter given and create a comparative and superlative form
for i, val in ipairs(params) do
local comp = val[1]
local comp_qual = val[2]
local sup = val[3]
local sup_qual = val[4]
local comp_part, sup_part
if comp == "more" and pagename ~= "many" and pagename ~= "much" then
comp_part = "more [[" .. pagename .. "]]"
sup_part = "most [[" .. pagename .. "]]"
elseif comp == "further" and pagename ~= "far" then
comp_part = "further [[" .. pagename .. "]]"
sup_part = "furthest [[" .. pagename .. "]]"
elseif comp == "er" then
comp_part = stem .. "er"
sup_part = stem .. "est"
elseif comp == "-" or sup == "-" then
-- Allowing '-' makes it more flexible to not have some forms
if comp ~= "-" then
comp_part = comp
end
if sup ~= "-" then
sup_part = sup
end
else
-- If the full comparative was given, but no superlative, then
-- create it by replacing the ending -er with -est.
if not sup then
if comp:find("er$") then
sup = comp:gsub("er$", "est")
else
error("The superlative of \"" .. comp .. "\" cannot be generated automatically. Please provide it with the \"sup" .. (i == 1 and "" or i) .. "=\" parameter.")
end
end
comp_part = comp
sup_part = sup
end
if comp_part then
table.insert(comp_parts, {term = comp_part, q = {comp_qual}})
end
if sup_part then
table.insert(sup_parts, {term = sup_part, q = {sup_qual}})
end
end
table.insert(data.inflections, comp_parts)
table.insert(data.inflections, sup_parts)
end
local function make_heads_definite(args, data)
if args.def == "~" then
local newheads = {}
for i, head in ipairs(data.heads) do
table.insert(newheads, head)
table.insert(newheads, "the " .. head)
end
data.heads = newheads
else
for i, head in ipairs(data.heads) do
data.heads[i] = "the " .. head
end
end
end
pos_functions["형용사"] = {
params = {
[1] = {list = true, allow_holes = true},
["def"] = {},
["the"] = {alias_of = "def"},
["comp_qual"] = {list = "comp\1_qual", allow_holes = true},
["sup"] = {list = true, allow_holes = true},
["sup_qual"] = {list = "sup\1_qual", allow_holes = true},
},
func = function(args, data)
local shift = 0
local is_not_comparable = false
local is_comparative_only = false
if args.def then
make_heads_definite(args, data)
end
-- If the first parameter is ?, then don't show anything, just return.
if args[1][1] == "?" then
return
-- If the first parameter is -, then move all parameters up one position.
elseif args[1][1] == "-" then
shift = 1
is_not_comparable = true
-- If the only argument is +, then remember this and clear parameters
elseif args[1][1] == "+" and args[1].maxindex == 1 then
shift = 1
is_comparative_only = true
end
-- Gather all the comparative and superlative parameters.
local params = {}
for i = 1, args[1].maxindex - shift do
local comp = args[1][i + shift]
local comp_qual = args["comp_qual"][i + shift]
local sup = args["sup"][i]
local sup_qual = args["sup_qual"][i + shift]
if comp or sup then
table.insert(params, {comp, comp_qual, sup, sup_qual})
end
end
if shift == 1 then
-- If the first parameter is "-" but there are no parameters,
-- then show "not comparable" only and return.
-- If there are parameters, then show "not generally comparable"
-- before the forms.
if #params == 0 then
if is_not_comparable then
table.insert(data.inflections, {label = glossary_link("비교급") .. "으로는 쓰이지 않음"})
table.insert(data.categories, langname .. " 비교급으로 쓰이지 않는 형용사")
return
end
if is_comparative_only then
table.insert(data.inflections, {label = glossary_link("비교급") .. "만 존재"})
table.insert(data.categories, langname .. " 비교급만 존재하는 형용사")
return
end
else
table.insert(data.inflections, {label = "일반적으로 " .. glossary_link("비교급") .. "으로 쓰이지 않음"})
end
end
-- Process the parameters
make_comparatives(params, data)
end
}
pos_functions["부사"] = {
params = {
[1] = {list = true, allow_holes = true},
["comp_qual"] = {list = "comp\1_qual", allow_holes = true},
["sup"] = {list = true, allow_holes = true},
["sup_qual"] = {list = "sup\1_qual", allow_holes = true},
},
func = function(args, data)
local shift = 0
-- If the first parameter is ?, then don't show anything, just return.
if args[1][1] == "?" then
return
-- If the first parameter is -, then move all parameters up one position.
elseif args[1][1] == "-" then
shift = 1
end
-- Gather all the comparative and superlative parameters.
local params = {}
for i = 1, args[1].maxindex - shift do
local comp = args[1][i + shift]
local comp_qual = args["comp_qual"][i + shift]
local sup = args["sup"][i]
local sup_qual = args["sup_qual"][i + shift]
if comp or sup then
table.insert(params, {comp, comp_qual, sup, sup_qual})
end
end
if shift == 1 then
-- If the first parameter is "-" but there are no parameters,
-- then show "not comparable" only and return. If there are parameters,
-- then show "not generally comparable" before the forms.
if #params == 0 then
table.insert(data.inflections, {label = "not " .. glossary_link("comparable")})
table.insert(data.categories, langname .. " uncomparable adverbs")
return
else
table.insert(data.inflections, {label = "not generally " .. glossary_link("comparable")})
end
end
-- Process the parameters
make_comparatives(params, data)
end
}
pos_functions["conjunctions"] = {
params = {
[1] = { alias_of = "head" },
},
func = function(args, data)
end,
}
pos_functions["interjections"] = {
params = {
[1] = { alias_of = "head" },
},
func = function(args, data)
end,
}
local function escape(str)
return (str:gsub("\\([:#])", "\\\\%1")
:gsub("[:#]", "\\%0"))
end
local function default_plural(noun)
if noun:match("[sxz]$") or noun:match("[csz]h$") then
noun = noun .. "es"
elseif noun:match("%f[%z aeiouy]y$") then
noun = noun:gsub("y$", "i") .. "es"
else
noun = noun .. "s"
end
return escape(noun)
end
local function canonicalize_plural(pl, pagename, pos)
if pl == "+" then
return escape(add_suffix(pagename, "s.plural", pos))
elseif pl == "++" then
return escape(compute_plusplus_s_form(pagename, add_suffix(pagename, "s.plural", pos)))
elseif pl == "*" then
return escape(pagename)
elseif pl == "ies" then
if pagename:sub(-1) == "y" then
return escape(pagename:gsub("e?y$", pl))
end
error("Can't specify 'ies' plural unless the term ends with 'y'.")
elseif not (pl == "s" or pl == "es" or pl == "'s") then
return nil
end
return escape(pagename .. pl)
end
local function do_nouns(args, data, is_proper)
local pagename = data.displayed_pagename
local function gather_inflections_with_quals(infl_field, qual_field, label)
-- Gather all the plural parameters from the numbered parameters.
local infls = {}
if label then
infls.label = label
end
for i, infl in ipairs(args[infl_field]) do
local qual = args[qual_field][i]
if qual then
table.insert(infls, {term = infl, q = {qual}})
else
table.insert(infls, infl)
end
end
return infls
end
if args.def then
make_heads_definite(args, data)
end
local plurals = gather_inflections_with_quals(1, "plqual")
if plurals[1] == "p" then
-- plurale tantum
if #plurals > 1 then
error("With plurale tantum noun, can't specify more than one plural")
end
data.genders = {"p"} -- this should auto-insert the correct 'pluralia tantum' category
if #args.sg > 0 then
table.insert(data.inflections, {label = "normally plural"})
table.insert(data.inflections, gather_inflections_with_quals("sg", "sgqual", "singular"))
else
table.insert(data.inflections, {label = "복수로만"})
table.insert(data.categories, langname .. " 복수형으로만 사용되는 명사")
end
if #args.attr > 0 then
table.insert(data.inflections, gather_inflections_with_quals("attr", "attrqual", "attributive"))
end
return
end
local need_default_plural = not is_proper
if plurals[1] == "-" then
table.remove(plurals, 1) -- Remove the "-"
table.insert(data.categories, langname .. " 불가산명사")
-- If plural forms were given explicitly, then show "usually"
if #plurals > 0 then
table.insert(data.inflections, {label = "주로 " .. glossary_link("불가산명사")})
table.insert(data.categories, langname .. " 가산명사")
else
table.insert(data.inflections, {label = glossary_link("불가산명사")})
end
need_default_plural = false
elseif plurals[1] == "~" then
table.remove(plurals, 1) -- Remove the "~"
table.insert(data.inflections, {label = glossary_link("가산명사") .. " 혹은 " .. glossary_link("불가산명사")})
table.insert(data.categories, langname .. " 가산명사이면서 불가산명사인 명사")
-- If no plural was given, add a default one now
if #plurals == 0 then
plurals = {default_plural(pagename)}
end
elseif is_proper then
-- For proper nouns, the default is uncountable
table.insert(data.categories, langname .. " 불가산명사")
else
-- For common nouns, the default is countable, has a plural
table.insert(data.categories, langname .. " 가산명사")
end
-- Plural is unknown
if plurals[1] == "?" then
table.remove(plurals, 1) -- Remove the "?"
-- Not desired; see [[Wiktionary:Tea_room/2021/August#"Plural unknown or uncertain"]]
-- table.insert(data.inflections, {label = "plural unknown or uncertain"})
table.insert(data.categories, langname .. " nouns with unknown or uncertain plurals")
if #plurals > 0 then
error("Can't specify explicit plurals along with '?' for unknown/uncertain plural")
end
return
end
-- Plural is not attested
if plurals[1] == "!" then
table.remove(plurals, 1) -- Remove the "!"
table.insert(data.inflections, {label = "plural not attested"})
table.insert(data.categories, langname .. " nouns with unattested plurals")
if #plurals > 0 then
error("Can't specify explicit plurals along with '!' for unattested plural")
end
return
end
-- If no plural was given, maybe add a default one, otherwise (when "-" was given) return
if #plurals == 0 then
if need_default_plural then
plurals = {default_plural(pagename)}
else
return
end
end
-- There are plural forms to show, so show them
local pl_parts = {label = "복수", accel = {form = "p"}}
local function check_ies(pl, stem)
local newplural, nummatches = stem:gsub("%f[%z aeiouy]y$","ies")
return nummatches > 0 and pl == newplural
end
local stem = pagename
local irregular = false
for i, pl in ipairs(plurals) do
local term, quals = pl, nil
if type(pl) == "table" then
term = pl.term
quals = pl.q
end
local canon_pl = canonicalize_plural(term, pagename, nil)
if canon_pl then
if quals then
table.insert(pl_parts, {term = canon_pl, q = quals})
else
table.insert(pl_parts, canon_pl)
end
if term == "*" then
irregular = true
table.insert(data.categories, langname .. " 불변화 명사")
end
else
table.insert(pl_parts, pl)
local check_pl = m_links.get_link_page(term, lang)
if not stem:find(" ") and not (check_pl == stem .. "s" or check_pl == stem .. "es" or check_ies(check_pl, stem)) then
irregular = true
if check_pl == pagename then
table.insert(data.categories, langname .. " 불변화 명사")
end
end
end
end
if irregular then
table.insert(data.categories, langname .. " 불규칙 복수형을 가진 명사")
end
table.insert(data.inflections, pl_parts)
end
-- Return the parameters to be used for nouns and proper nouns. Currently the same.
local function get_noun_params(is_proper)
return {
[1] = {list = true, disallow_holes = true},
["def"] = {},
["the"] = {alias_of = "def"},
["pl\1qual"] = {list = true, allow_holes = true},
-- The following four only used for pluralia tantum (1=p)
["sg"] = {list = true, disallow_holes = true},
["sg\1qual"] = {list = true, allow_holes = true},
["attr"] = {list = true, disallow_holes = true},
["attr\1qual"] = {list = true, allow_holes = true},
}
end
pos_functions["명사"] = {
params = get_noun_params(false),
func = do_nouns,
}
pos_functions["고유명사"] = {
params = get_noun_params("is proper"),
func = function(args, data) return do_nouns(args, data, "is proper") end,
}
local function base_default_verb_forms(verb)
local s_form = default_plural(verb)
local ing_form, ed_form
local vowel = "aeiouáéíóúàèìòùâêîôûäëïöüæœø"
local ulvowel = vowel .. "AEIOUÁÉÍÓÚÀÈÌÒÙÂÊÎÔÛÄËÏÖÜÆŒØ"
-- (1) Check for C*VC verbs.
--
-- flip -> flipping/flipped, strum -> strumming/strummed, nag -> nagging/nagged, etc.
-- Do not include words with final -y, e.g. 'stay' (staying/stayed), 'toy' (toying/toyed),
-- or with final -w, e.g. 'flow' (flowing/flowed), or with final -h, e.g. 'ah' (ahing/ahed),
-- or with final -x, e.g. 'box' (boxing/boxed), or ending in an uppercase consonant,
-- e.g. 'XOR' (XORing/XORed), 'OK' (OKing/OKed). Check specially for initial y- as a consonant,
-- e.g. 'yip' (yipping/yipped), otherwise treat y as a vowel, so we don't trigger on 'hyphen'
-- but do trigger on 'gyp'.
local last_cons = mw.ustring.match(verb, "^[Yy][" .. vowel .. "y]([^A-Z" .. vowel .. "ywxh])$")
if not last_cons then
last_cons = mw.ustring.match(verb, "^[^" .. ulvowel .. "yY]*[" .. ulvowel .. "yY]([^A-Z" .. vowel .. "ywxh])$")
end
if last_cons then
ing_form = verb .. last_cons .. "ing"
ed_form = verb .. last_cons .. "ed"
else
-- (2) Generate -ing form.
-- (2a) lie -> lying, untie -> untying, etc.
local stem = verb:match("^(.*)ie$")
if stem then
ing_form = stem .. "ying"
else
-- (2b) argue -> arguing, sprue -> spruing, dialogue -> dialoguing, etc.
stem = verb:match("^(.*)ue$")
if stem then
ing_form = stem .. "uing"
else
stem = mw.ustring.match(verb, "^(.*[" .. ulvowel .. "yY][^" .. vowel .. "y]+)e$")
if stem then
-- (2c) baptize -> baptizing, rake -> raking, type -> typing, parse -> parsing, etc.
-- (ending in vowel + consonant(s) + -e); but not referee -> refereeing,
-- backhoe -> backhoeing, redye -> redyeing (ending in some other vowel + -e or in -ye);
-- and not be -> being (no vowel before the consonant preceding the -e)
ing_form = stem .. "ing"
else
-- (2d) regular verbs
ing_form = verb .. "ing"
end
end
end
-- (3) Generate -ed form.
if verb:find("e$") then
-- (3a) baptize -> baptized, rake -> raked, parse -> parsed, free -> freed, hoe -> hoed
ed_form = verb .. "d"
else
stem = mw.ustring.match(verb, "^(.*[^" .. ulvowel .. "yY])y$")
if stem then
-- (3b) marry -> married, levy -> levied, try -> tried, etc.; but not toy -> toyed
ed_form = stem .. "ied"
else
-- (3c) regular verbs
ed_form = verb .. "ed"
end
end
end
ing_form = ing_form
:gsub("\\([:#])", "\\\\%1")
:gsub("[:#]", "\\%0")
ed_form = ed_form
:gsub("\\([:#])", "\\\\%1")
:gsub("[:#]", "\\%0")
return s_form, ing_form, ed_form
end
local function default_verb_forms(verb)
local full_s_form, full_ing_form, full_ed_form = base_default_verb_forms(verb)
if verb:find(" ") then
local first, rest = verb:match("^(.-)( .*)$")
local first_s_form, first_ing_form, first_ed_form = base_default_verb_forms(first)
return full_s_form, full_ing_form, full_ed_form, first_s_form .. rest, first_ing_form .. rest, first_ed_form .. rest
else
return full_s_form, full_ing_form, full_ed_form, nil, nil, nil
end
end
pos_functions["동사"] = {
params = {
[1] = {list = "pres_3sg", allow_holes = true},
["pres_3sg_qual"] = {list = "pres_3sg\1_qual", allow_holes = true},
[2] = {list = "pres_ptc", allow_holes = true},
["pres_ptc_qual"] = {list = "pres_ptc\1_qual", allow_holes = true},
[3] = {list = "past", allow_holes = true},
["past_qual"] = {list = "past\1_qual", allow_holes = true},
[4] = {list = "past_ptc", allow_holes = true},
["past_ptc_qual"] = {list = "past_ptc\1_qual", allow_holes = true},
["noautolinkverb"] = {type = "boolean"},
},
func = function(args, data)
-- Get parameters
local par1 = args[1][1]
local par2 = args[2][1]
local par3 = args[3][1]
local par4 = args[4][1]
local pres_3sgs, pres_ptcs, pasts, past_ptcs
local pagename = data.displayed_pagename
------------------------------------------- UTILITY FUNCTIONS #2 ------------------------------------------
-- These functions are used in both in the separate-parameter format and in the override params such as past_ptc2=.
local new_default_s, new_default_ing, new_default_ed, split_default_s, split_default_ing, split_default_ed =
default_verb_forms(pagename)
local function compute_double_last_cons_stem_of_split_verb(verb, ending)
local first, rest = verb:match("^(.-)( .*)$")
if not first then
error("Verb '" .. verb .. "' must have a space in it to use ++*")
end
local last_cons = first:match("([bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ])$")
if not last_cons then
error("First word '" .. first .. "' must end in a consonant to use ++*")
end
return first .. last_cons .. ending .. rest
end
local function check_non_nil_star_form(form)
if form == nil then
error("Verb '" .. pagename .. "' must have a space in it to use * or ++*")
end
return form
end
local function sub_tilde(form)
if not form then
return nil
end
local retval = form:gsub("~", pagename) -- discard second return value
return retval
end
local function canonicalize_s_form(form)
if form == "+" then
return new_default_s
elseif form == "*" then
return check_non_nil_star_form(split_default_s)
elseif form == "++" then
return compute_plusplus_s_form(pagename, new_default_s)
elseif form == "++*" then
if pagename:find("^[^ ]*[sz] ") then
return compute_double_last_cons_stem_of_split_verb(pagename, "es")
else
return check_non_nil_star_form(split_default_s)
end
else
return sub_tilde(form)
end
end
local function canonicalize_ing_form(form)
if form == "+" then
return new_default_ing
elseif form == "*" then
return check_non_nil_star_form(split_default_ing)
elseif form == "++" then
return compute_double_last_cons_stem(pagename) .. "ing"
elseif form == "++*" then
return compute_double_last_cons_stem_of_split_verb(pagename, "ing")
else
return sub_tilde(form)
end
end
local function canonicalize_ed_form(form)
if form == "+" then
return new_default_ed
elseif form == "*" then
return check_non_nil_star_form(split_default_ed)
elseif form == "++" then
return compute_double_last_cons_stem(pagename) .. "ed"
elseif form == "++*" then
return compute_double_last_cons_stem_of_split_verb(pagename, "ed")
else
return sub_tilde(form)
end
end
--------------------------------- MAIN PARSING/CONJUGATING CODE --------------------------------
local past_ptcs_given
if par1 and par1:find("<") then
-------------------------- ANGLE-BRACKET FORMAT --------------------------
if par2 or par3 or par4 then
error("Can't specify 2=, 3= or 4= when 1= contains angle brackets: " .. par1)
end
-- In the angle bracket format, we always copy the full past tense specs to the past participle
-- specs if none of the latter are given, so act as if the past participle is always given.
-- There is a separate check to see if the past tense and past participle are identical, in any case.
past_ptcs_given = true
local iut = require("Module:inflection utilities")
-- (1) Parse the indicator specs inside of angle brackets.
local function parse_indicator_spec(angle_bracket_spec)
local inside = angle_bracket_spec:match("^<(.*)>$")
assert(inside)
local segments = iut.parse_balanced_segment_run(inside, "[", "]")
local comma_separated_groups = iut.split_alternating_runs(segments, ",")
if #comma_separated_groups > 4 then
error("Too many comma-separated parts in indicator spec: " .. angle_bracket_spec)
end
local function fetch_qualifiers(separated_group)
local qualifiers
for j = 2, #separated_group - 1, 2 do
if separated_group[j + 1] ~= "" then
error("Extraneous text after bracketed qualifiers: '" .. table.concat(separated_group) .. "'")
end
if not qualifiers then
qualifiers = {}
end
table.insert(qualifiers, separated_group[j])
end
return qualifiers
end
local function fetch_specs(comma_separated_group)
if not comma_separated_group then
return {{}}
end
local specs = {}
local colon_separated_groups = iut.split_alternating_runs(comma_separated_group, ":")
for _, colon_separated_group in ipairs(colon_separated_groups) do
local form = colon_separated_group[1]
if form == "*" or form == "++*" then
error("* and ++* not allowed inside of indicator specs: " .. angle_bracket_spec)
end
if form == "" then
form = nil
end
table.insert(specs, {form = form, q = fetch_qualifiers(colon_separated_group)})
end
return specs
end
local s_specs = fetch_specs(comma_separated_groups[1])
local ing_specs = fetch_specs(comma_separated_groups[2])
local ed_specs = fetch_specs(comma_separated_groups[3])
local en_specs = fetch_specs(comma_separated_groups[4])
for _, spec in ipairs(s_specs) do
if spec.form == "++" and #ing_specs == 1 and not ing_specs[1].form and not ing_specs[1].q
and #ed_specs == 1 and not ed_specs[1].form and not ed_specs[1].q then
ing_specs[1].form = "++"
ed_specs[1].form = "++"
break
end
end
return {
forms = {},
s_specs = s_specs,
ing_specs = ing_specs,
ed_specs = ed_specs,
en_specs = en_specs,
}
end
local parse_props = {
parse_indicator_spec = parse_indicator_spec,
}
local alternant_multiword_spec = iut.parse_inflected_text(par1, parse_props)
-- (2) Check for user-specified brackets; remove any links from the lemma, but remember the original
-- form so we can use it below in the 'lemma_linked' form.
-- Check to see if there are brackets in the pre-text or post-text. If so, use the linked lemma (with the
-- verb autolinked unless noautolinkverb is given). Otherwise, use the default headword algorithm.
local function check_bracket(val)
if val:find("%[%[") then
alternant_multiword_spec.saw_bracket = true
end
end
for _, alternant_or_word_spec in ipairs(alternant_multiword_spec.alternant_or_word_specs) do
check_bracket(alternant_or_word_spec.before_text)
if alternant_or_word_spec.alternants then
for _, multiword_spec in ipairs(alternant_or_word_spec.alternants) do
for _, word_spec in ipairs(multiword_spec.word_specs) do
check_bracket(word_spec.before_text)
end
check_bracket(multiword_spec.post_text)
end
end
end
check_bracket(alternant_multiword_spec.post_text)
iut.map_word_specs(alternant_multiword_spec, function(base)
if base.lemma == "" then
base.lemma = pagename
end
base.orig_lemma = base.lemma
base.lemma = m_links.remove_links(base.lemma)
if args.noautolinkverb or base.orig_lemma:find("%[%[") then
base.linked_lemma = base.orig_lemma
else
base.linked_lemma = "[[" .. base.orig_lemma .. "]]"
end
end)
-- (3) Conjugate the verbs according to the indicator specs parsed above.
local all_verb_slots = {
lemma = "infinitive",
lemma_linked = "infinitive",
s_form = "3|s|pres",
ing_form = "pres|ptcp",
ed_form = "past",
en_form = "past|ptcp",
}
local function conjugate_verb(base)
local def_s_form, def_ing_form, def_ed_form = base_default_verb_forms(base.lemma)
local function process_specs(slot, specs, default_form, canonicalize_plusplus)
for _, spec in ipairs(specs) do
local form = spec.form
if not form or form == "+" then
form = default_form
elseif form == "++" then
form = canonicalize_plusplus()
end
-- If there's a ~ in the form, substitute it with the lemma,
-- but make sure to first replace % in the lemma with %% so that
-- it doesn't get interpreted as a capture replace expression.
if form:find("~") then
-- Assign to a var because gsub returns multiple values.
local subbed_lemma = base.lemma:gsub("%%", "%%%%")
form = form:gsub("~", subbed_lemma)
end
-- If the form is -, don't insert any forms, which will result
-- in there being no overall forms (in fact it will be nil).
-- We check for that down below and substitute a single "-" as
-- the form, which in turn gets turned into special labels like
-- "no present participle".
if form ~= "-" then
iut.insert_form(base.forms, slot, {form = form, footnotes = spec.q})
end
end
end
process_specs("s_form", base.s_specs, def_s_form,
function() return compute_plusplus_s_form(base.lemma, def_s_form) end)
process_specs("ing_form", base.ing_specs, def_ing_form,
function() return compute_double_last_cons_stem(base.lemma) .. "ing" end)
process_specs("ed_form", base.ed_specs, def_ed_form,
function() return compute_double_last_cons_stem(base.lemma) .. "ed" end)
-- If the -en spec is completely missing, substitute the -ed spec in its entirely.
-- Otherwise, if individual -en forms are missing or use +, we will substitute the
-- default -ed form, as with the -ed spec.
local en_specs = base.en_specs
if #en_specs == 1 and not en_specs[1].form and not en_specs[1].q then
en_specs = base.ed_specs
end
process_specs("en_form", en_specs, def_ed_form,
function() return compute_double_last_cons_stem(base.lemma) .. "ed" end)
iut.insert_form(base.forms, "lemma", {form = base.lemma})
-- Add linked version of lemma for use in head=. We write this in a general fashion in case
-- there are multiple lemma forms (which isn't possible currently at this level, although it's
-- possible overall using the ((...,...)) notation).
iut.insert_forms(base.forms, "lemma_linked", iut.map_forms(base.forms.lemma, function(form)
if form == base.lemma and base.linked_lemma:find("%[%[") then
return base.linked_lemma
else
return form
end
end))
end
local inflect_props = {
slot_table = all_verb_slots,
inflect_word_spec = conjugate_verb,
}
iut.inflect_multiword_or_alternant_multiword_spec(alternant_multiword_spec, inflect_props)
-- (4) Fetch the forms and put the conjugated lemmas in data.heads if not explicitly given.
local function fetch_forms(slot)
local forms = alternant_multiword_spec.forms[slot]
-- See above. This should only occur if the user explicitly used -
-- for a spec.
if not forms or #forms == 0 then
forms = {{form = "-"}}
end
return forms
end
pres_3sgs = fetch_forms("s_form")
pres_ptcs = fetch_forms("ing_form")
pasts = fetch_forms("ed_form")
past_ptcs = fetch_forms("en_form")
-- Use the "linked" form of the lemma as the head if no head= explicitly given and the user specified brackets
-- in one of the lemmas. Otherwise we use the default headword-linking algorithm.
if #data.user_specified_heads == 0 and alternant_multiword_spec.saw_bracket then
data.heads = {}
for _, lemma_obj in ipairs(alternant_multiword_spec.forms.lemma_linked) do
local lemma = lemma_obj.form
local footnotes = lemma_obj.footnotes
local quals, refs
if footnotes then
quals, refs = require("Module:inflection utilities").fetch_headword_qualifiers_and_references(footnotes)
end
table.insert(data.heads, {term = lemma, q = quals, refs = refs})
end
end
else
-------------------------- SEPARATE-PARAM FORMAT --------------------------
local pres_3sg, pres_ptc, past
if par1 and not par2 and not par3 then
-- Use of a single parameter other than "++", "*" or "++*" is now the "legacy" format,
-- and no longer supported.
if par1 == "es" or par1 == "ies" or par1 == "d" then
error("Legacy parameter 1=es/ies/d no longer supported, just use 'en-verb' without params")
elseif par1 == "++" or par1 == "*" or par1 == "++*" then
pres_3sg = canonicalize_s_form(par1)
pres_ptc = canonicalize_ing_form(par1)
past = canonicalize_ed_form(par1)
else
error("Legacy parameter 1=STEM no longer supported, just use 'en-verb' without params")
end
else
if par3 then
track("xxx3")
elseif par2 then
track("xxx2")
end
end
if not pres_3sg or not pres_ptc or not past then
-- Either all three should be set above, or none of them.
assert(not pres_3sg and not pres_ptc and not past)
if par1 then
pres_3sg = canonicalize_s_form(par1)
else
pres_3sg = new_default_s
end
if par2 then
pres_ptc = canonicalize_ing_form(par2)
else
pres_ptc = new_default_ing
end
if par3 then
past = canonicalize_ed_form(par3)
else
past = new_default_ed
end
end
if par4 then
past_ptcs_given = true
past_ptc = canonicalize_ed_form(par4)
else
past_ptc = past
end
pres_3sgs = {{form = pres_3sg}}
pres_ptcs = {{form = pres_ptc}}
pasts = {{form = past}}
past_ptcs = {{form = past_ptc}}
end
------------------------------------------- HANDLE OVERRIDES ------------------------------------------
local pres_3sg_infls, pres_ptc_infls, past_infls, past_ptc_infls
local function strip_brackets(qualifiers)
if not qualifiers then
return nil
end
local stripped_qualifiers = {}
for _, qualifier in ipairs(qualifiers) do
local stripped_qualifier = qualifier:match("^%[(.*)%]$")
if not stripped_qualifier then
error("Internal error: Qualifier should be surrounded by brackets at this stage: " .. qualifier)
end
table.insert(stripped_qualifiers, stripped_qualifier)
end
return stripped_qualifiers
end
local function collect_forms(label, accel_form, defaults, overrides, override_qualifiers, canonicalize)
if defaults[1].form == "-" then
return {label = "no " .. label}
else
local into_table = {label = label, accel = {form = accel_form}}
local maxindex = math.max(#defaults, overrides.maxindex)
local qualifiers = override_qualifiers[1] and {override_qualifiers[1]} or strip_brackets(defaults[1].footnotes)
table.insert(into_table, {term = defaults[1].form, q = qualifiers})
-- Present 3rd singular
for i = 2, maxindex do
local override_form = canonicalize(overrides[i])
if override_form then
-- If there is an override such as past_ptc2=..., only use the qualifier specified
-- using an override (past_ptc2_qual=...), if any; it doesn't make sense to combine
-- an override form with a qualifier specified inside of angle brackets.
table.insert(into_table, {term = override_form, q = {override_qualifiers[i]}})
elseif defaults[i] then
-- If the form comes from inside angle brackets, allow any override qualifier
-- (past_ptc2_qual=...) to override any qualifier specified inside of angle brackets.
-- FIXME: Maybe we should throw an error here if both exist.
local qualifiers = override_qualifiers[i] and {override_qualifiers[i]} or strip_brackets(defaults[i].footnotes)
table.insert(into_table, {term = defaults[i].form, q = qualifiers})
end
end
return into_table
end
end
local pres_3sg_infls = collect_forms("3인칭 단수 현재형", "s-verb-form",
pres_3sgs, args[1], args.pres_3sg_qual, canonicalize_s_form)
local pres_ptc_infls = collect_forms("현재분사", "ing-form",
pres_ptcs, args[2], args.pres_ptc_qual, canonicalize_ing_form)
local past_infls = collect_forms("과거형", "spast",
pasts, args[3], args.past_qual, canonicalize_ed_form)
local past_ptc_infls = collect_forms("과거분사", "past|part",
past_ptcs, args[4], args.past_ptc_qual, canonicalize_ed_form)
-- Are the past forms identical to the past participle forms? If so, we use a single
-- combined "simple past and past participle" label on the past tense forms.
-- We check for two conditions: Either no past participle forms were given at all, or
-- they were given but are identical in every way (all forms and qualifiers) to the past
-- tense forms. The former "no explicit past participle forms" check is important in the
-- "separate-parameter" format; if past tense overrides are given and no past participle
-- forms given, the past tense overrides should apply to the past participle as well.
-- In the angle-bracket format, it's expected that all forms and qualifiers are specified
-- using that format, and we explicitly copy past tense forms and qualifiers to past
-- participle ones if the latter are omitted, so we disable to "no explicit past participle
-- forms" check.
if args[4].maxindex > 0 or args.past_ptc_qual.maxindex > 0 then
past_ptcs_given = true
end
local identical = true
-- For the past and past participle to be identical, there must be
-- the same number of inflections, and each inflection must match
-- in term and qualifiers.
if #past_infls ~= #past_ptc_infls then
identical = false
else
for key, val in ipairs(past_infls) do
if past_ptc_infls[key].term ~= val.term then
identical = false
break
else
local quals1 = past_ptc_infls[key].q
local quals2 = val.q
if (not not quals1) ~= (not not quals2) then
-- one is nil, the other is not
identical = false
elseif quals1 and quals2 then
-- qualifiers present in both; each qualifier must match
if #quals1 ~= #quals2 then
identical = false
else
for k, v in ipairs(quals1) do
if v ~= quals2[k] then
identical = false
break
end
end
end
end
if not identical then
break
end
end
end
end
-- Insert the forms
table.insert(data.inflections, pres_3sg_infls)
table.insert(data.inflections, pres_ptc_infls)
if not past_ptcs_given or identical then
if past_ptcs[1].form == "-" then
past_infls.label = "과거형 및 과거분사로 쓰이지 않음"
else
past_infls.label = "과거형 및 과거분사"
past_infls.accel = {form = "ed-form"}
end
table.insert(data.inflections, past_infls)
else
table.insert(data.inflections, past_infls)
table.insert(data.inflections, past_ptc_infls)
end
if pagename:find(" ") then
-- Check for placeholder "it"
local words = rsplit(pagename, " ")
for i, word in ipairs(words) do
if word == "it" or word == "its" or word == "it's" then
table.insert(data.categories, langname .. ' terms with placeholder "it"')
break
end
end
-- Check for phrasal verbs
local phrasal_adverbs = require("Module:table/listToSet") {
-- NOTE: This should only contain common phrasal adverbs, not random words like [[low]],
-- [[adrift]], etc.
"aback",
"about",
"above",
"across",
"after",
"against",
"ahead",
"along",
"apart",
"around",
"as",
"aside",
"at",
"away",
"back",
"before",
"behind",
"below",
"between",
"beyond",
"by",
"down",
"for",
"forth",
"from",
"in",
"into",
"of",
"off",
"on",
"onto",
"out",
"over",
"past",
"round",
"through",
"to",
"together",
"towards",
"under",
"up",
"upon",
"with",
"without",
}
local allowed_non_adverb_words = require("Module:table/listToSet") {
"it",
"one",
"oneself",
"someone",
}
local base = pagename
local seen_adverbs = {}
-- Only consider a verb to be phrasal if it consists of a single base verb followed exclusively by either
-- adverbs from `phrasal_adverbs` or placeholder words from `allowed_non_adverb_words`, where at
-- least one following word is from `phrasal_adverbs` (hence [[can it]] is not a phrasal verb).
while true do
local prev, word = base:match("^(.+) (.-)$")
if not prev then
break
end
if phrasal_adverbs[word] then
table.insert(seen_adverbs, word)
elseif allowed_non_adverb_words[word] then
-- do nothing
else
break
end
base = prev
end
if not base:find(" ") and #seen_adverbs > 0 then
table.insert(data.categories, langname .. " 동사구")
for i = #seen_adverbs, 1, -1 do
table.insert(data.categories, langname .. ' phrasal verbs formed with "' .. seen_adverbs[i] ..
'"')
end
end
end
end
}
return export
sqw36ggqyagxub7v4fv8wz922jvlo79
及格
0
496513
4485204
2026-07-09T07:52:38Z
Bykim2012
11306
새 문서: == 중국어 == *어원: {{발음 듣기|}} {{IPA|}} *병음:jígé === 동사 === # 합격하다 # 这次英语考试居然没及格。Zhè cì yīngyǔ kǎoshì jūrán méi jígé. 이번 영어 시험에 떨어졌어요. [[분류:중국어]]
4485204
wikitext
text/x-wiki
== 중국어 ==
*어원:
{{발음 듣기|}}
{{IPA|}}
*병음:jígé
=== 동사 ===
# 합격하다
# 这次英语考试居然没及格。Zhè cì yīngyǔ kǎoshì jūrán méi jígé. 이번 영어 시험에 떨어졌어요.
[[분류:중국어]]
rgx3p1ena5w1xt7rcnhqwz1u6kk4c2i