﻿// ***************************************************************************
// *
// * 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{
    AuxExemplarCharacters{"[à ç é è í ñ ń ó ò q ú ü w x æ ø å ã ö]"}
    ExemplarCharacters{"[a â b c č d đ e f g h i j k l m n ŋ o p r s š t u v y z ž ä á]"}
    ExemplarCharactersIndex{"[A Â B C Č D Đ E F G H I J K L M N Ŋ O P R S Š T U V Y Z Ž Ä Á]"}
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            miscPatterns{
                atLeast{"ucemustáá {0}"}
            }
            patternsLong{
                decimalFormat{
                    1000{
                        one{"0 tuhháát"}
                        other{"0 tuhháát"}
                        two{"0 tuhháát"}
                    }
                    10000{
                        one{"00 tuhháát"}
                        other{"00 tuhháát"}
                        two{"00 tuhháát"}
                    }
                    100000{
                        one{"000 tuhháát"}
                        other{"000 tuhháát"}
                        two{"000 tuhháát"}
                    }
                    1000000{
                        one{"0 miljovn"}
                        other{"0 miljovn"}
                        two{"0 miljovn"}
                    }
                    10000000{
                        one{"00 miljovn"}
                        other{"00 miljovn"}
                        two{"00 miljovn"}
                    }
                    100000000{
                        one{"000 miljovn"}
                        other{"000 miljovn"}
                        two{"000 miljovn"}
                    }
                    1000000000{
                        one{"0 miljard"}
                        other{"0 miljard"}
                        two{"0 miljard"}
                    }
                    10000000000{
                        one{"00 miljard"}
                        other{"00 miljard"}
                        two{"00 miljard"}
                    }
                    100000000000{
                        one{"000 miljard"}
                        other{"000 miljard"}
                        two{"000 miljard"}
                    }
                    1000000000000{
                        one{"0 biljovn"}
                        other{"0 biljovn"}
                        two{"0 biljovn"}
                    }
                    10000000000000{
                        one{"00 biljovn"}
                        other{"00 biljovn"}
                        two{"00 biljovn"}
                    }
                    100000000000000{
                        one{"000 biljovn"}
                        other{"000 biljovn"}
                        two{"000 biljovn"}
                    }
                }
            }
            symbols{
                nan{"epiloho"}
            }
        }
    }
    Version{"2.1.8.11"}
    calendar{
        gregorian{
            dayNames{
                format{
                    abbreviated{
                        "pa",
                        "vu",
                        "ma",
                        "ko",
                        "tu",
                        "vá",
                        "lá",
                    }
                    narrow{
                        "P",
                        "V",
                        "M",
                        "K",
                        "T",
                        "V",
                        "L",
                    }
                    wide{
                        "pasepeeivi",
                        "vuossaargâ",
                        "majebaargâ",
                        "koskoho",
                        "tuorâstuv",
                        "vástuppeeivi",
                        "lávurduv",
                    }
                }
                stand-alone{
                    wide{
                        "pasepeivi",
                        "vuossargâ",
                        "majebargâ",
                        "koskokko",
                        "tuorâstâh",
                        "vástuppeivi",
                        "lávurdâh",
                    }
                }
            }
            monthNames{
                stand-alone{
                    wide{
                        "uđđâivemáánu",
                        "kuovâmáánu",
                        "njuhčâmáánu",
                        "cuáŋuimáánu",
                        "vyesimáánu",
                        "kesimáánu",
                        "syeinimáánu",
                        "porgemáánu",
                        "čohčâmáánu",
                        "roovvâdmáánu",
                        "skammâmáánu",
                        "juovlâmáánu",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "1. niälj.",
                        "2. niälj.",
                        "3. niälj.",
                        "4. niälj.",
                    }
                }
                stand-alone{
                    wide{
                        "1. niäljádâs",
                        "2. niäljádâs",
                        "3. niäljádâs",
                        "4. niäljádâs",
                    }
                }
            }
        }
    }
    layout{
        characters{"left-to-right"}
        lines{"top-to-bottom"}
    }
    measurementSystemNames{
        UK{"brittilâš"}
        US{"ameriklâš"}
        metric{"metrisâš"}
    }
}
