﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <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}"}
    }
}
