﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/se.xml
// *
// ***************************************************************************
se{
    Currencies{
        DKK{
            "Dkr",
            "DKK",
        }
        EUR{
            "€",
            "euro",
        }
        FIM{
            "FIM",
            "suoma márkki",
        }
        HKD{
            "HK$",
            "HKD",
        }
        INR{
            "₹",
            "INR",
        }
        JPY{
            "JP¥",
            "JPY",
        }
        MXN{
            "MX$",
            "MXN",
        }
        NOK{
            "kr",
            "norgga kruvdno",
        }
        SEK{
            "Skr",
            "ruoŧŧa kruvdno",
        }
        THB{
            "฿",
            "THB",
        }
        XAG{
            "XAG",
            "uns silba",
        }
        XAU{
            "XAU",
            "uns golli",
        }
    }
    CurrencyPlurals{
        EUR{
            one{"euro"}
            other{"euro"}
            two{"euro"}
        }
        NOK{
            one{"norgga kruvdno"}
            other{"norgga kruvdno"}
            two{"norgga kruvdno"}
        }
        SEK{
            one{"ruoŧŧa kruvdno"}
            other{"ruoŧŧa kruvdno"}
            two{"ruoŧŧa kruvdno"}
        }
    }
    CurrencyUnitPatterns{
        one{"{0} {1}"}
        other{"{0} {1}"}
        two{"{0} {1}"}
    }
    Version{"2.1.19.14"}
}
