위키낱말사전 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.18 case-sensitive 미디어 특수 토론 사용자 사용자토론 위키낱말사전 위키낱말사전토론 파일 파일토론 미디어위키 미디어위키토론 틀 틀토론 도움말 도움말토론 분류 분류토론 부록 부록 토론 TimedText TimedText talk 모듈 모듈토론 행사 행사토론 손톱 0 19611 4486427 4193999 2026-09-07T22:32:22Z Apisite 21408 /* 한국어 */ + ko-noun 4486427 wikitext text/x-wiki == 한국어 == === 어원 === {{com|ko|손|톱}} === 발음 === {{ko-IPA}} === 명사 === {{ko-noun}} # 손가락 끝에 타원형으로 생긴 딱딱한 부분. :* '''손톱'''을 깍다. :* '''손톱''' 밑에 때가 까맣게 끼었다. *합성어: [[손톱깎이]], [[속손톱]] ==== 번역 ==== {{외국어| * 가가우스어(gag): [[tırnak]] * 갈리시아어(gl): [[unlla]], [[uña]] * 고대 영어(ang): [[nægel]] * 구자라트어(gu): [[નખ]](nakh) (남성) * 과라니어(gn): [[pyapẽ]] * 그리스어(el): [[νύχι]] (중성), (고대); [[ὄνυξ]] (남성) * 나와틀어(nah): [[iztetl]] * 나폴리어(nap): [[ogna]] (여성) * 네네츠어(yrk): [[хада]] * 네덜란드어(nl): [[nagel]] * 노르웨이어(no): [[negl]] * 덴마크어(da): [[negl]] * 독일어(de): [[Nagel]] (남성); [[Fingernagel]] (남성) * 돌간어(dlg): [[тыӈырак]] * 라디노어(lad): [[unya]] * 라오어(lo): [[ເລັບມື]](lēp mɨ́) * 라트갈레어(ltg): [[nogs]] (남성) * 라트비아어(lv): [[nags]] * 라틴어(la): [[unguis]] (남성) * 라파누이어(rap): [[akikuku]] * 러시아어(ru): [[ноготь]] (남성) * 로망슈어(rm): [[ungla]] (여성) * 롬바르드어(lmo): [[ongia]] * 루마니아어(ro): [[unghie]] (여성) * 룩셈부르크어(lb): [[Nol]] * 룬디어(run): [[urwāra]] * 리투아니아어(lt): [[nagas]] * 림뷔르흐어(li): [[nagel]] * 링갈라어(ln): [[nzongolongo]] * 마라티어(mr): [[नख]](nakh) (중성) * 마리어(chm): [[кӱч]] * 마사이어(mas): [[iloisotok]] * 마오리어(mi): [[maikuku]] * 마케도니아어(mk): [[нокт]] * 마푸체어(arn): [[wili]] * 말라가시어(mg): [[hoho]] * 말레이어(ms): [[kuku]] * 맨어(gv): [[yngyn]] * 모크샤어(mdf): [[кенже]] * 몰타어(mt): [[difer]] * 몽골어(mn): [[хумс]] * 미란다어(mwl): [[ongia]] * 바슈키르어(ba): [[тырнаҡ]] * 벨라루스어(be): [[пазногаць]] (남성), [[ногаць]] (남성) * 벱스어(vep): [[künz']] * 벵골어(bn): [[নখ]](nôkh) * 보스니아어(bs): [[nokat]] * 부랴트어(bua): [[хюмһан]] * 북부 사미어(se): [[gazza]] * 불가리아어(bg): [[нокът]] * 브르타뉴어(br): [[ivin]] * 사르데냐어(sc): [[úgna]] (여성) * 사모아어(sm): [[mai'u'u]] * 산스크리트어(sa): [[नख]](nakha) * 세르비아어(sr): [[нокат]] (남성) * 서프리지아어(fy): [[neil]] * 쇼나어(sn): [[nzara]] * 쇼르어(cjs): [[тырбақ]] * 스라난통고어(srn): [[nagri]] * 스와힐리어(sw): [[kucha]] * 스웨덴어(sv): [[nagel]] * 스코틀랜드 게일어(gd): [[ìne]] (여성) * 스페인어(es): [[uña]] (여성) * 슬로바키아어(sk): [[necht]] (남성) * 슬로베니아어(sl): [[noht]] (남성) * 시칠리아어(scn): [[ugna]] * 아랍어(ar): [[ظفر]](ẓufr) (남성) * 아로마니아어(rup): [[unglje]] | * 아르메니아어(hy): [[եղունգ]](eġung) * 아바자어(abq): [[напIхы]] * 아스투리아스어(ast): [[uña]] * 아이마라어(ay): [[sillu]] * 아이슬란드어(is): [[nögl]] * 아일랜드어(ga): [[ionga]] * 아제르바이잔어(az): [[dırnaq]] * 아프리칸스어(af): [[nael]], [[vingernael]] * 알바니아어(sq): [[thua]] * 암하라어(am): [[ጥፍር]], [[ምስማር]] * 압하스어(ab): [[анапхыц]] * 야쿠트어(sah): [[тыҥырах]] * 에르자어(myv): [[кенже]] * 에스토니아어(et): [[küüs]] * 에스페란토(eo): [[ungo]] * 영어(en):[[nail]] of [[finger]], [[fingernail]] * 오세티야어(os): [[ных]] * 오크어(oc): [[ongla]] (여성); [[ungla]] (여성) * 우르두어(ur): [[ناخن]](nāxun) (남성) * 우즈베크어(uz): [[тирноқ]](키릴)/[[tirnoq]](라틴) * 우크라이나어(uk): [[ніготь]] * 웨일스어(cy): [[ewin]] * 응가나산어(nio): [[кәту]] * 이도(io): [[unglo]] * 이디시어(yi): [[נאָגל]](nogl) (남성) * 이탈리아어(it): [[unghia]] * 인구시어(inh): [[мIара]] * 인도네시아어(id): [[kuku]] * 인테르링구아(ia): [[ungula]] * 일로카노어(ilo): [[kuko]] * 일본어(ja): {{lang|ja|[[爪]]([[つめ]])}}(tsume) * 조지아어(ka): [[ფრჩხილი]](p'rč'xili) * 중국어(zh): * 체코어(cs): [[nehet]] * 추바슈어(cv): [[чĕрне]] * 츠와나어(tn): [[lonala]] * 카렐리야어(krl): [[kynzi]], [[kynsi]] * 카자흐어(kk): [[тырнақ]] * 카탈루냐어(ca): [[ungla]] * 칼미크어(xal): [[хумсн]] * 콘월어(kw): [[ewin]] * 콘카니어(kok): [[नाक्शी]] * 쿠르드어(ku): [[nînok]] * 크로아티아어(hr): [[nokat]] * 크림타타르어(crh): [[tırnaq]] * 크메르어(km): [[ក្រចក]](krɑchɑɑk) * 키르기스어(ky): [[тырмак]] * 타갈로그어(tl): [[kuko]] * 타밀어(ta): [[நகம்]](nakam), [[உகிர்]] * 타이어(th): [[เล็บมือ]](lép meu) * 타지크어(tg): [[нохун]] * 타타르어(tt): [[тырнақ]] * 테툼어(tet): [[liman-kukun]] * 텔루구어(te): [[గోరు]](goru), [[నఖము]](nakhamu) * 터키어(tr): [[tırnak]] * 투르크멘어(tk): [[dyrnak]] * 파피아멘토어(pap): [[uña]] * 페로어(fo): [[negl]], [[naglur]] * 페르시아어(fa): [[ناخن]](nâxon), [[ناخون]] * 펀자브어(pa): [[ਨਹੁੰ]] * 포르투갈어(pt): [[unha]] (여성) * 폴란드어(pl): [[paznokieć]] (남성) * 프랑스어(fr): [[ongle]] (남성) (de la main) * 프리울리아어(fur): [[òngule]] * 피에몬테어(pms): [[ongia]] * 핀란드어(fi): [[kynsi]] * 하소르브어(dsb): [[nokś]] (남성) * 헝가리어(hu): [[köröm]] * 히브리어(he): [[צפורן]] * 힌디어(hi): [[नाखून]], [[नाख़ुन]] (남성) }} [[분류:한국어 합성명사]] [[분류:한국어 자립명사]] [[분류:한국어 해부학]] j82rr2fz0q683uvfka59gr4hmzdegdn 손톱깎이 0 19612 4486428 4154180 2026-09-07T22:33:36Z Apisite 21408 /* 한국어 */ + ko-noun 4486428 wikitext text/x-wiki == 한국어 == {{그림틀|Cortaunyas.jpg|손톱깎이}} === 어원 === [[손톱]] + 깎이(< [[깎다]]) === 발음 === {{ko-IPA}} === 명사 === {{ko-noun}} # 손톱이나 발톱의 길어진 끝을 절단하는 기구. :* '''손톱깎이'''에 날이 빠져서 손톱을 깎기가 어렵다. *비표준어: [[손톱깎기]] ==== 번역 ==== {{외국어| * 그리스어(el): [[νυχοκόπτης]] * 네덜란드어(nl): [[nageltang]] * 노르웨이어(no): [[spiker hårklipperen]] * 덴마크어(da): [[neglekilipper]] * 독일어(de): [[Nagelknipser]], [[Nagelschere]] * 라틴어(la): [[clavum retonsoribus]] * 러시아어(ru): [[кусачки для ногтей]] * 루마니아어(ro): [[foarfece de unghii]] * 불가리아어(bg): [[Лак за стригане]] * 스웨덴어(sv): [[agelklippare]], [[nageltäng]] * 스페인어(es): [[cortauñas]] * 슬로바키아어(sk): [[nožnice na nechty]] * 슬로베니아어(sl): [[nohtov striženje]] * 아랍어(ar): [[مسمار كليبرز]] * 아이슬란드어(is): [[nagli clippers]] * 에스페란토(eo): [[ungostucilo]], [[ungotondilo]] | * 영어(en): [[nail clipper]] * 우크라이나어(uk): [[Когтерез]] * 이탈리아어(it): [[tagliaunghie]] * 인도네시아어(id): [[gunting kuku]] * 일본어(ja): {{lang|ja|爪切り}} * 중국어(zh): [[指甲鉗]] * 체코어(cs): [[zastřihovač nehtů]] * 카탈루냐어(ca): [[tallaungles]] * 타갈로그어(tl): [[kuko panggupit]] * 터키어(tr): [[tırnak kesme makinesi]] * 포르투갈어(pt): [[cortador de unhas]] * 폴란드어(pl): [[obroże]] * 프랑스어(fr): [[coupe-ongles]] * 핀란드어(fi): [[kynsileikkuri]] * 헝가리어(hu): [[körömvágó]] * 히브리어(he): [[מסמר קליפר]] }} [[분류:한국어 합성명사]] [[분류:한국어 자립명사]] tj51kkndiklivvup0owtgjaxh0wbhld 발톱 0 19614 4486426 4267115 2026-09-07T22:31:00Z Apisite 21408 /* 한국어 */ + ko-noun 4486426 wikitext text/x-wiki == 한국어 == === 어원 === {{com|ko|발|톱}} === 발음 === {{ko-IPA}} === 명사 === {{ko-noun}} # 발가락 끝에 타원형으로 생긴 딱딱한 부분. :* 다쳐서 발톱이 빠졌다. :*속담: 돼지 발톱에 봉숭아를 들인다: 자신의 처지를 모르고 멋을 내거나 허영을 부리는 사람을 비꼬아 하는 말. ==== 번역 ==== {{외국어| * 그리스어(el): * 네덜란드어(nl): * 노르웨이어(no): * 덴마크어(da): * 독일어(de): [[Fußnagel]] (남성), [[Zehennagel]] (남성) * 라틴어(la): [[unguis]] * 러시아어(ru): * 루마니아어(ro): * 몽골어(mn): * 벨라루스어(be): [[ногаць]] (남성) * 불가리아어(bg): * 브레통어(br): * 스웨덴어(sv): * 스페인어(es): * 슬로바키아어(sk): * 슬로베니아어(sl): * 아랍어(ar): | * 에스페란토(eo): * 영어(en):[[nail]] of [[toe]] * 이도(io): * 이디시어(yi): [[פֿוסנאָגל]] (남성) * 이탈리아어(it): * 인도네시아어(id): * 인터링구아(ia): * 일본어(ja): * 중국어(zh): * 체코어(cs): * 카탈루냐어(ca): * 터키어(tr): * 포르투갈어(pt): * 폴란드어(pl): * 프랑스어(fr): [[ongle de pied]] * 핀란드어(fi): * 헝가리어(hu): * 히브리어(he): }} er36dlvq0tgopciaqhqh0ja3vdd85ff mujer 0 45504 4486409 4382039 2026-09-07T12:45:44Z Intolerable situation 23954 /* 발음 */ 4486409 wikitext text/x-wiki == 스페인어 == === 발음 === {{es-pr|+<audio:LL-Q1321 (spa)-Guergana-mujer.wav<a:멕시코>>}} === 명사 === {{es-noun|f|mujeres}} # [[여자]]. #:{{예문|es|La '''mujer''' es Carlota.|그 여자는 카를로타이다.}} # [[아내]] #: {{예문|es|[[Françoise]] es la '''mujer''' de Pablo PIcasso.|프랑스와즈는 파블로 피카소의 아내이다.}} == 라디노어 == === 표기 === * {{alt|lad|מוּז'יר||라시 문자}} === 발음 === * {{IPA-uni|lad|muxer}} === 명사 === {{lad|f|pl=mujeres}} # [[여자]]. 2prs4vyabqlsz9z5why77qfgb947z9g malo 0 45753 4486434 4348212 2026-09-07T23:17:27Z Intolerable situation 23954 /* 스페인어 */ 4486434 wikitext text/x-wiki == 스페인어 == === 어원 === {{inh|es|la|malus}}에서 유래 === 발음 === {{es-pr|+<audio:LL-Q1321 (spa)-Rodelar-malo.wav>}} === 형용사 === {{es-adj|mapoc=mal|comp=peor|comp2=[[más]] [[malo]]|sup=malísimo}} # [[나쁘다|나쁜]] == 우니쉬 == {{발음 듣기|}} {{IPA|}} === 형용사 === # [[사악하다]]. [[분류:우니쉬 형용사]] == 이탈리아어 == {{발음 듣기|}} {{IPA|}} === 형용사 === # [[나쁘다|나쁜]]. [[분류:이탈리아어 형용사]] ku3d2r4nj4oq2vahjywftohp1lnq7q9 tarea 0 50280 4486408 4384395 2026-09-07T12:39:10Z Intolerable situation 23954 /* 명사 */ 4486408 wikitext text/x-wiki == 스페인어 == === 발음 === {{es-IPA}} === 명사 === {{스페인어 명사|f}} # [[숙제]] #: {{예문|es|¿Cuál es la '''tarea''' para las [[vacaciones]] de [[verano]]?|여름방학 과제는 무엇입니까?}} [[분류:중남미 스페인어]] s50shjz6top6tcxjidysy10235bgk6u kuyut 0 50361 4486455 4343922 2026-09-08T11:22:59Z Apisite 21408 Apisite님이 [[kuyu:t]] 문서를 [[kuyut]] 문서로 이동했습니다 4343922 wikitext text/x-wiki == 피필어 == === 명사 === [[분류:피필어 명사]] {{발음 듣기|}} {{IPA|}} # [[코요테]]. [[Category:피필어 동물]] sq4ybef0iqetf3p6eikixdxlqnwlv9u 4486457 4486455 2026-09-08T11:23:48Z Apisite 21408 4486457 wikitext text/x-wiki == 피필어 == === 명사 === {{head|ppl|명사|head=kuyūt}} # [[코요테]] [[Category:피필어 동물]] 3mzqbpmdx7ub1naaz3opdbxxfh5dbz1 4486459 4486457 2026-09-08T11:26:52Z Apisite 21408 4486459 wikitext text/x-wiki == 피필어 == === 명사 === {{head|ppl|명사|head=kuyūt|복수|kujkuyūt}} # [[코요테]] [[Category:피필어 동물]] 68holnbp06uo8tzq0hzxmbfikaqsxgw 4486461 4486459 2026-09-08T11:55:17Z Apisite 21408 4486461 wikitext text/x-wiki == 피필어 == === 어원 === {{inh|ppl|azc-nah-pro|*koyoo-|*koyoo-tl}} === 명사 === {{head|ppl|명사|head=kuyūt|복수|kujkuyūt}} # [[코요테]] [[Category:피필어 동물]] iu6err6hdqhmgtzfabvl71ofhwgnxdp boîte 0 78417 4486406 4426843 2026-09-07T12:27:14Z Intolerable situation 23954 /* 명사 */ 4486406 wikitext text/x-wiki ==스페인어== ===어원=== * {{der|es|fr|boîte}} ===명사=== {{es-noun|f}} # [[나이트클럽]]. ====참고==== {{스페인어 외국어 표기 규정}} ==프랑스어== ===다른 표기=== * {{alt|fr|boite||1990년 개정 철자법}} ===어원=== * {{inh|fr|fro|boiste}}. {{cog|en|box}}와 동계어. ===발음=== {{발음 듣기|Fr-{{PAGENAME}}.ogg|프랑스}} {{IPA|bwat}} ===명사=== {{fr-noun|g=f}} [[분류:프랑스어 여성명사]] # 안이 빈 사각형 용기 ## [[상자]], [[곽]], [[함]]. ## [[우체통]]. ## [[관]]; [[송장]]이나 [[시체]]를 넣는 상자. # [[캔]]. # {{라벨|fr|군대 속어}} [[헌병대]] [[파출소]]. ====합성어==== * {{l|fr|ouvre-boîte|t=[[캔따개]]}} ====후계어==== * {{desc|ary|بواطة|bor=1}} * {{desc|es|boîte|bor=1}} cg60rdexgmyw30al0drsaq4jtbr4nzc pino 0 95669 4486410 4382049 2026-09-07T13:41:41Z Intolerable situation 23954 /* 발음 */ 4486410 wikitext text/x-wiki == 이도 == === 명사 === [[분류:이도 명사]][[분류:이도 식물]][[분류:이도 외래어]] *어원: < 라틴어 [[pinus]] {{발음 듣기|}} {{IPA|ˈpi.no}} # [[소나무]] == 스페인어 == [[분류:스페인어 식물]] === 어원 === * {{der|es|la|pinus}}에서 유래. === 발음 === {{es-pr|+<audio:LL-Q1321 (spa)-Rodrigo5260-pino.wav<a:페루>>}} === 명사 === {{es-noun|m}} # [[소나무]] == 라디노어 == [[분류:라디노어 식물]] === 어원 === * {{der|lad|es|pino}} < 라틴어 [[pinus]] === 발음 === {{audio|lad|Example.wav}} {{IPA-uni|lad|ˈpi.no}} === 명사 === {{lad-noun|m}} # [[소나무]] == 츠와나어 == === 표기 === * {{alt|tn|pina||문어체}} === 발음 === * {{IPA-uni|tn|}} === 명사 === {{tn-noun|급=9}} # {{라벨|tn|구어체}} [[음악]]. == 타갈로그어 == === 명사 === [[분류:타갈로그어 명사]][[분류:타갈로그어 식물]][[분류:타갈로그어 외래어]] *어원: < 스페인어 [[pino]] < 라틴어 [[pinus]] {{발음 듣기|}} {{IPA|ˈpi.no}} # [[소나무]] == 우니쉬 == === 명사 === [[분류:우니쉬 명사]][[분류:우니쉬 식물]] {{발음 듣기|}} {{IPA|}} # [[솔]] 37v0s3gb3i8yp307l6c3eo4jrbx7sas 4486411 4486410 2026-09-07T13:42:22Z Intolerable situation 23954 /* 스페인어 */ 4486411 wikitext text/x-wiki == 이도 == === 명사 === [[분류:이도 명사]][[분류:이도 식물]][[분류:이도 외래어]] *어원: < 라틴어 [[pinus]] {{발음 듣기|}} {{IPA|ˈpi.no}} # [[소나무]] == 스페인어 == === 어원 === * {{der|es|la|pinus}}에서 유래. === 발음 === {{es-pr|+<audio:LL-Q1321 (spa)-Rodrigo5260-pino.wav<a:페루>>}} === 명사 === {{es-noun|m}} # [[소나무]] {{C|es|식물}} == 라디노어 == [[분류:라디노어 식물]] === 어원 === * {{der|lad|es|pino}} < 라틴어 [[pinus]] === 발음 === {{audio|lad|Example.wav}} {{IPA-uni|lad|ˈpi.no}} === 명사 === {{lad-noun|m}} # [[소나무]] == 츠와나어 == === 표기 === * {{alt|tn|pina||문어체}} === 발음 === * {{IPA-uni|tn|}} === 명사 === {{tn-noun|급=9}} # {{라벨|tn|구어체}} [[음악]]. == 타갈로그어 == === 명사 === [[분류:타갈로그어 명사]][[분류:타갈로그어 식물]][[분류:타갈로그어 외래어]] *어원: < 스페인어 [[pino]] < 라틴어 [[pinus]] {{발음 듣기|}} {{IPA|ˈpi.no}} # [[소나무]] == 우니쉬 == === 명사 === [[분류:우니쉬 명사]][[분류:우니쉬 식물]] {{발음 듣기|}} {{IPA|}} # [[솔]] ndd0434q60wm1m64t5qpubo2qw19h02 rất 0 127592 4486441 4486022 2026-09-08T05:50:46Z Intolerable situation 23954 4486441 wikitext text/x-wiki == 베트남어 == === 발음 === {{vi-IPA}} * {{audio|vi|Vi-hanoi-m-rất.ogg|a=Hanoi}} === 부사 === [[분류:베트남어 부사]] {{vi-adv|[[𫇐]], [[慄]], [[窒]]}} # [[매우]]. :* '''Rất''' vui được gặp anh. 만나서 (너무) 반가워요, 형(오빠). :* Nếu chị không đi thì em [[rất]] buồn. 만약 당신이 가지 않으면 저는 아주 슬플 거예요. s2onocph95fch93lvkws8qcshcn9952 유래 0 149184 4486435 4178040 2026-09-08T03:19:50Z Apisite 21408 /* 한국어 */ + ko-noun 4486435 wikitext text/x-wiki == 한국어 == === 어원 === {{ko-etym-Sino|由||來}} === 발음 === {{ko-IPA}} === 명사 === {{ko-noun|hanja=由來}} # {{rfdef|ko}} #: {{syn|ko|기원(起源)}} ==== 번역 ==== {{외국어| * 독일어(de): * 러시아어(ru): * 영어(en): | * 일본어(ja): * 중국어(zh): * 프랑스어(fr): }} [[분류:초안]] ssb12i9qevm8j7tkysxn4k0oms08p78 까끄라기 0 171281 4486429 4115065 2026-09-07T22:36:36Z Apisite 21408 /* 한국어 */ + ko-noun 4486429 wikitext text/x-wiki == 한국어 == === 발음 === {{ko-IPA}} === 명사 === {{ko-noun}} # {{rfdef|ko}} ==== 번역 ==== {{외국어| * 독일어(de): * 러시아어(ru): * 영어(en): | * 일본어(ja): * 중국어(zh): * 프랑스어(fr): }} [[분류:초안]] 3382ha8f5gpt7ch2wgjzwtjdgwin7lc ሎሚ 0 194127 4486454 3875015 2026-09-08T09:22:47Z Apisite 21408 4486454 wikitext text/x-wiki == 그으즈어 == === 어원 === {{bor|gez|ar|لَيْمُون}} === 명사 === {{head|gez|명사|g=?}} # [[라임]], [[레몬]], [[감귤]] #: {{syn|gez|ትርንጐ|tr1=tərəngʷä}} == 암하라어 == === 어원 === {{bor|am|ar|لَيْمُون}} === 명사 === {{head|am|명사|g=?}} # [[라임]], [[레몬]], [[감귤]] #: {{syn|am|ትርንጎ|tr1=tərəngo}} # [[과일]] [[분류:암하라어 식물]] == 티그리냐어 == === 어원 === {{bor|ti|ar|لَيْمُون}} === 명사 === {{head|ti|명사|g=?}} # [[라임]], [[레몬]], [[감귤]] #: {{syn|ti|ትርንጒ|tr1=tərəngʷi}} kdbopncv70akh48ap2ig7mz76t4j5zd tacaño 0 299363 4486432 4481824 2026-09-07T22:59:40Z Intolerable situation 23954 4486432 wikitext text/x-wiki ==스페인어== ===발음=== {{es-pr}} ===형용사=== {{스페인어 형용사}} # [[인색하다|인색한]] ===명사=== {{es-noun|m|f=+}} # [[구두쇠]], [[노랑이]] :* Pinche '''tacaño'''. 지독한 구두쇠. 쪼잔한 새끼 hlmyk3tqoflpbuhwdxl3zqjp98rtlsp yema 0 303745 4486412 4486279 2026-09-07T13:47:34Z Intolerable situation 23954 4486412 wikitext text/x-wiki == 스페인어 == === 발음 === {{es-pr}} === 명사 === {{es-noun|f}} # [[노른자]] 5ifpdzqnl1cqwd2q1wimhskfodfnzrt zona 0 303824 4486405 4474852 2026-09-07T12:25:43Z Intolerable situation 23954 4486405 wikitext text/x-wiki == 스페인어 == ===발음=== {{es-pr|+<audio:LL-Q1321 (spa)-AdrianAbdulBaha-zona.wav<a:Colombia>>}} ===명사=== {{es-noun|f}} # 구역, 지구, 지역 #: ==이탈리아어== ===발음=== {{it-pr|dzòna<audio:it-zona.ogg;Audio (IT)>}} ===명사=== {{it-noun|f}} # 구역, 지역 또는 지구 #: * 유의어: [[quartiere]], [[rione]] 42y66kz7qop9zy4evc0aj0q68867y10 Eigelb 0 317292 4486431 4111318 2026-09-07T22:42:08Z Intolerable situation 23954 4486431 wikitext text/x-wiki == 독일어 == === 어원 === {{com|de|Ei|Gelb}} === 발음 === * {{IPA-uni|de|/ˈaɪ̯ɡɛlp/}} * {{audio|de|De-Eigelb.ogg|a=독일}} * {{audio|de|De-at-Eigelb.ogg|a=오스트리아}} === 명사 === {{head|de|noun|속격|Eigelbs|복수|Eigelbe|g=n}} # [[노른자]] {{독일어 명사 변화|성=중 |Eigelb |Eigelbs |Eigelb |Eigelb |Eigelbe |Eigelbe |Eigelben |Eigelbe }} 6jzu2655hj0hs4t886izxtws7xxhe1u እኅት 0 379213 4486445 3875257 2026-09-08T08:48:31Z Apisite 21408 4486445 wikitext text/x-wiki == 그으즈어 == === 어원 === {{inh|gez|sem-pro|*ʔaḫwat-}} === 명사 === {{head|gez|명사|g=f}} # [[자매]], [[언니]], [[누나]], [[여동생]] == 암하라어 == === 어원 === {{inh|am|sem-pro|*ʔaḫwat-}} === 명사 === {{head|am|명사|g=f}} # [[자매]], [[언니]], [[누나]], [[여동생]] {{번역 낱말|자매|}} hee3imnk0j8f6ng6q5zjkhredrj20fx 위키낱말사전:자유게시판 4 437106 4486418 4483273 2026-09-07T20:05:07Z 기나ㅏㄴ 26437 /* 위키낱말사전의 새로운 도구 */ 새 주제 ([[mw:c:Special:MyLanguage/User:JWBTH/CD|CD]]) 4486418 wikitext text/x-wiki {{보호}} {{helpframe}} __NEWSECTIONLINK__ <onlyinclude> {{위키낱말사전:자유게시판/{{#timel:o}}년}} </onlyinclude> [[분류:위키낱말사전 사랑방|*]] == 틀 수정 == [[틀:참고]]를 영어판과 동일하게 수정해 보았습니다. 여러 모듈이 얽혀있어 수정하기가 어려웠는데, 일단 작동하게 만들어 두었습니다. 그리고 권한 부족으로 인해 [[모듈:utilities]]와 [[모듈:links]]를 수정할 수 없어 각각 [[모듈:utilities/new]]와 [[모듈:also/link]]로 대체하였습니다. -- [[사용자:Dolab0526|Dolab0526]] ([[사용자토론:Dolab0526|토론]]) 2024년 5월 24일 (금) 00:05 (KST) :{{핑|Dolab0526}} 이 형식이 더 깔끔하고 보기 좋네요! 혹시 미디어위키의 어떤 문서를 참고해야 이 정도의 지식을 얻을 수 있나요? 전 계속 공부하고 있는데 아직 미진합니다. --[[사용자:호로조|호로조]] ([[사용자토론:호로조|토론]]) 2024년 5월 25일 (토) 00:30 (KST) ::모듈에 사용한 함수나 인자 등을 외부 모듈에서 올바르게 참조할 수 있도록 수정한 거라 특별히 무언가를 제가 만들어낸 것은 아닙니다. ::프로그래밍 언어에 대한 기본적인 이해를 바탕으로 chatGPT의 도움을 얻어 수정한 것이고, 저도 특별히 루아 언어에 대해 깊이 있게 아는 것은 아니기 때문에 무어라 말씀드리기는 어렵네요.. --[[사용자:Dolab0526|Dolab0526]] ([[사용자토론:Dolab0526|토론]]) 2024년 5월 25일 (토) 20:13 (KST) :::그래도 여러 모로 귀감이 되십니다. --[[사용자:호로조|호로조]] ([[사용자토론:호로조|토론]]) 2024년 5월 28일 (화) 20:07 (KST) == 봇 등록 == [[사:Dolabbot]] 계정을 생성하였는데, 봇으로 등록하고 싶습니다. 어떻게 해야 하나요? [https://github.com/rkdclgh/Dolabbot/blob/master/ko_hanjatab.py 코드]는 해당 문서에서 확인하실 수 있습니다. --[[사용자:Dolab0526|Dolab0526]] ([[사용자토론:Dolab0526|토론]]) 2024년 5월 24일 (금) 10:55 (KST) :봇 신청하지 않고 작업할 수 있다지만 아무래도 API 제한도 있고, 작업해야 할 양이 많아서 API 승인을 받을 필요가 있을 거 같아 남깁니다. --[[사용자:Dolab0526|Dolab0526]] ([[사용자토론:Dolab0526|토론]]) 2024년 5월 24일 (금) 10:57 (KST) ::{{핑|Dolab0526}} 흠... 일단 봇 요청방에 의견을 남겨 드렸는데, 총의를 모으는 것이 쉽지 않을 것 같습니다. 위키백과 사랑방에 의견을 남겨 보겠습니다. 혹시 문자열 바꾸는 것도 봇 작업의 일부일까요? 봇 등록이 된다면 맡기고 싶은 작업이 있는데 이건 두랩님 의견도 듣고 싶습니다. --[[사용자:호로조|호로조]] ([[사용자토론:호로조|토론]]) 2024년 6월 7일 (금) 23:56 (KST) :::@[[사용자:호로조|호로조]] 관심 가져주셔서 감사합니다. 이미 메타 요청해서 봇 등록이 완료되었습니다. 일단 한자 활용 틀이 포함된 문서에서 한자 활용 틀을 ko-hanjatab으로 바꾸고 문단을 다듬는 작업만 진행했습니다. 혹시 어떤 작업을 생각하고 계시는지요? [[사용자:Dolab0526|Dolab0526]] ([[사용자토론:Dolab0526|토론]]) 2024년 6월 8일 (토) 00:01 (KST) ::::{{핑|Dolab0526}} 밑에 새 문단을 생성하였습니다. 내용이 길어서 따로 문단을 분리하여 설명하였습니다. --[[사용자:호로조|호로조]] ([[사용자토론:호로조|토론]]) 2024년 6월 8일 (토) 01:08 (KST) == 문서 띄어쓰기 == [[중화 인민 공화국]], [[대한 제국]], [[대한 해협]]<br> * 포털 사이트(구글, 네이버 등)에서 검색하면 띄어쓰여있는 것 보다 붙여진 것들이 더 많기 때문에 다시 붙여쓰자!<br> * 표준국어대사전에 따라서 띄어쓰는 것을 유지하자! 다른 사용자분들의 의견은 어떻습니까? 많은 참여바랍니다. [[사용자:YeBoy371|YeBoy371]] ([[사용자토론:YeBoy371|토론]]) 2024년 5월 28일 (화) 01:11 (KST) :일단 그것도있지만 한국어권 국가가 아니라면 해당국가에서 정한 자국의 정식국호는 원래는 외국어일태고, 그렇다면 한국어 정식국호는 한국어의 기준을 세우는 표준국어대사전에서 따로 정하는거니 중화인민공화국이라고 붙여쓴 표기는 일단 정식국호는 아닙니다. 띄어쓴 표기가 정식국호니 제 생각에는 띄어쓰는게 좋아보입니다. [[사용자:Mamiamauwy|Mamiamauwy]] ([[사용자토론:Mamiamauwy|토론]]) 2024년 5월 28일 (화) 01:22 (KST) :* 규범 표기: [[중화]] [[인민]] [[공화국]] :{{핑|YeBoy371}} 이런 식으로 표제어는 붙여 쓰고 문서내에서 띄어쓰기를 따로 적어서 보이는 방식은 어떤가요? 애초에 띄어쓰는 것 자체가 현실 사용과는 동떨어진 규범 문법이라고 보는 입장입니다. --[[사용자:호로조|호로조]] ([[사용자토론:호로조|토론]]) 2024년 5월 28일 (화) 06:20 (KST) ::의존명사의 띄어쓰기 등... 일반적으로 한국어를 모국어로 하는 화자가 '따를 만한' 문법이 있고, 보조용언의 띄어쓰기처럼 규범적으로는 정하고 있으나 일반적으로 '붙여 쓰는' 경우도 있죠. 앞서 강조표시한 '따를 만한'과 '붙여 쓰는'은 원칙상 모두 띄어 쓰고, 실제로는 '붙여 쓰기'(보조용언) 정도는 '붙여쓰기'로 쓰기도 하죠. 서로를 명확히 구분할 수 있는 건 아니지만 규범 문법과 기술 문법이 있습니다. --[[사용자:호로조|호로조]] ([[사용자토론:호로조|토론]]) 2024년 5월 28일 (화) 06:32 (KST) :::나쁘진 않네요ㄷㄷ '규범 표기' 작성 찬성입니다 [[사용자:YeBoy371|YeBoy371]] ([[사용자토론:YeBoy371|토론]]) 2024년 5월 28일 (화) 12:08 (KST) == 틀의 사용을 확대하기 위한 방법? == 제가 위키낱말사전에 새로이 올라오는 편집들을 검토했을 때, 개선해야 할 사항은 다음과 같습니다. * 틀을 만들어도 이러한 틀이 있는지 모른다. * 문서 형식에 있어 일관성이 없다. 이러한 문제가 발생하는 원인을 경험에 비춰 생각해 보았습니다. * 맨 처음에 접한 문서를 일종의 기준으로 삼아서 편집 활동에 반영한다. * 기억이 안 나면 기준이 되는 문서의 편집 버튼을 눌러 그 문서에 사용된 위키문법 등의 배치나 틀의 사용을 따라 한다. 그렇다면 다음과 같은 방안을 강구해 볼 수 있겠습니다. * 튀고, 눈에 뛰는 디자인을 사용한다. <br> -> 꼭 색깔이나 글씨체를 바꾸지 않더라도, <div style="pointer-events: none; overflow-x: auto;">[[파일:Left square bracket.svg|5px]]라벨명[[파일:Right square bracket.svg|5px]]</div>에서의 괄호처럼 텍스트와 구분되는 디자인을 사용하여 <br> [라벨명]과 같이 입력하는 것과 구분된다는 걸 넌지시 알려 줍니다. * 입력할 때 바로바로 입력하기가 쉬워야 한다. <br> -> <nowiki>{{용어사전|1인칭}}</nowiki>보다는 <nowiki>{{gl|1인칭}}</nowiki> 따위로 줄입니다.<br> 틀 표제어는 그대로 '틀:용어사전'으로, 문서에 사용할 땐 줄임말을 적용한다는 겁니다. * 트래킹할 수 있는 로직(logic)을 모듈에 추가 한다. <br> -> 봇 작업을 용이하게 하기 위해 분류를 자동으로 넣어 주는 로직을 삽입합니다. * 봇의 대량 편집으로 이러한 편집들을 주류로 만든다. <br> -> 일종의 규범화 작업으로, 사용자들은 자주 노출되는 형식을 따르는 경향이 있습니다. 뇌용량의 한계로 딱 이 정도의 방안만 생각나는데 이 외에도 다른 좋은 생각이 있다면 의견을 남겨 주시면 감사하겠습니다. --[[사용자:호로조|호로조]] ([[사용자토론:호로조|토론]]) 2024년 6월 8일 (토) 01:07 (KST) :경험상 봇으로 규범화를 자연스레 하는 것과 바로바로 쓰기 편해야 한단 게 제일 중요하긴 합니다. [[사용자:LR0725|LR0725]] ([[사용자토론:LR0725|토론]]) 2024년 6월 8일 (토) 03:02 (KST) :문서 형식에 일관성이 없다는 말에 동의합니다. 수작업으로 처리하기에는 문서량이 워낙 많으니, 봇으로 규범화하는 방안 좋은 것 같습니다. [[사용자:Dolab0526|Dolab0526]] ([[사용자토론:Dolab0526|토론]]) 2024년 6월 8일 (토) 11:54 (KST) ::{{핑|LR0725|Dolab0526}} 써 놓고 보니 '일관성 없다는' 제 단어 선택이 조금 사용자분들의 기여를 깎아 내리는 표현같다는 느낌이 다소 없지 않아 있습니다만, 엄연히 저도 굴러 들어 온 돌이고 따라야 할 기준같은 게 필요한데 그런 게 없어서 난감한 경우가 많습니다. 저도 편집에 있어 어려움을 느끼는 사용자 중 1인입니다. 구체적으로 '가르칠 교' 문서 [[敎]]와 '군사 군' 문서 [[軍]]를 보면 특유의 아흔식 디자인 중구난방 한자 풀이 틀이 무척 보기 안 좋습니다. 틀간의 위아래 높이도 다르고 통일성을 해치는데, '나라 국' 문서 [[國]]은 정리가 매우 잘 되어 있습니다. --[[사용자:호로조|호로조]] ([[사용자토론:호로조|토론]]) 2024년 6월 8일 (토) 12:16 (KST) :::한자(교차언어) 부분과 한국어(한자) 부분으로 나누어서 일단은 한국어 문단 부분을 정리하는 작업을 봇으로 진행해보려 합니다. [[사용자:Dolab0526|Dolab0526]] ([[사용자토론:Dolab0526|토론]]) 2024년 6월 8일 (토) 12:26 (KST) == 현재 위키낱말사전 로고와 네이밍 == 지극히 개인적인 해석이긴 하지만, 위키낱말사전의 로고와 위키낱말사전이라는 이름이 조금 시대에 맞지 않다는 생각이 없지 않아 있습니다. * [[스큐어모피즘]], [[미니멀리즘]] 둘 중 어떤 것도 만족시키지 못하는 로고 : 현재 로고의 가장 큰 문제점이라고 생각합니다. 위키낱말사전이 개설될 2000년대에는 대상을 리얼하게 살려서 그 의미를 전달하는 스큐어모피즘이 대세였고, 아마 그에 따른 디자인 정신에 입각해서 만든 것이라 생각됩니다만, 실제로 이게 무엇인지 아는 사람은 많지 않습니다. 심지어 위키낱말사전 활동을 권유했다가 로고가 중국인들이 즐기는 [[마작패]], [[도박용품]] 같다는 얘기마저 들었습니다. 육체 노동에 주로 종사하는 외국인 지인이나 가르치는 아이들에게 물어 본 것이 위키낱말사전을 접하는 모든 대중의 시각을 반영하는 것은 아니지만, 최소한 스큐어모피즘이라 하면 이것이 무엇을 표현하고 싶은 것인지 알아야 하는 것이고, 그게 아니라면 미니멀리즘에 입각한 영어 윅셔너리 로고처럼 세련되어야 한다고 생각합니다. * 낱말이라는 단어 : 언어순화주의적 정신에 입각하여 순수한 한국어인 낱말로 정한 것은 취지는 좋다고 생각합니다만, 전 2010년대생 아이들에게 낱말이라는 표현을 사용했다가 아이들이 알아 듣지 못하는 것을 보고 충격을 받았던 경험이 있습니다. [[어휘]]나 [[단어]]라는 표현이 조금 더 통용되는 현재로서는 굳이 낱말이라는 표현을 사용해서 위키낱말사전의 정체성을 표현할 필요는 없었다고 생각합니다. 아닌 밤중에 뜬금없는 소리이지만, 읽어 주셔서 감사합니다. --[[사용자:호로조|호로조]] ([[사용자토론:호로조|토론]]) 2024년 6월 23일 (일) 01:53 (KST) :답변이 늦었습니다. 제시하신 두 의견에 모두 동의하는 바입니다. 특히 위키낱말사전 네이밍 관련해서는 `위키단어사전`이 좀 더 적합한 명칭이 아니었나 싶은 생각입니다. `단어사전`이라는 단어가 언중에서도 훨씬 많이 쓰이고 있기도 하구요. [[사용자:Dolab0526|Dolab0526]] ([[사용자토론:Dolab0526|토론]]) 2024년 7월 2일 (화) 17:42 (KST) :저는 2011년생이나 "낱말"을 이해할 수 있습니다. 위키낱말사전의 명칭을 바꾼다면 영어 명칭이 wiktionary 위키사전으로 하는게 낫지 않을까요? [[사용자:Whatback11|Whatback11]] ([[사용자토론:Whatback11|토론]]) 2025년 1월 15일 (수) 08:37 (KST) == 봇 작업 요청 == * '''1.''' 뜻풀이 의 형식으로 되어 있는 것을 #으로 모두 바꾸는 것이 가능할까요? --[[사용자:Jeebeen|Jeebeen]] ([[사용자토론:Jeebeen|토론]]) 2024년 7월 2일 (화) 17:00 (KST) :가능은 하지만 모든 표제어의 뜻풀이에 적용된 문법 형식이 통일되지 않아 예기치 못한 편집을 만들 우려가 있어서 아직까지는 작업을 보류하고 있었습니다. 가까운 시일 내 작업하려던 내용인데, 언어별로 시험 적용을 해본 후에 작업을 진행하여야 할 것 같네요. [[사용자:Dolab0526|Dolab0526]] ([[사용자토론:Dolab0526|토론]]) 2024년 7월 2일 (화) 17:40 (KST) ::{{ㄷ|Dolab0526}} 봇이 사용하는 파이봇, 파이썬에서도 정규표현식을 처리할 수 있나요? 저는 봇에 대해서는 잘 알지 못하나 정규표현식을 처리할 수 있다면 크게 예기치 못한 편집을 발생시킬 우려는 없다고 보긴 합니다. 두랩님께서 염려하고 계신 부분은 어떤 부분인가요? --[[사용자:Jeebeen|Jeebeen]] ([[사용자토론:Jeebeen|토론]]) 2024년 7월 3일 (수) 03:40 (KST) :::Pywikibot으로 정규표현식을 처리할 수 있는 것으로 알고 있습니다. <nowiki>* '''1'''.</nowiki> 형식이 아닌 다른 형식으로 쓰여있는 문서도 있어 제대로 적용되지 않을까 생각된 부분이 있긴 한데, 그래도 일단 한 번 시도해보겠습니다. 감사합니다. [[사용자:Dolab0526|Dolab0526]] ([[사용자토론:Dolab0526|토론]]) 2024년 7월 3일 (수) 15:51 (KST) :::일단 대략적인 작업을 완료했고, 결과물을 직접 확인해 보았는데 미처 처리되지 못한 부분이 꽤 있는 것 같습니다. 모든 문서를 순회하면서 코드를 돌리도록 수정해보겠습니다. --[[사용자:Dolab0526|Dolab0526]] ([[사용자토론:Dolab0526|토론]]) 2024년 7월 28일 (일) 13:16 (KST) ::::감사합니다. 다행히도 예기치 못한 동작은 없는 듯합니다. --[[사용자:Jeebeen|Jeebeen]] ([[사용자토론:Jeebeen|토론]]) 2024년 7월 28일 (일) 17:49 (KST) == [[:meta:Requests for comment/Global ban for Won1017|Won1017의 전역 추방안]] == 메타의 전역 추방안 정책에 의거해, [[사용자:Won1017]] 사용자의 전역 추방안이 제안되었음을 알립니다. 많은 참여 부탁드립니다. [[사용자:Takipoint123|Takipoint123]] ([[사용자토론:Takipoint123|토론]]) 2024년 10월 26일 (토) 07:47 (KST) == 가지 관련 틀 번역 == 현재 가지 관련 틀을 번역하고 있습니다. 가지는 '''접사'''라고 하기도 하지만 언어 순화 차원에서 가지라는 낱말을 고르기로 했습니다. 다음은 번역할 예정인 틀 목록입니다. 번역은 영어 위키낱말사전으로부터 이루어집니다. 그리고 한자용어, 영어로도 리다이렉트 또는 require도 추가할 것입니다. 영어 위키낱말사전 [https://w.wiki/ChJZ 틀:affix]를 [[틀:가지]]와 같이요. 자세한 내용은 [https://namu.wiki/w/%EC%A0%91%EC%82%AC(%EC%96%B8%EC%96%B4)?uuid=c755875d-6f63-4edf-a098-fac92c2c97a0 이 나무위키 문서]의 3번 문단을 확인해 주시기 바랍니다. <br> <br>추가) <br>복합어 -> 겹낱말 <br>복합사 -> 겹씨 <br> [[사용자:Whatback11|Whatback11]] ([[사용자토론:Whatback11|토론]]) 2025년 1월 11일 (토) 22:19 (KST) :{{ㄷ|Whatback11}} 겹낱말, 겹씨, 가지 등은 일반적으로 사용되는 용어가 아닙니다. [[#현재 위키낱말사전 로고와 네이밍]]에서와 같이 위키낱말사전의 '낱말'이라는 단어조차도 최근 세대로 넘어오면 의미 전달이 안 되는 것이 사실이며, 2000년대 언어 순화 운동에서 수직적으로 전파되던 이러한 단어들을 대부분의 사용자들이 이해할 수 있을지는 모를 일입니다. 그렇게 될 경우 동사 같은 단어도 움직씨 등으로 고쳐야 한다는 문제가 있고, 단순히 기존에 잘 사용되어 오던 용어들을 2000년대 방식으로 언어순화하는 것은 언어순혈주의라고 보기 때문에 부정적입니다. --[[사용자:Jeebeen|Jeebeen]] ([[사용자토론:Jeebeen|토론]]) 2025년 1월 13일 (월) 10:21 (KST) ::[[모듈:affix/templates]] 모듈의 보호단계 격하를 요청드립니다. 다름이 아니라 lua script에서 발생하는 오류를 수정해야 합니다. [[사용자:Whatback11|Whatback11]] ([[사용자토론:Whatback11|토론]]) 2025년 1월 15일 (수) 05:25 (KST) :::{{ㄷ|Whatback11}} [[Module:Whatback11/affix/template]]에서 코드를 연습하고 [[사용자:Whatback11/접사]](틀)을 생성한 뒤 [[사용자:Whatback11/시험장]]에서 적용하신 뒤 적용을 요청하셔도 되는 부분이라 3개월 관리자 보호를 해제해야 하는지 잘 모르겠습니다. 실제 문서에 적용되었을 때 어떻게 작동하는지는 "이 틀과 함께 문서 미리 보기"의 기능을 통해 하실 수 있는데, 코드들을 편집한 뒤 모듈이 사용된 일반 문서들을 확인해 보았을 때 모든 문서에서 오류가 발생했습니다. [[특수:차이/4384745|차이/4384745]]와 같은 편집은 현재 겪고 계신 오류가 무엇인지 확인이 안 되기 때문에 제가 섣불리 판단하기 어려워서 이에 대해선 귀하의 의견을 좀 더 듣고 싶습니다. 아마 [[Module:category tree]]같은 모듈들을 그냥 한국어로 번역하고 적어 넣으셔서 문제가 발생하는 것에 대해 해결하시고자 하는 차원에서 수정하신 것 같은데, 이것이 affix 모듈과 구체적으로 어떤 관련이 있는 건가요? affix 본연의 기능은 현재도 정상적으로 작동합니다. 혹시 category tree 기능이 affix 모듈의 내용을 참조하나요? :::또한 languages, debug, parameters 등의 메서드, 유틸리티 모듈의 경우 영어판 코드를 그대로 사용하게 되시면 이전에 번역해 놓은 내용이나 기존 기능들과 한국어판에서 새로 작성한 코드와 같이 이전에 기여해 놓은 내용이 모두 무시됩니다. --[[사용자:Jeebeen|Jeebeen]] ([[사용자토론:Jeebeen|토론]]) 2025년 1월 15일 (수) 12:06 (KST) ::::오류가 발생하는 부분 알려드립니다. 그리고 수정 요청사항을 기재한 주석은 지워주시면 감사하겠습니다. ::::아래는 수정이 필요한 부분을 주석으로 표시한 것입니다. ::::{| class="wikitable mw-collapsible" |- | 코드 보기 |- |<pre> function export.affix(frame) local function extra_params(params) params.type = {} params.notext = {type = "boolean"} params.nocat = {type = "boolean"} params.force_cat = {type = "boolean"} end local args, parts, lang, sc = parse_args { raw_args = frame:getParent().args, extra_params = extra_params, } if args.type and not m_affix.etymology_types[args.type] then error("Unrecognized etymology type: '" .. args.type .. "'") end -- There must be at least one part to display. If there are gaps, a term -- request will be shown. -- 주석 번역: 띄울 부분이 적어도 하나는 있어야 합니다. 비어 있으면, 용어 -- 요청이 표시됩니다. if not next(parts) and not args.type then if mw.title.getCurrentTitle().nsText == "Template" then -- 한국어 위낱사는 "틀" 이름공간을 씁니다. "Template"으로는 감지할 수 없습니다. parts = { {term = "prefix-"}, {term = "base"}, {term = "-suffix"} } else error("You must provide at least one part.") -- 오류 출력문 번역: 적어도 한부분은 넣어야 합니다. end end return m_affix.show_affix(augment_affix_data({ parts = parts }, args, lang, sc)) end </pre> |- |}[[사용자:Whatback11|Whatback11]] ([[사용자토론:Whatback11|토론]]) 2025년 1월 15일 (수) 18:23 (KST) == 위키미디어 이름공간 문서 대량 수정 및 생성 요청 == [[미디어위키:Scribunto-doc-page-show]], [[MediaWiki:Clearyourcache]] 문서의 내용에 수정을 요청을 제출합니다. <br>상세한 내용은 [[사용자:Whatback11/문서 수정 신청서|신청서]]를 참고해주시면 감사하겠습니다. [[사용자:Whatback11|Whatback11]] ([[사용자토론:Whatback11|토론]]) 2025년 1월 15일 (수) 05:21 (KST) == 보호 편집 요청? == [[미디어위키토론:Common.css#보호 편집 요청?]] 참고 부탁드립니다. 보호 편집 요청 틀이 없네요.--[[사용자:Namoroka|Namoroka]] ([[사용자토론:Namoroka|토론]]) 2025년 1월 16일 (목) 20:52 (KST) == 영어로 작성된 글이 많아서 한국어 글이 안 보이는 문제가 있는데요 == 일단 번역해달라는 글들을 한국어로 번역하기는 했는데, 원문을 작성자 서명 정도만 남기고 번역본으로 대체해도 되는지, 아니면 지금처럼 원문 밑에 번역본을 댓글로 다는 형태로 놔둬야하나요? [[사용자:Dollasdal|Dollasdal]] ([[사용자토론:Dollasdal|토론]]) 2025년 8월 21일 (목) 00:40 (KST) :일단 전부 한국어 번역본으로 교체해놨습니다. [[사용자:Dollasdal|Dollasdal]] ([[사용자토론:Dollasdal|토론]]) 2025년 8월 22일 (금) 12:05 (KST) == [총의필요]등재기준 == #유명한 사람의 필명의 등재를 허용하나 원래 이름을 안다면 이를 우선시한다. #'미네르바'를 '미네'로 부르는 식의 얘칭의 서술은 허용되나 원래 이름에 들어있는 경우('카렌짱'등)를 제외한 단순히 -짱,-상 식('또래상'등)은 예외로 한다. #사전식 기술 외 광고성 서술을 금한다. @[[사용자:CHK2605|CHK2605]]@[[사용자:Trong Dang|Trong Dang]] [[사용자:메지로 아르당|메지로 아르당]] ([[사용자토론:메지로 아르당|토론]]) 2025년 9월 14일 (일) 21:10 (KST) :각 항에 대한 제 의견은 다음과 같습니다. :# 위키낱말사전의 기본 의의와는 동떨어져 있기 때문에 해당 내용을 논의할 이유가 전혀 없습니다. 위키낱말사전은 모든 언어의 어휘를 수록하고자 하는 언어사전이지, 인명 혹은 필명을 등재하는 인명사전이 아닙니다. 이러한 인물 등에 대하여 서술하고자 하는 경우에는 위키낱말사전보다는 위키백과에 서술하는 것이 더욱 적합합니다. 물론 위키백과에 서술한다 하더라도, 그곳의 등재 기준에 따라야 하겠지만요. :# 애칭에 대한 서술 또한 1에 대한 답변으로 갈음합니다. :# [[위키낱말사전:삭제 정책]]에 이미 명시된 사항이므로 추가로 논의할 이유가 없습니다. :[[사용자:CHK2605|CHK2605]] ([[사용자토론:CHK2605|토론]]) 2025년 9월 14일 (일) 21:48 (KST) == 위키컨퍼런스 서울 2025 관련 안내 == 안녕하세요 여러분, 공지가 약간 늦었습니다만 10월 25일에 [[:w:위키백과:위키컨퍼런스 서울 2025|위키컨퍼런스 서울 2025]]가 열립니다. 위키미디어 프로젝트에 관심있는 사용자라면 누구나 참여하실 수 있습니다. 아울러 위키컨퍼런스 서울 2025에 대한 중앙공지(Centralnotice)를 준비중입니다. 중앙공지는 메타에서 설정한 프로젝트의 상단에 알리는 공지로 사이트노티스와 유사합니다. 10월10일부터 25일까지 위키컨퍼런스 서울 2025에 대한 중앙공지가 진행될 예정입니다. 이와 관련하여 사전에 공지하고자 합니다. 감사합니다.--[[사용자:Youngjin (WMKR)|Youngjin (WMKR)]] ([[사용자토론:Youngjin (WMKR)|토론]]) 2025년 9월 15일 (월) 10:38 (KST) : 자세한 내용은 [[:meta:CentralNotice/Request/WikiConference Seoul 2025]]를 참조하세요.--[[사용자:Youngjin (WMKR)|Youngjin (WMKR)]] ([[사용자토론:Youngjin (WMKR)|토론]]) 2025년 9월 16일 (화) 13:07 (KST) == 올해의 위키인 후보 추천이 시작되었습니다. == * [[:w:위키백과:올해의 위키인/2025년]] 안녕하세요, 한국어 위키미디어 커뮤니티 내 성실하게 활동하고 있는 사용자의 노고를 기리고, 서로를 격려하는 자리인 올해의 위키인이 2025년에도 진행됩니다. 올해의 위키인 후보추천이 오늘부터 시작됩니다. 올 한해를 빛낸 활약을 펼친 위키인을 칭찬하는 자리인 올해의 위키인에 많은 칭찬과 후보 추천을 부탁드립니다. 자매 프로젝트 부분을 통해 자매 프로젝트에서 활동하신 사용자를 추천하실 수 있으며, 한국어 위키백과 페이지에서 오늘부터 11월 26일까지 진행됩니다. 감사합니다. --[[사용자:Youngjin (WMKR)|Youngjin (WMKR)]] ([[사용자토론:Youngjin (WMKR)|토론]]) 2025년 11월 20일 (목) 14:28 (KST) == 안녕하세요. == * [[위키낱말사전:관리자 선거/기나ㅏㄴ]] 사이트노티스에 올릴 관리자도 없고 GS들에게도 요청할 수가 없어서, 그리고 자칫하면 선전행위이기에 여러모로 답답한 마음입니다. 투표권 있으신 분들이 있다면,,, 한번씩 참여해주시면 감사하겠습니다. 해야할 것들이 있습니다. [[user:기나ㅏㄴ|<span style="font-weight:bold;font-family:'Lucida Handwriting';text-shadow:3px 2px 3px red;color:black;">ginaan</span>]]<span style="font-weight:bold;text-shadow:3px 2px 3px blue;">([[user talk:기나ㅏㄴ|T]]/[[special:contributions/기나ㅏㄴ|C]])</span> 2026년 5월 5일 (화) 22:40 (KST) == 위키낱말사전의 새로운 도구 == * [[toolforge:kowordgen]] 우리말샘과 연계해서 위키낱말사전의 한국어 단어를 더욱 효율적으로 생성할 수 있는 도구입니다. [[user:기나ㅏㄴ|<span style="font-weight:bold;font-family:'Lucida Handwriting';text-shadow:3px 2px 3px red;color:black;">ginaan</span>]]<span style="font-weight:bold;text-shadow:3px 2px 3px blue;">([[user talk:기나ㅏㄴ|T]]/[[special:contributions/기나ㅏㄴ|C]])</span> 2026년 9월 8일 (화) 05:05 (KST) 2c8ocr8f4ufoshscb122avyqhp4pc3c 4486436 4486418 2026-09-08T04:32:38Z Youngjin (WMKR) 30304 /* 위키컨퍼런스 서울 2026이 10월 24일에 열립니다 (발표자 모집) */ 새 문단 4486436 wikitext text/x-wiki {{보호}} {{helpframe}} __NEWSECTIONLINK__ <onlyinclude> {{위키낱말사전:자유게시판/{{#timel:o}}년}} </onlyinclude> [[분류:위키낱말사전 사랑방|*]] == 틀 수정 == [[틀:참고]]를 영어판과 동일하게 수정해 보았습니다. 여러 모듈이 얽혀있어 수정하기가 어려웠는데, 일단 작동하게 만들어 두었습니다. 그리고 권한 부족으로 인해 [[모듈:utilities]]와 [[모듈:links]]를 수정할 수 없어 각각 [[모듈:utilities/new]]와 [[모듈:also/link]]로 대체하였습니다. -- [[사용자:Dolab0526|Dolab0526]] ([[사용자토론:Dolab0526|토론]]) 2024년 5월 24일 (금) 00:05 (KST) :{{핑|Dolab0526}} 이 형식이 더 깔끔하고 보기 좋네요! 혹시 미디어위키의 어떤 문서를 참고해야 이 정도의 지식을 얻을 수 있나요? 전 계속 공부하고 있는데 아직 미진합니다. --[[사용자:호로조|호로조]] ([[사용자토론:호로조|토론]]) 2024년 5월 25일 (토) 00:30 (KST) ::모듈에 사용한 함수나 인자 등을 외부 모듈에서 올바르게 참조할 수 있도록 수정한 거라 특별히 무언가를 제가 만들어낸 것은 아닙니다. ::프로그래밍 언어에 대한 기본적인 이해를 바탕으로 chatGPT의 도움을 얻어 수정한 것이고, 저도 특별히 루아 언어에 대해 깊이 있게 아는 것은 아니기 때문에 무어라 말씀드리기는 어렵네요.. --[[사용자:Dolab0526|Dolab0526]] ([[사용자토론:Dolab0526|토론]]) 2024년 5월 25일 (토) 20:13 (KST) :::그래도 여러 모로 귀감이 되십니다. --[[사용자:호로조|호로조]] ([[사용자토론:호로조|토론]]) 2024년 5월 28일 (화) 20:07 (KST) == 봇 등록 == [[사:Dolabbot]] 계정을 생성하였는데, 봇으로 등록하고 싶습니다. 어떻게 해야 하나요? [https://github.com/rkdclgh/Dolabbot/blob/master/ko_hanjatab.py 코드]는 해당 문서에서 확인하실 수 있습니다. --[[사용자:Dolab0526|Dolab0526]] ([[사용자토론:Dolab0526|토론]]) 2024년 5월 24일 (금) 10:55 (KST) :봇 신청하지 않고 작업할 수 있다지만 아무래도 API 제한도 있고, 작업해야 할 양이 많아서 API 승인을 받을 필요가 있을 거 같아 남깁니다. --[[사용자:Dolab0526|Dolab0526]] ([[사용자토론:Dolab0526|토론]]) 2024년 5월 24일 (금) 10:57 (KST) ::{{핑|Dolab0526}} 흠... 일단 봇 요청방에 의견을 남겨 드렸는데, 총의를 모으는 것이 쉽지 않을 것 같습니다. 위키백과 사랑방에 의견을 남겨 보겠습니다. 혹시 문자열 바꾸는 것도 봇 작업의 일부일까요? 봇 등록이 된다면 맡기고 싶은 작업이 있는데 이건 두랩님 의견도 듣고 싶습니다. --[[사용자:호로조|호로조]] ([[사용자토론:호로조|토론]]) 2024년 6월 7일 (금) 23:56 (KST) :::@[[사용자:호로조|호로조]] 관심 가져주셔서 감사합니다. 이미 메타 요청해서 봇 등록이 완료되었습니다. 일단 한자 활용 틀이 포함된 문서에서 한자 활용 틀을 ko-hanjatab으로 바꾸고 문단을 다듬는 작업만 진행했습니다. 혹시 어떤 작업을 생각하고 계시는지요? [[사용자:Dolab0526|Dolab0526]] ([[사용자토론:Dolab0526|토론]]) 2024년 6월 8일 (토) 00:01 (KST) ::::{{핑|Dolab0526}} 밑에 새 문단을 생성하였습니다. 내용이 길어서 따로 문단을 분리하여 설명하였습니다. --[[사용자:호로조|호로조]] ([[사용자토론:호로조|토론]]) 2024년 6월 8일 (토) 01:08 (KST) == 문서 띄어쓰기 == [[중화 인민 공화국]], [[대한 제국]], [[대한 해협]]<br> * 포털 사이트(구글, 네이버 등)에서 검색하면 띄어쓰여있는 것 보다 붙여진 것들이 더 많기 때문에 다시 붙여쓰자!<br> * 표준국어대사전에 따라서 띄어쓰는 것을 유지하자! 다른 사용자분들의 의견은 어떻습니까? 많은 참여바랍니다. [[사용자:YeBoy371|YeBoy371]] ([[사용자토론:YeBoy371|토론]]) 2024년 5월 28일 (화) 01:11 (KST) :일단 그것도있지만 한국어권 국가가 아니라면 해당국가에서 정한 자국의 정식국호는 원래는 외국어일태고, 그렇다면 한국어 정식국호는 한국어의 기준을 세우는 표준국어대사전에서 따로 정하는거니 중화인민공화국이라고 붙여쓴 표기는 일단 정식국호는 아닙니다. 띄어쓴 표기가 정식국호니 제 생각에는 띄어쓰는게 좋아보입니다. [[사용자:Mamiamauwy|Mamiamauwy]] ([[사용자토론:Mamiamauwy|토론]]) 2024년 5월 28일 (화) 01:22 (KST) :* 규범 표기: [[중화]] [[인민]] [[공화국]] :{{핑|YeBoy371}} 이런 식으로 표제어는 붙여 쓰고 문서내에서 띄어쓰기를 따로 적어서 보이는 방식은 어떤가요? 애초에 띄어쓰는 것 자체가 현실 사용과는 동떨어진 규범 문법이라고 보는 입장입니다. --[[사용자:호로조|호로조]] ([[사용자토론:호로조|토론]]) 2024년 5월 28일 (화) 06:20 (KST) ::의존명사의 띄어쓰기 등... 일반적으로 한국어를 모국어로 하는 화자가 '따를 만한' 문법이 있고, 보조용언의 띄어쓰기처럼 규범적으로는 정하고 있으나 일반적으로 '붙여 쓰는' 경우도 있죠. 앞서 강조표시한 '따를 만한'과 '붙여 쓰는'은 원칙상 모두 띄어 쓰고, 실제로는 '붙여 쓰기'(보조용언) 정도는 '붙여쓰기'로 쓰기도 하죠. 서로를 명확히 구분할 수 있는 건 아니지만 규범 문법과 기술 문법이 있습니다. --[[사용자:호로조|호로조]] ([[사용자토론:호로조|토론]]) 2024년 5월 28일 (화) 06:32 (KST) :::나쁘진 않네요ㄷㄷ '규범 표기' 작성 찬성입니다 [[사용자:YeBoy371|YeBoy371]] ([[사용자토론:YeBoy371|토론]]) 2024년 5월 28일 (화) 12:08 (KST) == 틀의 사용을 확대하기 위한 방법? == 제가 위키낱말사전에 새로이 올라오는 편집들을 검토했을 때, 개선해야 할 사항은 다음과 같습니다. * 틀을 만들어도 이러한 틀이 있는지 모른다. * 문서 형식에 있어 일관성이 없다. 이러한 문제가 발생하는 원인을 경험에 비춰 생각해 보았습니다. * 맨 처음에 접한 문서를 일종의 기준으로 삼아서 편집 활동에 반영한다. * 기억이 안 나면 기준이 되는 문서의 편집 버튼을 눌러 그 문서에 사용된 위키문법 등의 배치나 틀의 사용을 따라 한다. 그렇다면 다음과 같은 방안을 강구해 볼 수 있겠습니다. * 튀고, 눈에 뛰는 디자인을 사용한다. <br> -> 꼭 색깔이나 글씨체를 바꾸지 않더라도, <div style="pointer-events: none; overflow-x: auto;">[[파일:Left square bracket.svg|5px]]라벨명[[파일:Right square bracket.svg|5px]]</div>에서의 괄호처럼 텍스트와 구분되는 디자인을 사용하여 <br> [라벨명]과 같이 입력하는 것과 구분된다는 걸 넌지시 알려 줍니다. * 입력할 때 바로바로 입력하기가 쉬워야 한다. <br> -> <nowiki>{{용어사전|1인칭}}</nowiki>보다는 <nowiki>{{gl|1인칭}}</nowiki> 따위로 줄입니다.<br> 틀 표제어는 그대로 '틀:용어사전'으로, 문서에 사용할 땐 줄임말을 적용한다는 겁니다. * 트래킹할 수 있는 로직(logic)을 모듈에 추가 한다. <br> -> 봇 작업을 용이하게 하기 위해 분류를 자동으로 넣어 주는 로직을 삽입합니다. * 봇의 대량 편집으로 이러한 편집들을 주류로 만든다. <br> -> 일종의 규범화 작업으로, 사용자들은 자주 노출되는 형식을 따르는 경향이 있습니다. 뇌용량의 한계로 딱 이 정도의 방안만 생각나는데 이 외에도 다른 좋은 생각이 있다면 의견을 남겨 주시면 감사하겠습니다. --[[사용자:호로조|호로조]] ([[사용자토론:호로조|토론]]) 2024년 6월 8일 (토) 01:07 (KST) :경험상 봇으로 규범화를 자연스레 하는 것과 바로바로 쓰기 편해야 한단 게 제일 중요하긴 합니다. [[사용자:LR0725|LR0725]] ([[사용자토론:LR0725|토론]]) 2024년 6월 8일 (토) 03:02 (KST) :문서 형식에 일관성이 없다는 말에 동의합니다. 수작업으로 처리하기에는 문서량이 워낙 많으니, 봇으로 규범화하는 방안 좋은 것 같습니다. [[사용자:Dolab0526|Dolab0526]] ([[사용자토론:Dolab0526|토론]]) 2024년 6월 8일 (토) 11:54 (KST) ::{{핑|LR0725|Dolab0526}} 써 놓고 보니 '일관성 없다는' 제 단어 선택이 조금 사용자분들의 기여를 깎아 내리는 표현같다는 느낌이 다소 없지 않아 있습니다만, 엄연히 저도 굴러 들어 온 돌이고 따라야 할 기준같은 게 필요한데 그런 게 없어서 난감한 경우가 많습니다. 저도 편집에 있어 어려움을 느끼는 사용자 중 1인입니다. 구체적으로 '가르칠 교' 문서 [[敎]]와 '군사 군' 문서 [[軍]]를 보면 특유의 아흔식 디자인 중구난방 한자 풀이 틀이 무척 보기 안 좋습니다. 틀간의 위아래 높이도 다르고 통일성을 해치는데, '나라 국' 문서 [[國]]은 정리가 매우 잘 되어 있습니다. --[[사용자:호로조|호로조]] ([[사용자토론:호로조|토론]]) 2024년 6월 8일 (토) 12:16 (KST) :::한자(교차언어) 부분과 한국어(한자) 부분으로 나누어서 일단은 한국어 문단 부분을 정리하는 작업을 봇으로 진행해보려 합니다. [[사용자:Dolab0526|Dolab0526]] ([[사용자토론:Dolab0526|토론]]) 2024년 6월 8일 (토) 12:26 (KST) == 현재 위키낱말사전 로고와 네이밍 == 지극히 개인적인 해석이긴 하지만, 위키낱말사전의 로고와 위키낱말사전이라는 이름이 조금 시대에 맞지 않다는 생각이 없지 않아 있습니다. * [[스큐어모피즘]], [[미니멀리즘]] 둘 중 어떤 것도 만족시키지 못하는 로고 : 현재 로고의 가장 큰 문제점이라고 생각합니다. 위키낱말사전이 개설될 2000년대에는 대상을 리얼하게 살려서 그 의미를 전달하는 스큐어모피즘이 대세였고, 아마 그에 따른 디자인 정신에 입각해서 만든 것이라 생각됩니다만, 실제로 이게 무엇인지 아는 사람은 많지 않습니다. 심지어 위키낱말사전 활동을 권유했다가 로고가 중국인들이 즐기는 [[마작패]], [[도박용품]] 같다는 얘기마저 들었습니다. 육체 노동에 주로 종사하는 외국인 지인이나 가르치는 아이들에게 물어 본 것이 위키낱말사전을 접하는 모든 대중의 시각을 반영하는 것은 아니지만, 최소한 스큐어모피즘이라 하면 이것이 무엇을 표현하고 싶은 것인지 알아야 하는 것이고, 그게 아니라면 미니멀리즘에 입각한 영어 윅셔너리 로고처럼 세련되어야 한다고 생각합니다. * 낱말이라는 단어 : 언어순화주의적 정신에 입각하여 순수한 한국어인 낱말로 정한 것은 취지는 좋다고 생각합니다만, 전 2010년대생 아이들에게 낱말이라는 표현을 사용했다가 아이들이 알아 듣지 못하는 것을 보고 충격을 받았던 경험이 있습니다. [[어휘]]나 [[단어]]라는 표현이 조금 더 통용되는 현재로서는 굳이 낱말이라는 표현을 사용해서 위키낱말사전의 정체성을 표현할 필요는 없었다고 생각합니다. 아닌 밤중에 뜬금없는 소리이지만, 읽어 주셔서 감사합니다. --[[사용자:호로조|호로조]] ([[사용자토론:호로조|토론]]) 2024년 6월 23일 (일) 01:53 (KST) :답변이 늦었습니다. 제시하신 두 의견에 모두 동의하는 바입니다. 특히 위키낱말사전 네이밍 관련해서는 `위키단어사전`이 좀 더 적합한 명칭이 아니었나 싶은 생각입니다. `단어사전`이라는 단어가 언중에서도 훨씬 많이 쓰이고 있기도 하구요. [[사용자:Dolab0526|Dolab0526]] ([[사용자토론:Dolab0526|토론]]) 2024년 7월 2일 (화) 17:42 (KST) :저는 2011년생이나 "낱말"을 이해할 수 있습니다. 위키낱말사전의 명칭을 바꾼다면 영어 명칭이 wiktionary 위키사전으로 하는게 낫지 않을까요? [[사용자:Whatback11|Whatback11]] ([[사용자토론:Whatback11|토론]]) 2025년 1월 15일 (수) 08:37 (KST) == 봇 작업 요청 == * '''1.''' 뜻풀이 의 형식으로 되어 있는 것을 #으로 모두 바꾸는 것이 가능할까요? --[[사용자:Jeebeen|Jeebeen]] ([[사용자토론:Jeebeen|토론]]) 2024년 7월 2일 (화) 17:00 (KST) :가능은 하지만 모든 표제어의 뜻풀이에 적용된 문법 형식이 통일되지 않아 예기치 못한 편집을 만들 우려가 있어서 아직까지는 작업을 보류하고 있었습니다. 가까운 시일 내 작업하려던 내용인데, 언어별로 시험 적용을 해본 후에 작업을 진행하여야 할 것 같네요. [[사용자:Dolab0526|Dolab0526]] ([[사용자토론:Dolab0526|토론]]) 2024년 7월 2일 (화) 17:40 (KST) ::{{ㄷ|Dolab0526}} 봇이 사용하는 파이봇, 파이썬에서도 정규표현식을 처리할 수 있나요? 저는 봇에 대해서는 잘 알지 못하나 정규표현식을 처리할 수 있다면 크게 예기치 못한 편집을 발생시킬 우려는 없다고 보긴 합니다. 두랩님께서 염려하고 계신 부분은 어떤 부분인가요? --[[사용자:Jeebeen|Jeebeen]] ([[사용자토론:Jeebeen|토론]]) 2024년 7월 3일 (수) 03:40 (KST) :::Pywikibot으로 정규표현식을 처리할 수 있는 것으로 알고 있습니다. <nowiki>* '''1'''.</nowiki> 형식이 아닌 다른 형식으로 쓰여있는 문서도 있어 제대로 적용되지 않을까 생각된 부분이 있긴 한데, 그래도 일단 한 번 시도해보겠습니다. 감사합니다. [[사용자:Dolab0526|Dolab0526]] ([[사용자토론:Dolab0526|토론]]) 2024년 7월 3일 (수) 15:51 (KST) :::일단 대략적인 작업을 완료했고, 결과물을 직접 확인해 보았는데 미처 처리되지 못한 부분이 꽤 있는 것 같습니다. 모든 문서를 순회하면서 코드를 돌리도록 수정해보겠습니다. --[[사용자:Dolab0526|Dolab0526]] ([[사용자토론:Dolab0526|토론]]) 2024년 7월 28일 (일) 13:16 (KST) ::::감사합니다. 다행히도 예기치 못한 동작은 없는 듯합니다. --[[사용자:Jeebeen|Jeebeen]] ([[사용자토론:Jeebeen|토론]]) 2024년 7월 28일 (일) 17:49 (KST) == [[:meta:Requests for comment/Global ban for Won1017|Won1017의 전역 추방안]] == 메타의 전역 추방안 정책에 의거해, [[사용자:Won1017]] 사용자의 전역 추방안이 제안되었음을 알립니다. 많은 참여 부탁드립니다. [[사용자:Takipoint123|Takipoint123]] ([[사용자토론:Takipoint123|토론]]) 2024년 10월 26일 (토) 07:47 (KST) == 가지 관련 틀 번역 == 현재 가지 관련 틀을 번역하고 있습니다. 가지는 '''접사'''라고 하기도 하지만 언어 순화 차원에서 가지라는 낱말을 고르기로 했습니다. 다음은 번역할 예정인 틀 목록입니다. 번역은 영어 위키낱말사전으로부터 이루어집니다. 그리고 한자용어, 영어로도 리다이렉트 또는 require도 추가할 것입니다. 영어 위키낱말사전 [https://w.wiki/ChJZ 틀:affix]를 [[틀:가지]]와 같이요. 자세한 내용은 [https://namu.wiki/w/%EC%A0%91%EC%82%AC(%EC%96%B8%EC%96%B4)?uuid=c755875d-6f63-4edf-a098-fac92c2c97a0 이 나무위키 문서]의 3번 문단을 확인해 주시기 바랍니다. <br> <br>추가) <br>복합어 -> 겹낱말 <br>복합사 -> 겹씨 <br> [[사용자:Whatback11|Whatback11]] ([[사용자토론:Whatback11|토론]]) 2025년 1월 11일 (토) 22:19 (KST) :{{ㄷ|Whatback11}} 겹낱말, 겹씨, 가지 등은 일반적으로 사용되는 용어가 아닙니다. [[#현재 위키낱말사전 로고와 네이밍]]에서와 같이 위키낱말사전의 '낱말'이라는 단어조차도 최근 세대로 넘어오면 의미 전달이 안 되는 것이 사실이며, 2000년대 언어 순화 운동에서 수직적으로 전파되던 이러한 단어들을 대부분의 사용자들이 이해할 수 있을지는 모를 일입니다. 그렇게 될 경우 동사 같은 단어도 움직씨 등으로 고쳐야 한다는 문제가 있고, 단순히 기존에 잘 사용되어 오던 용어들을 2000년대 방식으로 언어순화하는 것은 언어순혈주의라고 보기 때문에 부정적입니다. --[[사용자:Jeebeen|Jeebeen]] ([[사용자토론:Jeebeen|토론]]) 2025년 1월 13일 (월) 10:21 (KST) ::[[모듈:affix/templates]] 모듈의 보호단계 격하를 요청드립니다. 다름이 아니라 lua script에서 발생하는 오류를 수정해야 합니다. [[사용자:Whatback11|Whatback11]] ([[사용자토론:Whatback11|토론]]) 2025년 1월 15일 (수) 05:25 (KST) :::{{ㄷ|Whatback11}} [[Module:Whatback11/affix/template]]에서 코드를 연습하고 [[사용자:Whatback11/접사]](틀)을 생성한 뒤 [[사용자:Whatback11/시험장]]에서 적용하신 뒤 적용을 요청하셔도 되는 부분이라 3개월 관리자 보호를 해제해야 하는지 잘 모르겠습니다. 실제 문서에 적용되었을 때 어떻게 작동하는지는 "이 틀과 함께 문서 미리 보기"의 기능을 통해 하실 수 있는데, 코드들을 편집한 뒤 모듈이 사용된 일반 문서들을 확인해 보았을 때 모든 문서에서 오류가 발생했습니다. [[특수:차이/4384745|차이/4384745]]와 같은 편집은 현재 겪고 계신 오류가 무엇인지 확인이 안 되기 때문에 제가 섣불리 판단하기 어려워서 이에 대해선 귀하의 의견을 좀 더 듣고 싶습니다. 아마 [[Module:category tree]]같은 모듈들을 그냥 한국어로 번역하고 적어 넣으셔서 문제가 발생하는 것에 대해 해결하시고자 하는 차원에서 수정하신 것 같은데, 이것이 affix 모듈과 구체적으로 어떤 관련이 있는 건가요? affix 본연의 기능은 현재도 정상적으로 작동합니다. 혹시 category tree 기능이 affix 모듈의 내용을 참조하나요? :::또한 languages, debug, parameters 등의 메서드, 유틸리티 모듈의 경우 영어판 코드를 그대로 사용하게 되시면 이전에 번역해 놓은 내용이나 기존 기능들과 한국어판에서 새로 작성한 코드와 같이 이전에 기여해 놓은 내용이 모두 무시됩니다. --[[사용자:Jeebeen|Jeebeen]] ([[사용자토론:Jeebeen|토론]]) 2025년 1월 15일 (수) 12:06 (KST) ::::오류가 발생하는 부분 알려드립니다. 그리고 수정 요청사항을 기재한 주석은 지워주시면 감사하겠습니다. ::::아래는 수정이 필요한 부분을 주석으로 표시한 것입니다. ::::{| class="wikitable mw-collapsible" |- | 코드 보기 |- |<pre> function export.affix(frame) local function extra_params(params) params.type = {} params.notext = {type = "boolean"} params.nocat = {type = "boolean"} params.force_cat = {type = "boolean"} end local args, parts, lang, sc = parse_args { raw_args = frame:getParent().args, extra_params = extra_params, } if args.type and not m_affix.etymology_types[args.type] then error("Unrecognized etymology type: '" .. args.type .. "'") end -- There must be at least one part to display. If there are gaps, a term -- request will be shown. -- 주석 번역: 띄울 부분이 적어도 하나는 있어야 합니다. 비어 있으면, 용어 -- 요청이 표시됩니다. if not next(parts) and not args.type then if mw.title.getCurrentTitle().nsText == "Template" then -- 한국어 위낱사는 "틀" 이름공간을 씁니다. "Template"으로는 감지할 수 없습니다. parts = { {term = "prefix-"}, {term = "base"}, {term = "-suffix"} } else error("You must provide at least one part.") -- 오류 출력문 번역: 적어도 한부분은 넣어야 합니다. end end return m_affix.show_affix(augment_affix_data({ parts = parts }, args, lang, sc)) end </pre> |- |}[[사용자:Whatback11|Whatback11]] ([[사용자토론:Whatback11|토론]]) 2025년 1월 15일 (수) 18:23 (KST) == 위키미디어 이름공간 문서 대량 수정 및 생성 요청 == [[미디어위키:Scribunto-doc-page-show]], [[MediaWiki:Clearyourcache]] 문서의 내용에 수정을 요청을 제출합니다. <br>상세한 내용은 [[사용자:Whatback11/문서 수정 신청서|신청서]]를 참고해주시면 감사하겠습니다. [[사용자:Whatback11|Whatback11]] ([[사용자토론:Whatback11|토론]]) 2025년 1월 15일 (수) 05:21 (KST) == 보호 편집 요청? == [[미디어위키토론:Common.css#보호 편집 요청?]] 참고 부탁드립니다. 보호 편집 요청 틀이 없네요.--[[사용자:Namoroka|Namoroka]] ([[사용자토론:Namoroka|토론]]) 2025년 1월 16일 (목) 20:52 (KST) == 영어로 작성된 글이 많아서 한국어 글이 안 보이는 문제가 있는데요 == 일단 번역해달라는 글들을 한국어로 번역하기는 했는데, 원문을 작성자 서명 정도만 남기고 번역본으로 대체해도 되는지, 아니면 지금처럼 원문 밑에 번역본을 댓글로 다는 형태로 놔둬야하나요? [[사용자:Dollasdal|Dollasdal]] ([[사용자토론:Dollasdal|토론]]) 2025년 8월 21일 (목) 00:40 (KST) :일단 전부 한국어 번역본으로 교체해놨습니다. [[사용자:Dollasdal|Dollasdal]] ([[사용자토론:Dollasdal|토론]]) 2025년 8월 22일 (금) 12:05 (KST) == [총의필요]등재기준 == #유명한 사람의 필명의 등재를 허용하나 원래 이름을 안다면 이를 우선시한다. #'미네르바'를 '미네'로 부르는 식의 얘칭의 서술은 허용되나 원래 이름에 들어있는 경우('카렌짱'등)를 제외한 단순히 -짱,-상 식('또래상'등)은 예외로 한다. #사전식 기술 외 광고성 서술을 금한다. @[[사용자:CHK2605|CHK2605]]@[[사용자:Trong Dang|Trong Dang]] [[사용자:메지로 아르당|메지로 아르당]] ([[사용자토론:메지로 아르당|토론]]) 2025년 9월 14일 (일) 21:10 (KST) :각 항에 대한 제 의견은 다음과 같습니다. :# 위키낱말사전의 기본 의의와는 동떨어져 있기 때문에 해당 내용을 논의할 이유가 전혀 없습니다. 위키낱말사전은 모든 언어의 어휘를 수록하고자 하는 언어사전이지, 인명 혹은 필명을 등재하는 인명사전이 아닙니다. 이러한 인물 등에 대하여 서술하고자 하는 경우에는 위키낱말사전보다는 위키백과에 서술하는 것이 더욱 적합합니다. 물론 위키백과에 서술한다 하더라도, 그곳의 등재 기준에 따라야 하겠지만요. :# 애칭에 대한 서술 또한 1에 대한 답변으로 갈음합니다. :# [[위키낱말사전:삭제 정책]]에 이미 명시된 사항이므로 추가로 논의할 이유가 없습니다. :[[사용자:CHK2605|CHK2605]] ([[사용자토론:CHK2605|토론]]) 2025년 9월 14일 (일) 21:48 (KST) == 위키컨퍼런스 서울 2025 관련 안내 == 안녕하세요 여러분, 공지가 약간 늦었습니다만 10월 25일에 [[:w:위키백과:위키컨퍼런스 서울 2025|위키컨퍼런스 서울 2025]]가 열립니다. 위키미디어 프로젝트에 관심있는 사용자라면 누구나 참여하실 수 있습니다. 아울러 위키컨퍼런스 서울 2025에 대한 중앙공지(Centralnotice)를 준비중입니다. 중앙공지는 메타에서 설정한 프로젝트의 상단에 알리는 공지로 사이트노티스와 유사합니다. 10월10일부터 25일까지 위키컨퍼런스 서울 2025에 대한 중앙공지가 진행될 예정입니다. 이와 관련하여 사전에 공지하고자 합니다. 감사합니다.--[[사용자:Youngjin (WMKR)|Youngjin (WMKR)]] ([[사용자토론:Youngjin (WMKR)|토론]]) 2025년 9월 15일 (월) 10:38 (KST) : 자세한 내용은 [[:meta:CentralNotice/Request/WikiConference Seoul 2025]]를 참조하세요.--[[사용자:Youngjin (WMKR)|Youngjin (WMKR)]] ([[사용자토론:Youngjin (WMKR)|토론]]) 2025년 9월 16일 (화) 13:07 (KST) == 올해의 위키인 후보 추천이 시작되었습니다. == * [[:w:위키백과:올해의 위키인/2025년]] 안녕하세요, 한국어 위키미디어 커뮤니티 내 성실하게 활동하고 있는 사용자의 노고를 기리고, 서로를 격려하는 자리인 올해의 위키인이 2025년에도 진행됩니다. 올해의 위키인 후보추천이 오늘부터 시작됩니다. 올 한해를 빛낸 활약을 펼친 위키인을 칭찬하는 자리인 올해의 위키인에 많은 칭찬과 후보 추천을 부탁드립니다. 자매 프로젝트 부분을 통해 자매 프로젝트에서 활동하신 사용자를 추천하실 수 있으며, 한국어 위키백과 페이지에서 오늘부터 11월 26일까지 진행됩니다. 감사합니다. --[[사용자:Youngjin (WMKR)|Youngjin (WMKR)]] ([[사용자토론:Youngjin (WMKR)|토론]]) 2025년 11월 20일 (목) 14:28 (KST) == 안녕하세요. == * [[위키낱말사전:관리자 선거/기나ㅏㄴ]] 사이트노티스에 올릴 관리자도 없고 GS들에게도 요청할 수가 없어서, 그리고 자칫하면 선전행위이기에 여러모로 답답한 마음입니다. 투표권 있으신 분들이 있다면,,, 한번씩 참여해주시면 감사하겠습니다. 해야할 것들이 있습니다. [[user:기나ㅏㄴ|<span style="font-weight:bold;font-family:'Lucida Handwriting';text-shadow:3px 2px 3px red;color:black;">ginaan</span>]]<span style="font-weight:bold;text-shadow:3px 2px 3px blue;">([[user talk:기나ㅏㄴ|T]]/[[special:contributions/기나ㅏㄴ|C]])</span> 2026년 5월 5일 (화) 22:40 (KST) == 위키낱말사전의 새로운 도구 == * [[toolforge:kowordgen]] 우리말샘과 연계해서 위키낱말사전의 한국어 단어를 더욱 효율적으로 생성할 수 있는 도구입니다. [[user:기나ㅏㄴ|<span style="font-weight:bold;font-family:'Lucida Handwriting';text-shadow:3px 2px 3px red;color:black;">ginaan</span>]]<span style="font-weight:bold;text-shadow:3px 2px 3px blue;">([[user talk:기나ㅏㄴ|T]]/[[special:contributions/기나ㅏㄴ|C]])</span> 2026년 9월 8일 (화) 05:05 (KST) == [[:ko:w:행사:위키컨퍼런스 서울 2026|위키컨퍼런스 서울 2026]]이 10월 24일에 열립니다 (발표자 모집) == 안녕하세요, 올해도 위키컨퍼런스 서울이 10월 24일에 열립니다. 올해는 압구정 도산 프라이빗에서 지금까지의 우리의 활동을 고민하고 논의하는 자리를 가지고자 합니다. 아울러 사용자 발표를 모집하고 있으니 자세한 내용은 [[:ko:w:위키컨퍼런스 서울 2026|위키컨퍼런스 서울 2026 행사 페이지]]를 참조해 주세요. 그리고 위키에 관심 있는 분들이 많이 참석할 수 있도록 주위에 홍보해 주세요:) 감사합니다. --[[사용자:Youngjin (WMKR)|Youngjin (WMKR)]] ([[사용자토론:Youngjin (WMKR)|토론]]) 2026년 9월 8일 (화) 13:32 (KST) 2nnzexwv3660srmaha2phis04iqfs45 모듈:languages/data/3/g 828 446513 4486438 4485288 2026-09-08T04:46:32Z Apisite 21408 4486438 Scribunto text/plain local m_langdata = require("Module:languages/data") -- Loaded on demand, as it may not be needed (depending on the data). local function u(...) u = require("Module:string utilities").char return u(...) end local c = m_langdata.chars local p = m_langdata.puaChars local s = m_langdata.shared local m = {} -- TODO: this is only needed because of the current hack in grc entry_name. remove when no longer needed; there should not be a reason to use unpack in language data. local unpack = unpack or table.unpack -- Lua 5.2 compatibility m["gaa"] = { "Ga", 33287, "alv-gda", "Latn", } m["gab"] = { "Gabri", 3441237, "cdc-est", "Latn", } m["gac"] = { "Mixed Great Andamanese", 56329630, "qfa-adn", "Latn", } m["gad"] = { -- not to be confused with gdk, gdg "Gaddang", 3438830, "phi", "Latn", } m["gae"] = { "Warekena", 1091095, "awd-nwk", "Latn", } m["gaf"] = { "Gende", 3100425, "paa-kag", "Latn", } m["gag"] = { "Gagauz", 33457, "trk-ogz", "Latn, Cyrl", ancestors = "trk-oat", dotted_dotless_i = true, sort_key = { Latn = { from = { "i", -- Ensure "i" comes after "ı". "ä", "ç", "ê", "ı", "ö", "ş", "ţ", "ü" }, to = { "i" .. p[1], "a" .. p[1], "c" .. p[1], "e" .. p[1], "i", "o" .. p[1], "s" .. p[1], "t" .. p[1], "u" .. p[1] } }, }, } m["gah"] = { "Alekano", 3441595, "paa-kag", "Latn", } m["gai"] = { "Borei", 6799756, "paa", "Latn", } m["gaj"] = { "Gadsup", 5516467, "paa-kag", "Latn", } m["gak"] = { "Gamkonora", 5520226, "paa-nha", "Latn", } m["gal"] = { "Galoli", 35322, "poz-tim", "Latn", } m["gam"] = { "Kandawo", 6361369, "ngf", "Latn", } m["gan"] = { "Gan", 33475, "zhx", "Hants", ancestors = "ltc", generate_forms = "zh-generateforms", translit = "zh-translit", sort_key = "Hani-sortkey", } m["gao"] = { "Gants", 5521529, "ngf-mad", "Latn", } m["gap"] = { "Gal", 5517742, "ngf-mad", "Latn", } m["gaq"] = { "Gata'", 3501920, "mun", } m["gar"] = { "Galeya", 5518509, "poz-ocw", "Latn", } m["gas"] = { "Adiwasi Garasia", 12953522, "inc-bhi", "Deva, Gujr", ancestors = "bhb", } m["gat"] = { "Kenati", 4219330, "paa-kag", "Latn", } m["gau"] = { "Kondekor", 12952433, "dra-pgd", "Telu", } m["gaw"] = { "Nobonob", 11732205, "paa", "Latn", } m["gay"] = { "Gayo", 33286, "poz-nws", "Latn", } m["gbb"] = { "Kaytetye", 6380709, "aus-rnd", "Latn", } m["gbd"] = { "Karadjeri", 3913837, "aus-pam", "Latn", } m["gbe"] = { "Niksek", 56375, "paa", "Latn", } m["gbf"] = { "Gaikundi", 5517032, "paa-spk", "Latn", } m["gbg"] = { "Gbanziri", 35306, "nic-nkg", "Latn", } m["gbh"] = { "Defi Gbe", 12952446, "alv-gbe", "Latn", } m["gbi"] = { "Galela", 3094570, "paa-nha", "Latn", } m["gbj"] = { "Bodo Gadaba", 3347070, "mun", "Orya", } m["gbk"] = { "Gaddi", 17455500, "him", "Deva, Takr", translit = {Deva = "hi-translit"}, } m["gbl"] = { "Gamit", 2731717, "inc-bhi", "Deva, Gujr", } m["gbm"] = { "Garhwali", 33459, "inc-pah", "Deva", translit = "hi-translit", } m["gbn"] = { "Mo'da", 12755683, "csu-bbk", "Latn", } m["gbo"] = { "Northern Grebo", 11157042, "kro-grb", "Latn", ancestors = "grb", } m["gbp"] = { "Gbaya-Bossangoa", 11011295, "gba-wes", "Latn", } m["gbq"] = { "Gbaya-Bozoum", 4952879, "gba-wes", "Latn", } m["gbr"] = { "Gbagyi", 11015105, "alv-ngb", "Latn", } m["gbs"] = { "Gbesi Gbe", 12952448, "alv-pph", "Latn", } m["gbu"] = { "Gagadu", 35677, "aus-arn", "Latn", } m["gbv"] = { "Gbanu", 3914945, "gba-eas", "Latn", } m["gbw"] = { "Gabi", 5515391, "aus-pam", "Latn", } m["gbx"] = { "Eastern Xwla Gbe", 18379975, "alv-pph", "Latn", } m["gby"] = { "Gbari", 3915451, "alv-ngb", "Latn", } m["gcc"] = { "Mali", 6743338, "paa-bng", "Latn", } m["gcd"] = { "Ganggalida", 3913765, "aus-tnk", "Latn", } m["gce"] = { "Galice", 20711, "ath-pco", "Latn", } m["gcf"] = { "Antillean Creole", 3006280, "crp", "Latn", ancestors = "fr", sort_key = s["roa-oil-sortkey"], } m["gcl"] = { "Grenadian Creole English", 4252500, "crp", "Latn", ancestors = "en", } m["gcn"] = { "Gaina", 11732195, "ngf", "Latn", } m["gcr"] = { "Guianese Creole", 1363072, "crp", "Latn", ancestors = "fr", sort_key = s["roa-oil-sortkey"], } m["gct"] = { "Colonia Tovar German", 1138351, "gmw-hgm", "Latn", ancestors = "gsw", } m["gdb"] = { "Ollari", 33906, "dra-pgd", "Orya, Telu", translit = { Telu = "te-translit" }, } m["gdc"] = { "Gugu Badhun", 10510360, "aus-pam", "Latn", } m["gdd"] = { "Gedaged", 35292, "poz-ocw", "Latn", } m["gde"] = { "Gude", 3441230, "cdc-cbm", "Latn", } m["gdf"] = { "Guduf-Gava", 3441350, "cdc-cbm", "Latn", } m["gdg"] = { -- not to be confused with gad, gdk "Ga'dang", 5515189, "phi", "Latn", } m["gdh"] = { "Gadjerawang", 3913817, "aus-jar", "Latn", } m["gdi"] = { "Gundi", 11137851, "nic-nkb", "Latn", } m["gdj"] = { "Kurtjar", 5619931, "aus-pmn", "Latn", } m["gdk"] = { -- not to be confused with gad, gdg "Gadang", 56256, "cdc-est", "Latn", } m["gdl"] = { "Dirasha", 56809, "cus-eas", "Ethi", } m["gdm"] = { "Laal", 33436, "qfa-iso", "Latn", } m["gdn"] = { "Umanakaina", 7881084, "ngf", "Latn", } m["gdo"] = { "Godoberi", 56515, "cau-and", "Cyrl", display_text = {Cyrl = s["cau-Cyrl-displaytext"]}, entry_name = {Cyrl = s["cau-Cyrl-entryname"]}, } m["gdq"] = { "Mehri", 13361, "sem-sar", "Arab, Latn", } m["gdr"] = { "Wipi", 8026711, "paa", "Latn", } m["gds"] = { "Ghandruk Sign Language", 15971577, "sgn", } m["gdt"] = { "Kungardutyi", 6444517, "aus-kar", "Latn", } m["gdu"] = { "Gudu", 3441172, "cdc-cbm", "Latn", } m["gdx"] = { "Godwari", 3540922, "raj", "Deva", } m["gea"] = { "Geruma", 3438789, "cdc-wst", "Latn", } m["geb"] = { "Kire", 11129733, "paa", "Latn", } m["gec"] = { "Gboloo Grebo", 11019342, "kro-grb", "Latn", ancestors = "grb", } m["ged"] = { "Gade", 3914459, "alv-nup", "Latn", } m["geg"] = { "Gengle", 3438345, "alv-mye", "Latn", ancestors = "kow", } m["geh"] = { "Hutterisch", 33385, "gmw-hgm", "Latn", ancestors = "bar", } m["gei"] = { "Gebe", 3100032, "poz-hce", "Latn", } m["gej"] = { "Gen", 33450, "alv-gbe", "Latn", } m["gek"] = { "Gerka", 3441277, "cdc-wst", "Latn", } m["gel"] = { "Fakkanci", 36627, "nic-knn", "Latn", } m["geq"] = { "Geme", 3915851, "znd", "Latn", } m["ges"] = { "Geser-Gorom", 5553579, "poz-cma", "Latn", } m["gev"] = { "Viya", 7937974, "bnt-tso", "Latn", } m["gew"] = { "Gera", 3438725, "cdc-wst", "Latn", } m["gex"] = { "Garre", 56618, "cus-som", "Latn", } m["gey"] = { "Enya", 5381452, "bnt-mbe", "Latn", } m["gez"] = { "그으즈어", 35667, "sem-eth", "Ethi", translit = "Ethi-translit", } m["gfk"] = { "Patpatar", 3368846, "poz-ocw", "Latn", } m["gft"] = { "Gafat", 56910, "sem-eth", "Ethi, Latn", } m["gga"] = { "Gao", 3095228, "poz-ocw", "Latn", } m["ggb"] = { "Gbii", 3914390, "kro-wkr", "Latn", } m["ggd"] = { "Gugadj", 5615186, "aus-pmn", "Latn", } m["gge"] = { "Guragone", 5619801, "aus-arn", "Latn", } m["ggg"] = { "Gurgula", 5620032, "raj", "Arab", } m["ggk"] = { "Kungarakany", 6444516, "aus-arn", "Latn", } m["ggl"] = { "Ganglau", 5521140, "ngf-mad", "Latn", } m["ggn"] = { "Eastern Gurung", 12952472, "sit-tam", "Gukh, Deva", } m["ggt"] = { "Gitua", 3107865, "poz-ocw", "Latn", } m["ggu"] = { "Gban", 3913317, "dmn-nbe", "Latn", } m["ggw"] = { "Gogodala", 3512161, "paa-pag", "Latn", } m["gha"] = { "Ghadames", 56747, "ber", "Latn", -- and other scripts? } m["ghc"] = { "고전 게일어", 5128278, "cel-gae", "Latn, Latg", ancestors = "mga", } m["ghe"] = { "Southern Ghale", 12952453, "sit-tam", "Deva", } m["ghh"] = { "Northern Ghale", 22662104, "sit-tam", "Deva", } m["ghk"] = { "Geko Karen", 5530317, "kar", } m["ghl"] = { "Ghulfan", 16885737, "nub-hil", "Latn", -- and others? } m["ghn"] = { "Ghanongga", 3104772, "poz-ocw", "Latn", } m["gho"] = { "Ghomara", 35315, "ber", "Tfng, Latn", translit = {Tfng = "Tfng-translit"}, } m["ghr"] = { "Ghera", 22808992, "inc-hiw", } m["ghs"] = { "Guhu-Samane", 11732219, "ngf", "Latn", } m["ght"] = { "Kutang Ghale", 6448337, "sit-tam", "Tibt", translit = "Tibt-translit", override_translit = true, display_text = s["Tibt-displaytext"], entry_name = s["Tibt-entryname"], sort_key = "Tibt-sortkey", } m["gia"] = { "Kitja", 1284877, "aus-jar", "Latn", } m["gib"] = { "Gibanawa", 12953530, "crp", "Latn", ancestors = "ha", } m["gid"] = { "Gidar", 35265, "cdc-cbm", "Latn", } m["gie"] = { "Guébie", 63140714, "kro-did", "Latn", } m["gig"] = { "Goaria", 33269, "raj", "Arab", } m["gih"] = { "Githabul", 48987680, "aus-pam", "Latn", } m["gii"] = { "Girirra", 5564288, "cus-som", } m["gil"] = { "Gilbertese", 30898, "poz-mic", "Latn", } m["gim"] = { "Gimi (Goroka)", 11732209, "paa", "Latn", } m["gin"] = { "Hinukh", 33283, "cau-wts", "Cyrl", translit = "gin-translit", display_text = {Cyrl = s["cau-Cyrl-displaytext"]}, entry_name = {Cyrl = s["cau-Cyrl-entryname"]}, } m["gip"] = { "Gimi (Austronesian)", 12952457, "poz-ocw", } m["giq"] = { "Green Gelao", 12953525, "gio", "Latn", } m["gir"] = { "Red Gelao", 3100264, "gio", } m["gis"] = { "North Giziga", 3515084, "cdc-cbm", } m["git"] = { "Gitxsan", 3107862, "nai-tsi", "Latn", } m["giu"] = { "Mulao", 11092831, "gio", } m["giw"] = { "White Gelao", 8843040, "gio", } m["gix"] = { "Gilima", 10977716, "nic-nkm", "Latn", } m["giy"] = { "Giyug", 5565906, } m["giz"] = { "South Giziga", 3502232, "cdc-cbm", } m["gji"] = { "Geji", 3914890, "cdc-wst", "Latn", } m["gjk"] = { "Kachi Koli", 12953646, "inc-wes", } m["gjm"] = { "Gunditjmara", 6448731, "aus-pam", "Latn", } m["gjn"] = { "Gonja", 35267, "alv-gng", "Latn", } m["gjr"] = { "Gurindji Kriol", 5620091, "qfa-mix", "Latn", ancestors = "gue, rop" } m["gju"] = { "Gojri", 3241731, "raj", "ur-Arab, Deva, Takr", entry_name = { ["ur-Arab"] = { remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.nunghunna .. c.smallv, from = {"ڵ", "ݩ"}, to = {"ل", "ن"} }, }, translit = {["ur-Arab"] = "ur-translit"}, } m["gka"] = { "Guya", 11732221, "ngf-fin", "Latn", } m["gkd"] = { "Magɨ", 55621742, "ngf-mad", "Latn", } m["gke"] = { "Ndai", 6983667, "alv-mbm", } m["gkn"] = { "Gokana", 3075137, "nic-ogo", "Latn", } m["gko"] = { "Kok-Nar", 6426526, "aus-pmn", "Latn", } m["gkp"] = { "Guinea Kpelle", 11052867, "dmn-msw", "Latn, Kpel", ancestors = "kpe", } m["glc"] = { "Bon Gula", 289816, "alv-bua", } m["gld"] = { "나나이어", 13303, "tuw-nan", "Cyrl", translit = "gld-translit", entry_name = {remove_diacritics = c.macron}, sort_key = { from = {"ё", "ӈ"}, to = {"е" .. p[1], "н" .. p[1]} }, } m["glh"] = { "Northwest Pashayi", 23713532, "inc-pas", "fa-Arab", } m["glj"] = { "Kulaal", 33360, "alv-bua", } m["glk"] = { "Gilaki", 33657, "ira-csp", "fa-Arab", } m["glo"] = { "Galambu", 2598797, "cdc-wst", "Latn", } m["glr"] = { "Glaro-Twabo", 3915313, "kro-wee", } m["glu"] = { "Gula", 5617176, "csu-bgr", "Latn", } m["glw"] = { "Glavda", 3441285, "cdc-cbm", "Latn", } m["gly"] = { "Gule", 3120736, "ssa-kom", } m["gma"] = { "Gambera", 10502327, "aus-wor", "Latn", } m["gmb"] = { "Gula'alaa", 3120733, "poz-sls", "Latn", } m["gmd"] = { "Mághdì", 3914475, "alv-bwj", } m["gmg"] = { "Magiyi", 16926155, "ngf-mad", "Latn", } m["gmh"] = { "중세 고지 독일어", 837985, "gmw-hgm", "Latn", entry_name = { remove_diacritics = c.circ .. c.macron, from = {"Ë", "ë", "[ƷȤ]", "[ʒȥ]"}, to = {"E", "e", "Z", "z"} }, } m["gml"] = { "Middle Low German", 505674, "gmw-lgm", "Latn", entry_name = {remove_diacritics = c.circ .. c.macron .. c.diaer}, } m["gmm"] = { "Gbaya-Mbodomo", 6799713, "gba-eas", "Latn", } m["gmn"] = { "Gimnime", 11016905, "alv-dur", "Latn", } m["gmu"] = { "Gumalu", 5618027, "ngf-mad", "Latn", } m["gmv"] = { "Gamo", 16116386, "omv-nom", "Latn, Ethi", } m["gmx"] = { "Magoma", 16939552, "bnt-bki", } m["gmy"] = { "Mycenaean Greek", 668366, "grk", "Linb", translit = "Linb-translit", } m["gmz"] = { "Mgbo", 6826835, "alv-igb", ancestors = "izi", } m["gna"] = { "Kaansa", 56802, "nic-gur", } m["gnb"] = { "Gangte", 12952442, "tbq-kuk", } m["gnc"] = { "Guanche", 35762, "ber", } m["gnd"] = { "Zulgo-Gemzek", 56800, "cdc-cbm", "Latn", } m["gne"] = { "Ganang", 63163361, "nic-plc", ancestors = "izr", } m["gng"] = { "Ngangam", 35888, "nic-grm", } m["gnh"] = { "Lere", 3915319, "nic-jer", } m["gni"] = { "Gooniyandi", 2669219, "aus-bub", "Latn", } m["gnj"] = { "Ngen of Djonkro", 63170838, "dmn-nbe", "Latn", } m["gnk"] = { "ǁGana", 1975199, "khi-kal", "Latn", } m["gnl"] = { "Gangulu", 4916329, "aus-pam", "Latn", } m["gnm"] = { "Ginuman", 11732210, "ngf", } m["gnn"] = { "Gumatj", 10510745, "aus-yol", "Latn", } m["gnq"] = { "Gana", 5520523, "poz-san", "Latn", } m["gnr"] = { "Gureng Gureng", 5619998, "aus-pam", "Latn", } m["gnt"] = { "Guntai", 12952475, "paa", "Latn", } m["gnu"] = { "Gnau", 3915810, "qfa-tor", } m["gnw"] = { "Western Bolivian Guaraní", 3775037, "tup-gua", "Latn", ancestors = "gn", } m["gnz"] = { "Ganzi", 11137942, "nic-nkb", "Latn", } m["goa"] = { "Guro", 35251, "dmn-mda", "Latn", } m["gob"] = { "Playero", 3027923, "sai-guh", } m["goc"] = { "Gorakor", 12952463, "poz-ocw", "Latn", } m["god"] = { "Godié", 3914412, "kro-bet", } m["goe"] = { "Gongduk", 2669221, "sit", } m["gof"] = { "Gofa", 12631584, "omv-nom", "Latn, Ethi", } m["gog"] = { "Gogo", 3272630, "bnt-ruv", "Latn", } m["goh"] = { "Old High German", 35218, "gmw-hgm", "Latn, Runr", entry_name = { remove_diacritics = c.circ .. c.macron .. c.diaer, from = {"[ƷȤ]", "[ʒȥ]"}, to = {"Z", "z"} }, translit = { Runr = "Runr-translit", }, } m["goi"] = { "Gobasi", 5575414, "ngf", "Latn", } m["goj"] = { "Gowlan", 12953532, "inc-sou", } -- gok is a spurious language, see [[w:Spurious languages]] m["gol"] = { "Gola", 35482, "alv", "Latn, Vaii", } m["gon"] = { "Gondi", 1775361, "dra-gon", "Telu, Gonm, Gong, Deva, Orya", translit = { Telu = "te-translit", Gong = "gon-Gong-translit", Gonm = "gon-Gonm-translit", }, } m["goo"] = { "Gone Dau", 3110470, "poz-pcc", "Latn", } m["gop"] = { "Yeretuar", 8052565, "poz-hce", "Latn", } m["goq"] = { "Gorap", 3110816, "crp", "Latn", ancestors = "ms", } m["gor"] = { "Gorontalo", 2501174, "phi", "Latn", } m["got"] = { "Gothic", 35722, "gme", "Goth, Runr, Latn", translit = {Goth = "Goth-translit"}, link_tr = true, entry_name = {Latn = {remove_diacritics = c.macron}}, } m["gou"] = { "Gavar", 3441180, "cdc-cbm", } m["gov"] = { "Goo", 16927208, "dmn", "Latn", } m["gow"] = { "Gorowa", 3437626, "cus-sou", "Latn", } m["gox"] = { "Gobu", 7194986, "bad-cnt", } m["goy"] = { "Goundo", 317636, "alv-kim", } m["goz"] = { "Gozarkhani", 5590235, "xme-ttc", ancestors = "xme-ttc-eas", } m["gpa"] = { "Gupa-Abawa", 3915352, "alv-ngb", "Latn", } m["gpn"] = { "Taiap", 56237, "paa", } m["gqa"] = { "Ga'anda", 56245, "cdc-cbm", "Latn", } m["gqi"] = { "Guiqiong", 3120647, "sit-qia", } m["gqn"] = { -- a variety of 'ter' "Kinikinao", 53386731, "awd", "Latn", } m["gqr"] = { "Gor", 759992, "csu-sar", "Latn", } m["gqu"] = { "Qau", 17284874, "gio", } m["gra"] = { "Rajput Garasia", 21041529, "inc-bhi", "Deva, Gujr", ancestors = "bhb", } m["grb"] = { "Grebo", 35257, "kro-grb", "Latn", } m["grc"] = { "고대 그리스어", 35497, "grk", "Polyt, Cprt", translit = { Polyt = "grc-translit", Cprt = "Cprt-translit", }, override_translit = true, display_text = { Polyt = s["Polyt-displaytext"], }, entry_name = { Polyt = "Polyt-entryname", }, sort_key = { Polyt = s["Polyt-sortkey"], }, standardChars = { Polyt = "ΑΆἈἉἊἋἌἍἎἏᾈᾉᾊᾋᾌᾍᾎᾏᾸᾹᾺᾼΒΓΔΕΈἘἙἚἛἜἝῈΖΗΉἨἩἪἫἬἭἮἯᾘᾙᾚᾛᾜᾝᾞᾟῊῌΘΙΊΪἸἹἺἻἼἽἾἿῘῙῚΚΛΜΝΞΟΌὈὉὊὋὌὍΠΡῬΡ̓ΣΤΥΎΫὙὛὝὟῨῩῪΦΧΨΩΏὨὩὪὫὬὭὮὯᾨᾩᾪᾫᾬᾭᾮᾯῸῺῼαάἀἁἂἃἄἅἆἇὰᾀᾁᾂᾃᾄᾅᾆᾇᾰᾱᾲᾳᾴᾶᾷβγδεέἐἑἒἓἔἕὲζηήἠἡἢἣἤἥἦἧὴᾐᾑᾒᾓᾔᾕᾖᾗῂῃῄῆῇθιίϊΐἰἱἲἳἴἵἶἷὶῐῑῒῖῗκλμνξοόὀὁὂὃὄὅὸπρῤῥςστυύϋΰὐὑὒὓὔὕὖὗὺῠῡῢῦῧφχψωώὠὡὢὣὤὥὦὧὼᾠᾡᾢᾣᾤᾥᾦᾧῲῳῴῶῷ·ͺ΄΅᾽᾿῀῁῍῎῏῝῞῟῭`´῾", Cprt = "𐠀𐠁𐠂𐠃𐠄𐠅𐠈𐠊𐠋𐠌𐠍𐠎𐠏𐠐𐠑𐠒𐠓𐠔𐠕𐠖𐠗𐠘𐠙𐠚𐠛𐠜𐠝𐠞𐠟𐠠𐠡𐠢𐠣𐠤𐠥𐠦𐠧𐠨𐠩𐠪𐠫𐠬𐠭𐠮𐠯𐠰𐠱𐠲𐠳𐠴𐠵𐠷𐠸𐠼𐠿", c.punc }, } m["grd"] = { "Guruntum", 3441272, "cdc-wst", "Latn", } m["grg"] = { "Madi", 6727664, "ngf-fin", "Latn", } m["grh"] = { "Gbiri-Niragu", 3913936, "nic-kau", "Latn", } m["gri"] = { "Ghari", 3104782, "poz-sls", "Latn", } m["grj"] = { "Southern Grebo", 3914444, "kro-grb", "Latn", ancestors = "grb", } m["grm"] = { "Kota Marudu Talantang", 6433808, "poz-san", "Latn", } m["gro"] = { "Groma", 56551, "sit-tib", } m["grq"] = { "Gorovu", 56355, "paa", "Latn", } m["grs"] = { "Gresi", 5607612, "paa-nim", "Latn", } m["grt"] = { "Garo", 36137, "tbq-bdg", "Latn, Beng, Brai", } m["gru"] = { "Kistane", 13273, "sem-eth", "Latn, Ethi", } m["grv"] = { "Central Grebo", 18385114, "kro-grb", "Latn", ancestors = "grb", } m["grw"] = { "Gweda", 5623387, "poz-ocw", "Latn", } m["grx"] = { "Guriaso", 12631954, "paa-kwm", "Latn", } m["gry"] = { "Barclayville Grebo", 11157342, "kro-grb", "Latn", ancestors = "grb", } m["grz"] = { "Guramalum", 3120935, "poz-ocw", "Latn", } m["gse"] = { "Ghanaian Sign Language", 35289, "sgn", "Latn", -- when documented } m["gsg"] = { "German Sign Language", 33282, "sgn-gsl", "Sgnw", } m["gsl"] = { "Gusilay", 35439, "alv-jol", "Latn", } m["gsm"] = { "Guatemalan Sign Language", 2886781, "sgn", "Latn", -- when documented } m["gsn"] = { "Gusan", 11732224, "ngf-fin", "Latn", } m["gso"] = { "Southwest Gbaya", 4919322, "gba-sou", "Latn", } m["gsp"] = { "Wasembo", 7971402, "ngf-mad", "Latn", } m["gss"] = { "Greek Sign Language", 3565084, "sgn", } m["gsw"] = { "Alemannic German", 131339, "gmw-hgm", "Latn", wikimedia_codes = "als", ancestors = "gmh", } m["gta"] = { "Guató", 3027940, "qfa-iso", "Latn", } m["gtu"] = { "Aghu Tharrnggala", 16825981, "aus-pmn", "Latn", } m["gua"] = { "Shiki", 3913946, "nic-jrn", "Latn", } m["gub"] = { "Guajajára", 7699720, "tup-gua", "Latn", } m["guc"] = { "Wayuu", 891085, "awd-taa", "Latn", } m["gud"] = { "Yocoboué Dida", 21074781, "kro-did", "Latn", } m["gue"] = { "Gurindji", 10511016, "aus-pam", "Latn", } m["guf"] = { "Gupapuyngu", 10511004, "aus-yol", "Latn", } m["gug"] = { "Paraguayan Guaraní", 17478066, "tup-gua", "Latn", ancestors = "gn", } m["guh"] = { "Guahibo", 2669193, "sai-guh", "Latn", } m["gui"] = { "Eastern Bolivian Guaraní", 2963912, "tup-gua", "Latn", ancestors = "gn", } m["guk"] = { "Gumuz", 2396970, "ssa", "Latn, Ethi", } m["gul"] = { "Gullah", 33395, "crp", "Latn", ancestors = "en", } m["gum"] = { "Guambiano", 2744745, "sai-bar", "Latn", } m["gun"] = { "Mbyá Guaraní", 3915584, "tup-gua", "Latn", ancestors = "gn", } m["guo"] = { "Guayabero", 2980375, "sai-guh", "Latn", } m["gup"] = { "Gunwinggu", 1406574, "aus-gun", "Latn", } m["guq"] = { "Aché", 383701, "tup", "Latn", } m["gur"] = { "Farefare", 35331, "nic-mre", "Latn", } m["gus"] = { "Guinean Sign Language", 15983937, "sgn", "Latn", -- when documented } m["gut"] = { "Maléku Jaíka", 3915782, "cba", "Latn", } m["guu"] = { "Yanomamö", 8048928, "sai-ynm", "Latn", } m["guv"] = { "Gey", 11137816, "alv-sav", "Latn", } m["guw"] = { "Gun", 3111668, "alv-gbe", "Latn", entry_name = {remove_diacritics = c.grave .. c.acute .. c.macron}, } m["gux"] = { "Gourmanchéma", 35474, "nic-grm", "Latn", } m["guz"] = { "Gusii", 33603, "bnt-lok", "Latn", } m["gva"] = { "Kaskihá", 3033534, "sai-mas", "Latn", } m["gvc"] = { "Guanano", 3566001, "sai-tuc", "Latn", } m["gve"] = { "Duwet", 5317647, "poz-ocw", "Latn", } m["gvf"] = { "Golin", 3110291, "ngf", "Latn", } m["gvj"] = { "Guajá", 3915506, "tup", "Latn", } m["gvl"] = { "Gulay", 641737, "csu-sar", "Latn", } m["gvm"] = { "Gurmana", 3913363, "nic-shi", "Latn", } m["gvn"] = { "Kuku-Yalanji", 5621973, "aus-pam", "Latn", } m["gvo"] = { "Gavião do Jiparaná", 5528335, "tup", "Latn", } m["gvp"] = { "Pará Gavião", 3365443, "sai-nje", "Latn", } m["gvr"] = { "Western Gurung", 2392342, "sit-tam", "Gukh, Deva", } m["gvs"] = { "Gumawana", 5618041, "poz-ocw", "Latn", } m["gvy"] = { "Guyani", 10511230, "aus-pam", "Latn", } m["gwa"] = { "Mbato", 3914941, "alv-ptn", "Latn", } m["gwb"] = { "Gwa", 5623219, "nic-jrn", "Latn", } m["gwc"] = { "Kalami", 1675961, "inc-koh", "Arab", } m["gwd"] = { "Gawwada", 3032135, "cus-eas", "Latn, Ethi", } m["gwe"] = { "Gweno", 3358211, "bnt-chg", "Latn", } m["gwf"] = { "Gowro", 3812403, "inc-koh", "Arab", } m["gwg"] = { "Moo", 6907057, "alv-bwj", "Latn", } m["gwi"] = { "Gwich'in", 21057, "ath-nor", "Latn", } m["gwj"] = { "Gcwi", 12631978, "khi-kal", "Latn", } m["gwm"] = { "Awngthim", 4830109, "aus-pmn", "Latn", } m["gwn"] = { "Gwandara", 56521, "cdc-wst", "Latn", } m["gwr"] = { "Gwere", 5623559, "bnt-nyg", "Latn", } m["gwt"] = { "Gawar-Bati", 33894, "inc-kun", "Arab", } m["gwu"] = { "Guwamu", 10511225, "aus-pam", "Latn", } m["gww"] = { "Kwini", 10551249, "aus-wor", "Latn", } m["gwx"] = { "Gua", 35422, "alv-gng", "Latn", } m["gxx"] = { "Wè Southern", 19921582, "kro-wee", "Latn", } m["gya"] = { "Northwest Gbaya", 36594, "gba-wes", "Latn", } m["gyb"] = { "Garus", 5524492, "ngf-mad", "Latn", } m["gyd"] = { "Kayardild", 3913770, "aus-tnk", "Latn", } m["gye"] = { "Gyem", 5624046, "nic-jer", "Latn", } m["gyf"] = { "Gungabula", 10510783, "aus-pam", "Latn", } m["gyg"] = { "Gbayi", 11137618, "nic-ngd", "Latn", } m["gyi"] = { "Gyele", 35434, "bnt-mnj", "Latn", } m["gyl"] = { "Gayil", 5528771, "omv-aro", "Latn", } m["gym"] = { "Ngäbere", 3915581, "cba", "Latn", } m["gyn"] = { "Guyanese Creole English", 3305477, "crp", "Latn", ancestors = "en", } m["gyo"] = { "Gyalsumdo", 53575940, "sit-kyk", } m["gyr"] = { "Guarayu", 3118779, "tup-gua", "Latn", } m["gyy"] = { "Gunya", 10511001, "aus-pam", "Latn", } m["gza"] = { "Ganza", 5521556, "omv-mao", "Latn", } m["gzn"] = { "Gane", 3095108, "poz-hce", "Latn", } return require("Module:languages").finalizeData(m, "language") 9np0phquimd6yowxg6nm0gnqmxq2set 모듈:languages/data/3/p 828 446558 4486458 4483675 2026-09-08T11:25:02Z Apisite 21408 4486458 Scribunto text/plain local m_langdata = require("Module:languages/data") -- Loaded on demand, as it may not be needed (depending on the data). local function u(...) u = require("Module:string utilities").char return u(...) end local c = m_langdata.chars local p = m_langdata.puaChars local s = m_langdata.shared local m = {} m["pab"] = { "Pareci", 3504312, "awd", "Latn", } m["pac"] = { "Pacoh", 3441136, "mkh-kat", "Latn", } m["pad"] = { "Paumarí", 389827, "auf", "Latn", } m["pae"] = { "Pagibete", 7124357, "bnt-bta", "Latn", } m["paf"] = { "Paranawát", 12953806, "tup-gua", "Latn", } m["pag"] = { "Pangasinan", 33879, "phi", "Latn, Tglg", entry_name = { Latn = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.diaer}, }, } m["pah"] = { "Tenharim", 10266010, "tup-gua", "Latn", } m["pai"] = { "Pe", 3914871, "nic-tar", "Latn", } m["pak"] = { "Parakanã", 12953804, "tup-gua", "Latn", } m["pal"] = { "Middle Persian", 32063, "ira-swi", "Latn, Phli, pal-Avst, Mani, Phlp, Phlv", -- Latn for translit; Phlv not in Unicode translit = { Phli = "Phli-translit", ["pal-Avst"] = "Avst-translit", Mani = "Mani-translit", }, ancestors = "peo", } m["pam"] = { "Kapampangan", 36121, "phi", "Latn, Kulit", entry_name = { Latn = {remove_diacritics = c.grave .. c.acute .. c.circ} }, standardChars = { Latn = "AaBbDdEeGgHhIiKkLlMmNnOoPpRrSsTtUuWwYy", c.punc }, sort_key = { Latn = "tl-sortkey" }, } m["pao"] = { "Northern Paiute", 3360656, "azc-num", "Latn", } m["pap"] = { "파피아멘토어", 33856, "crp", "Latn", ancestors = "pt", } m["paq"] = { "Parya", 1135134, "inc-cen", } m["par"] = { "Panamint", 33926, "azc-num", "Latn", } m["pas"] = { "Papasena", 7132508, "paa-lkp", "Latn", } m["pau"] = { "Palauan", 33776, "poz", "Latn, Kana", sort_key = { Kana = "Kana-sortkey" }, } m["pav"] = { "Wari'", 3027909, "sai-cpc", "Latn", } m["paw"] = { "Pawnee", 56751, "cdd", "Latn", entry_name = {remove_diacritics = c.acute}, } m["pax"] = { "Pankararé", 25559779, nil, "Latn", } m["pay"] = { "Pech", 4898889, "cba", "Latn", } m["paz"] = { "Pankararú", 7131310, nil, "Latn", } m["pbb"] = { "Páez", 33677, nil, "Latn", } m["pbc"] = { "Patamona", 3915921, "sai-pem", "Latn", } m["pbe"] = { "Mezontla Popoloca", 42365630, "omq-pop", "Latn", } m["pbf"] = { "Coyotepec Popoloca", 5180100, "omq-pop", "Latn", } m["pbg"] = { "Paraujano", 3501747, "awd-taa", "Latn", } m["pbh"] = { "Panare", 56610, "sai-ven", "Latn", } m["pbi"] = { "Podoko", 3515096, "cdc-cbm", "Latn", } m["pbl"] = { "Mak (Nigeria)", 3915349, "alv-bwj", "Latn", } m["pbm"] = { "Puebla Mazatec", 31102530, "omq-maz", "Latn", } m["pbn"] = { "Kpasam", 3914902, "alv-mye", "Latn", } m["pbo"] = { "Papel", 36314, "alv-pap", "Latn", } m["pbp"] = { "Badyara", 35095, "alv-ten", "Latn", } m["pbr"] = { "Pangwa", 3847550, "bnt-bki", "Latn", } m["pbs"] = { "Central Pame", 3361763, "omq", "Latn", } m["pbv"] = { "Pnar", 3501850, "aav-pkl", "Latn", } m["pby"] = { "Pyu (New Guinea)", 2567925, "paa-asa", "Latn", } m["pca"] = { "Santa Inés Ahuatempan Popoloca", 42365276, "omq-pop", "Latn", } m["pcb"] = { "Pear", 6583669, "mkh-pea", "Khmr", } m["pcc"] = { "부이어", 35100, "tai-nor", "Latn, Hani", sort_key = { Hani = "Hani-sortkey" }, } m["pcd"] = { "피카르디어", 34024, "roa-oil", "Latn", sort_key = s["roa-oil-sortkey"], } m["pce"] = { "Ruching Palaung", 12953798, "mkh-pal", "Mymr", } m["pcf"] = { "Paliyan", 7127643, "dra-tam", } m["pcg"] = { "Paniya", 7131211, "dra-mal", } m["pch"] = { "Pardhan", 7133207, "dra-gon", } m["pci"] = { "Duruwa", 56753, "dra-pgd", "Deva, Orya", } m["pcj"] = { "Parenga", 3111396, "mun", } m["pck"] = { "Paite", 12952337, "tbq-kuk", } m["pcl"] = { "Pardhi", 7136554, "inc-bhi", } m["pcm"] = { "Nigerian Pidgin", 33655, "crp", "Latn", ancestors = "en", entry_name = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.caron .. c.macronbelow}, sort_key = { remove_diacritics = c.tilde, from = {"ẹ", "gb", "kp", "ọ", "sh", "zh"}, to = {"e" .. p[1], "g" .. p[1], "k" .. p[1], "o" .. p[1], "s" .. p[1], "z" .. p[1]} }, } m["pcn"] = { "Piti", 3913375, "nic-kne", "Latn", } m["pcp"] = { "Pacahuara", 2591165, "sai-pan", "Latn", } m["pcw"] = { "Pyapun", 3438807, nil, "Latn", } m["pda"] = { "Anam", 3501930, "ngf-mad", "Latn", } m["pdc"] = { "Pennsylvania German", 22711, "gmw-hgm", "Latn", ancestors = "gmw-rfr", } m["pdi"] = { "Pa Di", 3359940, nil, "Latn", } m["pdn"] = { "Fedan", 7206699, "poz-ocw", "Latn", } m["pdo"] = { "Padoe", 3360370, "poz-btk", "Latn", } m["pdt"] = { "Plautdietsch", 1751432, "gmw-lgm", "Latn", ancestors = "nds-de", } m["pdu"] = { "Kayan", 7123283, "kar", "Latn", } m["pea"] = { "Peranakan Indonesian", 653415, "crp", "Latn", ancestors = "ms", } m["peb"] = { "Eastern Pomo", 3396032, "nai-pom", "Latn", } m["ped"] = { "Mala (New Guinea)", 11732569, "ngf-mad", "Latn", } m["pee"] = { "Taje", 12953902, nil, "Latn", } m["pef"] = { "Northeastern Pomo", 3396018, "nai-pom", "Latn", } m["peg"] = { "Pengo", 56758, "dra-kki", "Orya", translit = "kxv-translit", } m["peh"] = { "Bonan", 32983, "xgn-shr", "Latn", } m["pei"] = { "Chichimeca-Jonaz", 3915427, "omq-otp", "Latn", } m["pej"] = { "Northern Pomo", 3396021, "nai-pom", "Latn", } m["pek"] = { "Penchal", 3374631, "poz-aay", "Latn", } m["pel"] = { "Pekal", 3241781, nil, "Latn", } m["pem"] = { "Phende", 7162372, "bnt-pen", "Latn", } m["peo"] = { "Old Persian", 35225, "ira-swi", "Xpeo, Latn", translit = "peo-translit", } m["pep"] = { "Kunja", 6444807, nil, "Latn", } m["peq"] = { "Southern Pomo", 3396023, "nai-pom", "Latn", } -- "pes" IS TREATED AS "fa" (or as etymology-only), SEE WT:LT m["pev"] = { "Pémono", 3439012, "sai-map", "Latn", } m["pex"] = { "Petats", 3376353, "poz-ocw", "Latn", } m["pey"] = { "Petjo", 940486, nil, "Latn", } m["pez"] = { "Eastern Penan", 18638342, "poz-swa", "Latn", } m["pfa"] = { "Pááfang", 3063517, "poz-mic", "Latn", } m["pfe"] = { "Peere", 36377, "alv-dur", "Latn", } m["pga"] = { "Juba Arabic", 1262143, "crp", "Latn", ancestors = "apd", } m["pgd"] = { "Gandhari", 3124623, "inc-mid", "Deva, Khar", ancestors = "inc-ash", translit = "Khar-translit", } m["pgg"] = { "Pangwali", 13600429, "him", "Deva, Takr", translit = "hi-translit", } m["pgi"] = { "Pagi", 7124354, "paa-brd", "Latn", } m["pgk"] = { "Rerep", 586907, "poz-vnc", "Latn", } m["pgl"] = { "Primitive Irish", 3320030, "cel-gae", "Ogam, Latn", translit = "pgl-translit", } m["pgn"] = { "Paelignian", 65455883, "itc-sbl", "Ital, Latn", translit = { Ital = "Ital-translit", }, display_text = { Latn = s["itc-Latn-displaytext"] }, entry_name = { Latn = s["itc-Latn-entryname"] }, sort_key = { Latn = s["itc-Latn-sortkey"] }, } m["pgs"] = { "Pangseng", 3914027, "alv-mum", "Latn", } m["pgu"] = { "Pagu", 7124462, "paa-nha", "Latn", } m["pgz"] = { "Papua New Guinean Sign Language", 25044405, "sgn", } m["pha"] = { "Pa-Hng", 2625410, "hmn", } m["phd"] = { "Phudagi", 7188289, } m["phg"] = { "Phuong", 7188376, "mkh-kat", } m["phh"] = { "Phukha", 7188298, "tbq-phw", } m["phk"] = { "파케어", 7675798, "tai-swe", "Mymr", translit = "aio-phk-translit", entry_name = {remove_diacritics = c.VS01}, } m["phl"] = { "Phalura", 2449549, "inc-shn", "Latn, ur-Arab", entry_name = { -- character "ۂ" code U+06C2 to "ه" and "هٔ"‎ (U+0647 + U+0654) to "ه"; hamzatu l-waṣli to a regular alif from = {"هٔ", "ۂ", "ٱ"}, to = {"ہ", "ہ", "ا"}, remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.nunghunna .. c.superalef }, } m["phm"] = { "Phimbi", 11007144, "bnt-sna", "Latn", } m["phn"] = { "Phoenician", 36734, "sem-can", "Phnx", translit = "Phnx-translit", } m["pho"] = { "Phunoi", 7188361, "tbq-bis", } m["phq"] = { "Phana'", 7180427, "tbq-sil", } m["phr"] = { "Pahari-Potwari", 33739, "inc-pan", "pa-Arab, Guru", ancestors = "lah", translit = { Guru = "Guru-translit", ["pa-Arab"] = "pa-Arab-translit", }, entry_name = { ["pa-Arab"] = { remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.nunghunna, from = {"ݨ", "ࣇ"}, to = {"ن", "ل"} }, } } m["pht"] = { "Phu Thai", 3626597, "tai-swe", "Thai", } m["phu"] = { "Phuan", 3915665, } m["phv"] = { "Pahlavani", 7124567, } m["phw"] = { "Phangduwali", 12953036, "sit-kie", ancestors = "ybh", } m["pia"] = { "Pima Bajo", 3388544, "azc-pim", "Latn", } m["pib"] = { "Yine", 3135432, "awd", "Latn", } m["pic"] = { "Pinji", 36296, "bnt-tso", "Latn", } m["pid"] = { "Piaroa", 3382207, nil, "Latn", } m["pie"] = { "Piro", 7198055, "nai-kta", "Latn", } m["pif"] = { "Pingelapese", 36421, "poz-mic", "Latn", } m["pig"] = { "Pisabo", 966883, "sai-pan", "Latn", } m["pih"] = { "Pitcairn-Norfolk", 36554, "crp", "Latn", ancestors = "en", } m["pii"] = { "Pini", 10631925, } m["pij"] = { "Pijao", 7193519, } m["pil"] = { "Yom", 36893, "nic-yon", } m["pim"] = { "Powhatan", 2270532, "alg-eas", "Latn", } m["pin"] = { "Piame", 7190042, } m["pio"] = { "Piapoco", 3382208, "awd-nwk", "Latn", } m["pip"] = { "Pero", 2411063, "cdc-wst", } m["pir"] = { "Piratapuyo", 3389119, "sai-tuc", "Latn", } m["pis"] = { "Pijin", 36699, "crp", "Latn", ancestors = "en", } m["pit"] = { "Pitta-Pitta", 6433116, "aus-kar", "Latn", } m["piu"] = { "Pintupi-Luritja", 2591175, "aus-pam", "Latn", } m["piv"] = { "Pileni", 2976736, "poz-pnp", "Latn", } m["piw"] = { "Pimbwe", 3894132, "bnt-mwi", } m["pix"] = { "Piu", 7199578, } m["piy"] = { "Piya-Kwonci", 3440492, } m["piz"] = { "Pije", 3388339, "poz-cln", "Latn", } m["pjt"] = { "Pitjantjatjara", 2982063, "aus-pam", "pjt-Latn", } m["pkb"] = { "Kipfokomo", 7208693, "bnt-sab", "Latn", } m["pkc"] = { "Baekje", 4841264, "qfa-kor", "Hani, Kana", sort_key = { Hani = "Hani-sortkey", Kana = "Kana-sortkey" }, } m["pkg"] = { "Pak-Tong", 3360711, } m["pkh"] = { "Pankhu", 7130962, "tbq-kuk", } m["pkn"] = { "Pakanha", 954916, "aus-pmn", } m["pko"] = { "Pökoot", 36323, "sdv-kln", "Latn", } m["pkp"] = { "Pukapukan", 36447, "poz-pnp", "Latn", } m["pkr"] = { "Attapady Kurumba", 16835180, "dra-imd", "Mlym", } m["pks"] = { "Pakistan Sign Language", 22964057, "sgn", } m["pkt"] = { "Maleng", 6583562, "mkh-vie", } m["pku"] = { "Paku", 2932604, "poz-bre", "Latn", } m["pla"] = { "Miani", 12952844, nil, "Latn", } m["plb"] = { "Polonombauk", 7225957, "poz-vnn", "Latn", } m["plc"] = { "Central Palawano", 12953795, "phi", "Latn", } m["ple"] = { "Palu'e", 2196866, "poz-cet", "Latn", } m["plg"] = { "Pilagá", 2748259, "sai-guc", "Latn", } m["plh"] = { "Paulohi", 7155331, "poz-cma", } m["plj"] = { "Polci", 3914383, } m["plk"] = { "Kohistani Shina", 12953882, "inc-shn", "ur-Arab", } m["pll"] = { "Shwe Palaung", 27941664, "mkh-pal", "Mymr", } m["pln"] = { "Palenquero", 36665, "crp", "Latn", ancestors = "es", } m["plo"] = { "Oluta Popoluca", 5908687, "nai-miz", "Latn", } m["plq"] = { "Palaic", 36582, "ine-ana", "Xsux", } m["plr"] = { "Palaka Senoufo", 36346, "alv-snf", "Latn", } m["pls"] = { "San Marcos Tlalcoyalco Popoloca", 12641692, "omq-pop", "Latn", } m["plu"] = { "Palikur", 3073448, "awd", "Latn", } m["plv"] = { "Southwest Palawano", 15614922, "phi", "Latn", } m["plw"] = { "Brooke's Point Palawano", 12953796, "phi", "Latn", } m["ply"] = { "Bolyu", 3361723, "mkh-pkn", "Latn", } m["plz"] = { "Paluan", 7128795, nil, "Latn", } m["pma"] = { "Paamese", 3130286, "poz-vnc", "Latn", } m["pmb"] = { "Pambia", 36267, "znd", "Latn", } m["pmd"] = { "Pallanganmiddang", 7127734, "aus-pam", "Latn", } m["pme"] = { "Pwaamèi", 3411152, "poz-cln", "Latn", } m["pmf"] = { "Pamona", 3513320, "poz-kal", "Latn", } m["pmi"] = { "북부 푸미어", 3403245, "sit-qia", } m["pmj"] = { "남부 푸미어", 3403246, "sit-qia", } m["pmk"] = { "Pamlico", 111366045, "alg-eas", "Latn", } m["pml"] = { "Sabir", 636479, "crp", "Latn", ancestors = "lij, pro, vec", } m["pmm"] = { "Pol", 36408, "bnt-kak", "Latn", } m["pmn"] = { "Pam", 7129017, "alv-mbm", } m["pmo"] = { "Pom", 7227178, "poz-hce", "Latn", } m["pmq"] = { "Northern Pame", 3361762, "omq", "Latn", } m["pmr"] = { "Paynamar", 3450824, } m["pms"] = { "피에몬테어", 15085, "roa-git", "Latn", } m["pmt"] = { "Tuamotuan", 36763, "poz-pep", "Latn", } m["pmu"] = { "Mirpur Panjabi", 6874480, } m["pmw"] = { "Plains Miwok", 3391031, "nai-you", "Latn", } m["pmx"] = { "Poumei Naga", 12952910, "tbq-anp", } m["pmy"] = { "Papuan Malay", 12473446, "crp", "Latn", ancestors = "ms", } m["pmz"] = { "Southern Pame", 3361765, "omq", "Latn", } m["pna"] = { "Punan Bah-Biau", 4842201, "poz-bnn", "Latn", } m["pnc"] = { "Pannei", 7131391, } m["pnd"] = { "Mpinda", 63308194, "bnt-kmb", } m["pne"] = { "Western Penan", 12953808, "poz-swa", "Latn", } m["png"] = { "Pongu", 36282, "nic-shi", } m["pnh"] = { "Penrhyn", 3130301, "poz-pep", "Latn", } m["pni"] = { "Aoheng", 4778608, "poz", "Latn", } m["pnj"] = { "Pinjarup", 33103591, } m["pnk"] = { "Paunaka", 2064378, "awd", "Latn", } m["pnl"] = { "Paleni", 7127118, "alv-wan", "Latn", } m["pnm"] = { "Punan Batu", 7259892, } m["pnn"] = { "Pinai-Hagahai", 5638511, } m["pno"] = { "Panobo", 3141869, "sai-pan", "Latn", } m["pnp"] = { "Pancana", 7130204, } m["pnq"] = { "Pana (West Africa)", 7129739, "nic-gnn", "Latn", } m["pnr"] = { "Panim", 11732562, "ngf-mad", } m["pns"] = { "Ponosakan", 7227956, "phi", "Latn", } m["pnt"] = { "Pontic Greek", 36748, "grk", "Grek, Latn, Cyrl", ancestors = "gkm", translit = { Grek = "el-translit" }, display_text = { Grek = s["Grek-displaytext"] }, entry_name = { Grek = s["Grek-entryname"] }, sort_key = { Grek = s["Grek-sortkey"] }, } m["pnu"] = { "Jiongnai Bunu", 56325, "hmn", } m["pnv"] = { "Pinigura", 10631927, "aus-psw", "Latn", } m["pnw"] = { "Panyjima", 3913830, "aus-nga", "Latn", } m["pnx"] = { "Phong-Kniang", 3914627, "mkh", } m["pny"] = { "Pinyin", 36250, "nic-nge", "Latn", } m["pnz"] = { "Pana (Central Africa)", 36241, "alv-mbm", "Latn", } m["poc"] = { "Poqomam", 36416, "myn", "Latn", } m["poe"] = { "San Juan Atzingo Popoloca", 12953819, "omq-pop", "Latn", } m["pof"] = { "Poke", 7208577, "bnt-ske", } m["pog"] = { "Potiguára", 56722, "tup-gua", "Latn", } m["poh"] = { "Poqomchi'", 36414, "myn", "Latn", } m["poi"] = { "Highland Popoluca", 7511556, "nai-miz", "Latn", } m["pok"] = { "Pokangá", 25559704, "sai-tuc", "Latn", } m["pom"] = { "Southeastern Pomo", 3396025, "nai-pom", "Latn", } m["pon"] = { "Pohnpeian", 28422, "poz-mic", "Latn", } m["poo"] = { "Central Pomo", 3396020, "nai-pom", "Latn", } m["pop"] = { "Pwapwâ", 3411153, "poz-cln", "Latn", } m["poq"] = { "Texistepec Popoluca", 5908707, "nai-miz", "Latn", } m["pos"] = { "Sayula Popoluca", 5908722, "nai-miz", "Latn", } m["pot"] = { "Potawatomi", 56749, "alg", "Latn", } m["pov"] = { "Guinea-Bissau Creole", 33339, "crp", "Latn", ancestors = "pt", } m["pow"] = { "San Felipe Otlaltepec Popoloca", 25559598, "omq-pop", "Latn", } m["pox"] = { "Polabian", 36741, "zlw-lch", "Latn", } m["poy"] = { "Pogolo", 2429648, "bnt-kil", } m["ppa"] = { "Pao", 7132069, } m["ppe"] = { "Papi", 7132809, } m["ppi"] = { "Paipai", 56726, "nai-yuc", "Latn", } m["ppk"] = { "Uma", 7881036, "poz-kal", "Latn", } m["ppl"] = { "피필어", 1186896, "azc-nah", "Latn", entry_name = {remove_diacritics = c.acute .. c.macron}, } m["ppm"] = { "Papuma", 7133239, "poz-hce", "Latn", } m["ppn"] = { "Papapana", 3362757, "poz-ocw", "Latn", } m["ppo"] = { "Folopa", 5464843, "paa", "Latn", } m["ppq"] = { "Pei", 7160903, } m["pps"] = { "San Luís Temalacayuca Popoloca", 25559602, "omq-pop", "Latn", } m["ppt"] = { "Pa", 3504757, "ngf", "Latn", } m["ppu"] = { "Papora", 2094884, "map", "Latn", } m["pqa"] = { "Pa'a", 3441315, "cdc-wst", } m["pqm"] = { "Malecite-Passamaquoddy", 3183144, "alg-eas", "Latn", } m["pra"] = { "Prakrit", 192170, "inc-mid", "Brah, Deva, Gujr, Knda", ancestors = "inc-ash", translit = { Brah = "Brah-translit", Deva = "pra-Deva-translit", Gujr = "sa-Gujr-translit", Knda = "pra-Knda-translit", }, entry_name = { from = {"ऎ", "ऒ", u(0x0946), u(0x094A), "य़", "ಯ಼", u(0x11071), u(0x11072), u(0x11073), u(0x11074)}, to = {"ए", "ओ", u(0x0947), u(0x094B), "य", "ಯ", "𑀏", "𑀑", u(0x11042), u(0x11044)} } , } m["prc"] = { "Parachi", 2640637, "ira-orp", "Arab", } -- "prd" IS NOT INCLUDED, SEE WT:LT m["pre"] = { "Principense", 36520, "crp", "Latn", ancestors = "pt", } m["prf"] = { "Paranan", 7135433, "phi", } m["prg"] = { "Old Prussian", 35501, "bat-wes", "Latn", } m["prh"] = { "Porohanon", 6583710, "phi", "Latn", } m["pri"] = { "Paicî", 732131, "poz-cln", "Latn", } m["prk"] = { "Parauk", 3363719, "mkh-pal", "Latn", } m["prl"] = { "Peruvian Sign Language", 3915508, "sgn", } m["prm"] = { "Kibiri", 56745, "paa", } m["prn"] = { "Prasuni", 32689, "nur-nor", } m["pro"] = { "Old Occitan", 2779185, "roa-ocr", "Latn", sort_key = {remove_diacritics = c.cedilla}, } -- "prp" IS NOT INCLUDED, SEE WT:LT m["prq"] = { "Ashéninka Perené", 3450601, "awd", "Latn", } m["prr"] = { "Puri", 7261687, } -- "prs" IS TREATED AS "fa" (or as etymology-only), SEE WT:LT m["prt"] = { "Phai", 7180184, "mkh", } m["pru"] = { "Puragi", 7260800, "ngf-sbh", } m["prw"] = { "Parawen", 7136291, "ngf-mad", } m["prx"] = { "Purik", 567905, "sit-lab", } m["prz"] = { "Providencia Sign Language", 3322084, "sgn", } m["psa"] = { "Asue Awyu", 11266334, } m["psc"] = { "Persian Sign Language", 7170221, "sgn", } m["psd"] = { "Plains Indian Sign Language", 2380124, "sgn", } m["pse"] = { "Central Malay", 3367751, "poz-mly", "Latn, Rjng", } m["psg"] = { "Penang Sign Language", 4924925, "sgn", } m["psh"] = { "Southwest Pashayi", 16112270, "inc-pas", "fa-Arab", } m["psi"] = { "Southeast Pashayi", 23713536, "inc-pas", "fa-Arab", } m["psl"] = { "Puerto Rican Sign Language", 7258608, "sgn-fsl", } m["psm"] = { "Pauserna", 2912846, "tup-gua", "Latn", } m["psn"] = { "Panasuan", 7130113, "poz", } m["pso"] = { "Polish Sign Language", 3915194, "sgn-gsl", } m["psp"] = { "Philippine Sign Language", 3551357, "sgn-fsl", } m["psq"] = { "Pasi", 7142091, } m["psr"] = { "Portuguese Sign Language", 3915472, "sgn", } m["pss"] = { "Kaulong", 3194294, "poz-ocw", } m["psw"] = { "Port Sandwich", 3398324, "poz-vnc", "Latn", } m["psy"] = { "Piscataway", 3504233, "alg-eas", } m["pta"] = { "Pai Tavytera", 7124619, "tup-gua", "Latn", } m["pth"] = { "Pataxó Hã-Ha-Hãe", 7144304, } m["pti"] = { "Pintiini", 10632026, "aus-pam", } m["ptn"] = { "Patani", 7144242, "poz-hce", "Latn", } m["pto"] = { "Zo'é", 8073148, "tup-gua", "Latn", } m["ptp"] = { "Patep", 3368679, "poz-ocw", "Latn", } m["ptq"] = { "Pattapu", 60785085, "dra-tam", } m["ptr"] = { "Piamatsina", 7190040, "poz-vnn", "Latn", } m["ptt"] = { "Enrekang", 12953520, nil, "Latn", } m["ptu"] = { "Bambam", 4853321, "poz-ssw", "Latn", } m["ptv"] = { "Port Vato", 3398323, "poz-vnc", "Latn", } m["ptw"] = { "Pentlatch", 2069475, "sal", "Latn", } m["pty"] = { "Pathiya", 7144790, "dra-mal", } m["pua"] = { "Purepecha", 16114351, "qfa-iso", "Latn", sort_key = {remove_diacritics = c.acute}, } m["pub"] = { "Purum", 6400562, "tbq-kuk", "Latn", } m["puc"] = { "Punan Merap", 7259895, "poz", "Latn", } m["pud"] = { "Punan Aput", 4782333, "poz-swa", "Latn", } m["pue"] = { "Puelche", 33660, } m["puf"] = { "Punan Merah", 7259894, "poz-swa", "Latn", } m["pug"] = { "Phuie", 36375, "nic-gnw", } m["pui"] = { "Puinave", 3027918, nil, "Latn", } m["puj"] = { "Punan Tubu", 7259896, "poz-swa", "Latn", } m["pum"] = { "Puma", 33736, "sit-kic", } m["puo"] = { "Puoc", 6440803, "mkh", "Latn", } m["pup"] = { "Pulabu", 7259163, "ngf-mad", } m["puq"] = { "Puquina", 1207739, } m["pur"] = { "Puruborá", 7261619, "tup", } m["put"] = { "Putoh", 12953832, "poz-swa", "Latn", } m["puu"] = { "Punu", 36401, "bnt-sir", "Latn", } m["puw"] = { "Puluwat", 36397, "poz-mic", "Latn", } m["pux"] = { "Puare", 3507983, } m["puy"] = { "Purisimeño", 2967638, "nai-chu", "Latn", } m["pwa"] = { "Pawaia", 7156099, "paa", "Latn", } m["pwb"] = { "Panawa", 47385077, "nic-jer", "Latn", ancestors = "jer", } m["pwg"] = { "Gapapaiwa", 3095245, "poz-ocw", "Latn", } m["pwi"] = { "Patwin", 3370188, "nai-wtq", "Latn", } m["pwm"] = { "Molbog", 6895718, "poz-san", "Latn", } m["pwn"] = { "Paiwan", 715755, "map", "Latn", } m["pwo"] = { "Western Pwo", 7988202, "kar", "Mymr", } m["pwr"] = { "Powari", 12640277, "inc-hie", "Deva", } m["pww"] = { "Northern Pwo", 7058885, "kar", "Thai", } m["pxm"] = { "Quetzaltepec Mixe", 6842374, "nai-miz", "Latn", } m["pye"] = { "Pye Krumen", 11157382, "kro-grb", } m["pym"] = { "Fyam", 3914025, "nic-ple", "Latn", } m["pyn"] = { "Poyanáwa", 3401023, "sai-pan", } m["pys"] = { "Paraguayan Sign Language", 7134698, "sgn", } m["pyu"] = { "Puyuma", 716690, "map", "Latn", } m["pyx"] = { "Pyu (Myanmar)", 36259, "sit", } m["pyy"] = { "Pyen", 7262966, "tbq-bis", } m["pzh"] = { "Pazeh", 36435, "map", "Latn", } m["pzn"] = { "Para Naga", 7133667, "sit-aao", } return require("Module:languages").finalizeData(m, "language") 43jbgxu3op326wg5z17ji6vp67r3gea 모듈:languages/data/exceptional 828 446561 4486460 4486383 2026-09-08T11:54:31Z Apisite 21408 4486460 Scribunto text/plain local m_langdata = require("Module:languages/data") -- Loaded on demand, as it may not be needed (depending on the data). local function u(...) u = require("Module:string utilities").char return u(...) end local c = m_langdata.chars local p = m_langdata.puaChars local s = m_langdata.shared local m = {} m["aav-khs-pro"] = { "Proto-Khasian", 116773216, "aav-khs", "Latn", type = "reconstructed", } m["aav-nic-pro"] = { "Proto-Nicobarese", 116773793, "aav-nic", "Latn", type = "reconstructed", } m["aav-pkl-pro"] = { "Proto-Pnar-Khasi-Lyngngam", 116773259, "aav-pkl", "Latn", type = "reconstructed", } m["aav-pro"] = { -- mkh-pro will merge into this "Proto-Austroasiatic", 116773186, "aav", "Latn", type = "reconstructed", } m["afa-pro"] = { "Proto-Afroasiatic", 269125, "afa", "Latn", type = "reconstructed", } m["alg-aga"] = { "Agawam", nil, "alg-eas", "Latn", } m["alg-pro"] = { "Proto-Algonquian", 7251834, "alg", "Latn", type = "reconstructed", sort_key = {remove_diacritics = "·"}, } m["alv-ama"] = { "Amasi", 4740400, "nic-grs", "Latn", entry_name = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.macron}, } m["alv-bgu"] = { "Baïnounk Gubëeher", 17002646, "alv-bny", "Latn", } m["alv-bua-pro"] = { "Proto-Bua", 116773723, "alv-bua", "Latn", type = "reconstructed", } m["alv-cng-pro"] = { "Proto-Cangin", 116773726, "alv-cng", "Latn", type = "reconstructed", } m["alv-edo-pro"] = { "Proto-Edoid", 116773206, "alv-edo", "Latn", type = "reconstructed", } m["alv-fli-pro"] = { "Proto-Fali", 116773754, "alv-fli", "Latn", type = "reconstructed", } m["alv-gbe-pro"] = { "Proto-Gbe", 116773208, "alv-gbe", "Latn", type = "reconstructed", } m["alv-gng-pro"] = { "Proto-Guang", 116773757, "alv-gng", "Latn", type = "reconstructed", } m["alv-gtm-pro"] = { "Proto-Central Togo", 116773732, "alv-gtm", "Latn", type = "reconstructed", } m["alv-gwa"] = { "Gwara", 16945580, "nic-pla", "Latn", } m["alv-hei-pro"] = { "Proto-Heiban", 116773760, "alv-hei", "Latn", type = "reconstructed", } m["alv-ido-pro"] = { "Proto-Idomoid", 116773764, "alv-ido", "Latn", type = "reconstructed", } m["alv-igb-pro"] = { "Proto-Igboid", 116773765, "alv-igb", "Latn", type = "reconstructed", } m["alv-kwa-pro"] = { "Proto-Kwa", 116773780, "alv-kwa", "Latn", type = "reconstructed", } m["alv-mum-pro"] = { "Proto-Mumuye", 116773791, "alv-mum", "Latn", type = "reconstructed", } m["alv-nup-pro"] = { "Proto-Nupoid", 116773795, "alv-nup", "Latn", type = "reconstructed", } m["alv-pro"] = { "Proto-Atlantic-Congo", 116732838, "alv", "Latn", type = "reconstructed", } m["alv-edk-pro"] = { "Proto-Edekiri", nil, "alv-edk", "Latn", type = "reconstructed", } m["alv-yor-pro"] = { "Proto-Yoruba", nil, "alv-yor", "Latn", type = "reconstructed", } m["alv-yrd-pro"] = { "Proto-Yoruboid", 116773824, "alv-yrd", "Latn", type = "reconstructed", } m["alv-von-pro"] = { "Proto-Volta-Niger", 116773820, "alv-von", "Latn", type = "reconstructed", } m["apa-pro"] = { "Proto-Apachean", 116773135, "apa", "Latn", type = "reconstructed", } m["aql-pro"] = { "Proto-Algic", 18389588, "aql", "Latn", type = "reconstructed", sort_key = {remove_diacritics = "·"}, } m["art-adu"] = { "Adûni", 1232159, "art", "Latn", type = "appendix-constructed", } m["art-bel"] = { "Belter Creole", 108055510, "art", "Latn", type = "appendix-constructed", sort_key = { remove_diacritics = c.acute, from = {"ɒ"}, to = {"a"}, }, } m["art-blk"] = { "Bolak", 2909283, "art", "Latn", type = "appendix-constructed", } m["art-bsp"] = { "Black Speech", 686210, "art", "Latn, Teng", type = "appendix-constructed", } m["art-com"] = { "Communicationssprache", 35227, "art", "Latn", type = "appendix-constructed", } m["art-dtk"] = { "Dothraki", 2914733, "art", "Latn", type = "appendix-constructed", } m["art-elo"] = { "Eloi", nil, "art", "Latn", type = "appendix-constructed", } m["art-gld"] = { "Goa'uld", 19823, "art", "Latn, Egyp, Mero", type = "appendix-constructed", } m["art-lap"] = { "Lapine", 6488195, "art", "Latn", type = "appendix-constructed", } m["art-man"] = { "Mandalorian", 54289, "art", "Latn", type = "appendix-constructed", } m["art-mun"] = { "Mundolinco", 851355, "art", "Latn", type = "appendix-constructed", } m["art-nav"] = { "Na'vi", 316939, "art", "Latn", type = "appendix-constructed", } m["art-vlh"] = { "High Valyrian", 64483808, "art", "Latn", type = "appendix-constructed", } m["ath-nic"] = { "Nicola", 20609, "ath-nor", "Latn", } m["ath-pro"] = { "Proto-Athabaskan", 104841722, "ath", "Latn", type = "reconstructed", } m["auf-pro"] = { "Proto-Arawa", 116773706, "auf", "Latn", type = "reconstructed", } m["aus-alu"] = { "Alungul", 16827670, "aus-pmn", "Latn", } m["aus-and"] = { "Andjingith", 4754509, "aus-pmn", "Latn", } m["aus-ang"] = { "Angkula", 16828520, "aus-pmn", "Latn", } m["aus-arn-pro"] = { "Proto-Arnhem", 116773720, "aus-arn", "Latn", type = "reconstructed", } m["aus-bra"] = { "Barranbinya", 4863220, "aus-pmn", "Latn", } m["aus-brm"] = { "Barunggam", 4865914, "aus-pmn", "Latn", } m["aus-cww-pro"] = { "Proto-Central New South Wales", 116773199, "aus-cww", "Latn", type = "reconstructed", } m["aus-dal-pro"] = { "Proto-Daly", 116773743, "aus-dal", "Latn", type = "reconstructed", } m["aus-guw"] = { "Guwar", 6652138, "aus-pam", "Latn", } m["aus-lsw"] = { "Little Swanport", 6652138, nil, "Latn", } m["aus-mbi"] = { "Mbiywom", 6799701, "aus-pmn", "Latn", } m["aus-ngk"] = { "Ngkoth", 7022405, "aus-pmn", "Latn", } m["aus-nyu-pro"] = { "Proto-Nyulnyulan", 116773797, "aus-nyu", "Latn", type = "reconstructed", } m["aus-pam-pro"] = { "Proto-Pama-Nyungan", 33942, "aus-pam", "Latn", type = "reconstructed", } m["aus-tul"] = { "Tulua", 16938541, "aus-pam", "Latn", } m["aus-uwi"] = { "Uwinymil", 7903995, "aus-arn", "Latn", } m["aus-wdj-pro"] = { "Proto-Iwaidjan", 116773767, "aus-wdj", "Latn", type = "reconstructed", } m["aus-won"] = { "Wong-gie", nil, "aus-pam", "Latn", } m["aus-wul"] = { "Wulguru", 8039196, "aus-dyb", "Latn", } m["aus-ynk"] = { -- contrast nny "Yangkaal", 3913770, "aus-tnk", "Latn", } m["awd-amc-pro"] = { "Proto-Amuesha-Chamicuro", nil, "awd", "Latn", type = "reconstructed", } m["awd-kmp-pro"] = { "Proto-Kampa", nil, "awd", "Latn", type = "reconstructed", } m["awd-prw-pro"] = { "Proto-Paresi-Waura", nil, "awd", "Latn", type = "reconstructed", } m["awd-ama"] = { "Amarizana", 16827787, "awd", "Latn", } m["awd-ana"] = { "Anauyá", 16828252, "awd", "Latn", } m["awd-apo"] = { "Apolista", 16916645, "awd", "Latn", } m["awd-cab"] = { "Cabre", 16850160, "awd", "Latn", } m["awd-gnu"] = { "Guinau", 3504087, "awd", "Latn", } m["awd-kar"] = { "Cariay", 16920253, "awd", "Latn", } m["awd-kaw"] = { "Kawishana", 6379993, "awd-nwk", "Latn", } m["awd-kus"] = { "Kustenau", 5196293, "awd", "Latn", } m["awd-man"] = { "Manao", 6746920, "awd", "Latn", } m["awd-mar"] = { "Marawan", 6755108, "awd", "Latn", } m["awd-mpr"] = { "Maipure", 6736872, "awd", "Latn", } m["awd-mrt"] = { "Mariaté", 16910017, "awd-nwk", "Latn", } m["awd-nwk-pro"] = { "Proto-Nawiki", 116773234, "awd-nwk", "Latn", type = "reconstructed", } m["awd-pai"] = { "Paikoneka", 128807835, "awd", "Latn", } m["awd-pas"] = { "Pasé", 7143168, "awd-nwk", "Latn", } m["awd-pro"] = { "Proto-Arawak", 97573478, "awd", "Latn", type = "reconstructed", } m["awd-she"] = { "Shebayo", 7492248, "awd", "Latn", } m["awd-taa-pro"] = { "Proto-Ta-Arawak", 116773282, "awd-taa", "Latn", type = "reconstructed", } m["awd-wai"] = { "Wainumá", 16910017, "awd-nwk", "Latn", } m["awd-yum"] = { "Yumana", 8061062, "awd-nwk", "Latn", } m["azc-caz"] = { "Cazcan", 5055514, "azc", "Latn", } m["azc-cup-pro"] = { "Proto-Cupan", 116773738, "azc-cup", "Latn", type = "reconstructed", } m["azc-ktn"] = { "Kitanemuk", 3197558, "azc-tak", "Latn", } m["azc-nah-pro"] = { "나와조어", 7251860, "azc-nah", "Latn", type = "reconstructed", } m["azc-num-pro"] = { "Proto-Numic", 116773247, "azc-num", "Latn", type = "reconstructed", } m["azc-pro"] = { "Proto-Uto-Aztecan", 96400333, "azc", "Latn", type = "reconstructed", } m["azc-tak-pro"] = { "Proto-Takic", 116773283, "azc-tak", "Latn", type = "reconstructed", } m["azc-tat"] = { "Tataviam", 743736, "azc", "Latn", } m["ber-pro"] = { "Proto-Berber", 2855698, "ber", "Latn", type = "reconstructed", } m["ber-fog"] = { "Fogaha", 107610173, "ber", "Latn", } m["ber-zuw"] = { "Zuwara", 4117169, "ber", "Latn", } m["bnt-bal"] = { "Balong", 93935237, "bnt-bbo", "Latn", } m["bnt-bon"] = { "Boma Nkuu", nil, "bnt", "Latn", } m["bnt-boy"] = { "Boma Yumu", nil, "bnt", "Latn", } m["bnt-bwa"] = { "Bwala", 128810345, "bnt-tek", "Latn", } m["bnt-cmw"] = { "Chimwiini", 4958328, "bnt-swh", "Latn", } m["bnt-ind"] = { "Indanga", 51412803, "bnt", "Latn", } m["bnt-lal"] = { "Lala (South Africa)", 6480154, "bnt-ngu", "Latn", } m["bnt-mpi"] = { "Mpiin", 93937013, "bnt-bdz", "Latn", } m["bnt-mpu"] = { "Mpuono", -- not to be confused with Mbuun zmp 36056, "bnt", "Latn", } m["bnt-ngu-pro"] = { "Proto-Nguni", 961559, "bnt-ngu", "Latn", type = "reconstructed", sort_key = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.caron}, } m["bnt-phu"] = { "Phuthi", 33796, "bnt-ngu", "Latn", entry_name = {remove_diacritics = c.grave .. c.acute}, } m["bnt-pro"] = { "Proto-Bantu", 3408025, "bnt", "Latn", type = "reconstructed", sort_key = "bnt-pro-sortkey", } m["bnt-sbo"] = { "South Boma", nil, "bnt", "Latn", } m["bnt-sts-pro"] = { "Proto-Sotho-Tswana", 116773278, "bnt-sts", "Latn", type = "reconstructed", } m["btk-pro"] = { "Proto-Batak", 116773191, "btk", "Latn", type = "reconstructed", } m["cau-abz-pro"] = { "Proto-Abkhaz-Abaza", 7251831, "cau-abz", "Latn", type = "reconstructed", } m["cau-and-pro"] = { "Proto-Andian", nil, "cau-and", "Latn", type = "reconstructed", } m["cau-ava-pro"] = { "Proto-Avaro-Andian", 116773187, "cau-ava", "Latn", type = "reconstructed", } m["cau-cir-pro"] = { "Proto-Circassian", 7251838, "cau-cir", "Latn", type = "reconstructed", } m["cau-drg-pro"] = { "Proto-Dargwa", 116773205, "cau-drg", "Latn", type = "reconstructed", } m["cau-lzg-pro"] = { "Proto-Lezghian", 116773223, "cau-lzg", "Latn", type = "reconstructed", } m["cau-nec-pro"] = { "Proto-Northeast Caucasian", 116773244, "cau-nec", "Latn", type = "reconstructed", } m["cau-nkh-pro"] = { "Proto-Nakh", 108032840, "cau-nkh", "Latn", type = "reconstructed", } m["cau-nwc-pro"] = { "Proto-Northwest Caucasian", 7251861, "cau-nwc", "Latn", type = "reconstructed", } m["cau-tsz-pro"] = { "Proto-Tsezian", 116773287, "cau-tsz", "Latn", type = "reconstructed", } m["cba-ata"] = { "Atanques", 4812783, "cba", "Latn", } m["cba-cat"] = { "Catío Chibcha", 7083619, "cba", "Latn", } m["cba-dor"] = { "Dorasque", 5297532, "cba", "Latn", } m["cba-dui"] = { "Duit", 3041061, "cba", "Latn", } m["cba-hue"] = { "Huetar", 35514, "cba", "Latn", } m["cba-nut"] = { "Nutabe", 7070405, "cba", "Latn", } m["cba-pro"] = { "Proto-Chibchan", 116773203, "cba", "Latn", type = "reconstructed", } m["ccs-pro"] = { "Proto-Kartvelian", 2608203, "ccs", "Latn", type = "reconstructed", entry_name = { from = {"q̣", "p̣", "ʓ", "ċ"}, to = {"q̇", "ṗ", "ʒ", "c̣"} }, } m["ccs-gzn-pro"] = { "Proto-Georgian-Zan", 23808119, "ccs-gzn", "Latn", type = "reconstructed", entry_name = { from = {"q̣", "p̣", "ʓ", "ċ"}, to = {"q̇", "ṗ", "ʒ", "c̣"} }, } m["cdc-cbm-pro"] = { "Proto-Central Chadic", 116773197, "cdc-cbm", "Latn", type = "reconstructed", } m["cdc-mas-pro"] = { "Proto-Masa", 116773789, "cdc-mas", "Latn", type = "reconstructed", } m["cdc-pro"] = { "Proto-Chadic", 116773201, "cdc", "Latn", type = "reconstructed", } m["cdd-pro"] = { "Proto-Caddoan", 116773725, "cdd", "Latn", type = "reconstructed", } m["cel-bry-pro"] = { "Proto-Brythonic", 1248800, "cel-bry", "Latn, Polyt", translit = { Polyt = "grc-translit", }, display_text = { Polyt = s["Polyt-displaytext"], }, entry_name = { Polyt = s["Polyt-entryname"], }, sort_key = { Latn = "cel-bry-pro-sortkey", Polyt = s["Polyt-sortkey"], }, } m["cel-gal"] = { "Gallaecian", 3094789, "cel-his", } m["cel-gau"] = { "Gaulish", 29977, "cel", "Latn, Polyt, Ital", translit = { Polyt = "grc-translit", Ital = "Ital-translit" }, display_text = { Polyt = s["Polyt-displaytext"], }, entry_name = { Latn = {remove_diacritics = c.macron .. c.breve .. c.diaer}, Polyt = s["Polyt-entryname"], }, sort_key = { Latn = "cel-bry-pro-sortkey", Polyt = s["Polyt-sortkey"], }, } m["cel-pro"] = { "Proto-Celtic", 653649, "cel", "Latn", type = "reconstructed", sort_key = "cel-pro-sortkey", } m["chi-pro"] = { "Proto-Chimakuan", 116773734, "chi", "Latn", type = "reconstructed", } m["chm-pro"] = { "마리조어", 116773788, "chm", "Latn", type = "reconstructed", } m["cmc-pro"] = { "Proto-Chamic", 114793834, "cmc", "Latn", type = "reconstructed", } m["crp-bip"] = { "Basque-Icelandic Pidgin", 810378, "crp", "Latn", ancestors = "eu", } m["crp-gep"] = { "West Greenlandic Pidgin", 17036301, "crp", "Latn", ancestors = "kl", } m["crp-kia"] = { "Kiautschou German Pidgin", 108314615, "crp", "Latn", ancestors = "de", } m["crp-mar"] = { "Maroon Spirit Language", 1093206, "crp", "Latn", ancestors = "en", } m["crp-mpp"] = { "Macau Pidgin Portuguese", 128804537, "crp", "Hant, Latn", ancestors = "pt", sort_key = {Hant = "Hani-sortkey"}, } m["crp-rsn"] = { "Russenorsk", 505125, "crp", "Cyrl, Latn", ancestors = "nn, ru", translit = {Cyrl = "ru-translit"}, } m["crp-spp"] = { "Samoan Plantation Pidgin", 7409948, "crp", "Latn", ancestors = "en", } m["crp-slb"] = { "Solombala English", 7558525, "crp", "Cyrl, Latn", ancestors = "en, ru", translit = {Cyrl = "ru-translit"}, } m["crp-tpr"] = { "Taimyr Pidgin Russian", 16930506, "crp", "Cyrl", ancestors = "ru", translit = "ru-translit", } m["csu-bba-pro"] = { "Proto-Bongo-Bagirmi", 116773722, "csu-bba", "Latn", type = "reconstructed", } m["csu-maa-pro"] = { "Proto-Mangbetu", 116773786, "csu-maa", "Latn", type = "reconstructed", } m["csu-pro"] = { "Proto-Central Sudanic", 116773730, "csu", "Latn", type = "reconstructed", } m["csu-sar-pro"] = { "Proto-Sara", 116773809, "csu-sar", "Latn", type = "reconstructed", } m["cus-ash"] = { "Ashraaf", 4805855, "cus-som", "Latn", } m["cus-hec-pro"] = { "Proto-Highland East Cushitic", 116773761, "cus-hec", "Latn", type = "reconstructed", } m["cus-som-pro"] = { "Proto-Somaloid", nil, "cus-som", "Latn", type = "reconstructed", } m["cus-sou-pro"] = { "Proto-South Cushitic", 126081567, "cus-sou", "Latn", type = "reconstructed", } m["cus-pro"] = { "Proto-Cushitic", 116773204, "cus", "Latn", type = "reconstructed", } m["dmn-dam"] = { "Dama (Sierra Leone)", 19601574, "dmn", "Latn", } m["dra-bry"] = { "Beary", 1089116, "qfa-mix", "Mlym, Knda", ancestors = "ml, tcy", translit = { Mlym = "ml-translit", Knda = "kn-translit", }, } m["dra-cen-pro"] = { "Proto-Central Dravidian", nil, "dra-cen", "Latn", type = "reconstructed", } m["dra-mkn"] = { "Middle Kannada", 128810572, "dra-kan", "Knda", translit = "kn-translit", } m["dra-nor-pro"] = { "Proto-North Dravidian", 124433593, "dra-nor", "Latn", type = "reconstructed", } m["dra-okn"] = { "Old Kannada", 15723156, "dra-kan", "Knda", translit = "kn-translit", } m["dra-ote"] = { "Old Telugu", 126720868, "dra-tel", "Telu", translit = "te-translit", } m["dra-pro"] = { "Proto-Dravidian", 1702853, "dra", "Latn", type = "reconstructed", } m["dra-sdo-pro"] = { "Proto-South Dravidian I", 104847952, -- Wikipedia's "Proto-South Dravidian" is Proto-South Dravidian I in this scheme. "dra-sdo", "Latn", type = "reconstructed", } m["dra-sdt-pro"] = { "Proto-South Dravidian II", 128885257, "dra-sdt", "Latn", type = "reconstructed", } m["dra-sou-pro"] = { "Proto-South Dravidian", 128886121, "dra-sou", "Latn", type = "reconstructed", } m["egx-dem"] = { "Demotic", 36765, "egx", "Latn, Egyd, Polyt", translit = { Polyt = "grc-translit", }, display_text = { Polyt = s["Polyt-displaytext"], }, entry_name = { Polyt = s["Polyt-entryname"], }, sort_key = { Latn = { remove_diacritics = "'%-%s", from = {"ꜣ", "j", "e", "ꜥ", "y", "w", "b", "p", "f", "m", "n", "r", "l", "ḥ", "ḫ", "h̭", "ẖ", "h", "š", "s", "q", "k", "g", "ṱ", "ṯ", "t", "ḏ", "%.", "⸗"}, to = {p[1], p[2], p[3], p[4], p[5], p[6], p[7], p[8], p[9], p[10], p[11], p[12], p[13], p[15], p[16], p[16], p[17], p[14], p[19], p[18], p[20], p[21], p[22], p[23], p[24], p[23], p[25], p[26], p[26]} }, Polyt = s["Polyt-sortkey"], }, } m["dmn-pro"] = { "Proto-Mande", 116773785, "dmn", "Latn", type = "reconstructed", } m["dmn-mdw-pro"] = { "Proto-Western Mande", 116773822, "dmn-mdw", "Latn", type = "reconstructed", } m["dru-pro"] = { "Proto-Rukai", 116773807, "map", "Latn", type = "reconstructed", } m["ero-gsz"] = { "Geshiza", nil, "ero", "Latn", } m["ero-nya"] = { "Nyagrong Minyag", nil, "ero", "Latn", } m["ero-tau"] = { "Stau", nil, "ero", "Latn", } m["esx-esk-pro"] = { "Proto-Eskimo", 7251842, "esx-esk", "Latn", type = "reconstructed", } m["esx-ink"] = { "Inuktun", 1671647, "esx-inu", "Latn", } m["esx-inq"] = { "Inuinnaqtun", 28070, "esx-inu", "Latn", } m["esx-inu-pro"] = { "Proto-Inuit", 60785588, "esx-inu", "Latn", type = "reconstructed", } m["esx-pro"] = { "Proto-Eskimo-Aleut", 7251843, "esx", "Latn", type = "reconstructed", } m["esx-tut"] = { "Tunumiisut", 15665389, "esx-inu", "Latn", } m["euq-pro"] = { "Proto-Basque", 938011, "euq", "Latn", type = "reconstructed", } m["gba-pro"] = { "Proto-Gbaya", nil, "gba", "Latn", type = "reconstructed", } m["gem-pro"] = { "Proto-Germanic", 669623, "gem", "Latn", type = "reconstructed", sort_key = "gem-pro-sortkey", } m["gme-bur"] = { "Burgundian", 47625, "gme", "Latn", } m["gme-cgo"] = { "Crimean Gothic", 36211, "gme", "Latn", } m["gmq-gut"] = { "Gutnish", 1256646, "gmq", "Latn", ancestors = "gmq-ogt", } m["gmq-jmk"] = { "Jamtish", 35512, "gmq-eas", "Latn", } m["gmq-mno"] = { "Middle Norwegian", 3417070, "gmq-wes", "Latn", } m["gmq-oda"] = { "Old Danish", 12330003, "gmq-eas", "Latn, Runr", entry_name = {remove_diacritics = c.macron}, } m["gmq-ogt"] = { "Old Gutnish", 1133488, "gmq", "Latn, Runr", ancestors = "non", } m["gmq-osw"] = { "Old Swedish", 2417210, "gmq-eas", "Latn, Runr", entry_name = {remove_diacritics = c.macron}, } m["gmq-pro"] = { "Proto-Norse", 1671294, "gmq", "Runr", translit = "Runr-translit", } m["gmq-scy"] = { "Scanian", 768017, "gmq-eas", "Latn", } m["gmw-bgh"] = { "Bergish", 329030, "gmw-frk", "Latn", } m["gmw-cfr"] = { "Central Franconian", 572197, "gmw-hgm", "Latn", ancestors = "gmh", wikimedia_codes = "ksh", } m["gmw-ecg"] = { "East Central German", 499344, -- subsumes Q699284, Q152965 "gmw-hgm", "Latn", ancestors = "gmh", } m["gmw-fin"] = { "Fingallian", 3072588, "gmw-ian", "Latn", } m["gmw-gts"] = { "Gottscheerish", 533109, "gmw-hgm", "Latn", ancestors = "bar", } m["gmw-jdt"] = { "Jersey Dutch", 1687911, "gmw-frk", "Latn", ancestors = "nl", } m["gmw-msc"] = { "Middle Scots", 3327000, "gmw-ang", "Latn", ancestors = "enm-esc", } m["gmw-pro"] = { "서게르만조어", 78079021, "gmw", "Latn, Runr", -- type = "reconstructed", -- largely but not entirely reconstructed (like Proto-Norse); see April '24 BP, set back to reconstructed (?) if 'anti-asterisk' is added sort_key = "gmw-pro-sortkey", } m["gmw-rfr"] = { "Rhine Franconian", 707007, "gmw-hgm", "Latn", ancestors = "gmh", } m["gmw-stm"] = { "Sathmar Swabian", 2223059, "gmw-hgm", "Latn", ancestors = "swg", } m["gmw-tsx"] = { "Transylvanian Saxon", 260942, "gmw-hgm", "Latn", ancestors = "gmw-cfr", } m["gmw-vog"] = { "Volga German", 312574, "gmw-hgm", "Latn", ancestors = "gmw-rfr", } m["gmw-zps"] = { "Zipser German", 205548, "gmw-hgm", "Latn", ancestors = "gmh", } m["gn-cls"] = { "Classical Guaraní", 17478065, "tup-gua", "Latn", ancestors = "gn", } m["grk-cal"] = { "Calabrian Greek", 1146398, "grk", "Latn, Grek", ancestors = "grk-ita", translit = { Grek = "el-translit", }, display_text = { Grek = s["Grek-displaytext"], }, entry_name = { Grek = s["Grek-entryname"], }, sort_key = { Grek = s["Grek-sortkey"], }, } m["grk-ita"] = { "Italiot Greek", 19720507, "grk", "Latn, Grek", ancestors = "gkm", translit = { Grek = "el-translit", }, display_text = { Grek = s["Grek-displaytext"], }, entry_name = { Grek = s["Grek-entryname"], }, sort_key = { Grek = s["Grek-sortkey"], }, } m["grk-mar"] = { "마리우폴그리스어", 4400023, "grk", "Cyrl, Latn, Grek", ancestors = "gkm", translit = { Cyrl = "grk-mar-translit", Grek = "grk-mar-translit", }, override_translit = true, display_text = { Grek = s["Grek-displaytext"], }, entry_name = { Cyrl = {remove_diacritics = c.acute}, Grek = s["Grek-entryname"], }, sort_key = { Grek = s["Grek-sortkey"], }, } m["grk-pro"] = { "Proto-Hellenic", 1231805, "grk", "Latn", type = "reconstructed", sort_key = { from = {"[áā]", "[éēḗ]", "[íī]", "[óōṓ]", "[úū]", "ď", "ľ", "ň", "ř", "ʰ", "ʷ", c.acute, c.macron}, to = {"a", "e", "i", "o", "u", "d", "l", "n", "r", "¯h", "¯w"} }, } m["hmn-pro"] = { "Proto-Hmong", 116773210, "hmn", "Latn", type = "reconstructed", } m["hmx-mie-pro"] = { "Proto-Mien", 116773229, "hmx-mie", "Latn", type = "reconstructed", } m["hmx-pro"] = { "Proto-Hmong-Mien", 7251846, "hmx", "Latn", type = "reconstructed", } m["hyx-pro"] = { "Proto-Armenian", 3848498, "hyx", "Latn", type = "reconstructed", } m["iir-nur-pro"] = { "Proto-Nuristani", 116773248, "iir-nur", "Latn", type = "reconstructed", } m["iir-pro"] = { "Proto-Indo-Iranian", 966439, "iir", "Latn", type = "reconstructed", } m["ijo-pro"] = { "Proto-Ijoid", 116773766, "ijo", "Latn", type = "reconstructed", } m["inc-apa"] = { "Apabhramsa", 616419, "inc-mid", "Deva, Shrd, Sidd", ancestors = "pra", translit = { Deva = "sa-translit", Shrd = "Shrd-translit", Sidd = "Sidd-translit", }, } m["inc-ash"] = { "Ashokan Prakrit", 104854379, "inc-mid", "Brah, Khar", ancestors = "sa", translit = { Brah = "Brah-translit", Khar = "Khar-translit", }, } m["inc-kam"] = { "Kamarupi Prakrit", 6356097, "inc-bas", "Brah, Sidd", translit = { Brah = "Brah-translit", Sidd = "Sidd-translit", }, } m["inc-kho"] = { "Kholosi", 24952008, "inc-snd", "Latn", } m["inc-krd-pro"] = { "Proto-Kamta", 128816843, "inc-bas", "Latn", ancestors = "inc-kam", type = "reconstructed", } m["inc-mas"] = { "Middle Assamese", 128806836, "inc-bas", "as-Beng", ancestors = "inc-oas", translit = "inc-mas-translit", } m["inc-mbn"] = { "Middle Bengali", 113559927, "inc-bas", "Beng", ancestors = "inc-obn", translit = "inc-mbn-translit", } m["inc-mgu"] = { "Middle Gujarati", 24907429, "inc-wes", "Deva", ancestors = "inc-ogu", } m["inc-mor"] = { "Middle Odia", 128810882, "inc-eas", "Orya", ancestors = "inc-oor", } m["inc-oas"] = { "Early Assamese", 85758237, "inc-bas", "as-Beng", ancestors = "inc-kam", translit = "inc-oas-translit", } m["inc-oaw"] = { "Old Awadhi", nil, "inc-hie", "Deva, Kthi, ur-Arab", entry_name = { from = {"هٔ", "ۂ"}, -- character "ۂ" code U+06C2 to "ه" and "هٔ"‎ (U+0647 + U+0654) to "ه" to = {"ہ", "ہ"}, remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.nunghunna .. c.superalef }, translit = { Deva = "sa-translit", Kthi = "sa-Kthi-translit", ["ur-Arab"] = "inc-ohi-translit", }, } m["inc-obn"] = { "Old Bengali", 113559926, "inc-bas", "Beng", } m["inc-ogu"] = { "Old Gujarati", 24907427, "inc-wes", "Deva", translit = "sa-translit", } m["inc-ohi"] = { "Old Hindi", 48767781, "inc-hiw", "Deva, ur-Arab", entry_name = { from = {"هٔ", "ۂ"}, -- character "ۂ" code U+06C2 to "ه" and "هٔ"‎ (U+0647 + U+0654) to "ه" to = {"ہ", "ہ"}, remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.nunghunna .. c.superalef }, translit = { Deva = "sa-translit", ["ur-Arab"] = "inc-ohi-translit", }, } m["inc-oor"] = { "Old Odia", 128807801, "inc-eas", "Orya", } m["inc-opa"] = { "Old Punjabi", 115270971, "inc-pan", "Guru, pa-Arab", translit = { Guru = "inc-opa-Guru-translit", ["pa-Arab"] = "pa-Arab-translit", }, entry_name = {remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun}, } m["inc-pro"] = { "Proto-Indo-Aryan", 23808344, "inc", "Latn", type = "reconstructed", } m["ine-ana-pro"] = { "Proto-Anatolian", 7251833, "ine-ana", "Latn", type = "reconstructed", } m["ine-bsl-pro"] = { "발트슬라브조어", 1703347, "ine-bsl", "Latn", type = "reconstructed", sort_key = { from = {"[áā]", "[éēḗ]", "[íī]", "[óōṓ]", "[úū]", c.acute, c.macron, "ˀ"}, to = {"a", "e", "i", "o", "u"} }, } m["ine-kal"] = { "Kalašma", 122770439, "ine-ana", "Xsux", } m["ine-pae"] = { "Paeonian", 2705672, "ine", "Polyt", translit = "grc-translit", display_text = s["Polyt-displaytext"], entry_name = s["Polyt-entryname"], sort_key = s["Polyt-sortkey"], } m["ine-pro"] = { "인도유럽조어", 37178, "ine", "Latn", type = "reconstructed", sort_key = { from = {"[áā]", "[éēḗ]", "[íī]", "[óōṓ]", "[úū]", "ĺ", "ḿ", "ń", "ŕ", "ǵ", "ḱ", "ʰ", "ʷ", "₁", "₂", "₃", c.ringbelow, c.acute, c.macron}, to = {"a", "e", "i", "o", "u", "l", "m", "n", "r", "g'", "k'", "¯h", "¯w", "1", "2", "3"} }, } m["ine-toc-pro"] = { "Proto-Tocharian", 104841462, "ine-toc", "Latn", type = "reconstructed", } m["xme-old"] = { "Old Median", 36461, "xme", "Polyt, Latn", translit = { Polyt = "grc-translit", }, display_text = { Polyt = s["Polyt-displaytext"], }, entry_name = { Polyt = s["Polyt-entryname"], }, sort_key = { Polyt = s["Polyt-sortkey"], }, } m["xme-mid"] = { "Middle Median", 12836150, "xme", "Latn", } m["xme-ker"] = { "Kermanic", 129850, "xme", "fa-Arab, Latn", ancestors = "xme-mid", } m["xme-taf"] = { "Tafreshi", nil, "xme", "fa-Arab, Latn", ancestors = "xme-mid", } m["xme-ttc-pro"] = { "Proto-Tatic", 122973870, "xme-ttc", "Latn", ancestors = "xme-mid", } m["xme-kls"] = { "Kalasuri", nil, "xme-ttc", ancestors = "xme-ttc-nor", } m["xme-klt"] = { "Kilit", 3612452, "xme-ttc", "Cyrl", -- and fa-Arab? } m["xme-ott"] = { "Old Tati", 434697, "xme-ttc", "fa-Arab, Latn", } m["ira-kms-pro"] = { "Proto-Komisenian", 116773777, "ira-kms", "Latn", type = "reconstructed", } m["ira-mpr-pro"] = { "Proto-Medo-Parthian", 116773227, "ira-mpr", "Latn", type = "reconstructed", } m["ira-pat-pro"] = { "Proto-Pathan", 116773255, "ira-pat", "Latn", type = "reconstructed", } m["ira-pro"] = { "Proto-Iranian", 4167865, "ira", "Latn", type = "reconstructed", } m["ira-zgr-pro"] = { "Proto-Zaza-Gorani", 116775031, "ira-zgr", "Latn", type = "reconstructed", } m["xsc-pro"] = { "Proto-Scythian", 116773273, "xsc", "Latn", type = "reconstructed", } m["xsc-sar-pro"] = { "Proto-Sarmatian", 116773249, "xsc-sar", "Latn", type = "reconstructed", } m["xsc-skw-pro"] = { "Proto-Saka-Wakhi", 116773267, "xsc-skw", "Latn", type = "reconstructed", } m["xsc-sak-pro"] = { "Proto-Saka", 116773264, "xsc-sak", "Latn", type = "reconstructed", } m["ira-sym-pro"] = { "Proto-Shughni-Yazghulami-Munji", 116773813, "ira-sym", "Latn", type = "reconstructed", } m["ira-sgi-pro"] = { "Proto-Sanglechi-Ishkashimi", 116773808, "ira-sgi", "Latn", type = "reconstructed", } m["ira-mny-pro"] = { "Proto-Munji-Yidgha", 116773792, "ira-mny", "Latn", type = "reconstructed", } m["ira-shy-pro"] = { "Proto-Shughni-Yazghulami", 116773812, "ira-shy", "Latn", type = "reconstructed", } m["ira-shr-pro"] = { "Proto-Shughni-Roshani", 116773811, "ira-shr", "Latn", type = "reconstructed", } m["ira-sgc-pro"] = { "Proto-Sogdic", 116773276, "ira-sgc", "Latn", type = "reconstructed", } m["ira-wnj"] = { "Vanji", 3398419, "ira-shy", "Latn", } m["iro-ere"] = { "Erie", 5388365, "iro-nor", "Latn", } m["iro-min"] = { "Mingo", 128531, "iro-nor", "Latn", ietf_subtag = "i-mingo", -- grandfathered IETF tag } m["iro-nor-pro"] = { "Proto-North Iroquoian", 116773242, "iro-nor", "Latn", type = "reconstructed", } m["iro-pro"] = { "Proto-Iroquoian", 7251852, "iro", "Latn", type = "reconstructed", } m["itc-pro"] = { "이탈리아조어", 17102720, "itc", "Latn", type = "reconstructed", } m["itc-psa"] = { "Pre-Samnite", 7239186, "itc-sbl", "Ital, Polyt, Latn", translit = { Polyt = "grc-translit", }, display_text = { Polyt = s["Polyt-displaytext"], }, entry_name = { Polyt = s["Polyt-entryname"], }, sort_key = { Polyt = s["Polyt-sortkey"], }, } m["jpx-hcj"] = { "하치조어", 5637049, "jpx", "Jpan", ancestors = "ojp-eas", translit = s["jpx-translit"], display_text = s["jpx-displaytext"], entry_name = s["jpx-entryname"], sort_key = s["jpx-sortkey"], } m["jpx-pro"] = { "일본조어", 3924309, "jpx", "Latn", type = "reconstructed", } m["jpx-ryu-pro"] = { "류큐조어", 56349069, "jpx-ryu", "Latn", type = "reconstructed", } m["kar-pro"] = { "Proto-Karen", 85794783, "kar", "Latn", type = "reconstructed", } m["kca-eas"] = { "Eastern Khanty", 30304622, "kca", "Cyrl", translit = "kca-translit", override_translit = true, -- TODO temporary until MediaWiki supports Unicode 16 (probably requires a PHP update from their side) sort_key = { Cyrl = { from = {"ᲊ"}, to = {"Ᲊ"} } }, } m["kca-nor"] = { "Northern Khanty", 30304527, "kca", "Cyrl", translit = "kca-translit", override_translit = true, -- TODO temporary until MediaWiki supports Unicode 16 (probably requires a PHP update from their side) sort_key = { Cyrl = { from = {"ᲊ"}, to = {"Ᲊ"} } }, } m["kca-pro"] = { "Proto-Khanty", 127505171, "kca", "Latn", type = "reconstructed", } m["kca-sou"] = { "Southern Khanty", 30304618, "kca", "Cyrl", translit = "kca-translit", override_translit = true, } m["khi-kho-pro"] = { "Proto-Khoe", 116773218, "khi-kho", "Latn", type = "reconstructed", } m["khi-kun"] = { "ǃKung", 32904, "khi-kxa", "Latn", } m["ko-ear"] = { "근대 한국어", 756014, "qfa-kor", "Kore", ancestors = "okm", translit = "okm-translit", entry_name = s["Kore-entryname"], } m["kro-pro"] = { "Proto-Kru", 116773778, "kro", "Latn", type = "reconstructed", } m["ku-pro"] = { "Proto-Kurdish", 116773221, "ku", "Latn", type = "reconstructed", } m["map-ata-pro"] = { "Proto-Atayalic", 116773151, "map-ata", "Latn", type = "reconstructed", } m["map-bms"] = { "Banyumasan", 33219, "map", "Latn, Java", } m["map-pro"] = { "Proto-Austronesian", 49230, "map", "Latn", type = "reconstructed", } m["mis-hkl"] = { "Kelantan Peranakan Hokkien", 108794818, "qfa-mix", ancestors = "nan-hbl, sou, mfa", } m["mis-idn"] = { "Idiom Neutral", 35847, "art", "Latn", type = "appendix-constructed", } m["mis-isa"] = { "Isaurian", 16956868, nil, -- "Xsux, Hluw, Latn", } m["mis-jie"] = { "Jie", 124424186, nil, "Hani", sort_key = "Hani-sortkey", } m["mis-jzh"] = { "Jizhao", 45242758, "qfa-bej", "Latn", } m["mis-kas"] = { "Kassite", 35612, nil, "Xsux", } m["mis-mmd"] = { "Mimi of Decorse", 6862206, nil, "Latn", } m["mis-mmn"] = { "Mimi of Nachtigal", 6862207, nil, "Latn", } m["mis-phi"] = { "Philistine", 2230924, nil, "Phnx", } m["mis-rou"] = { "Rouran", 48816637, "qfa-xgx", "Hani, Latn", sort_key = {Hani = "Hani-sortkey"}, } m["mis-tdl"] = { "Turdulian", 133176492, } m["mis-tdt"] = { "Turdetanian", 133176461, } m["mis-tnw"] = { "Tangwang", 7683179, "qfa-mix", "Latn", ancestors = "cmn, sce", } m["mis-tuh"] = { "Tuyuhun", 48816625, "qfa-xgx", "Hani, Latn", sort_key = {Hani = "Hani-sortkey"}, } m["mis-tuo"] = { "Tuoba", 48816629, "qfa-xgx", "Hani, Latn", sort_key = {Hani = "Hani-sortkey"}, } m["mis-wuh"] = { "Wuhuan", 118976867, "qfa-xgx", "Hani, Latn", sort_key = {Hani = "Hani-sortkey"}, } m["mis-xbi"] = { "Xianbei", 4448647, "qfa-xgx", "Hani, Latn", sort_key = {Hani = "Hani-sortkey"}, } m["mis-xnu"] = { "Xiongnu", 10901674, nil, "Hani, Latn", sort_key = {Hani = "Hani-sortkey"}, } m["mjg-mgl"] = { "Mongghul", 53765528, "mjg", "Latn", -- also Mong, Cyrl ? } m["mjg-mgr"] = { "Mangghuer", 56285392, "mjg", "Latn", -- also Mong, Cyrl ? } m["mkh-asl-pro"] = { "Proto-Aslian", 55630680, "mkh-asl", "Latn", type = "reconstructed", } m["mkh-ban-pro"] = { "Proto-Bahnaric", 116773189, "mkh-ban", "Latn", type = "reconstructed", } m["mkh-kat-pro"] = { "Proto-Katuic", 116773772, "mkh-kat", "Latn", type = "reconstructed", } m["mkh-khm-pro"] = { "크무조어", 116773774, "mkh-khm", "Latn", type = "reconstructed", } m["mkh-kmr-pro"] = { "Proto-Khmeric", 55630684, "mkh-kmr", "Latn", type = "reconstructed", } m["mkh-mmn"] = { "Middle Mon", 121337926, "mkh-mnc", "Latn, Mymr", --and also Pallava ancestors = "omx", } m["mkh-mnc-pro"] = { "Proto-Monic", 116773231, "mkh-mnc", "Latn", type = "reconstructed", } m["mkh-mvi"] = { "Middle Vietnamese", 9199, "mkh-vie", "Hani, Latn", sort_key = {Hani = "Hani-sortkey"}, } m["mkh-pal-pro"] = { "Proto-Palaungic", 104847372, "mkh-pal", "Latn", type = "reconstructed", } m["mkh-pea-pro"] = { "Proto-Pearic", 116773804, "mkh-pea", "Latn", type = "reconstructed", } m["mkh-pkn-pro"] = { "Proto-Pakanic", 116773803, "mkh-pkn", "Latn", type = "reconstructed", } m["mkh-pro"] = { --This will be merged into 2015 aav-pro. "Proto-Mon-Khmer", 7251859, "mkh", "Latn", type = "reconstructed", } m["mnw-tha"] = { -- To be removed. "Thai Mon", nil, "mkh-mnc", "Mymr, Thai", ancestors = "mkh-mmn", sort_key = { from = {"[%p]", "ျ", "ြ", "ွ", "ှ", "ၞ", "ၟ", "ၠ", "ၚ", "ဿ", "[็-๎]", "([เแโใไ])([ก-ฮ])ฺ?"}, to = {"", "္ယ", "္ရ", "္ဝ", "္ဟ", "္န", "္မ", "္လ", "င", "သ္သ", "", "%2%1"} }, } m["mkh-vie-pro"] = { "Proto-Vietic", 109432616, "mkh-vie", "Latn", type = "reconstructed", } m["mns-cen"] = { "Central Mansi", 128810384, "mns", "Cyrl", translit = "mns-translit", override_translit = true, } m["mns-nor"] = { "Northern Mansi", 30304537, "mns", "Cyrl", translit = "mns-translit", override_translit = true, } m["mns-pro"] = { "Proto-Mansi", 128883093, "mns", "Latn", type = "reconstructed", } m["mns-sou"] = { "Southern Mansi", 30304629, "mns", "Cyrl", translit = "mns-translit", override_translit = true, } m["mun-pro"] = { "Proto-Munda", 105102373, "mun", "Latn", type = "reconstructed", } m["myn-chl"] = { -- the stage after ''emy'' "Ch'olti'", 873995, "myn", "Latn", } m["myn-pro"] = { "Proto-Mayan", 3321532, "myn", "Latn", type = "reconstructed", } m["nai-ala"] = { "Alazapa", 128810233, nil, "Latn", } m["nai-bay"] = { "Bayogoula", 1563704, nil, "Latn", } m["nai-cal"] = { "Calusa", 51782, nil, "Latn", } m["nai-chi"] = { "Chiquimulilla", 25339627, "nai-xin", "Latn", } m["nai-chu-pro"] = { "Proto-Chumash", 116773736, "nai-chu", "Latn", type = "reconstructed", } m["nai-cig"] = { "Ciguayo", 20741700, nil, "Latn", } m["nai-ckn-pro"] = { "Proto-Chinookan", 116773735, "nai-ckn", "Latn", type = "reconstructed", } m["nai-guz"] = { "Guazacapán", 19572028, "nai-xin", "Latn", } m["nai-hit"] = { "Hitchiti", 1542882, "nai-mus", "Latn", } m["nai-ipa"] = { "Ipai", 3027474, "nai-yuc", "Latn", } m["nai-jtp"] = { "Jutiapa", nil, "nai-xin", "Latn", } m["nai-jum"] = { "Jumaytepeque", 25339626, "nai-xin", "Latn", } m["nai-kat"] = { "Kathlamet", 6376639, "nai-ckn", "Latn", } m["nai-klp-pro"] = { "Proto-Kalapuyan", 116773771, "nai-klp", "Latn", type = "reconstructed", } m["nai-knm"] = { "Konomihu", 3198734, "nai-shs", "Latn", } m["nai-kum"] = { "Kumeyaay", 4910139, "nai-yuc", "Latn", } m["nai-mac"] = { "Macoris", 21070851, nil, "Latn", } m["nai-mdu-pro"] = { "Proto-Maidun", 116773784, "nai-mdu", "Latn", type = "reconstructed", } m["nai-miz-pro"] = { "Proto-Mixe-Zoque", 7251858, "nai-miz", "Latn", type = "reconstructed", } m["nai-mus-pro"] = { "Proto-Muskogean", 116775368, "nai-mus", "Latn", type = "reconstructed", } m["nai-nao"] = { "Naolan", 6964594, nil, "Latn", } m["nai-nrs"] = { "New River Shasta", 7011254, "nai-shs", "Latn", } m["nai-okw"] = { "Okwanuchu", 3350126, "nai-shs", "Latn", } m["nai-per"] = { "Pericú", 3375369, nil, "Latn", } m["nai-pic"] = { "Picuris", 7191257, "nai-kta", "Latn", } m["nai-plp-pro"] = { "Proto-Plateau Penutian", 116773806, "nai-plp", "Latn", type = "reconstructed", } m["nai-pom-pro"] = { "Proto-Pomo", 116773262, "nai-pom", "Latn", type = "reconstructed", } m["nai-qng"] = { "Quinigua", 36360, nil, "Latn", } m["nai-sca-pro"] = { -- NB 'sio-pro' "Proto-Siouan" which is Proto-Western Siouan "Proto-Siouan-Catawban", 116773275, "nai-sca", "Latn", type = "reconstructed", } m["nai-sin"] = { "Sinacantán", 24190249, "nai-xin", "Latn", } m["nai-sln"] = { "Salvadoran Lenca", 3229434, "nai-len", "Latn", } m["nai-spt"] = { "Sahaptin", 3833015, "nai-shp", "Latn", } m["nai-tap"] = { "Tapachultec", 7684401, "nai-miz", "Latn", } m["nai-taw"] = { "Tawasa", 7689233, nil, "Latn", } m["nai-teq"] = { "Tequistlatec", 2964454, "nai-tqn", "Latn", } m["nai-tip"] = { "Tipai", 3027471, "nai-yuc", "Latn", } m["nai-tot-pro"] = { "Proto-Totozoquean", 116773285, "nai-tot", "Latn", type = "reconstructed", } m["nai-tsi-pro"] = { "Proto-Tsimshianic", nil, "nai-tsi", "Latn", type = "reconstructed", } m["nai-utn-pro"] = { "Proto-Utian", 116773290, "nai-utn", "Latn", type = "reconstructed", } m["nai-wai"] = { "Waikuri", 3118702, nil, "Latn", } m["nai-wji"] = { "Western Jicaque", 3178610, "nai-jcq", "Latn", } m["nai-yup"] = { "Yupiltepeque", 25339628, "nai-xin", "Latn", } m["nan-dat"] = { "Datian Min", 19855572, "zhx-nan", "Hants", generate_forms = "zh-generateforms", sort_key = "Hani-sortkey", } m["nan-hbl"] = { "취안장어", 1624231, "zhx-nan", "Hants, Latn, Bopo, Kana", wikimedia_codes = "zh-min-nan", generate_forms = "zh-generateforms", sort_key = { Hani = "Hani-sortkey", Kana = "Kana-sortkey" }, } m["nan-hlh"] = { "Hailufeng Min", 120755728, "zhx-nan", "Hants", generate_forms = "zh-generateforms", sort_key = "Hani-sortkey", } m["nan-lnx"] = { "Longyan Min", 6674568, "zhx-nan", "Hants", generate_forms = "zh-generateforms", sort_key = "Hani-sortkey", } m["nan-tws"] = { "차오저우어", 36759, "zhx-nan", "Hants", generate_forms = "zh-generateforms", translit = "zh-translit", sort_key = "Hani-sortkey", } m["nan-zhe"] = { "Zhenan Min", 3846710, "zhx-nan", "Hants", generate_forms = "zh-generateforms", sort_key = "Hani-sortkey", } m["nan-zsh"] = { "Sanxiang Min", 7420769, "zhx-nan", "Hants", generate_forms = "zh-generateforms", sort_key = "Hani-sortkey", } m["nds-de"] = { "German Low German", 25433, "gmw-lgm", "Latn", ancestors = "nds", ietf_subtag = "nds-DE", -- should we make this the actual code? wikimedia_codes = "nds", } m["nds-nl"] = { "Dutch Low Saxon", 516137, "gmw-lgm", "Latn", ancestors = "nds", ietf_subtag = "nds-NL", -- should we make this the actual code? wikimedia_codes = "nds-nl", } m["ngf-pro"] = { "Proto-Trans-New Guinea", 85794785, "ngf", "Latn", type = "reconstructed", } m["nic-bco-pro"] = { "Proto-Benue-Congo", 116773194, "nic-bco", "Latn", type = "reconstructed", } m["nic-bod-pro"] = { "Proto-Bantoid", 116773190, "nic-bod", "Latn", type = "reconstructed", } m["nic-eov-pro"] = { "Proto-Eastern Oti-Volta", 116773753, "nic-eov", "Latn", type = "reconstructed", } m["nic-gns-pro"] = { "Proto-Gurunsi", 116773759, "nic-gns", "Latn", type = "reconstructed", } m["nic-grf-pro"] = { "Proto-Grassfields", 116773755, "nic-grf", "Latn", type = "reconstructed", } m["nic-gur-pro"] = { "Proto-Gur", 116773758, "nic-gur", "Latn", type = "reconstructed", } m["nic-jkn-pro"] = { "Proto-Jukunoid", 116773769, "nic-jkn", "Latn", type = "reconstructed", } m["nic-lcr-pro"] = { "Proto-Lower Cross River", 116773782, "nic-lcr", "Latn", type = "reconstructed", } m["nic-ogo-pro"] = { "Proto-Ogoni", 116773799, "nic-ogo", "Latn", type = "reconstructed", } m["nic-ovo-pro"] = { "Proto-Oti-Volta", 116773802, "nic-ovo", "Latn", type = "reconstructed", } m["nic-plt-pro"] = { "Proto-Plateau", 116773805, "nic-plt", "Latn", type = "reconstructed", } m["nic-pro"] = { "Proto-Niger-Congo", 108000748, "nic", "Latn", type = "reconstructed", } m["nic-ubg-pro"] = { "Proto-Ubangian", 116773818, "nic-ubg", "Latn", type = "reconstructed", } m["nic-ucr-pro"] = { "Proto-Upper Cross River", 116773819, "nic-ucr", "Latn", type = "reconstructed", } m["nic-vco-pro"] = { "Proto-Volta-Congo", 116773293, "nic-vco", "Latn", type = "reconstructed", } m["nub-har"] = { "Haraza", 19572059, "nub", "Arab, Latn", } m["nub-pro"] = { "Proto-Nubian", 116773246, "nub", "Latn", type = "reconstructed", } m["omq-cha-pro"] = { "Proto-Chatino", 116773202, "omq-cha", "Latn", type = "reconstructed", } m["omq-maz-pro"] = { "Proto-Mazatec", 116773790, "omq-maz", "Latn", type = "reconstructed", } m["omq-mix-pro"] = { "Proto-Mixtecan", 21573423, "omq-mix", "Latn", type = "reconstructed", } m["omq-mxt-pro"] = { "Proto-Mixtec", 21573424, "omq-mxt", "Latn", type = "reconstructed", } m["omq-otp-pro"] = { "Proto-Oto-Pamean", 116773251, "omq-otp", "Latn", type = "reconstructed", } m["omq-pro"] = { "Proto-Oto-Manguean", 33669, "omq", "Latn", type = "reconstructed", } m["omq-sjq"] = { "San Juan Quiahije Chatino", 17003130, "omq-cha", "Latn", } m["omq-tel"] = { "Teposcolula Mixtec", nil, "omq-mxt", "Latn", } m["omq-teo"] = { "Teojomulco Chatino", 25340451, "omq-cha", "Latn", } m["omq-tri-pro"] = { "Proto-Trique", 116773817, "omq-tri", "Latn", type = "reconstructed", } m["omq-zap-pro"] = { "Proto-Zapotecan", 116773297, "omq-zap", "Latn", type = "reconstructed", } m["omq-zpc-pro"] = { "Proto-Zapotec", 116773296, "omq-zpc", "Latn", type = "reconstructed", } m["omv-aro-pro"] = { "Proto-Aroid", 116773721, "omv-aro", "Latn", type = "reconstructed", } m["omv-diz-pro"] = { "Proto-Dizoid", 116773750, "omv-diz", "Latn", type = "reconstructed", } m["omv-pro"] = { "Proto-Omotic", 116773800, "omv", "Latn", type = "reconstructed", } m["oto-otm-pro"] = { "Proto-Otomi", 5908710, "oto-otm", "Latn", type = "reconstructed", } m["oto-pro"] = { "Proto-Otomian", 116773252, "oto", "Latn", type = "reconstructed", } m["paa-kom"] = { "Kómnzo", 18344310, "paa-yam", "Latn", } m["paa-kwn"] = { "Kuwani", 6449056, "paa", "Latn", } m["paa-nha-pro"] = { "Proto-North Halmahera", 116773241, "paa-nha", "Latn", type = "reconstructed" } m["paa-nun"] = { "Nungon", 128807788, "paa", "Latn", } m["phi-din"] = { "Dinapigue Agta", 16945774, "phi", "Latn", } m["phi-kal-pro"] = { "Proto-Kalamian", 116773213, "phi-kal", "Latn", type = "reconstructed", } m["phi-nag"] = { "Nagtipunan Agta", 16966111, "phi", "Latn", } m["phi-pro"] = { "Proto-Philippine", 18204898, "phi", "Latn", type = "reconstructed", } m["poz-abi"] = { "Abai", 19570729, "poz-san", "Latn", } m["poz-bal"] = { "Baliledo", 4850912, "poz", "Latn", } m["poz-btk-pro"] = { "Proto-Bungku-Tolaki", 116773724, "poz-btk", "Latn", type = "reconstructed", } m["poz-cet-pro"] = { "Proto-Central-Eastern Malayo-Polynesian", 2269883, "poz-cet", "Latn", type = "reconstructed", } m["poz-hce-pro"] = { "Proto-Halmahera-Cenderawasih", 116773209, "poz-hce", "Latn", type = "reconstructed", } m["poz-lgx-pro"] = { "Proto-Lampungic", 116773222, "poz-lgx", "Latn", type = "reconstructed", } m["poz-mcm-pro"] = { "Proto-Malayo-Chamic", 116773225, "poz-mcm", "Latn", type = "reconstructed", } m["poz-mic-pro"] = { "Proto-Micronesian", 111939079, "poz-mic", "Latn", type = "reconstructed", } m["poz-mly-pro"] = { "Proto-Malayic", 98057728, "poz-mly", "Latn", type = "reconstructed", } m["poz-msa-pro"] = { "Proto-Malayo-Sumbawan", 116773226, "poz-msa", "Latn", type = "reconstructed", } m["poz-oce-pro"] = { "Proto-Oceanic", 141741, "poz-oce", "Latn", type = "reconstructed", } m["poz-pep-pro"] = { "Proto-Eastern Polynesian", 113988745, "poz-pep", "Latn", type = "reconstructed", } m["poz-pnp-pro"] = { "Proto-Nuclear Polynesian", 113988746, "poz-pnp", "Latn", type = "reconstructed", } m["poz-pol-pro"] = { "Proto-Polynesian", 1658709, "poz-pol", "Latn", type = "reconstructed", } m["poz-pro"] = { "Proto-Malayo-Polynesian", 3832960, "poz", "Latn", type = "reconstructed", } m["poz-sml"] = { "Sarawak Malay", 4251702, "poz-mly", "Latn, ms-Arab", } m["poz-ssw-pro"] = { "Proto-South Sulawesi", 116773279, "poz-ssw", "Latn", type = "reconstructed", } m["poz-swa-pro"] = { "Proto-North Sarawak", 116773243, "poz-swa", "Latn", type = "reconstructed", } m["poz-ter"] = { "Terengganu Malay", 4207412, "poz-mly", "Latn, ms-Arab", } m["pqe-pro"] = { "Proto-Eastern Malayo-Polynesian", 2269883, "pqe", "Latn", type = "reconstructed", } m["pra-niy"] = { "Niya Prakrit", 11991601, "inc-mid", "Khar", ancestors = "inc-ash", translit = "Khar-translit", } m["qfa-adm-pro"] = { "Proto-Great Andamanese", 116773756, "qfa-adm", "Latn", type = "reconstructed", } m["qfa-bet-pro"] = { "Proto-Be-Tai", 116773193, "qfa-bet", "Latn", type = "reconstructed", } m["qfa-cka-pro"] = { "Proto-Chukotko-Kamchatkan", 7251837, "qfa-cka", "Latn", type = "reconstructed", } m["qfa-hur-pro"] = { "Proto-Hurro-Urartian", 116773211, "qfa-hur", "Latn", type = "reconstructed", } m["qfa-kad-pro"] = { "Proto-Kadu", 116773770, "qfa-kad", "Latn", type = "reconstructed", } m["qfa-kms-pro"] = { "Proto-Kam-Sui", 55630682, "qfa-kms", "Latn", type = "reconstructed", } m["qfa-kor-pro"] = { "한국조어", 467883, "qfa-kor", "Latn", type = "reconstructed", } m["qfa-kra-pro"] = { "Proto-Kra", 7251854, "qfa-kra", "Latn", type = "reconstructed", } m["qfa-lic-pro"] = { "Proto-Hlai", 7251845, "qfa-lic", "Latn", type = "reconstructed", } m["qfa-onb-pro"] = { "Proto-Be", 116773192, "qfa-onb", "Latn", type = "reconstructed", } m["qfa-ong-pro"] = { "Proto-Ongan", 116773801, "qfa-ong", "Latn", type = "reconstructed", } m["qfa-tak-pro"] = { "Proto-Kra-Dai", 104901616, "qfa-tak", "Latn", type = "reconstructed", } m["qfa-yen-pro"] = { "Proto-Yeniseian", 27639, "qfa-yen", "Latn", type = "reconstructed", } m["qfa-yuk-pro"] = { "Proto-Yukaghir", 116773294, "qfa-yuk", "Latn", type = "reconstructed", } m["qwe-kch"] = { "Kichwa", 1740805, "qwe", "Latn", ancestors = "qu", } m["qwe-pro"] = { "Proto-Quechuan", 5575757, "qwe", "Latn", type = "reconstructed", } m["roa-afr"] = { "African Romance", 162064, "roa-sou", "Latn", } m["roa-ang"] = { "Angevin", 56782, "roa-oil", "Latn", sort_key = s["roa-oil-sortkey"], } m["roa-bbn"] = { "Bourbonnais-Berrichon", 2899128, "roa-oil", "Latn", sort_key = s["roa-oil-sortkey"], } m["roa-brg"] = { "Bourguignon", 508332, "roa-oil", "Latn", sort_key = s["roa-oil-sortkey"], } m["roa-can"] = { "Cantabrian", 917021, "roa-asl", "Latn", } m["roa-cha"] = { "샹파뉴어", 430018, "roa-oil", "Latn", sort_key = s["roa-oil-sortkey"], } m["roa-fcm"] = { "Franc-Comtois", 510561, "roa-oil", "Latn", sort_key = s["roa-oil-sortkey"], } m["roa-gal"] = { "Gallo", 37300, "roa-oil", "Latn", sort_key = s["roa-oil-sortkey"], } m["roa-gib"] = { "Gallo-Italic of Basilicata", 3094838, "roa-git", "Latn", } m["roa-gis"] = { "Gallo-Italic of Sicily", 2629019, "roa-git", "Latn", } m["roa-leo"] = { "레온어", 34108, "roa-asl", "Latn", } m["roa-lor"] = { "Lorrain", 671198, "roa-oil", "Latn", sort_key = s["roa-oil-sortkey"], } m["roa-oca"] = { "Old Catalan", 15478520, "roa-ocr", "Latn", sort_key = {remove_diacritics = c.grave .. c.acute .. c.diaer .. c.cedilla .. "·"}, } m["roa-ole"] = { "Old Leonese", 125977465, "roa-asl", "Latn", } m["roa-ona"] = { "Old Navarro-Aragonese", 2736184, "roa-nar", "Latn", } m["roa-opt"] = { "Old Galician-Portuguese", 1072111, "roa-gap", "Latn", entry_name = {remove_diacritics = c.grave .. c.acute .. c.circ}, } m["roa-orl"] = { "Orléanais", 28497058, "roa-oil", "Latn", sort_key = s["roa-oil-sortkey"], } m["roa-poi"] = { "Poitevin-Saintongeais", 514123, "roa-oil", "Latn", sort_key = s["roa-oil-sortkey"], } m["roa-tar"] = { "Tarantino", 695526, "roa-itr", "Latn", wikimedia_codes = "roa-tara", } m["sai-all"] = { "Allentiac", 19570789, "sai-hrp", "Latn", } m["sai-and"] = { -- not to be confused with 'cbc' or 'ano' "Andoquero", 16828359, "sai-wit", "Latn", } m["sai-ayo"] = { "Ayomán", 16937754, "sai-jir", "Latn", } m["sai-bae"] = { "Baenan", 3401998, nil, "Latn", } m["sai-bag"] = { "Bagua", 5390321, nil, "Latn", } m["sai-bet"] = { "Betoi", 926551, "qfa-iso", "Latn", } m["sai-bor-pro"] = { "Proto-Boran", nil, "sai-bor", "Latn", } m["sai-cac"] = { "Cacán", 945482, nil, "Latn", } m["sai-caq"] = { "Caranqui", 2937753, "sai-bar", "Latn", } m["sai-car-pro"] = { "Proto-Cariban", 116773196, "sai-car", "Latn", type = "reconstructed", } m["sai-cat"] = { "Catacao", 5051136, "sai-ctc", "Latn", } m["sai-cer-pro"] = { "Proto-Cerrado", 116773200, "sai-cer", "Latn", type = "reconstructed", } m["sai-chi"] = { "Chirino", 5390321, nil, "Latn", } m["sai-chn"] = { "Chaná", 5072718, "sai-crn", "Latn", } m["sai-chp"] = { "Chapacura", 5072884, "sai-cpc", "Latn", } m["sai-chr"] = { "Charrua", 5086680, "sai-crn", "Latn", } m["sai-chu"] = { "Churuya", 5118339, "sai-guh", "Latn", } m["sai-cje-pro"] = { "Proto-Central Jê", 116773198, "sai-cje", "Latn", type = "reconstructed", } m["sai-cmg"] = { "Comechingon", 6644203, nil, "Latn", } m["sai-cno"] = { "Chono", 5104704, nil, "Latn", } m["sai-cnr"] = { "Cañari", 5055572, nil, "Latn", } m["sai-coe"] = { "Coeruna", 6425639, "sai-wit", "Latn", } m["sai-col"] = { "Colán", 5141893, "sai-ctc", "Latn", } m["sai-cop"] = { "Copallén", 5390321, nil, "Latn", } m["sai-crd"] = { "Coroado Puri", 24191321, "sai-mje", "Latn", } m["sai-ctq"] = { "Catuquinaru", 16858455, nil, "Latn", } m["sai-cul"] = { "Culli", 2879660, nil, "Latn", } m["sai-cva"] = { "Cueva", 5192644, nil, "Latn", } m["sai-esm"] = { "Esmeralda", 3058083, nil, "Latn", } m["sai-ewa"] = { "Ewarhuyana", 16898104, nil, "Latn", } m["sai-gam"] = { "Gamela", 5403661, nil, "Latn", } m["sai-gay"] = { "Gayón", 5528902, "sai-jir", "Latn", } m["sai-gmo"] = { "Guamo", 5613495, nil, "Latn", } m["sai-gua"] = { "Guachí", 5613172, "sai-guc", "Latn", } m["sai-gue"] = { "Güenoa", 5626799, "sai-crn", "Latn", } m["sai-hau"] = { "Haush", 3128376, "sai-cho", "Latn", } m["sai-jee-pro"] = { "Proto-Jê", 116773212, "sai-jee", "Latn", type = "reconstructed", } m["sai-jko"] = { "Jeikó", 6176527, "sai-mje", "Latn", } m["sai-jrj"] = { "Jirajara", 6202966, "sai-jir", "Latn", } m["sai-kat"] = { -- contrast xoo, kzw, sai-xoc "Katembri", 6375925, nil, "Latn", } m["sai-mal"] = { "Malalí", 6741212, nil, "Latn", } m["sai-mar"] = { "Maratino", 6755055, nil, "Latn", } m["sai-mat"] = { "Matanawi", 6786047, nil, "Latn", } m["sai-mcn"] = { "Mocana", 3402048, nil, "Latn", } m["sai-men"] = { "Menien", 16890110, "sai-mje", "Latn", } m["sai-mil"] = { "Millcayac", 19573012, "sai-hrp", "Latn", } m["sai-mlb"] = { "Malibu", 3402048, nil, "Latn", } m["sai-msk"] = { "Masakará", 6782426, "sai-mje", "Latn", } m["sai-muc"] = { "Mucuchí", 6931290, nil, "Latn", } m["sai-mue"] = { "Muellama", 16886936, "sai-bar", "Latn", } m["sai-muz"] = { "Muzo", 6644203, nil, "Latn", } m["sai-mys"] = { "Maynas", 16919393, nil, "Latn", } m["sai-nat"] = { "Natú", 9006749, nil, "Latn", } m["sai-nje-pro"] = { "Proto-Northern Jê", 116773245, "sai-nje", "Latn", type = "reconstructed", } m["sai-opo"] = { "Opón", 7099152, "sai-car", "Latn", } m["sai-oto"] = { "Otomaco", 16879234, "sai-otm", "Latn", } m["sai-pal"] = { "Palta", 3042978, nil, "Latn", } m["sai-pam"] = { "Pamigua", 5908689, "sai-otm", "Latn", } m["sai-par"] = { "Paratió", 16890038, nil, "Latn", } m["sai-pnz"] = { "Panzaleo", 3123275, nil, "Latn", } m["sai-prh"] = { "Puruhá", 3410994, nil, "Latn", } m["sai-ptg"] = { "Patagón", 128807870, nil, "Latn", } m["sai-pur"] = { "Purukotó", 7261622, "sai-pem", "Latn", } m["sai-pyg"] = { "Payaguá", 7156643, "sai-guc", "Latn", } m["sai-pyk"] = { "Pykobjê", 98113977, "sai-nje", "Latn", } m["sai-qmb"] = { "Quimbaya", 7272043, nil, "Latn", } m["sai-qtm"] = { "Quitemo", 7272651, "sai-cpc", "Latn", } m["sai-rab"] = { "Rabona", 6644203, nil, "Latn", } m["sai-ram"] = { "Ramanos", 16902824, nil, "Latn", } m["sai-sac"] = { "Sácata", 5390321, nil, "Latn", } m["sai-san"] = { "Sanaviron", 16895999, nil, "Latn", } m["sai-sap"] = { "Sapará", 7420922, "sai-car", "Latn", } m["sai-sec"] = { "Sechura", 7442912, nil, "Latn", } m["sai-sin"] = { "Sinúfana", 7525275, nil, "Latn", } m["sai-sje-pro"] = { "Proto-Southern Jê", 116773814, "sai-sje", "Latn", type = "reconstructed", } m["sai-tab"] = { "Tabancale", 5390321, nil, "Latn", } m["sai-tal"] = { "Tallán", 16910468, nil, "Latn", } m["sai-tap"] = { "Tapayuna", 30719984, "sai-nje", "Latn", } m["sai-tar-pro"] = { "Proto-Taranoan", 116773816, "sai-tar", "Latn", type = "reconstructed", } m["sai-teu"] = { "Teushen", 3519243, nil, "Latn", } m["sai-tim"] = { "Timote", 7806995, nil, "Latn", } m["sai-tpr"] = { "Taparita", 7684460, "sai-otm", "Latn", } m["sai-trr"] = { "Tarairiú", 7685313, nil, "Latn", } m["sai-wai"] = { "Waitaká", 16918610, nil, "Latn", } m["sai-way"] = { "Wayumara", 7960726, "sai-car", "Latn", } m["sai-wit-pro"] = { "Proto-Witotoan", 116773823, "sai-wit", "Latn", type = "reconstructed", } m["sai-wnm"] = { "Wanham", 16879440, "sai-cpc", "Latn", } m["sai-xoc"] = { -- contrast xoo, kzw, sai-kat "Xocó", 12953620, nil, "Latn", } m["sai-yao"] = { "Yao (South America)", 16979655, "sai-ven", "Latn", } m["sai-yar"] = { -- not the same family as 'suy' "Yarumá", 3505859, "sai-pek", "Latn", } m["sai-yri"] = { "Yuri", 2669157, "sai-tyu", "Latn", } m["sai-yup"] = { "Yupua", 8061430, "sai-tuc", "Latn", } m["sai-yur"] = { "Yurumanguí", 1281291, nil, "Latn", } m["sal-pro"] = { "Proto-Salish", 116773269, "sal", "Latn", type = "reconstructed", } m["sdv-daj-pro"] = { "Proto-Daju", 116773739, "sdv-daj", "Latn", type = "reconstructed", } m["sdv-eje-pro"] = { "Proto-Eastern Jebel", 116773751, "sdv-eje", "Latn", type = "reconstructed", } m["sdv-nil-pro"] = { "Proto-Nilotic", 116773794, "sdv-nil", "Latn", type = "reconstructed", } m["sdv-nyi-pro"] = { "Proto-Nyima", 116773796, "sdv-nyi", "Latn", type = "reconstructed", } m["sdv-tmn-pro"] = { "Proto-Taman", 116773815, "sdv-tmn", "Latn", type = "reconstructed", } m["sel-nor"] = { "Northern Selkup", 30304565, "sel", "Cyrl", translit = "sel-nor-translit", } m["sel-pro"] = { "Proto-Selkup", 128884235, "sel", "Latn", type = "reconstructed", } m["sel-sou"] = { "Southern Selkup", 30304639, "sel", "Cyrl", translit = "sel-sou-translit", } m["sem-amm"] = { "Ammonite", 279181, "sem-can", "Phnx", translit = "Phnx-translit", } m["sem-amo"] = { "Amorite", 35941, "sem-nwe", "Xsux, Latn", } m["sem-cha"] = { "Chaha", 35543, "sem-eth", "Ethi", translit = "Ethi-translit", } m["sem-dad"] = { "Dadanitic", 21838040, "sem-cen", "Narb", translit = "Narb-translit", } m["sem-dum"] = { "Dumaitic", 128810397, "sem-cen", "Narb", translit = "Narb-translit", } m["sem-has"] = { "Hasaitic", 3541433, "sem-cen", "Narb", translit = "Narb-translit", } m["sem-his"] = { "Hismaic", 22948260, "sem-cen", "Narb", translit = "Narb-translit", } m["sem-mhr"] = { "Muher", 33743, "sem-eth", "Latn", } m["sem-pro"] = { "셈조어", 1658554, "sem", "Latn", type = "reconstructed", } m["sem-saf"] = { "Safaitic", 472586, "sem-cen", "Narb", translit = "Narb-translit", } m["sem-srb"] = { "Old South Arabian", 35025, "sem-osa", "Sarb", translit = "Sarb-translit", } m["sem-tay"] = { "Taymanitic", 24912301, "sem-cen", "Narb", translit = "Narb-translit", } m["sem-tha"] = { "Thamudic", 843030, "sem-cen", "Narb", translit = "Narb-translit", } m["sem-wes-pro"] = { "Proto-West Semitic", 98021726, "sem-wes", "Latn", type = "reconstructed", } m["sio-pro"] = { -- NB this is not Proto-Siouan-Catawban 'nai-sca-pro' "Proto-Siouan", 34181, "sio", "Latn", type = "reconstructed", } m["sit-aao-pro"] = { "Proto-Central Naga", nil, "sit-aao", "Latn", type = "reconstructed", } m["sit-bai-pro"] = { "Proto-Bai", nil, "sit-bai", "Latn", type = "reconstructed", } m["sit-ban"] = { "Bangru", 56071779, "sit-hrs", "Latn", } m["sit-bdi-pro"] = { "Proto-Bodish", nil, "sit-bdi", "Latn", type = "reconstructed", } m["sit-bok"] = { "Bokar", 4938727, "sit-tan", "Latn, Tibt", translit = {Tibt = "Tibt-translit"}, override_translit = true, display_text = {Tibt = s["Tibt-displaytext"]}, entry_name = {Tibt = s["Tibt-entryname"]}, sort_key = {Tibt = "Tibt-sortkey"}, } m["sit-cai"] = { "Caijia", 5017528, "sit-cln", "Latn" } m["sit-cha"] = { "Chairel", 5068066, "sit-luu", "Latn", } m["sit-ers-pro"] = { "Proto-Ersuic", nil, "sit-ers", "Latn", type = "reconstructed", } m["sit-hrs-pro"] = { "Proto-Hrusish", 116773762, "sit-hrs", "Latn", type = "reconstructed", } m["sit-jap"] = { "Japhug", 3162245, "sit-egy", "Latn", } m["sit-kha-pro"] = { "Proto-Kham", 116773773, "sit-kha", "Latn", type = "reconstructed", } m["sit-khb-pro"] = { "Proto-Kho-Bwa", nil, "sit-khb", "Latn", type = "reconstructed", } m["sit-khp-pro"] = { "Proto-Puroik", nil, "sit-khb", "Latn", type = "reconstructed", } m["sit-khw-pro"] = { "Proto-Western Kho-Bwa", nil, "sit-khw", "Latn", type = "reconstructed", } m["sit-kon-pro"] = { "Proto-Northern Naga", nil, "sit-kon", "Latn", type = "reconstructed", } m["sit-liz"] = { "Lizu", 6660653, "sit-ers", "Latn", -- and Ersu Shaba } m["sit-lnj"] = { "Longjia", 17096251, "sit-cln", "Latn" } m["sit-lrn"] = { "Luren", 16946370, "sit-cln", "Latn" } m["sit-luu-pro"] = { "Proto-Luish", 116773783, "sit-luu", "Latn", type = "reconstructed", } m["sit-nas-pro"] = { "Proto-Naish", nil, "sit-nas", "Latn", type = "reconstructed", } m["sit-prn"] = { "Puiron", 7259048, "sit-zem", } m["sit-pro"] = { "Proto-Sino-Tibetan", 24839178, "sit", "Latn", type = "reconstructed", } m["sit-sit"] = { "Situ", 19840830, "sit-egy", "Latn", } m["sit-tam-pro"] = { "Proto-Tamangic", 117469295, "sit-tam", "Latn", type = "reconstructed", } m["sit-tan-pro"] = { "Proto-Tani", 116773284, "sit-tan", "Latn", -- needs verification type = "reconstructed", } m["sit-tgm"] = { "Tangam", 17041370, "sit-tan", "Latn", } m["sit-tng-pro"] = { "Proto-Tangkhulic", nil, "sit-tng", "Latn", type = "reconstructed" } m["sit-tos"] = { "Tosu", 7827899, "sit-ers", "Latn", -- also Ersu Shaba } m["sit-tsh"] = { "Tshobdun", 19840950, "sit-egy", "Latn", } m["sit-zbu"] = { "Zbu", 19841106, "sit-egy", "Latn", } m["sla-pro"] = { "슬라브조어", 747537, "sla", "Latn", type = "reconstructed", entry_name = { remove_diacritics = c.grave .. c.acute .. c.tilde .. c.macron .. c.dgrave .. c.invbreve, remove_exceptions = {'ś'}, }, sort_key = { from = {"č", "ď", "ě", "ę", "ь", "ľ", "ň", "ǫ", "ř", "š", "ś", "ť", "ъ", "ž"}, to = {"c²", "d²", "e²", "e³", "i²", "l²", "nj", "o²", "r²", "s²", "s³", "t²", "u²", "z²"}, } } m["smi-pro"] = { "Proto-Samic", 7251862, "smi", "Latn", type = "reconstructed", sort_key = { from = {"ā", "č", "δ", "[ëē]", "ŋ", "ń", "ō", "š", "θ", "%([^()]+%)"}, to = {"a", "c²", "d", "e", "n²", "n³", "o", "s²", "t²"} }, } m["son-pro"] = { "Proto-Songhay", 116773277, "son", "Latn", type = "reconstructed", } m["sqj-pro"] = { "Proto-Albanian", 18210846, "sqj", "Latn", type = "reconstructed", } m["ssa-klk-pro"] = { "Proto-Kuliak", 116773779, "ssa-klk", "Latn", type = "reconstructed", } m["ssa-kom-pro"] = { "Proto-Koman", 116773775, "ssa-kom", "Latn", type = "reconstructed", } m["ssa-pro"] = { "Proto-Nilo-Saharan", 116773236, "ssa", "Latn", type = "reconstructed", } m["syd-fne"] = { "Forest Nenets", 1295107, "syd", "Cyrl", translit = "syd-fne-translit", entry_name = {remove_diacritics = c.grave .. c.acute .. c.macron .. c.breve .. c.dotabove}, } m["syd-pro"] = { "Proto-Samoyedic", 7251863, "syd", "Latn", type = "reconstructed", } m["tai-pro"] = { "따이조어", 6583709, "tai", "Latn", type = "reconstructed", } m["tai-swe-pro"] = { "Proto-Southwestern Tai", 116773280, "tai-swe", "Latn", type = "reconstructed", } m["tbq-bdg-pro"] = { "Proto-Bodo-Garo", 116773195, "tbq-bdg", "Latn", type = "reconstructed", } m["tbq-blg"] = { "Bailang", 2879843, "tbq-lob", "Hani", sort_key = "Hani-sortkey", } m["tbq-brm-pro"] = { "Proto-Burmish", nil, "tbq-brm", "Latn", type = "reconstructed", } m["tbq-gkh"] = { "Gokhy", 5578069, "tbq-sil", "Latn", } m["tbq-kuk-pro"] = { "Proto-Kuki-Chin", 116773220, "tbq-kuk", "Latn", type = "reconstructed", } m["tbq-lal-pro"] = { "Proto-Lalo", 116773781, "tbq-lal", "Latn", type = "reconstructed", } m["tbq-laz"] = { "Laze", 17007626, "sit-nas", "Latn", } m["tbq-lob-pro"] = { "Proto-Lolo-Burmese", 116773224, "tbq-lob", "Latn", type = "reconstructed", } m["tbq-lol-pro"] = { "Proto-Loloish", 7251855, "tbq-lol", "Latn", type = "reconstructed", } m["tbq-mil"] = { "Milang", 6850761, "sit-gsi", "Deva, Latn", } m["tbq-mor"] = { "Moran", 6909216, "tbq-bdg", "Latn", } m["tbq-ngo"] = { "Ngochang", 56582, "tbq-brm", "Latn", } -- tbq-pro is now etymology-only m["trk-dkh"] = { "Dukhan", 12809273, "trk-ssb", "Latn, Cyrl, Mong", translit = {Mong = "Mong-translit"}, display_text = {Mong = s["Mong-displaytext"]}, entry_name = {Mong = s["Mong-entryname"]}, } -- As described in Mahmud al-Kashgari's 11th century ''Dīwān Lughāt al-Turk''. m["trk-eog"] = { "Early Old Oghuz", nil, "trk-ogz", "ota-Arab", entry_name = {["ota-Arab"] = "ar-entryname"}, } m["trk-oat"] = { "Old Anatolian Turkish", 7083390, "trk-ogz", "ota-Arab", entry_name = {["ota-Arab"] = "ar-entryname"}, ancestors = "trk-eog", } m["trk-pro"] = { "Proto-Turkic", 3657773, "trk", "Latn", type = "reconstructed", standardChars = { Latn = " ()-abdegiklmnoprstuxyzïöüāčēīĺŋōŕšūǖȫẹ" .. c.macron, } } m["tup-gua-pro"] = { "Proto-Tupi-Guarani", 116773288, "tup-gua", "Latn", type = "reconstructed", } m["tup-kab"] = { "Kabishiana", 15302988, "tup", "Latn", } m["tup-pro"] = { "Proto-Tupian", 10354700, "tup", "Latn", type = "reconstructed", } m["tuw-alk"] = { "Alchuka", 113553616, "tuw-jrc", "Latn, Hans", sort_key = {Hans = "Hani-sortkey"}, } m["tuw-bal"] = { "Bala", 86730632, "tuw-jrc", "Latn, Hans", sort_key = {Hans = "Hani-sortkey"}, } m["tuw-kkl"] = { "Kyakala", 118875708, "tuw-jrc", "Latn, Hans", sort_key = {Hans = "Hani-sortkey"}, } m["tuw-kli"] = { "Kili", 6406892, "tuw-ewe", "Cyrl", } m["tuw-pro"] = { "퉁구스조어", 85872335, "tuw", "Latn", type = "reconstructed", } m["tuw-sol"] = { "Solon", 30004, "tuw-ewe", } m["urj-fin-pro"] = { "Proto-Finnic", 11883720, "urj-fin", "Latn", type = "reconstructed", } m["urj-koo"] = { "Old Komi", 86679962, "urj-prm", "Perm, Cyrs", translit = "urj-koo-translit", sort_key = {Cyrs = s["Cyrs-sortkey"]}, } m["urj-kuk"] = { "Kukkuzi", 107410460, "urj-fin", "Latn", ancestors = "vot", } m["urj-kya"] = { "코미야즈바어", 2365210, "urj-prm", "Cyrl", translit = "kv-translit", override_translit = true, entry_name = {remove_diacritics = c.acute}, } m["urj-mdv-pro"] = { "모르드바조어", 116773232, "urj-mdv", "Latn", type = "reconstructed", } m["urj-prm-pro"] = { "페름조어", 116773257, "urj-prm", "Latn", type = "reconstructed", } m["urj-pro"] = { "우랄조어", 288765, "urj", "Latn", type = "reconstructed", } m["urj-ugr-pro"] = { "Proto-Ugric", 156631, "urj-ugr", "Latn", type = "reconstructed", } m["xnd-pro"] = { "Proto-Na-Dene", 116773233, "xnd", "Latn", type = "reconstructed", } m["xgn-pro"] = { "Proto-Mongolic", 2493677, "xgn", "Latn", type = "reconstructed", sort_key = { from = {"č", "i", "ï", "ǰ", "ŋ", "ö", "š", "ü"}, to = {"c", "i" .. p[1], "i", "j", "n" .. p[1], "o" .. p[1], "s" .. p[1], "u" .. p[1]}, }, } m["yok-bvy"] = { "Buena Vista Yokuts", 4985474, "yok", "Latn", } m["yok-dly"] = { "Delta Yokuts", 70923266, "yok", "Latn", } m["yok-gsy"] = { "Gashowu", 3098708, "yok", "Latn", } m["yok-kry"] = { "Kings River Yokuts", 6413014, "yok", "Latn", } m["yok-nvy"] = { "Northern Valley Yokuts", 85789777, "yok", "Latn", } m["yok-ply"] = { "Palewyami", 2387391, "yok", "Latn", } m["yok-svy"] = { "Southern Valley Yokuts", 12642473, "yok", "Latn", } m["yok-tky"] = { "Tule-Kaweah Yokuts", 7851988, "yok", "Latn", } m["ypk-pro"] = { "Proto-Yupik", 116773295, "ypk", "Latn", type = "reconstructed", } m["zhx-min-pro"] = { "Proto-Min", 19646347, "zhx-min", "Latn", type = "reconstructed", } m["zhx-sht"] = { "Shaozhou Tuhua", 1920769, "zhx", "Nshu, Hants", generate_forms = "zh-generateforms", sort_key = {Hani = "Hani-sortkey"}, } m["zhx-sic"] = { "Sichuanese", 2278732, "zhx-man", "Hants", generate_forms = "zh-generateforms", translit = "zh-translit", sort_key = "Hani-sortkey", } m["zhx-tai"] = { "Taishanese", 2208940, "zhx-yue", "Hants", generate_forms = "zh-generateforms", translit = "zh-translit", sort_key = "Hani-sortkey", } m["zle-ono"] = { "Old Novgorodian", 162013, "zle", "Cyrs, Glag", translit = {Cyrs = "Cyrs-translit", Glag = "Glag-translit"}, entry_name = {Cyrs = s["Cyrs-entryname"]}, sort_key = {Cyrs = s["Cyrs-sortkey"]}, } m["zle-ort"] = { "Old Ruthenian", 13211, "zle", "Arab, Cyrs, Latn", ancestors = "orv", translit = "zle-ort-translit", entry_name = { remove_diacritics = s["Cyrs-entryname"].remove_diacritics, remove_exceptions = {"Ї", "ї"} }, sort_key = s["Cyrs-sortkey"], } m["zls-chs"] = { "Church Slavonic", 33251, "zls", "Cyrs, Glag, Latn", ancestors = "cu", translit = { Cyrs = "Cyrs-translit", Glag = "Glag-translit" }, entry_name = { Cyrs = s["Cyrs-entryname"] }, sort_key = { Cyrs = s["Cyrs-sortkey"] }, } m["zlw-ocs"] = { "Old Czech", 593096, "zlw", "Latn", } m["zlw-opl"] = { "고대 폴란드어", 149838, "zlw-lch", "Latn", entry_name = {remove_diacritics = c.ringabove}, } m["zlw-osk"] = { "Old Slovak", 12776676, "zlw", "Latn", } m["zlw-slv"] = { "Slovincian", 36822, "zlw-pom", "Latn", entry_name = "zlw-slv-entryname" } return require("Module:languages").finalizeData(m, "language") m3up37k9h6vtr8yf8d9vsgoo9hxz6l3 모듈:languages/data/3/t 828 446681 4486448 4484051 2026-09-08T08:56:41Z Apisite 21408 4486448 Scribunto text/plain local m_langdata = require("Module:languages/data") -- Loaded on demand, as it may not be needed (depending on the data). local function u(...) u = require("Module:string utilities").char return u(...) end local c = m_langdata.chars local p = m_langdata.puaChars local s = m_langdata.shared local m = {} m["taa"] = { "Lower Tanana", 28565, "ath-nor", "Latn", } m["tab"] = { "Tabasaran", 34079, "cau-esm", "Cyrl, Latn, Arab", translit = { Cyrl = "tab-translit", }, override_translit = true, display_text = { Cyrl = s["cau-Cyrl-displaytext"] }, entry_name = { Cyrl = s["cau-Cyrl-entryname"], Latn = s["cau-Latn-entryname"], }, sort_key = { Cyrl = "tab-sortkey", } } m["tac"] = { "Lowland Tarahumara", 15616384, "azc-trc", "Latn", } m["tad"] = { "Tause", 2356440, "paa-lkp", "Latn", } m["tae"] = { "Tariana", 732726, "awd-nwk", "Latn", } m["taf"] = { "Tapirapé", 7684673, "tup-gua", "Latn", } m["tag"] = { "Tagoi", 36537, "nic-ras", "Latn", } m["taj"] = { "Eastern Tamang", 12953177, "sit-tam", "sit-tam-Tibt, Deva", display_text = { ["sit-tam-Tibt"] = s["Tibt-displaytext"] }, entry_name = { ["sit-tam-Tibt"] = s["Tibt-entryname"] }, } m["tak"] = { "Tala", 3914494, "cdc-wst", "Latn", } m["tal"] = { "Tal", 3440387, "cdc-wst", "Latn", } m["tan"] = { "Tangale", 529921, "cdc-wst", "Latn", } m["tao"] = { "Yami", 715760, "phi", "Latn", } m["tap"] = { "Taabwa", 7673650, "bnt-sbi", "Latn", } m["tar"] = { "Central Tarahumara", 20090009, "azc-trc", "Latn", sort_key = {remove_diacritics = c.acute .. "ꞌ"}, } m["tas"] = { "Tây Bồi", 2233794, "crp", "Latn", ancestors = "fr", sort_key = s["roa-oil-sortkey"], } m["tau"] = { "Upper Tanana", 28281, "ath-nor", "Latn", } m["tav"] = { "Tatuyo", 2524007, "sai-tuc", "Latn", } m["taw"] = { "Tai", 7675861, "ngf-mad", "Latn", } m["tax"] = { "Tamki", 3449082, "cdc-est", "Latn", } m["tay"] = { "아타얄어", 715766, "map-ata", "Latn", } m["taz"] = { "Tocho", 36680, "alv-tal", "Latn", } m["tba"] = { "Aikanã", 3409307, "qfa-iso", "Latn", } m["tbb"] = { "Tapeba", 12953908, } m["tbc"] = { "Takia", 3514336, "poz-oce", "Latn", } m["tbd"] = { "Kaki Ae", 6349417, "poz-ocw", "Latn", } m["tbe"] = { "Tanimbili", 3515188, "poz-tem", "Latn", } m["tbf"] = { "Mandara", 3285424, "poz-ocw", "Latn", } m["tbg"] = { "North Tairora", 20210398, "paa-kag", } m["tbh"] = { "Thurawal", 3537135, "aus-yuk", } m["tbi"] = { "Gaam", 35338, "sdv-eje", "Latn", } m["tbj"] = { "Tiang", 3528020, "poz-ocw", "Latn", } m["tbk"] = { "Calamian Tagbanwa", 3915487, "phi-kal", "Tagb, Latn", } m["tbl"] = { "Tboli", 7690594, "phi", "Latn", } m["tbm"] = { "Tagbu", 7675188, "nic-ser", } m["tbn"] = { "Barro Negro Tunebo", 12953943, "cba", } m["tbo"] = { "Tawala", 7689206, "poz-ocw", "Latn", } m["tbp"] = { "Taworta", 7689337, "paa-lkp", "Latn", } m["tbr"] = { "Tumtum", 3407029, "qfa-kad", } m["tbs"] = { "Tanguat", 7683166, "paa", "Latn", } m["tbt"] = { "Kitembo", 13123561, "bnt-shh", "Latn", } m["tbu"] = { "Tubar", 56730, "azc-trc", "Latn", } m["tbv"] = { "Tobo", 7811712, "ngf", } m["tbw"] = { "Tagbanwa", 3915475, "phi", "Latn", } m["tbx"] = { "Kapin", 6366665, "poz-ocw", "Latn", } m["tby"] = { "Tabaru", 11732670, "paa-nha", "Latn", } m["tbz"] = { "Ditammari", 35186, "nic-eov", } m["tca"] = { "Ticuna", 1815205, "sai-tyu", "Latn", } m["tcb"] = { "Tanacross", 28268, "ath-nor", "Latn", } m["tcc"] = { "Datooga", 35327, "sdv-nis", "Latn", } m["tcd"] = { "Tafi", 36545, "alv-ktg", } m["tce"] = { "Southern Tutchone", 31091048, "ath-nor", "Latn", } m["tcf"] = { "Malinaltepec Tlapanec", 25559732, "omq", "Latn", } m["tcg"] = { "Tamagario", 7680531, "ngf", } m["tch"] = { "Turks and Caicos Creole English", 7855478, "crp", "Latn", ancestors = "en", } m["tci"] = { "Wára", 20825638, "paa-yam", } m["tck"] = { "Tchitchege", 36595, "bnt-tek", } m["tcl"] = { "Taman (Myanmar)", 15616518, "sit-jnp", "Latn", } m["tcm"] = { "Tanahmerah", 3514927, "ngf", } m["tco"] = { "Taungyo", 12953186, "tbq-brm", ancestors = "obr", } m["tcp"] = { "Tawr Chin", 7689338, "tbq-kuk", } m["tcq"] = { "Kaiy", 6348709, "paa-lkp", } m["tcs"] = { "Torres Strait Creole", 36648, "crp", "Latn", ancestors = "en", } m["tct"] = { "T'en", 3442330, "qfa-kms", } m["tcu"] = { "Southeastern Tarahumara", 36807, "azc-trc", "Latn", } m["tcw"] = { "Tecpatlán Totonac", 7692795, "nai-ttn", "Latn", } m["tcx"] = { "Toda", 34042, "dra-tkt", "Taml", --translit = {Taml = "Taml-translit"}, } m["tcy"] = { "Tulu", 34251, "dra-tlk", "Tutg, Mlym, Knda", -- Mlym is nearer than Knda but both lack ɛ/ɛː. translit = { Knda = "kn-translit", Mlym = "ml-translit", Tutg = "tcy-Tutg-translit", }, } m["tcz"] = { "Thado Chin", 6583558, "tbq-kuk", } m["tda"] = { "Tagdal", 36570, "son", } m["tdb"] = { "Panchpargania", 21946879, "inc-eas", "Deva, as-Beng, Orya, Chis", ancestors = "bh", } m["tdc"] = { "Emberá-Tadó", 3052041, "sai-chc", "Latn", } m["tdd"] = { "따이느아어", 36556, "tai-swe", "Tale", translit = "Tale-translit", entry_name = {remove_diacritics = c.ZWNJ .. c.ZWJ}, } m["tde"] = { "Tiranige Diga Dogon", 5313387, "nic-dgw", } m["tdf"] = { "Talieng", 37525108, "mkh-ban", } m["tdg"] = { "Western Tamang", 12953178, "sit-tam", "sit-tam-Tibt, Deva", display_text = { ["sit-tam-Tibt"] = s["Tibt-displaytext"] }, entry_name = { ["sit-tam-Tibt"] = s["Tibt-entryname"] }, } m["tdh"] = { "Thulung", 56553, "sit-kiw", } m["tdi"] = { "Tomadino", 7818197, "poz-btk", "Latn", } m["tdj"] = { "Tajio", 7676870, "poz", "Latn", } m["tdk"] = { "Tambas", 3440392, "cdc-wst", } m["tdl"] = { "Sur", 3914453, "nic-tar", } m["tdm"] = { "Taruma", 5559094, } m["tdn"] = { "Tondano", 3531514, "phi", "Latn", } m["tdo"] = { "Teme", 3913994, "alv-mye", } m["tdq"] = { "Tita", 3914899, "nic-bco", } m["tdr"] = { "Todrah", 7812881, "mkh", } m["tds"] = { "Doutai", 5302331, "paa-lkp", "Latn", } m["tdt"] = { "Tetun Dili", 12643484, "poz-tim", "Latn", } m["tdu"] = { "Tempasuk Dusun", 3529155, "poz-san", } m["tdv"] = { "Toro", 3438367, "nic-alu", "Latn", } m["tdy"] = { "Tadyawan", 7674700, "phi", "Latn", } m["tea"] = { "Temiar", 3914693, "mkh-asl", "Latn", } m["teb"] = { "Tetete", 7706087, "sai-tuc", "Latn", } m["tec"] = { "Terik", 3518379, "sdv-nma", } m["ted"] = { "Tepo Krumen", 11152243, "kro-grb", } m["tee"] = { "Huehuetla Tepehua", 56455, "nai-ttn", "Latn", } m["tef"] = { "Teressa", 3518362, "aav-nic", } m["teg"] = { "Teke-Tege", 36478, "bnt-tek", } m["teh"] = { "Tehuelche", 33930, "sai-cho", "Latn", } m["tei"] = { "Torricelli", 3450788, "qfa-tor", "Latn", } m["tek"] = { "Ibali Teke", 2802914, "bnt-tek", } m["tem"] = { "Temne", 36613, "alv-mel", "Latn", } m["ten"] = { "Tama (Colombia)", 3832969, "sai-tuc", "Latn", } m["teo"] = { "Ateso", 29474, "sdv-ttu", "Latn", } m["tep"] = { "Tepecano", 3915525, "azc-pim", "Latn", } m["teq"] = { "Temein", 7698064, "sdv", } m["ter"] = { "Tereno", 3314742, "awd", "Latn", } m["tes"] = { "Tengger", 12473479, "poz", "Latn, Java", } m["tet"] = { "Tetum", 34125, "poz-tim", "Latn", } m["teu"] = { "Soo", 3437607, "ssa-klk", } m["tev"] = { "Teor", 12953198, "poz-cma", } m["tew"] = { "Tewa", 56492, "nai-kta", "Latn", } m["tex"] = { "Tennet", 56346, "sdv", } m["tey"] = { "Tulishi", 12911106, "qfa-kad", "Latn", } m["tez"] = { "Tetserret", 7706841, "ber", "Latn", } m["tfi"] = { "Tofin Gbe", 3530330, "alv-pph", } m["tfn"] = { "Dena'ina", 27785, "ath-nor", "Latn", } m["tfo"] = { "Tefaro", 7694618, "paa-egb", "Latn", } m["tfr"] = { "Teribe", 36533, "cba", "Latn", } m["tft"] = { "Ternate", 3518492, "paa-nha", "Latn, Arab", } m["tga"] = { "Sagalla", 12953082, "bnt-cht", } m["tgb"] = { "Tobilung", 12953913, "poz-san", "Latn", } m["tgc"] = { "Tigak", 3528276, "poz-ocw", "Latn", } m["tgd"] = { "Ciwogai", 3438799, "cdc-wst", "Latn", } m["tge"] = { "Eastern Gorkha Tamang", 12953175, "sit-tam", "sit-tam-Tibt, Deva", display_text = { ["sit-tam-Tibt"] = s["Tibt-displaytext"] }, entry_name = { ["sit-tam-Tibt"] = s["Tibt-entryname"] }, } m["tgf"] = { "Chali", 3695197, "sit-ebo", "Tibt, Latn", translit = { Tibt = "Tibt-translit" }, override_translit = true, display_text = { Tibt = s["Tibt-displaytext"] }, entry_name = { Tibt = s["Tibt-entryname"] }, sort_key = { Tibt = "Tibt-sortkey" }, } m["tgh"] = { "Tobagonian Creole English", 7811541, "crp", ancestors = "en", } m["tgi"] = { "Lawunuia", 3219937, "poz-ocw", } m["tgn"] = { "Tandaganon", 63311769, "phi", "Latn", } m["tgo"] = { "Sudest", 7675351, "poz-ocw", } m["tgp"] = { "Tangoa", 2410276, "poz-vnn", "Latn", } m["tgq"] = { "Tring", 7842360, "poz-swa", } m["tgr"] = { "Tareng", 25559541, "mkh", } m["tgs"] = { "Nume", 3346290, "poz-vnn", "Latn", } m["tgt"] = { "Central Tagbanwa", 3915515, "phi", "Tagb", } m["tgu"] = { "Tanggu", 7682930, "paa", "Latn", } m["tgv"] = { "Tingui-Boto", 7808195, "sai-mje", "Latn", } m["tgw"] = { "Tagwana Senoufo", 36514, "alv-tdj", } m["tgx"] = { "Tagish", 28064, "ath-nor", "Latn", } m["tgy"] = { "Togoyo", 36825, "nic-ser", } m["thc"] = { "Tai Hang Tong", 7675753, "tai-nor", } m["thd"] = { "Kuuk Thaayorre", 6448718, "aus-pmn", "Latn", } m["the"] = { "Chitwania Tharu", 22083804, "inc-tha", "Deva", } m["thf"] = { "Thangmi", 7710314, "sit-new", } m["thh"] = { "Northern Tarahumara", 15616395, "azc-trc", "Latn", } m["thi"] = { "Tai Long", 25559562, "tai-swe", } m["thk"] = { "Tharaka", 15407179, "bnt-kka", } m["thl"] = { "Dangaura Tharu", 22083815, "inc-tha", "Deva", } m["thm"] = { "Thavung", 34780, "mkh-vie", "Thai", --Laoo is feasible but no evidence yet. sort_key = "Thai-sortkey", } m["thn"] = { "Thachanadan", 7708880, "dra-mal", } m["thp"] = { "Thompson", 1755054, "sal", "Latn, Dupl", } m["thq"] = { "Kochila Tharu", 22083826, "inc-tha", } m["thr"] = { "Rana Tharu", 12953920, "inc-tha", "Deva", } m["ths"] = { "Thakali", 7709348, "sit-tam", } m["tht"] = { "Tahltan", 30125, "ath-nor", "Latn", } m["thu"] = { "Thuri", 7799291, "sdv-lon", } m["thy"] = { "Tha", 3915849, "alv-bwj", } m["tic"] = { "Tira", 36677, "alv-hei", } m["tif"] = { "Tifal", 11732691, "ngf-okk", } m["tig"] = { "티그레어", 34129, "sem-eth", "Ethi", translit = "Ethi-translit", } m["tih"] = { "Timugon Murut", 7807680, "poz-san", "Latn", } m["tii"] = { "Tiene", 36469, "bnt-tek", } m["tij"] = { "Tilung", 7803037, "sit-kiw", } m["tik"] = { "Tikar", 36483, "nic-bdn", "Latn", } m["til"] = { "Tillamook", 2109432, "sal", "Latn", } m["tim"] = { "Timbe", 7804599, "ngf", } m["tin"] = { "Tindi", 36860, "cau-and", "Cyrl", display_text = s["cau-Cyrl-displaytext"], entry_name = s["cau-Cyrl-entryname"], } m["tio"] = { "Teop", 3518239, "poz-ocw", "Latn", } m["tip"] = { "Trimuris", 7842270, "paa-tkw", } m["tiq"] = { "Tiéfo", 3914874, "alv-sav", } m["tis"] = { "Masadiit Itneg", 18748769, "phi", } m["tit"] = { "Tinigua", 3029805, } m["tiu"] = { "Adasen", 11214797, "phi", } m["tiv"] = { "Tiv", 34131, "nic-tvc", "Latn", } m["tiw"] = { "Tiwi", 1656014, "qfa-iso", "Latn", } m["tix"] = { "Southern Tiwa", 7570552, "nai-kta", "Latn", } m["tiy"] = { "Tiruray", 7809425, "phi", "Latn", } m["tiz"] = { "Tai Hongjin", 3915716, "tai-swe", } m["tja"] = { "Tajuasohn", 3915326, "kro-wkr", } m["tjg"] = { "Tunjung", 3542117, "poz", "Latn", } m["tji"] = { "Northern Tujia", 12953229, "sit-tja", "Latn", } m["tjl"] = { "Tai Laing", 7675773, "tai-swe", "Mymr", } m["tjm"] = { "Timucua", 638300, "qfa-iso", "Latn", } m["tjn"] = { "Tonjon", 3913372, "dmn-jje", } m["tjs"] = { "Southern Tujia", 12633994, "sit-tja", "Latn", } m["tju"] = { "Tjurruru", 3913834, "aus-nga", "Latn", } m["tjw"] = { "Chaap Wuurong", 5285187, "aus-pam", "Latn", } m["tka"] = { "Truká", 7847648, } m["tkb"] = { "Buksa", 20983638, "inc-eas", "Deva", } m["tkd"] = { "Tukudede", 36863, "poz-tim", "Latn", } m["tke"] = { "Takwane", 11030092, "bnt-mak", "Latn", ancestors = "vmw", } m["tkf"] = { "Tukumanféd", 42330115, "tup-gua", "Latn", } m["tkl"] = { "Tokelauan", 34097, "poz-pnp", "Latn", } m["tkm"] = { "Takelma", 56710, } m["tkn"] = { "Tokunoshima", 3530484, "jpx-nry", "Jpan", translit = s["jpx-translit"], display_text = s["jpx-displaytext"], entry_name = s["jpx-entryname"], sort_key = s["jpx-sortkey"], } m["tkp"] = { "Tikopia", 36682, "poz-pnp", "Latn", } m["tkq"] = { "Tee", 3075144, "nic-ogo", "Latn", } m["tkr"] = { "Tsakhur", 36853, "cau-wsm", "Cyrl, Latn, Arab", translit = "tkr-translit", override_translit = true, display_text = { Cyrl = s["cau-Cyrl-displaytext"] }, entry_name = { Cyrl = s["cau-Cyrl-entryname"], Latn = s["cau-Latn-entryname"], }, } m["tks"] = { "Ramandi", 25261947, "xme-ttc", "Arab", ancestors = "xme-ttc-sou", } m["tkt"] = { "Kathoriya Tharu", 22083822, "inc-tha", } m["tku"] = { "Upper Necaxa Totonac", 56343, "nai-ttn", "Latn", } m["tkv"] = { "Mur Pano", 16939373, "poz-ocw", "Latn", } m["tkw"] = { "Teanu", 3516731, "poz-tem", "Latn", } m["tkx"] = { "Tangko", 7682993, "ngf-okk", } m["tkz"] = { "Takua", 7678544, "mkh", } m["tla"] = { "Southwestern Tepehuan", 3518245, "azc-pim", "Latn", } m["tlb"] = { "Tobelo", 1142333, "paa-nha", "Latn", } m["tlc"] = { "Misantla Totonac", 56460, "nai-ttn", "Latn", } m["tld"] = { "Talaud", 7678964, "phi", "Latn", } m["tlf"] = { "Telefol", 7696150, "ngf-okk", } m["tlg"] = { "Tofanma", 4461493, "paa-pau", } m["tlh"] = { "Klingon", 10134, "art", "Latn", type = "appendix-constructed", } m["tli"] = { "Tlingit", 27792, "xnd", "Latn, Cyrl", } m["tlj"] = { "Talinga-Bwisi", 7679530, "bnt-haj", } m["tlk"] = { "Taloki", 3514563, "poz-btk", } m["tll"] = { "Tetela", 2613465, "bnt-tet", } m["tlm"] = { "Tolomako", 3130514, "poz-vnn", "Latn", } m["tln"] = { "Talondo'", 7680293, "poz-ssw", } m["tlo"] = { "Talodi", 36525, "alv-tal", } m["tlp"] = { "Filomena Mata-Coahuitlán Totonac", 5449202, "nai-ttn", "Latn", } m["tlq"] = { "Tai Loi", 7675784, "mkh-pal", } m["tlr"] = { "Talise", 3514510, "poz-sls", "Latn", } m["tls"] = { "Tambotalo", 7681065, "poz-vnn", "Latn", } m["tlt"] = { "Teluti", 12953194, "poz-cma", } m["tlu"] = { "Tulehu", 7852006, "poz-cma", } m["tlv"] = { "Taliabu", 3514498, "poz-cma", "Latn", } m["tlx"] = { "Khehek", 3196124, "poz-aay", } m["tly"] = { "Talysh", 34318, "xme-ttc", "Latn, Cyrl, fa-Arab", } m["tma"] = { "Tama (Chad)", 57001, "sdv-tmn", } m["tmb"] = { "Avava", 2157461, "poz-vnc", "Latn", } m["tmc"] = { "Tumak", 3121045, "cdc-est", } m["tmd"] = { "Haruai", 12632146, "ngf-mad", "Latn", } m["tme"] = { "Tremembé", 5246937, } m["tmf"] = { "Toba-Maskoy", 3033544, "sai-mas", "Latn", } m["tmg"] = { "Ternateño", 7232597, } m["tmh"] = { "Tuareg", 34065, "ber", "Latn, Tfng, Arab", entry_name = { Latn = {remove_diacritics = c.grave .. c.acute .. c.circ}, }, } m["tmi"] = { "Tutuba", 7857052, "poz-vnn", "Latn", } m["tmj"] = { "Samarokena", 7408865, "paa-tkw", } m["tmk"] = { "Northwestern Tamang", 15616509, "sit-tam", "sit-tam-Tibt, Deva", display_text = { ["sit-tam-Tibt"] = s["Tibt-displaytext"] }, entry_name = { ["sit-tam-Tibt"] = s["Tibt-entryname"] }, } m["tml"] = { "Tamnim Citak", 12643315, "ngf", } m["tmm"] = { "Tai Thanh", 7675842, "tai-swe", } m["tmn"] = { "Taman (Indonesia)", 7680671, "poz", "Latn", } m["tmo"] = { "Temoq", 7698205, "mkh-asl", } m["tmq"] = { "Tumleo", 7852641, "poz-ocw", } m["tms"] = { "Tima", 36684, "nic-ktl", } m["tmt"] = { "Tasmate", 7687571, "poz-vnn", "Latn", } m["tmu"] = { "Iau", 56867, "paa-lkp", "Latn", } m["tmv"] = { "Motembo", 11013108, "bnt-bun", } m["tmy"] = { "Tami", 3514812, "poz-oce", } m["tmz"] = { "Tamanaku", 3441435, "sai-ven", "Latn", } m["tna"] = { "Tacana", 3182551, "sai-tac", "Latn", } m["tnb"] = { "Western Tunebo", 3181238, "cba", } m["tnc"] = { "Tanimuca-Retuarã", 36535, "sai-tuc", "Latn", } m["tnd"] = { "Angosturas Tunebo", 25559604, "cba", } m["tne"] = { "Tinoc Kallahan", 3192219, } m["tng"] = { "Tobanga", 3440501, "cdc-est", } m["tnh"] = { "Maiani", 6735243, "ngf-mad", "Latn", } m["tni"] = { "Tandia", 7682454, "poz-hce", "Latn", } m["tnk"] = { "Kwamera", 3200806, "poz-vns", "Latn", } m["tnl"] = { "Lenakel", 3229429, "poz-vns", "Latn", } m["tnm"] = { "Tabla", 7673105, "paa-sen", } m["tnn"] = { "North Tanna", 957945, "poz-vns", "Latn", } m["tno"] = { "Toromono", 510544, "sai-tac", "Latn", } m["tnp"] = { "Whitesands", 3063761, "poz-vns", "Latn", } m["tnq"] = { "Taíno", 5232952, "awd-taa", "Latn", } m["tnr"] = { "Bedik", 35096, "alv-ten", "Latn", } m["tns"] = { "Tenis", 7699870, "poz-stm", "Latn", } m["tnt"] = { "Tontemboan", 3531666, "phi", "Latn", } m["tnu"] = { "Tay Khang", 6362363, "tai", } m["tnv"] = { "Tanchangya", 7682361, "inc-bas", "Cakm", ancestors = "inc-obn", } m["tnw"] = { "Tonsawang", 3531660, "phi", "Latn", } m["tnx"] = { "Tanema", 2106984, "poz-tem", "Latn", } m["tny"] = { "Tongwe", 7821200, "bnt", } m["tnz"] = { "Ten'edn", 3073453, "mkh-asl", "Latn", } m["tob"] = { "Toba", 3113756, "sai-guc", "Latn", } m["toc"] = { "Coyutla Totonac", 15615591, "nai-ttn", "Latn", } m["tod"] = { "Toma", 11055484, "dmn-msw", "Latn, Loma" } m["tof"] = { "Gizrra", 5565941, } m["tog"] = { "Tonga (Malawi)", 3847648, "bnt-nys", "Latn", } m["toh"] = { "Tonga (Mozambique)", 7820988, "bnt-bso", } m["toi"] = { "Tonga (Zambia)", 34101, "bnt-bot", "Latn", } m["toj"] = { "Tojolabal", 36762, "myn", "Latn", } m["tok"] = { "Toki Pona", 36846, "art", "Latn", type = "appendix-constructed", } m["tol"] = { "Tolowa", 20827, "ath-pco", "Latn", } m["tom"] = { "Tombulu", 3531199, "phi", "Latn", } m["too"] = { "Xicotepec de Juárez Totonac", 8044353, "nai-ttn", "Latn", } m["top"] = { "Papantla Totonac", 56329, "nai-ttn", "Latn", } m["toq"] = { "Toposa", 3033588, "sdv-ttu", } m["tor"] = { "Togbo-Vara Banda", 11002922, "bad-cnt", } m["tos"] = { "Highland Totonac", 13154149, "nai-ttn", "Latn", } m["tou"] = { "Tho", 22694631, "mkh-vie", "Latn", } m["tov"] = { "Upper Taromi", 12953183, "xme-ttc", ancestors = "xme-ttc-cen", } m["tow"] = { "Jemez", 3912876, "nai-kta", "Latn", } m["tox"] = { "Tobian", 34022, "poz-mic", } m["toy"] = { "Topoiyo", 7824977, "poz-kal", } m["toz"] = { "To", 7811216, "alv-mbm", } m["tpa"] = { "Taupota", 7688832, "poz-ocw", } m["tpc"] = { "Azoyú Me'phaa", 25559730, "omq", "Latn", } m["tpe"] = { "Tippera", 16115423, "tbq-bdg", } m["tpf"] = { "Tarpia", 12953185, "poz-ocw", "Latn", } m["tpg"] = { "Kula", 6442714, "qfa-tap", } m["tpi"] = { "Tok Pisin", 34159, "crp", "Latn", ancestors = "en", } m["tpj"] = { "Tapieté", 3121063, } m["tpk"] = { "Tupinikin", 33924, "tup-gua", } m["tpl"] = { "Tlacoapa Me'phaa", 16115511, "omq", } m["tpm"] = { "Tampulma", 36590, "nic-gnw", } m["tpn"] = { "Tupinambá", 31528147, "tup-gua", "Latn", } m["tpo"] = { "Tai Pao", 7675795, "tai-nor", } m["tpp"] = { "Pisaflores Tepehua", 56349, "nai-ttn", } m["tpq"] = { "Tukpa", 12953230, "sit-las", } m["tpr"] = { "Tuparí", 3542217, "tup", "Latn", } m["tpt"] = { "Tlachichilco Tepehua", 56330, "nai-ttn", } m["tpu"] = { "Tampuan", 3514882, "mkh-ban", "Khmr", } m["tpv"] = { "Tanapag", 3397371, "poz-mic", } m["tpw"] = { "Old Tupi", 56944, "tup-gua", "Latn", } m["tpx"] = { "Acatepec Me'phaa", 31157882, "omq", "Latn", } m["tpy"] = { "Trumai", 12294279, "qfa-iso", } m["tpz"] = { "Tinputz", 3529205, "poz-ocw", } m["tqb"] = { "Tembé", 10322157, "tup-gua", "Latn", } m["tql"] = { "Lehali", 3229119, "poz-vnn", "Latn", } m["tqm"] = { "Turumsa", 7856508, "paa", } m["tqn"] = { "Tenino", 15699255, "nai-shp", "Latn", ancestors = "nai-spt", } m["tqo"] = { "Toaripi", 7811403, "ngf", } m["tqp"] = { "Tomoip", 3531388, "poz-ocw", } m["tqq"] = { "Tunni", 3514343, "cus-som", } m["tqr"] = { "Torona", 36679, "alv-tal", } m["tqt"] = { "Western Totonac", 7116691, "nai-ttn", "Latn", } m["tqu"] = { "Touo", 56750, } m["tqw"] = { "Tonkawa", 2454881, "qfa-iso", "Latn", } m["tra"] = { "Tirahi", 3812406, "inc-koh", } m["trb"] = { "Terebu", 7701797, "poz-ocw", } m["trc"] = { "Copala Triqui", 12953935, "omq-tri", "Latn", } m["trd"] = { "Turi", 7854914, "mun", } m["tre"] = { "East Tarangan", 18609750, "poz", } m["trf"] = { "Trinidadian Creole English", 7842493, "crp", "Latn", ancestors = "en", } m["trg"] = { "Lishán Didán", 56473, "sem-nna", } m["trh"] = { "Turaka", 12953237, "ngf", } m["tri"] = { "Trió", 56885, "sai-tar", "Latn", } m["trj"] = { "Toram", 3441225, "cdc-est", } m["trl"] = { "Traveller Scottish", 3915671, "qfa-mix", "Latn", ancestors = "rom, sco", } m["trm"] = { "Tregami", 34081, "nur-sou", } m["trn"] = { "Trinitario", 3539279, "awd", } m["tro"] = { "Tarao", 3515603, "tbq-kuk", "Latn", } m["trp"] = { "Kokborok", 35947, "tbq-bdg", "Beng, Latn" -- WP lists 2 more } m["trq"] = { "San Martín Itunyoso Triqui", 12953934, "omq-tri", "Latn", } m["trr"] = { "Taushiro", 1957508, nil, "Latn", } m["trs"] = { "Chicahuaxtla Triqui", 3539587, "omq-tri", "Latn", } m["trt"] = { "Tunggare", 615071, "paa-egb", "Latn", } m["tru"] = { "Turoyo", 34040, "sem-cna", "Syrc, Latn", translit = { Syrc = "tru-translit", }, entry_name = { Syrc = "Syrc-entryname", }, } m["trv"] = { "Taroko", 716686, "map-ata", "Latn", } m["trw"] = { "Torwali", 2665246, "inc-koh", "ur-Arab", } m["trx"] = { "Tringgus", 7842365, "day", } m["try"] = { "Turung", 7856514, "tai-swe", "as-Beng", } m["trz"] = { "Torá", 7827518, "sai-cpc", } m["tsa"] = { "Tsaangi", 36675, "bnt-nze", } m["tsb"] = { "Tsamai", 2371358, "cus-eas", } m["tsc"] = { "Tswa", 2085051, "bnt-tsr", } m["tsd"] = { "Tsakonian", 220607, "grk", "Grek", ancestors = "grc-dor", translit = "el-translit", display_text = s["Grek-displaytext"], entry_name = s["Grek-entryname"], sort_key = s["Grek-sortkey"], } m["tse"] = { "Tunisian Sign Language", 7853191, "sgn", } m["tsf"] = { "Southwestern Tamang", 12953176, "sit-tam", } m["tsg"] = { "Tausug", 34142, "phi", "Latn, Arab", } m["tsh"] = { "Tsuvan", 3502326, "cdc-cbm", } m["tsi"] = { "Tsimshian", 20085721, "nai-tsi", "Latn", } m["tsj"] = { "Tshangla", 36840, "sit-tsk", "Tibt, Latn, Deva", translit = { Tibt = "Tibt-translit" }, override_translit = true, display_text = { Tibt = s["Tibt-displaytext"] }, entry_name = { Tibt = s["Tibt-entryname"] }, sort_key = { Tibt = "Tibt-sortkey" }, } m["tsl"] = { "Ts'ün-Lao", 3446675, "tai", } m["tsm"] = { "Turkish Sign Language", 36885, "sgn", } m["tsp"] = { "Northern Toussian", 11155635, "alv-sav", } m["tsq"] = { "Thai Sign Language", 7709156, "sgn", "Sgnw", } m["tsr"] = { "Akei", 2828964, "poz-vnn", "Latn", } m["tss"] = { "Taiwan Sign Language", 34019, "sgn-jsl", } m["tsu"] = { "Tsou", 716681, "map", "Latn", } m["tsv"] = { "Tsogo", 36674, "bnt-tso", } m["tsw"] = { "Tsishingini", 13123571, "nic-kam", } m["tsx"] = { "Mubami", 6930815, "ngf", "Latn", } m["tsy"] = { "Tebul Sign Language", 7692090, "sgn", } m["tta"] = { "Tutelo", 2311602, "sio-ohv", "Latn", } m["ttb"] = { "Gaa", 3438361, "nic-dak", "Latn", } m["ttc"] = { "Tektiteko", 36686, "myn", "Latn", } m["ttd"] = { "Tauade", 7688634, } m["tte"] = { "Bwanabwana", 5003667, "poz-ocw", "Latn", } m["ttf"] = { "Tuotomb", 7853459, "nic-mbw", "Latn", } m["ttg"] = { "Tutong", 3507990, "poz-swa", "Latn", } m["tth"] = { "Upper Ta'oih", 3512660, "mkh-kat", } m["tti"] = { "Tobati", 7811556, "poz-ocw", "Latn", } m["ttj"] = { "Tooro", 7824218, "bnt-nyg", "Latn", } m["ttk"] = { "Totoro", 3532756, "sai-bar", "Latn", } m["ttl"] = { "Totela", 10962316, "bnt-bot", "Latn", } m["ttm"] = { "Northern Tutchone", 20822, "ath-nor", "Latn", } m["ttn"] = { "Towei", 7829606, "paa-pau", } m["tto"] = { "Lower Ta'oih", 25559539, "mkh-kat", } m["ttp"] = { "Tombelala", 6799663, "poz-kal", } m["ttr"] = { "Tera", 56267, "cdc-cbm", } m["tts"] = { "Isan", 33417, "tai-swe", "Thai", sort_key = "Thai-sortkey", } m["ttt"] = { "Tat", 56489, "ira-swi", "Cyrl, Latn, Armn, fa-Arab", ancestors = "fa", } m["ttu"] = { "Torau", 3532208, "poz-ocw", } m["ttv"] = { "Titan", 3445811, "poz-aay", "Latn", } m["ttw"] = { "Long Wat", 7856961, "poz-swa", } m["tty"] = { "Sikaritai", 7513600, "paa-lkp", } m["ttz"] = { "Tsum", 12953223, "sit-kyk", } m["tua"] = { "Wiarumus", 7998045, "qfa-tor", "Latn", } m["tub"] = { "Tübatulabal", 56704, "azc", "Latn", } m["tuc"] = { "Mutu", 3331003, "poz-ocw", "Latn", } m["tud"] = { "Tuxá", 7857217, } m["tue"] = { "Tuyuca", 2520538, "sai-tuc", "Latn", } m["tuf"] = { "Central Tunebo", 12953942, "cba", "Latn", } m["tug"] = { "Tunia", 863721, "alv-bua", } m["tuh"] = { "Taulil", 3516141, "paa-bng", } m["tui"] = { "Tupuri", 36646, "alv-mbm", "Latn", } m["tuj"] = { "Tugutil", 12953228, "paa-nha" } m["tul"] = { "Tula", 3914907, "alv-wjk", } m["tum"] = { "Tumbuka", 34138, "bnt-nys", "Latn", } m["tun"] = { "Tunica", 56619, "qfa-iso", "Latn", } m["tuo"] = { "Tucano", 3541834, "sai-tuc", "Latn", } m["tuq"] = { "Tedaga", 36639, "ssa-sah", "Latn", } m["tus"] = { "Tuscarora", 36944, "iro-nor", "Latn", } m["tuu"] = { "Tututni", 20627, "ath-pco", "Latn", } m["tuv"] = { "Turkana", 36958, "sdv-ttu", "Latn", } m["tux"] = { "Tuxináwa", 7857204, "sai-pan", "Latn", } m["tuy"] = { "Tugen", 3541935, "sdv-nma", } m["tuz"] = { "Turka", 36643, "nic-gur", "Latn", } m["tva"] = { "Vaghua", 3553248, "poz-ocw", "Latn", } m["tvd"] = { "Tsuvadi", 3914936, "nic-kam", } m["tve"] = { "Te'un", 7690709, "poz-cet", "Latn", } m["tvk"] = { "Southeast Ambrym", 252411, "poz-vnc", "Latn", } m["tvl"] = { "Tuvaluan", 34055, "poz-pnp", "Latn", } m["tvm"] = { "Tela-Masbuar", 7695666, "poz-tim", } m["tvn"] = { "Tavoyan", 7689158, "tbq-brm", "Mymr", ancestors = "obr", } m["tvo"] = { "Tidore", 3528199, "paa-nha", "Latn, Arab", } m["tvs"] = { "Taveta", 15632387, "bnt-par", "Latn", } m["tvt"] = { "Tutsa Naga", 7856987, "sit-tno", } m["tvu"] = { "Tunen", 36632, "nic-mbw", } m["tvw"] = { "Sedoa", 7445362, "poz-kal", } m["tvx"] = { "Taivoan", 1975271, "map", "Latn", } m["tvy"] = { "Timor Pidgin", 4904029, "crp", ancestors = "pt", } m["twa"] = { "Twana", 7857412, "sal", "Latn", } m["twb"] = { "Western Tawbuid", 12953912, "phi", } m["twc"] = { "Teshenawa", 3436597, "phi", } m["twe"] = { "Teiwa", 3519302, "ngf", "Latn", } m["twf"] = { "Taos", 7684320, "nai-kta", "Latn", } m["twg"] = { "Tereweng", 12953200, "qfa-tap", } m["twh"] = { "Tai Dón", 7675751, "tai-swe", "Tavt", --translit = "Tavt-translit", sort_key = { from = {"[꪿ꫀ꫁ꫂ]", "([ꪵꪶꪹꪻꪼ])([ꪀ-ꪯ])"}, to = {"", "%2%1"} }, } m["twm"] = { "Tawang Monpa", 36586, "sit-ebo", "Tibt", translit = "Tibt-translit", override_translit = true, display_text = s["Tibt-displaytext"], entry_name = s["Tibt-entryname"], sort_key = "Tibt-sortkey", } m["twn"] = { "Twendi", 7857682, "nic-mmb", } m["two"] = { "Tswapong", 3446241, "bnt-sts", } m["twp"] = { "Ere", 3056045, "poz-aay", "Latn", } m["twq"] = { "Tasawaq", 36564, "son", } m["twr"] = { "Southwestern Tarahumara", 12953909, "azc-trc", "Latn", } m["twt"] = { "Turiwára", 3542307, "tup-gua", "Latn", } m["twu"] = { "Termanu", 7702572, "poz-tim", "Latn", } m["tww"] = { "Tuwari", 7857159, "paa-spk", } m["twy"] = { "Tawoyan", 3513542, "poz-bre", "Latn", } m["txa"] = { "Tombonuo", 7818692, "poz-san", "Latn", } m["txb"] = { "Tocharian B", 3199353, "ine-toc", "Latn", standardChars = "AaÄäĀāCcEeIiKkLlMmṂṃNnṄṅÑñOoPpRrSsŚśṢṣTtUuWwYy" .. c.punc, } m["txc"] = { "Tsetsaut", 20829, "ath-nor", "Latn", } m["txe"] = { "Totoli", 7828387, "poz-tot", "Latn", } m["txg"] = { "서하어", 2727930, "ero", "Tang", translit = "txg-translit", } m["txh"] = { "Thracian", 36793, "ine", "Latn, Polyt", translit = { Polyt = "grc-translit", }, display_text = { Polyt = s["Polyt-displaytext"], }, entry_name = { Polyt = s["Polyt-entryname"], }, sort_key = { Polyt = s["Polyt-sortkey"], }, } m["txi"] = { "Ikpeng", 9344891, "sai-pek", "Latn", } m["txj"] = { "Tarjumo", 24906088, "ssa-sah", "Latn, Arab", } m["txm"] = { "Tomini", 7818911, "poz", "Latn", } m["txn"] = { "West Tarangan", 3515594, "poz", "Latn", } m["txo"] = { "Toto", 36709, "sit-dhi", "Beng, Toto" } m["txq"] = { "Tii", 7801784, "poz-tim", } m["txr"] = { "Tartessian", 36795, } m["txs"] = { "Tonsea", 3531659, "phi", "Latn", } m["txt"] = { "Citak", 3447279, "ngf", } m["txu"] = { "Kayapó", 3101212, "sai-nje", "Latn", } m["txx"] = { "Tatana", 18643518, "poz-san", "Latn", } m["tya"] = { "Tauya", 7688978, "ngf-mad", "Latn", } m["tye"] = { "Kyenga", 3913304, "dmn-bbu", "Latn", } m["tyh"] = { "O'du", 3347428, "mkh", } m["tyi"] = { "Teke-Tsaayi", 33123613, "bnt-nze", } m["tyj"] = { "Tai Do", 7675746, "tai-nor", -- Chamberlain (1991), but Pittayaporn (2009) suggests tai-swe "Latn, Tayo", -- Vietnam } m["tyl"] = { "Thu Lao", 12953921, "tai-cen", } m["tyn"] = { "Kombai", 6428241, "ngf", } m["typ"] = { "Kuku-Thaypan", 3915693, "aus-pmn", "Latn", } m["tyr"] = { "Tai Daeng", 3915207, "tai-swe", "Tavt", } m["tys"] = { "Sapa", 3446668, "tai-sap", "Latn", } m["tyt"] = { "Tày Tac", 7862029, "tai-swe", } m["tyu"] = { "Kua", 3832933, "khi-kal", } m["tyv"] = { "Tuvan", 34119, "trk-ssb", "Cyrl", translit = "tyv-translit", override_translit = true, sort_key = "tyv-sortkey", } m["tyx"] = { "Teke-Tyee", 36634, "bnt-nze", "Latn", } m["tyz"] = { "Tày", -- This does not mean its family "Tai" languages. 2511476, "tai-tay", "Latn, Hani", sort_key = { Hani = "Hani-sortkey" }, } m["tza"] = { "Tanzanian Sign Language", 7684177, "sgn", } m["tzh"] = { "Tzeltal", 36808, "myn", "Latn", } m["tzj"] = { "Tz'utujil", 36941, "myn", "Latn", } m["tzl"] = { "Talossan", 1063911, "art", "Latn", type = "appendix-constructed", sort_key = "tzl-sortkey", } m["tzm"] = { "중부 아틀라스 타지마트어", 49741, "ber", "Tfng, Arab, Latn", translit = { Tfng = "Tfng-translit", }, } m["tzn"] = { "Tugun", 12953225, "poz-tim", "Latn", } m["tzo"] = { "Tzotzil", 36809, "myn", "Latn", } m["tzx"] = { "Tabriak", 56872, "paa-lsp", "Latn", } return require("Module:languages").finalizeData(m, "language") 2x5x8kkc62hqaswu1dcx4givvioiouc 틀:스페인어 명사 10 446832 4486403 4486399 2026-09-07T12:19:15Z Intolerable situation 23954 4486403 wikitext text/x-wiki {{#invoke:es-headword|show|명사}}<!-- --><noinclude>{{documentation}}</noinclude> 4i8p4gqxwc7ulzzst933rix9mkybev4 모듈:es-headword 828 446834 4486402 4486401 2026-09-07T12:16:08Z Intolerable situation 23954 4486402 Scribunto text/plain local export = {} local pos_functions = {} local force_cat = false -- for testing; if true, categories appear in non-mainspace pages local rfind = mw.ustring.find local rmatch = mw.ustring.match local require_when_needed = require("Module:utilities/require when needed") local m_table = require("Module:table") local com = require("Module:es-common") local en_utilities_module = "Module:en-utilities" local es_verb_module = "Module:es-verb" local headword_module = "Module:headword" local headword_utilities_module = "Module:headword utilities" local inflection_utilities_module = "Module:inflection utilities" local romut_module = "Module:romance utilities" local m_en_utilities = require_when_needed(en_utilities_module) local m_headword_utilities = require_when_needed(headword_utilities_module) local m_string_utilities = require_when_needed("Module:string utilities") local glossary_link = require_when_needed(headword_utilities_module, "glossary_link") local lang = require("Module:languages").getByCode("es") local langname = lang:getCanonicalName() local insert = table.insert local remove = table.remove local rsub = com.rsub local sort = table.sort local ulower = mw.ustring.lower local usub = mw.ustring.sub local uupper = mw.ustring.upper local function track(page) require("Module:debug").track("es-headword/" .. page) return true end local list_param = {list = true, disallow_holes = true} local boolean_param = {type = "boolean"} -- 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 parargs = frame:getParent().args local params = { ["head"] = list_param, ["id"] = true, ["splithyph"] = boolean_param, ["nolink"] = boolean_param, ["nolinkhead"] = {alias_of = "nolink"}, ["json"] = boolean_param, ["pagename"] = true, -- for testing } if pos_functions[poscat] then for key, val in pairs(pos_functions[poscat].params) do params[key] = val end end local args = require("Module:parameters").process(parargs, params) local pagename = args.pagename or mw.loadData("Module:headword/data").pagename local user_specified_heads = args.head local heads = user_specified_heads if args.nolink then if #heads == 0 then heads = {pagename} end else local romut = require(romut_module) local auto_linked_head = romut.add_links_to_multiword_term(pagename, args.splithyph) if #heads == 0 then heads = {auto_linked_head} else for i, head in ipairs(heads) do if head:find("^~") then head = romut.apply_link_modifiers(auto_linked_head, usub(head, 2)) heads[i] = head end end end end local data = { lang = lang, pos_category = pos_functions[poscat] and pos_functions[poscat].pos_category or poscat, categories = {}, heads = heads, user_specified_heads = user_specified_heads, no_redundant_head_cat = #user_specified_heads == 0, genders = {}, inflections = {}, pagename = pagename, id = args.id, force_cat_output = force_cat, checkredlinks = pos_functions[poscat] and pos_functions[poscat].redlink_pos or true, } if pagename:find("^%-") and poscat ~= "suffix forms" then data.is_suffix = true data.pos_category = "suffixes" data.checkredlinks = true local singular_poscat = m_en_utilities.singularize(poscat) insert(data.categories, langname .. " " .. singular_poscat .. "-forming suffixes") insert(data.inflections, {label = singular_poscat .. "-forming suffix"}) end local pagename_lower = ulower(pagename) for _, ch in ipairs{"jh", "kh", "ph", "qü", "sh", "th", "tl", "ts", "tz", "wh", "zh", "ze", "zi"} do if pagename_lower:find(ch) then insert(data.categories, langname .. " terms spelled with " .. uupper(ch)) end end if pos_functions[poscat] then pos_functions[poscat].func(args, data) end if args.json then return require("Module:JSON").toJSON(data) end return require(headword_module).full_headword(data) end ----------------------------------------------------------------------------------------- -- Utility functions -- ----------------------------------------------------------------------------------------- local function replace_hash_with_lemma(term, lemma) -- If there is a % sign in the lemma, we have to replace it with %% so it doesn't get interpreted as a capture -- replace expression. lemma = m_string_utilities.replacement_escape(lemma) return (term:gsub("#", lemma)) -- discard second retval end -- Parse and insert an inflection not requiring additional processing into `data.inflections`. The raw arguments come -- from `args[field]`, which is parsed for inline modifiers. `label` is the label that the inflections are given; -- `accel` is the accelerator form, or nil. local function parse_and_insert_inflection(data, args, field, label, accel) m_headword_utilities.parse_and_insert_inflection { headdata = data, forms = args[field], paramname = field, splitchar = ",", label = label, accel = accel and {form = accel} or nil, } end -- Insert default plurals generated when a given plural had the value of + and default plurals were fetched as a result. -- `plobj` is the parsed object whose `term` field is "+". `defpls` is the list of default plurals. `dest` is the list -- into which the plurals are inserted (which inherit their qualifiers and labels from `plobj`). local function insert_defpls(defpls, plobj, dest) if not defpls then -- Happens e.g. with [[S.A.]] where the default plural algorithm returns nothing. return end if #defpls == 1 then plobj.term = defpls[1] insert(dest, plobj) else for _, defpl in ipairs(defpls) do local newplobj = m_table.shallowCopy(plobj) newplobj.term = defpl insert(dest, newplobj) end end end ----------------------------------------------------------------------------------------- -- Adjectives -- ----------------------------------------------------------------------------------------- local function do_adjective(args, data, is_superlative) local feminines = {} local masculine_plurals = {} local feminine_plurals = {} -- Use "participle" not "past participle" for categories such as 'invariable participles' local category_plpos = data.checkredlinks if category_plpos == true then category_plpos = data.pos_category end local category_pos = m_en_utilities.singularize(category_plpos) if args.sp then local romut = require(romut_module) if not romut.allowed_special_indicators[args.sp] then local indicators = {} for indic, _ in pairs(romut.allowed_special_indicators) do insert(indicators, "'" .. indic .. "'") end sort(indicators) error("Special inflection indicator beginning can only be " .. mw.text.listToText(indicators) .. ": " .. args.sp) end end local lemma = data.pagename local function fetch_inflections(field) local retval = m_headword_utilities.parse_term_list_with_modifiers { paramname = field, forms = args[field], splitchar = ",", } if not retval[1] then return {{term = "+"}} end return retval end local function insert_inflection(terms, label, accel) m_headword_utilities.insert_inflection { headdata = data, terms = terms, label = label, accel = accel and {form = accel} or nil, } end if args.inv then -- invariable adjective insert(data.inflections, {label = glossary_link("invariable")}) insert(data.categories, langname .. " indeclinable " .. category_plpos) if args.sp or args.f[1] or args.pl[1] or args.mpl[1] or args.fpl[1] then error("Can't specify inflections with an invariable " .. category_pos) end elseif args.fonly then -- feminine-only if args.f[1] then error("Can't specify explicit feminines with feminine-only " .. category_pos) end if args.pl[1] then error("Can't specify explicit plurals with feminine-only " .. category_pos .. ", use fpl=") end if args.mpl[1] then error("Can't specify explicit masculine plurals with feminine-only " .. category_pos) end local argsfpl = fetch_inflections("fpl") for _, fpl in ipairs(argsfpl) do if fpl.term == "+" then -- Generate default feminine plural. local defpls = com.make_plural(lemma, "f", args.sp) if not defpls then error("Unable to generate default plural of '" .. lemma .. "'") end insert_defpls(defpls, fpl, feminine_plurals) else fpl.term = replace_hash_with_lemma(fpl.term, lemma) insert(feminine_plurals, fpl) end end insert(data.inflections, {label = "feminine-only"}) insert_inflection(feminine_plurals, "feminine plural", "f|p") else -- Gather feminines. for _, f in ipairs(fetch_inflections("f")) do if f.term == "+" then -- Generate default feminine. f.term = com.make_feminine(lemma, args.sp) else f.term = replace_hash_with_lemma(f.term, lemma) end insert(feminines, f) end local fem_like_lemma = #feminines == 1 and feminines[1].term == lemma and not m_headword_utilities.termobj_has_qualifiers_or_labels(feminines[1]) if fem_like_lemma then insert(data.categories, langname .. " epicene " .. category_plpos) end local mpl_field = "mpl" local fpl_field = "fpl" if args.pl[1] then if args.mpl[1] or args.fpl[1] then error("Can't specify both pl= and mpl=/fpl=") end mpl_field = "pl" fpl_field = "pl" end local argsmpl = fetch_inflections(mpl_field) local argsfpl = fetch_inflections(fpl_field) for _, mpl in ipairs(argsmpl) do if mpl.term == "+" then -- Generate default masculine plural. local defpls = com.make_plural(lemma, "m", args.sp) if not defpls then error("Unable to generate default plural of '" .. lemma .. "'") end insert_defpls(defpls, mpl, masculine_plurals) else mpl.term = replace_hash_with_lemma(mpl.term, lemma) insert(masculine_plurals, mpl) end end for _, fpl in ipairs(argsfpl) do if fpl.term == "+" then for _, f in ipairs(feminines) do -- Generate default feminine plural; f is a table. local defpls = com.make_plural(f.term, "f", args.sp) if not defpls then error("Unable to generate default plural of '" .. f.term .. "'") end for _, defpl in ipairs(defpls) do local fplobj = m_table.shallowCopy(fpl) fplobj.term = defpl m_headword_utilities.combine_termobj_qualifiers_labels(fplobj, f) insert(feminine_plurals, fplobj) end end else fpl.term = replace_hash_with_lemma(fpl.term, lemma) insert(feminine_plurals, fpl) end end parse_and_insert_inflection(data, args, "mapoc", "masculine singular before a noun") local fem_pl_like_masc_pl = masculine_plurals[1] and feminine_plurals[1] and m_table.deepEquals(masculine_plurals, feminine_plurals) local masc_pl_like_lemma = #masculine_plurals == 1 and masculine_plurals[1].term == lemma and not m_headword_utilities.termobj_has_qualifiers_or_labels(masculine_plurals[1]) if fem_like_lemma and fem_pl_like_masc_pl and masc_pl_like_lemma then -- actually invariable insert(data.inflections, {label = glossary_link("invariable")}) insert(data.categories, langname .. " indeclinable " .. category_plpos) else -- Make sure there are feminines given and not same as lemma. if not fem_like_lemma then insert_inflection(feminines, "feminine", "f|s") elseif args.gneut then data.genders = {"gneut"} else data.genders = {"mf"} end if fem_pl_like_masc_pl then if args.gneut then insert_inflection(masculine_plurals, "plural", "p") else insert_inflection(masculine_plurals, "masculine and feminine plural", "p") end else insert_inflection(masculine_plurals, "masculine plural", "m|p") insert_inflection(feminine_plurals, "feminine plural", "f|p") end end end parse_and_insert_inflection(data, args, "comp", "comparative") parse_and_insert_inflection(data, args, "sup", "superlative") parse_and_insert_inflection(data, args, "dim", "diminutive") parse_and_insert_inflection(data, args, "aug", "augmentative") if args.irreg and is_superlative then insert(data.categories, langname .. " irregular superlative " .. category_plpos) end end local function get_adjective_params(adjtype) local params = { ["inv"] = boolean_param, --invariable ["sp"] = true, -- special indicator: "first", "first-last", etc. } local function ins_infl(field) params[field] = list_param --feminine form(s) end ins_infl("f") -- feminine form(s) ins_infl("pl") -- plural override(s) ins_infl("mpl") -- masculine plural override(s) ins_infl("fpl") -- feminine plural override(s) if adjtype == "base" then ins_infl("mapoc") --masculine apocopated (before a noun) ins_infl("comp") --comparative(s) ins_infl("sup") --superlative(s) ins_infl("dim") --diminutive(s) ins_infl("aug") --augmentative(s) params["fonly"] = boolean_param -- feminine only params["gneut"] = boolean_param -- gender-neutral adjective e.g. [[latine]] params["hascomp"] = true -- has comparative end if adjtype == "sup" then params["irreg"] = boolean_param end return params end pos_functions["형용사"] = { params = get_adjective_params("base"), func = do_adjective, } pos_functions["과거분사"] = { params = get_adjective_params("part"), func = do_adjective, redlink_pos = "participles", } pos_functions["한정사"] = { params = get_adjective_params("det"), func = do_adjective, } pos_functions["대명사"] = { params = get_adjective_params("pron"), func = do_adjective, } pos_functions["형용사 비교급"] = { params = get_adjective_params("comp"), func = do_adjective, pos_category = "adjectives", } pos_functions["형용사 최상급"] = { params = get_adjective_params("sup"), func = function(args, data) do_adjective(args, data, true) end, pos_category = "adjectives", } ----------------------------------------------------------------------------------------- -- Adverbs -- ----------------------------------------------------------------------------------------- pos_functions["부사"] = { params = { ["sup"] = list_param, --superlative(s) }, func = function(args, data) parse_and_insert_inflection(data, args, "sup", "superlative") end, } ----------------------------------------------------------------------------------------- -- Numerals -- ----------------------------------------------------------------------------------------- pos_functions["수사"] = { params = { ["f"] = list_param, --feminine(s) ["mapoc"] = list_param, --masculine apocopated form(s) }, func = function(args, data) insert(data.categories, 1, langname .. " cardinal numbers") if args.f[1] then insert(data.genders, "m") parse_and_insert_inflection(data, args, "f", "feminine") end parse_and_insert_inflection(data, args, "mapoc", "masculine before a noun") end, pos_category = "numerals", } ----------------------------------------------------------------------------------------- -- Nouns -- ----------------------------------------------------------------------------------------- local allowed_genders = m_table.listToSet( {"m", "f", "mf", "mfbysense", "mfequiv", "gneut", "n", "m-p", "f-p", "mf-p", "mfbysense-p", "mfequiv-p", "gneut-p", "n-p", "?", "?-p"} ) local function validate_genders(genders) for _, g in ipairs(genders) do if type(g) == "table" then g = g.spec end if not allowed_genders[g] then error("Unrecognized gender: " .. g) end end end -- Display additional inflection information for a noun local function do_noun(args, data, is_proper) local is_plurale_tantum = false local has_singular = false local category_plpos = data.checkredlinks if category_plpos == true then category_plpos = data.pos_category end local category_pos = m_en_utilities.singularize(category_plpos) validate_genders(args[1]) data.genders = args[1] local saw_m = false local saw_f = false local saw_gneut = false local gender_for_irreg_ending, gender_for_make_plural -- Check for specific genders and pluralia tantum. for _, g in ipairs(args[1]) do if type(g) == "table" then g = g.spec end if g:find("-p$") then is_plurale_tantum = true else has_singular = true if g == "m" or g == "mf" or g == "mfbysense" then saw_m = true end if g == "f" or g == "mf" or g == "mfbysense" then saw_f = true end if g == "gneut" then saw_gneut = true end end end if saw_m and saw_f then gender_for_irreg_ending = "mf" elseif saw_f then gender_for_irreg_ending = "f" else gender_for_irreg_ending = "m" end gender_for_make_plural = saw_gneut and "gneut" or gender_for_irreg_ending local lemma = data.pagename local plurals = {} if is_plurale_tantum and not has_singular then if args[2][1] then error("Can't specify plurals of plurale tantum " .. category_pos) end insert(data.inflections, {label = glossary_link("plural only")}) else plurals = m_headword_utilities.parse_term_list_with_modifiers { paramname = {2, "pl"}, forms = args[2], splitchar = ",", } -- Check for special plural signals local mode = nil local pl1 = plurals[1] if pl1 and #pl1.term == 1 then mode = pl1.term if mode == "?" or mode == "!" or mode == "-" or mode == "~" then pl1.term = nil if next(pl1) then error(("Can't specify inline modifiers with plural code '%s'"):format(mode)) end remove(plurals, 1) -- Remove the mode parameter elseif mode ~= "+" and mode ~= "#" then error(("Unexpected plural code '%s'"):format(mode)) end end if mode == "?" then -- Plural is unknown insert(data.categories, langname .. " " .. category_plpos .. " with unknown or uncertain plurals") elseif mode == "!" then -- Plural is not attested insert(data.inflections, {label = "plural not attested"}) insert(data.categories, langname .. " " .. category_plpos .. " with unattested plurals") if plurals[1] then error("Can't specify any plurals along with unattested plural code '!'") end elseif mode == "-" then -- Uncountable noun; may occasionally have a plural insert(data.categories, langname .. " uncountable " .. category_plpos) -- If plural forms were given explicitly, then show "usually" if plurals[1] then insert(data.inflections, {label = "usually " .. glossary_link("uncountable")}) insert(data.categories, langname .. " countable " .. category_plpos) else insert(data.inflections, {label = glossary_link("uncountable")}) end else -- Countable or mixed countable/uncountable if not plurals[1] and not is_proper then plurals[1] = {term = "+"} end if mode == "~" then -- Mixed countable/uncountable noun, always has a plural insert(data.inflections, {label = glossary_link("countable") .. " and " .. glossary_link("uncountable")}) insert(data.categories, langname .. " uncountable " .. category_plpos) insert(data.categories, langname .. " countable " .. category_plpos) elseif plurals[1] then -- Countable nouns insert(data.categories, langname .. " countable " .. category_plpos) else -- Uncountable nouns insert(data.categories, langname .. " uncountable " .. category_plpos) end end -- Gather plurals, handling requests for default plurals. local has_default_or_hash = false for _, pl in ipairs(plurals) do if pl.term:find("^%+") or pl.term:find("#") then has_default_or_hash = true break end end if has_default_or_hash then local newpls = {} for _, pl in ipairs(plurals) do if pl.term == "+" then local default_pls = com.make_plural(lemma, gender_for_make_plural) insert_defpls(default_pls, pl, newpls) elseif pl.term:find("^%+") then pl.term = require(romut_module).get_special_indicator(pl.term) local default_pls = com.make_plural(lemma, gender_for_make_plural, pl.term) insert_defpls(default_pls, pl, newpls) else pl.term = replace_hash_with_lemma(pl.term, lemma) insert(newpls, pl) end end plurals = newpls end end if #plurals > 1 then insert(data.categories, langname .. " " .. category_plpos .. " with multiple plurals") end -- Gather masculines/feminines. For each one, generate the corresponding plural(s). `field` is the name of the -- field containing the masculine or feminine forms (normally "m" or "f"); `gender` is "m" or "f" for the gender -- of the forms; `inflect` is a function of one or two arguments to generate the default masculine or feminine from -- the lemma (the arguments are the lemma and optionally a "special" flag to indicate how to handle multiword -- lemmas, and the function is normally make_feminine or make_masculine from [[Module:es-common]]); and -- `default_plurals` is a list into which the corresponding default plurals of the gathered or generated masculine -- or feminine forms are stored. Note that there may be more default plurals than masculines or feminines, because -- some terms have multiple possible plurals. local function handle_mf(field, gender, inflect, default_plurals) local mfs = m_headword_utilities.parse_term_list_with_modifiers { paramname = field, forms = args[field], splitchar = ",", frob = function(term) if term == "+" then -- Generate default masculine/feminine. term = inflect(lemma) else term = replace_hash_with_lemma(term, lemma) end local special = require(romut_module).get_special_indicator(term) if special then term = inflect(lemma, special) end return term end } for _, mf in ipairs(mfs) do local mfpls = com.make_plural(mf.term, gender, special) if mfpls then for _, mfpl in ipairs(mfpls) do local plobj = m_table.shallowCopy(mf) plobj.term = mfpl -- Add an accelerator for each masculine/feminine plural whose lemma -- is the corresponding singular, so that the accelerated entry -- that is generated has a definition that looks like -- # {{plural of|es|MFSING}} plobj.accel = {form = "p", lemma = mf.term} insert(default_plurals, plobj) end end end return mfs end local feminine_plurals = {} local feminines = handle_mf("f", "f", com.make_feminine, feminine_plurals) local masculine_plurals = {} local masculines = handle_mf("m", "m", com.make_masculine, masculine_plurals) local function handle_mf_plural(mfplfield, gender, default_plurals, singulars) local mfpl = m_headword_utilities.parse_term_list_with_modifiers { paramname = mfplfield, forms = args[mfplfield], splitchar = ",", } local new_mfpls = {} local saw_plus for i, mfpl in ipairs(mfpl) do local accel if #mfpl == #singulars then -- If same number of overriding masculine/feminine plurals as singulars, -- assume each plural goes with the corresponding singular -- and use each corresponding singular as the lemma in the accelerator. -- The generated entry will have # {{plural of|es|SINGULAR}} as the -- definition. accel = {form = "p", lemma = singulars[i].term} else accel = nil end if mfpl.term == "+" then -- We should never see + twice. If we do, it will lead to problems since we overwrite the values of -- default_plurals the first time around. if saw_plus then error(("Saw + twice when handling %s="):format(mfplfield)) end saw_plus = true for _, defpl in ipairs(default_plurals) do -- defpl is already a table and has an accel field m_headword_utilities.combine_termobj_qualifiers_labels(defpl, mfpl) insert(new_mfpls, defpl) end elseif mfpl.term:find("^%+") then mfpl.term = require(romut_module).get_special_indicator(mfpl.term) for _, mf in ipairs(singulars) do local default_mfpls = com.make_plural(mf.term, gender, mfpl.term) for _, defp in ipairs(default_mfpls) do local mfplobj = m_table.shallowCopy(mfpl) mfplobj.term = defp mfplobj.accel = accel m_headword_utilities.combine_termobj_qualifiers_labels(mfplobj, mf) insert(new_mfpls, mfplobj) end end else mfpl.accel = accel mfpl.term = replace_hash_with_lemma(mfpl.term, lemma) insert(new_mfpls, mfpl) end end return new_mfpls end if args.fpl[1] then -- Override any existing feminine plurals. feminine_plurals = handle_mf_plural("fpl", "f", feminine_plurals, feminines) end if args.mpl[1] then -- Override any existing masculine plurals. masculine_plurals = handle_mf_plural("mpl", "m", masculine_plurals, masculines) end local function parse_and_insert_noun_inflection(field, label, accel) parse_and_insert_inflection(data, args, field, label, accel) end local function insert_noun_inflection(terms, label, accel) m_headword_utilities.insert_inflection { headdata = data, terms = terms, label = label, accel = accel and {form = accel} or nil, } end insert_noun_inflection(plurals, "plural", "p") insert_noun_inflection(feminines, "feminine", "f") insert_noun_inflection(feminine_plurals, "feminine plural") insert_noun_inflection(masculines, "masculine") insert_noun_inflection(masculine_plurals, "masculine plural") parse_and_insert_noun_inflection("dim", "diminutive") parse_and_insert_noun_inflection("aug", "augmentative") parse_and_insert_noun_inflection("pej", "pejorative") parse_and_insert_noun_inflection("dem", "demonym") parse_and_insert_noun_inflection("fdem", "female demonym") -- Maybe add category 'Spanish nouns with irregular gender' (or similar) local irreg_gender_lemma = rsub(lemma, " .*", "") -- only look at first word if (rfind(irreg_gender_lemma, "o$") and (gender_for_irreg_ending == "f" or gender_for_irreg_ending == "mf")) or (irreg_gender_lemma:find("a$") and (gender_for_irreg_ending == "m" or gender_for_irreg_ending == "mf")) then insert(data.categories, langname .. " nouns with irregular gender") end end local function get_noun_params(is_proper) return { [1] = {list = "g", disallow_holes = true, required = not is_proper, default = "?", type = "genders", flatten = true}, -- gender(s) [2] = {list = "pl", disallow_holes = true}, --plural override(s) ["f"] = list_param, --feminine form(s) ["m"] = list_param, --masculine form(s) ["fpl"] = list_param, --feminine plural override(s) ["mpl"] = list_param, --masculine plural override(s) ["dim"] = list_param, --diminutive(s) ["aug"] = list_param, --diminutive(s) ["pej"] = list_param, --pejorative(s) ["dem"] = list_param, --demonym(s) ["fdem"] = list_param, --female demonym(s) } end pos_functions["명사"] = { params = get_noun_params(), func = do_noun, } pos_functions["고유명사"] = { params = get_noun_params("is proper"), func = function(args, data) do_noun(args, data, "is proper") end, } ----------------------------------------------------------------------------------------- -- Verbs -- ----------------------------------------------------------------------------------------- pos_functions["동사"] = { params = { [1] = {}, ["pres"] = list_param, --present ["pres_qual"] = {list = "pres\1_qual", allow_holes = true}, ["pret"] = list_param, --preterite ["pret_qual"] = {list = "pret\1_qual", allow_holes = true}, ["part"] = list_param, --participle ["part_qual"] = {list = "part\1_qual", allow_holes = true}, ["pagename"] = {}, -- for testing ["noautolinktext"] = boolean_param, ["noautolinkverb"] = boolean_param, ["attn"] = boolean_param, }, func = function(args, data) local preses, prets, parts if args.attn then insert(data.categories, "Requests for attention concerning " .. langname) return end local es_verb = require(es_verb_module) local alternant_multiword_spec = es_verb.do_generate_forms(args, "es-verb", data.heads[1]) local specforms = alternant_multiword_spec.forms local function slot_exists(slot) return specforms[slot] and specforms[slot][1] end local function do_finite(slot_tense, label_tense) -- Use pres_3s if it exists and pres_1s doesn't exist (e.g. impersonal verbs); similarly for pres_3p (only3p verbs); -- but fall back to pres_1s if neither pres_1s nor pres_3s nor pres_3p exist (e.g. [[empedernir]]). local has_1s = slot_exists(slot_tense .. "_1s") local has_3s = slot_exists(slot_tense .. "_3s") local has_3p = slot_exists(slot_tense .. "_3p") if has_1s or (not has_3s and not has_3p) then return { slot = slot_tense .. "_1s", label = ("first-person singular %s"):format(label_tense), } elseif has_3s then return { slot = slot_tense .. "_3s", label = ("third-person singular %s"):format(label_tense), } else return { slot = slot_tense .. "_3p", label = ("third-person plural %s"):format(label_tense), } end end preses = do_finite("pres", "present") prets = do_finite("pret", "preterite") parts = { slot = "pp_ms", label = "past participle", } if args.pres[1] or args.pret[1] or args.part[1] then track("verb-old-multiarg") end 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 insert(stripped_qualifiers, stripped_qualifier) end return stripped_qualifiers end local function do_verb_form(args, qualifiers, slot_desc, skip_if_empty) local forms local to_insert if #args == 0 then forms = specforms[slot_desc.slot] if not forms or #forms == 0 then if skip_if_empty then return end forms = {{form = "-"}} end elseif #args == 1 and args[1] == "-" then forms = {{form = "-"}} else forms = {} for i, arg in ipairs(args) do local qual = qualifiers[i] if qual then -- FIXME: It's annoying we have to add brackets and strip them out later. The inflection -- code adds all footnotes with brackets around them; we should change this. qual = {"[" .. qual .. "]"} end local form = arg if not args.noautolinkverb then -- [[Module:inflection utilities]] already loaded by [[Module:es-verb]] form = require(inflection_utilities_module).add_links(form) end insert(forms, {form = form, footnotes = qual}) end end if forms[1].form == "-" then to_insert = {label = "no " .. slot_desc.label} else local into_table = {label = slot_desc.label} for _, form in ipairs(forms) do local qualifiers = strip_brackets(form.footnotes) -- Strip redundant brackets surrounding entire form. These may get generated e.g. -- if we use the angle bracket notation with a single word. local stripped_form = rmatch(form.form, "^%[%[([^%[%]]*)%]%]$") or form.form -- Don't include accelerators if brackets remain in form, as the result will be wrong. -- FIXME: For now, don't include accelerators. We should use {{es-verb form of}} instead. -- local this_accel = not stripped_form:find("%[%[") and accel or nil local this_accel = nil insert(into_table, {term = stripped_form, q = qualifiers, accel = this_accel}) end to_insert = into_table end insert(data.inflections, to_insert) end local skip_pres_if_empty if alternant_multiword_spec.no_pres1_and_sub then insert(data.inflections, {label = "no first-person singular present"}) insert(data.inflections, {label = "no present subjunctive"}) end if alternant_multiword_spec.no_pres_stressed then insert(data.inflections, {label = "no stressed present indicative or subjunctive"}) skip_pres_if_empty = true end if alternant_multiword_spec.only3s then insert(data.inflections, {label = glossary_link("impersonal")}) elseif alternant_multiword_spec.only3sp then insert(data.inflections, {label = "third-person only"}) elseif alternant_multiword_spec.only3p then insert(data.inflections, {label = "third-person plural only"}) end do_verb_form(args.pres, args.pres_qual, preses, skip_pres_if_empty) do_verb_form(args.pret, args.pret_qual, prets) do_verb_form(args.part, args.part_qual, parts) -- Add categories. for _, cat in ipairs(alternant_multiword_spec.categories) do insert(data.categories, cat) end -- If the user didn't explicitly specify head=, or specified exactly one head (not 2+) and we were able to -- incorporate any links in that head into the 1= specification, use the infinitive generated by -- [[Module:es-verb]] in place of the user-specified or auto-generated head. This was copied from -- [[Module:it-headword]], where doing this gets accents marked on the verb(s). We don't have accents marked on -- the verb but by doing this we do get any footnotes on the infinitive propagated here. Don't do this if the -- user gave multiple heads or gave a head with a multiword-linked verbal expression such as Italian -- '[[dare esca]] [[al]] [[fuoco]]' (FIXME: give Spanish equivalent). if #data.user_specified_heads == 0 or ( #data.user_specified_heads == 1 and alternant_multiword_spec.incorporated_headword_head_into_lemma ) then data.heads = {} for _, lemma_obj in ipairs(alternant_multiword_spec.forms.infinitive_linked) do local quals, refs = require(inflection_utilities_module). convert_footnotes_to_qualifiers_and_references(lemma_obj.footnotes) insert(data.heads, {term = lemma_obj.form, q = quals, refs = refs}) end end end } ----------------------------------------------------------------------------------------- -- Phrases -- ----------------------------------------------------------------------------------------- pos_functions["어구"] = { params = { ["g"] = {list = true, disallow_holes = true, type = "genders", flatten = true}, ["m"] = list_param, ["f"] = list_param, }, func = function(args, data) validate_genders(args.g) data.genders = args.g parse_and_insert_inflection(data, args, "m", "masculine") parse_and_insert_inflection(data, args, "f", "feminine") end, } ----------------------------------------------------------------------------------------- -- Suffix forms -- ----------------------------------------------------------------------------------------- pos_functions["suffix forms"] = { params = { [1] = {required = true, list = true, disallow_holes = true}, ["g"] = {list = true, disallow_holes = true, type = "genders", flatten = true}, }, func = function(args, data) validate_genders(args.g) data.genders = args.g local suffix_type = {} for _, typ in ipairs(args[1]) do insert(suffix_type, typ .. "-forming suffix") end insert(data.inflections, {label = "non-lemma form of " .. require("Module:table").serialCommaJoin(suffix_type, {conj = "or"})}) end, } return export jm7flt5hzicbz5td9so2xmtubrohjn5 4486404 4486402 2026-09-07T12:24:08Z Intolerable situation 23954 4486404 Scribunto text/plain local export = {} local pos_functions = {} local force_cat = false -- for testing; if true, categories appear in non-mainspace pages local rfind = mw.ustring.find local rmatch = mw.ustring.match local require_when_needed = require("Module:utilities/require when needed") local m_table = require("Module:table") local com = require("Module:es-common") local en_utilities_module = "Module:en-utilities" local es_verb_module = "Module:es-verb" local headword_module = "Module:headword" local headword_utilities_module = "Module:headword utilities" local inflection_utilities_module = "Module:inflection utilities" local romut_module = "Module:romance utilities" local m_en_utilities = require_when_needed(en_utilities_module) local m_headword_utilities = require_when_needed(headword_utilities_module) local m_string_utilities = require_when_needed("Module:string utilities") local glossary_link = require_when_needed(headword_utilities_module, "glossary_link") local lang = require("Module:languages").getByCode("es") local langname = lang:getCanonicalName() local insert = table.insert local remove = table.remove local rsub = com.rsub local sort = table.sort local ulower = mw.ustring.lower local usub = mw.ustring.sub local uupper = mw.ustring.upper local function track(page) require("Module:debug").track("es-headword/" .. page) return true end local list_param = {list = true, disallow_holes = true} local boolean_param = {type = "boolean"} -- 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 parargs = frame:getParent().args local params = { ["head"] = list_param, ["id"] = true, ["splithyph"] = boolean_param, ["nolink"] = boolean_param, ["nolinkhead"] = {alias_of = "nolink"}, ["json"] = boolean_param, ["pagename"] = true, -- for testing } if pos_functions[poscat] then for key, val in pairs(pos_functions[poscat].params) do params[key] = val end end local args = require("Module:parameters").process(parargs, params) local pagename = args.pagename or mw.loadData("Module:headword/data").pagename local user_specified_heads = args.head local heads = user_specified_heads if args.nolink then if #heads == 0 then heads = {pagename} end else local romut = require(romut_module) local auto_linked_head = romut.add_links_to_multiword_term(pagename, args.splithyph) if #heads == 0 then heads = {auto_linked_head} else for i, head in ipairs(heads) do if head:find("^~") then head = romut.apply_link_modifiers(auto_linked_head, usub(head, 2)) heads[i] = head end end end end local data = { lang = lang, pos_category = pos_functions[poscat] and pos_functions[poscat].pos_category or poscat, categories = {}, heads = heads, user_specified_heads = user_specified_heads, no_redundant_head_cat = #user_specified_heads == 0, genders = {}, inflections = {}, pagename = pagename, id = args.id, force_cat_output = force_cat, checkredlinks = pos_functions[poscat] and pos_functions[poscat].redlink_pos or true, } if pagename:find("^%-") and poscat ~= "suffix forms" then data.is_suffix = true data.pos_category = "suffixes" data.checkredlinks = true local singular_poscat = m_en_utilities.singularize(poscat) insert(data.categories, langname .. " " .. singular_poscat .. "-forming suffixes") insert(data.inflections, {label = singular_poscat .. "-forming suffix"}) end local pagename_lower = ulower(pagename) for _, ch in ipairs{"jh", "kh", "ph", "qü", "sh", "th", "tl", "ts", "tz", "wh", "zh", "ze", "zi"} do if pagename_lower:find(ch) then insert(data.categories, langname .. " terms spelled with " .. uupper(ch)) end end if pos_functions[poscat] then pos_functions[poscat].func(args, data) end if args.json then return require("Module:JSON").toJSON(data) end return require(headword_module).full_headword(data) end ----------------------------------------------------------------------------------------- -- Utility functions -- ----------------------------------------------------------------------------------------- local function replace_hash_with_lemma(term, lemma) -- If there is a % sign in the lemma, we have to replace it with %% so it doesn't get interpreted as a capture -- replace expression. lemma = m_string_utilities.replacement_escape(lemma) return (term:gsub("#", lemma)) -- discard second retval end -- Parse and insert an inflection not requiring additional processing into `data.inflections`. The raw arguments come -- from `args[field]`, which is parsed for inline modifiers. `label` is the label that the inflections are given; -- `accel` is the accelerator form, or nil. local function parse_and_insert_inflection(data, args, field, label, accel) m_headword_utilities.parse_and_insert_inflection { headdata = data, forms = args[field], paramname = field, splitchar = ",", label = label, accel = accel and {form = accel} or nil, } end -- Insert default plurals generated when a given plural had the value of + and default plurals were fetched as a result. -- `plobj` is the parsed object whose `term` field is "+". `defpls` is the list of default plurals. `dest` is the list -- into which the plurals are inserted (which inherit their qualifiers and labels from `plobj`). local function insert_defpls(defpls, plobj, dest) if not defpls then -- Happens e.g. with [[S.A.]] where the default plural algorithm returns nothing. return end if #defpls == 1 then plobj.term = defpls[1] insert(dest, plobj) else for _, defpl in ipairs(defpls) do local newplobj = m_table.shallowCopy(plobj) newplobj.term = defpl insert(dest, newplobj) end end end ----------------------------------------------------------------------------------------- -- Adjectives -- ----------------------------------------------------------------------------------------- local function do_adjective(args, data, is_superlative) local feminines = {} local masculine_plurals = {} local feminine_plurals = {} -- Use "participle" not "past participle" for categories such as 'invariable participles' local category_plpos = data.checkredlinks if category_plpos == true then category_plpos = data.pos_category end local category_pos = m_en_utilities.singularize(category_plpos) if args.sp then local romut = require(romut_module) if not romut.allowed_special_indicators[args.sp] then local indicators = {} for indic, _ in pairs(romut.allowed_special_indicators) do insert(indicators, "'" .. indic .. "'") end sort(indicators) error("Special inflection indicator beginning can only be " .. mw.text.listToText(indicators) .. ": " .. args.sp) end end local lemma = data.pagename local function fetch_inflections(field) local retval = m_headword_utilities.parse_term_list_with_modifiers { paramname = field, forms = args[field], splitchar = ",", } if not retval[1] then return {{term = "+"}} end return retval end local function insert_inflection(terms, label, accel) m_headword_utilities.insert_inflection { headdata = data, terms = terms, label = label, accel = accel and {form = accel} or nil, } end if args.inv then -- invariable adjective insert(data.inflections, {label = glossary_link("invariable")}) insert(data.categories, langname .. " indeclinable " .. category_plpos) if args.sp or args.f[1] or args.pl[1] or args.mpl[1] or args.fpl[1] then error("Can't specify inflections with an invariable " .. category_pos) end elseif args.fonly then -- feminine-only if args.f[1] then error("Can't specify explicit feminines with feminine-only " .. category_pos) end if args.pl[1] then error("Can't specify explicit plurals with feminine-only " .. category_pos .. ", use fpl=") end if args.mpl[1] then error("Can't specify explicit masculine plurals with feminine-only " .. category_pos) end local argsfpl = fetch_inflections("fpl") for _, fpl in ipairs(argsfpl) do if fpl.term == "+" then -- Generate default feminine plural. local defpls = com.make_plural(lemma, "f", args.sp) if not defpls then error("Unable to generate default plural of '" .. lemma .. "'") end insert_defpls(defpls, fpl, feminine_plurals) else fpl.term = replace_hash_with_lemma(fpl.term, lemma) insert(feminine_plurals, fpl) end end insert(data.inflections, {label = "feminine-only"}) insert_inflection(feminine_plurals, "feminine plural", "f|p") else -- Gather feminines. for _, f in ipairs(fetch_inflections("f")) do if f.term == "+" then -- Generate default feminine. f.term = com.make_feminine(lemma, args.sp) else f.term = replace_hash_with_lemma(f.term, lemma) end insert(feminines, f) end local fem_like_lemma = #feminines == 1 and feminines[1].term == lemma and not m_headword_utilities.termobj_has_qualifiers_or_labels(feminines[1]) if fem_like_lemma then insert(data.categories, langname .. " epicene " .. category_plpos) end local mpl_field = "mpl" local fpl_field = "fpl" if args.pl[1] then if args.mpl[1] or args.fpl[1] then error("Can't specify both pl= and mpl=/fpl=") end mpl_field = "pl" fpl_field = "pl" end local argsmpl = fetch_inflections(mpl_field) local argsfpl = fetch_inflections(fpl_field) for _, mpl in ipairs(argsmpl) do if mpl.term == "+" then -- Generate default masculine plural. local defpls = com.make_plural(lemma, "m", args.sp) if not defpls then error("Unable to generate default plural of '" .. lemma .. "'") end insert_defpls(defpls, mpl, masculine_plurals) else mpl.term = replace_hash_with_lemma(mpl.term, lemma) insert(masculine_plurals, mpl) end end for _, fpl in ipairs(argsfpl) do if fpl.term == "+" then for _, f in ipairs(feminines) do -- Generate default feminine plural; f is a table. local defpls = com.make_plural(f.term, "f", args.sp) if not defpls then error("Unable to generate default plural of '" .. f.term .. "'") end for _, defpl in ipairs(defpls) do local fplobj = m_table.shallowCopy(fpl) fplobj.term = defpl m_headword_utilities.combine_termobj_qualifiers_labels(fplobj, f) insert(feminine_plurals, fplobj) end end else fpl.term = replace_hash_with_lemma(fpl.term, lemma) insert(feminine_plurals, fpl) end end parse_and_insert_inflection(data, args, "mapoc", "masculine singular before a noun") local fem_pl_like_masc_pl = masculine_plurals[1] and feminine_plurals[1] and m_table.deepEquals(masculine_plurals, feminine_plurals) local masc_pl_like_lemma = #masculine_plurals == 1 and masculine_plurals[1].term == lemma and not m_headword_utilities.termobj_has_qualifiers_or_labels(masculine_plurals[1]) if fem_like_lemma and fem_pl_like_masc_pl and masc_pl_like_lemma then -- actually invariable insert(data.inflections, {label = glossary_link("invariable")}) insert(data.categories, langname .. " indeclinable " .. category_plpos) else -- Make sure there are feminines given and not same as lemma. if not fem_like_lemma then insert_inflection(feminines, "feminine", "f|s") elseif args.gneut then data.genders = {"gneut"} else data.genders = {"mf"} end if fem_pl_like_masc_pl then if args.gneut then insert_inflection(masculine_plurals, "plural", "p") else insert_inflection(masculine_plurals, "masculine and feminine plural", "p") end else insert_inflection(masculine_plurals, "masculine plural", "m|p") insert_inflection(feminine_plurals, "feminine plural", "f|p") end end end parse_and_insert_inflection(data, args, "comp", "comparative") parse_and_insert_inflection(data, args, "sup", "superlative") parse_and_insert_inflection(data, args, "dim", "diminutive") parse_and_insert_inflection(data, args, "aug", "augmentative") if args.irreg and is_superlative then insert(data.categories, langname .. " irregular superlative " .. category_plpos) end end local function get_adjective_params(adjtype) local params = { ["inv"] = boolean_param, --invariable ["sp"] = true, -- special indicator: "first", "first-last", etc. } local function ins_infl(field) params[field] = list_param --feminine form(s) end ins_infl("f") -- feminine form(s) ins_infl("pl") -- plural override(s) ins_infl("mpl") -- masculine plural override(s) ins_infl("fpl") -- feminine plural override(s) if adjtype == "base" then ins_infl("mapoc") --masculine apocopated (before a noun) ins_infl("comp") --comparative(s) ins_infl("sup") --superlative(s) ins_infl("dim") --diminutive(s) ins_infl("aug") --augmentative(s) params["fonly"] = boolean_param -- feminine only params["gneut"] = boolean_param -- gender-neutral adjective e.g. [[latine]] params["hascomp"] = true -- has comparative end if adjtype == "sup" then params["irreg"] = boolean_param end return params end pos_functions["형용사"] = { params = get_adjective_params("base"), func = do_adjective, } pos_functions["과거분사"] = { params = get_adjective_params("part"), func = do_adjective, redlink_pos = "participles", } pos_functions["한정사"] = { params = get_adjective_params("det"), func = do_adjective, } pos_functions["대명사"] = { params = get_adjective_params("pron"), func = do_adjective, } pos_functions["형용사 비교급"] = { params = get_adjective_params("comp"), func = do_adjective, pos_category = "adjectives", } pos_functions["형용사 최상급"] = { params = get_adjective_params("sup"), func = function(args, data) do_adjective(args, data, true) end, pos_category = "adjectives", } ----------------------------------------------------------------------------------------- -- Adverbs -- ----------------------------------------------------------------------------------------- pos_functions["부사"] = { params = { ["sup"] = list_param, --superlative(s) }, func = function(args, data) parse_and_insert_inflection(data, args, "sup", "superlative") end, } ----------------------------------------------------------------------------------------- -- Numerals -- ----------------------------------------------------------------------------------------- pos_functions["수사"] = { params = { ["f"] = list_param, --feminine(s) ["mapoc"] = list_param, --masculine apocopated form(s) }, func = function(args, data) insert(data.categories, 1, langname .. " cardinal numbers") if args.f[1] then insert(data.genders, "m") parse_and_insert_inflection(data, args, "f", "feminine") end parse_and_insert_inflection(data, args, "mapoc", "masculine before a noun") end, pos_category = "numerals", } ----------------------------------------------------------------------------------------- -- Nouns -- ----------------------------------------------------------------------------------------- local allowed_genders = m_table.listToSet( {"m", "f", "mf", "mfbysense", "mfequiv", "gneut", "n", "m-p", "f-p", "mf-p", "mfbysense-p", "mfequiv-p", "gneut-p", "n-p", "?", "?-p"} ) local function validate_genders(genders) for _, g in ipairs(genders) do if type(g) == "table" then g = g.spec end if not allowed_genders[g] then error("Unrecognized gender: " .. g) end end end -- Display additional inflection information for a noun local function do_noun(args, data, is_proper) local is_plurale_tantum = false local has_singular = false local category_plpos = data.checkredlinks if category_plpos == true then category_plpos = data.pos_category end local category_pos = m_en_utilities.singularize(category_plpos) validate_genders(args[1]) data.genders = args[1] local saw_m = false local saw_f = false local saw_gneut = false local gender_for_irreg_ending, gender_for_make_plural -- Check for specific genders and pluralia tantum. for _, g in ipairs(args[1]) do if type(g) == "table" then g = g.spec end if g:find("-p$") then is_plurale_tantum = true else has_singular = true if g == "m" or g == "mf" or g == "mfbysense" then saw_m = true end if g == "f" or g == "mf" or g == "mfbysense" then saw_f = true end if g == "gneut" then saw_gneut = true end end end if saw_m and saw_f then gender_for_irreg_ending = "mf" elseif saw_f then gender_for_irreg_ending = "f" else gender_for_irreg_ending = "m" end gender_for_make_plural = saw_gneut and "gneut" or gender_for_irreg_ending local lemma = data.pagename local plurals = {} if is_plurale_tantum and not has_singular then if args[2][1] then error("Can't specify plurals of plurale tantum " .. category_pos) end insert(data.inflections, {label = glossary_link("plural only")}) else plurals = m_headword_utilities.parse_term_list_with_modifiers { paramname = {2, "pl"}, forms = args[2], splitchar = ",", } -- Check for special plural signals local mode = nil local pl1 = plurals[1] if pl1 and #pl1.term == 1 then mode = pl1.term if mode == "?" or mode == "!" or mode == "-" or mode == "~" then pl1.term = nil if next(pl1) then error(("Can't specify inline modifiers with plural code '%s'"):format(mode)) end remove(plurals, 1) -- Remove the mode parameter elseif mode ~= "+" and mode ~= "#" then error(("Unexpected plural code '%s'"):format(mode)) end end if mode == "?" then -- Plural is unknown insert(data.categories, langname .. " " .. category_plpos .. " with unknown or uncertain plurals") elseif mode == "!" then -- Plural is not attested insert(data.inflections, {label = "plural not attested"}) insert(data.categories, langname .. " " .. category_plpos .. " with unattested plurals") if plurals[1] then error("Can't specify any plurals along with unattested plural code '!'") end elseif mode == "-" then -- Uncountable noun; may occasionally have a plural insert(data.categories, langname .. " uncountable " .. category_plpos) -- If plural forms were given explicitly, then show "usually" if plurals[1] then insert(data.inflections, {label = "usually " .. glossary_link("uncountable")}) insert(data.categories, langname .. " countable " .. category_plpos) else insert(data.inflections, {label = glossary_link("uncountable")}) end else -- Countable or mixed countable/uncountable if not plurals[1] and not is_proper then plurals[1] = {term = "+"} end if mode == "~" then -- Mixed countable/uncountable noun, always has a plural insert(data.inflections, {label = glossary_link("countable") .. " and " .. glossary_link("uncountable")}) insert(data.categories, langname .. " 불가산" .. category_plpos) insert(data.categories, langname .. " 가산" .. category_plpos) elseif plurals[1] then -- Countable nouns insert(data.categories, langname .. " 가산" .. category_plpos) else -- Uncountable nouns insert(data.categories, langname .. " 불가산" .. category_plpos) end end -- Gather plurals, handling requests for default plurals. local has_default_or_hash = false for _, pl in ipairs(plurals) do if pl.term:find("^%+") or pl.term:find("#") then has_default_or_hash = true break end end if has_default_or_hash then local newpls = {} for _, pl in ipairs(plurals) do if pl.term == "+" then local default_pls = com.make_plural(lemma, gender_for_make_plural) insert_defpls(default_pls, pl, newpls) elseif pl.term:find("^%+") then pl.term = require(romut_module).get_special_indicator(pl.term) local default_pls = com.make_plural(lemma, gender_for_make_plural, pl.term) insert_defpls(default_pls, pl, newpls) else pl.term = replace_hash_with_lemma(pl.term, lemma) insert(newpls, pl) end end plurals = newpls end end if #plurals > 1 then insert(data.categories, langname .. " " .. category_plpos .. " with multiple plurals") end -- Gather masculines/feminines. For each one, generate the corresponding plural(s). `field` is the name of the -- field containing the masculine or feminine forms (normally "m" or "f"); `gender` is "m" or "f" for the gender -- of the forms; `inflect` is a function of one or two arguments to generate the default masculine or feminine from -- the lemma (the arguments are the lemma and optionally a "special" flag to indicate how to handle multiword -- lemmas, and the function is normally make_feminine or make_masculine from [[Module:es-common]]); and -- `default_plurals` is a list into which the corresponding default plurals of the gathered or generated masculine -- or feminine forms are stored. Note that there may be more default plurals than masculines or feminines, because -- some terms have multiple possible plurals. local function handle_mf(field, gender, inflect, default_plurals) local mfs = m_headword_utilities.parse_term_list_with_modifiers { paramname = field, forms = args[field], splitchar = ",", frob = function(term) if term == "+" then -- Generate default masculine/feminine. term = inflect(lemma) else term = replace_hash_with_lemma(term, lemma) end local special = require(romut_module).get_special_indicator(term) if special then term = inflect(lemma, special) end return term end } for _, mf in ipairs(mfs) do local mfpls = com.make_plural(mf.term, gender, special) if mfpls then for _, mfpl in ipairs(mfpls) do local plobj = m_table.shallowCopy(mf) plobj.term = mfpl -- Add an accelerator for each masculine/feminine plural whose lemma -- is the corresponding singular, so that the accelerated entry -- that is generated has a definition that looks like -- # {{plural of|es|MFSING}} plobj.accel = {form = "p", lemma = mf.term} insert(default_plurals, plobj) end end end return mfs end local feminine_plurals = {} local feminines = handle_mf("f", "f", com.make_feminine, feminine_plurals) local masculine_plurals = {} local masculines = handle_mf("m", "m", com.make_masculine, masculine_plurals) local function handle_mf_plural(mfplfield, gender, default_plurals, singulars) local mfpl = m_headword_utilities.parse_term_list_with_modifiers { paramname = mfplfield, forms = args[mfplfield], splitchar = ",", } local new_mfpls = {} local saw_plus for i, mfpl in ipairs(mfpl) do local accel if #mfpl == #singulars then -- If same number of overriding masculine/feminine plurals as singulars, -- assume each plural goes with the corresponding singular -- and use each corresponding singular as the lemma in the accelerator. -- The generated entry will have # {{plural of|es|SINGULAR}} as the -- definition. accel = {form = "p", lemma = singulars[i].term} else accel = nil end if mfpl.term == "+" then -- We should never see + twice. If we do, it will lead to problems since we overwrite the values of -- default_plurals the first time around. if saw_plus then error(("Saw + twice when handling %s="):format(mfplfield)) end saw_plus = true for _, defpl in ipairs(default_plurals) do -- defpl is already a table and has an accel field m_headword_utilities.combine_termobj_qualifiers_labels(defpl, mfpl) insert(new_mfpls, defpl) end elseif mfpl.term:find("^%+") then mfpl.term = require(romut_module).get_special_indicator(mfpl.term) for _, mf in ipairs(singulars) do local default_mfpls = com.make_plural(mf.term, gender, mfpl.term) for _, defp in ipairs(default_mfpls) do local mfplobj = m_table.shallowCopy(mfpl) mfplobj.term = defp mfplobj.accel = accel m_headword_utilities.combine_termobj_qualifiers_labels(mfplobj, mf) insert(new_mfpls, mfplobj) end end else mfpl.accel = accel mfpl.term = replace_hash_with_lemma(mfpl.term, lemma) insert(new_mfpls, mfpl) end end return new_mfpls end if args.fpl[1] then -- Override any existing feminine plurals. feminine_plurals = handle_mf_plural("fpl", "f", feminine_plurals, feminines) end if args.mpl[1] then -- Override any existing masculine plurals. masculine_plurals = handle_mf_plural("mpl", "m", masculine_plurals, masculines) end local function parse_and_insert_noun_inflection(field, label, accel) parse_and_insert_inflection(data, args, field, label, accel) end local function insert_noun_inflection(terms, label, accel) m_headword_utilities.insert_inflection { headdata = data, terms = terms, label = label, accel = accel and {form = accel} or nil, } end insert_noun_inflection(plurals, "복수", "p") insert_noun_inflection(feminines, "여성", "f") insert_noun_inflection(feminine_plurals, "여성 복수") insert_noun_inflection(masculines, "남성") insert_noun_inflection(masculine_plurals, "남성 복수") parse_and_insert_noun_inflection("dim", "축소사") parse_and_insert_noun_inflection("aug", "증대사") parse_and_insert_noun_inflection("pej", "경멸사") parse_and_insert_noun_inflection("dem", "demonym") parse_and_insert_noun_inflection("fdem", "female demonym") -- Maybe add category 'Spanish nouns with irregular gender' (or similar) local irreg_gender_lemma = rsub(lemma, " .*", "") -- only look at first word if (rfind(irreg_gender_lemma, "o$") and (gender_for_irreg_ending == "f" or gender_for_irreg_ending == "mf")) or (irreg_gender_lemma:find("a$") and (gender_for_irreg_ending == "m" or gender_for_irreg_ending == "mf")) then insert(data.categories, langname .. " nouns with irregular gender") end end local function get_noun_params(is_proper) return { [1] = {list = "g", disallow_holes = true, required = not is_proper, default = "?", type = "genders", flatten = true}, -- gender(s) [2] = {list = "pl", disallow_holes = true}, --plural override(s) ["f"] = list_param, --feminine form(s) ["m"] = list_param, --masculine form(s) ["fpl"] = list_param, --feminine plural override(s) ["mpl"] = list_param, --masculine plural override(s) ["dim"] = list_param, --diminutive(s) ["aug"] = list_param, --diminutive(s) ["pej"] = list_param, --pejorative(s) ["dem"] = list_param, --demonym(s) ["fdem"] = list_param, --female demonym(s) } end pos_functions["명사"] = { params = get_noun_params(), func = do_noun, } pos_functions["고유명사"] = { params = get_noun_params("is proper"), func = function(args, data) do_noun(args, data, "is proper") end, } ----------------------------------------------------------------------------------------- -- Verbs -- ----------------------------------------------------------------------------------------- pos_functions["동사"] = { params = { [1] = {}, ["pres"] = list_param, --present ["pres_qual"] = {list = "pres\1_qual", allow_holes = true}, ["pret"] = list_param, --preterite ["pret_qual"] = {list = "pret\1_qual", allow_holes = true}, ["part"] = list_param, --participle ["part_qual"] = {list = "part\1_qual", allow_holes = true}, ["pagename"] = {}, -- for testing ["noautolinktext"] = boolean_param, ["noautolinkverb"] = boolean_param, ["attn"] = boolean_param, }, func = function(args, data) local preses, prets, parts if args.attn then insert(data.categories, "Requests for attention concerning " .. langname) return end local es_verb = require(es_verb_module) local alternant_multiword_spec = es_verb.do_generate_forms(args, "es-verb", data.heads[1]) local specforms = alternant_multiword_spec.forms local function slot_exists(slot) return specforms[slot] and specforms[slot][1] end local function do_finite(slot_tense, label_tense) -- Use pres_3s if it exists and pres_1s doesn't exist (e.g. impersonal verbs); similarly for pres_3p (only3p verbs); -- but fall back to pres_1s if neither pres_1s nor pres_3s nor pres_3p exist (e.g. [[empedernir]]). local has_1s = slot_exists(slot_tense .. "_1s") local has_3s = slot_exists(slot_tense .. "_3s") local has_3p = slot_exists(slot_tense .. "_3p") if has_1s or (not has_3s and not has_3p) then return { slot = slot_tense .. "_1s", label = ("first-person singular %s"):format(label_tense), } elseif has_3s then return { slot = slot_tense .. "_3s", label = ("third-person singular %s"):format(label_tense), } else return { slot = slot_tense .. "_3p", label = ("third-person plural %s"):format(label_tense), } end end preses = do_finite("pres", "present") prets = do_finite("pret", "preterite") parts = { slot = "pp_ms", label = "past participle", } if args.pres[1] or args.pret[1] or args.part[1] then track("verb-old-multiarg") end 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 insert(stripped_qualifiers, stripped_qualifier) end return stripped_qualifiers end local function do_verb_form(args, qualifiers, slot_desc, skip_if_empty) local forms local to_insert if #args == 0 then forms = specforms[slot_desc.slot] if not forms or #forms == 0 then if skip_if_empty then return end forms = {{form = "-"}} end elseif #args == 1 and args[1] == "-" then forms = {{form = "-"}} else forms = {} for i, arg in ipairs(args) do local qual = qualifiers[i] if qual then -- FIXME: It's annoying we have to add brackets and strip them out later. The inflection -- code adds all footnotes with brackets around them; we should change this. qual = {"[" .. qual .. "]"} end local form = arg if not args.noautolinkverb then -- [[Module:inflection utilities]] already loaded by [[Module:es-verb]] form = require(inflection_utilities_module).add_links(form) end insert(forms, {form = form, footnotes = qual}) end end if forms[1].form == "-" then to_insert = {label = "no " .. slot_desc.label} else local into_table = {label = slot_desc.label} for _, form in ipairs(forms) do local qualifiers = strip_brackets(form.footnotes) -- Strip redundant brackets surrounding entire form. These may get generated e.g. -- if we use the angle bracket notation with a single word. local stripped_form = rmatch(form.form, "^%[%[([^%[%]]*)%]%]$") or form.form -- Don't include accelerators if brackets remain in form, as the result will be wrong. -- FIXME: For now, don't include accelerators. We should use {{es-verb form of}} instead. -- local this_accel = not stripped_form:find("%[%[") and accel or nil local this_accel = nil insert(into_table, {term = stripped_form, q = qualifiers, accel = this_accel}) end to_insert = into_table end insert(data.inflections, to_insert) end local skip_pres_if_empty if alternant_multiword_spec.no_pres1_and_sub then insert(data.inflections, {label = "no first-person singular present"}) insert(data.inflections, {label = "no present subjunctive"}) end if alternant_multiword_spec.no_pres_stressed then insert(data.inflections, {label = "no stressed present indicative or subjunctive"}) skip_pres_if_empty = true end if alternant_multiword_spec.only3s then insert(data.inflections, {label = glossary_link("impersonal")}) elseif alternant_multiword_spec.only3sp then insert(data.inflections, {label = "third-person only"}) elseif alternant_multiword_spec.only3p then insert(data.inflections, {label = "third-person plural only"}) end do_verb_form(args.pres, args.pres_qual, preses, skip_pres_if_empty) do_verb_form(args.pret, args.pret_qual, prets) do_verb_form(args.part, args.part_qual, parts) -- Add categories. for _, cat in ipairs(alternant_multiword_spec.categories) do insert(data.categories, cat) end -- If the user didn't explicitly specify head=, or specified exactly one head (not 2+) and we were able to -- incorporate any links in that head into the 1= specification, use the infinitive generated by -- [[Module:es-verb]] in place of the user-specified or auto-generated head. This was copied from -- [[Module:it-headword]], where doing this gets accents marked on the verb(s). We don't have accents marked on -- the verb but by doing this we do get any footnotes on the infinitive propagated here. Don't do this if the -- user gave multiple heads or gave a head with a multiword-linked verbal expression such as Italian -- '[[dare esca]] [[al]] [[fuoco]]' (FIXME: give Spanish equivalent). if #data.user_specified_heads == 0 or ( #data.user_specified_heads == 1 and alternant_multiword_spec.incorporated_headword_head_into_lemma ) then data.heads = {} for _, lemma_obj in ipairs(alternant_multiword_spec.forms.infinitive_linked) do local quals, refs = require(inflection_utilities_module). convert_footnotes_to_qualifiers_and_references(lemma_obj.footnotes) insert(data.heads, {term = lemma_obj.form, q = quals, refs = refs}) end end end } ----------------------------------------------------------------------------------------- -- Phrases -- ----------------------------------------------------------------------------------------- pos_functions["어구"] = { params = { ["g"] = {list = true, disallow_holes = true, type = "genders", flatten = true}, ["m"] = list_param, ["f"] = list_param, }, func = function(args, data) validate_genders(args.g) data.genders = args.g parse_and_insert_inflection(data, args, "m", "masculine") parse_and_insert_inflection(data, args, "f", "feminine") end, } ----------------------------------------------------------------------------------------- -- Suffix forms -- ----------------------------------------------------------------------------------------- pos_functions["suffix forms"] = { params = { [1] = {required = true, list = true, disallow_holes = true}, ["g"] = {list = true, disallow_holes = true, type = "genders", flatten = true}, }, func = function(args, data) validate_genders(args.g) data.genders = args.g local suffix_type = {} for _, typ in ipairs(args[1]) do insert(suffix_type, typ .. "-forming suffix") end insert(data.inflections, {label = "non-lemma form of " .. require("Module:table").serialCommaJoin(suffix_type, {conj = "or"})}) end, } return export b5oynzw9568fieetcmhjkpjtsdb5q5b 4486407 4486404 2026-09-07T12:38:06Z Intolerable situation 23954 4486407 Scribunto text/plain local export = {} local pos_functions = {} local force_cat = false -- for testing; if true, categories appear in non-mainspace pages local rfind = mw.ustring.find local rmatch = mw.ustring.match local require_when_needed = require("Module:utilities/require when needed") local m_table = require("Module:table") local com = require("Module:es-common") local en_utilities_module = "Module:en-utilities" local es_verb_module = "Module:es-verb" local headword_module = "Module:headword" local headword_utilities_module = "Module:headword utilities" local inflection_utilities_module = "Module:inflection utilities" local romut_module = "Module:romance utilities" local m_en_utilities = require_when_needed(en_utilities_module) local m_headword_utilities = require_when_needed(headword_utilities_module) local m_string_utilities = require_when_needed("Module:string utilities") local glossary_link = require_when_needed(headword_utilities_module, "glossary_link") local lang = require("Module:languages").getByCode("es") local langname = lang:getCanonicalName() local insert = table.insert local remove = table.remove local rsub = com.rsub local sort = table.sort local ulower = mw.ustring.lower local usub = mw.ustring.sub local uupper = mw.ustring.upper local function track(page) require("Module:debug").track("es-headword/" .. page) return true end local list_param = {list = true, disallow_holes = true} local boolean_param = {type = "boolean"} -- 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 parargs = frame:getParent().args local params = { ["head"] = list_param, ["id"] = true, ["splithyph"] = boolean_param, ["nolink"] = boolean_param, ["nolinkhead"] = {alias_of = "nolink"}, ["json"] = boolean_param, ["pagename"] = true, -- for testing } if pos_functions[poscat] then for key, val in pairs(pos_functions[poscat].params) do params[key] = val end end local args = require("Module:parameters").process(parargs, params) local pagename = args.pagename or mw.loadData("Module:headword/data").pagename local user_specified_heads = args.head local heads = user_specified_heads if args.nolink then if #heads == 0 then heads = {pagename} end else local romut = require(romut_module) local auto_linked_head = romut.add_links_to_multiword_term(pagename, args.splithyph) if #heads == 0 then heads = {auto_linked_head} else for i, head in ipairs(heads) do if head:find("^~") then head = romut.apply_link_modifiers(auto_linked_head, usub(head, 2)) heads[i] = head end end end end local data = { lang = lang, pos_category = pos_functions[poscat] and pos_functions[poscat].pos_category or poscat, categories = {}, heads = heads, user_specified_heads = user_specified_heads, no_redundant_head_cat = #user_specified_heads == 0, genders = {}, inflections = {}, pagename = pagename, id = args.id, force_cat_output = force_cat, checkredlinks = pos_functions[poscat] and pos_functions[poscat].redlink_pos or true, } if pagename:find("^%-") and poscat ~= "suffix forms" then data.is_suffix = true data.pos_category = "suffixes" data.checkredlinks = true local singular_poscat = m_en_utilities.singularize(poscat) insert(data.categories, langname .. " " .. singular_poscat .. "-forming suffixes") insert(data.inflections, {label = singular_poscat .. "-forming suffix"}) end local pagename_lower = ulower(pagename) for _, ch in ipairs{"jh", "kh", "ph", "qü", "sh", "th", "tl", "ts", "tz", "wh", "zh", "ze", "zi"} do if pagename_lower:find(ch) then insert(data.categories, langname .. " terms spelled with " .. uupper(ch)) end end if pos_functions[poscat] then pos_functions[poscat].func(args, data) end if args.json then return require("Module:JSON").toJSON(data) end return require(headword_module).full_headword(data) end ----------------------------------------------------------------------------------------- -- Utility functions -- ----------------------------------------------------------------------------------------- local function replace_hash_with_lemma(term, lemma) -- If there is a % sign in the lemma, we have to replace it with %% so it doesn't get interpreted as a capture -- replace expression. lemma = m_string_utilities.replacement_escape(lemma) return (term:gsub("#", lemma)) -- discard second retval end -- Parse and insert an inflection not requiring additional processing into `data.inflections`. The raw arguments come -- from `args[field]`, which is parsed for inline modifiers. `label` is the label that the inflections are given; -- `accel` is the accelerator form, or nil. local function parse_and_insert_inflection(data, args, field, label, accel) m_headword_utilities.parse_and_insert_inflection { headdata = data, forms = args[field], paramname = field, splitchar = ",", label = label, accel = accel and {form = accel} or nil, } end -- Insert default plurals generated when a given plural had the value of + and default plurals were fetched as a result. -- `plobj` is the parsed object whose `term` field is "+". `defpls` is the list of default plurals. `dest` is the list -- into which the plurals are inserted (which inherit their qualifiers and labels from `plobj`). local function insert_defpls(defpls, plobj, dest) if not defpls then -- Happens e.g. with [[S.A.]] where the default plural algorithm returns nothing. return end if #defpls == 1 then plobj.term = defpls[1] insert(dest, plobj) else for _, defpl in ipairs(defpls) do local newplobj = m_table.shallowCopy(plobj) newplobj.term = defpl insert(dest, newplobj) end end end ----------------------------------------------------------------------------------------- -- Adjectives -- ----------------------------------------------------------------------------------------- local function do_adjective(args, data, is_superlative) local feminines = {} local masculine_plurals = {} local feminine_plurals = {} -- Use "participle" not "past participle" for categories such as 'invariable participles' local category_plpos = data.checkredlinks if category_plpos == true then category_plpos = data.pos_category end local category_pos = m_en_utilities.singularize(category_plpos) if args.sp then local romut = require(romut_module) if not romut.allowed_special_indicators[args.sp] then local indicators = {} for indic, _ in pairs(romut.allowed_special_indicators) do insert(indicators, "'" .. indic .. "'") end sort(indicators) error("Special inflection indicator beginning can only be " .. mw.text.listToText(indicators) .. ": " .. args.sp) end end local lemma = data.pagename local function fetch_inflections(field) local retval = m_headword_utilities.parse_term_list_with_modifiers { paramname = field, forms = args[field], splitchar = ",", } if not retval[1] then return {{term = "+"}} end return retval end local function insert_inflection(terms, label, accel) m_headword_utilities.insert_inflection { headdata = data, terms = terms, label = label, accel = accel and {form = accel} or nil, } end if args.inv then -- invariable adjective insert(data.inflections, {label = glossary_link("불변사")}) insert(data.categories, langname .. " 불변" .. category_plpos) if args.sp or args.f[1] or args.pl[1] or args.mpl[1] or args.fpl[1] then error("Can't specify inflections with an invariable " .. category_pos) end elseif args.fonly then -- feminine-only if args.f[1] then error("Can't specify explicit feminines with feminine-only " .. category_pos) end if args.pl[1] then error("Can't specify explicit plurals with feminine-only " .. category_pos .. ", use fpl=") end if args.mpl[1] then error("Can't specify explicit masculine plurals with feminine-only " .. category_pos) end local argsfpl = fetch_inflections("fpl") for _, fpl in ipairs(argsfpl) do if fpl.term == "+" then -- Generate default feminine plural. local defpls = com.make_plural(lemma, "f", args.sp) if not defpls then error("Unable to generate default plural of '" .. lemma .. "'") end insert_defpls(defpls, fpl, feminine_plurals) else fpl.term = replace_hash_with_lemma(fpl.term, lemma) insert(feminine_plurals, fpl) end end insert(data.inflections, {label = "feminine-only"}) insert_inflection(feminine_plurals, "feminine plural", "f|p") else -- Gather feminines. for _, f in ipairs(fetch_inflections("f")) do if f.term == "+" then -- Generate default feminine. f.term = com.make_feminine(lemma, args.sp) else f.term = replace_hash_with_lemma(f.term, lemma) end insert(feminines, f) end local fem_like_lemma = #feminines == 1 and feminines[1].term == lemma and not m_headword_utilities.termobj_has_qualifiers_or_labels(feminines[1]) if fem_like_lemma then insert(data.categories, langname .. " epicene " .. category_plpos) end local mpl_field = "mpl" local fpl_field = "fpl" if args.pl[1] then if args.mpl[1] or args.fpl[1] then error("Can't specify both pl= and mpl=/fpl=") end mpl_field = "pl" fpl_field = "pl" end local argsmpl = fetch_inflections(mpl_field) local argsfpl = fetch_inflections(fpl_field) for _, mpl in ipairs(argsmpl) do if mpl.term == "+" then -- Generate default masculine plural. local defpls = com.make_plural(lemma, "m", args.sp) if not defpls then error("Unable to generate default plural of '" .. lemma .. "'") end insert_defpls(defpls, mpl, masculine_plurals) else mpl.term = replace_hash_with_lemma(mpl.term, lemma) insert(masculine_plurals, mpl) end end for _, fpl in ipairs(argsfpl) do if fpl.term == "+" then for _, f in ipairs(feminines) do -- Generate default feminine plural; f is a table. local defpls = com.make_plural(f.term, "f", args.sp) if not defpls then error("Unable to generate default plural of '" .. f.term .. "'") end for _, defpl in ipairs(defpls) do local fplobj = m_table.shallowCopy(fpl) fplobj.term = defpl m_headword_utilities.combine_termobj_qualifiers_labels(fplobj, f) insert(feminine_plurals, fplobj) end end else fpl.term = replace_hash_with_lemma(fpl.term, lemma) insert(feminine_plurals, fpl) end end parse_and_insert_inflection(data, args, "mapoc", "남성 단수(명사 앞)") local fem_pl_like_masc_pl = masculine_plurals[1] and feminine_plurals[1] and m_table.deepEquals(masculine_plurals, feminine_plurals) local masc_pl_like_lemma = #masculine_plurals == 1 and masculine_plurals[1].term == lemma and not m_headword_utilities.termobj_has_qualifiers_or_labels(masculine_plurals[1]) if fem_like_lemma and fem_pl_like_masc_pl and masc_pl_like_lemma then -- actually invariable insert(data.inflections, {label = glossary_link("불변사")}) insert(data.categories, langname .. " 불변" .. category_plpos) else -- Make sure there are feminines given and not same as lemma. if not fem_like_lemma then insert_inflection(feminines, "여성", "f|s") elseif args.gneut then data.genders = {"gneut"} else data.genders = {"mf"} end if fem_pl_like_masc_pl then if args.gneut then insert_inflection(masculine_plurals, "복수", "p") else insert_inflection(masculine_plurals, "남성 복수 및 여성 복수", "p") end else insert_inflection(masculine_plurals, "남성 복수", "m|p") insert_inflection(feminine_plurals, "여성 복수", "f|p") end end end parse_and_insert_inflection(data, args, "comp", "비교급") parse_and_insert_inflection(data, args, "sup", "최상급") parse_and_insert_inflection(data, args, "dim", "축소사") parse_and_insert_inflection(data, args, "aug", "증대사") if args.irreg and is_superlative then insert(data.categories, langname .. " irregular superlative " .. category_plpos) end end local function get_adjective_params(adjtype) local params = { ["inv"] = boolean_param, --invariable ["sp"] = true, -- special indicator: "first", "first-last", etc. } local function ins_infl(field) params[field] = list_param --feminine form(s) end ins_infl("f") -- feminine form(s) ins_infl("pl") -- plural override(s) ins_infl("mpl") -- masculine plural override(s) ins_infl("fpl") -- feminine plural override(s) if adjtype == "base" then ins_infl("mapoc") --masculine apocopated (before a noun) ins_infl("comp") --comparative(s) ins_infl("sup") --superlative(s) ins_infl("dim") --diminutive(s) ins_infl("aug") --augmentative(s) params["fonly"] = boolean_param -- feminine only params["gneut"] = boolean_param -- gender-neutral adjective e.g. [[latine]] params["hascomp"] = true -- has comparative end if adjtype == "sup" then params["irreg"] = boolean_param end return params end pos_functions["형용사"] = { params = get_adjective_params("base"), func = do_adjective, } pos_functions["과거분사"] = { params = get_adjective_params("part"), func = do_adjective, redlink_pos = "분사", } pos_functions["한정사"] = { params = get_adjective_params("det"), func = do_adjective, } pos_functions["대명사"] = { params = get_adjective_params("pron"), func = do_adjective, } pos_functions["형용사 비교급"] = { params = get_adjective_params("comp"), func = do_adjective, pos_category = "형용사", } pos_functions["형용사 최상급"] = { params = get_adjective_params("sup"), func = function(args, data) do_adjective(args, data, true) end, pos_category = "형용사", } ----------------------------------------------------------------------------------------- -- Adverbs -- ----------------------------------------------------------------------------------------- pos_functions["부사"] = { params = { ["sup"] = list_param, --superlative(s) }, func = function(args, data) parse_and_insert_inflection(data, args, "sup", "최상급") end, } ----------------------------------------------------------------------------------------- -- Numerals -- ----------------------------------------------------------------------------------------- pos_functions["기수"] = { params = { ["f"] = list_param, --feminine(s) ["mapoc"] = list_param, --masculine apocopated form(s) }, func = function(args, data) insert(data.categories, 1, langname .. " 기수") if args.f[1] then insert(data.genders, "m") parse_and_insert_inflection(data, args, "f", "여성") end parse_and_insert_inflection(data, args, "mapoc", "남성(명사 앞)") end, pos_category = "수사", } ----------------------------------------------------------------------------------------- -- Nouns -- ----------------------------------------------------------------------------------------- local allowed_genders = m_table.listToSet( {"m", "f", "mf", "mfbysense", "mfequiv", "gneut", "n", "m-p", "f-p", "mf-p", "mfbysense-p", "mfequiv-p", "gneut-p", "n-p", "?", "?-p"} ) local function validate_genders(genders) for _, g in ipairs(genders) do if type(g) == "table" then g = g.spec end if not allowed_genders[g] then error("Unrecognized gender: " .. g) end end end -- Display additional inflection information for a noun local function do_noun(args, data, is_proper) local is_plurale_tantum = false local has_singular = false local category_plpos = data.checkredlinks if category_plpos == true then category_plpos = data.pos_category end local category_pos = m_en_utilities.singularize(category_plpos) validate_genders(args[1]) data.genders = args[1] local saw_m = false local saw_f = false local saw_gneut = false local gender_for_irreg_ending, gender_for_make_plural -- Check for specific genders and pluralia tantum. for _, g in ipairs(args[1]) do if type(g) == "table" then g = g.spec end if g:find("-p$") then is_plurale_tantum = true else has_singular = true if g == "m" or g == "mf" or g == "mfbysense" then saw_m = true end if g == "f" or g == "mf" or g == "mfbysense" then saw_f = true end if g == "gneut" then saw_gneut = true end end end if saw_m and saw_f then gender_for_irreg_ending = "mf" elseif saw_f then gender_for_irreg_ending = "f" else gender_for_irreg_ending = "m" end gender_for_make_plural = saw_gneut and "gneut" or gender_for_irreg_ending local lemma = data.pagename local plurals = {} if is_plurale_tantum and not has_singular then if args[2][1] then error("Can't specify plurals of plurale tantum " .. category_pos) end insert(data.inflections, {label = glossary_link("plural only")}) else plurals = m_headword_utilities.parse_term_list_with_modifiers { paramname = {2, "pl"}, forms = args[2], splitchar = ",", } -- Check for special plural signals local mode = nil local pl1 = plurals[1] if pl1 and #pl1.term == 1 then mode = pl1.term if mode == "?" or mode == "!" or mode == "-" or mode == "~" then pl1.term = nil if next(pl1) then error(("Can't specify inline modifiers with plural code '%s'"):format(mode)) end remove(plurals, 1) -- Remove the mode parameter elseif mode ~= "+" and mode ~= "#" then error(("Unexpected plural code '%s'"):format(mode)) end end if mode == "?" then -- Plural is unknown insert(data.categories, langname .. " " .. category_plpos .. " with unknown or uncertain plurals") elseif mode == "!" then -- Plural is not attested insert(data.inflections, {label = "plural not attested"}) insert(data.categories, langname .. " " .. category_plpos .. " with unattested plurals") if plurals[1] then error("Can't specify any plurals along with unattested plural code '!'") end elseif mode == "-" then -- Uncountable noun; may occasionally have a plural insert(data.categories, langname .. " 불가산" .. category_plpos) -- If plural forms were given explicitly, then show "usually" if plurals[1] then insert(data.inflections, {label = "일반적으로 " .. glossary_link("불가산")}) insert(data.categories, langname .. " 가산" .. category_plpos) else insert(data.inflections, {label = glossary_link("불가산")}) end else -- Countable or mixed countable/uncountable if not plurals[1] and not is_proper then plurals[1] = {term = "+"} end if mode == "~" then -- Mixed countable/uncountable noun, always has a plural insert(data.inflections, {label = glossary_link("가산") .. " and " .. glossary_link("불가산")}) insert(data.categories, langname .. " 불가산" .. category_plpos) insert(data.categories, langname .. " 가산" .. category_plpos) elseif plurals[1] then -- Countable nouns insert(data.categories, langname .. " 가산" .. category_plpos) else -- Uncountable nouns insert(data.categories, langname .. " 불가산" .. category_plpos) end end -- Gather plurals, handling requests for default plurals. local has_default_or_hash = false for _, pl in ipairs(plurals) do if pl.term:find("^%+") or pl.term:find("#") then has_default_or_hash = true break end end if has_default_or_hash then local newpls = {} for _, pl in ipairs(plurals) do if pl.term == "+" then local default_pls = com.make_plural(lemma, gender_for_make_plural) insert_defpls(default_pls, pl, newpls) elseif pl.term:find("^%+") then pl.term = require(romut_module).get_special_indicator(pl.term) local default_pls = com.make_plural(lemma, gender_for_make_plural, pl.term) insert_defpls(default_pls, pl, newpls) else pl.term = replace_hash_with_lemma(pl.term, lemma) insert(newpls, pl) end end plurals = newpls end end if #plurals > 1 then insert(data.categories, langname .. " " .. category_plpos .. " with multiple plurals") end -- Gather masculines/feminines. For each one, generate the corresponding plural(s). `field` is the name of the -- field containing the masculine or feminine forms (normally "m" or "f"); `gender` is "m" or "f" for the gender -- of the forms; `inflect` is a function of one or two arguments to generate the default masculine or feminine from -- the lemma (the arguments are the lemma and optionally a "special" flag to indicate how to handle multiword -- lemmas, and the function is normally make_feminine or make_masculine from [[Module:es-common]]); and -- `default_plurals` is a list into which the corresponding default plurals of the gathered or generated masculine -- or feminine forms are stored. Note that there may be more default plurals than masculines or feminines, because -- some terms have multiple possible plurals. local function handle_mf(field, gender, inflect, default_plurals) local mfs = m_headword_utilities.parse_term_list_with_modifiers { paramname = field, forms = args[field], splitchar = ",", frob = function(term) if term == "+" then -- Generate default masculine/feminine. term = inflect(lemma) else term = replace_hash_with_lemma(term, lemma) end local special = require(romut_module).get_special_indicator(term) if special then term = inflect(lemma, special) end return term end } for _, mf in ipairs(mfs) do local mfpls = com.make_plural(mf.term, gender, special) if mfpls then for _, mfpl in ipairs(mfpls) do local plobj = m_table.shallowCopy(mf) plobj.term = mfpl -- Add an accelerator for each masculine/feminine plural whose lemma -- is the corresponding singular, so that the accelerated entry -- that is generated has a definition that looks like -- # {{plural of|es|MFSING}} plobj.accel = {form = "p", lemma = mf.term} insert(default_plurals, plobj) end end end return mfs end local feminine_plurals = {} local feminines = handle_mf("f", "f", com.make_feminine, feminine_plurals) local masculine_plurals = {} local masculines = handle_mf("m", "m", com.make_masculine, masculine_plurals) local function handle_mf_plural(mfplfield, gender, default_plurals, singulars) local mfpl = m_headword_utilities.parse_term_list_with_modifiers { paramname = mfplfield, forms = args[mfplfield], splitchar = ",", } local new_mfpls = {} local saw_plus for i, mfpl in ipairs(mfpl) do local accel if #mfpl == #singulars then -- If same number of overriding masculine/feminine plurals as singulars, -- assume each plural goes with the corresponding singular -- and use each corresponding singular as the lemma in the accelerator. -- The generated entry will have # {{plural of|es|SINGULAR}} as the -- definition. accel = {form = "p", lemma = singulars[i].term} else accel = nil end if mfpl.term == "+" then -- We should never see + twice. If we do, it will lead to problems since we overwrite the values of -- default_plurals the first time around. if saw_plus then error(("Saw + twice when handling %s="):format(mfplfield)) end saw_plus = true for _, defpl in ipairs(default_plurals) do -- defpl is already a table and has an accel field m_headword_utilities.combine_termobj_qualifiers_labels(defpl, mfpl) insert(new_mfpls, defpl) end elseif mfpl.term:find("^%+") then mfpl.term = require(romut_module).get_special_indicator(mfpl.term) for _, mf in ipairs(singulars) do local default_mfpls = com.make_plural(mf.term, gender, mfpl.term) for _, defp in ipairs(default_mfpls) do local mfplobj = m_table.shallowCopy(mfpl) mfplobj.term = defp mfplobj.accel = accel m_headword_utilities.combine_termobj_qualifiers_labels(mfplobj, mf) insert(new_mfpls, mfplobj) end end else mfpl.accel = accel mfpl.term = replace_hash_with_lemma(mfpl.term, lemma) insert(new_mfpls, mfpl) end end return new_mfpls end if args.fpl[1] then -- Override any existing feminine plurals. feminine_plurals = handle_mf_plural("fpl", "f", feminine_plurals, feminines) end if args.mpl[1] then -- Override any existing masculine plurals. masculine_plurals = handle_mf_plural("mpl", "m", masculine_plurals, masculines) end local function parse_and_insert_noun_inflection(field, label, accel) parse_and_insert_inflection(data, args, field, label, accel) end local function insert_noun_inflection(terms, label, accel) m_headword_utilities.insert_inflection { headdata = data, terms = terms, label = label, accel = accel and {form = accel} or nil, } end insert_noun_inflection(plurals, "복수", "p") insert_noun_inflection(feminines, "여성", "f") insert_noun_inflection(feminine_plurals, "여성 복수") insert_noun_inflection(masculines, "남성") insert_noun_inflection(masculine_plurals, "남성 복수") parse_and_insert_noun_inflection("dim", "축소사") parse_and_insert_noun_inflection("aug", "증대사") parse_and_insert_noun_inflection("pej", "경멸사") parse_and_insert_noun_inflection("dem", "demonym") parse_and_insert_noun_inflection("fdem", "female demonym") -- Maybe add category 'Spanish nouns with irregular gender' (or similar) local irreg_gender_lemma = rsub(lemma, " .*", "") -- only look at first word if (rfind(irreg_gender_lemma, "o$") and (gender_for_irreg_ending == "f" or gender_for_irreg_ending == "mf")) or (irreg_gender_lemma:find("a$") and (gender_for_irreg_ending == "m" or gender_for_irreg_ending == "mf")) then insert(data.categories, langname .. " nouns with irregular gender") end end local function get_noun_params(is_proper) return { [1] = {list = "g", disallow_holes = true, required = not is_proper, default = "?", type = "genders", flatten = true}, -- gender(s) [2] = {list = "pl", disallow_holes = true}, --plural override(s) ["f"] = list_param, --feminine form(s) ["m"] = list_param, --masculine form(s) ["fpl"] = list_param, --feminine plural override(s) ["mpl"] = list_param, --masculine plural override(s) ["dim"] = list_param, --diminutive(s) ["aug"] = list_param, --diminutive(s) ["pej"] = list_param, --pejorative(s) ["dem"] = list_param, --demonym(s) ["fdem"] = list_param, --female demonym(s) } end pos_functions["명사"] = { params = get_noun_params(), func = do_noun, } pos_functions["고유명사"] = { params = get_noun_params("is proper"), func = function(args, data) do_noun(args, data, "is proper") end, } ----------------------------------------------------------------------------------------- -- Verbs -- ----------------------------------------------------------------------------------------- pos_functions["동사"] = { params = { [1] = {}, ["pres"] = list_param, --present ["pres_qual"] = {list = "pres\1_qual", allow_holes = true}, ["pret"] = list_param, --preterite ["pret_qual"] = {list = "pret\1_qual", allow_holes = true}, ["part"] = list_param, --participle ["part_qual"] = {list = "part\1_qual", allow_holes = true}, ["pagename"] = {}, -- for testing ["noautolinktext"] = boolean_param, ["noautolinkverb"] = boolean_param, ["attn"] = boolean_param, }, func = function(args, data) local preses, prets, parts if args.attn then insert(data.categories, "Requests for attention concerning " .. langname) return end local es_verb = require(es_verb_module) local alternant_multiword_spec = es_verb.do_generate_forms(args, "es-verb", data.heads[1]) local specforms = alternant_multiword_spec.forms local function slot_exists(slot) return specforms[slot] and specforms[slot][1] end local function do_finite(slot_tense, label_tense) -- Use pres_3s if it exists and pres_1s doesn't exist (e.g. impersonal verbs); similarly for pres_3p (only3p verbs); -- but fall back to pres_1s if neither pres_1s nor pres_3s nor pres_3p exist (e.g. [[empedernir]]). local has_1s = slot_exists(slot_tense .. "_1s") local has_3s = slot_exists(slot_tense .. "_3s") local has_3p = slot_exists(slot_tense .. "_3p") if has_1s or (not has_3s and not has_3p) then return { slot = slot_tense .. "_1s", label = ("first-person singular %s"):format(label_tense), } elseif has_3s then return { slot = slot_tense .. "_3s", label = ("third-person singular %s"):format(label_tense), } else return { slot = slot_tense .. "_3p", label = ("third-person plural %s"):format(label_tense), } end end preses = do_finite("pres", "present") prets = do_finite("pret", "preterite") parts = { slot = "pp_ms", label = "past participle", } if args.pres[1] or args.pret[1] or args.part[1] then track("verb-old-multiarg") end 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 insert(stripped_qualifiers, stripped_qualifier) end return stripped_qualifiers end local function do_verb_form(args, qualifiers, slot_desc, skip_if_empty) local forms local to_insert if #args == 0 then forms = specforms[slot_desc.slot] if not forms or #forms == 0 then if skip_if_empty then return end forms = {{form = "-"}} end elseif #args == 1 and args[1] == "-" then forms = {{form = "-"}} else forms = {} for i, arg in ipairs(args) do local qual = qualifiers[i] if qual then -- FIXME: It's annoying we have to add brackets and strip them out later. The inflection -- code adds all footnotes with brackets around them; we should change this. qual = {"[" .. qual .. "]"} end local form = arg if not args.noautolinkverb then -- [[Module:inflection utilities]] already loaded by [[Module:es-verb]] form = require(inflection_utilities_module).add_links(form) end insert(forms, {form = form, footnotes = qual}) end end if forms[1].form == "-" then to_insert = {label = "no " .. slot_desc.label} else local into_table = {label = slot_desc.label} for _, form in ipairs(forms) do local qualifiers = strip_brackets(form.footnotes) -- Strip redundant brackets surrounding entire form. These may get generated e.g. -- if we use the angle bracket notation with a single word. local stripped_form = rmatch(form.form, "^%[%[([^%[%]]*)%]%]$") or form.form -- Don't include accelerators if brackets remain in form, as the result will be wrong. -- FIXME: For now, don't include accelerators. We should use {{es-verb form of}} instead. -- local this_accel = not stripped_form:find("%[%[") and accel or nil local this_accel = nil insert(into_table, {term = stripped_form, q = qualifiers, accel = this_accel}) end to_insert = into_table end insert(data.inflections, to_insert) end local skip_pres_if_empty if alternant_multiword_spec.no_pres1_and_sub then insert(data.inflections, {label = "no first-person singular present"}) insert(data.inflections, {label = "no present subjunctive"}) end if alternant_multiword_spec.no_pres_stressed then insert(data.inflections, {label = "no stressed present indicative or subjunctive"}) skip_pres_if_empty = true end if alternant_multiword_spec.only3s then insert(data.inflections, {label = glossary_link("impersonal")}) elseif alternant_multiword_spec.only3sp then insert(data.inflections, {label = "third-person only"}) elseif alternant_multiword_spec.only3p then insert(data.inflections, {label = "third-person plural only"}) end do_verb_form(args.pres, args.pres_qual, preses, skip_pres_if_empty) do_verb_form(args.pret, args.pret_qual, prets) do_verb_form(args.part, args.part_qual, parts) -- Add categories. for _, cat in ipairs(alternant_multiword_spec.categories) do insert(data.categories, cat) end -- If the user didn't explicitly specify head=, or specified exactly one head (not 2+) and we were able to -- incorporate any links in that head into the 1= specification, use the infinitive generated by -- [[Module:es-verb]] in place of the user-specified or auto-generated head. This was copied from -- [[Module:it-headword]], where doing this gets accents marked on the verb(s). We don't have accents marked on -- the verb but by doing this we do get any footnotes on the infinitive propagated here. Don't do this if the -- user gave multiple heads or gave a head with a multiword-linked verbal expression such as Italian -- '[[dare esca]] [[al]] [[fuoco]]' (FIXME: give Spanish equivalent). if #data.user_specified_heads == 0 or ( #data.user_specified_heads == 1 and alternant_multiword_spec.incorporated_headword_head_into_lemma ) then data.heads = {} for _, lemma_obj in ipairs(alternant_multiword_spec.forms.infinitive_linked) do local quals, refs = require(inflection_utilities_module). convert_footnotes_to_qualifiers_and_references(lemma_obj.footnotes) insert(data.heads, {term = lemma_obj.form, q = quals, refs = refs}) end end end } ----------------------------------------------------------------------------------------- -- Phrases -- ----------------------------------------------------------------------------------------- pos_functions["어구"] = { params = { ["g"] = {list = true, disallow_holes = true, type = "genders", flatten = true}, ["m"] = list_param, ["f"] = list_param, }, func = function(args, data) validate_genders(args.g) data.genders = args.g parse_and_insert_inflection(data, args, "m", "masculine") parse_and_insert_inflection(data, args, "f", "feminine") end, } ----------------------------------------------------------------------------------------- -- Suffix forms -- ----------------------------------------------------------------------------------------- pos_functions["suffix forms"] = { params = { [1] = {required = true, list = true, disallow_holes = true}, ["g"] = {list = true, disallow_holes = true, type = "genders", flatten = true}, }, func = function(args, data) validate_genders(args.g) data.genders = args.g local suffix_type = {} for _, typ in ipairs(args[1]) do insert(suffix_type, typ .. "-forming suffix") end insert(data.inflections, {label = "non-lemma form of " .. require("Module:table").serialCommaJoin(suffix_type, {conj = "or"})}) end, } return export 53yak1miwjm3vmiqtiy415ch1h8u6sd 뇌리 0 496731 4486423 4486381 2026-09-07T22:11:56Z Apisite 21408 /* 한국어 */ + ko-noun 4486423 wikitext text/x-wiki == 한국어 == === 어원 === {{ko-etym-Sino|腦||裏}} === 발음 === {{ko-IPA}} === 명사 === {{ko-noun|hanja=腦裏}} # 사람의 의식이나 기억, 생각 따위가 들어 있는 영역. #: {{예문|ko|'''뇌리를''' 스치다.}} #: {{예문|ko|마침 무기를 휴대하지 않았다는 후회감이 번개처럼 '''뇌리를''' 스치고 지나갔다.}} #*유의어: [[뇌중]] {{국립국어원|우리말샘|119181}} [[분류:한국어 한자어]] [[분류:한국어 자립명사]] 82vd9uefg58ho20l6u9kdu85lrv9hfq 발굽 0 496734 4486425 4486386 2026-09-07T22:28:29Z Apisite 21408 /* 한국어 */ + ko-noun 4486425 wikitext text/x-wiki == 한국어 == {{위키백과}} === 어원 === {{com|ko|발|굽}} === 발음 === {{ko-IPA|com=1}} === 명사 === {{ko-noun}} # 초식 동물의 발끝에 있는 크고 단단한 발톱. #: {{예문|ko|그는 말의 '''발굽에''' 차였다.}} #*유의어: [[굽]] #*상위어: [[발톱]] #*하위어: [[말발굽]], [[쇠발굽]], [[앞발굽]] #*방언: [[발통]], [[발곱]] # 가혹한 압제나 억압을 비유적으로 이르는 말. #: {{예문|ko|갈가리 흩어진 조선의 강산은 이제 일본의 더러운 '''발굽'''에 능욕을 당하고 있다.}} ==== 번역 ==== {{외국어| * 영어(en): [[hoof]] | }} {{국립국어원|우리말샘|1016}} {{국립국어원|우리말샘|41423}} [[분류:한국어 고유어]] [[분류:한국어 자립명사]] 8hvx3n2wn8vwc7f77gm6hbcfogg0ovi 취하 0 496736 4486424 4486393 2026-09-07T22:20:24Z Apisite 21408 /* 한국어 */ + ko-noun 4486424 wikitext text/x-wiki == 한국어 == === 어원 === {{ko-etym-Sino|取||下}} === 발음 === {{ko-IPA}} === 명사 === {{ko-noun|hanja=取下}} # 신청하였던 일이나 서류 따위를 취소함. #: {{예문|ko|고소 '''취하'''.}} #: {{예문|ko|소송 '''취하'''.}} #: {{예문|ko|항소 '''취하'''.}} #*상위어: [[취소]] {{국립국어원|우리말샘|293217}} [[분류:한국어 한자어]] [[분류:한국어 자립명사]] aqmzb3232w6yopbybblukep2084kht6 소라 0 496738 4486413 2026-09-07T19:13:05Z 기나ㅏㄴ 26437 낱말 도우미로 항목 편집 4486413 wikitext text/x-wiki == 한국어 == {{ko-IPA}} === 명사 === ==== 명사 1 ==== # 돌돔 따위의 낚시 미끼로 쓰는 조개 무리. #*방언: [[소래고동]], [[소리]] ==== 명사 2 ==== # 반자 판을 받치거나 양판문의 양판을 고정하기 위하여 대는 가는 나무오리. ⇒규범 표기는 ‘소란’이다. ==== 명사 3 ==== # 길게 따 낸 턱. ⇒규범 표기는 ‘소란’이다. ==== 명사 4 ==== * 어원: <쇼라<동의> # 소랏과의 연체동물. 껍데기의 높이는 10cm, 지름은 8cm 정도이며 두껍고 견고하다. 검은 갈색 또는 어두운 청색이고 안쪽은 희고 광택이 난다. 나사탑은 높고 6층인데 껍데기에 뿔 같은 돌기가 있다. 밤에 해초를 먹고 여름에 녹색 알을 낳는다. 살은 식용하고 껍데기는 자개, 단추, 바둑돌 따위를 만드는 데 쓴다. 조간대와 수심 10미터 사이의 바다에서 사는데 한국, 일본, 중국 등지에 분포한다. #*유의어: [[나패]], [[소라고둥]], [[해라]] #*상위어: [[소랏과]] #*방언: [[띠고딩이]], [[구젱기]], [[골방조개]], [[바다골뱅이]], [[살구지]], [[꾸저기]], [[나팔고동]], [[구젱이]], [[구제이]], [[구제기]], [[꾸주기]], [[꾸죽]], [[소랑]], [[소란]], [[소래]], [[소롱]], [[수라]], [[쏘라]], [[투래]] #*옛말: [[쇼라]], [[골와라]], [[골]] ===== 속담 ===== * [[소라가 똥 누러 가니 소라게 기어들었다]] * [[소라 껍질 까먹어도 한 바구니 안 까먹어도 한 바구니]] {{국립국어원|우리말샘|537005}} {{국립국어원|우리말샘|537006}} {{국립국어원|우리말샘|1269990}} {{국립국어원|우리말샘|202263}} [[분류:한국어 고유 명사]] [[분류:한국어 자립명사]] [[분류:한국어 연체동물]] 309wwyjcxn7gfo42eipqmvmgqp947p7 구아버 0 496739 4486414 2026-09-07T19:26:20Z 기나ㅏㄴ 26437 낱말 도우미로 항목 편집 4486414 wikitext text/x-wiki == 한국어 == {{ko-IPA}} === 명사 === # 미르타과의 상록 소교목. 열매는 둥글거나 타원형 또는 서양배를 닮았는데 식용하며 나무껍질은 약용한다. 열대 아메리카가 원산지이다. ==== 번역 ==== {{외국어| * 영어(en): [[guava]] }} {{국립국어원|우리말샘|341582}} [[분류:한국어 명사]] 066lxe4foat7zxwssimc7lmma76gmtt 4486430 4486414 2026-09-07T22:40:16Z Apisite 21408 /* 한국어 */ + ko-noun 4486430 wikitext text/x-wiki == 한국어 == === 발음 === {{ko-IPA}} === 명사 === {{ko-noun}} # 미르타과의 상록 소교목. 열매는 둥글거나 타원형 또는 서양배를 닮았는데 식용하며 나무껍질은 약용한다. 열대 아메리카가 원산지이다. ==== 번역 ==== {{외국어| * 영어(en): {{t+|en|guava}} }} {{국립국어원|우리말샘|341582}} [[분류:한국어 명사]] blx6bpqjpfbdqt7g9xcn0vce8x7wwpv 정두 0 496740 4486415 2026-09-07T19:37:35Z 기나ㅏㄴ 26437 낱말 도우미로 항목 편집 4486415 wikitext text/x-wiki == 한국어 == {{ko-IPA}} === 명사 === ==== 명사 1 ==== * 어원: 한자 [[釘頭]] # 못의 윗부분에 망치로 쳐서 박거나 장도리 따위로 다시 뺄 수 있게 만든 평평한 부분. #*유의어: [[네일 헤드]], [[못대가리]] #*상위어: [[부분]] ==== 명사 2 ==== * 어원: 한자 [[飣餖]] # 음식을 죽 늘어놓고 먹지 아니한다는 뜻으로, 의미 없는 문사(文詞)를 죽 늘어놓음을 이르는 말. ==== 명사 3 ==== * 어원: 한자 [[淨頭]] # 선원에서, 변소를 청소하고 물 긷는 일을 맡아보는 소임. 또는 그런 일을 하는 사람. {{국립국어원|우리말샘|507622}} {{국립국어원|우리말샘|269100}} {{국립국어원|우리말샘|269099}} [[분류:한국어 한자어]] [[분류:한국어 자립명사]] itkufq1gw2132nwour3ko23v1r5gncs 김장철 0 496741 4486416 2026-09-07T20:01:36Z 기나ㅏㄴ 26437 낱말 도우미로 항목 편집 4486416 wikitext text/x-wiki == 한국어 == {{ko-IPA}} === 명사 === # 김장을 담그는 철. 대개 늦가을과 초겨울 사이를 이른다. #: {{예문|ko|찬 바람이 불기 시작하는 '''김장철'''이 되면 주부들의 일손은 겨우내 먹을 김치를 담그느라고 바빠진다.}} #: {{예문|ko|'''김장철''에는' 배춧값이 오르기 마련이다.}} #: {{예문|ko|우리 할머니는 '''김장철'''에 항상 분주하시다.}} #*상위어: [[철]] #*방언: [[짐장철]] {{국립국어원|우리말샘|489956}} [[분류:한국어 고유어]] [[분류:한국어 자립명사]] 0e6nskqkqipa8ruoge8f9spa6zdeosy 4486417 4486416 2026-09-07T20:01:56Z 기나ㅏㄴ 26437 4486417 wikitext text/x-wiki == 한국어 == {{ko-IPA}} === 명사 === # 김장을 담그는 철. 대개 늦가을과 초겨울 사이를 이른다. #: {{예문|ko|찬 바람이 불기 시작하는 '''김장철'''이 되면 주부들의 일손은 겨우내 먹을 김치를 담그느라고 바빠진다.}} #: {{예문|ko|'''김장철'''에는 배춧값이 오르기 마련이다.}} #: {{예문|ko|우리 할머니는 '''김장철'''에 항상 분주하시다.}} #*상위어: [[철]] #*방언: [[짐장철]] {{국립국어원|우리말샘|489956}} [[분류:한국어 고유어]] [[분류:한국어 자립명사]] jyw1dqf3ol84eyc8pinfa46bus4mrvq 수라상 0 496742 4486419 2026-09-07T20:11:37Z 기나ㅏㄴ 26437 낱말 도우미로 항목 편집 4486419 wikitext text/x-wiki == 한국어 == {{ko-IPA}} === 명사 === # 궁중에서, 임금에게 올리는 밥상을 높여 이르던 말. #: {{예문|ko|연산은 얼른 수저를 몇 술 뜨신 뒤에 '''수라상을''' 물리고 녹수와 함께 전 밖으로 납시었다.}} #*상위어: [[밥상]] {{국립국어원|우리말샘|390089}} [[분류:한국어 자립명사]] [[분류:한국어 한자어]] n2t6h6bvsqgim4uuuga0lkcixqpulih 설서 0 496743 4486420 2026-09-07T20:16:05Z 기나ㅏㄴ 26437 낱말 도우미로 항목 편집 4486420 wikitext text/x-wiki == 한국어 == {{ko-IPA}} === 명사 === ==== 명사 1 ==== # 감자의 품질을 구분할 때, 무게가 30그램 이하인 감자를 이르는 말. ==== 명사 2 ==== # 조선 시대에, 세자시강원에서 경사(經史)와 도의(道義)를 가르치는 일을 맡아보던 정칠품 벼슬. #*상위어: [[벼슬]] #*참고: [[자의]] {{국립국어원|우리말샘|864646}} {{국립국어원|우리말샘|198904}} [[분류:한국어 자립명사]] [[분류:한국어 한자어]] [[분류:한국어 명사]] iaxxwzppa1f2ah70d39t8416oia3dsb 긴자 0 496744 4486421 2026-09-07T20:21:07Z 기나ㅏㄴ 26437 낱말 도우미로 항목 편집 4486421 wikitext text/x-wiki == 한국어 == {{위키백과}} {{ko-IPA}} === 명사 === # 일본 도쿄 중앙부에 있는 번화가. 유명 백화점, 고급 전문점 따위가 모여 있는 일본 유행의 중심지이다. ==== 번역 ==== {{외국어| * 일본어(ja): [[銀座]] | * 영어(en): [[Ginza]] }} {{국립국어원|우리말샘|107477}} [[분류:한국어 일본어에서 유래한 외래어]] [[분류:한국어 고유 명사]] [[분류:한국어 자립명사]] mltdbxjjags5817j4z92yb73bn6gqfu ⲉⲩⲧⲣⲟⲡⲓⲟⲥ 0 496745 4486422 2026-09-07T21:50:31Z Apisite 21408 새 문서: == 콥트어 == === 어원 === {{bor|cop|grc|Εὐτρόπιος}} === 고유 명사 === {{head|cop|고유 명사|g=m}} # 남자 이름. [[분류:콥트어 인명]] 4486422 wikitext text/x-wiki == 콥트어 == === 어원 === {{bor|cop|grc|Εὐτρόπιος}} === 고유 명사 === {{head|cop|고유 명사|g=m}} # 남자 이름. [[분류:콥트어 인명]] bmlr3qz92zvc4ekgon3504nkoe1ogc9 틀:es-adj 10 496746 4486433 2026-09-07T23:00:51Z Intolerable situation 23954 [[틀:스페인어 형용사]] 문서로 넘겨주기 4486433 wikitext text/x-wiki #넘겨주기 [[틀:스페인어 형용사]] rwdh97gsin2vwd09yt6723021bl7w64 እግዚአብሔር 0 496747 4486437 2026-09-08T04:44:41Z Apisite 21408 새 문서: == 암하라어 == === 어원 === {{der|am|gez|እግዚአብሔር}} === 고유 명사 === {{head|am|고유 명사|g=m}} # [[하느님]], [[하나님]] 4486437 wikitext text/x-wiki == 암하라어 == === 어원 === {{der|am|gez|እግዚአብሔር}} === 고유 명사 === {{head|am|고유 명사|g=m}} # [[하느님]], [[하나님]] t57a5bfhk8j8ovpp2e8bcjfmjfso8x5 4486439 4486437 2026-09-08T04:47:32Z Apisite 21408 4486439 wikitext text/x-wiki == 그으즈어 == === 고유 명사 === {{head|gez|고유 명사|g=m}} # [[하느님]], [[하나님]] == 암하라어 == === 어원 === {{der|am|gez|እግዚአብሔር}} === 고유 명사 === {{head|am|고유 명사|g=m}} # [[하느님]], [[하나님]] huuzvziindejgxtnh8fjhi4v6z1zgum 4486440 4486439 2026-09-08T04:48:50Z Apisite 21408 4486440 wikitext text/x-wiki == 그으즈어 == === 어원 === {{m|gez|እግዚእ}} + {{m|gez|ብሔር}} === 고유 명사 === {{head|gez|고유 명사|g=m}} # [[하느님]], [[하나님]] == 암하라어 == === 어원 === {{der|am|gez|እግዚአብሔር}} === 고유 명사 === {{head|am|고유 명사|g=m}} # [[하느님]], [[하나님]] 9hw6peb9i18mldt5bwzdbmvpnewf9ln 아리 0 496748 4486442 2026-09-08T08:11:33Z 기나ㅏㄴ 26437 낱말 도우미로 항목 편집 4486442 wikitext text/x-wiki == 한국어 == {{ko-IPA}} === 명사 === ==== 명사 1 ==== * 어원: 我利 # 자기에게 유익한 것. #*유의어: [[자리]] ==== 명사 2 ==== # 오페라, 오라토리오 따위에서 기악 반주가 있는 서정적인 가락의 독창곡. #*유의어: [[아리아]], [[영창]], [[영창곡]] #*상위어: [[독창곡]] ==== 명사 3 ==== # 서정적인 소가곡이나 그 기악곡. #*유의어: [[아리아]] #*상위어: [[가곡]], [[기악곡]] ==== 명사 4 ==== # 강원특별자치도 화천군 화천읍에 있는 이. 화천읍의 서남부에 위치해 있으며, 대부분 산지이다. 북쪽에 상덕봉이 솟아 있으며, 마을 곳곳에 저지골·회덕골·군개골·성내골 등 계곡이 발달해 있다. 서남쪽 경계를 따라 북한강과 화천천이 흐른다. 군청 소재지이다. 461번 지방도가 지난다. ==== 명사 5 ==== # ‘그저께’의 방언 {{국립국어원|우리말샘|538562}} {{국립국어원|우리말샘|332545}} {{국립국어원|우리말샘|335956}} {{국립국어원|우리말샘|1400341}} {{국립국어원|우리말샘|216512}} [[분류:한국어 외래어]] [[분류:한국어 한자어]] [[분류:한국어 자립명사]] [[분류:한국어 사투리]] obdkx0tw0wu5fonkg7qpquldl2cxum2 순방 0 496749 4486443 2026-09-08T08:13:50Z 기나ㅏㄴ 26437 낱말 도우미로 항목 편집 4486443 wikitext text/x-wiki == 한국어 == {{ko-IPA}} === 명사 === ==== 명사 1 ==== * 어원: 한자 [[巡房]] # 여러 방을 돌아다니며 순시함. ==== 명사 2 ==== * 어원: 한자 [[巡訪]] # 나라나 도시 따위를 차례로 돌아가며 방문함. #: {{예문|ko|'''순방''' 외교.}} #: {{예문|ko|거래처 '''순방'''.}} #: {{예문|ko|톨스토이는 모스크바 '''순방에''' 나서서 우주를 향하여 자기를 찾다가 마침내 찾지 못하고….}} #*유의어: [[순심]] #*상위어: [[방문]] ==== 명사 3 ==== * 어원: 한자 [[詢訪]] # 방문하여 의논함. 또는 자문하러 방문함. {{국립국어원|우리말샘|203637}} {{국립국어원|우리말샘|389849}} {{국립국어원|우리말샘|537162}} [[분류:한국어 한자어]] [[분류:한국어 자립명사]] nhw0xmtlnta44807z5onm3801hzboy1 순방길 0 496750 4486444 2026-09-08T08:14:55Z 기나ㅏㄴ 26437 낱말 도우미로 항목 편집 4486444 wikitext text/x-wiki == 한국어 == {{ko-IPA}} === 명사 === # 나라나 도시 따위를 차례로 돌아가며 방문하는 길. 또는 그런 여정. #: {{예문|ko|때마침 OOO 미 국무 장관이 아시아 '''순방길에''' 나서 한국을 다녀갔다.}} #: {{예문|ko|네덜란드와 독일을 포함해 유럽 3국 '''순방길에''' 나선 OOO은 첫 순방국인 그리스에 23일 도착해 5일간의 일정을 소화할 예정이다.}} {{국립국어원|우리말샘|807607}} [[분류:한국어 의존 명사]] [[분류:한국어 한자어]] 6joh7kl50fqmifn9l84nd9rtcftljg7 분류:그으즈어 명사 14 496751 4486446 2026-09-08T08:49:53Z Apisite 21408 새 문서: [[Category:그으즈어| {{PAGENAME}}]] [[Category:명사]] 4486446 wikitext text/x-wiki [[Category:그으즈어| {{PAGENAME}}]] [[Category:명사]] t96kzwlp45swl713cg117cdizm8p426 분류:그으즈어 14 496752 4486447 2026-09-08T08:52:03Z Apisite 21408 새 문서: [[Category:에티오피아의 언어]] [[Category:모든 언어]] 4486447 wikitext text/x-wiki [[Category:에티오피아의 언어]] [[Category:모든 언어]] 5upmwga55rx8qux5f5brq2sinmboaf5 4486449 4486447 2026-09-08T08:59:31Z Apisite 21408 4486449 wikitext text/x-wiki [[Category:에티오피아의 언어]] [[분류:에리트레아의 언어]] [[Category:모든 언어]] cj24jtmx02dgwcmamqtciro2nt97psp ሕት 0 496753 4486450 2026-09-08T09:02:18Z Apisite 21408 새 문서: == 티그레어 == === 다른 표기 === * {{alter|tig|አኅት}} === 어원 === {{inh|tig|sem-pro|*ʔaḫwat-}} === 명사 === {{head|tig|명사|g=f}} # [[자매]], [[언니]], [[누나]], [[여동생]] 4486450 wikitext text/x-wiki == 티그레어 == === 다른 표기 === * {{alter|tig|አኅት}} === 어원 === {{inh|tig|sem-pro|*ʔaḫwat-}} === 명사 === {{head|tig|명사|g=f}} # [[자매]], [[언니]], [[누나]], [[여동생]] p1t9lh7cuaeoenbxo6ikv2uf9hoyn4l 분류:티그레어 명사 14 496754 4486451 2026-09-08T09:03:23Z Apisite 21408 새 문서: [[Category:티그레어| {{PAGENAME}}]] [[Category:명사]] 4486451 wikitext text/x-wiki [[Category:티그레어| {{PAGENAME}}]] [[Category:명사]] 58kn34oramdezqxdaunqss8d5wcfkn2 분류:티그레어 14 496755 4486452 2026-09-08T09:03:58Z Apisite 21408 새 문서: [[분류:에리트레아의 언어]] [[Category:모든 언어]] 4486452 wikitext text/x-wiki [[분류:에리트레아의 언어]] [[Category:모든 언어]] dwektjl4kmx07k60go13k8xje7px0xf 4486453 4486452 2026-09-08T09:04:46Z Apisite 21408 4486453 wikitext text/x-wiki [[분류:에리트레아의 언어]] [[분류:수단의 언어]] [[Category:모든 언어]] qdsbz8ma02dkhj6vysks8gl64qhgyf5 kuyu:t 0 496756 4486456 2026-09-08T11:22:59Z Apisite 21408 Apisite님이 [[kuyu:t]] 문서를 [[kuyut]] 문서로 이동했습니다 4486456 wikitext text/x-wiki #넘겨주기 [[kuyut]] cmzl900og9bqaruuzv0u2x21kxldv66