﻿// ***************************************************************************
// *
// * 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{
                "HH:mm:ss v",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "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} സമയം"}
    }
}
