﻿// ***************************************************************************
// *
// * 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/ml.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/ml.xml
 */
ml{
    AuxExemplarCharacters{"[a-z]"}
    Countries{
        HK{"ഹോങ് കോങ് എസ്.ഏ.ആര്‍. ചൈന"}
        IN{"ഇന്ത്യ"}
        MO{"മക്കാവോ എസ്.ഏ.ആര്‍. ചൈന"}
    }
    Currencies{
        AED{
            "AED",
            "യു.എ.ഇ. ദിര്‍ഹം",
        }
        AUD{
            "AUD",
            "ആസ്ട്രേലിയന്‍ ഡോളര്‍",
        }
        BBD{
            "BBD",
            "ബാര്‍ബഡോസ് ഡോളര്‍",
        }
        BEL{
            "BEL",
            "ബല്‍ജിയന്‍ ഫ്രാങ്ക്",
        }
        BGN{
            "BGN",
            "ബള്‍ഗേറിയന്‍ ന്യൂലവ്",
        }
        BRL{
            "R$",
            "ബ്രസീലിയന്‍ റിയാല്‍",
        }
        EUR{
            "€",
            "യൂറോ",
        }
        FJD{
            "FJD",
            "ഫിജി ഡോളര്‍",
        }
        GBP{
            "UK£",
            "ബ്രിട്ടീഷ് പൌണ്ട് സ്റ്റെര്‍ലിംങ്",
        }
        INR{
            "=0#Rs.|1#Re.|1<Rs." /** (choice)  */,
            "ഇന്ത്യന്‍ രൂപ",
        }
        ITL{
            "IT₤",
            "ഇറ്റാലിയന്‍ ലിറ",
        }
        JPY{
            "JP¥",
            "ജപ്പാനീസ് യെന്‍",
        }
        RUB{
            "RUB",
            "റഷ്യന്‍ റൂബിള്‍",
        }
        USD{
            "US$",
            "യു.എസ്. ഡോളര്‍",
        }
    }
    ExemplarCharacters{"[\u200C \u200D അ-ഋ ൠ ഌ ൡ എ-ഐ ഒ-ന പ-ര ല വ ള ഴ റ ശ-ഹ ഃ ം ാ-ൃ െ-ൈ ൊ-ൌ ൗ ്]"}
    Keys{
        calendar{"കലണ്ടര്‍"}
        currency{"നാണയം"}
    }
    Languages{
        aa{"അഫാര്‍"}
        ab{"അബ്ഖാസിയന്‍"}
        af{"ആഫ്രിക്കാന്‍സ്"}
        am{"അംഹാറിക്"}
        ast{"ഓസ്‌ട്രിയന്‍"}
        ay{"അയ്മാറ"}
        az{"അസര്‍ബൈജാനി"}
        bh{"ബീഹാറി"}
        bi{"ബിസ്‌ലാമ"}
        bn{"ബംഗാളി"}
        bo{"തിബറ്റന്‍"}
        br{"ബ്രിറ്റോണ്‍"}
        co{"കോര്‍സിക്കന്‍"}
        cs{"ചെക്ക്"}
        cy{"വെല്‍ഷ്"}
        da{"ഡാനിഷ്"}
        dgr{"ഡോഗ്രിബ്"}
        dra{"ദ്രാവിഡഭാഷ"}
        dz{"ഭൂട്ടാനി"}
        el{"ഗ്രീക്ക്"}
        en{"ഇംഗ്ലീഷ്"}
        es{"സ്പാനിഷ്"}
        et{"എസ്റ്റോണിയന്‍"}
        fa{"പേര്‍ഷ്യന്‍"}
        fi{"ഫിന്നിഷ്"}
        fj{"ഫിജിയന്‍"}
        fo{"ഫാറോസ്"}
        ga{"ഐറിഷ്"}
        gl{"ഗലീഷ്യന്‍"}
        gu{"ഗുജറാത്തി"}
        ha{"ഹൌസ"}
        he{"ഹീബ്രു"}
        hi{"ഹിന്ദി"}
        hr{"ക്രോയേഷ്യന്‍"}
        hu{"ഹംഗേറിയന്‍"}
        hy{"അര്‍മേനിയന്‍"}
        ia{"ഇന്‍റര്‍ലിംഗ്വാ"}
        id{"ഇന്‍ഡോനേഷ്യന്‍"}
        ie{"ഇന്‍റര്‍ലിംഗ്വി"}
        is{"ഐസ്‌ലാന്‍ഡിക്"}
        it{"ഇറ്റാലിയന്‍"}
        jv{"ജാവാനീസ്"}
        ka{"ജോര്‍ജിയന്‍"}
        kha{"ഘാസി"}
        kk{"കസാഖ്"}
        km{"കംമ്പോഡിയന്‍"}
        kn{"കന്നഡ"}
        ko{"കൊറിയന്‍"}
        kok{"കൊങ്കണി"}
        ks{"കാശ്മീരി"}
        ky{"കിര്‍ഗിസ്"}
        lt{"ലിത്വേനിയന്‍"}
        lv{"ലാത്വിയന്‍"}
        mai{"മൈഥിലി"}
        mg{"മലഗാസി"}
        mi{"മൌറി"}
        mk{"മാസിഡോണിയന്‍"}
        ml{"മലയാളം"}
        mn{"മംഗോളിയന്‍"}
        mni{"മണിപ്പൂരി"}
        mr{"മറാഠി"}
        mt{"മാള്‍ട്ടീസ്"}
        my{"ബര്‍മീസ്"}
        na{"നൌറു"}
        ne{"നേപ്പാളി"}
        nl{"ഡച്ച്"}
        no{"നോര്‍വീജിയന്‍"}
        oc{"ഒസിറ്റാന്‍"}
        om{"ഒറോമിംഗ"}
        or{"ഒറിയ"}
        pa{"പഞ്ചാബി"}
        pi{"പാലി"}
        pl{"പോളിഷ്"}
        pt{"പോര്‍ച്ചുഗീസ്"}
        raj{"രാജസ്ഥാനി"}
        ro{"റൊമാനിയന്‍"}
        ru{"റഷ്യന്‍"}
        sa{"സംസ്കൃതം"}
        sah{"യാകൂട്"}
        sd{"സിന്ധി"}
        sg{"സാങ്കോ"}
        si{"സിംഹള"}
        sk{"സ്ലോവാക്ക്"}
        sl{"സ്ലോവേനിയന്‍"}
        sm{"സമോവന്‍"}
        sn{"ഷോണാ"}
        so{"സോമാലി"}
        sq{"അല്‍ബേനിയന്‍"}
        sr{"സെര്‍ബിയന്‍"}
        su{"സുഡാനീസ്"}
        sv{"സ്വീഡിഷ്"}
        sw{"സ്വാഹിലി"}
        syr{"സിറിയക്ക്"}
        ta{"തമിഴ്"}
        te{"തെലുങ്ക്"}
        tg{"താജിക്"}
        th{"തായ്"}
        tr{"ടര്‍ക്കിഷ്"}
        udm{"ഉഡ്മുര്‍ട്ട്"}
        uga{"ഉഗറിട്ടിക്"}
        uk{"ഉക്രേനിയന്‍"}
        umb{"ഉംബുന്ദു"}
        und{"അജ്ഞാതമോ അനിശ്ചിതമോ ആയ ഭാഷ"}
        ur{"ഉറുദു"}
        vai{"വൈ"}
        ve{"വെന്ദ"}
        vi{"വിയറ്റ്നാമീസ്"}
        vot{"വോട്ടിക്"}
        wa{"വല്ലൂണ്‍"}
        wak{"വകഷന്‍ ഭാഷകള്‍"}
        wal{"വലമൊ"}
        war{"വാരേയ്"}
        was{"വാഷൊ"}
        yao{"യാവോ"}
        yap{"യെപ്പീസ്"}
        yi{"യിദ്ദിഷ്"}
        ypk{"യുപിക് ഭാഷകള്‍"}
        zap{"സാപ്പോടെക്"}
        zen{"സെനഗ"}
        zh{"ചൈനീസ്"}
        znd{"സാന്ദെ"}
        zun{"സുനി"}
        zza{"സാസാ"}
    }
    LocaleScript{
        "Mlym",
    }
    Scripts{
        Arab{"അറബി"}
        Beng{"ബംഗാളി"}
        Brah{"ബ്രാഹ്മി"}
        Deva{"ദേവനാഗരി"}
        Grek{"ഗ്രീക്ക്"}
        Gujr{"ഗുജറാത്തി"}
        Guru{"ഗുരുമുഖി"}
        Hebr{"ഹീബ്രു"}
        Inds{"ഇന്‍ഡസ്"}
        Jpan{"ജാപ്പനീസ്"}
        Knda{"കന്നഡ"}
        Latn{"ലാറ്റിന്‍"}
        Mlym{"മലയാളം"}
        Mong{"മംഗോളിയന്‍"}
        Mymr{"മ്യാന്‍മാര്‍"}
        Orya{"ഒറിയ"}
        Saur{"സൌരാഷ്ട്ര"}
        Sinh{"സിംഹള"}
        Syrc{"സിറിയക്ക്"}
        Taml{"തമിഴ്"}
        Telu{"തെലുങ്ക്"}
    }
    Types{
        calendar{
            chinese{"ചൈനീസ് കലണ്ടര്‍"}
            hebrew{"യഹൂദകലണ്ടര്‍"}
            islamic{"ഇസ്ലാം കലണ്ടര്‍"}
            islamic-civil{"ഇസ്ലാം-സിവില്‍ കലണ്ടര്‍"}
            japanese{"ജപ്പാനീസ് കലണ്ടര്‍"}
        }
        collation{
            big5han{"പരമ്പരാഗത ചൈനീസ് ക്രമീകരണം - ബിഗ്5"}
            direct{"പ്രത്യക്ഷക്രമീകരണം"}
            gb2312han{"ലളിതമായ ചൈനീസ് ക്രമീകരണം - ജീബി2312"}
            phonebook{"ഫോണ്‍ബുക്കിലെ ക്രമീകരണം"}
            pinyin{"പിന്‍‌യിന്‍ ക്രമീകരണം"}
            stroke{"സ്റ്റ്രോക്ക് ക്രമീകരണം"}
            traditional{"പരമ്പരാഗത ക്രമീകരണം"}
        }
    }
    Version{"1.42"}
    calendar{
        gregorian{
            DateTimePatterns{
                "h:mm:ss a v",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "yyyy, MMMM d, EEEE",
                "yyyy, MMMM d",
                "yyyy, MMM d",
                "dd-MM-yy",
                "{1} {0}",
            }
            availableFormats{
                MMMMd{"MMMM d"}
                MMdd{"dd-MM"}
                yyQ{"Q yy"}
                yyyyMM{"MM-yyyy"}
                yyyyMMMM{"MMMM yyyy"}
            }
            dayNames{
                format{
                    abbreviated{
                        "ഞാ",
                        "തി",
                        "ചൊ",
                        "ബു",
                        "വ്യാ",
                        "വെ",
                        "ശ",
                    }
                    wide{
                        "ഞായര്‍",
                        "തിങ്കള്‍",
                        "ചൊവ്വ",
                        "ബുധന്‍",
                        "വ്യാഴം",
                        "വെള്ളി",
                        "ശനി",
                    }
                }
                stand-alone{
                    narrow{
                        "ഞ",
                        "ത",
                        "ച",
                        "ബ",
                        "വ",
                        "വ",
                        "ശ",
                    }
                }
            }
            eras{
                abbreviated{
                    "ക്രി.മു.",
                    "ക്രി.പി.",
                }
                narrow{
                    "ക്രി.മു.",
                    "ക്രി.പി.",
                }
                wide{
                    "ക്രിസ്തുവിനു് മുമ്പ്‌",
                    "ക്രിസ്തുവിനു് പിമ്പ്",
                }
            }
            fields{
                day{
                    dn{"ദിവസം"}
                    relative{
                        "-1"{"ഇന്നലെ"}
                        "-2"{"മിനിഞ്ഞാന്ന്"}
                        "0"{"ഇന്നു്"}
                        "1"{"നാളെ"}
                    }
                }
                hour{
                    dn{"മണിക്കൂര്‍"}
                }
                minute{
                    dn{"മിനിട്ട്"}
                }
                month{
                    dn{"മാസം"}
                }
                second{
                    dn{"സെക്കന്റ്"}
                }
                week{
                    dn{"ആഴ്ച"}
                }
                weekday{
                    dn{"ആഴ്ചയിലെ ദിവസം"}
                }
                year{
                    dn{"വര്‍ഷം"}
                }
            }
            quarters{
                format{
                    wide{
                        "ഒന്നാം പാദം",
                        "രണ്ടാം പാദം",
                        "മൂന്നാം പാദം",
                        "നാലാം പാദം",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‘"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    measurementSystemNames{
        US{"യു.എസ്."}
        metric{"മെട്രിക്"}
    }
    zoneStrings{
        gmtFormat{"GMT{0}"}
        hourFormat{"+HH:mm;-HH:mm"}
        regionFormat{"{0} സമയം"}
    }
}
