﻿// ***************************************************************************
// *
// * Copyright (C) 2007 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/sv_FI.xml
// *
// ***************************************************************************
sv_FI{
    Countries{
        UM{"USAs yttre öar"}
    }
    Languages{
        afa{"afro-asiatiskt språk (annat)"}
        cpe{"kreolspråk och pidgin, engelskbaserade (annat)"}
        cpf{"kreolspråk och pidgin, franskbaserade (annat)"}
        cpp{"kreolspråk och pidgin, portugisiskbaserade (annat)"}
        crh{"krimturkiska; krimtatariska"}
        crp{"kreolspråk och pidgin (annat)"}
        enm{"medelengelska (1100-1500)"}
        gil{"gilbertesiska; kiribati"}
        gn{"guaraní"}
        iro{"irokesiskt språk"}
        khi{"khoisanspråk (annat)"}
        km{"kambodjanska; khmeriska"}
        kn{"kanaresiska; kannada"}
        lol{"lolo; mongo"}
        mga{"medeliriska (900-1200)"}
        nah{"nahuatl; aztekiska"}
        nds{"lågtyska; lågsaxiska"}
        oc{"provensalska (efter 1500); occitanska"}
        oj{"odjibwa; chippewa"}
        phn{"kananeiska; feniciska"}
        ps{"pashto; afghanska"}
        rw{"rwanda; kinjarwanda"}
        sit{"sinotibetanskt språk (annat)"}
        smi{"samiskt språk (annat)"}
        sn{"shona; manshona"}
    }
    NumberPatterns{
        "#,##0.###",
        "¤ #,##0.00",
        "#,##0 %",
        "#E0",
    }
    Types{
        collation{
            stroke{"kinesiska i streck-ordning"}
        }
    }
    Version{"1.92"}
    calendar{
        gregorian{
            DateTimeElements:intvector{
                2,
                4,
            }
            DateTimePatterns{
                "'kl'. HH.mm.ss v",
                "HH.mm.ss z",
                "HH.mm.ss",
                "HH.mm",
                "EEEE, yyyy MMMM dd",
                "d MMMM yyyy",
                "d MMM yyyy",
                "yyyy-MM-dd",
                "{1} {0}",
            }
            fields{
                dayperiod{
                    dn{"dagsperiod"}
                }
            }
        }
        hebrew{
            monthNames{
                format{
                    abbreviated{
                        "tishrí",
                        "heshván",
                        "kislév",
                        "tevét",
                        "shevát",
                        "adár",
                        "adár II",
                        "nisán",
                        "ijjár",
                        "siván",
                        "tammúz",
                        "ab",
                        "elúl",
                    }
                    wide{
                        "tishrí",
                        "heshván",
                        "kislév",
                        "tevét",
                        "shevát",
                        "adár",
                        "adár II",
                        "nisán",
                        "ijjár",
                        "siván",
                        "tammúz",
                        "ab",
                        "elúl",
                    }
                }
            }
        }
        islamic{
            monthNames{
                format{
                    abbreviated{
                        "muharram",
                        "safar",
                        "rabi’ al-awwal",
                        "rabi’ al-akhir",
                        "jumada-l-ula",
                        "jumada-l-akhira",
                        "rajab",
                        "sha’ban",
                        "ramadan",
                        "shawwal",
                        "dhu-l-ga’da",
                        "dhu-l-hijja",
                    }
                    wide{
                        "muharram",
                        "safar",
                        "rabi’ al-awwal",
                        "rabi’ al-akhir",
                        "jumada-l-ula",
                        "jumada-l-akhira",
                        "rajab",
                        "sha’ban",
                        "ramadan",
                        "shawwal",
                        "dhu-l-ga’da",
                        "dhu-l-hijja",
                    }
                }
            }
        }
        islamic-civil{
            monthNames{
                format{
                    wide{
                        "muharram",
                        "safar",
                        "rabi’ al-awwal",
                        "rabi’ al-akhir",
                        "jumada-l-ula",
                        "jumada-l-akhira",
                        "rajab",
                        "sha’ban",
                        "ramadan",
                        "shawwal",
                        "dhu-l-ga’da",
                        "dhu-l-hijja",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"’"}
        quotationEnd{"”"}
        quotationStart{"”"}
    }
}
