﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/so.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/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"}
        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.92.87"}
}
