﻿// ***************************************************************************
// *
// * Copyright (C) 2011 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/fi.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/fi.xml
 */
fi{
    AuxExemplarCharacters{"[á à â ã č ç đ é è ë ǧ ǥ ȟ í ï ǩ ń ñ ŋ ô õ œ ř ŧ ú ü ʒ ǯ æ ø]"}
    ExemplarCharacters{"[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 ž å ä ö]"}
    ExemplarCharactersCurrency{"[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]"}
    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"}
            }
            symbols{
                decimal{","}
                exponential{"E"}
                group{" "}
                infinity{"∞"}
                list{";"}
                minusSign{"-"}
                nan{"epäluku"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
            }
        }
    }
    Version{"2.0.58.6"}
    calendar{
        buddhist{
            DateTimePatterns{
                "H.mm.ss zzzz",
                "H.mm.ss z",
                "H.mm.ss",
                "H.mm",
                "cccc d. MMMM y G",
                "d. MMMM y G",
                "d.M.y G",
                "d.M.y G",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"ccc d."}
                Gy{"y G"}
                H{"H"}
                Hm{"H.mm"}
                Hms{"H.mm.ss"}
                M{"L"}
                MEd{"E d.M."}
                MMM{"LLL"}
                MMMEd{"E d. MMM"}
                MMMd{"d. MMM"}
                Md{"d.M."}
                d{"d"}
                hm{"h.mm a"}
                hms{"h.mm.ss a"}
                ms{"mm.ss"}
                y{"y G"}
                yM{"L.y G"}
                yMEd{"EEE d.M.y G"}
                yMMM{"LLLL y G"}
                yMMMEd{"EEE d. MMM y G"}
                yMMMMccccd{"cccc, d. MMMM y G"}
                yMMMd{"d. MMM y G"}
                yMd{"d.M.y G"}
                yQ{"Q/y G"}
                yQQQ{"QQQ y G"}
                yyMM{"M.y G"}
                yyMMM{"LLLL y G"}
                yyQ{"Q/y G"}
                yyyyM{"M.y G"}
                yyyyMEEEd{"EEE d.M.y G"}
                yyyyMMMM{"LLLL y G"}
                yyyyQQQQ{"QQQQ y G"}
            }
        }
        gregorian{
            AmPmMarkers{
                "ap.",
                "ip.",
            }
            DateTimePatterns{
                "H.mm.ss zzzz",
                "H.mm.ss z",
                "H.mm.ss",
                "H.mm",
                "cccc, d. MMMM y",
                "d. MMMM y",
                "d.M.yyyy",
                "d.M.yyyy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                EEEd{"EEE d."}
                Ed{"ccc d."}
                H{"H"}
                Hm{"H.mm"}
                Hms{"H.mm.ss"}
                M{"L"}
                MEd{"E d.M."}
                MMM{"LLL"}
                MMMEd{"E d. MMM"}
                MMMd{"d. MMM"}
                Md{"d.M."}
                d{"d"}
                hm{"h.mm a"}
                hms{"h.mm.ss a"}
                ms{"mm.ss"}
                y{"y"}
                yM{"L.yyyy"}
                yMEd{"EEE d.M.yyyy"}
                yMMM{"LLL y"}
                yMMMEd{"EEE d. MMM y"}
                yMMMMccccd{"cccc, d. MMMM y"}
                yMMMd{"d. MMM y"}
                yMd{"d.M.yyyy"}
                yQ{"Q/yyyy"}
                yQQQ{"QQQ y"}
                yyMM{"M/yy"}
                yyMMM{"LLLL yy"}
                yyQ{"Q/yy"}
                yyyyM{"M/yyyy"}
                yyyyMEEEd{"EEE d.M.yyyy"}
                yyyyMMMM{"LLLL y"}
                yyyyQQQQ{"QQQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "su",
                        "ma",
                        "ti",
                        "ke",
                        "to",
                        "pe",
                        "la",
                    }
                    narrow{
                        "S",
                        "M",
                        "T",
                        "K",
                        "T",
                        "P",
                        "L",
                    }
                    wide{
                        "sunnuntaina",
                        "maanantaina",
                        "tiistaina",
                        "keskiviikkona",
                        "torstaina",
                        "perjantaina",
                        "lauantaina",
                    }
                }
                stand-alone{
                    abbreviated{
                        "su",
                        "ma",
                        "ti",
                        "ke",
                        "to",
                        "pe",
                        "la",
                    }
                    narrow{
                        "S",
                        "M",
                        "T",
                        "K",
                        "T",
                        "P",
                        "L",
                    }
                    wide{
                        "sunnuntai",
                        "maanantai",
                        "tiistai",
                        "keskiviikko",
                        "torstai",
                        "perjantai",
                        "lauantai",
                    }
                }
            }
            eras{
                abbreviated{
                    "eKr.",
                    "jKr.",
                }
                narrow{
                    "eK",
                    "jK",
                }
                wide{
                    "ennen Kristuksen syntymää",
                    "jälkeen Kristuksen syntymän",
                }
            }
            fields{
                day{
                    dn{"päivä"}
                    relative{
                        "-1"{"eilen"}
                        "-2"{"toissapäivänä"}
                        "-3"{"kolme päivää sitten"}
                        "0"{"tänään"}
                        "1"{"huomenna"}
                        "2"{"ylihuomenna"}
                        "3"{"kolmen päivän päästä"}
                    }
                }
                dayperiod{
                    dn{"vuorokaudenaika"}
                }
                era{
                    dn{"aikakausi"}
                }
                hour{
                    dn{"tunti"}
                }
                minute{
                    dn{"minuutti"}
                }
                month{
                    dn{"kuukausi"}
                    relative{
                        "-1"{"viime kuussa"}
                        "0"{"tässä kuussa"}
                        "1"{"ensi kuussa"}
                    }
                }
                second{
                    dn{"sekunti"}
                }
                week{
                    dn{"viikko"}
                    relative{
                        "-1"{"viime viikolla"}
                        "0"{"tällä viikolla"}
                        "1"{"ensi viikolla"}
                    }
                }
                weekday{
                    dn{"viikonpäivä"}
                }
                year{
                    dn{"vuosi"}
                    relative{
                        "-1"{"viime vuonna"}
                        "0"{"tänä vuonna"}
                        "1"{"ensi vuonna"}
                    }
                }
                zone{
                    dn{"aikavyöhyke"}
                }
            }
            intervalFormats{
                H{
                    H{"H–H"}
                    a{"H–H"}
                }
                Hm{
                    H{"H.mm–H.mm"}
                    a{"H.mm–H.mm"}
                    m{"H.mm–H.mm"}
                }
                Hmv{
                    H{"H.mm–H.mm v"}
                    a{"H.mm–H.mm v"}
                    m{"H.mm–H.mm v"}
                }
                Hv{
                    H{"H–H v"}
                    a{"H–H v"}
                }
                M{
                    M{"L.–L."}
                }
                MEd{
                    M{"E d.M. – E d.M."}
                    d{"E d. – E d.M."}
                }
                MMM{
                    M{"LLL–LLLL"}
                }
                MMMEd{
                    M{"E d. MMMM – E d. MMMM"}
                    d{"E d. – E d. MMMM"}
                }
                MMMM{
                    M{"LLL–LLLL"}
                }
                MMMd{
                    M{"d. MMMM – d. MMMM"}
                    d{"d.–d. MMMM"}
                }
                Md{
                    M{"d.M.–d.M."}
                    d{"d.–d.M."}
                }
                d{
                    d{"d.–d."}
                }
                fallback{"{0}–{1}"}
                h{
                    a{"h a – h a"}
                    h{"h–h a"}
                }
                hm{
                    a{"h.mm a – h.mm a"}
                    h{"h.mm–h.mm a"}
                    m{"h.mm–h.mm a"}
                }
                hmv{
                    a{"h.mm a – h.mm a v"}
                    h{"h.mm–h.mm a v"}
                    m{"h.mm–h.mm a v"}
                }
                hv{
                    a{"h a – h a v"}
                    h{"h–h a v"}
                }
                y{
                    y{"y–y"}
                }
                yM{
                    M{"LLL–LLLL y"}
                    y{"LLLL y – LLLL y"}
                }
                yMEd{
                    M{"E d.M.yyyy – E d.M.yyyy"}
                    d{"E d.M.yyyy – E d.M.yyyy"}
                    y{"E d.M.yyyy – E d.M.yyyy"}
                }
                yMMM{
                    M{"LLL–LLLL y"}
                    y{"LLLL y – LLLL y"}
                }
                yMMMEd{
                    M{"E d. MMMM – E d. MMMM y"}
                    d{"E d. – E d. MMMM y"}
                    y{"E d. MMMM y – E d. MMMM y"}
                }
                yMMMM{
                    M{"LLL–LLLL y"}
                    y{"LLLL y – LLLL y"}
                }
                yMMMd{
                    M{"d. MMMM – d. MMMM y"}
                    d{"d.–d. MMMM y"}
                    y{"d. MMMM y – d. MMMM y"}
                }
                yMd{
                    M{"d.M.–d.M.yyyy"}
                    d{"d.–d.M.yyyy"}
                    y{"d.M.yyyy–d.M.yyyy"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "tammikuuta",
                        "helmikuuta",
                        "maaliskuuta",
                        "huhtikuuta",
                        "toukokuuta",
                        "kesäkuuta",
                        "heinäkuuta",
                        "elokuuta",
                        "syyskuuta",
                        "lokakuuta",
                        "marraskuuta",
                        "joulukuuta",
                    }
                    narrow{
                        "T",
                        "H",
                        "M",
                        "H",
                        "T",
                        "K",
                        "H",
                        "E",
                        "S",
                        "L",
                        "M",
                        "J",
                    }
                    wide{
                        "tammikuuta",
                        "helmikuuta",
                        "maaliskuuta",
                        "huhtikuuta",
                        "toukokuuta",
                        "kesäkuuta",
                        "heinäkuuta",
                        "elokuuta",
                        "syyskuuta",
                        "lokakuuta",
                        "marraskuuta",
                        "joulukuuta",
                    }
                }
                stand-alone{
                    abbreviated{
                        "tammi",
                        "helmi",
                        "maalis",
                        "huhti",
                        "touko",
                        "kesä",
                        "heinä",
                        "elo",
                        "syys",
                        "loka",
                        "marras",
                        "joulu",
                    }
                    narrow{
                        "T",
                        "H",
                        "M",
                        "H",
                        "T",
                        "K",
                        "H",
                        "E",
                        "S",
                        "L",
                        "M",
                        "J",
                    }
                    wide{
                        "tammikuu",
                        "helmikuu",
                        "maaliskuu",
                        "huhtikuu",
                        "toukokuu",
                        "kesäkuu",
                        "heinäkuu",
                        "elokuu",
                        "syyskuu",
                        "lokakuu",
                        "marraskuu",
                        "joulukuu",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "1. nelj.",
                        "2. nelj.",
                        "3. nelj.",
                        "4. nelj.",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1. neljännes",
                        "2. neljännes",
                        "3. neljännes",
                        "4. neljännes",
                    }
                }
                stand-alone{
                    abbreviated{
                        "1. nelj.",
                        "2. nelj.",
                        "3. nelj.",
                        "4. nelj.",
                    }
                    wide{
                        "1. neljännes",
                        "2. neljännes",
                        "3. neljännes",
                        "4. neljännes",
                    }
                }
            }
        }
        hebrew{
            monthNames{
                format{
                    wide{
                        "tišríkuuta",
                        "hešvánkuuta",
                        "kislévkuuta",
                        "tevétkuuta",
                        "ševátkuuta",
                        "adárkuuta I",
                        "adárkuuta",
                        "nisánkuuta",
                        "ijjárkuuta",
                        "sivánkuuta",
                        "tammúzkuuta",
                        "abkuuta",
                        "elúlkuuta",
                        "adárkuuta II",
                    }
                }
                stand-alone{
                    abbreviated{
                        "tišrí",
                        "hešván",
                        "kislév",
                        "tevét",
                        "ševát",
                        "adár I",
                        "adár",
                        "nisán",
                        "ijjár",
                        "siván",
                        "tammúz",
                        "ab",
                        "elúl",
                        "adár II",
                    }
                    narrow{
                        "T",
                        "H",
                        "K",
                        "T",
                        "S",
                        "A",
                        "A",
                        "N",
                        "I",
                        "S",
                        "T",
                        "A",
                        "E",
                        "A",
                    }
                    wide{
                        "tišríkuu",
                        "hešvánkuu",
                        "kislévkuu",
                        "tevétkuu",
                        "ševátkuu",
                        "adárkuu I",
                        "adárkuu",
                        "nisánkuu",
                        "ijjárkuu",
                        "sivánkuu",
                        "tammúzkuu",
                        "abkuu",
                        "elúlkuu",
                        "adárkuu II",
                    }
                }
            }
        }
        islamic{
            DateTimePatterns{
                "H.mm.ss zzzz",
                "H.mm.ss z",
                "H.mm.ss",
                "H.mm",
                "cccc d. MMMM y G",
                "d. MMMM y G",
                "d.M.y G",
                "d.M.y G",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"ccc d."}
                Gy{"y G"}
                H{"H"}
                Hm{"H.mm"}
                Hms{"H.mm.ss"}
                M{"L"}
                MEd{"E d.M."}
                MMM{"LLL"}
                MMMEd{"E d. MMM"}
                MMMd{"d. MMM"}
                Md{"d.M."}
                d{"d"}
                hm{"h.mm a"}
                hms{"h.mm.ss a"}
                ms{"mm.ss"}
                y{"y G"}
                yyyy{"y G"}
                yyyyM{"M.y G"}
                yyyyMEd{"EEE d.M.y G"}
                yyyyMM{"M.y G"}
                yyyyMMM{"LLLL y G"}
                yyyyMMMEd{"EEE d. MMM y G"}
                yyyyMMMM{"LLLL y G"}
                yyyyMMMMccccd{"cccc, d. MMMM y G"}
                yyyyMMMd{"d. MMM y G"}
                yyyyMd{"d.M.y G"}
                yyyyQ{"Q/y G"}
                yyyyQQQ{"QQQ y G"}
                yyyyQQQQ{"QQQQ y G"}
            }
            monthNames{
                format{
                    wide{
                        "muharram",
                        "safar",
                        "rabi’ al-awwal",
                        "rabi’ al-akhir",
                        "džumada-l-ula",
                        "džumada-l-akhira",
                        "radžab",
                        "ša’ban",
                        "ramadan",
                        "šawwal",
                        "dhu-l-qa’da",
                        "dhu-l-hiddža",
                    }
                }
            }
        }
        japanese{
            DateTimePatterns{
                "H.mm.ss zzzz",
                "H.mm.ss z",
                "H.mm.ss",
                "H.mm",
                "cccc d. MMMM y G",
                "d. MMMM y G",
                "d.M.y G",
                "d.M.y G",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"ccc d."}
                Gy{"y G"}
                Hm{"H.mm"}
                Hms{"H.mm.ss"}
                MEd{"E d.M."}
                MMMEd{"E d. MMM"}
                MMMMd{"d. MMMM"}
                Md{"d.M"}
                hm{"h.mm a"}
                hms{"h.mm.ss a"}
                ms{"mm.ss"}
                y{"y G"}
                yyyy{"y G"}
                yyyyM{"M.y G"}
                yyyyMEd{"E d.M.y G"}
                yyyyMMM{"LLLL yy G"}
                yyyyMMMEd{"EEE d. MMM yy G"}
                yyyyMMMd{"d. MMM yy G"}
                yyyyMd{"d.M.y G"}
            }
        }
        roc{
            DateTimePatterns{
                "H.mm.ss zzzz",
                "H.mm.ss z",
                "H.mm.ss",
                "H.mm",
                "cccc d. MMMM y G",
                "d. MMMM y G",
                "d.M.y G",
                "d.M.y G",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"ccc d."}
                Gy{"y G"}
                Hm{"H.mm"}
                Hms{"H.mm.ss"}
                MEd{"E d.M."}
                MMMEd{"E d. MMM"}
                MMMd{"d. MMM"}
                Md{"d.M."}
                hm{"h.mm a"}
                hms{"h.mm.ss a"}
                ms{"mm.ss"}
                y{"y G"}
                yyyy{"y G"}
                yyyyM{"M.y G"}
                yyyyMEd{"E d.M.y G"}
                yyyyMMM{"LLLL y G"}
                yyyyMMMEd{"EEE d. MMM y G"}
                yyyyMMMd{"d. MMM y G"}
                yyyyMd{"d.M.y G"}
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"’"}
        quotationEnd{"”"}
        quotationStart{"”"}
    }
    listPattern{
        standard{
            2{"{0} ja {1}"}
            end{"{0} ja {1}"}
        }
    }
    measurementSystemNames{
        UK{"brittiläinen"}
        US{"amerikkalainen"}
        metric{"metrinen"}
    }
    units{
        day{
            one{"{0} päivä"}
            other{"{0} päivää"}
        }
        day-future{
            0{"alle päivän päästä"}
            1{"päivän päästä"}
            one{"{0} päivän päästä"}
            other{"{0} päivän päästä"}
        }
        day-past{
            0{"alle päivä sitten"}
            1{"päivä sitten"}
            one{"{0} päivä sitten"}
            other{"{0} päivää sitten"}
        }
        hour{
            one{"{0} tunti"}
            other{"{0} tuntia"}
        }
        hour-future{
            0{"alle tunnin päästä"}
            1{"tunnin päästä"}
            one{"{0} tunnin päästä"}
            other{"{0} tunnin päästä"}
        }
        hour-past{
            0{"alle tunti sitten"}
            1{"tunti sitten"}
            one{"{0} tunti sitten"}
            other{"{0} tuntia sitten"}
        }
        minute{
            one{"{0} minuutti"}
            other{"{0} minuuttia"}
        }
        minute-future{
            0{"alle minuutin päästä"}
            1{"minuutin päästä"}
            one{"{0} minuutin päästä"}
            other{"{0} minuutin päästä"}
        }
        minute-past{
            0{"alle minuutti sitten"}
            1{"minuutti sitten"}
            one{"{0} minuutti sitten"}
            other{"{0} minuuttia sitten"}
        }
        month{
            one{"{0} kuukausi"}
            other{"{0} kuukautta"}
        }
        month-future{
            0{"alle kuukauden päästä"}
            1{"kuukauden päästä"}
            one{"{0} kuukauden päästä"}
            other{"{0} kuukauden päästä"}
        }
        month-past{
            0{"alle kuukausi sitten"}
            1{"kuukausi sitten"}
            one{"{0} kuukausi sitten"}
            other{"{0} kuukautta sitten"}
        }
        second{
            one{"{0} sekunti"}
            other{"{0} sekuntia"}
        }
        second-future{
            0{"alle sekunnin päästä"}
            1{"sekunnin päästä"}
            one{"{0} sekunnin päästä"}
            other{"{0} sekunnin päästä"}
        }
        second-past{
            0{"alle sekunti sitten"}
            1{"sekunti sitten"}
            one{"{0} sekunti sitten"}
            other{"{0} sekuntia sitten"}
        }
        week{
            one{"{0} viikko"}
            other{"{0} viikkoa"}
        }
        week-future{
            0{"alle viikon päästä"}
            1{"viikon päästä"}
            one{"{0} viikon päästä"}
            other{"{0} viikon päästä"}
        }
        week-past{
            0{"alle viikko sitten"}
            1{"viikko sitten"}
            one{"{0} viikko sitten"}
            other{"{0} viikkoa sitten"}
        }
        year{
            one{"{0} vuosi"}
            other{"{0} vuotta"}
        }
        year-future{
            0{"alle vuoden päästä"}
            1{"vuoden päästä"}
            one{"{0} vuoden päästä"}
            other{"{0} vuoden päästä"}
        }
        year-past{
            0{"alle vuosi sitten"}
            1{"vuosi sitten"}
            one{"{0} vuosi sitten"}
            other{"{0} vuotta sitten"}
        }
    }
    unitsShort{
        day{
            one{"{0} pv"}
            other{"{0} pv"}
        }
        hour{
            one{"{0} t"}
            other{"{0} t"}
        }
        minute{
            one{"{0} min"}
            other{"{0} min"}
        }
        month{
            one{"{0} kk"}
            other{"{0} kk"}
        }
        second{
            one{"{0} s"}
            other{"{0} s"}
        }
        week{
            one{"{0} vk"}
            other{"{0} vk"}
        }
        year{
            one{"{0} v"}
            other{"{0} v"}
        }
    }
}
