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