﻿// ***************************************************************************
// *
// * Copyright (C) 2009 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{
    Version{"2.0.42.82"}
    zoneStrings{
        "Africa:Algiers"{
            ec{"Alger"}
        }
        "Africa:Cairo"{
            ec{"Kairo"}
        }
        "America:Cancun"{
            ec{"Cancún"}
        }
        "America:El_Salvador"{
            ec{"San Salvador"}
        }
        "America:Godthab"{
            ec{"Nuuk"}
        }
        "America:Havana"{
            ec{"Havanna"}
        }
        "America:Mexico_City"{
            ec{"Ciudad de México"}
        }
        "America:North_Dakota:Center"{
            ec{"keskinen Pohjois-Dakota"}
        }
        "America:Sao_Paulo"{
            ec{"São Paulo"}
        }
        "America:Scoresbysund"{
            ec{"Ittoqqortoormiit"}
        }
        "America:St_Johns"{
            ec{"St. Johns"}
        }
        "Antarctica:South_Pole"{
            ec{"Etelänapa"}
        }
        "Asia:Aqtobe"{
            ec{"Aqtöbe"}
        }
        "Asia:Damascus"{
            ec{"Damaskos"}
        }
        "Asia:Dushanbe"{
            ec{"Dušanbe"}
        }
        "Asia:Kamchatka"{
            ec{"Kamtšatka"}
        }
        "Asia:Krasnoyarsk"{
            ec{"Krasnojarsk"}
        }
        "Asia:Nicosia"{
            ec{"Nikosia"}
        }
        "Asia:Sakhalin"{
            ec{"Sahalin"}
        }
        "Asia:Tashkent"{
            ec{"Taškent"}
        }
        "Asia:Tehran"{
            ec{"Teheran"}
        }
        "Asia:Tokyo"{
            ec{"Tokio"}
        }
        "Asia:Yakutsk"{
            ec{"Jakutsk"}
        }
        "Asia:Yekaterinburg"{
            ec{"Jekaterinburg"}
        }
        "Asia:Yerevan"{
            ec{"Jerevan"}
        }
        "Atlantic:Azores"{
            ec{"Azorit"}
        }
        "Atlantic:Canary"{
            ec{"Kanariansaaret"}
        }
        "Etc:Unknown"{
            ec{"tuntematon"}
        }
        "Europe:Athens"{
            ec{"Ateena"}
        }
        "Europe:Belgrade"{
            ec{"Belgrad"}
        }
        "Europe:Berlin"{
            ec{"Berliini"}
        }
        "Europe:Brussels"{
            ec{"Bryssel"}
        }
        "Europe:Bucharest"{
            ec{"Bukarest"}
        }
        "Europe:Copenhagen"{
            ec{"Kööpenhamina"}
        }
        "Europe:Kiev"{
            ec{"Kiova"}
        }
        "Europe:Lisbon"{
            ec{"Lissabon"}
        }
        "Europe:London"{
            ec{"Lontoo"}
        }
        "Europe:Mariehamn"{
            ec{"Maarianhamina"}
        }
        "Europe:Moscow"{
            ec{"Moskova"}
        }
        "Europe:Paris"{
            ec{"Pariisi"}
        }
        "Europe:Riga"{
            ec{"Riika"}
        }
        "Europe:Rome"{
            ec{"Rooma"}
        }
        "Europe:Stockholm"{
            ec{"Tukholma"}
        }
        "Europe:Tallinn"{
            ec{"Tallinna"}
        }
        "Europe:Tirane"{
            ec{"Tirana"}
        }
        "Europe:Uzhgorod"{
            ec{"Užgorod"}
        }
        "Europe:Vienna"{
            ec{"Wien"}
        }
        "Europe:Vilnius"{
            ec{"Vilna"}
        }
        "Europe:Warsaw"{
            ec{"Varsova"}
        }
        "Europe:Zaporozhye"{
            ec{"Zaporižžja"}
        }
        "Europe:Zurich"{
            ec{"Zürich"}
        }
        "Pacific:Easter"{
            ec{"Pääsiäissaari"}
        }
        "meta:Africa_Central"{
            ls{"Keski-Afrikan aika"}
        }
        "meta:Africa_Eastern"{
            ls{"Itä-Afrikan aika"}
        }
        "meta:Africa_Southern"{
            lg{"Etelä-Afrikan aika"}
            ls{"Etelä-Afrikan normaaliaika"}
        }
        "meta:Africa_Western"{
            ld{"Länsi-Afrikan kesäaika"}
            ls{"Länsi-Afrikan aika"}
        }
        "meta:Alaska"{
            ld{"Alaskan kesäaika"}
            ls{"Alaskan normaaliaika"}
        }
        "meta:America_Central"{
            ld{"Yhdysvaltain keskinen kesäaika"}
            lg{"Yhdysvaltain keskinen aika"}
            ls{"Yhdysvaltain keskinen normaaliaika"}
        }
        "meta:America_Eastern"{
            ld{"Yhdysvaltain itäinen kesäaika"}
            lg{"Yhdysvaltain itäinen aika"}
            ls{"Yhdysvaltain itäinen normaaliaika"}
        }
        "meta:America_Mountain"{
            ld{"Kalliovuorten kesäaika"}
            lg{"Kalliovuorten aika"}
            ls{"Kalliovuorten normaaliaika"}
        }
        "meta:America_Pacific"{
            ld{"Yhdysvaltain Tyynenmeren kesäaika"}
            lg{"Yhdysvaltain Tyynenmeren aika"}
            ls{"Yhdysvaltain Tyynenmeren normaaliaika"}
        }
        "meta:Atlantic"{
            ld{"Kanadan Atlantin kesäaika"}
            lg{"Kanadan Atlantin aika"}
            ls{"Kanadan Atlantin normaaliaika"}
        }
        "meta:China"{
            ld{"Kiinan kesäaika"}
            ls{"Kiinan normaaliaika"}
            sd{"CDT (Kiina)"}
            ss{"CST (Kiina)"}
        }
        "meta:Europe_Central"{
            ld{"Keski-Euroopan kesäaika"}
            ls{"Keski-Euroopan normaaliaika"}
        }
        "meta:Europe_Eastern"{
            ld{"Itä-Euroopan kesäaika"}
            ls{"Itä-Euroopan normaaliaika"}
        }
        "meta:GMT"{
            ls{"Greenwichin normaaliaika"}
        }
        "meta:Israel"{
            ld{"Israelin kesäaika"}
            ls{"Israelin normaaliaika"}
            ss{"IST (Israel)"}
        }
        "meta:Japan"{
            ld{"Japanin kesäaika"}
            ls{"Japanin normaaliaika"}
        }
        "meta:Newfoundland"{
            ld{"Newfoundlandin kesäaika"}
            ls{"Newfoundlandin normaaliaika"}
        }
        fallbackFormat{"{1} ({0})"}
        gmtFormat{"UTC{0}"}
        gmtZeroFormat{"UTC"}
        hourFormat{"+H.mm;-H.mm"}
        regionFormat{"{0}"}
    }
}
