﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/yav.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/yav.xml
 */
yav{
    Countries{
        AD{"Aŋtúla"}
        AE{"imiláat i paaláap"}
        AF{"Afkanistáŋ"}
        AG{"Aŋtíka na Palpúta"}
        AI{"Aŋkíla"}
        AL{"Alpaní"}
        AM{"Almanía"}
        AN{"andíiy u nitililáand"}
        AO{"Aŋkúla"}
        AR{"Alsaŋtín"}
        AS{"Sámua u Amelíka"}
        AT{"Otilís"}
        AU{"Otalalí"}
        AW{"Alúpa"}
        AZ{"Asɛlpaisáŋ"}
        BA{"Pusiní-ɛlkofína"}
        BB{"Palpatós"}
        BD{"Paŋkalatɛs"}
        BE{"Pɛlsíik"}
        BF{"Pulikínafásó"}
        BG{"Pulukalíi"}
        BH{"Palɛŋ"}
        BI{"Púlúndí"}
        BJ{"Penɛŋ"}
        BM{"Pɛlmúta"}
        BN{"Pulunéy"}
        BO{"Polífia"}
        BR{"Pilesíl"}
        BS{"Pahámas"}
        BT{"Putaŋ"}
        BW{"Posuána"}
        BY{"Pelalús"}
        BZ{"Pelíse"}
        CA{"Kánáta"}
        CD{"kitɔŋ kí kongó"}
        CF{"Santalafilíik"}
        CG{"Kongó"}
        CH{"suwíis"}
        CI{"Kótifualɛ"}
        CK{"Kúuke"}
        CL{"Silí"}
        CM{"Kemelún"}
        CN{"Síine"}
        CO{"Kɔlɔ́mbía"}
        CR{"Kóstálíka"}
        CU{"kúpa"}
        CV{"Kápfɛl"}
        CY{"síplɛ"}
        CZ{"kitɔŋ kí cɛ́k"}
        DE{"nsáman"}
        DJ{"síputí"}
        DK{"tanemálk"}
        DM{"túmúnéke"}
        DO{"kitɔŋ kí tumunikɛ́ŋ"}
        DZ{"Alselí"}
        EC{"ekuatɛ́l"}
        EE{"ɛstoni"}
        EG{"isípit"}
        ER{"elitée"}
        ES{"panyá"}
        ET{"etiopí"}
        FI{"fɛnlánd"}
        FJ{"físi"}
        FK{"maluwín"}
        FM{"mikolonesí"}
        FR{"felensí"}
        GA{"kapɔ́ŋ"}
        GB{"ingilíís"}
        GD{"kelenáat"}
        GE{"sɔlsíi"}
        GF{"kuyáan u felensí"}
        GH{"kaná"}
        GI{"sílpalatáal"}
        GL{"kuluɛnlánd"}
        GM{"kambíi"}
        GN{"kiiné"}
        GP{"kuatelúup"}
        GQ{"kinéekuatolial"}
        GR{"kilɛ́ɛk"}
        GT{"kuatemalá"}
        GU{"kuamiɛ"}
        GW{"kiinépisaó"}
        GY{"kuyáan"}
        HN{"ɔndúlas"}
        HR{"Kolowasíi"}
        HT{"ayíti"}
        HU{"ɔngilí"}
        ID{"ɛndonesí"}
        IE{"ililánd"}
        IL{"ísilayɛ́l"}
        IN{"ɛ́ɛnd"}
        IO{"Kɔɔ́m kí ndián yi ngilís"}
        IQ{"ilák"}
        IR{"iláŋ"}
        IS{"isláand"}
        IT{"italí"}
        JM{"samayíik"}
        JO{"sɔltaní"}
        JP{"sapɔ́ɔŋ"}
        KE{"kénia"}
        KG{"kilikisistáŋ"}
        KH{"Kámbóse"}
        KI{"kilipatí"}
        KM{"Kɔmɔ́ɔl"}
        KN{"sɛ́ŋkilistɔ́f eniɛ́f"}
        KP{"kɔlé u muɛnɛ́"}
        KR{"kɔlé wu mbát"}
        KW{"kowéet"}
        KY{"Káyímanɛ"}
        KZ{"kasaksitáŋ"}
        LA{"lawós"}
        LB{"lipáŋ"}
        LC{"sɛ́ŋtɛ́lusí"}
        LI{"lístɛ́nsitáyin"}
        LK{"silíláŋka"}
        LR{"lipélia"}
        LS{"lesotó"}
        LT{"litiyaní"}
        LU{"liksambúul"}
        LV{"letoní"}
        LY{"lipíi"}
        MA{"malóok"}
        MC{"monakó"}
        MD{"moltafí"}
        MG{"matakaskáal"}
        MH{"ílmalasáal"}
        MK{"masetuán"}
        ML{"malí"}
        MM{"miaŋmáal"}
        MN{"mongolí"}
        MP{"il maliyanɛ u muɛnɛ́"}
        MQ{"maltiníik"}
        MR{"molitaní"}
        MS{"mɔŋsilá"}
        MT{"málɛ́t"}
        MU{"molís"}
        MV{"maletíif"}
        MW{"malawí"}
        MX{"mɛksíik"}
        MY{"malesí"}
        MZ{"mosambík"}
        NA{"namipí"}
        NC{"nufɛ́l kaletoní"}
        NE{"nisɛ́ɛl"}
        NF{"il nɔ́lfɔ́lɔk"}
        NG{"nisélia"}
        NI{"nikalaká"}
        NL{"nitililáand"}
        NO{"nɔlfɛ́ɛs"}
        NP{"nepáal"}
        NR{"nawulú"}
        NU{"niyuwé"}
        NZ{"nufɛ́l seláand"}
        OM{"omáŋ"}
        PA{"panamá"}
        PE{"pelú"}
        PF{"polinesí u felensí"}
        PG{"papuasí nufɛ́l kiiné"}
        PH{"filipíin"}
        PK{"pakistáŋ"}
        PL{"pɔlɔ́ɔny"}
        PM{"sɛ́ŋpiɛ́l e mikelɔ́ŋ"}
        PN{"pitikɛ́ɛlínɛ́"}
        PR{"pólótolíko"}
        PS{"kitɔŋ ki palɛstíin"}
        PT{"pɔltukáal"}
        PW{"palawú"}
        PY{"palakúé"}
        QA{"katáal"}
        RE{"elewuniɔ́ŋ"}
        RO{"ulumaní"}
        RU{"ulusí"}
        RW{"uluándá"}
        SA{"alapísawutíit"}
        SB{"il salomɔ́ŋ"}
        SC{"sesɛ́ɛl"}
        SD{"sutáaŋ"}
        SE{"suɛ́t"}
        SG{"singapúul"}
        SH{"sɛ́ŋtɛ́ elɛ́ɛnɛ"}
        SI{"silofení"}
        SK{"silofakí"}
        SL{"sieláleyɔ́ɔn"}
        SM{"san malíno"}
        SN{"senekáal"}
        SO{"somalí"}
        SR{"sulináam"}
        ST{"sáwó tomé e pelensípe"}
        SV{"salfatɔ́ɔl"}
        SZ{"suasiláand"}
        TC{"túluk na káyiik"}
        TD{"Sáat"}
        TG{"tokó"}
        TH{"tayiláand"}
        TJ{"tasikistáaŋ"}
        TK{"tokeló"}
        TL{"timɔ́ɔl u nipálɛ́n"}
        TM{"tulukmenisitáaŋ"}
        TN{"tunusí"}
        TO{"tɔ́ŋka"}
        TR{"tulukíi"}
        TT{"tilinitáat na tupákɔ"}
        TV{"tufalú"}
        TW{"tayiwáan"}
        TZ{"taŋsaní"}
        UA{"ukilɛ́ɛn"}
        UG{"ukánda"}
        US{"amálíka"}
        UY{"ulukuéy"}
        UZ{"usupekistáaŋ"}
        VA{"fatikáaŋ"}
        VC{"sɛ́ŋ fɛŋsáŋ elekelenatíin"}
        VE{"fenesuwelá"}
        VG{"Filisíin ungilís"}
        VI{"pindisúlɛ́ pi amálíka"}
        VN{"fiɛtnáam"}
        VU{"fanuatú"}
        WF{"walíis na futúna"}
        WS{"samowá"}
        YE{"yémɛn"}
        YT{"mayɔ́ɔt"}
        ZA{"afilí mbátɛ́"}
        ZM{"saambíi"}
        ZW{"simbapuwé"}
    }
    Version{"2.1.6.69"}
}
