﻿// ***************************************************************************
// *
// * 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{
    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.",
            "ഇന്ത്യന്‍ രൂപ",
        }
        ITL{
            "IT₤",
            "ഇറ്റാലിയന്‍ ലിറ",
        }
        RUB{
            "RUB",
            "റഷ്യന്‍ റൂബിള്‍",
        }
        USD{
            "US$",
            "യു.എസ്. ഡോളര്‍",
        }
    }
    ExemplarCharacters{"[അ-ഋ ൠ ഌ ൡ എ-ഐ ഒ-ന പ-ര ല വ ള ഴ റ ശ-ഹ ഃ ം ാ-ൃ െ-ൈ ൊ-് ൗ \u200d \u200c]"}
    Keys{
        calendar{"കലണ്ടര്‍"}
        currency{"നാണയം"}
    }
    Languages{
        aa{"അഫാര്‍"}
        ab{"അബ്ഖാസിയന്‍"}
        am{"അംഹാറിക്"}
        ast{"ഓസ്‌ട്രിയന്‍"}
        ay{"അയ്മാറ"}
        az{"അസര്‍ബൈജാനി"}
        bh{"ബീഹാറി"}
        bi{"ബിസ്‌ലാമ"}
        bn{"ബംഗാളി"}
        bo{"തിബറ്റന്‍"}
        co{"കോര്‍സിക്കന്‍"}
        cs{"ചെക്ക്"}
        cy{"വെല്‍ഷ്"}
        da{"ഡാനിഷ്"}
        dgr{"ഡോഗ്രിബ്"}
        dra{"ദ്രാവിഡഭാഷ"}
        el{"ഗ്രീക്ക്"}
        en{"ഇംഗ്ലീഷ്"}
        es{"സ്പാനിഷ്"}
        et{"എസ്റ്റോണിയന്‍"}
        fa{"പേര്‍ഷ്യന്‍"}
        fi{"ഫിന്നിഷ്"}
        fj{"ഫിജിയന്‍"}
        fo{"ഫാറോസ്"}
        ga{"ഐറിഷ്"}
        gl{"ഗലീഷ്യന്‍"}
        gu{"ഗുജറാത്തി"}
        ha{"ഹൌസ"}
        he{"ഹീബ്രു"}
        hr{"ക്രോയേഷ്യന്‍"}
        hu{"ഹംഗേറിയന്‍"}
        hy{"അര്‍മേനിയന്‍"}
        ia{"ഇന്‍റര്‍ലിംഗ്വാ"}
        id{"ഇന്‍ഡോനേഷ്യന്‍"}
        ie{"ഇന്‍റര്‍ലിംഗ്വി"}
        is{"ഐസ്‌ലാന്‍ഡിക്"}
        it{"ഇറ്റാലിയന്‍"}
        jv{"ജാവാനീസ്"}
        ka{"ജോര്‍ജിയന്‍"}
        kha{"ഘാസി"}
        kk{"കസാഖ്"}
        km{"കംമ്പോഡിയന്‍"}
        kn{"കന്നഡ"}
        ko{"കൊറിയന്‍"}
        kok{"കൊങ്കണി"}
        ks{"കാശ്മീരി"}
        ku{"കുര്‍ദിഷ്"}
        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{"തമിഴ്"}
        tg{"താജിക്"}
        th{"തായ്"}
        tr{"ടര്‍ക്കിഷ്"}
        udm{"ഉഡ്മുര്‍ട്ട്"}
        uga{"ഉഗറിട്ടിക്"}
        uk{"ഉക്രേനിയന്‍"}
        umb{"ഉംബുന്ദു"}
        ur{"ഉറുദു"}
        vai{"വൈ"}
        ve{"വെന്ദ"}
        vi{"വിയറ്റ്നാമീസ്"}
        vot{"വോട്ടിക്"}
        wa{"വല്ലൂണ്‍"}
        wak{"വകഷന്‍ ഭാഷകള്‍"}
        wal{"വലമൊ"}
        war{"വാരേയ്"}
        was{"വാഷൊ"}
        yao{"യാവോ"}
        yap{"യെപ്പീസ്"}
        yi{"യിദ്ദിഷ്"}
        ypk{"യുപിക് ഭാഷകള്‍"}
        zap{"സാപ്പോടെക്"}
        zen{"സെനഗ"}
        zh{"ചൈനീസ്"}
        znd{"സാന്ദെ"}
        zun{"സുനി"}
        zza{"സാസാ"}
    }
    LocaleScript{
        "Mlym",
    }
    NumberElements{
        ".",
        ",",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "‰",
        "∞",
        "NaN",
        "+",
    }
    NumberPatterns{
        "#,##0.###",
        "¤ #,##0.00",
        "#,##0%",
        "#E0",
    }
    Scripts{
        Arab{"അറബി"}
        Beng{"ബംഗാളി"}
        Brah{"ബ്രാഹ്മി"}
        Deva{"ദേവനാഗരി"}
        Grek{"ഗ്രീക്ക്"}
        Gujr{"ഗുജറാത്തി"}
        Guru{"ഗുരുമുഖി"}
        Hebr{"ഹീബ്രു"}
        Inds{"ഇന്‍ഡസ്"}
        Jpan{"ജാപ്പനീസ്"}
        Knda{"കന്നഡ"}
        Latn{"ലാറ്റിന്‍"}
        Mlym{"മലയാളം"}
        Mong{"മംഗോളിയന്‍"}
        Mymr{"മ്യാന്‍മാര്‍"}
        Orya{"ഒറിയ"}
        Saur{"സൌരാഷ്ട്ര"}
        Sinh{"സിംഹള"}
        Syrc{"സിറിയക്ക്"}
        Taml{"തമിഴ്"}
        Telu{"തെലുങ്ക്"}
    }
    Version{"1.92"}
    calendar{
        gregorian{
            AmPmMarkers{
                "രാവിലെ",
                "വൈകുന്നേരം",
            }
            DateTimePatterns{
                "HH:mm:ss v",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, yyyy MMMM dd",
                "yyyy MMMM d",
                "yyyy MMM d",
                "yyyy-MM-dd",
                "{1} {0}",
            }
            dayNames{
                format{
                    abbreviated{
                        "1",
                        "2",
                        "3",
                        "4",
                        "5",
                        "6",
                        "7",
                    }
                    wide{
                        "1",
                        "2",
                        "3",
                        "4",
                        "5",
                        "6",
                        "7",
                    }
                }
                stand-alone{
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                        "5",
                        "6",
                        "7",
                    }
                }
            }
            eras{
                abbreviated{
                    "ക്രി.മു.",
                    "ക്രി.പി.",
                }
                narrow{
                    "ക്രി.മു.",
                    "ക്രി.പി.",
                }
                wide{
                    "ക്രിസ്തുവിനു് മുമ്പ്‌",
                    "ക്രിസ്തുവിനു് പിമ്പ്",
                }
            }
            fields{
                day{
                    dn{"ദിവസം"}
                    relative{
                        "-1"{"ഇന്നലെ"}
                        "-2"{"മിനിഞ്ഞാന്ന്"}
                        "0"{"ഇന്നു്"}
                        "1"{"നാളെ"}
                        "2"{"മറ്റന്നാള്‍"}
                    }
                }
                dayperiod{
                    dn{"രാവിലെ/വൈകുന്നേരം"}
                }
                era{
                    dn{"അബ്ദം"}
                }
                hour{
                    dn{"മണിക്കൂര്‍"}
                }
                minute{
                    dn{"മിനിട്ട്"}
                }
                month{
                    dn{"മാസം"}
                }
                second{
                    dn{"സെക്കന്റ്"}
                }
                week{
                    dn{"ആഴ്ച"}
                }
                weekday{
                    dn{"ആഴ്ചയിലെ ദിവസം"}
                }
                year{
                    dn{"വര്‍ഷം"}
                }
                zone{
                    dn{"മേഖല"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "1",
                        "2",
                        "3",
                        "4",
                        "5",
                        "6",
                        "7",
                        "8",
                        "9",
                        "10",
                        "11",
                        "12",
                    }
                    wide{
                        "1",
                        "2",
                        "3",
                        "4",
                        "5",
                        "6",
                        "7",
                        "8",
                        "9",
                        "10",
                        "11",
                        "12",
                    }
                }
                stand-alone{
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                        "5",
                        "6",
                        "7",
                        "8",
                        "9",
                        "10",
                        "11",
                        "12",
                    }
                    wide{
                        "1",
                        "2",
                        "3",
                        "4",
                        "5",
                        "6",
                        "7",
                        "8",
                        "9",
                        "10",
                        "11",
                        "12",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "Q1",
                        "Q2",
                        "Q3",
                        "Q4",
                    }
                    wide{
                        "Q1",
                        "Q2",
                        "Q3",
                        "Q4",
                    }
                }
            }
        }
    }
    measurementSystemNames{
        metric{"മെട്രിക്"}
    }
    messages{
        nostr{"അല്ല"}
        yesstr{"അതെ"}
    }
}
