﻿// ***************************************************************************
// *
// * Copyright (C) 2004 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File: ../../../locale/common/main/so.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: ../../../locale/icu/main/so.xml
 */
so{
    Countries{
        AE{"Imaaraadka Carabta ee Midoobay"}
        AF{"Afgaanistaan"}
        AM{"Armeeniya"}
        AO{"Angoola"}
        AT{"Osteeriya"}
        AU{"Awstraaliya"}
        BA{"Boosniya Heersigoviina"}
        BB{"Baarbadoos"}
        BD{"Bangaala-Deesh"}
        BE{"Beljiyam"}
        BH{"Baxrayn"}
        BJ{"Beniin"}
        BR{"Braasiil"}
        CA{"Kanada"}
        CH{"Swiiserlaand"}
        CL{"Jili"}
        CM{"Kameruun"}
        CN{"Shiinaha"}
        CU{"Kuuba"}
        DE{"Jarmal"}
        DJ{"Jabuuti"}
        DK{"Danmaark"}
        EG{"Masar"}
        ES{"Isbeyn"}
        ET{"Itoobiya"}
        FI{"Fiinlaand"}
        FR{"Faransiis"}
        GD{"Giriinaada"}
        GN{"Gini"}
        GR{"Giriigga"}
        HR{"Korweeshiya"}
        HU{"Hangeri"}
        ID{"Indoneesiya"}
        IE{"Ayrlaanda"}
        IL{"Israa'iil"}
        IN{"Hindiya"}
        IQ{"Ciraaq"}
        IR{"Iiraan"}
        IS{"Iislaand"}
        IT{"Talyaani"}
        JM{"Jameyka"}
        JO{"Urdun"}
        JP{"Jabbaan"}
        KE{"Kiiniya"}
        KH{"Kamboodiya"}
        KP{"Kuuriyada Waqooyi"}
        KR{"Kuuriyada Koonfureed"}
        KW{"Kuwayt"}
        KZ{"Kasaakhistaan"}
        LB{"Lubnaan"}
        LK{"Siirilaanka"}
        LR{"Laybeeriya"}
        LS{"Losooto"}
        LU{"Luksemboorg"}
        LV{"Laatfiya"}
        LY{"Liibiya"}
        MA{"Marooko"}
        MC{"Moonako"}
        MK{"Makadooniya"}
        ML{"Maali"}
        MR{"Muritaaniya"}
        MT{"Maalda"}
        MV{"Maaldiqeen"}
        MW{"Malaawi"}
        MX{"Meksiko"}
        MZ{"Musambiig"}
        NA{"Namiibiya"}
        NG{"Nayjeeriya"}
        NI{"Nikaraaguwa"}
        NO{"Noorweey"}
        NZ{"Neyuusilaand"}
        OM{"Cumaan"}
        PH{"Filibiin"}
        PK{"Bakistaan"}
        PL{"Booland"}
        PT{"Bortuqaal"}
        QA{"Qadar"}
        RO{"Rumaaniya"}
        RU{"Ruush"}
        SA{"Sacuudi Carabiya"}
        SD{"Sudaan"}
        SE{"Iswidhan"}
        SL{"Siraaliyoon"}
        SO{"Soomaaliya"}
        SY{"Suuriya"}
        TD{"Jaad"}
        TG{"Toogo"}
        TH{"Taylaand"}
        TN{"Tuniisiya"}
        TR{"Turki"}
        TZ{"Tansaaniya"}
        UG{"Ugaanda"}
        US{"Qaramada Midoobey ee Maraykanka"}
        VA{"Faatikaan"}
        VE{"Fenisuweela"}
        VN{"Fiyetnaam"}
        YE{"Yaman"}
        ZA{"Koonfur Afrika"}
        ZM{"Saambiya"}
        ZW{"Simbaabwe"}
    }
    Currencies{
        KES{
            "Ksh",
            "KES",
        }
    }
    ExemplarCharacters{"[a-z]"}
    Languages{
        so{"Soomaali"}
    }
    LocaleScript{
        "Latn",
    }
    Version{"1.2"}
    calendar{
        gregorian{
            AmPmMarkers{
                "sn",
                "gn",
            }
            DateTimeElements:intvector{
                7,
                1,
            }
            DateTimePatterns{
                "h:mm:ss a",
                "h:mm:ss a",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, MMMM dd, yyyy",
                "dd MMMM yyyy",
                "dd-MMM-yyyy",
                "dd/MM/yy",
                "{1} {0}",
            }
            dayNames{
                format{
                    abbreviated{
                        "Axa",
                        "Isn",
                        "Sal",
                        "Arb",
                        "Kha",
                        "Jim",
                        "Sab",
                    }
                    wide{
                        "Axad",
                        "Isniin",
                        "Salaaso",
                        "Arbaco",
                        "Khamiis",
                        "Jimco",
                        "Sabti",
                    }
                }
            }
            eras{
                abbreviated{
                    "Ciise ka hor",
                    "Ciise ka dib",
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Kob",
                        "Lab",
                        "Sad",
                        "Afr",
                        "Sha",
                        "Lix",
                        "Tod",
                        "Sid",
                        "Sag",
                        "Tob",
                        "KIT",
                        "LIT",
                    }
                    wide{
                        "Bisha Koobaad",
                        "Bisha Labaad",
                        "Bisha Saddexaad",
                        "Bisha Afraad",
                        "Bisha Shanaad",
                        "Bisha Lixaad",
                        "Bisha Todobaad",
                        "Bisha Sideedaad",
                        "Bisha Sagaalaad",
                        "Bisha Tobnaad",
                        "Bisha Kow iyo Tobnaad",
                        "Bisha Laba iyo Tobnaad",
                    }
                }
            }
        }
    }
}
