﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/se.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/se.xml
 */
se{
    AuxExemplarCharacters{"[à ç é è í ń ñ ó ò q ú w x y ü ø æ å ä ã ö]"}
    ExemplarCharacters{"[a á b c č d đ e f g h i j k l m n ŋ o p r s š t ŧ u v z ž]"}
    ExemplarCharactersIndex{
        "[A Á B C Č D Đ E É F G H I J K L M N Ŋ O P Q R S Š T Ŧ U V W X Y Z Ž Ø Æ Å Ä"
        " Ö]"
    }
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            patterns{
                currencyFormat{"#,##0.00 ¤"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0 %"}
                scientificFormat{"#E0"}
            }
            patternsLong{
                decimalFormat{
                    1000{
                        one{"0 duhát"}
                        other{"0 duháhat"}
                        two{"0 duháhat"}
                    }
                    10000{
                        one{"00 duhát"}
                        other{"00 duháhat"}
                        two{"00 duháhat"}
                    }
                    100000{
                        one{"000 duhát"}
                        other{"000 duháhat"}
                        two{"000 duháhat"}
                    }
                    1000000{
                        one{"0 miljona"}
                        other{"0 miljonat"}
                        two{"0 miljonat"}
                    }
                    10000000{
                        one{"00 miljona"}
                        other{"00 miljonat"}
                        two{"00 miljonat"}
                    }
                    100000000{
                        one{"000 miljona"}
                        other{"000 miljonat"}
                        two{"000 miljonat"}
                    }
                    1000000000{
                        one{"0 miljardi"}
                        other{"0 miljardit"}
                        two{"0 miljardit"}
                    }
                    10000000000{
                        one{"00 miljardi"}
                        other{"00 miljardit"}
                        two{"00 miljardit"}
                    }
                    100000000000{
                        one{"000 miljardi"}
                        other{"000 miljardit"}
                        two{"000 miljardit"}
                    }
                    1000000000000{
                        one{"0 biljona"}
                        other{"0 biljonat"}
                        two{"0 biljonat"}
                    }
                    10000000000000{
                        one{"00 biljona"}
                        other{"00 biljonat"}
                        two{"00 biljonat"}
                    }
                    100000000000000{
                        one{"000 biljona"}
                        other{"000 biljonat"}
                        two{"000 biljonat"}
                    }
                }
            }
            patternsShort{
                decimalFormat{
                    1000{
                        one{"0 dt"}
                        other{"0 dt"}
                        two{"0 dt"}
                    }
                    10000{
                        one{"00 dt"}
                        other{"00 dt"}
                        two{"00 dt"}
                    }
                    100000{
                        one{"000 dt"}
                        other{"000 dt"}
                        two{"000 dt"}
                    }
                    1000000{
                        one{"0 mn"}
                        other{"0 mn"}
                        two{"0 mn"}
                    }
                    10000000{
                        one{"00 mn"}
                        other{"00 mn"}
                        two{"00 mn"}
                    }
                    100000000{
                        one{"000 mn"}
                        other{"000 mn"}
                        two{"000 mn"}
                    }
                    1000000000{
                        one{"0 md"}
                        other{"0 md"}
                        two{"0 md"}
                    }
                    10000000000{
                        one{"00 md"}
                        other{"00 md"}
                        two{"00 md"}
                    }
                    100000000000{
                        one{"000 md"}
                        other{"000 md"}
                        two{"000 md"}
                    }
                    1000000000000{
                        one{"0 bn"}
                        other{"0 bn"}
                        two{"0 bn"}
                    }
                    10000000000000{
                        one{"00 bn"}
                        other{"00 bn"}
                        two{"00 bn"}
                    }
                    100000000000000{
                        one{"000 bn"}
                        other{"000 bn"}
                        two{"000 bn"}
                    }
                }
            }
            symbols{
                decimal{","}
                exponential{"×10^"}
                group{" "}
                infinity{"∞"}
                list{";"}
                minusSign{"−"}
                nan{"¤¤¤"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
                superscriptingExponent{"·"}
            }
        }
    }
    Version{"2.1.7.53"}
    calendar{
        gregorian{
            AmPmMarkers{
                "iđitbeaivet",
                "eahketbeaivet",
            }
            AmPmMarkersAbbr{
                "i.b.",
                "e.b.",
            }
            dayNames{
                format{
                    abbreviated{
                        "sotn",
                        "vuos",
                        "maŋ",
                        "gask",
                        "duor",
                        "bear",
                        "láv",
                    }
                    wide{
                        "sotnabeaivi",
                        "vuossárga",
                        "maŋŋebárga",
                        "gaskavahkku",
                        "duorasdat",
                        "bearjadat",
                        "lávvardat",
                    }
                }
                stand-alone{
                    narrow{
                        "S",
                        "V",
                        "M",
                        "G",
                        "D",
                        "B",
                        "L",
                    }
                }
            }
            eras{
                abbreviated{
                    "o.Kr.",
                    "m.Kr.",
                }
                wide{
                    "ovdal Kristtusa",
                    "maŋŋel Kristtusa",
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "ođđj",
                        "guov",
                        "njuk",
                        "cuo",
                        "mies",
                        "geas",
                        "suoi",
                        "borg",
                        "čakč",
                        "golg",
                        "skáb",
                        "juov",
                    }
                    wide{
                        "ođđajagemánnu",
                        "guovvamánnu",
                        "njukčamánnu",
                        "cuoŋománnu",
                        "miessemánnu",
                        "geassemánnu",
                        "suoidnemánnu",
                        "borgemánnu",
                        "čakčamánnu",
                        "golggotmánnu",
                        "skábmamánnu",
                        "juovlamánnu",
                    }
                }
                stand-alone{
                    narrow{
                        "O",
                        "G",
                        "N",
                        "C",
                        "M",
                        "G",
                        "S",
                        "B",
                        "Č",
                        "G",
                        "S",
                        "J",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"’"}
        quotationEnd{"”"}
        quotationStart{"”"}
    }
    fields{
        day{
            dn{"beaivi"}
            relative{
                "-1"{"ikte"}
                "-2"{"oovdebpeivvi"}
                "0"{"odne"}
                "1"{"ihttin"}
                "2"{"paijeelittáá"}
            }
            relativeTime{
                future{
                    one{"{0} jándor maŋŋilit"}
                    other{"{0} jándora maŋŋilit"}
                    two{"{0} jándor amaŋŋilit"}
                }
                past{
                    one{"{0} jándor árat"}
                    other{"{0} jándora árat"}
                    two{"{0} jándora árat"}
                }
            }
        }
        dayperiod{
            dn{"beaivi ráidodássi"}
        }
        era{
            dn{"éra"}
        }
        hour{
            dn{"diibmu"}
            relativeTime{
                future{
                    one{"{0} diibmu maŋŋilit"}
                    other{"{0} diibmur maŋŋilit"}
                    two{"{0} diibmur maŋŋilit"}
                }
                past{
                    one{"{0} diibmu árat"}
                    other{"{0} diibmur árat"}
                    two{"{0} diibmur árat"}
                }
            }
        }
        minute{
            dn{"minuhtta"}
            relativeTime{
                future{
                    one{"{0} minuhta maŋŋilit"}
                    other{"{0} minuhtta maŋŋilit"}
                    two{"{0} minuhtta maŋŋilit"}
                }
                past{
                    one{"{0} minuhta árat"}
                    other{"{0} minuhtta árat"}
                    two{"{0} minuhtta árat"}
                }
            }
        }
        month{
            dn{"mánnu"}
            relativeTime{
                future{
                    one{"{0} mánotbadji maŋŋilit"}
                    other{"{0} mánotbadji maŋŋilit"}
                    two{"{0} mánotbadji maŋŋilit"}
                }
                past{
                    one{"{0} mánotbadji árat"}
                    other{"{0} mánotbadji árat"}
                    two{"{0} mánotbadji árat"}
                }
            }
        }
        second{
            dn{"sekunda"}
            relativeTime{
                future{
                    one{"{0} sekunda maŋŋilit"}
                    other{"{0} sekundda maŋŋilit"}
                    two{"{0} sekundda maŋŋilit"}
                }
                past{
                    one{"{0} sekunda árat"}
                    other{"{0} sekundda árat"}
                    two{"{0} sekundda árat"}
                }
            }
        }
        week{
            dn{"váhkku"}
            relativeTime{
                future{
                    one{"{0} vahku maŋŋilit"}
                    other{"{0} vahkku maŋŋilit"}
                    two{"{0} vahkku maŋŋilit"}
                }
                past{
                    one{"{0} vahku árat"}
                    other{"{0} vahkku árat"}
                    two{"{0} vahkku árat"}
                }
            }
        }
        weekday{
            dn{"váhkkubeaivi"}
        }
        year{
            dn{"jáhki"}
            relativeTime{
                future{
                    one{"{0} jahki maŋŋilit"}
                    other{"{0} jahkki maŋŋilit"}
                    two{"{0} jahkki maŋŋilit"}
                }
                past{
                    one{"{0} jahki árat"}
                    other{"{0} jahkki árat"}
                    two{"{0} jahkki árat"}
                }
            }
        }
        zone{
            dn{"áigeavádat"}
        }
    }
    listPattern{
        standard{
            2{"{0} ja {1}"}
            end{"{0} ja {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit{
            2{"{0}, {1}"}
            end{"{0}, {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit-narrow{
            2{"{0} {1}"}
            end{"{0} {1}"}
            middle{"{0} {1}"}
            start{"{0} {1}"}
        }
        unit-short{
            2{"{0}, {1}"}
            end{"{0}, {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
    }
    measurementSystemNames{
        UK{"SB állan"}
        US{"AOS állan"}
        metric{"SI állan"}
    }
}
