﻿// ***************************************************************************
// *
// * Copyright (C) 2005 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File: ../../../locale/common/main/ml.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: ./xml/main/ml.xml
 */
ml{
    Countries{
        IN{"ഇന്ത്യ"}
    }
    ExemplarCharacters{"[ംഃഅആഇഈഉഊഋഌഎഏഐഒഓഔകഖഗഘങചഛജഝഞടഠഡഢണതഥദധനപഫബഭമയരറലളഴവശഷസഹാിീുൂൃെേൈൊോൌ്ൗൠൡ]"}
    Languages{
        ml{"മലയാളം"}
    }
    LocaleScript{
        "Mlym",
    }
    NumberElements{
        ".",
        ",",
        ";",
        "%",
        "൦",
        "#",
        "-",
        "E",
        "‰",
        "∞",
        "�",
        "+",
    }
    /**
     * Draft
     */
    Version{"1.13"}
    calendar{
        gregorian{
            AmPmMarkers{
                "രാവിലെ",
                "വൈകു",
            }
            dayNames{
                format{
                    abbreviated{
                        "ഞാ",
                        "തി",
                        "ചൊ",
                        "ബു",
                        "വ്യ",
                        "വെ",
                        "ശ",
                    }
                    wide{
                        "ഞായറ്അ",
                        "തിങ്കള്അ",
                        "ചൊവ്വ",
                        "ബുനഭ്അ",
                        "വ്യാഴം",
                        "വെള്ളി",
                        "ശനി",
                    }
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "ജനു",
                        "ഫിബ്",
                        "മാറ്അ",
                        "ഏപ്റില്അ",
                        "മെയ്",
                        "ജൂണ്അ",
                        "ജൂൈല",
                        "ആഗ",
                        "സെപ്തം",
                        "ഒക്ട",
                        "നവം",
                        "ഡിസം",
                    }
                    wide{
                        "ജനുവരി",
                        "ഫിബ്റവരി",
                        "മാറ്അച്അച്",
                        "ഏപ്റില്അ",
                        "മെയ്",
                        "ജൂണ്അ",
                        "ജൂൈല",
                        "ആഗസ്ത്അ",
                        "സെപ്തംബറ്അ",
                        "ഒക്ടൈബറ്അ",
                        "നവംബറ്അ",
                        "ഡിസംബറ്അ",
                    }
                }
            }
        }
    }
}
