From c062c511af6f5447808b9126cb4cf1b3d934f8f8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Beno=C3=AEt=20Pin?= Date: Sun, 7 Nov 2010 03:17:39 +0100 Subject: [PATCH] Importation initiale. --- __init__.py | 19 + _sources/iso_3166-1_list_en.xml | 987 +++++++++++++++++++++++++++ _sources/iso_3166-1_list_fr.xml | 987 +++++++++++++++++++++++++++ _sources/make.py | 97 +++ configure.zcml | 5 + en.py | 252 +++++++ fr.py | 252 +++++++ iso_3166_1.py | 248 +++++++ locales/en/LC_MESSAGES/iso_3166_1.mo | Bin 0 -> 9216 bytes locales/en/LC_MESSAGES/iso_3166_1.po | 748 ++++++++++++++++++++ locales/fr/LC_MESSAGES/iso_3166_1.mo | Bin 0 -> 9424 bytes locales/fr/LC_MESSAGES/iso_3166_1.po | 748 ++++++++++++++++++++ 12 files changed, 4343 insertions(+) create mode 100755 __init__.py create mode 100755 _sources/iso_3166-1_list_en.xml create mode 100755 _sources/iso_3166-1_list_fr.xml create mode 100755 _sources/make.py create mode 100644 configure.zcml create mode 100755 en.py create mode 100755 fr.py create mode 100755 iso_3166_1.py create mode 100644 locales/en/LC_MESSAGES/iso_3166_1.mo create mode 100644 locales/en/LC_MESSAGES/iso_3166_1.po create mode 100644 locales/fr/LC_MESSAGES/iso_3166_1.mo create mode 100644 locales/fr/LC_MESSAGES/iso_3166_1.po diff --git a/__init__.py b/__init__.py new file mode 100755 index 0000000..fde3c8d --- /dev/null +++ b/__init__.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +#################################################### +# Copyright © 2009 Luxia SAS. All rights reserved. # +# # +# Contributors: # +# - Benoît Pin # +#################################################### +""" ISO-3166-1 (country codes) utility module. + + + +""" + +from AccessControl import ModuleSecurityInfo +import en, fr + +security = ModuleSecurityInfo('Products.iso_3166_1') +security.declarePublic('en') +security.declarePublic('fr') diff --git a/_sources/iso_3166-1_list_en.xml b/_sources/iso_3166-1_list_en.xml new file mode 100755 index 0000000..a428d30 --- /dev/null +++ b/_sources/iso_3166-1_list_en.xml @@ -0,0 +1,987 @@ + + + + AFGHANISTAN + AF + + + ÅLAND ISLANDS + AX + + + ALBANIA + AL + + + ALGERIA + DZ + + + AMERICAN SAMOA + AS + + + ANDORRA + AD + + + ANGOLA + AO + + + ANGUILLA + AI + + + ANTARCTICA + AQ + + + ANTIGUA AND BARBUDA + AG + + + ARGENTINA + AR + + + ARMENIA + AM + + + ARUBA + AW + + + AUSTRALIA + AU + + + AUSTRIA + AT + + + AZERBAIJAN + AZ + + + BAHAMAS + BS + + + BAHRAIN + BH + + + BANGLADESH + BD + + + BARBADOS + BB + + + BELARUS + BY + + + BELGIUM + BE + + + BELIZE + BZ + + + BENIN + BJ + + + BERMUDA + BM + + + BHUTAN + BT + + + BOLIVIA + BO + + + BOSNIA AND HERZEGOVINA + BA + + + BOTSWANA + BW + + + BOUVET ISLAND + BV + + + BRAZIL + BR + + + BRITISH INDIAN OCEAN TERRITORY + IO + + + BRUNEI DARUSSALAM + BN + + + BULGARIA + BG + + + BURKINA FASO + BF + + + BURUNDI + BI + + + CAMBODIA + KH + + + CAMEROON + CM + + + CANADA + CA + + + CAPE VERDE + CV + + + CAYMAN ISLANDS + KY + + + CENTRAL AFRICAN REPUBLIC + CF + + + CHAD + TD + + + CHILE + CL + + + CHINA + CN + + + CHRISTMAS ISLAND + CX + + + COCOS (KEELING) ISLANDS + CC + + + COLOMBIA + CO + + + COMOROS + KM + + + CONGO + CG + + + CONGO, THE DEMOCRATIC REPUBLIC OF THE + CD + + + COOK ISLANDS + CK + + + COSTA RICA + CR + + + CÔTE D'IVOIRE + CI + + + CROATIA + HR + + + CUBA + CU + + + CYPRUS + CY + + + CZECH REPUBLIC + CZ + + + DENMARK + DK + + + DJIBOUTI + DJ + + + DOMINICA + DM + + + DOMINICAN REPUBLIC + DO + + + ECUADOR + EC + + + EGYPT + EG + + + EL SALVADOR + SV + + + EQUATORIAL GUINEA + GQ + + + ERITREA + ER + + + ESTONIA + EE + + + ETHIOPIA + ET + + + FALKLAND ISLANDS (MALVINAS) + FK + + + FAROE ISLANDS + FO + + + FIJI + FJ + + + FINLAND + FI + + + FRANCE + FR + + + FRENCH GUIANA + GF + + + FRENCH POLYNESIA + PF + + + FRENCH SOUTHERN TERRITORIES + TF + + + GABON + GA + + + GAMBIA + GM + + + GEORGIA + GE + + + GERMANY + DE + + + GHANA + GH + + + GIBRALTAR + GI + + + GREECE + GR + + + GREENLAND + GL + + + GRENADA + GD + + + GUADELOUPE + GP + + + GUAM + GU + + + GUATEMALA + GT + + + GUERNSEY + GG + + + GUINEA + GN + + + GUINEA-BISSAU + GW + + + GUYANA + GY + + + HAITI + HT + + + HEARD ISLAND AND MCDONALD ISLANDS + HM + + + HOLY SEE (VATICAN CITY STATE) + VA + + + HONDURAS + HN + + + HONG KONG + HK + + + HUNGARY + HU + + + ICELAND + IS + + + INDIA + IN + + + INDONESIA + ID + + + IRAN, ISLAMIC REPUBLIC OF + IR + + + IRAQ + IQ + + + IRELAND + IE + + + ISLE OF MAN + IM + + + ISRAEL + IL + + + ITALY + IT + + + JAMAICA + JM + + + JAPAN + JP + + + JERSEY + JE + + + JORDAN + JO + + + KAZAKHSTAN + KZ + + + KENYA + KE + + + KIRIBATI + KI + + + KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF + KP + + + KOREA, REPUBLIC OF + KR + + + KUWAIT + KW + + + KYRGYZSTAN + KG + + + LAO PEOPLE'S DEMOCRATIC REPUBLIC + LA + + + LATVIA + LV + + + LEBANON + LB + + + LESOTHO + LS + + + LIBERIA + LR + + + LIBYAN ARAB JAMAHIRIYA + LY + + + LIECHTENSTEIN + LI + + + LITHUANIA + LT + + + LUXEMBOURG + LU + + + MACAO + MO + + + MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF + MK + + + MADAGASCAR + MG + + + MALAWI + MW + + + MALAYSIA + MY + + + MALDIVES + MV + + + MALI + ML + + + MALTA + MT + + + MARSHALL ISLANDS + MH + + + MARTINIQUE + MQ + + + MAURITANIA + MR + + + MAURITIUS + MU + + + MAYOTTE + YT + + + MEXICO + MX + + + MICRONESIA, FEDERATED STATES OF + FM + + + MOLDOVA, REPUBLIC OF + MD + + + MONACO + MC + + + MONGOLIA + MN + + + MONTENEGRO + ME + + + MONTSERRAT + MS + + + MOROCCO + MA + + + MOZAMBIQUE + MZ + + + MYANMAR + MM + + + NAMIBIA + NA + + + NAURU + NR + + + NEPAL + NP + + + NETHERLANDS + NL + + + NETHERLANDS ANTILLES + AN + + + NEW CALEDONIA + NC + + + NEW ZEALAND + NZ + + + NICARAGUA + NI + + + NIGER + NE + + + NIGERIA + NG + + + NIUE + NU + + + NORFOLK ISLAND + NF + + + NORTHERN MARIANA ISLANDS + MP + + + NORWAY + NO + + + OMAN + OM + + + PAKISTAN + PK + + + PALAU + PW + + + PALESTINIAN TERRITORY, OCCUPIED + PS + + + PANAMA + PA + + + PAPUA NEW GUINEA + PG + + + PARAGUAY + PY + + + PERU + PE + + + PHILIPPINES + PH + + + PITCAIRN + PN + + + POLAND + PL + + + PORTUGAL + PT + + + PUERTO RICO + PR + + + QATAR + QA + + + REUNION + RE + + + ROMANIA + RO + + + RUSSIAN FEDERATION + RU + + + RWANDA + RW + + + SAINT BARTHÉLEMY + BL + + + SAINT HELENA + SH + + + SAINT KITTS AND NEVIS + KN + + + SAINT LUCIA + LC + + + SAINT MARTIN + MF + + + SAINT PIERRE AND MIQUELON + PM + + + SAINT VINCENT AND THE GRENADINES + VC + + + SAMOA + WS + + + SAN MARINO + SM + + + SAO TOME AND PRINCIPE + ST + + + SAUDI ARABIA + SA + + + SENEGAL + SN + + + SERBIA + RS + + + SEYCHELLES + SC + + + SIERRA LEONE + SL + + + SINGAPORE + SG + + + SLOVAKIA + SK + + + SLOVENIA + SI + + + SOLOMON ISLANDS + SB + + + SOMALIA + SO + + + SOUTH AFRICA + ZA + + + SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS + GS + + + SPAIN + ES + + + SRI LANKA + LK + + + SUDAN + SD + + + SURINAME + SR + + + SVALBARD AND JAN MAYEN + SJ + + + SWAZILAND + SZ + + + SWEDEN + SE + + + SWITZERLAND + CH + + + SYRIAN ARAB REPUBLIC + SY + + + TAIWAN, PROVINCE OF CHINA + TW + + + TAJIKISTAN + TJ + + + TANZANIA, UNITED REPUBLIC OF + TZ + + + THAILAND + TH + + + TIMOR-LESTE + TL + + + TOGO + TG + + + TOKELAU + TK + + + TONGA + TO + + + TRINIDAD AND TOBAGO + TT + + + TUNISIA + TN + + + TURKEY + TR + + + TURKMENISTAN + TM + + + TURKS AND CAICOS ISLANDS + TC + + + TUVALU + TV + + + UGANDA + UG + + + UKRAINE + UA + + + UNITED ARAB EMIRATES + AE + + + UNITED KINGDOM + GB + + + UNITED STATES + US + + + UNITED STATES MINOR OUTLYING ISLANDS + UM + + + URUGUAY + UY + + + UZBEKISTAN + UZ + + + VANUATU + VU + + + VENEZUELA, BOLIVARIAN REPUBLIC OF + VE + + + VIET NAM + VN + + + VIRGIN ISLANDS, BRITISH + VG + + + VIRGIN ISLANDS, U.S. + VI + + + WALLIS AND FUTUNA + WF + + + WESTERN SAHARA + EH + + + YEMEN + YE + + + ZAMBIA + ZM + + + ZIMBABWE + ZW + + diff --git a/_sources/iso_3166-1_list_fr.xml b/_sources/iso_3166-1_list_fr.xml new file mode 100755 index 0000000..110523b --- /dev/null +++ b/_sources/iso_3166-1_list_fr.xml @@ -0,0 +1,987 @@ + + + + AFGHANISTAN + AF + + + AFRIQUE DU SUD + ZA + + + ÅLAND, ÎLES + AX + + + ALBANIE + AL + + + ALGÉRIE + DZ + + + ALLEMAGNE + DE + + + ANDORRE + AD + + + ANGOLA + AO + + + ANGUILLA + AI + + + ANTARCTIQUE + AQ + + + ANTIGUA-ET-BARBUDA + AG + + + ANTILLES NÉERLANDAISES + AN + + + ARABIE SAOUDITE + SA + + + ARGENTINE + AR + + + ARMÉNIE + AM + + + ARUBA + AW + + + AUSTRALIE + AU + + + AUTRICHE + AT + + + AZERBAÏDJAN + AZ + + + BAHAMAS + BS + + + BAHREÏN + BH + + + BANGLADESH + BD + + + BARBADE + BB + + + BÉLARUS + BY + + + BELGIQUE + BE + + + BELIZE + BZ + + + BÉNIN + BJ + + + BERMUDES + BM + + + BHOUTAN + BT + + + BOLIVIE + BO + + + BOSNIE-HERZÉGOVINE + BA + + + BOTSWANA + BW + + + BOUVET, ÎLE + BV + + + BRÉSIL + BR + + + BRUNÉI DARUSSALAM + BN + + + BULGARIE + BG + + + BURKINA FASO + BF + + + BURUNDI + BI + + + CAÏMANES, ÎLES + KY + + + CAMBODGE + KH + + + CAMEROUN + CM + + + CANADA + CA + + + CAP-VERT + CV + + + CENTRAFRICAINE, RÉPUBLIQUE + CF + + + CHILI + CL + + + CHINE + CN + + + CHRISTMAS, ÎLE + CX + + + CHYPRE + CY + + + COCOS (KEELING), ÎLES + CC + + + COLOMBIE + CO + + + COMORES + KM + + + CONGO + CG + + + CONGO, LA RÉPUBLIQUE DÉMOCRATIQUE DU + CD + + + COOK, ÎLES + CK + + + CORÉE, RÉPUBLIQUE DE + KR + + + CORÉE, RÉPUBLIQUE POPULAIRE DÉMOCRATIQUE DE + KP + + + COSTA RICA + CR + + + CÔTE D'IVOIRE + CI + + + CROATIE + HR + + + CUBA + CU + + + DANEMARK + DK + + + DJIBOUTI + DJ + + + DOMINICAINE, RÉPUBLIQUE + DO + + + DOMINIQUE + DM + + + ÉGYPTE + EG + + + EL SALVADOR + SV + + + ÉMIRATS ARABES UNIS + AE + + + ÉQUATEUR + EC + + + ÉRYTHRÉE + ER + + + ESPAGNE + ES + + + ESTONIE + EE + + + ÉTATS-UNIS + US + + + ÉTHIOPIE + ET + + + FALKLAND, ÎLES (MALVINAS) + FK + + + FÉROÉ, ÎLES + FO + + + FIDJI + FJ + + + FINLANDE + FI + + + FRANCE + FR + + + GABON + GA + + + GAMBIE + GM + + + GÉORGIE + GE + + + GÉORGIE DU SUD ET LES ÎLES SANDWICH DU SUD + GS + + + GHANA + GH + + + GIBRALTAR + GI + + + GRÈCE + GR + + + GRENADE + GD + + + GROENLAND + GL + + + GUADELOUPE + GP + + + GUAM + GU + + + GUATEMALA + GT + + + GUERNESEY + GG + + + GUINÉE + GN + + + GUINÉE-BISSAU + GW + + + GUINÉE ÉQUATORIALE + GQ + + + GUYANA + GY + + + GUYANE FRANÇAISE + GF + + + HAÏTI + HT + + + HEARD, ÎLE ET MCDONALD, ÎLES + HM + + + HONDURAS + HN + + + HONG-KONG + HK + + + HONGRIE + HU + + + ÎLE DE MAN + IM + + + ÎLES MINEURES ÉLOIGNÉES DES ÉTATS-UNIS + UM + + + ÎLES VIERGES BRITANNIQUES + VG + + + ÎLES VIERGES DES ÉTATS-UNIS + VI + + + INDE + IN + + + INDONÉSIE + ID + + + IRAN, RÉPUBLIQUE ISLAMIQUE D' + IR + + + IRAQ + IQ + + + IRLANDE + IE + + + ISLANDE + IS + + + ISRAËL + IL + + + ITALIE + IT + + + JAMAÏQUE + JM + + + JAPON + JP + + + JERSEY + JE + + + JORDANIE + JO + + + KAZAKHSTAN + KZ + + + KENYA + KE + + + KIRGHIZISTAN + KG + + + KIRIBATI + KI + + + KOWEÏT + KW + + + LAO, RÉPUBLIQUE DÉMOCRATIQUE POPULAIRE + LA + + + LESOTHO + LS + + + LETTONIE + LV + + + LIBAN + LB + + + LIBÉRIA + LR + + + LIBYENNE, JAMAHIRIYA ARABE + LY + + + LIECHTENSTEIN + LI + + + LITUANIE + LT + + + LUXEMBOURG + LU + + + MACAO + MO + + + MACÉDOINE, L'EX-RÉPUBLIQUE YOUGOSLAVE DE + MK + + + MADAGASCAR + MG + + + MALAISIE + MY + + + MALAWI + MW + + + MALDIVES + MV + + + MALI + ML + + + MALTE + MT + + + MARIANNES DU NORD, ÎLES + MP + + + MAROC + MA + + + MARSHALL, ÎLES + MH + + + MARTINIQUE + MQ + + + MAURICE + MU + + + MAURITANIE + MR + + + MAYOTTE + YT + + + MEXIQUE + MX + + + MICRONÉSIE, ÉTATS FÉDÉRÉS DE + FM + + + MOLDOVA, RÉPUBLIQUE DE + MD + + + MONACO + MC + + + MONGOLIE + MN + + + MONTÉNÉGRO + ME + + + MONTSERRAT + MS + + + MOZAMBIQUE + MZ + + + MYANMAR + MM + + + NAMIBIE + NA + + + NAURU + NR + + + NÉPAL + NP + + + NICARAGUA + NI + + + NIGER + NE + + + NIGÉRIA + NG + + + NIUÉ + NU + + + NORFOLK, ÎLE + NF + + + NORVÈGE + NO + + + NOUVELLE-CALÉDONIE + NC + + + NOUVELLE-ZÉLANDE + NZ + + + OCÉAN INDIEN, TERRITOIRE BRITANNIQUE DE L' + IO + + + OMAN + OM + + + OUGANDA + UG + + + OUZBÉKISTAN + UZ + + + PAKISTAN + PK + + + PALAOS + PW + + + PALESTINIEN OCCUPÉ, TERRITOIRE + PS + + + PANAMA + PA + + + PAPOUASIE-NOUVELLE-GUINÉE + PG + + + PARAGUAY + PY + + + PAYS-BAS + NL + + + PÉROU + PE + + + PHILIPPINES + PH + + + PITCAIRN + PN + + + POLOGNE + PL + + + POLYNÉSIE FRANÇAISE + PF + + + PORTO RICO + PR + + + PORTUGAL + PT + + + QATAR + QA + + + RÉUNION + RE + + + ROUMANIE + RO + + + ROYAUME-UNI + GB + + + RUSSIE, FÉDÉRATION DE + RU + + + RWANDA + RW + + + SAHARA OCCIDENTAL + EH + + + SAINT-BARTHÉLEMY + BL + + + SAINTE-HÉLÈNE + SH + + + SAINTE-LUCIE + LC + + + SAINT-KITTS-ET-NEVIS + KN + + + SAINT-MARIN + SM + + + SAINT-MARTIN + MF + + + SAINT-PIERRE-ET-MIQUELON + PM + + + SAINT-SIÈGE (ÉTAT DE LA CITÉ DU VATICAN) + VA + + + SAINT-VINCENT-ET-LES GRENADINES + VC + + + SALOMON, ÎLES + SB + + + SAMOA + WS + + + SAMOA AMÉRICAINES + AS + + + SAO TOMÉ-ET-PRINCIPE + ST + + + SÉNÉGAL + SN + + + SERBIE + RS + + + SEYCHELLES + SC + + + SIERRA LEONE + SL + + + SINGAPOUR + SG + + + SLOVAQUIE + SK + + + SLOVÉNIE + SI + + + SOMALIE + SO + + + SOUDAN + SD + + + SRI LANKA + LK + + + SUÈDE + SE + + + SUISSE + CH + + + SURINAME + SR + + + SVALBARD ET ÎLE JAN MAYEN + SJ + + + SWAZILAND + SZ + + + SYRIENNE, RÉPUBLIQUE ARABE + SY + + + TADJIKISTAN + TJ + + + TAÏWAN, PROVINCE DE CHINE + TW + + + TANZANIE, RÉPUBLIQUE-UNIE DE + TZ + + + TCHAD + TD + + + TCHÈQUE, RÉPUBLIQUE + CZ + + + TERRES AUSTRALES FRANÇAISES + TF + + + THAÏLANDE + TH + + + TIMOR-LESTE + TL + + + TOGO + TG + + + TOKELAU + TK + + + TONGA + TO + + + TRINITÉ-ET-TOBAGO + TT + + + TUNISIE + TN + + + TURKMÉNISTAN + TM + + + TURKS ET CAÏQUES, ÎLES + TC + + + TURQUIE + TR + + + TUVALU + TV + + + UKRAINE + UA + + + URUGUAY + UY + + + VANUATU + VU + + + VENEZUELA, RÉPUBLIQUE BOLIVARIENNE DU + VE + + + VIET NAM + VN + + + WALLIS ET FUTUNA + WF + + + YÉMEN + YE + + + ZAMBIE + ZM + + + ZIMBABWE + ZW + + diff --git a/_sources/make.py b/_sources/make.py new file mode 100755 index 0000000..d05c711 --- /dev/null +++ b/_sources/make.py @@ -0,0 +1,97 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +#################################################### +# Copyright © 2009 Luxia SAS. All rights reserved. # +# # +# Contributors: # +# - Benoît Pin # +#################################################### +""" generates python, po and mo files from xml sources. + + + +""" + + +import os +from xml.dom.minidom import parse +from os.path import exists, sep +from os import mkdir +from subprocess import Popen + +POHEADER ="""msgid "" +msgstr "" +"Project-Id-Version: ISO-3166_1\\n" +"MIME-Version: 1.0\\n" +"Content-Type: text/plain; charset=%(charset)s\\n" +"Content-Transfer-Encoding: 8bit\\n" +"Language-Code: %(lang)s\\n" +"Preferred-Encodings: %(charset)s latin1\\n" +"Domain: iso_3166_1\\n" + +""" + +def main(): + xmlFileNames = [name for name in os.listdir('.') if not name.startswith('.') and name.endswith('.xml')] + + for name in xmlFileNames: + lang = os.path.splitext(name)[0].split('_')[-1] + entries = getEntries(name) + makePy(lang, entries) + makePo(lang, entries) + + + + +def getEntries(name): + d = parse(name) + countries = [] + for entry in d.documentElement.getElementsByTagName('ISO_3166-1_Entry') : + code = entry.getElementsByTagName('ISO_3166-1_Alpha-2_code')[0].firstChild.nodeValue + value = entry.getElementsByTagName('ISO_3166-1_Country_name')[0].firstChild.nodeValue + countries.append((code, value)) + + return countries + +def makePy(lang, entries, encoding='utf-8'): + out = open('../%s.py' % lang, 'w') + out.write('# -*- coding: %s -*-\n\n' % encoding) + out.write('__allow_access_to_unprotected_subobjects__ = 1\n\n') + out.write('countries = (\n') + + for e in entries : + encodedEntry = tuple(map(lambda s : s.encode(encoding), e)) + out.write(''' ('%s', "%s"),\n''' % encodedEntry) + + out.write(' )') + out.close() + +def makePo(lang, entries, encoding='utf-8'): + path = ('..', 'locales', lang, 'LC_MESSAGES') + poFilepath = '' + for p in path : + poFilepath = poFilepath + p + sep + if not exists(poFilepath) : + mkdir(poFilepath) + + poFilepath = poFilepath + 'iso_3166_1.po' + out = open(poFilepath, 'w') + + header = POHEADER % {'charset':encoding, 'lang':lang} + out.write(header) + + for e in entries : + id, msg = tuple(map(lambda s : s.encode(encoding), e)) + out.write('msgid "%s"\n' % id) + out.write('msgstr "%s"\n\n' % msg) + out.close() + + moFilepath = poFilepath[:-3] + '.mo' + MSGFMT = "msgfmt -o %s %s" % (moFilepath, poFilepath) + p = Popen(MSGFMT, shell=True) + p.wait() + + + +if __name__ == '__main__' : + main() diff --git a/configure.zcml b/configure.zcml new file mode 100644 index 0000000..6e54612 --- /dev/null +++ b/configure.zcml @@ -0,0 +1,5 @@ + + + diff --git a/en.py b/en.py new file mode 100755 index 0000000..703d228 --- /dev/null +++ b/en.py @@ -0,0 +1,252 @@ +# -*- coding: utf-8 -*- + +__allow_access_to_unprotected_subobjects__ = 1 + +countries = ( + ('AF', "AFGHANISTAN"), + ('AX', "ÅLAND ISLANDS"), + ('AL', "ALBANIA"), + ('DZ', "ALGERIA"), + ('AS', "AMERICAN SAMOA"), + ('AD', "ANDORRA"), + ('AO', "ANGOLA"), + ('AI', "ANGUILLA"), + ('AQ', "ANTARCTICA"), + ('AG', "ANTIGUA AND BARBUDA"), + ('AR', "ARGENTINA"), + ('AM', "ARMENIA"), + ('AW', "ARUBA"), + ('AU', "AUSTRALIA"), + ('AT', "AUSTRIA"), + ('AZ', "AZERBAIJAN"), + ('BS', "BAHAMAS"), + ('BH', "BAHRAIN"), + ('BD', "BANGLADESH"), + ('BB', "BARBADOS"), + ('BY', "BELARUS"), + ('BE', "BELGIUM"), + ('BZ', "BELIZE"), + ('BJ', "BENIN"), + ('BM', "BERMUDA"), + ('BT', "BHUTAN"), + ('BO', "BOLIVIA"), + ('BA', "BOSNIA AND HERZEGOVINA"), + ('BW', "BOTSWANA"), + ('BV', "BOUVET ISLAND"), + ('BR', "BRAZIL"), + ('IO', "BRITISH INDIAN OCEAN TERRITORY"), + ('BN', "BRUNEI DARUSSALAM"), + ('BG', "BULGARIA"), + ('BF', "BURKINA FASO"), + ('BI', "BURUNDI"), + ('KH', "CAMBODIA"), + ('CM', "CAMEROON"), + ('CA', "CANADA"), + ('CV', "CAPE VERDE"), + ('KY', "CAYMAN ISLANDS"), + ('CF', "CENTRAL AFRICAN REPUBLIC"), + ('TD', "CHAD"), + ('CL', "CHILE"), + ('CN', "CHINA"), + ('CX', "CHRISTMAS ISLAND"), + ('CC', "COCOS (KEELING) ISLANDS"), + ('CO', "COLOMBIA"), + ('KM', "COMOROS"), + ('CG', "CONGO"), + ('CD', "CONGO, THE DEMOCRATIC REPUBLIC OF THE"), + ('CK', "COOK ISLANDS"), + ('CR', "COSTA RICA"), + ('CI', "CÔTE D'IVOIRE"), + ('HR', "CROATIA"), + ('CU', "CUBA"), + ('CY', "CYPRUS"), + ('CZ', "CZECH REPUBLIC"), + ('DK', "DENMARK"), + ('DJ', "DJIBOUTI"), + ('DM', "DOMINICA"), + ('DO', "DOMINICAN REPUBLIC"), + ('EC', "ECUADOR"), + ('EG', "EGYPT"), + ('SV', "EL SALVADOR"), + ('GQ', "EQUATORIAL GUINEA"), + ('ER', "ERITREA"), + ('EE', "ESTONIA"), + ('ET', "ETHIOPIA"), + ('FK', "FALKLAND ISLANDS (MALVINAS)"), + ('FO', "FAROE ISLANDS"), + ('FJ', "FIJI"), + ('FI', "FINLAND"), + ('FR', "FRANCE"), + ('GF', "FRENCH GUIANA"), + ('PF', "FRENCH POLYNESIA"), + ('TF', "FRENCH SOUTHERN TERRITORIES"), + ('GA', "GABON"), + ('GM', "GAMBIA"), + ('GE', "GEORGIA"), + ('DE', "GERMANY"), + ('GH', "GHANA"), + ('GI', "GIBRALTAR"), + ('GR', "GREECE"), + ('GL', "GREENLAND"), + ('GD', "GRENADA"), + ('GP', "GUADELOUPE"), + ('GU', "GUAM"), + ('GT', "GUATEMALA"), + ('GG', "GUERNSEY"), + ('GN', "GUINEA"), + ('GW', "GUINEA-BISSAU"), + ('GY', "GUYANA"), + ('HT', "HAITI"), + ('HM', "HEARD ISLAND AND MCDONALD ISLANDS"), + ('VA', "HOLY SEE (VATICAN CITY STATE)"), + ('HN', "HONDURAS"), + ('HK', "HONG KONG"), + ('HU', "HUNGARY"), + ('IS', "ICELAND"), + ('IN', "INDIA"), + ('ID', "INDONESIA"), + ('IR', "IRAN, ISLAMIC REPUBLIC OF"), + ('IQ', "IRAQ"), + ('IE', "IRELAND"), + ('IM', "ISLE OF MAN"), + ('IL', "ISRAEL"), + ('IT', "ITALY"), + ('JM', "JAMAICA"), + ('JP', "JAPAN"), + ('JE', "JERSEY"), + ('JO', "JORDAN"), + ('KZ', "KAZAKHSTAN"), + ('KE', "KENYA"), + ('KI', "KIRIBATI"), + ('KP', "KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF"), + ('KR', "KOREA, REPUBLIC OF"), + ('KW', "KUWAIT"), + ('KG', "KYRGYZSTAN"), + ('LA', "LAO PEOPLE'S DEMOCRATIC REPUBLIC"), + ('LV', "LATVIA"), + ('LB', "LEBANON"), + ('LS', "LESOTHO"), + ('LR', "LIBERIA"), + ('LY', "LIBYAN ARAB JAMAHIRIYA"), + ('LI', "LIECHTENSTEIN"), + ('LT', "LITHUANIA"), + ('LU', "LUXEMBOURG"), + ('MO', "MACAO"), + ('MK', "MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF"), + ('MG', "MADAGASCAR"), + ('MW', "MALAWI"), + ('MY', "MALAYSIA"), + ('MV', "MALDIVES"), + ('ML', "MALI"), + ('MT', "MALTA"), + ('MH', "MARSHALL ISLANDS"), + ('MQ', "MARTINIQUE"), + ('MR', "MAURITANIA"), + ('MU', "MAURITIUS"), + ('YT', "MAYOTTE"), + ('MX', "MEXICO"), + ('FM', "MICRONESIA, FEDERATED STATES OF"), + ('MD', "MOLDOVA, REPUBLIC OF"), + ('MC', "MONACO"), + ('MN', "MONGOLIA"), + ('ME', "MONTENEGRO"), + ('MS', "MONTSERRAT"), + ('MA', "MOROCCO"), + ('MZ', "MOZAMBIQUE"), + ('MM', "MYANMAR"), + ('NA', "NAMIBIA"), + ('NR', "NAURU"), + ('NP', "NEPAL"), + ('NL', "NETHERLANDS"), + ('AN', "NETHERLANDS ANTILLES"), + ('NC', "NEW CALEDONIA"), + ('NZ', "NEW ZEALAND"), + ('NI', "NICARAGUA"), + ('NE', "NIGER"), + ('NG', "NIGERIA"), + ('NU', "NIUE"), + ('NF', "NORFOLK ISLAND"), + ('MP', "NORTHERN MARIANA ISLANDS"), + ('NO', "NORWAY"), + ('OM', "OMAN"), + ('PK', "PAKISTAN"), + ('PW', "PALAU"), + ('PS', "PALESTINIAN TERRITORY, OCCUPIED"), + ('PA', "PANAMA"), + ('PG', "PAPUA NEW GUINEA"), + ('PY', "PARAGUAY"), + ('PE', "PERU"), + ('PH', "PHILIPPINES"), + ('PN', "PITCAIRN"), + ('PL', "POLAND"), + ('PT', "PORTUGAL"), + ('PR', "PUERTO RICO"), + ('QA', "QATAR"), + ('RE', "REUNION"), + ('RO', "ROMANIA"), + ('RU', "RUSSIAN FEDERATION"), + ('RW', "RWANDA"), + ('BL', "SAINT BARTHÉLEMY"), + ('SH', "SAINT HELENA"), + ('KN', "SAINT KITTS AND NEVIS"), + ('LC', "SAINT LUCIA"), + ('MF', "SAINT MARTIN"), + ('PM', "SAINT PIERRE AND MIQUELON"), + ('VC', "SAINT VINCENT AND THE GRENADINES"), + ('WS', "SAMOA"), + ('SM', "SAN MARINO"), + ('ST', "SAO TOME AND PRINCIPE"), + ('SA', "SAUDI ARABIA"), + ('SN', "SENEGAL"), + ('RS', "SERBIA"), + ('SC', "SEYCHELLES"), + ('SL', "SIERRA LEONE"), + ('SG', "SINGAPORE"), + ('SK', "SLOVAKIA"), + ('SI', "SLOVENIA"), + ('SB', "SOLOMON ISLANDS"), + ('SO', "SOMALIA"), + ('ZA', "SOUTH AFRICA"), + ('GS', "SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS"), + ('ES', "SPAIN"), + ('LK', "SRI LANKA"), + ('SD', "SUDAN"), + ('SR', "SURINAME"), + ('SJ', "SVALBARD AND JAN MAYEN"), + ('SZ', "SWAZILAND"), + ('SE', "SWEDEN"), + ('CH', "SWITZERLAND"), + ('SY', "SYRIAN ARAB REPUBLIC"), + ('TW', "TAIWAN, PROVINCE OF CHINA"), + ('TJ', "TAJIKISTAN"), + ('TZ', "TANZANIA, UNITED REPUBLIC OF"), + ('TH', "THAILAND"), + ('TL', "TIMOR-LESTE"), + ('TG', "TOGO"), + ('TK', "TOKELAU"), + ('TO', "TONGA"), + ('TT', "TRINIDAD AND TOBAGO"), + ('TN', "TUNISIA"), + ('TR', "TURKEY"), + ('TM', "TURKMENISTAN"), + ('TC', "TURKS AND CAICOS ISLANDS"), + ('TV', "TUVALU"), + ('UG', "UGANDA"), + ('UA', "UKRAINE"), + ('AE', "UNITED ARAB EMIRATES"), + ('GB', "UNITED KINGDOM"), + ('US', "UNITED STATES"), + ('UM', "UNITED STATES MINOR OUTLYING ISLANDS"), + ('UY', "URUGUAY"), + ('UZ', "UZBEKISTAN"), + ('VU', "VANUATU"), + ('VE', "VENEZUELA, BOLIVARIAN REPUBLIC OF"), + ('VN', "VIET NAM"), + ('VG', "VIRGIN ISLANDS, BRITISH"), + ('VI', "VIRGIN ISLANDS, U.S."), + ('WF', "WALLIS AND FUTUNA"), + ('EH', "WESTERN SAHARA"), + ('YE', "YEMEN"), + ('ZM', "ZAMBIA"), + ('ZW', "ZIMBABWE"), + ) \ No newline at end of file diff --git a/fr.py b/fr.py new file mode 100755 index 0000000..b3e972b --- /dev/null +++ b/fr.py @@ -0,0 +1,252 @@ +# -*- coding: utf-8 -*- + +__allow_access_to_unprotected_subobjects__ = 1 + +countries = ( + ('AF', "AFGHANISTAN"), + ('ZA', "AFRIQUE DU SUD"), + ('AX', "ÅLAND, ÎLES"), + ('AL', "ALBANIE"), + ('DZ', "ALGÉRIE"), + ('DE', "ALLEMAGNE"), + ('AD', "ANDORRE"), + ('AO', "ANGOLA"), + ('AI', "ANGUILLA"), + ('AQ', "ANTARCTIQUE"), + ('AG', "ANTIGUA-ET-BARBUDA"), + ('AN', "ANTILLES NÉERLANDAISES"), + ('SA', "ARABIE SAOUDITE"), + ('AR', "ARGENTINE"), + ('AM', "ARMÉNIE"), + ('AW', "ARUBA"), + ('AU', "AUSTRALIE"), + ('AT', "AUTRICHE"), + ('AZ', "AZERBAÏDJAN"), + ('BS', "BAHAMAS"), + ('BH', "BAHREÏN"), + ('BD', "BANGLADESH"), + ('BB', "BARBADE"), + ('BY', "BÉLARUS"), + ('BE', "BELGIQUE"), + ('BZ', "BELIZE"), + ('BJ', "BÉNIN"), + ('BM', "BERMUDES"), + ('BT', "BHOUTAN"), + ('BO', "BOLIVIE"), + ('BA', "BOSNIE-HERZÉGOVINE"), + ('BW', "BOTSWANA"), + ('BV', "BOUVET, ÎLE"), + ('BR', "BRÉSIL"), + ('BN', "BRUNÉI DARUSSALAM"), + ('BG', "BULGARIE"), + ('BF', "BURKINA FASO"), + ('BI', "BURUNDI"), + ('KY', "CAÏMANES, ÎLES"), + ('KH', "CAMBODGE"), + ('CM', "CAMEROUN"), + ('CA', "CANADA"), + ('CV', "CAP-VERT"), + ('CF', "CENTRAFRICAINE, RÉPUBLIQUE"), + ('CL', "CHILI"), + ('CN', "CHINE"), + ('CX', "CHRISTMAS, ÎLE"), + ('CY', "CHYPRE"), + ('CC', "COCOS (KEELING), ÎLES"), + ('CO', "COLOMBIE"), + ('KM', "COMORES"), + ('CG', "CONGO"), + ('CD', "CONGO, LA RÉPUBLIQUE DÉMOCRATIQUE DU"), + ('CK', "COOK, ÎLES"), + ('KR', "CORÉE, RÉPUBLIQUE DE"), + ('KP', "CORÉE, RÉPUBLIQUE POPULAIRE DÉMOCRATIQUE DE"), + ('CR', "COSTA RICA"), + ('CI', "CÔTE D'IVOIRE"), + ('HR', "CROATIE"), + ('CU', "CUBA"), + ('DK', "DANEMARK"), + ('DJ', "DJIBOUTI"), + ('DO', "DOMINICAINE, RÉPUBLIQUE"), + ('DM', "DOMINIQUE"), + ('EG', "ÉGYPTE"), + ('SV', "EL SALVADOR"), + ('AE', "ÉMIRATS ARABES UNIS"), + ('EC', "ÉQUATEUR"), + ('ER', "ÉRYTHRÉE"), + ('ES', "ESPAGNE"), + ('EE', "ESTONIE"), + ('US', "ÉTATS-UNIS"), + ('ET', "ÉTHIOPIE"), + ('FK', "FALKLAND, ÎLES (MALVINAS)"), + ('FO', "FÉROÉ, ÎLES"), + ('FJ', "FIDJI"), + ('FI', "FINLANDE"), + ('FR', "FRANCE"), + ('GA', "GABON"), + ('GM', "GAMBIE"), + ('GE', "GÉORGIE"), + ('GS', "GÉORGIE DU SUD ET LES ÎLES SANDWICH DU SUD"), + ('GH', "GHANA"), + ('GI', "GIBRALTAR"), + ('GR', "GRÈCE"), + ('GD', "GRENADE"), + ('GL', "GROENLAND"), + ('GP', "GUADELOUPE"), + ('GU', "GUAM"), + ('GT', "GUATEMALA"), + ('GG', "GUERNESEY"), + ('GN', "GUINÉE"), + ('GW', "GUINÉE-BISSAU"), + ('GQ', "GUINÉE ÉQUATORIALE"), + ('GY', "GUYANA"), + ('GF', "GUYANE FRANÇAISE"), + ('HT', "HAÏTI"), + ('HM', "HEARD, ÎLE ET MCDONALD, ÎLES"), + ('HN', "HONDURAS"), + ('HK', "HONG-KONG"), + ('HU', "HONGRIE"), + ('IM', "ÎLE DE MAN"), + ('UM', "ÎLES MINEURES ÉLOIGNÉES DES ÉTATS-UNIS"), + ('VG', "ÎLES VIERGES BRITANNIQUES"), + ('VI', "ÎLES VIERGES DES ÉTATS-UNIS"), + ('IN', "INDE"), + ('ID', "INDONÉSIE"), + ('IR', "IRAN, RÉPUBLIQUE ISLAMIQUE D'"), + ('IQ', "IRAQ"), + ('IE', "IRLANDE"), + ('IS', "ISLANDE"), + ('IL', "ISRAËL"), + ('IT', "ITALIE"), + ('JM', "JAMAÏQUE"), + ('JP', "JAPON"), + ('JE', "JERSEY"), + ('JO', "JORDANIE"), + ('KZ', "KAZAKHSTAN"), + ('KE', "KENYA"), + ('KG', "KIRGHIZISTAN"), + ('KI', "KIRIBATI"), + ('KW', "KOWEÏT"), + ('LA', "LAO, RÉPUBLIQUE DÉMOCRATIQUE POPULAIRE"), + ('LS', "LESOTHO"), + ('LV', "LETTONIE"), + ('LB', "LIBAN"), + ('LR', "LIBÉRIA"), + ('LY', "LIBYENNE, JAMAHIRIYA ARABE"), + ('LI', "LIECHTENSTEIN"), + ('LT', "LITUANIE"), + ('LU', "LUXEMBOURG"), + ('MO', "MACAO"), + ('MK', "MACÉDOINE, L'EX-RÉPUBLIQUE YOUGOSLAVE DE"), + ('MG', "MADAGASCAR"), + ('MY', "MALAISIE"), + ('MW', "MALAWI"), + ('MV', "MALDIVES"), + ('ML', "MALI"), + ('MT', "MALTE"), + ('MP', "MARIANNES DU NORD, ÎLES"), + ('MA', "MAROC"), + ('MH', "MARSHALL, ÎLES"), + ('MQ', "MARTINIQUE"), + ('MU', "MAURICE"), + ('MR', "MAURITANIE"), + ('YT', "MAYOTTE"), + ('MX', "MEXIQUE"), + ('FM', "MICRONÉSIE, ÉTATS FÉDÉRÉS DE"), + ('MD', "MOLDOVA, RÉPUBLIQUE DE"), + ('MC', "MONACO"), + ('MN', "MONGOLIE"), + ('ME', "MONTÉNÉGRO"), + ('MS', "MONTSERRAT"), + ('MZ', "MOZAMBIQUE"), + ('MM', "MYANMAR"), + ('NA', "NAMIBIE"), + ('NR', "NAURU"), + ('NP', "NÉPAL"), + ('NI', "NICARAGUA"), + ('NE', "NIGER"), + ('NG', "NIGÉRIA"), + ('NU', "NIUÉ"), + ('NF', "NORFOLK, ÎLE"), + ('NO', "NORVÈGE"), + ('NC', "NOUVELLE-CALÉDONIE"), + ('NZ', "NOUVELLE-ZÉLANDE"), + ('IO', "OCÉAN INDIEN, TERRITOIRE BRITANNIQUE DE L'"), + ('OM', "OMAN"), + ('UG', "OUGANDA"), + ('UZ', "OUZBÉKISTAN"), + ('PK', "PAKISTAN"), + ('PW', "PALAOS"), + ('PS', "PALESTINIEN OCCUPÉ, TERRITOIRE"), + ('PA', "PANAMA"), + ('PG', "PAPOUASIE-NOUVELLE-GUINÉE"), + ('PY', "PARAGUAY"), + ('NL', "PAYS-BAS"), + ('PE', "PÉROU"), + ('PH', "PHILIPPINES"), + ('PN', "PITCAIRN"), + ('PL', "POLOGNE"), + ('PF', "POLYNÉSIE FRANÇAISE"), + ('PR', "PORTO RICO"), + ('PT', "PORTUGAL"), + ('QA', "QATAR"), + ('RE', "RÉUNION"), + ('RO', "ROUMANIE"), + ('GB', "ROYAUME-UNI"), + ('RU', "RUSSIE, FÉDÉRATION DE"), + ('RW', "RWANDA"), + ('EH', "SAHARA OCCIDENTAL"), + ('BL', "SAINT-BARTHÉLEMY"), + ('SH', "SAINTE-HÉLÈNE"), + ('LC', "SAINTE-LUCIE"), + ('KN', "SAINT-KITTS-ET-NEVIS"), + ('SM', "SAINT-MARIN"), + ('MF', "SAINT-MARTIN"), + ('PM', "SAINT-PIERRE-ET-MIQUELON"), + ('VA', "SAINT-SIÈGE (ÉTAT DE LA CITÉ DU VATICAN)"), + ('VC', "SAINT-VINCENT-ET-LES GRENADINES"), + ('SB', "SALOMON, ÎLES"), + ('WS', "SAMOA"), + ('AS', "SAMOA AMÉRICAINES"), + ('ST', "SAO TOMÉ-ET-PRINCIPE"), + ('SN', "SÉNÉGAL"), + ('RS', "SERBIE"), + ('SC', "SEYCHELLES"), + ('SL', "SIERRA LEONE"), + ('SG', "SINGAPOUR"), + ('SK', "SLOVAQUIE"), + ('SI', "SLOVÉNIE"), + ('SO', "SOMALIE"), + ('SD', "SOUDAN"), + ('LK', "SRI LANKA"), + ('SE', "SUÈDE"), + ('CH', "SUISSE"), + ('SR', "SURINAME"), + ('SJ', "SVALBARD ET ÎLE JAN MAYEN"), + ('SZ', "SWAZILAND"), + ('SY', "SYRIENNE, RÉPUBLIQUE ARABE"), + ('TJ', "TADJIKISTAN"), + ('TW', "TAÏWAN, PROVINCE DE CHINE"), + ('TZ', "TANZANIE, RÉPUBLIQUE-UNIE DE"), + ('TD', "TCHAD"), + ('CZ', "TCHÈQUE, RÉPUBLIQUE"), + ('TF', "TERRES AUSTRALES FRANÇAISES"), + ('TH', "THAÏLANDE"), + ('TL', "TIMOR-LESTE"), + ('TG', "TOGO"), + ('TK', "TOKELAU"), + ('TO', "TONGA"), + ('TT', "TRINITÉ-ET-TOBAGO"), + ('TN', "TUNISIE"), + ('TM', "TURKMÉNISTAN"), + ('TC', "TURKS ET CAÏQUES, ÎLES"), + ('TR', "TURQUIE"), + ('TV', "TUVALU"), + ('UA', "UKRAINE"), + ('UY', "URUGUAY"), + ('VU', "VANUATU"), + ('VE', "VENEZUELA, RÉPUBLIQUE BOLIVARIENNE DU"), + ('VN', "VIET NAM"), + ('WF', "WALLIS ET FUTUNA"), + ('YE', "YÉMEN"), + ('ZM', "ZAMBIE"), + ('ZW', "ZIMBABWE"), + ) \ No newline at end of file diff --git a/iso_3166_1.py b/iso_3166_1.py new file mode 100755 index 0000000..64e6406 --- /dev/null +++ b/iso_3166_1.py @@ -0,0 +1,248 @@ +countries = [ + 'AF' + ,'ZA' + ,'AX' + ,'AL' + ,'DZ' + ,'DE' + ,'AD' + ,'AO' + ,'AI' + ,'AQ' + ,'AG' + ,'AN' + ,'SA' + ,'AR' + ,'AM' + ,'AW' + ,'AU' + ,'AT' + ,'AZ' + ,'BS' + ,'BH' + ,'BD' + ,'BB' + ,'BY' + ,'BE' + ,'BZ' + ,'BJ' + ,'BM' + ,'BT' + ,'BO' + ,'BA' + ,'BW' + ,'BV' + ,'BR' + ,'BN' + ,'BG' + ,'BF' + ,'BI' + ,'KY' + ,'KH' + ,'CM' + ,'CA' + ,'CV' + ,'CF' + ,'CL' + ,'CN' + ,'CX' + ,'CY' + ,'CC' + ,'CO' + ,'KM' + ,'CG' + ,'CD' + ,'CK' + ,'KR' + ,'KP' + ,'CR' + ,'CI' + ,'HR' + ,'CU' + ,'DK' + ,'DJ' + ,'DO' + ,'DM' + ,'EG' + ,'SV' + ,'AE' + ,'EC' + ,'ER' + ,'ES' + ,'EE' + ,'US' + ,'ET' + ,'FK' + ,'FO' + ,'FJ' + ,'FI' + ,'FR' + ,'GA' + ,'GM' + ,'GE' + ,'GS' + ,'GH' + ,'GI' + ,'GR' + ,'GD' + ,'GL' + ,'GP' + ,'GU' + ,'GT' + ,'GG' + ,'GN' + ,'GW' + ,'GQ' + ,'GY' + ,'GF' + ,'HT' + ,'HM' + ,'HN' + ,'HK' + ,'HU' + ,'IM' + ,'UM' + ,'VG' + ,'VI' + ,'IN' + ,'ID' + ,'IR' + ,'IQ' + ,'IE' + ,'IS' + ,'IL' + ,'IT' + ,'JM' + ,'JP' + ,'JE' + ,'JO' + ,'KZ' + ,'KE' + ,'KG' + ,'KI' + ,'KW' + ,'LA' + ,'LS' + ,'LV' + ,'LB' + ,'LR' + ,'LY' + ,'LI' + ,'LT' + ,'LU' + ,'MO' + ,'MK' + ,'MG' + ,'MY' + ,'MW' + ,'MV' + ,'ML' + ,'MT' + ,'MP' + ,'MA' + ,'MH' + ,'MQ' + ,'MU' + ,'MR' + ,'YT' + ,'MX' + ,'FM' + ,'MD' + ,'MC' + ,'MN' + ,'ME' + ,'MS' + ,'MZ' + ,'MM' + ,'NA' + ,'NR' + ,'NP' + ,'NI' + ,'NE' + ,'NG' + ,'NU' + ,'NF' + ,'NO' + ,'NC' + ,'NZ' + ,'IO' + ,'OM' + ,'UG' + ,'UZ' + ,'PK' + ,'PW' + ,'PS' + ,'PA' + ,'PG' + ,'PY' + ,'NL' + ,'PE' + ,'PH' + ,'PN' + ,'PL' + ,'PF' + ,'PR' + ,'PT' + ,'QA' + ,'RE' + ,'RO' + ,'GB' + ,'RU' + ,'RW' + ,'EH' + ,'BL' + ,'SH' + ,'LC' + ,'KN' + ,'SM' + ,'MF' + ,'PM' + ,'VA' + ,'VC' + ,'SB' + ,'WS' + ,'AS' + ,'ST' + ,'SN' + ,'RS' + ,'SC' + ,'SL' + ,'SG' + ,'SK' + ,'SI' + ,'SO' + ,'SD' + ,'LK' + ,'SE' + ,'CH' + ,'SR' + ,'SJ' + ,'SZ' + ,'SY' + ,'TJ' + ,'TW' + ,'TZ' + ,'TD' + ,'CZ' + ,'TF' + ,'TH' + ,'TL' + ,'TG' + ,'TK' + ,'TO' + ,'TT' + ,'TN' + ,'TM' + ,'TC' + ,'TR' + ,'TV' + ,'UA' + ,'UY' + ,'VU' + ,'VE' + ,'VN' + ,'WF' + ,'YE' + ,'ZM' + ,'ZW' + ] diff --git a/locales/en/LC_MESSAGES/iso_3166_1.mo b/locales/en/LC_MESSAGES/iso_3166_1.mo new file mode 100644 index 0000000000000000000000000000000000000000..2a5a7c0bf218b26c9fe7b20aa4b2b1a5c48dcc4c GIT binary patch literal 9216 zcmZvf37j2Om4^?)z?jhifk2Y(q^mnD0TMO^F#>w4UcGwNua=iuUgte!38V=@NH7Ts zf*>FQf`ABu3gb39xWUM{paP;Oi!36F3gd!;fXXH+IL^3y=e^TO_&N3K|NH9Rx^?Q_ zbI(2Z_T^h`|1%k0FMv^zZGIrKMO$Rs3y0M^-T+@Bvg22bHyXcg{HF2S#ygC68SgcI z&xrkjy&oALGXB)~u<;S&W5!<_pEN#We9rhsUaYZCq}AgYj_V z3gb%SD&uj+6O1Ps*BjqrJjHmL@eJcx#&eA4880wiWPGpjGUFA-4;rsFe#H23<0p-u zGJe*0o$-3(7mXILv%hBLn~mQve#>~f@jJ$QjQ1J8Z~US0LE}%1KR5o;_$%WR#@`yB zHvZ1|2cxbxjiWys|1zY8o7V5NrEzQHON}oxZfo4$INLbKIAUC295?P_+}*gRafxwX z<138^8ed~P*!Vi5Zw!qsW80V+ml-SLl(BC-%y^{nXyY-))yCtEYmMuSCmByRo@zYZ zc&724#&eDDHonJriSd2L_ZvT8yvq1tgsY&c=Dh`9{yU(72m%594CvKF0lx2N(}BzSelC(HR@Y$T(?CjU8iY z>>7KNs{4nYTTh z12vxb{=8)n|IO2WGX8l-L;5{$ojpGTVt?K_R=&u}mqErmPy4wQyvE9(gWFNQ0n+bz zy1v!!eUSdm`#Ds5k6T&SrI!B$>D$N_!}<~CO52Z&8h3&8cVscd-pKw|uko+-F~rV@ z`d!~!4(Zp(k#K~+X*dSYg!pabqmcfMsDJhSFG00?Bh>frGJYRwd-bo{|25S1&q3m5 zMEea#HD6$F6yFU3X7{qZ$uFc z=Le8y^V^X3=WBduz4}wjM?!tR%6I}~ob%U1`Zxb{Jz(CqnEmI2E!^ z7n}vPo%&Jhb^eL51=m1re-nHeyu-@czwIbL4C%vy-$DE}X7M=2oalJR)NlA>O#3$n z9t5#BrhZduo>H!Y+HM`B|6?aZeP8=Uf5t8_UTXE)Pkqnw*VyMMGybtJLbY=%#BXDF zLdG@rW2kl?hWKmjH&E?954HVYhV-_CjKia?w)3ztC~KV3-eZjn%DX|v@9kwg7;5_z z(r>Q^wf#|WE?jN(XG3jwA;gw4*0XE8lMA`yl=IerWs|RJ)JC?cr0yvbtO6 zXPmaOE!6ygf5tU_u{*vGezee5;i&fcSet<75WRe*tcRX0DHO^BOCB3aWp9g+5_*n`0@3|3JS-*Pu_LnM>zm=6Z&kYteP+ z)9CYP=DMDn|3Y6tI)<6+Gu(U$eHm$N&RjZPy}pY6Fu2?F^Wdi2f4IBxA8JINpzc4> z^P4?W|LOG&^i6a#`WE^+((4v!gC8JWLwf1l{|M>a z-;YxC6{K_X6ZBK0>r1ak(a#5WA`csX0e@-t3Z2WD>oL1|3EUEGg_wVN9BqxBM0#z5 zn0H+p8gGM3V~^O-c+{Mw>sMn<^NYrmXzpRH%kK~|t?{XQl;)4YwL8Ba8b=dIuZ3tA zv>5G*c0+rkebByWKeRu(4e9ktG(ETzc@;ds?sYxB8XbgQYjwIN^g0CHJGdMEyw2`l z5C4c9^3fUSP_+5=!_5oa2dIHU^fdZDdN+CqHBp3G=miuby(Wi{1h(xygE{J;WvD6P>s4suPL+~^-v$Z0lg9Fbr`x89j*ngBZiP8;R?II0G^4CvhvYzrQIujyVxdep-wFF%WmP^o+pf8P3 z8k5p!OCyy=E{(o~frO!ik%TP?3kgdJD{02koRnr;nyEB%X%-SWiF}C~5`_{qC5j|! zNfb+zNR&#HNz{>OnMAZKC8{KnBxy_1wxo%qsic{txuhLQmq}VkT1r|;T1(oMbV}0Y zl47ARnUgG#ER?J%StMC3St403Sx2%$vRbmfQ_|_lGABhSMJ`1tMJ>gYluk-t%0SA7l%bT7lr1S^DJP|DOPNTSN|{NSOIb)+ zN!gXMCuLu%K&pmRO{pTOT2f6))s`xeDwQgeDwnE|s*Ua*u+NFduUNh2wcgRk zu2{Ezdcz?nZ8&DhL7UpGTd`*SG1KdoglmpoyK?oKRZG2tj#|B8Rz8^1W8U#AHmqK=->k;k6Zq0nZ}s}MM_310jg7o0@IV$< zVZ(EU^Sv;Q3s({Lt{Jsl7MGQ-*{q7A+IhU-`L6KmhNCX3Jq45kr2R zL{2~HyH?>?gFLOX28o9O5oJ_WI_|1<>-kB@BJjf^RUh~?3uCY0in=UaLW1-2B<`xE z!u46w7<4I#&TrM~M?bH-VP!+0RFzXsI~pcxK^gZ$Qd#CO9^^q@dW+g2wOO>s#(@Vp zzFh3#WUmpXdBAkVfmei`+E2L2oBBusoQwB7*BttG<~e40UCODr!hz~a32wct!q)C_ zH;-9|L7ulaeXJEH+9ReY&q<;!b!?C)dFnGtI#@YRKR{w-iUQXOy>3{LR)bbS>@fD3 z(FVPajxp$mL2F}gNuNdPvL0DD#yM3?M$S@KkdX5<&eZVCO}6PJm+%^&4}+Td)g)cz z8hK&VBd1JJ3=55>77Sy;wyvDXY6p{|aG$GBM}IGcBiJlyE7X5q4cEy4MC%hnZv7BLDogK#jhQJ5Ez zc7Za!U>Ru;L^Yi*!yX&SpcoTE39Ch43x|D;+`#L+kTD<@WFt)Snj{-8t6i1jl0>Zy z9`X|XDDf#@7=CcDKs0QIwIy>u71M#46@|enWZ(nSba!BBi60Z%>|S+GyVW9kyf#15 z3SBX?8V8osppj=TnW-zaZKE!TejG@Q^0JGW;Z~io+IsADv{%2f*|7i!#JDV6$Uaym zp@uPmp^a$ZGly|WPqmbJc@Xl;BvYNMrGgU$KiT5JSeUVmv7$2+2WGxNJWJT=Z=(g6A!t{Aq=2a`FT(#;!7EkKsA!DwKh|@%+ zsf@Nv{cv|sueERmUQ#y%9I8?#eSoBqcNzQUgW?$<4SRiOJmK8SvchdE*Xx40}|;%L*N`dEDucAvk@x_Hc8jy_y?N zP$$L-;cz|ckP-r_6IX$Y3vNhJRj&Cy=XGL79l7~RT+Gr8YHT#5ga7M@-qVou(HRa> z&w85Eijdrh=|TsA7jV7$O}9}sXnA(ff*q30kQCI22QjFvb^pmXtrFIA&Agl=NvJRl+9vm^JRSP4LuC+ac1}DF2i?I|RrWL*hl^=urO;hHEa)Uu z97~4z1dr?XKa-n-7XMG#1P{`;hW1PbjG4|VXIHPtutPg;GPdch@;2$OmMUh&F40K~ z2cOZy+90u1OohfVdno_aXb(t_oWQcU;fAiMa^I=-8h>HP#mvcKuT$tTD;T8e;kkgN z)Ys`;?AgvYGeS*pbz6^CA;;~(gjx&RN7?K1!eg^add%6zQNO5>unJfwdPw&}8(fQ6 z_sTHz7IpO$glB`eqDFV;J#5woo#X(gldKtKxD5~10AUdJ337ToIJgZ`#fwr*H)gBe z7-=*c?nL}&@Z$P(Qx4Pr5}hkPw29U=kEi z@qs`F6!3v>1#tyjU0q#S--@>414Z$Lpdf;RZxK{>VORZ5_emJC_51zjtE#^D*16}N zbMBqX_k7A7GP)iF<05of3n~XOb z8Gkt5Eyml7w;S&?-fg_c_-o_ujDIxVZ~Tk#zl{$Y|2E>nJ&b!A_cAUpKFPR`abM&9 z#>GZ_r1meIG)@_xW<1DvsPQo4D&sSZ&or(!9%p=>F)%ibu`w~`#==+|*BYO1e4%lj zalLV)@l@mK#xsoDj4w5wZG46CRmRsE&o}NcUTnO?_(tPfjBhi()A%0amB#lQuQqOj0=s6jAO>7#%0D8#siIq7^jU# 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 w{{&G!