﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * 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"}
        142{"Asie"}
        143{"Asie centrale"}
        145{"Asie occidentale"}
        150{"Europe"}
        151{"Europe orientale"}
        154{"Europe septentrionale"}
        155{"Europe occidentale"}
        419{"Amérique latine"}
        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"}
        BQ{"Pays-Bas caribéens"}
        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"}
        CU{"Cuba"}
        CV{"Cap-Vert"}
        CW{"Curaçao"}
        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 [partie française]"}
        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"}
        SS{"Soudan du Sud"}
        ST{"Sao Tomé-et-Príncipe"}
        SV{"El Salvador"}
        SX{"Saint-Martin [partie néerlandaise]"}
        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 é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"}
        XK{"Kosovo"}
        YE{"Yémen"}
        YT{"Mayotte"}
        ZA{"Afrique du Sud"}
        ZM{"Zambie"}
        ZW{"Zimbabwe"}
        ZZ{"région indéterminée"}
    }
    Version{"2.0.86.71"}
}
