﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/smn.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/smn.xml
 */
smn{
    Languages{
        ain{"ainukielâ"}
        ar{"arabiakielâ"}
        be{"vielgisruošâkielâ"}
        bg{"bulgariakielâ"}
        chm{"marikielâ"}
        cs{"tšeekikielâ"}
        cu{"kirkkoslaavi"}
        da{"tanskakielâ"}
        de{"saksakielâ"}
        de_AT{"Nuorttâriijkâ saksakielâ"}
        el{"kreikakielâ"}
        en{"engâlâskielâ"}
        en_AU{"Australia engâlâskielâ"}
        en_CA{"Kanada engâlâskielâ"}
        es{"espanjakielâ"}
        et{"eestikielâ"}
        fi{"suomâkielâ"}
        fr{"ranskakielâ"}
        ga{"iirikielâ"}
        grc{"toovláškreikakielâ"}
        he{"hepreakielâ"}
        hr{"kroatiakielâ"}
        hu{"uŋgarkielâ"}
        hy{"armeniakielâ"}
        is{"islandkielâ"}
        it{"italiakielâ"}
        ja{"jaapaankielâ"}
        ku{"kurdikielâ"}
        kv{"komikielâ"}
        la{"läättinkielâ"}
        lv{"latviakielâ"}
        mdf{"mokšâkielâ"}
        mi{"maorikielâ"}
        mk{"makedoniakielâ"}
        mn{"mongoliakielâ"}
        mrj{"viestârmarikielâ"}
        ne{"neepaalkielâ"}
        nl{"hollandkielâ"}
        nn{"tárukielâ nynorsk"}
        no{"tárukielâ"}
        non{"toovláštárukielâ"}
        pl{"puolakielâ"}
        pt{"portugalkielâ"}
        ro{"romaniakielâ"}
        rom{"roomaankielâ"}
        ru{"ruošâkielâ"}
        sa{"sanskritkielâ"}
        se{"tavesämikielâ"}
        sl{"sloveniakielâ"}
        sma{"maadâsämikielâ"}
        smj{"juulevsämikielâ"}
        smn{"anarâškielâ"}
        sms{"nuorttâlâškielâ"}
        sr{"serbiakielâ"}
        sv{"ruotâkielâ"}
        tr{"turkkikielâ"}
        udm{"udmurtkielâ"}
        uk{"ukrainakielâ"}
        vep{"vepsäkielâ"}
        vi{"vietnamkielâ"}
        yue{"kantonkiinakielâ"}
        zh{"kiinakielâ"}
        zh_Hans{"oovtâkiärdánis kiinakielâ"}
        zh_Hant{"ärbivuáválâš kiinakielâ"}
    }
    Version{"2.1.8.11"}
    codePatterns{
        language{"kielâ: {0}"}
        script{"čäällimvuáhádâh: {0}"}
        territory{"kuávlu: {0}"}
    }
    localeDisplayPattern{
        keyTypePattern{"{0}: {1}"}
        pattern{"{0} ({1})"}
        separator{"{0}, {1}"}
    }
}
