﻿// ***************************************************************************
// *
// * Copyright (C) 2011 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"}
        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.59.68"}
}
