﻿// ***************************************************************************
// *
// * Copyright (C) 2012 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{"[]"}
    ExemplarCharacters{
        "[\u200C\u200D ഃ അ ആ ഇ ഈ ഉ ഊ ഋ ൠ ഌ ൡ എ ഏ ഐ ഒ ഓ ഔ ക ഖ ഗ ഘ ങ ച ഛ ജ ഝ ഞ ട ഠ ഡ ഢ "
        "ണ ത ഥ ദ ധ ന പ ഫ ബ ഭ മ ം യ ര ല വ ശ ഷ സ ഹ ള ഴ റ ാ ി ീ \u0D41 \u0D42 \u0D43 െ േ"
        " ൈ ൊ ോ ൗ ൌ \u0D4D]"
    }
    ExemplarCharactersCurrency{"[a b c d e f g h i j k l m n o p q r s t u v w x y z]"}
    ExemplarCharactersIndex{
        "[അ ആ ഇ ഈ ഉ ഊ ഋ എ ഏ ഐ ഒ ഓ ഔ ക ഖ ഗ ഘ ങ ച ഛ ജ ഝ ഞ ട ഠ ഡ ഢ ണ ത ഥ ദ ധ ന പ ഫ ബ ഭ മ"
        " യ ര ല വ ശ ഷ സ ഹ ള ഴ റ]"
    }
    LocaleScript{
        "Mlym",
    }
    NumberElements{
        default{"latn"}
        latn{
            patterns{
                currencyFormat{"#,##,##0.00¤"}
                decimalFormat{"#,##,##0.###"}
                percentFormat{"#,##,##0%"}
                scientificFormat{"#E0"}
            }
            symbols{
                decimal{"."}
                exponential{"E"}
                group{","}
                infinity{"∞"}
                list{";"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
            }
        }
        native{"mlym"}
    }
    Version{"2.0.65.46"}
    calendar{
        gregorian{
            AmPmMarkers{
                "രാവിലെ",
                "വൈകുന്നേരം",
            }
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "y, MMMM d, EEEE",
                "y, MMMM d",
                "y, MMM d",
                "dd/MM/yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"d E"}
                M{"L"}
                MEd{"M/d, E"}
                MMM{"LLL"}
                MMMEd{"MMM d, E"}
                MMMMEd{"MMMM d, E"}
                MMMMd{"MMMM d"}
                MMMd{"MMM d"}
                MMdd{"dd-MM"}
                Md{"d/M"}
                d{"d"}
                hm{"h:mm a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M-y"}
                yMEd{"d-M-yyyy, E"}
                yMMM{"y MMM"}
                yMMMEd{"y MMM d, E"}
                yMMMM{"y MMMM"}
                yMMMd{"y MMM d"}
                yMd{"d/M/y"}
                yQ{"yyyy Q"}
                yQQQ{"y QQQ"}
                yyQ{"Q yy"}
                yyyyMM{"MM-yyyy"}
                yyyyMMMM{"MMMM y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "ഞായര്‍",
                        "തിങ്കള്‍",
                        "ചൊവ്വ",
                        "ബുധന്‍",
                        "വ്യാഴം",
                        "വെള്ളി",
                        "ശനി",
                    }
                    wide{
                        "ഞായറാഴ്ച",
                        "തിങ്കളാഴ്ച",
                        "ചൊവ്വാഴ്ച",
                        "ബുധനാഴ്ച",
                        "വ്യാഴാഴ്ച",
                        "വെള്ളിയാഴ്ച",
                        "ശനിയാഴ്ച",
                    }
                }
                stand-alone{
                    narrow{
                        "ഞാ",
                        "തി",
                        "ചൊ",
                        "ബു",
                        "വ്യാ",
                        "വെ",
                        "ശ",
                    }
                }
            }
            eras{
                abbreviated{
                    "ക്രി.മൂ",
                    "ക്രി.പി.",
                }
                wide{
                    "ക്രിസ്തുവിനു് മുമ്പ്‌",
                    "ക്രിസ്തുവിന് പിന്‍പ്",
                }
            }
            fields{
                day{
                    dn{"ദിവസം"}
                    relative{
                        "-1"{"ഇന്നലെ"}
                        "-2"{"മിനിഞ്ഞാന്ന്"}
                        "0"{"ഇന്ന്"}
                        "1"{"നാളെ"}
                        "2"{"മറ്റന്നാള്‍"}
                    }
                }
                dayperiod{
                    dn{"am/pm"}
                }
                era{
                    dn{"കാലഘട്ടം"}
                }
                hour{
                    dn{"മണിക്കൂര്‍"}
                }
                minute{
                    dn{"മിനിട്ട്"}
                }
                month{
                    dn{"മാസം"}
                    relative{
                        "-1"{"കഴിഞ്ഞ മാസം"}
                        "0"{"ഈ മാസം"}
                        "1"{"അടുത്ത മാസം"}
                    }
                }
                second{
                    dn{"സെക്കന്‍റ്"}
                }
                week{
                    dn{"ആഴ്ച"}
                    relative{
                        "-1"{"കഴിഞ്ഞ ആഴ്‌ച"}
                        "0"{"ഈ ആഴ്ച"}
                        "1"{"അടുത്ത ആഴ്ച"}
                    }
                }
                weekday{
                    dn{"ആഴ്ചയിലെ ദിവസം"}
                }
                year{
                    dn{"വര്‍ഷം"}
                    relative{
                        "-1"{"കഴിഞ്ഞ വര്‍ഷം"}
                        "0"{"ഈ വര്‍‌ഷം"}
                        "1"{"അടുത്തവര്‍ഷം"}
                    }
                }
                zone{
                    dn{"മേഖല"}
                }
            }
            intervalFormats{
                M{
                    M{"M-M"}
                }
                MEd{
                    M{"d/M, E - d/M, E"}
                    d{"d/M, E - d/M, E"}
                }
                MMM{
                    M{"MMM-MMM"}
                }
                MMMEd{
                    M{"MMM d, E - MMM d, E"}
                    d{"MMM d, E - MMM d, E"}
                }
                MMMM{
                    M{"LLLL-LLLL"}
                }
                MMMd{
                    M{"MMM d - MMM d"}
                    d{"MMM d-d"}
                }
                Md{
                    M{"d/M - d/M"}
                    d{"d/M - d/M"}
                }
                d{
                    d{"d-d"}
                }
                fallback{"{0} - {1}"}
                h{
                    a{"h a – h a"}
                    h{"h–h a"}
                }
                hm{
                    a{"h:mm a – h:mm a"}
                    h{"h:mm–h:mm a"}
                    m{"h:mm–h:mm a"}
                }
                hmv{
                    a{"h:mm a – h:mm a v"}
                    h{"h:mm–h:mm a v"}
                    m{"h:mm–h:mm a v"}
                }
                hv{
                    a{"h a – h a v"}
                    h{"h–h a v"}
                }
                y{
                    y{"y-y"}
                }
                yM{
                    M{"M/yy – M/yy"}
                    y{"M/yy – M/yy"}
                }
                yMEd{
                    M{"d/M/yy, E - d/M/yy, E"}
                    d{"d/M/yy, E - d/M/yy, E"}
                    y{"d/M/yy, E - d/M/yy, E"}
                }
                yMMM{
                    M{"y MMM-MMM"}
                    y{"y MMM - y MMM"}
                }
                yMMMEd{
                    M{"y MMM d, E - MMM d, E"}
                    d{"y, MMM d, E - d, E"}
                    y{"y MMM d, E - y MMM d, E"}
                }
                yMMMM{
                    M{"yyyy-MM – MM"}
                    y{"yyyy-MM – yyyy-MM"}
                }
                yMMMd{
                    M{"y MMM d - MMM d"}
                    d{"y MMM d-d"}
                    y{"y MMM d - y MMM d"}
                }
                yMd{
                    M{"d/M/yy – d/M/yy"}
                    d{"d/M/yy – d/M/yy"}
                    y{"d/M/yy – d/M/yy"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "ജനു",
                        "ഫെബ്രു",
                        "മാര്‍",
                        "ഏപ്രി",
                        "മേയ്",
                        "ജൂണ്‍",
                        "ജൂലൈ",
                        "ഓഗ",
                        "സെപ്റ്റം",
                        "ഒക്ടോ",
                        "നവം",
                        "ഡിസം",
                    }
                    wide{
                        "ജനുവരി",
                        "ഫെബ്രുവരി",
                        "മാര്‍ച്ച്",
                        "ഏപ്രില്‍",
                        "മേയ്",
                        "ജൂണ്‍",
                        "ജൂലൈ",
                        "ആഗസ്റ്റ്",
                        "സെപ്റ്റംബര്‍",
                        "ഒക്ടോബര്‍",
                        "നവംബര്‍",
                        "ഡിസംബര്‍",
                    }
                }
                stand-alone{
                    narrow{
                        "ജ",
                        "ഫെ",
                        "മാ",
                        "ഏ",
                        "മേ",
                        "ജൂ",
                        "ജൂ",
                        "ഓ",
                        "സെ",
                        "ഒ",
                        "ന",
                        "ഡി",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "Q1",
                        "Q2",
                        "Q3",
                        "Q4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "ഒന്നാം പാദം",
                        "രണ്ടാം പാദം",
                        "മൂന്നാം പാദം",
                        "നാലാം പാദം",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Q1",
                        "Q2",
                        "Q3",
                        "Q4",
                    }
                }
            }
        }
        indian{
            eras{
                abbreviated{
                    "ശക",
                }
            }
            monthNames{
                format{
                    wide{
                        "ചൈത്രം",
                        "വൈശാഖം",
                        "ജ്യേഷ്ഠം",
                        "ആഷാഢം",
                        "ശ്രാവണം",
                        "ഭാദ്രപാദം",
                        "ആശ്വിനം",
                        "കാര്‍ത്തികം",
                        "മാര്‍ഗശീര്‍ഷം",
                        "പൗഷം",
                        "മാഘം",
                        "ഫല്‍ഗുനം",
                    }
                }
                stand-alone{
                    narrow{
                        "ചൈ",
                        "വൈ",
                        "ജ്യേ",
                        "ആ",
                        "ശ്രാ",
                        "ഭാ",
                        "ആ",
                        "കാ",
                        "മാ",
                        "പൗ",
                        "മാ",
                        "ഫ",
                    }
                }
            }
        }
        islamic{
            eras{
                abbreviated{
                    "ഹിജറ",
                }
            }
            monthNames{
                format{
                    wide{
                        "മുഹറം",
                        "സഫര്‍",
                        "റബീഹുല്‍ അവ്വല്‍",
                        "റബീഹുല്‍ ആഖിര്‍",
                        "ജമാദുല്‍ അവ്വല്‍",
                        "ജമാദുല്‍ ആഖിര്‍",
                        "റജബ്",
                        "ശഹബാന്‍",
                        "റമളാന്‍",
                        "ശവ്വാല്‍",
                        "ദുല്‍ ഖഹദ്",
                        "ദുല്‍ ഹിജ്ജ",
                    }
                }
                stand-alone{
                    narrow{
                        "മു",
                        "സ",
                        "റ",
                        "റ",
                        "ജ",
                        "ജ",
                        "റ",
                        "ശ",
                        "റ",
                        "ശ",
                        "ദു",
                        "ദു",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‘"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    listPattern{
        standard{
            2{"{0} കൂടാതെ {1}"}
            end{"{0}, {1} എന്നിവ"}
        }
    }
    measurementSystemNames{
        UK{"യുകെ"}
        US{"യുഎസ്സ്"}
        metric{"മെട്രിക്ക്"}
    }
    units{
        day{
            one{"{0} ദിവസം"}
            other{"{0} ദിവസം"}
        }
        day-future{
            0{"0 ദിവസത്തില്‍"}
            1{"1 ദിവസത്തില്‍"}
            other{"{0} ദിവസത്തില്‍"}
        }
        day-past{
            0{"0 ദിവസം മുമ്പ്"}
            1{"1 ദിവസം മുമ്പ്"}
            other{"{0} ദിവസം മുമ്പ്"}
        }
        hour{
            one{"{0} മണിക്കൂര്‍"}
            other{"{0} മണിക്കൂര്‍"}
        }
        hour-future{
            0{"0 മണിക്കൂറില്‍"}
            1{"1 മണിക്കൂറില്‍"}
            other{"{0} മണിക്കൂറില്‍"}
        }
        hour-past{
            0{"0 മണിക്കൂര്‍ മുമ്പ്"}
            1{"1 മണിക്കൂര്‍ മുമ്പ്"}
            other{"{0} മണിക്കൂര്‍ മുമ്പ്"}
        }
        minute{
            one{"{0} മിനിട്ട്"}
            other{"{0} മിനിട്ട്"}
        }
        minute-future{
            0{"0 മിനിറ്റില്‍"}
            1{"1 മിനിറ്റിനുള്ളില്‍"}
            other{"{0} മിനിറ്റിനുള്ളില്‍"}
        }
        minute-past{
            0{"0 മിനിറ്റ് മുമ്പ്"}
            1{"1 മിനിറ്റ് മുമ്പ്"}
            other{"{0} മിനിറ്റ് മുമ്പ്"}
        }
        month{
            one{"{0} മാസം"}
            other{"{0} മാസം"}
        }
        month-future{
            0{"0 മാസത്തില്‍"}
            1{"1 മാസത്തില്‍"}
            other{"{0} മാസത്തില്‍"}
        }
        month-past{
            0{"0 മാസം മുമ്പ്"}
            1{"1 മാസം മുമ്പ്"}
            other{"{0} മാസം മുമ്പ്"}
        }
        second{
            one{"{0} സെക്കന്റ്"}
            other{"{0} സെക്കന്റ്"}
        }
        second-future{
            0{"0 സെക്കന്‍ഡില്‍"}
            1{"1 സെക്കന്‍ഡില്‍"}
            other{"{0} സെക്കന്‍ഡില്‍"}
        }
        second-past{
            0{"0 സെക്കന്‍റ് മുമ്പ്"}
            1{"1 സെക്കന്‍റ് മുമ്പ്"}
            other{"{0} സെക്കന്‍റ് മുമ്പ്"}
        }
        week{
            one{"{0} ആഴ്ച"}
            other{"{0} ആഴ്ച"}
        }
        week-future{
            0{"0 ആഴ്ചയില്‍"}
            1{"1 ആഴ്ചയില്‍"}
            other{"{0} ആഴ്ചയില്‍"}
        }
        week-past{
            0{"0 ആഴ്ച മുമ്പ്"}
            1{"1 ആഴ്ച മുമ്പ്"}
            other{"{0} ആഴ്ച മുമ്പ്"}
        }
        year{
            one{"{0} വര്‍ഷം"}
            other{"{0} വര്‍ഷം"}
        }
        year-future{
            0{"0 വര്‍ഷത്തില്‍"}
            1{"1 വര്‍ഷത്തില്‍"}
            other{"{0} വര്‍ഷത്തില്‍"}
        }
        year-past{
            0{"0 വര്‍ഷം മുമ്പ്"}
            1{"1 വര്‍ഷം മുമ്പ്"}
            other{"{0} വര്‍ഷം മുമ്പ്"}
        }
    }
    unitsShort{
        day{
            0{"0 ദിവസം‌"}
            1{"1 ദിവസം"}
            other{"{0} ദിവസം‌"}
        }
        hour{
            0{"0 മണിക്കൂര്‍"}
            1{"1 മണിക്കൂര്‍‌"}
            other{"{0} മണിക്കൂര്‍"}
        }
        minute{
            0{"0 മിനിറ്റ്"}
            1{"1 മിനിറ്റ്"}
            other{"{0} മിനിറ്റ്"}
        }
        month{
            0{"0 മാസങ്ങള്‍"}
            1{"1 മാസം"}
            other{"{0} മാസം"}
        }
        second{
            0{"0 സെക്കന്‍റ്"}
            1{"1 സെക്കന്‍റ്"}
            other{"{0} സെക്കന്‍റ്"}
        }
        week{
            0{"0 ആഴ്‌ച"}
            1{"1 ആഴ്‌ച"}
            other{"{0} ആഴ്‌ച"}
        }
        year{
            0{"0 വര്‍‌ഷം"}
            1{"1 വര്‍ഷം"}
            other{"{0} വര്‍‌ഷം"}
        }
    }
}
