|
|
| (다른 사용자 한 명의 중간 판 14개는 보이지 않습니다) |
| 1번째 줄: |
1번째 줄: |
| --[[ | | --[[ |
|
| | |
| This module provides a language name handling operations based on ISO 639. | | This module provides a language name handling operations based on ISO 639 and Unicode CLDR information. |
|
| |
|
| - ChongDae | | - ChongDae |
| ]]
| | ]] |
| | | |
| local lang = {} | | local lang = {} |
|
| |
|
| local lang_names = { | | local langdata = mw.loadData('Module:Langname/data') |
| l_aa = "아파르어",
| | local lang_name = langdata.lang_name |
| l_ab = "압하스어",
| | local lang_autonym = langdata.lang_autonym |
| l_abv = "바레인 아랍어",
| | local lang_article = langdata.lang_article |
| l_ace = "아체어",
| | local lang_wikipedia = langdata.lang_wikipedia |
| l_ady = "아디게어",
| | |
| l_ae = "아베스타어",
| | --[[ |
| l_aeb = "튀니지 아랍어",
| | -- Helper functions |
| l_af = "아프리칸스어",
| | --]] |
| l_aii = "아시리아 신아람어",
| | local function getCldrName(code) |
| l_ain = "아이누어",
| | local name = mw.language.fetchLanguageName(code, 'ko') |
| l_ak = "아칸어",
| | |
| l_akk = "아카드어",
| | if name == '' then |
| l_ale = "알류트어",
| | return nil |
| l_als = "토스크 알바니아어",
| | elseif string.match(name, '[(),A-Za-z]') then -- 이름에 영문자나 괄호, 쉼표가 들어간 경우는 오류 처리함. |
| l_am = "암하라어",
| | return nil |
| l_ami = "아미어",
| | else |
| l_ams = "남부 아마미어",
| | return name |
| l_an = "아라곤어",
| | end |
| l_ang = "앵글로색슨어",
| | end |
| l_ar = "아랍어",
| | |
| l_arn = "마푸둥군어",
| | function getCldrAutonym(code) |
| l_arc = "아람어",
| | local lang = string.match(code, '([a-z]+)') -- get 'en' from 'en-us' |
| l_arz = "이집트 아랍어",
| | |
| l_as = "아삼어",
| | return lang_autonym[code] or mw.language.fetchLanguageName(code, lang) |
| l_ast = "아스투리아스어",
| | end |
| l_av = "아바르어",
| | |
| l_ay = "아이마라어",
| | local function getLanguageName(code) |
| l_az = "아제르바이잔어",
| | return lang_name[code] or getCldrName(code) |
| l_ba = "바시키르어",
| | end |
| l_bar = "오스트로바이에른어",
| |
| l_bdf = "바뉴마스어",
| |
| l_be = "벨라루스어",
| |
| l_ber = "베르베르어",
| |
| l_bg = "불가리아어",
| |
| l_bh = "보즈푸리어",
| |
| l_bi = "비슬라마",
| |
| l_bm = "밤바라어",
| |
| l_bn = "벵골어",
| |
| l_bo = "티베트어",
| |
| l_bpy = "비슈누프리야마니푸르어",
| |
| l_br = "브르타뉴어",
| |
| l_bs = "보스니아어",
| |
| l_bua = "부랴트어",
| |
| l_bug = "부기어",
| |
| l_bxr = "러시아 부랴트어",
| |
| l_ca = "카탈루냐어",
| |
| l_cdo = "민둥어",
| |
| l_ce = "체첸어",
| |
| l_ceb = "세부아노어",
| |
| l_ch = "차모로어",
| |
| l_cbk_zam = "차바카노어",
| |
| l_chm = "마리어",
| |
| l_cho = "촉토어",
| |
| l_chr = "체로키어",
| |
| l_chy = "체옌어",
| |
| l_ckt = "축치어",
| |
| l_co = "코르시카어",
| |
| l_cr = "크리어",
| |
| l_crh = "크림 타타르어",
| |
| l_crs = " 세이셸 크리올",
| |
| l_cs = "체코어",
| |
| l_csb = "카슈브어",
| |
| l_cu = "교회 슬라브어",
| |
| l_cv = "추바시어",
| |
| l_cy = "웨일스어",
| |
| l_da = "덴마크어",
| |
| l_de_at = "오스트리아 독일어",
| |
| l_ddo = "체스어",
| |
| l_de = "독일어",
| |
| l_dsb = "저지 소르브어",
| |
| l_dv = "디베히어",
| |
| l_dz = "종카어",
| |
| l_ee = "에웨어",
| |
| l_egy = "고대 이집트어",
| |
| l_el = "그리스어",
| |
| l_ell = "현대 그리스어",
| |
| l_en = "영어",
| |
| l_en_me = "중세 영어",
| |
| l_en_au = "오스트레일리아 영어",
| |
| l_en_gb = "영국 영어",
| |
| l_en_us = "미국 영어",
| |
| l_eo = "에스페란토",
| |
| l_er = "유로판토",
| |
| l_es = "스페인어",
| |
| l_et = "에스토니아어",
| |
| l_eu = "바스크어",
| |
| l_fa = "페르시아어",
| |
| l_fa_af = "다리어",
| |
| l_ff = "풀라어",
| |
| l_fi = "핀란드어",
| |
| l_fit = "메앤키엘리",
| |
| l_fil = "필리핀어",
| |
| l_fiu_vro = "버로어",
| |
| l_fj = "피지어",
| |
| l_fo = "페로어",
| |
| l_fr = "프랑스어",
| |
| l_fro = "고대 프랑스어",
| |
| l_frp = "프랑코프로방스어",
| |
| l_fur = "프리울리어",
| |
| l_fy = "프리지아어",
| |
| l_ga = "아일랜드어",
| |
| l_gan = "간어",
| |
| l_gd = "스코틀랜드 게일어",
| |
| l_gem = "게르만어",
| |
| l_gil = "키리바시어",
| |
| l_gl = "갈리시아어",
| |
| l_gn = "과라니어",
| |
| l_got = "고트어",
| |
| l_grc = "고대 그리스어",
| |
| l_gre = "현대 그리스어",
| |
| l_gsc = "가스코뉴어",
| |
| l_gsw = "알레만어",
| |
| l_gu = "구자라트어",
| |
| l_gv = "맨어",
| |
| l_ha = "하우사어",
| |
| l_hak = "하카어",
| |
| l_haw = "하와이어",
| |
| l_hbs = "세르보크로아트어",
| |
| l_hbo = "구약성경 히브리어",
| |
| l_he = "히브리어",
| |
| l_hess = "헤센어",
| |
| l_hi = "힌디어",
| |
| l_hil = "힐리가이논어",
| |
| l_ho = "히리 모투어",
| |
| l_hr = "크로아티아어",
| |
| l_hsb = "고지 소르브어",
| |
| l_ht = "아이티어",
| |
| l_hu = "헝가리어",
| |
| l_hy = "아르메니아어",
| |
| l_hwc = "하와이 피진어",
| |
| l_hz = "헤레로어",
| |
| l_ia = "인테르링구아",
| |
| l_id = "인도네시아어",
| |
| l_ie = "인테르링구에",
| |
| l_ig = "이그보어",
| |
| l_ii = "이어",
| |
| l_ik = "이누피아크어",
| |
| l_ilo = "일로코어",
| |
| l_inh = "인구시어",
| |
| l_io = "이도",
| |
| l_is = "아이슬란드어",
| |
| l_it = "이탈리아어",
| |
| l_iu = "이누크티투트어",
| |
| l_ja = "일본어",
| |
| l_jbo = "로지반",
| |
| l_jer = "저지어",
| |
| l_jv = "자바어",
| |
| l_ka = "조지아어",
| |
| l_kaa = "카라칼파크어",
| |
| l_kbd = "카바르디어",
| |
| l_ke = "코이네 그리스어",
| |
| l_kg = "콩고어",
| |
| l_khb = "타이루어",
| |
| l_ki = "키쿠유어",
| |
| l_kj = "콰냐마어",
| |
| l_kk = "카자흐어",
| |
| l_kl = "그린란드어",
| |
| l_km = "크메르어",
| |
| l_kn = "칸나다어",
| |
| l_ko = "한국어",
| |
| l_ko_cn = "중국조선말",
| |
| l_ko_kp = "문화어",
| |
| l_ko_kr = "표준어",
| |
| l_kr = "카누리어",
| |
| l_krc = "카라차이발카르어",
| |
| l_krl = "카렐리야어",
| |
| l_ks = "카슈미르어",
| |
| l_ksh = "리푸아리안어",
| |
| l_ku = "쿠르드어",
| |
| l_kum = "쿠미크어",
| |
| l_kv = "코미어",
| |
| l_kw = "콘월어",
| |
| l_ky = "키르기스어",
| |
| l_la = "라틴어",
| |
| l_lad = "라디노어",
| |
| l_lan = "랑고어",
| |
| l_lb = "룩셈부르크어",
| |
| l_lbe = "라크어",
| |
| l_lez = "레즈긴어", | |
| l_lg = "간다어",
| |
| l_li = "림뷔르흐어", | |
| l_liv = "리보니아어",
| |
| l_lkt = "라코타어",
| |
| l_lld = "라딘어", | |
| l_lmo = "롬바르드어",
| |
| l_ln = "링갈라어",
| |
| l_lnc = "랑그도크어",
| |
| l_lo = "라오어", | |
| l_lrc = "루리어",
| |
| l_lt = "리투아니아어", | |
| l_lu = "루바카탕가어",
| |
| l_lua = "루바어",
| |
| l_lv = "라트비아어",
| |
| l_lzz = "라즈어", | |
| l_mg = "말라가시어",
| |
| l_mh = "마셜어", | |
| l_mi = "마오리어",
| |
| l_mk = "마케도니아어",
| |
| l_ml = "말라얄람어",
| |
| l_mn = "몽골어", | |
| l_mnc = "만주어",
| |
| l_mns = "만시어",
| |
| l_mo = "몰도바어",
| |
| l_mr = "마라티어",
| |
| l_mri = "마오리어",
| |
| l_ms = "말레이어",
| |
| l_mt = "몰타어",
| |
| l_mvi = "미야코어",
| |
| l_mus = "무스코지어",
| |
| l_my = "버마어",
| |
| l_myp = "피라항어",
| |
| l_na = "나우루어",
| |
| l_nah = "나우아틀어",
| |
| l_nap = "나폴리어",
| |
| l_nb = "보크몰",
| |
| l_nci = "나우아틀어",
| |
| l_nd = "북부 은데벨레어",
| |
| l_nds = "저지 색슨어",
| |
| l_ne = "네팔어",
| |
| l_new = "네와르어",
| |
| l_ng = "은동가어",
| |
| l_nl = "네덜란드어",
| |
| l_nn = "뉘노르스크",
| |
| l_no = "노르웨이어",
| |
| l_non = "고대 노르드어",
| |
| l_nov = "노비알",
| |
| l_nr = "남부 은데벨레어",
| |
| l_nv = "나바호어",
| |
| l_ny = "치체와어",
| |
| l_oc = "오크어",
| |
| l_oj = "오지브와어",
| |
| l_om = "오로모어",
| |
| l_or = "오리야어",
| |
| l_os = "오세트어",
| |
| l_ota = "오스만 터키어",
| |
| l_pa = "펀자브어",
| |
| l_pam = "팜팡가어",
| |
| l_pap = "파피아멘토어",
| |
| l_pau = "팔라우어",
| |
| l_pdc = "펜실베이니아 독일어",
| |
| l_pi = "팔리어",
| |
| l_pih = "노퍽어",
| |
| l_pl = "폴란드어",
| |
| l_ps = "파슈토어",
| |
| l_pt = "포르투갈어",
| |
| l_pt_br = "브라질 포르투갈어",
| |
| l_pt_pt = "유럽 포르투갈어",
| |
| l_qu = "케추아어",
| |
| l_qya = "꿰냐",
| |
| l_rm = "로만슈어",
| |
| l_rml = "발트 롬어",
| |
| l_rmn = "발칸 롬어",
| |
| l_rmw = "웨일스 롬어",
| |
| l_rmy = "블라키아 롬어",
| |
| l_rn = "룬디어",
| |
| l_ro = "루마니아어",
| |
| l_rom = "롬어",
| |
| l_ru = "러시아어",
| |
| l_rue = "루신어",
| |
| l_rup = "아로마니아어",
| |
| l_rw = "르완다어",
| |
| l_ryn = "북부 아마미어",
| |
| l_rys = "야에야마어",
| |
| l_ryu = "류큐어",
| |
| l_sa = "산스크리트어",
| |
| l_sah = "야쿠트어",
| |
| l_sc = "사르데냐어",
| |
| l_scn = "시칠리아어",
| |
| l_sco = "스코트어",
| |
| l_sd = "신드어",
| |
| l_se = "북부 사미어",
| |
| l_sg = "상고어",
| |
| l_sh = "세르보크로아트어",
| |
| l_shn = "샨어",
| |
| l_si = "싱할라어",
| |
| l_sjn = "신다린",
| |
| l_sk = "슬로바키아어",
| |
| l_sl = "슬로베니아어",
| |
| l_sm = "사모아어",
| |
| l_sme = "북부 사미어",
| |
| l_smg = "사모기티아어",
| |
| l_smn = "이나리 사미어",
| |
| l_sms = "스콜트 사미어",
| |
| l_sn = "쇼나어",
| |
| l_so = "소말리어",
| |
| l_sq = "알바니아어",
| |
| l_sr = "세르비아어",
| |
| l_srn = "스라난 통고",
| |
| l_ss = "스와티어",
| |
| l_st = "남부 소토어",
| |
| l_su = "순다어",
| |
| l_sux = "수메르어",
| |
| l_sv = "스웨덴어",
| |
| l_sw = "스와힐리어",
| |
| l_syc = "시리아어",
| |
| l_szl = "실레지아어",
| |
| l_ta = "타밀어",
| |
| l_tai = "이산어",
| |
| l_te = "텔루구어",
| |
| l_tet = "테툼어",
| |
| l_tg = "타지크어",
| |
| l_th = "태국어",
| |
| l_ti = "티그리냐어",
| |
| l_tk = "투르크멘어",
| |
| l_tl = "타갈로그어",
| |
| l_tlh = "클링곤",
| |
| l_tn = "츠와나어",
| |
| l_to = "통가어",
| |
| l_tpi = "톡 피신",
| |
| l_tr = "터키어",
| |
| l_ts = "총가어",
| |
| l_tt = "타타르어",
| |
| l_tts = "이싼어",
| |
| l_tum = "툼부카어",
| |
| l_tw = "트위어",
| |
| l_ty = "타히티어",
| |
| l_tyv = "투바어",
| |
| l_udm = "우드무르트어",
| |
| l_ug = "위구르어",
| |
| l_uk = "우크라이나어",
| |
| l_ur = "우르두어",
| |
| l_uz = "우즈베크어",
| |
| l_ve = "벤다어",
| |
| l_vec = "베네토어",
| |
| l_vi = "베트남어",
| |
| l_vo = "볼라퓌크",
| |
| l_wa = "왈롱어",
| |
| l_war = "와라이어",
| |
| l_wen = "소르브어",
| |
| l_wo = "월로프어",
| |
| l_wuu = "우어",
| |
| l_xal = "칼미크어",
| |
| l_xh = "코사어",
| |
| l_xug = "구니가미어",
| |
| l_yi = "이디시어",
| |
| l_yo = "요루바어",
| |
| l_yoi = "요나구니어",
| |
| l_yrk = "네네츠어",
| |
| l_za = "좡어",
| |
| l_zh_min_nan = "민난어",
| |
| l_zh_yue = "광둥어",
| |
| l_zh = "중국어",
| |
| l_zh_hakka = "하카어",
| |
| l_zh_wuu = "우어",
| |
| l_zu = "줄루어",
| |
| }
| |
|
| |
|
| function lang.name(frame) | | function lang.name(frame) |
| local args = frame.args; | | local code = string.lower(frame.args.code) |
| | |
| | return getLanguageName(code) or '언어 오류(' .. code .. ')' |
| | end |
| | |
| | function lang.autonym(frame) |
| | local code = string.lower(frame.args.code) |
| | |
| | return getCldrAutonym(code) or '언어 오류(' .. code .. ')' |
| | end |
|
| |
|
| first = 'l_' .. string.gsub(string.lower(args[1]), '-', '_') | | function lang.article(frame) |
| | local code = string.lower(frame.args.code) |
| | | |
| if lang_names[first] then | | return lang_article[code] or getLanguageName(code) or '언어 오류' |
| return lang_names[first] | | end |
| | |
| | function lang.wikipedia(frame) |
| | local code = string.lower(frame.args.code) |
| | |
| | return lang_wikipedia[code] or getLanguageName(code) or '언어 오류(' .. code .. ')' |
| | end |
| | |
| | function lang.link(frame) |
| | local code = string.lower(frame.args.code) |
| | local link = frame.args.link |
| | local article = lang_article[code] |
| | local name = getLanguageName(code) |
| | |
| | if link == 'no' then |
| | return name or '[[언어 오류|언어 오류(' .. code .. ')]]' |
| | elseif article then |
| | return '[[' .. article .. '|' .. name .. ']]' |
| | elseif name then |
| | return '[[' .. name .. ']]' |
| else | | else |
| return "언어 오류" | | return '[[언어 오류|언어 오류(' .. code .. ')]]' |
| end | | end |
| end | | end |
|
| |
|
| return lang | | return lang |
이 모듈에 대한 설명문서는 모듈:Langname/설명문서에서 만들 수 있습니다
--[[
This module provides a language name handling operations based on ISO 639 and Unicode CLDR information.
- ChongDae
]]
local lang = {}
local langdata = mw.loadData('Module:Langname/data')
local lang_name = langdata.lang_name
local lang_autonym = langdata.lang_autonym
local lang_article = langdata.lang_article
local lang_wikipedia = langdata.lang_wikipedia
--[[
-- Helper functions
--]]
local function getCldrName(code)
local name = mw.language.fetchLanguageName(code, 'ko')
if name == '' then
return nil
elseif string.match(name, '[(),A-Za-z]') then -- 이름에 영문자나 괄호, 쉼표가 들어간 경우는 오류 처리함.
return nil
else
return name
end
end
function getCldrAutonym(code)
local lang = string.match(code, '([a-z]+)') -- get 'en' from 'en-us'
return lang_autonym[code] or mw.language.fetchLanguageName(code, lang)
end
local function getLanguageName(code)
return lang_name[code] or getCldrName(code)
end
function lang.name(frame)
local code = string.lower(frame.args.code)
return getLanguageName(code) or '언어 오류(' .. code .. ')'
end
function lang.autonym(frame)
local code = string.lower(frame.args.code)
return getCldrAutonym(code) or '언어 오류(' .. code .. ')'
end
function lang.article(frame)
local code = string.lower(frame.args.code)
return lang_article[code] or getLanguageName(code) or '언어 오류'
end
function lang.wikipedia(frame)
local code = string.lower(frame.args.code)
return lang_wikipedia[code] or getLanguageName(code) or '언어 오류(' .. code .. ')'
end
function lang.link(frame)
local code = string.lower(frame.args.code)
local link = frame.args.link
local article = lang_article[code]
local name = getLanguageName(code)
if link == 'no' then
return name or '[[언어 오류|언어 오류(' .. code .. ')]]'
elseif article then
return '[[' .. article .. '|' .. name .. ']]'
elseif name then
return '[[' .. name .. ']]'
else
return '[[언어 오류|언어 오류(' .. code .. ')]]'
end
end
return lang