﻿// ***************************************************************************
// *
// * 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.59"}
    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"}
        }
    }
}
