﻿// ***************************************************************************
// *
// * Copyright (C) 2005 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File: ../../../../ICU4J/cldr/common/main/sa.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: ./xml/main/sa.xml
 */
sa{
    Countries{
        IN{"भारतम्"}
    }
    Currencies{
        INR{
            "रु",
            "INR",
        }
    }
    ExemplarCharacters{"[ँ-ह़-्ॐ-॔ॠ-ॣ०-९ॽ‌‍]"}
    Languages{
        sa{"संस्कृत"}
    }
    LocaleScript{
        "Deva",
    }
    NumberElements{
        ".",
        ",",
        ";",
        "%",
        "०",
        "#",
        "-",
        "E",
        "‰",
        "∞",
        "�",
        "+",
    }
    NumberPatterns{
        "#,##,##0.###",
        "¤ #,##,##0.00",
        "#,##,##0%",
        "#E0",
    }
    Version{"1.18"}
}
