﻿// ***************************************************************************
// *
// * 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/rm.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/rm.xml
 */
rm{
    Countries{
        001{"mund"}
        002{"Africa"}
        003{"America dal Nord"}
        005{"America dal Sid"}
        009{"Oceania"}
        011{"Africa dal Vest"}
        013{"America Centrala"}
        014{"Africa da l'Ost"}
        015{"Africa dal Nord"}
        017{"Africa Centrala"}
        018{"Africa Meridiunala"}
        019{"America dal Nord, America Centrala ed America dal Sid"}
        029{"Caribica"}
        030{"Asia da l'Ost"}
        034{"Asia dal Sid"}
        035{"Asia dal Sidost"}
        039{"Europa dal Sid"}
        053{"Australia e Nova Zelanda"}
        054{"Melanesia"}
        057{"Regiun Micronesica"}
        061{"Polinesia"}
        062{"Asia Centrala dal Sid"}
        142{"Asia"}
        143{"Asia Centrala"}
        145{"Asia dal Vest"}
        150{"Europa"}
        151{"Europa Orientala"}
        154{"Europa dal Nord"}
        155{"Europa dal Vest"}
        172{"Communitad dals Stadis Independents"}
        200{"Tschecoslovachia"}
        419{"America Latina e Caribica"}
        830{"Inslas dal Chanal da la Mongia"}
        AD{"Andorra"}
        AE{"Emirats Arabs Unids"}
        AF{"Afghanistan"}
        AG{"Antigua e Barbuda"}
        AI{"Anguilla"}
        AL{"Albania"}
        AM{"Armenia"}
        AN{"Antillas Ollandaisas"}
        AO{"Angola"}
        AQ{"Antarctica"}
        AR{"Argentinia"}
        AS{"Samoa Americana"}
        AT{"Austria"}
        AU{"Australia"}
        AW{"Aruba"}
        AX{"Inslas Aland"}
        AZ{"Aserbaidschan"}
        BA{"Bosnia ed Erzegovina"}
        BB{"Barbados"}
        BD{"Bangladesch"}
        BE{"Belgia"}
        BF{"Burkina Faso"}
        BG{"Bulgaria"}
        BH{"Bahrain"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"Son Barthélemy"}
        BM{"Bermudas"}
        BN{"Brunei"}
        BO{"Bolivia"}
        BR{"Brasila"}
        BS{"Bahamas"}
        BT{"Bhutan"}
        BV{"Insla Bouvet"}
        BW{"Botswana"}
        BY{"Bielorussia"}
        BZ{"Belize"}
        CA{"Canada"}
        CC{"Inslas Cocos"}
        CD{"Republica Democratica dal Congo"}
        CF{"Republica Centralafricana"}
        CG{"Congo"}
        CH{"Svizra"}
        CI{"Costa d'Ivur"}
        CK{"Inslas Cook"}
        CL{"Chile"}
        CM{"Camerun"}
        CN{"China"}
        CO{"Columbia"}
        CR{"Costa Rica"}
        CS{"Serbia e Montenegro"}
        CU{"Cuba"}
        CV{"Cap Verd"}
        CX{"Insla da Christmas"}
        CY{"Cipra"}
        CZ{"Republica Tscheca"}
        DE{"Germania"}
        DJ{"Dschibuti"}
        DK{"Danemarc"}
        DM{"Dominica"}
        DO{"Republica Dominicana"}
        DZ{"Algeria"}
        EC{"Ecuador"}
        EE{"Estonia"}
        EG{"Egipta"}
        EH{"Sahara Occidentala"}
        ER{"Eritrea"}
        ES{"Spagna"}
        ET{"Etiopia"}
        EU{"Uniun europeica"}
        FI{"Finlanda"}
        FJ{"Fidschi"}
        FK{"Inslas dal Falkland"}
        FM{"Micronesia"}
        FO{"Inslas Feroe"}
        FR{"Frantscha"}
        GA{"Gabun"}
        GB{"Reginavel Unì"}
        GD{"Grenada"}
        GE{"Georgia"}
        GF{"Guyana Franzosa"}
        GG{"Guernsey"}
        GH{"Ghana"}
        GI{"Gibraltar"}
        GL{"Grönlanda"}
        GM{"Gambia"}
        GN{"Guinea"}
        GP{"Guadeloupe"}
        GQ{"Guinea Equatoriala"}
        GR{"Grezia"}
        GS{"Georgia dal Sid e las Inslas Sandwich dal Sid"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Guinea-Bissau"}
        GY{"Guyana"}
        HK{"Regiun d'administraziun speziala da Hongkong, China"}
        HM{"Inslas da Heard e da McDonlad"}
        HN{"Honduras"}
        HR{"Croazia"}
        HT{"Haiti"}
        HU{"Ungaria"}
        ID{"Indonesia"}
        IE{"Irlanda"}
        IL{"Israel"}
        IM{"Insla da Man"}
        IN{"India"}
        IO{"Territori Britannic en l'Ocean Indic"}
        IQ{"Irac"}
        IR{"Iran"}
        IS{"Islanda"}
        IT{"Italia"}
        JE{"Jersey"}
        JM{"Giamaica"}
        JO{"Jordania"}
        JP{"Giapun"}
        KE{"Kenia"}
        KG{"Kirghisistan"}
        KH{"Cambodscha"}
        KI{"Kiribati"}
        KM{"Comoras"}
        KN{"Saint Kitts e Nevis"}
        KP{"Corea dal Nord"}
        KR{"Corea dal Sid"}
        KW{"Kuwait"}
        KY{"Inslas Cayman"}
        KZ{"Kasachstan"}
        LA{"Laos"}
        LB{"Libanon"}
        LC{"Saint Lucia"}
        LI{"Liechtenstein"}
        LK{"Sri Lanka"}
        LR{"Liberia"}
        LS{"Lesotho"}
        LT{"Lituania"}
        LU{"Luxemburg"}
        LV{"Lettonia"}
        LY{"Libia"}
        MA{"Maroc"}
        MC{"Monaco"}
        MD{"Moldavia"}
        ME{"Montenegro"}
        MF{"Saint Martin"}
        MG{"Madagascar"}
        MH{"Inslas da Marshall"}
        MK{"Macedonia"}
        ML{"Mali"}
        MM{"Myanmar"}
        MN{"Mongolia"}
        MO{"Regiun d'administraziun speziala Macao, China"}
        MP{"Inslas Mariannas dal Nord"}
        MQ{"Martinique"}
        MR{"Mauretania"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Mauritius"}
        MV{"Maldivas"}
        MW{"Malawi"}
        MX{"Mexico"}
        MY{"Malaisia"}
        MZ{"Mosambic"}
        NA{"Namibia"}
        NC{"Nova Caledonia"}
        NE{"Niger"}
        NF{"Insla Norfolk"}
        NG{"Nigeria"}
        NI{"Nicaragua"}
        NL{"Pajais Bass"}
        NO{"Norvegia"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Nova Zelanda"}
        OM{"Oman"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Polinesia Franzosa"}
        PG{"Papua Nova Guinea"}
        PH{"Filippinas"}
        PK{"Pakistan"}
        PL{"Pologna"}
        PM{"Saint Pierre e Miquelon"}
        PN{"Pitcairn"}
        PR{"Puerto Rico"}
        PS{"Territori Palestinais"}
        PT{"Portugal"}
        PW{"Palau"}
        PY{"Paraguai"}
        QA{"Katar"}
        QO{"Oceania Periferica"}
        RE{"Réunion"}
        RO{"Rumenia"}
        RS{"Serbia"}
        RU{"Russia"}
        RW{"Ruanda"}
        SA{"Arabia Saudita"}
        SB{"Salomonas"}
        SC{"Seychellas"}
        SD{"Sudan"}
        SE{"Svezia"}
        SG{"Singapur"}
        SH{"Sontg'Elena"}
        SI{"Slovenia"}
        SJ{"Svalbard e Jan Mayen"}
        SK{"Slovachia"}
        SL{"Sierra Leone"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somalia"}
        SR{"Surinam"}
        ST{"São Tomé e Principe"}
        SV{"El Salvador"}
        SY{"Siria"}
        SZ{"Swaziland"}
        TC{"Inslas Turks e Caicos"}
        TD{"Tschad"}
        TF{"Territoris Franzos Meridiunals"}
        TG{"Togo"}
        TH{"Tailanda"}
        TJ{"Tadschikistan"}
        TK{"Tokelau"}
        TL{"Timor da l'Ost"}
        TM{"Turkmenistan"}
        TN{"Tunesia"}
        TO{"Tonga"}
        TR{"Tirchia"}
        TT{"Trinidad e Tobago"}
        TV{"Tuvalu"}
        TW{"Taiwan"}
        TZ{"Tansania"}
        UA{"Ucraina"}
        UG{"Uganda"}
        UM{"Inslas pitschnas perifericas dals Stadis Unids da l'America"}
        US{"Stadis Unids da l'America"}
        UY{"Uruguay"}
        UZ{"Usbekistan"}
        VA{"Citad dal Vatican"}
        VC{"Saint Vincent e las Grenadinas"}
        VE{"Venezuela"}
        VG{"Inslas Verginas Britannicas"}
        VI{"Inslas Verginas Americanas"}
        VN{"Vietnam"}
        VU{"Vanuatu"}
        WF{"Wallis e Futuna"}
        WS{"Samoa"}
        YE{"Jemen"}
        YT{"Mayotte"}
        ZA{"Africa dal Sid"}
        ZM{"Sambia"}
        ZW{"Simbabwe"}
        ZZ{"Regiun betg encouschenta u nunvalaivla"}
    }
    Version{"2.0.47.63"}
}
