コンテンツにスキップ

「Module:国データ」の版間の差分

提供: RTA Wiki
国・地域名とISOコード・国旗の対応を追加
 
走者ページで国旗と国・地域名を自動表示
 
35行目: 35行目:
  local second = string.byte(code, 2) - 65 + 0x1F1E6
  local second = string.byte(code, 2) - 65 + 0x1F1E6
  return mw.ustring.char(first, second)
  return mw.ustring.char(first, second)
end
function p.display(frame)
local code = string.upper(mw.text.trim(frame.args[1] or ''))
local name = mw.text.trim(frame.args[2] or '')
if not names[code] then code = reverseNames[name] or '' end
if not names[code] then return name end
local first = string.byte(code, 1) - 65 + 0x1F1E6
local second = string.byte(code, 2) - 65 + 0x1F1E6
return mw.ustring.char(first, second) .. ' ' .. names[code]
end
end


return p
return p

2026年10月8日 (木) 22:54時点における最新版

local p = {}

local raw = [=[AC=アセンション島;AD=アンドラ;AE=アラブ首長国連邦;AF=アフガニスタン;AG=アンティグア・バーブーダ;AI=アンギラ;AL=アルバニア;AM=アルメニア;AO=アンゴラ;AQ=南極;AR=アルゼンチン;AS=米領サモア;AT=オーストリア;AU=オーストラリア;AW=アルバ;AX=オーランド諸島;AZ=アゼルバイジャン;BA=ボスニア・ヘルツェゴビナ;BB=バルバドス;BD=バングラデシュ;BE=ベルギー;BF=ブルキナファソ;BG=ブルガリア;BH=バーレーン;BI=ブルンジ;BJ=ベナン;BL=サン・バルテルミー;BM=バミューダ;BN=ブルネイ;BO=ボリビア;BQ=オランダ領カリブ;BR=ブラジル;BS=バハマ;BT=ブータン;BV=ブーベ島;BW=ボツワナ;BY=ベラルーシ;BZ=ベリーズ;CA=カナダ;CC=ココス(キーリング)諸島;CD=コンゴ民主共和国(キンシャサ);CF=中央アフリカ共和国;CG=コンゴ共和国(ブラザビル);CH=スイス;CI=コートジボワール;CK=クック諸島;CL=チリ;CM=カメルーン;CN=中国;CO=コロンビア;CP=クリッパートン島;CQ=サーク島;CR=コスタリカ;CU=キューバ;CV=カーボベルデ;CW=キュラソー;CX=クリスマス島;CY=キプロス;CZ=チェコ;DE=ドイツ;DG=ディエゴガルシア島;DJ=ジブチ;DK=デンマーク;DM=ドミニカ国;DO=ドミニカ共和国;DZ=アルジェリア;EA=セウタ・メリリャ;EC=エクアドル;EE=エストニア;EG=エジプト;EH=西サハラ;ER=エリトリア;ES=スペイン;ET=エチオピア;FI=フィンランド;FJ=フィジー;FK=フォークランド諸島;FM=ミクロネシア連邦;FO=フェロー諸島;FR=フランス;GA=ガボン;GB=イギリス;GD=グレナダ;GE=ジョージア;GF=仏領ギアナ;GG=ガーンジー;GH=ガーナ;GI=ジブラルタル;GL=グリーンランド;GM=ガンビア;GN=ギニア;GP=グアドループ;GQ=赤道ギニア;GR=ギリシャ;GS=サウスジョージア・サウスサンドウィッチ諸島;GT=グアテマラ;GU=グアム;GW=ギニアビサウ;GY=ガイアナ;HK=中華人民共和国香港特別行政区;HM=ハード島・マクドナルド諸島;HN=ホンジュラス;HR=クロアチア;HT=ハイチ;HU=ハンガリー;IC=カナリア諸島;ID=インドネシア;IE=アイルランド;IL=イスラエル;IM=マン島;IN=インド;IO=英領インド洋地域;IQ=イラク;IR=イラン;IS=アイスランド;IT=イタリア;JE=ジャージー;JM=ジャマイカ;JO=ヨルダン;JP=日本;KE=ケニア;KG=キルギス;KH=カンボジア;KI=キリバス;KM=コモロ;KN=セントクリストファー・ネーヴィス;KP=北朝鮮;KR=韓国;KW=クウェート;KY=ケイマン諸島;KZ=カザフスタン;LA=ラオス;LB=レバノン;LC=セントルシア;LI=リヒテンシュタイン;LK=スリランカ;LR=リベリア;LS=レソト;LT=リトアニア;LU=ルクセンブルク;LV=ラトビア;LY=リビア;MA=モロッコ;MC=モナコ;MD=モルドバ;ME=モンテネグロ;MF=サン・マルタン;MG=マダガスカル;MH=マーシャル諸島;MK=北マケドニア;ML=マリ;MM=ミャンマー (ビルマ);MN=モンゴル;MO=中華人民共和国マカオ特別行政区;MP=北マリアナ諸島;MQ=マルティニーク;MR=モーリタニア;MS=モントセラト;MT=マルタ;MU=モーリシャス;MV=モルディブ;MW=マラウイ;MX=メキシコ;MY=マレーシア;MZ=モザンビーク;NA=ナミビア;NC=ニューカレドニア;NE=ニジェール;NF=ノーフォーク島;NG=ナイジェリア;NI=ニカラグア;NL=オランダ;NO=ノルウェー;NP=ネパール;NR=ナウル;NU=ニウエ;NZ=ニュージーランド;OM=オマーン;PA=パナマ;PE=ペルー;PF=仏領ポリネシア;PG=パプアニューギニア;PH=フィリピン;PK=パキスタン;PL=ポーランド;PM=サンピエール島・ミクロン島;PN=ピトケアン諸島;PR=プエルトリコ;PS=パレスチナ自治区;PT=ポルトガル;PW=パラオ;PY=パラグアイ;QA=カタール;RE=レユニオン;RO=ルーマニア;RS=セルビア;RU=ロシア;RW=ルワンダ;SA=サウジアラビア;SB=ソロモン諸島;SC=セーシェル;SD=スーダン;SE=スウェーデン;SG=シンガポール;SH=セントヘレナ;SI=スロベニア;SJ=スバールバル諸島・ヤンマイエン島;SK=スロバキア;SL=シエラレオネ;SM=サンマリノ;SN=セネガル;SO=ソマリア;SR=スリナム;SS=南スーダン;ST=サントメ・プリンシペ;SV=エルサルバドル;SX=シント・マールテン;SY=シリア;SZ=エスワティニ;TA=トリスタン・ダ・クーニャ;TC=タークス・カイコス諸島;TD=チャド;TF=仏領極南諸島;TG=トーゴ;TH=タイ;TJ=タジキスタン;TK=トケラウ;TL=東ティモール;TM=トルクメニスタン;TN=チュニジア;TO=トンガ;TR=トルコ;TT=トリニダード・トバゴ;TV=ツバル;TW=台湾;TZ=タンザニア;UA=ウクライナ;UG=ウガンダ;UM=合衆国領有小離島;US=アメリカ合衆国;UY=ウルグアイ;UZ=ウズベキスタン;VA=バチカン市国;VC=セントビンセント及びグレナディーン諸島;VE=ベネズエラ;VG=英領ヴァージン諸島;VI=米領ヴァージン諸島;VN=ベトナム;VU=バヌアツ;WF=ウォリス・フツナ;WS=サモア;XK=コソボ;YE=イエメン;YT=マヨット;ZA=南アフリカ;ZM=ザンビア;ZW=ジンバブエ]=] local names = {} local reverseNames = {} for item in string.gmatch(raw, '[^;]+') do

