﻿// ***************************************************************************
// *
// * 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/so.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/so.xml
 */
so{
    Countries{
        AD{"Andora"}
        AE{"Imaaraadka Carabta ee Midoobay"}
        AF{"Afgaanistaan"}
        AG{"Antigua iyo Barbuda"}
        AI{"Anguilla"}
        AL{"Albaaniya"}
        AM{"Armeeniya"}
        AN{"Netherlands Antilles"}
        AO{"Angoola"}
        AR{"Arjantiin"}
        AS{"Samowa Ameerika"}
        AT{"Awsteriya"}
        AU{"Awstaraaliya"}
        AW{"Aruba"}
        AZ{"Azerbajaan"}
        BA{"Bosniya Hersigoviina"}
        BB{"Baarbadoos"}
        BD{"Bangaaladheesh"}
        BE{"Biljam"}
        BF{"Burkiina Faaso"}
        BG{"Bulgaariya"}
        BH{"Baxreyn"}
        BI{"Burundi"}
        BJ{"Biniin"}
        BM{"Bermuuda"}
        BN{"Buruneeya"}
        BO{"Boliifiya"}
        BR{"Braasiil"}
        BS{"Bahaamas"}
        BT{"Bhutan"}
        BW{"Botuswaana"}
        BY{"Belarus"}
        BZ{"Belize"}
        CA{"Kanada"}
        CD{"Jamhuuriyadda Dimuquraadiga Kongo"}
        CF{"Jamhuuriyadda Afrikada Dhexe"}
        CG{"Kongo"}
        CH{"Swiiserlaand"}
        CI{"Ivory coast"}
        CK{"Jaziiradda Cook"}
        CL{"Jili"}
        CM{"Kaameruun"}
        CN{"Shiinaha"}
        CO{"Kolombiya"}
        CR{"Kosta Riika"}
        CS{"serbiya iyo Monteneegro"}
        CU{"Kuuba"}
        CV{"Cape Verde Islands"}
        CY{"Qubrus"}
        CZ{"Jamhuuriyadda Jek"}
        DE{"Jarmal"}
        DJ{"Jabuuti"}
        DK{"Denmark"}
        DM{"Domeenika"}
        DO{"Jamhuuriyadda  Domeenika"}
        DZ{"Aljeeriya"}
        EC{"Ikuwadoor"}
        EE{"Estooniya"}
        EG{"Masar"}
        ER{"Eretereeya"}
        ES{"Isbeyn"}
        ET{"Itoobiya"}
        FI{"Finland"}
        FJ{"Fiji"}
        FK{"Jaziiradaha Fooklaan"}
        FM{"Micronesia"}
        FR{"Faransiis"}
        GA{"Gaaboon"}
        GB{"United Kingdom"}
        GD{"Giriinaada"}
        GE{"Joorjiya"}
        GF{"French Guiana"}
        GH{"Gaana"}
        GI{"Gibraltar"}
        GL{"Greenland"}
        GM{"Gambiya"}
        GN{"Gini"}
        GP{"Guadeloupe"}
        GQ{"Equatorial Guinea"}
        GR{"Giriig"}
        GT{"Guwaatamaala"}
        GU{"Guam"}
        GW{"Gini-Bisaaw"}
        GY{"Guyana"}
        HN{"Honduras"}
        HR{"Korweeshiya"}
        HT{"Hayti"}
        HU{"Hangeri"}
        ID{"Indoneesiya"}
        IE{"Ayrlaand"}
        IL{"Israaʼiil"}
        IN{"Hindiya"}
        IO{"British Indian Ocean Territory"}
        IQ{"Ciraaq"}
        IR{"Iiraan"}
        IS{"Iislaand"}
        IT{"Talyaani"}
        JM{"Jameyka"}
        JO{"Urdun"}
        JP{"Jabaan"}
        KE{"Kiiniya"}
        KG{"Kirgistaan"}
        KH{"Kamboodiya"}
        KI{"Kiribati"}
        KM{"Komooros"}
        KN{"Saint Kitts and Nevis"}
        KP{"Kuuriyada Waqooyi"}
        KR{"Kuuriyada Koonfureed"}
        KW{"Kuwayt"}
        KY{"Cayman Islands"}
        KZ{"Kasaakhistaan"}
        LA{"Laos"}
        LB{"Lubnaan"}
        LC{"Saint Lucia"}
        LI{"Liechtenstein"}
        LK{"Sirilaanka"}
        LR{"Laybeeriya"}
        LS{"Losooto"}
        LT{"Lituweeniya"}
        LU{"Luksemboorg"}
        LV{"Latfiya"}
        LY{"Liibiya"}
        MA{"Marooko"}
        MC{"Moonako"}
        MD{"Moldofa"}
        MG{"Madagaskar"}
        MH{"Marshall Islands"}
        MK{"Makadooniya"}
        ML{"Maali"}
        MM{"Myanmar"}
        MN{"Mongooliya"}
        MP{"Northern Mariana Islands"}
        MQ{"Martinique"}
        MR{"Muritaaniya"}
        MS{"Montserrat"}
        MT{"Maalda"}
        MU{"Murishiyoos"}
        MV{"Maaldiqeen"}
        MW{"Malaawi"}
        MX{"Meksiko"}
        MY{"Malaysia"}
        MZ{"Musambiig"}
        NA{"Namiibiya"}
        NC{"New Caledonia"}
        NE{"Nayjer"}
        NF{"Norfolk Island"}
        NG{"Nayjeeriya"}
        NI{"Nikaraaguwa"}
        NL{"Netherlands"}
        NO{"Noorweey"}
        NP{"Nebaal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Neyuusilaand"}
        OM{"Cumaan"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"French Polynesia"}
        PG{"Papua New Guinea"}
        PH{"Filibiin"}
        PK{"Bakistaan"}
        PL{"Booland"}
        PM{"Saint Pierre and Miquelon"}
        PN{"Pitcairn"}
        PR{"Puerto Rico"}
        PS{"Falastiin Daanka galbeed iyo Qasa"}
        PT{"Bortuqaal"}
        PW{"Palau"}
        PY{"Paraguay"}
        QA{"Qadar"}
        RE{"Réunion"}
        RO{"Rumaaniya"}
        RU{"Ruush"}
        RW{"Ruwanda"}
        SA{"Sacuudi Carabiya"}
        SB{"Solomon Islands"}
        SC{"Sishelis"}
        SD{"Suudaan"}
        SE{"Iswidhan"}
        SG{"Singaboor"}
        SH{"Saint Helena"}
        SI{"Slovenia"}
        SK{"Slovakia"}
        SL{"Siraaliyoon"}
        SM{"San Marino"}
        SN{"Sinigaal"}
        SO{"Soomaaliya"}
        SR{"Suriname"}
        ST{"São Tomé and Príncipe"}
        SV{"El Salvador"}
        SY{"Suuriya"}
        SZ{"Iswaasilaand"}
        TC{"Turks and Caicos Islands"}
        TD{"Jaad"}
        TG{"Toogo"}
        TH{"Taylaand"}
        TJ{"Tajikistan"}
        TK{"Tokelau"}
        TL{"Timorka bari"}
        TM{"Turkmenistan"}
        TN{"Tuniisiya"}
        TO{"Tonga"}
        TR{"Turki"}
        TT{"Trinidad and Tobago"}
        TV{"Tuvalu"}
        TW{"Taywaan"}
        TZ{"Tansaaniya"}
        UA{"Ukrayn"}
        UG{"Ugaanda"}
        US{"Maraykanka"}
        UY{"Uruguwaay"}
        UZ{"Uusbakistaan"}
        VA{"Faatikaan"}
        VC{"Saint Vincent and the Grenadines"}
        VE{"Fenisuweela"}
        VG{"British Virgin Islands"}
        VI{"U.S. Virgin Islands"}
        VN{"Fiyetnaam"}
        VU{"Vanuatu"}
        WF{"Wallis and Futuna"}
        WS{"Samoa"}
        YE{"Yaman"}
        YT{"Mayotte"}
        ZA{"Koonfur Afrika"}
        ZM{"Saambiya"}
        ZW{"Simbaabwe"}
        ZZ{"Far aan la aqoon amase aan saxnayn"}
    }
    Version{"2.0.47.68"}
}
