モジュール:Wikipedia言語名

このモジュールについての説明文ページを モジュール:Wikipedia言語名/doc に作成できます

local p = {}
local lang_mapping = {
    ab = 'アブハズ語',
    ace = 'アチェー語',
    ady = 'アディゲ語',
    af = 'アフリカーンス語',
    ak = 'アカン語',
    als = 'アレマン語',
    am = 'アムハラ語',
    an = 'アラゴン語',
    ang = '古英語',
    ar = 'アラビア語',
    arc = 'アラム語',
    arz = 'エジプト・アラビア語',
    as = 'アッサム語',
    ast = 'アストゥリアス語',
    atj = 'アティカメク語',
    av = 'アヴァル語',
    ay = 'アイマラ語',
    az = 'アゼルバイジャン語',
    azb = '南アゼルバイジャン語',
    ba = 'バシキール語',
    bar = 'バイエルン・オーストリア語',
    bcl = '中央ビコル語',
    be = 'ベラルーシ語',
    bg = 'ブルガリア語',
    bh = 'ビハール語',
    bi = 'ビスラマ語',
    bjn = 'バンジャル語',
    bm = 'バンバラ語',
    bn = 'ベンガル語',
    bo = 'チベット語',
    bpy = 'ビシュヌプリヤ・マニプリ語',
    br = 'ブルトン語',
    bs = 'ボスニア語',
    bug = 'ブギ語',
    bxr = 'ロシアブリヤート語',
    ca = 'カタルーニャ語',
    cdo = 'ビン東語',
    ce = 'チェチェン語',
    ceb = 'セブアノ語',
    ch = 'チャモロ語',
    chr = 'チェロキー語',
    chy = 'シャイアン語',
    ckb = 'ソラニー',
    co = 'コルシカ語',
    cr = 'クリー語',
    crh = 'クリミア・タタール語',
    cs = 'チェコ語',
    csb = 'カシューブ語',
    cu = '教会スラブ語',
    cv = 'チュヴァシュ語',
    cy = 'ウェールズ語',
    da = 'デンマーク語',
    de = 'ドイツ語',
    din = 'ディンカ語',
    diq = 'ディムリ語',
    dsb = '低地ソルブ語',
    dty = 'ドテリ語',
    dv = 'ディベヒ語',
    dz = 'ゾンカ語',
    ee = 'エウェ語',
    el = 'ギリシア語',
    eml = 'エミリア・ロマーニャ語',
    en = '英語',
    eo = 'エスペラント語',
    es = 'スペイン語',
    et = 'エストニア語',
    eu = 'バスク語',
    ext = 'エストレマドゥーラ語',
    fa = 'ペルシア語',
    ff = 'フラニ語',
    fi = 'フィンランド語',
    fj = 'フィジー語',
    fo = 'フェロー語',
    fr = 'フランス語',
    frp = 'アルピタン語',
    frr = '北フリジア語',
    fur = 'フリウリ語',
    fy = 'フリジア語',
    ga = 'アイルランド語',
    gag = 'ガガウズ語',
    gan = 'カン語',
    gd = 'スコットランド・ゲール語',
    gl = 'ガリシア語',
    glk = 'ギラキ語',
    gn = 'グアラニー語',
    gom = 'ゴア・コンカニ語',
    gor = 'ゴロンタロ語',
    got = 'ゴート語',
    gu = 'グジャラート語',
    gv = 'マン島語',
    ha = 'ハウサ語',
    hak = '客家語',
    haw = 'ハワイ語',
    he = 'ヘブライ語',
    hi = 'ヒンディー語',
    hif = 'フィジー・ヒンディー語',
    hr = 'クロアチア語',
    hsb = '高地ソルブ語',
    ht = 'ハイチ語',
    hu = 'ハンガリー語',
    hy = 'アルメニア語',
    ia = 'インターリングア',
    id = 'インドネシア語',
    ie = 'インターリング',
    ig = 'イボ語',
    ik = 'イヌピアック語',
    ilo = 'イロカノ語',
    inh = 'イングーシュ語',
    is = 'アイスランド語',
    it = 'イタリア語',
    iu = 'イヌクティトゥット語',
    ja = '日本語',
    jam = 'ジャマイカ・クレオール語',
    jbo = 'ロジバン語',
    jv = 'ジャワ語',
    ka = 'グルジア語',
    kaa = 'カラカルパク語',
    kab = 'カビル語',
    kbd = 'カバルド語',
    kbp = 'カビエ語',
    kg = 'コンゴ語',
    ki = 'キクユ語',
    kk = 'カザフ語',
    kl = 'グリーンランド語',
    km = 'クメール語',
    kn = 'カンナダ語',
    ko = '朝鮮語',
    koi = 'コミ・ペルミャク語',
    krc = 'カラチャイ・バルカル語',
    ks = 'カシミール語',
    ksh = 'ケルン語',
    ku = 'クルド語',
    kv = 'コミ語',
    kw = 'コーンウォール語',
    ky = 'キルギス語',
    la = 'ラテン語',
    lad = 'ラジノ語',
    lb = 'ルクセンブルク語',
    lbe = 'ラク語',
    lez = 'レズギ語',
    lfn = 'リングア・フランカ・ノバ',
    lg = 'ガンダ語',
    li = 'リンブルフ語',
    lij = 'リグリア語',
    lmo = 'ロンバルド語',
    ln = 'リンガラ語',
    lo = 'ラーオ語',
    lrc = '北ロル語',
    lt = 'リトアニア語',
    ltg = 'ラトガリア語',
    lv = 'ラトビア語',
    mai = 'マイティリー語',
    mdf = 'モクシャ語',
    mg = 'マダガスカル語',
    mhr = '牧地マリ語',
    mi = 'マオリ語',
    min = 'ミナンカバウ語',
    mk = 'マケドニア語',
    ml = 'マラヤーラム語',
    mn = 'モンゴル語',
    mr = 'マラーティー語',
    mrj = '山地マリ語',
    ms = 'マレー語',
    mt = 'マルタ語',
    mwl = 'ミランダ語',
    my = 'ビルマ語',
    myv = 'エルジャ語',
    mzn = 'マーザンダラーン語',
    na = 'ナウル語',
    nah = 'ナワトル語',
    nap = 'ナポリ語',
    nds = '低地ドイツ語',
    ne = 'ネパール語',
    new = 'ネワール語',
    nl = 'オランダ語',
    nn = 'ノルウェー語 (ニーノシュク)',
    no = 'ノルウェー語',
    nov = 'ノヴィアル',
    nrm = 'ノルマン語',
    nso = '北ソト語',
    nv = 'ナバホ語',
    ny = 'ニャンジャ語',
    oc = 'オック語',
    olo = 'リッヴィ語',
    om = 'オロモ語',
    pa = 'パンジャブ語',
    pag = 'パンガシナン語',
    pam = 'パンパンガ語',
    pap = 'パピアメント語',
    pcd = 'ピカルディ語',
    pdc = 'ペンシルベニア・ドイツ語',
    pfl = 'プファルツ語',
    pi = 'パーリ語',
    pih = 'ピトケアン語',
    pl = 'ポーランド語',
    pms = 'ピエモンテ語',
    pnb = '西パンジャーブ語',
    pnt = 'ポントス・ギリシャ語',
    ps = 'パシュトー語',
    pt = 'ポルトガル語',
    qu = 'ケチュア語族',
    rm = 'ロマンシュ語',
    rmy = 'ヴラックス・ロマ語',
    rn = 'ルンディ語',
    ro = 'ルーマニア語',
    ru = 'ロシア語',
    rue = 'ルシン語',
    rw = 'ルワンダ語',
    sa = 'サンスクリット語',
    sah = 'ヤクート語',
    sat = 'サンターリー語',
    sc = 'サルデーニャ語',
    scn = 'シチリア語',
    sco = 'スコットランド語',
    sd = 'シンド語',
    se = '北部サーミ語',
    sg = 'サンゴ語',
    sh = 'セルビア・クロアチア語',
    shn = 'シャン語',
    si = 'シンハラ語',
    simple = 'シンプル英語',
    sk = 'スロバキア語',
    sl = 'スロベニア語',
    sm = 'サモア語',
    sn = 'ショナ語',
    so = 'ソマリ語',
    sq = 'アルバニア語',
    sr = 'セルビア語',
    srn = 'スラナン語',
    ss = 'スワジ語',
    st = 'ソト語',
    stq = '東フリジア語',
    su = 'スンダ語',
    sv = 'スウェーデン語',
    sw = 'スワヒリ語',
    szl = 'シレジア語',
    ta = 'タミル語',
    tcy = 'トゥル語',
    te = 'テルグ語',
    tet = 'テトゥン語',
    tg = 'タジク語',
    th = 'タイ語',
    ti = 'ティグリニャ語',
    tk = 'トルクメン語',
    tl = 'タガログ語',
    tn = 'ツワナ語',
    to = 'トンガ語 (ポリネシア)',
    tpi = 'トク・ピシン語',
    tr = 'トルコ語',
    ts = 'ツォンガ語',
    tt = 'タタール語',
    tum = 'トゥンブカ語',
    tw = 'トウィ語',
    ty = 'タヒチ語',
    tyv = 'トゥヴァ語',
    udm = 'ウドムルト語',
    ug = 'ウイグル語',
    uk = 'ウクライナ語',
    ur = 'ウルドゥー語',
    uz = 'ウズベク語',
    ve = 'ベンダ語',
    vec = 'ヴェネト語',
    vep = 'ヴェプス語',
    vi = 'ベトナム語',
    vls = '西フラマン語',
    vo = 'ヴォラピュク語',
    wa = 'ワロン語',
    war = 'ワライ語',
    wo = 'ウォロフ語',
    wuu = '呉語',
    xal = 'カルムイク語',
    xh = 'コサ語',
    xmf = 'メグレル語',
    yi = 'イディッシュ語',
    yo = 'ヨルバ語',
    za = 'チワン語',
    zea = 'ゼーランド語',
    zh = '中国語',
    zu = 'ズールー語',
}
--予約語だったり、ハイフンつきなど問題がありそうなのを切り離す
lang_mapping['bat-smg'] = 'サモギティア語'
lang_mapping['be-tarask'] = 'タラシケヴィツァ'
lang_mapping['be-x-old'] = 'タラシケヴィツァ'
lang_mapping['cbk-zam'] = 'チャバカノ語'
lang_mapping['fiu-vro'] = 'ヴォロ語'
lang_mapping['io'] = 'イド語'
lang_mapping['map-bms'] = 'バニュマス語'
lang_mapping['nds-nl'] = 'オランダ低ザクセン語'
lang_mapping['or'] = 'オリヤー語'
lang_mapping['os'] = 'オセット語'
lang_mapping['roa-rup'] = 'アルーマニア語'
lang_mapping['roa-tara'] = 'タラント語'
lang_mapping['zh-classical'] = '漢文'
lang_mapping['zh-min-nan'] = 'ビン南語'
lang_mapping['zh-yue'] = '広東語'

local lang_mapping_short = {
    ang = '古英',
    ar = '亜',
    cs = '捷',
    da = '丁',
    de = '独',
    el = '希',
    en = '英',
    es = '西',
    fa = '波',
    fi = '芬',
    fr = '仏',
    ga = '愛',
    it = '伊',
    ja = '日',
    ko = '朝',
    la = '羅',
    mi = '毛',
    mn = '蒙',
    nl = '蘭',
    no = '諾',
    pi = '巴',
    pl = '波',
    pt = '葡',
    ru = '露',
    sa = '梵',
    sv = '典',
    th = '泰',
    tr = '土',
    vi = '越',
    zh = '中',
}

function p.GetWikipediaPageName(frame)
    local code = frame.args[1]
    local lang_code = mw.text.trim(string.lower(code))
    local lang_name

    if string.find(lang_code, '-short') ~= nil then
        lang_code = string.sub(lang_code, 1, string.len(lang_code) - 6)
        lang_name = lang_mapping_short[lang_code]
        if lang_name ~= nil then
            return lang_name
        end
    end

    lang_name = lang_mapping[lang_code]
    return lang_name
end

return p