﻿// ***************************************************************************
// *
// * Copyright (C) 2010 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{
        ",",
        " ",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "‰",
        "∞",
        "epäluku",
        "+",
    }
    NumberPatterns{
        "#,##0.###",
        "#,##0.00 ¤",
        "#,##0 %",
        "#E0",
    }
    Version{"2.0.48.64"}
    calendar{
        gregorian{
            AmPmMarkers{
                "ap.",
                "ip.",
            }
            DateTimePatterns{
                "H.mm.ss zzzz",
                "H.mm.ss z",
                "H.mm.ss",
                "H.mm",
                "EEEE 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."}
                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"}
                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",
                    }
                    wide{
                        "sunnuntaina",
                        "maanantaina",
                        "tiistaina",
                        "keskiviikkona",
                        "torstaina",
                        "perjantaina",
                        "lauantaina",
                    }
                }
                stand-alone{
                    narrow{
                        "S",
                        "M",
                        "T",
                        "K",
                        "T",
                        "P",
                        "L",
                    }
                    wide{
                        "sunnuntai",
                        "maanantai",
                        "tiistai",
                        "keskiviikko",
                        "torstai",
                        "perjantai",
                        "lauantai",
                    }
                }
            }
            eras{
                abbreviated{
                    "eKr.",
                    "jKr.",
                }
                wide{
                    "ennen Kristuksen syntymää",
                    "jälkeen Kristuksen syntymän",
                }
            }
            fields{
                day{
                    dn{"päivä"}
                    relative{
                        "-1"{"eilen"}
                        "-2"{"toissapäivänä"}
                        "0"{"tänään"}
                        "1"{"huomenna"}
                        "2"{"ylihuomenna"}
                    }
                }
                dayperiod{
                    dn{"ap./ip."}
                }
                era{
                    dn{"aikakausi"}
                }
                hour{
                    dn{"tunti"}
                }
                minute{
                    dn{"minuutti"}
                }
                month{
                    dn{"kuukausi"}
                }
                second{
                    dn{"sekunti"}
                }
                week{
                    dn{"viikko"}
                }
                weekday{
                    dn{"viikonpäivä"}
                }
                year{
                    dn{"vuosi"}
                }
                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",
                    }
                    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.",
                    }
                    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{
            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",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"’"}
        quotationEnd{"”"}
        quotationStart{"”"}
    }
    listPattern{
        standard{
            2{"{0} ja {1}"}
            end{"{0} ja {1}"}
        }
    }
    measurementSystemNames{
        US{"amerikkalainen"}
        metric{"metrinen"}
    }
    units{
        day{
            one{"{0} päivä"}
            other{"{0} päivää"}
        }
        hour{
            one{"{0} tunti"}
            other{"{0} tuntia"}
        }
        minute{
            one{"{0} minuutti"}
            other{"{0} minuuttia"}
        }
        month{
            one{"{0} kuukausi"}
            other{"{0} kuukautta"}
        }
        second{
            one{"{0} sekunti"}
            other{"{0} sekuntia"}
        }
        week{
            one{"{0} viikko"}
            other{"{0} viikkoa"}
        }
        year{
            one{"{0} vuosi"}
            other{"{0} vuotta"}
        }
    }
    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} vko"}
            other{"{0} vko"}
        }
        year{
            one{"{0} v"}
            other{"{0} v"}
        }
    }
}
