﻿// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
se{
    Keys{
        calendar{"kaleandar"}
        collation{"ortnet"}
        currency{"valuhtta"}
        numbers{"numerála"}
    }
    Languages{
        ace{"acehgiella"}
        af{"afrikánsagiella"}
        an{"aragoniagiella"}
        ang{"boares eaŋgalasgiella"}
        ar{"arábagiella"}
        ast{"asturiagiella"}
        be{"vilges-ruoššagiella"}
        bg{"bulgáriagiella"}
        bn{"bengalgiella"}
        bo{"tibetagiella"}
        br{"bretonagiella"}
        bs{"bosniagiella"}
        ca{"katalánagiella"}
        chm{"marigiella"}
        co{"corsicagiella"}
        cs{"čeahkagiella"}
        cy{"kymragiella"}
        da{"dánskkagiella"}
        de{"duiskkagiella"}
        dv{"divehigiella"}
        dz{"dzongkhagiella"}
        el{"greikkagiella"}
        en{"eaŋgalsgiella"}
        es{"spánskkagiella"}
        et{"esttegiella"}
        fa{"persijagiella"}
        fi{"suomagiella"}
        fil{"filippiinnagiella"}
        fj{"fidjigiella"}
        fo{"fearagiella"}
        fr{"fránskkagiella"}
        fy{"oarjifriisagiella"}
        ga{"iirragiella"}
        gu{"gujaratagiella"}
        gv{"manksgiella"}
        ha{"haussagiella"}
        haw{"hawaiigiella"}
        hi{"hindigiella"}
        hr{"kroátiagiella"}
        ht{"haitigiella"}
        hu{"ungárgiella"}
        hy{"armeenagiella"}
        id{"indonesiagiella"}
        is{"islánddagiella"}
        it{"itáliagiella"}
        ja{"japánagiella"}
        jv{"javagiella"}
        ka{"georgiagiella"}
        kk{"kazakgiella"}
        km{"kambodiagiella"}
        ko{"koreagiella"}
        krl{"gárjilgiella"}
        ku{"kurdigiella"}
        kv{"komigiella"}
        kw{"kornagiella"}
        la{"láhtengiella"}
        lb{"luxemburggagiella"}
        lo{"laogiella"}
        lt{"liettuvagiella"}
        lv{"látviagiella"}
        mdf{"mokšagiella"}
        mi{"maorigiella"}
        mk{"makedoniagiella"}
        mn{"mongoliagiella"}
        mt{"maltagiella"}
        my{"burmagiella"}
        myv{"ersagiella"}
        nb{"girjedárogiella"}
        ne{"nepaligiella"}
        nl{"hollánddagiella"}
        nn{"ođđadárogiella"}
        no{"dárogiella"}
        oc{"oksitánagiella"}
        pa{"panjabigiella"}
        pl{"polskkagiella"}
        pt{"portugálagiella"}
        rm{"romanšgiella"}
        ro{"romániagiella"}
        ru{"ruoššagiella"}
        sc{"sardigiella"}
        scn{"sisiliagiella"}
        se{"davvisámegiella"}
        sel{"selkupagiella"}
        sh{"serbokroatiagiella"}
        sk{"slovákiagiella"}
        sl{"slovenagiella"}
        sm{"samoagiella"}
        sma{"lullisámegiella"}
        smj{"julevsámegiella"}
        smn{"anárašgiella"}
        sms{"nuortalašgiella"}
        sq{"albánagiella"}
        sr{"serbiagiella"}
        sv{"ruoŧagiella"}
        swb{"shimaorigiella"}
        th{"ŧaigiella"}
        tr{"durkagiella"}
        ty{"tahitigiella"}
        udm{"udmurtagiella"}
        uk{"ukrainagiella"}
        und{"dovdameahttun giella"}
        ur{"urdugiella"}
        vi{"vietnamgiella"}
        wa{"vallonagiella"}
        yue{"kantongiella"}
        zh{"kiinnágiella"}
        zh_Hans{"álki kiinágiella"}
        zh_Hant{"árbevirolaš kiinnágiella"}
    }
    Scripts{
        Arab{"arába"}
        Cyrl{"kyrillalaš"}
        Grek{"greikkalaš"}
        Hang{"hangul"}
        Hani{"kiinnaš"}
        Hans{"álki"}
        Hant{"árbevirolaš"}
        Hira{"hiragana"}
        Kana{"katakana"}
        Latn{"láhtenaš"}
        Zxxx{"orrut chállojuvvot"}
        Zzzz{"dovdameahttun chállin"}
    }
    Types{
        calendar{
            buddhist{"buddhista kaleander"}
            chinese{"kiinna"}
            gregorian{"gregoria kaleander"}
        }
        collation{
            pinyin{"pinyin ortnet"}
            traditional{"árbevirolaš ortnet"}
        }
        numbers{
            fullwide{"viddis oarjelohkosátni"}
            latn{"oarjelohkosátni"}
        }
    }
    Variants{
        FONIPA{"IPA"}
        FONUPA{"UPA"}
        FONXSAMP{"X-SAMPA"}
        HEPBURN{"Hepburn"}
        PINYIN{"pinyin"}
        WADEGILE{"Wade-Giles"}
    }
    Version{"2.1.27.98"}
    codePatterns{
        language{"giella: {0}"}
        script{"chállin: {0}"}
        territory{"guovlu: {0}"}
    }
}
