﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * 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"}
        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"}
        CS{"Sèrbia i Montenegro"}
        CU{"Cuba"}
        CV{"Cap Verd"}
        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ó administrativa 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 i 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"}
        ST{"São Tomé i Príncipe"}
        SV{"El Salvador"}
        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 o no vàlida"}
    }
    Version{"2.0.65.46"}
}