local code, name = string.match(item, '^([^=]+)=(.*)$')
if code and name then
 names[code] = name
 if not reverseNames[name] then reverseNames[name] = code end
end

end

function p.name(frame)

local code = string.upper(mw.text.trim(frame.args[1] or ))
return names[code] or 

end

function p.code(frame)

local name = mw.text.trim(frame.args[1] or )
return reverseNames[name] or 

end

function p.codes()

local codes = {}
for code in pairs(names) do codes[#codes + 1] = code end
table.sort(codes)
return table.concat(codes, ',')

end

function p.flag(frame)

local code = string.upper(mw.text.trim(frame.args[1] or ))
if not names[code] or #code ~= 2 then return  end
local first = string.byte(code, 1) - 65 + 0x1F1E6
local second = string.byte(code, 2) - 65 + 0x1F1E6
return mw.ustring.char(first, second)

end

function p.display(frame)

local code = string.upper(mw.text.trim(frame.args[1] or ))
local name = mw.text.trim(frame.args[2] or )
if not names[code] then code = reverseNames[name] or  end
if not names[code] then return name end
local first = string.byte(code, 1) - 65 + 0x1F1E6
local second = string.byte(code, 2) - 65 + 0x1F1E6
return mw.ustring.char(first, second) .. ' ' .. names[code]

end

return p