﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/ca.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/ca.xml
 */
ca{
    Countries{
        001{"Món"}
        002{"Àfrica"}
        003{"Amèrica del Nord"}
        005{"Amèrica del Sud"}
        009{"Oceania"}
        011{"Àfrica Occidental"}
        013{"Amèrica Central"}
        014{"Àfrica Oriental"}
        015{"Àfrica septentrional"}
        017{"Àfrica Central"}
        018{"Àfrica meridional"}
        019{"Amèrica"}
        021{"Amèrica septentrional"}
        029{"Carib"}
        030{"Àsia Oriental"}
        034{"Àsia meridional"}
        035{"Àsia Sud-oriental"}
        039{"Europa meridional"}
        053{"Austràlia i Nova Zelanda"}
        054{"Melanèsia"}
        057{"Regió de la Micronèsia"}
        061{"Polinèsia"}
        142{"Àsia"}
        143{"Àsia Central"}
        145{"Àsia Occidental"}
        150{"Europa"}
        151{"Europa Oriental"}
        154{"Europa septentrional"}
        155{"Europa Occidental"}
        419{"Amèrica Llatina"}
        AC{"Illa de l'Ascensió"}
        AD{"Andorra"}
        AE{"Unió dels Emirats Àrabs"}
        AF{"Afganistan"}
        AG{"Antigua i Barbuda"}
        AI{"Anguilla"}
        AL{"Albània"}
        AM{"Armènia"}
        AN{"Antilles Neerlandeses"}
        AO{"Angola"}
        AQ{"Antàrtida"}
        AR{"Argentina"}
        AS{"Samoa Americana"}
        AT{"Àustria"}
        AU{"Austràlia"}
        AW{"Aruba"}
        AX{"Illes Åland"}
        AZ{"Azerbaidjan"}
        BA{"Bòsnia i Hercegovina"}
        BB{"Barbados"}
        BD{"Bangla Desh"}
        BE{"Bèlgica"}
        BF{"Burkina Faso"}
        BG{"Bulgària"}
        BH{"Bahrain"}
        BI{"Burundi"}
        BJ{"Benín"}
        BL{"Saint Barthélemy"}
        BM{"Bermudes"}
        BN{"Brunei"}
        BO{"Bolívia"}
        BQ{"Carib Neerlandès"}
        BR{"Brasil"}
        BS{"Bahames"}
        BT{"Bhutan"}
        BV{"Illa Bouvet"}
        BW{"Botswana"}
        BY{"Bielorússia"}
        BZ{"Belize"}
        CA{"Canadà"}
        CC{"Illes Cocos"}
        CD{"Congo - Kinshasa"}
        CF{"República Centreafricana"}
        CG{"Congo - Brazzaville"}
        CH{"Suïssa"}
        CI{"Costa d’Ivori"}
        CK{"Illes Cook"}
        CL{"Xile"}
        CM{"Camerun"}
        CN{"Xina"}
        CO{"Colòmbia"}
        CP{"Illa Clipperton"}
        CR{"Costa Rica"}
        CU{"Cuba"}
        CV{"Cap Verd"}
        CW{"Curaçao"}
        CX{"Illa Christmas"}
        CY{"Xipre"}
        CZ{"República Txeca"}
        DE{"Alemanya"}
        DG{"Diego Garcia"}
        DJ{"Djibouti"}
        DK{"Dinamarca"}
        DM{"Dominica"}
        DO{"República Dominicana"}
        DZ{"Algèria"}
        EA{"Ceuta i Melilla"}
        EC{"Equador"}
        EE{"Estònia"}
        EG{"Egipte"}
        EH{"Sàhara Occidental"}
        ER{"Eritrea"}
        ES{"Espanya"}
        ET{"Etiòpia"}
        EU{"Unió Europea"}
        FI{"Finlàndia"}
        FJ{"Fiji"}
        FK{"Illes Malvines"}
        FM{"Micronèsia"}
        FO{"Illes Fèroe"}
        FR{"França"}
        GA{"Gabon"}
        GB{"Regne Unit"}
        GD{"Grenada"}
        GE{"Geòrgia"}
        GF{"Guaiana Francesa"}
        GG{"Guernsey"}
        GH{"Ghana"}
        GI{"Gibraltar"}
        GL{"Grenlàndia"}
        GM{"Gàmbia"}
        GN{"Guinea"}
        GP{"Guadeloupe"}
        GQ{"Guinea Equatorial"}
        GR{"Grècia"}
        GS{"Illes Geòrgia del Sud i Sandwich del Sud"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Guinea Bissau"}
        GY{"Guyana"}
        HK{"Regió adm. especial xinesa de Hong Kong"}
        HM{"Illa Heard i Illes McDonald"}
        HN{"Hondures"}
        HR{"Croàcia"}
        HT{"Haití"}
        HU{"Hongria"}
        IC{"Illes Canàries"}
        ID{"Indonèsia"}
        IE{"Irlanda"}
        IL{"Israel"}
        IM{"Illa de Man"}
        IN{"Índia"}
        IO{"Territori Britànic de l'Oceà Índic"}
        IQ{"Iraq"}
        IR{"Iran"}
        IS{"Islàndia"}
        IT{"Itàlia"}
        JE{"Jersey"}
        JM{"Jamaica"}
        JO{"Jordània"}
        JP{"Japó"}
        KE{"Kenya"}
        KG{"Kirguizistan"}
        KH{"Cambodja"}
        KI{"Kiribati"}
        KM{"Comores"}
        KN{"Saint Christopher i Nevis"}
        KP{"Corea del Nord"}
        KR{"Corea del Sud"}
        KW{"Kuwait"}
        KY{"Illes Caiman"}
        KZ{"Kazakhstan"}
        LA{"Laos"}
        LB{"Líban"}
        LC{"Saint Lucia"}
        LI{"Liechtenstein"}
        LK{"Sri Lanka"}
        LR{"Libèria"}
        LS{"Lesotho"}
        LT{"Lituània"}
        LU{"Luxemburg"}
        LV{"Letònia"}
        LY{"Líbia"}
        MA{"Marroc"}
        MC{"Mònaco"}
        MD{"Moldàvia"}
        ME{"Montenegro"}
        MF{"Saint Martin"}
        MG{"Madagascar"}
        MH{"Illes Marshall"}
        MK{"Macedònia"}
        ML{"Mali"}
        MM{"Myanmar [Birmània]"}
        MN{"Mongòlia"}
        MO{"Regió administrativa especial xinesa de Macau"}
        MP{"Illes Mariannes del Nord"}
        MQ{"Martinica"}
        MR{"Mauritània"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Maurici"}
        MV{"Maldives"}
        MW{"Malawi"}
        MX{"Mèxic"}
        MY{"Malàisia"}
        MZ{"Moçambic"}
        NA{"Namíbia"}
        NC{"Nova Caledònia"}
        NE{"Níger"}
        NF{"Illa Norfolk"}
        NG{"Nigèria"}
        NI{"Nicaragua"}
        NL{"Països Baixos"}
        NO{"Noruega"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Nova Zelanda"}
        OM{"Oman"}
        PA{"Panamà"}
        PE{"Perú"}
        PF{"Polinèsia Francesa"}
        PG{"Papua Nova Guinea"}
        PH{"Filipines"}
        PK{"Pakistan"}
        PL{"Polònia"}
        PM{"Saint-Pierre-et-Miquelon"}
        PN{"Illes Pitcairn"}
        PR{"Puerto Rico"}
        PS{"Palestina"}
        PT{"Portugal"}
        PW{"Palau"}
        PY{"Paraguai"}
        QA{"Qatar"}
        QO{"Territoris allunyats d'Oceania"}
        RE{"Illa de la Reunió"}
        RO{"Romania"}
        RS{"Sèrbia"}
        RU{"Rússia"}
        RW{"Rwanda"}
        SA{"Aràbia Saudita"}
        SB{"Illes Salomó"}
        SC{"Seychelles"}
        SD{"Sudan"}
        SE{"Suècia"}
        SG{"Singapur"}
        SH{"Saint Helena"}
        SI{"Eslovènia"}
        SJ{"Svalbard i Jan Mayen"}
        SK{"Eslovàquia"}
        SL{"Sierra Leone"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somàlia"}
        SR{"Surinam"}
        SS{"Sudan del Sud"}
        ST{"São Tomé i Príncipe"}
        SV{"El Salvador"}
        SX{"Sint Maarten"}
        SY{"Síria"}
        SZ{"Swazilàndia"}
        TA{"Tristão da Cunha"}
        TC{"Illes Turks i Caicos"}
        TD{"Txad"}
        TF{"Territoris Francesos del Sud"}
        TG{"Togo"}
        TH{"Tailàndia"}
        TJ{"Tadjikistan"}
        TK{"Tokelau"}
        TL{"Timor Oriental"}
        TM{"Turkmenistan"}
        TN{"Tunísia"}
        TO{"Tonga"}
        TR{"Turquia"}
        TT{"Trinitat i Tobago"}
        TV{"Tuvalu"}
        TW{"Taiwan"}
        TZ{"Tanzània"}
        UA{"Ucraïna"}
        UG{"Uganda"}
        UM{"Illes Perifèriques Menors dels EUA"}
        US{"Estats Units"}
        UY{"Uruguai"}
        UZ{"Uzbekistan"}
        VA{"Vaticà"}
        VC{"Saint Vincent i les Grenadines"}
        VE{"Veneçuela"}
        VG{"Illes Verges Britàniques"}
        VI{"Illes Verges Nord-americanes"}
        VN{"Vietnam"}
        VU{"Vanuatu"}
        WF{"Wallis i Futuna"}
        WS{"Samoa"}
        YE{"Iemen"}
        YT{"Mayotte"}
        ZA{"República de Sud-àfrica"}
        ZM{"Zàmbia"}
        ZW{"Zimbabwe"}
        ZZ{"Regió desconeguda"}
    }
    Version{"2.0.82.57"}
}
