﻿// ***************************************************************************
// *
// * Copyright (C) 2010 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/fr.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/fr.xml
 */
fr{
    Countries{
        001{"Monde"}
        002{"Afrique"}
        003{"Amérique du Nord"}
        005{"Amérique du Sud"}
        009{"Océanie"}
        011{"Afrique occidentale"}
        013{"Amérique centrale"}
        014{"Afrique orientale"}
        015{"Afrique septentrionale"}
        017{"Afrique centrale"}
        018{"Afrique australe"}
        019{"Amériques"}
        021{"Amérique septentrionale"}
        029{"Caraïbes"}
        030{"Asie orientale"}
        034{"Asie du Sud"}
        035{"Asie du Sud-Est"}
        039{"Europe méridionale"}
        053{"Australie et Nouvelle-Zélande"}
        054{"Mélanésie"}
        057{"région micronésienne"}
        061{"Polynésie"}
        062{"Asie centrale et du Sud"}
        142{"Asie"}
        143{"Asie centrale"}
        145{"Asie occidentale"}
        150{"Europe"}
        151{"Europe orientale"}
        154{"Europe septentrionale"}
        155{"Europe occidentale"}
        172{"Communauté des États indépendants"}
        419{"Amérique latine et Caraïbes"}
        830{"Îles Anglo-normandes"}
        AC{"Île de l'Ascension"}
        AD{"Andorre"}
        AE{"Émirats arabes unis"}
        AF{"Afghanistan"}
        AG{"Antigua-et-Barbuda"}
        AI{"Anguilla"}
        AL{"Albanie"}
        AM{"Arménie"}
        AN{"Antilles néerlandaises"}
        AO{"Angola"}
        AQ{"Antarctique"}
        AR{"Argentine"}
        AS{"Samoa américaines"}
        AT{"Autriche"}
        AU{"Australie"}
        AW{"Aruba"}
        AX{"Îles Åland"}
        AZ{"Azerbaïdjan"}
        BA{"Bosnie-Herzégovine"}
        BB{"Barbade"}
        BD{"Bangladesh"}
        BE{"Belgique"}
        BF{"Burkina Faso"}
        BG{"Bulgarie"}
        BH{"Bahreïn"}
        BI{"Burundi"}
        BJ{"Bénin"}
        BL{"Saint-Barthélémy"}
        BM{"Bermudes"}
        BN{"Brunéi Darussalam"}
        BO{"Bolivie"}
        BR{"Brésil"}
        BS{"Bahamas"}
        BT{"Bhoutan"}
        BV{"Île Bouvet"}
        BW{"Botswana"}
        BY{"Bélarus"}
        BZ{"Belize"}
        CA{"Canada"}
        CC{"Îles Cocos - Keeling"}
        CD{"République démocratique du Congo"}
        CF{"République centrafricaine"}
        CG{"Congo-Brazzaville"}
        CH{"Suisse"}
        CI{"Côte d’Ivoire"}
        CK{"Îles Cook"}
        CL{"Chili"}
        CM{"Cameroun"}
        CN{"Chine"}
        CO{"Colombie"}
        CP{"Île Clipperton"}
        CR{"Costa Rica"}
        CS{"Serbie-et-Monténégro"}
        CU{"Cuba"}
        CV{"Cap-Vert"}
        CX{"Île Christmas"}
        CY{"Chypre"}
        CZ{"République tchèque"}
        DE{"Allemagne"}
        DG{"Diego Garcia"}
        DJ{"Djibouti"}
        DK{"Danemark"}
        DM{"Dominique"}
        DO{"République dominicaine"}
        DZ{"Algérie"}
        EA{"Ceuta et Melilla"}
        EC{"Équateur"}
        EE{"Estonie"}
        EG{"Égypte"}
        EH{"Sahara occidental"}
        ER{"Érythrée"}
        ES{"Espagne"}
        ET{"Éthiopie"}
        EU{"Union européenne"}
        FI{"Finlande"}
        FJ{"Fidji"}
        FK{"Îles Malouines"}
        FM{"États fédérés de Micronésie"}
        FO{"Îles Féroé"}
        FR{"France"}
        GA{"Gabon"}
        GB{"Royaume-Uni"}
        GD{"Grenade"}
        GE{"Géorgie"}
        GF{"Guyane française"}
        GG{"Guernesey"}
        GH{"Ghana"}
        GI{"Gibraltar"}
        GL{"Groenland"}
        GM{"Gambie"}
        GN{"Guinée"}
        GP{"Guadeloupe"}
        GQ{"Guinée équatoriale"}
        GR{"Grèce"}
        GS{"Géorgie du Sud et les îles Sandwich du Sud"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Guinée-Bissau"}
        GY{"Guyana"}
        HK{"R.A.S. chinoise de Hong Kong"}
        HM{"Îles Heard et MacDonald"}
        HN{"Honduras"}
        HR{"Croatie"}
        HT{"Haïti"}
        HU{"Hongrie"}
        IC{"Îles Canaries"}
        ID{"Indonésie"}
        IE{"Irlande"}
        IL{"Israël"}
        IM{"Île de Man"}
        IN{"Inde"}
        IO{"Territoire britannique de l'océan Indien"}
        IQ{"Irak"}
        IR{"Iran"}
        IS{"Islande"}
        IT{"Italie"}
        JE{"Jersey"}
        JM{"Jamaïque"}
        JO{"Jordanie"}
        JP{"Japon"}
        KE{"Kenya"}
        KG{"Kirghizistan"}
        KH{"Cambodge"}
        KI{"Kiribati"}
        KM{"Comores"}
        KN{"Saint-Kitts-et-Nevis"}
        KP{"Corée du Nord"}
        KR{"Corée du Sud"}
        KW{"Koweït"}
        KY{"Îles Caïmans"}
        KZ{"Kazakhstan"}
        LA{"Laos"}
        LB{"Liban"}
        LC{"Sainte-Lucie"}
        LI{"Liechtenstein"}
        LK{"Sri Lanka"}
        LR{"Libéria"}
        LS{"Lesotho"}
        LT{"Lituanie"}
        LU{"Luxembourg"}
        LV{"Lettonie"}
        LY{"Libye"}
        MA{"Maroc"}
        MC{"Monaco"}
        MD{"Moldavie"}
        ME{"Monténégro"}
        MF{"Saint-Martin"}
        MG{"Madagascar"}
        MH{"Îles Marshall"}
        MK{"Macédoine"}
        ML{"Mali"}
        MM{"Myanmar"}
        MN{"Mongolie"}
        MO{"R.A.S. chinoise de Macao"}
        MP{"Îles Mariannes du Nord"}
        MQ{"Martinique"}
        MR{"Mauritanie"}
        MS{"Montserrat"}
        MT{"Malte"}
        MU{"Maurice"}
        MV{"Maldives"}
        MW{"Malawi"}
        MX{"Mexique"}
        MY{"Malaisie"}
        MZ{"Mozambique"}
        NA{"Namibie"}
        NC{"Nouvelle-Calédonie"}
        NE{"Niger"}
        NF{"Île Norfolk"}
        NG{"Nigéria"}
        NI{"Nicaragua"}
        NL{"Pays-Bas"}
        NO{"Norvège"}
        NP{"Népal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Nouvelle-Zélande"}
        OM{"Oman"}
        PA{"Panama"}
        PE{"Pérou"}
        PF{"Polynésie française"}
        PG{"Papouasie-Nouvelle-Guinée"}
        PH{"Philippines"}
        PK{"Pakistan"}
        PL{"Pologne"}
        PM{"Saint-Pierre-et-Miquelon"}
        PN{"Pitcairn"}
        PR{"Porto Rico"}
        PS{"Territoire palestinien"}
        PT{"Portugal"}
        PW{"Palaos"}
        PY{"Paraguay"}
        QA{"Qatar"}
        QO{"régions éloignées de l’Océanie"}
        RE{"Réunion"}
        RO{"Roumanie"}
        RS{"Serbie"}
        RU{"Russie"}
        RW{"Rwanda"}
        SA{"Arabie saoudite"}
        SB{"Îles Salomon"}
        SC{"Seychelles"}
        SD{"Soudan"}
        SE{"Suède"}
        SG{"Singapour"}
        SH{"Sainte-Hélène"}
        SI{"Slovénie"}
        SJ{"Svalbard et Île Jan Mayen"}
        SK{"Slovaquie"}
        SL{"Sierra Leone"}
        SM{"Saint-Marin"}
        SN{"Sénégal"}
        SO{"Somalie"}
        SR{"Suriname"}
        ST{"Sao Tomé-et-Principe"}
        SV{"El Salvador"}
        SY{"Syrie"}
        SZ{"Swaziland"}
        TA{"Tristan da Cunha"}
        TC{"Îles Turks et Caïques"}
        TD{"Tchad"}
        TF{"Terres australes françaises"}
        TG{"Togo"}
        TH{"Thaïlande"}
        TJ{"Tadjikistan"}
        TK{"Tokelau"}
        TL{"Timor oriental"}
        TM{"Turkménistan"}
        TN{"Tunisie"}
        TO{"Tonga"}
        TR{"Turquie"}
        TT{"Trinité-et-Tobago"}
        TV{"Tuvalu"}
        TW{"Taïwan"}
        TZ{"Tanzanie"}
        UA{"Ukraine"}
        UG{"Ouganda"}
        UM{"Îles Mineures Éloignées des États-Unis"}
        US{"États-Unis"}
        UY{"Uruguay"}
        UZ{"Ouzbékistan"}
        VA{"État de la Cité du Vatican"}
        VC{"Saint-Vincent-et-les Grenadines"}
        VE{"Venezuela"}
        VG{"Îles Vierges britanniques"}
        VI{"Îles Vierges des États-Unis"}
        VN{"Viêt Nam"}
        VU{"Vanuatu"}
        WF{"Wallis-et-Futuna"}
        WS{"Samoa"}
        YE{"Yémen"}
        YT{"Mayotte"}
        ZA{"Afrique du Sud"}
        ZM{"Zambie"}
        ZW{"Zimbabwe"}
        ZZ{"région indéterminée"}
    }
    Version{"2.0.50.25"}
}
