// ***************************************************************************
// *
// *   Copyright (C) 1997-2002, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// ***************************************************************************

sv {
    Version{ "1.0" }
    CollationElements {
        Version { "1.0" }
        Sequence { "& Z < \u00E6 , \u00C6 < a\u030A , A\u030A , aa , aA , A"
        "a , AA< a\u0308 , A\u0308 < o\u0308 , O\u0308 ; u\u030B , U\u030B < o\u030B , O"
        "\u030B ; \u00F8 , \u00D8 & V ; w , W& Y, u\u0308 , U\u0308" }
    }
    Countries { 
        AE { "F\u00f6renade Arabemiraten" }
        AL { "Albanien" }
        AM { "Armenien" }
        AN { "Nederl\u00e4ndska Antillerna" }
        AS { "Amerikanska Samoa" }
        AT { "\u00d6sterrike" }
        AU { "Australien" } 
        AZ { "Azerbajdzjan" }
        BA { "Bosnien Hercegovina" }
        BE { "Belgien" }
        BG { "Bulgarien" }
        BR { "Brasilien" }
        BY { "Vitryssland" }
        BZ { "Belice" }
        CA { "Kanada" }
        CC { "Coco Islands" }
        CF { "Centralafrika" }
        CG { "Kongo" }
        CH { "Schweiz" }
        CI { "Elfenbenskusten" }
        CM { "Kamerun, republiken" }
        CN { "Kina (folkrepubliken)" }
        CU { "Kuba" }
        CX { "Jul\u00F6n" }
        CY { "Cypern" }
        CZ { "Tjeckien" }
        DE { "Tyskland" }
        DK { "Danmark" }
        DO { "Dominikanska republiken" }
        DZ { "Algeriet" }
        EE { "Estland" } 
        EG { "Egypten" }
        ES { "Spanien" }
        ET { "Etiopien" }
        FR { "Frankrike" }
        GB { "Storbritannien" }
        GR { "Grekland" }
        HR { "Kroatien" }
        HU { "Ungern" }
        ID { "Indonesien" }
        IE { "Irland" }
        IN { "Indien" }
        IS { "Island" }
        IT { "Italien" }
        JO { "Jordanien" }
        KR { "Korea" }
        LA { "LatinAmerika" }
        LB { "Libanon" }
        LI { "Lichtenstein" }
        LT { "Litauen" }
        LU { "Luxemburg" }
        LV { "Lettland" }
        MA { "Marocko" }
        MK { "Makedonien" }
        MX { "Mexiko" }
        NL { "Nederl\u00e4nderna" }
        NO { "Norge" }
        NZ { "Nya Zeeland" }
        PL { "Polen" }
        RO { "Rum\u00e4nien" }
        RU { "Ryssland" }
        SA { "Saudiarabien" }
        SE { "Sverige" }
        SI { "Slovenien" }
        SK { "Slovakien" }
        SP { "Serbien" }
        SY { "Syrien" }
        TN { "Tunisien" }
        TR { "Turkiet" }
        UA { "Ukraina" }
//        US { "USA" }
        YE { "Jemen" }
        ZA { "Sydafrika" }
    }
    DateTimeElements:intvector { 
        2,
        4,
    }
    DateTimePatterns { 
        "'kl 'H:mm z",
        "HH:mm:ss z",
        "HH:mm:ss",
        "HH:mm",
        "'den 'd MMMM yyyy",
        "'den 'd MMMM yyyy",
        "yyyy-MMM-dd",
        "yyyy-MM-dd",
        "{1} {0}",
    }
    DayAbbreviations { 
        "s\u00F6",
        "m\u00E5",
        "ti",
        "on",
        "to",
        "fr",
        "l\u00F6",
    }
    DayNames { 
        "s\u00F6ndag",
        "m\u00E5ndag",
        "tisdag",
        "onsdag",
        "torsdag",
        "fredag",
        "l\u00F6rdag",
    }

    Languages {
         aa { "afar" }
         ab { "abkhasiska" }
         ae { "avestiska" }
         af { "afrikaans" }
         am { "amhariska" }
         ar { "arabiska" }
         as { "assami" }
         ay { "aymara" }
         az { "azerbajdzjanska" }
         ba { "basjkiriska" }
         be { "vitryska" }
         bg { "bulgariska" }
         bh { "bihari" }
         bi { "bislama" }
         bn { "bengali" }
         bo { "tibetanska" }
         br { "bretonska" }
         bs { "bosniska" }
         ca { "katalanska" }
         ce { "tjetjenska" }
         ch { "chamorro" }
         co { "korsikanska" }
         cs { "tjeckiska" }
         cu { "fornkyrkoslaviska" }
         cv { "tjuvasjiska" }
         cy { "walesiska" }
         da { "danska" }
         de { "tyska" }
         dz { "bhutanesiska" }
         el { "grekiska" }
         en { "engelska" }
         eo { "esperanto" }
         es { "spanska" }
         et { "estniska" }
         eu { "baskiska" }
         fa { "persiska" }
         fi { "finska" }
         fj { "djianska" }
         fo { "f\u00E4r\u00F6iska" }
         fr { "franska" }
         fy { "frisiska" }
         ga { "irl\u00E4ndska" }
         gd { "skotska" }
         gl { "galiciska" }
         gn { "guarani" }
         gu { "gujarati" }
         gv { "manx" }
         ha { "haussa" }
         he { "hebreiska" }
         hi { "hindi" }
         ho { "hirimotu" }
         hr { "kroatiska" }
         hu { "ungerska" }
         hy { "armeniska" }
         hz { "herero" }
         ia { "interlingua" }
         id { "indonesiska" }
         ie { "interlingue" }
         ik { "inupiaq" }
         is { "isl\u00E4ndska" }
         it { "italienska" }
         iu { "inuktitut" }
         ja { "japanska" }
         jw { "javanesiska" }
         ka { "georgiska" }
         ki { "kikuyu" }
         kk { "kazakiska" }
         kl { "gr\u00F6nl\u00E4ndska" }
         km { "kambodjanska" }
         kn { "kanaresiska (kannada)" }
         ko { "koreanska" }
         ks { "kashmiri" }
         ku { "kurdiska" }
         kv { "komi" }
         kw { "corniska" }
         ky { "kirgisiska" }
         la { "latin" }
         lb { "luxemburgska" }
         ln { "lingala" }
         lo { "laotiska" }
         lt { "litauiska" }
         lv { "lettiska" }
         mg { "malagassiska" }
         mh { "marshall" }
         mi { "maori" }
         mk { "makedoniska" }
         ml { "malayalam" }
         mn { "mongoliska" }
         mo { "moldaviska" }
         mr { "marathi" }
         ms { "malajiska" }
         mt { "maltesiska" }
         my { "burmesiska" }
         na { "nauriska" }
         nb { "bokm\u00E5l (norska)" }
         nd { "ndebele (nord)" }
         ne { "nepaliska" }
         ng { "ndonga" }
         nl { "nederl\u00E4ndska" }
         nn { "nynorska" }
         no { "norska" }
         nr { "ndebele (syd)" }
         nv { "navaho" }
         ny { "nyanja" }
         oc { "occitanska" }
         om { "afan oromoo" }
         or { "oriya" }
         os { "ossetiska" }
         pa { "punjabi" }
         pi { "pali" }
         pl { "polska" }
         ps { "pashto" }
         pt { "portugisiska" }
         qu { "quechua" }
         rm { "r\u00E4toromanska" }
         rn { "rundi" }
         ro { "rum\u00E4nska" }
         ru { "ryska" }
         rw { "rwanda" }
         sa { "sanskrit" }
         sc { "sardiska" }
         sd { "sindhi" }
         se { "nordsamiska" }
         sg { "sango" }
         si { "singalesiska" }
         sk { "slovakisk" }
         sl { "slovenska" }
         sm { "samoanska" }
         sn { "shona" }
         so { "somaliska" }
         sq { "albanska" }
         sr { "serbiska" }
         ss { "siswati" }
         st { "sotho" }
         su { "sundanesiska" }
         sv { "svenska" }
         sw { "swahili" }
         ta { "tamil" }
         te { "telugo" }
         tg { "tadjikiska" }
         th { "thail\u00E4ndska" }
         ti { "tigrinya" }
         tk { "turkmeniska" }
         tl { "tagalog" }
         tn { "tswana" }
         to { "tonga" }
         tr { "turkiska" }
         ts { "tsonga" }
         tt { "tatariska" }
         tw { "twi" }
         ty { "tahitiska" }
         ug { "uigriska" }
         uk { "ukrainska" }
         ur { "urdu" }
         uz { "uzbekiska" }
         vi { "vietnamesiska" }
         vo { "volap\u00FCk" }
         wo { "wolof" }
         xh { "xhosa" }
         yi { "jiddisch" }
         yo { "yoruba" }
         za { "zhuang" }
         zh { "kinesiska" }
         zu { "zulu" }
     }
    LocaleID:int { 0x1d }
//    LocaleString { "sv" }
    MonthAbbreviations { 
        "jan",
        "feb",
        "mar",
        "apr",
        "maj",
        "jun",
        "jul",
        "aug",
        "sep",
        "okt",
        "nov",
        "dec",
    }
    MonthNames { 
        "januari",
        "februari",
        "mars",
        "april",
        "maj",
        "juni",
        "juli",
        "augusti",
        "september",
        "oktober",
        "november",
        "december",
    }
    NumberElements { 
        ",",
        "\u00A0",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "\u2030",
        "\u221E",
        "\uFFFD",
    }
    Eras { 
        "f.Kr.",
        "e.Kr.",
    }
//    ShortLanguage { "swe" }
    zoneStrings { 
        {
            "Europe/Stockholm",
            "Central European Time",
            "MET",
            "Central European Time (DST)",
            "MET",
            "Stockholm",
        }
    }
//    LocaleScript{ 
//        "Latn",  // ISO 15924 Name 
//    }
    ExemplarCharacters { "[a-z \u00e4 \u00f6 \u00e5 \u00e1 \u00e9 \u00eb \u00fc]" }
    
    //------------------------------------------------------------
    // Rule Based Number Format Support
    //------------------------------------------------------------

    // Spellout rules for Swedish.
    // Thanks to Kent Karlsson for cleaning up these rules.
    // (rapport inskickad till ICU 2001-11-03; ny version inskickad till Doug Felt 2001-11-07)

    SpelloutRules {
      "%year:\n"
          "=%neutrum=;\n"
          "1000>: <%neutrum<hundra[\u00ad>>];\n"
          "10,000: =%neutrum=;\n"
          // the same as default except we change the one's digit, wish there were a better way
      "%neutrum:\n"
            "-x: minus >>;\n"
            "x.x: << komma >>;\n"
            "noll; ett; tv\u00e5; tre; fyra; fem; sex; sju; \u00e5tta; nio;\n"
            "tio; elva; tolv; tretton; fjorton; femton; sexton; sjutton; arton; nitton;\n"
            "20: tjugo[>>];\n"
            "30: trettio[>>];\n"
            "40: fyrtio[>>];\n"
            "50: femtio[>>];\n"
            "60: sextio[>>];\n"
            "70: sjuttio[>>];\n"
            "80: \u00e5ttio[>>];\n"
            "90: nittio[>>];\n"
            "100: <<hundra[\u00ad>>];\n"
            "1000: ettusen[ >>];\n"
            "2000: <%default<\u00adtusen[ >>];\n"
            "1,000,000: en miljon[ >>];\n"
            "2,000,000: <%default< miljoner[ >>];\n"
            "1,000,000,000: en miljard[ >>];\n"
            "2,000,000,000: <%default< miljarder[ >>];\n"
            "1,000,000,000,000: en biljon[ >>];\n"
            "2,000,000,000,000: <%default< biljoner[ >>];\n"
            "1,000,000,000,000,000: en triljon[ >>];\n"
            "2,000,000,000,000,000: <%default< triljoner[ >>];\n"
            "1,000,000,000,000,000,000: =#,##0=;\n"
      "%default:\n"
            " -x: minus >>;\n"
            "x.x: << komma >>;\n"
            "noll; en; tv\u00e5; tre; fyra; fem; sex; sju; \u00e5tta; nio;\n"
            "tio; elva; tolv; tretton; fjorton; femton; sexton; sjutton; arton; nitton;\n"
            "20: tjugo[>>];\n"
            "30: trettio[>>];\n"
            "40: fyrtio[>>];\n"
            "50: femtio[>>];\n"
            "60: sextio[>>];\n"
            "70: sjuttio[>>];\n"
            "80: \u00e5ttio[>>];\n"
            "90: nittio[>>];\n"
            "100: etthundra[\u00ad>>];\n"
            "200: <<hundra[\u00ad>>];\n"
            "1000: ettusen[ >>];\n"
            "2000: <<\u00adtusen[ >>];\n"
            "1,000,000: en miljon[ >>];\n"
            "2,000,000: << miljoner[ >>];\n"
            "1,000,000,000: en miljard[ >>];\n"
            "2,000,000,000: << miljarder[ >>];\n"
            "1,000,000,000,000: en biljon[ >>];\n"
            "2,000,000,000,000: << biljoner[ >>];\n"
            "1,000,000,000,000,000: en triljon[ >>];\n"
            "2,000,000,000,000,000: << triljoner[ >>];\n"
            "1,000,000,000,000,000,000: =#,##0=;\n" 
/* 
 * Current (java) implementation can't handle these magnitudes
            "1,000,000,000,000,000,000: en triljard[ >>];\n"
            "2,000,000,000,000,000,000: << triljarder[ >>];\n"
 * Current (c++) implmenatation can't handle these magnitudes
            "1,000,000,000,000,000,000,000: en kvartiljon[ >>];\n"
            "2,000,000,000,000,000,000,000: << kvartiljoner[ >>];\n"
            "1,000,000,000,000,000,000,000,000: en kvartiljard[ >>];\n"
            "2,000,000,000,000,000,000,000,000: << kvartiljarder[ >>];\n"
            "1,000,000,000,000,000,000,000,000,000: en kvintiljon[ >>];\n"
            "2,000,000,000,000,000,000,000,000,000: << kvintiljoner[ >>];\n"
            "1,000,000,000,000,000,000,000,000,000,000: en kvintiljard[ >>];\n"
            "2,000,000,000,000,000,000,000,000,000,000: << kvintiljarder[ >>];\n"
            "1,000,000,000,000,000,000,000,000,000,000,000: en sextiljon[ >>];\n"
            "2,000,000,000,000,000,000,000,000,000,000,000: << sextiljoner[ >>];\n"
            "1,000,000,000,000,000,000,000,000,000,000,000,000: en sextiljard[ >>];\n"
            "2,000,000,000,000,000,000,000,000,000,000,000,000: << sextiljarder[ >>];\n"
            "1,000,000,000,000,000,000,000,000,000,000,000,000,000: =#,##0="
*/
    }
}
