﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/ms.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/ms.xml
 */
ms{
    AuxExemplarCharacters{"[]"}
    ExemplarCharacters{
        "[a {ai} {au} b c d {dz} e f g h i j k {kh} l m n {ng} {ngg} {ny} o p q r s {"
        "sy} t {ts} u {ua} v w x y z]"
    }
    ExemplarCharactersIndex{"[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]"}
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            patterns{
                currencyFormat{"¤#,##0.00"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
                scientificFormat{"#E0"}
            }
            patternsLong{
                decimalFormat{
                    1000{
                        other{"0 ribu"}
                    }
                    10000{
                        other{"00 ribu"}
                    }
                    100000{
                        other{"000 ribu"}
                    }
                    1000000{
                        other{"0 juta"}
                    }
                    10000000{
                        other{"00 juta"}
                    }
                    100000000{
                        other{"000 juta"}
                    }
                    1000000000{
                        other{"0 bilion"}
                    }
                    10000000000{
                        other{"00 bilion"}
                    }
                    100000000000{
                        other{"000 bilion"}
                    }
                    1000000000000{
                        other{"0 trilion"}
                    }
                    10000000000000{
                        other{"00 trilion"}
                    }
                    100000000000000{
                        other{"000 trilion"}
                    }
                }
            }
            patternsShort{
                decimalFormat{
                    1000{
                        other{"0K"}
                    }
                    10000{
                        other{"00K"}
                    }
                    100000{
                        other{"000K"}
                    }
                    1000000{
                        other{"0J"}
                    }
                    10000000{
                        other{"00J"}
                    }
                    100000000{
                        other{"000J"}
                    }
                    1000000000{
                        other{"0B"}
                    }
                    10000000000{
                        other{"00B"}
                    }
                    100000000000{
                        other{"000B"}
                    }
                    1000000000000{
                        other{"0T"}
                    }
                    10000000000000{
                        other{"00T"}
                    }
                    100000000000000{
                        other{"000T"}
                    }
                }
            }
            symbols{
                decimal{"."}
                exponential{"E"}
                group{","}
                infinity{"∞"}
                list{";"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
            }
        }
    }
    Version{"2.0.85.93"}
    calendar{
        buddhist{
            eras{
                abbreviated{
                    "BE",
                }
            }
        }
        chinese{
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, U MMMM dd",
                "U MMMM d",
                "U MMM d",
                "y-M-d",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            monthNames{
                format{
                    abbreviated{
                        "Jan",
                        "Feb",
                        "Mac",
                        "Apr",
                        "Mei",
                        "Jun",
                        "Jul",
                        "Ogo",
                        "Sep",
                        "Okt",
                        "Nov",
                        "Dis",
                    }
                    narrow{
                        "Jn",
                        "Fb",
                        "Mc",
                        "Ap",
                        "Me",
                        "Ju",
                        "Jl",
                        "Og",
                        "Sp",
                        "Ok",
                        "Nv",
                        "Ds",
                    }
                    wide{
                        "Januari",
                        "Februari",
                        "Mac",
                        "April",
                        "Mei",
                        "Jun",
                        "Julai",
                        "Ogos",
                        "September",
                        "Oktober",
                        "November",
                        "Disember",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Jan",
                        "Feb",
                        "Mac",
                        "Apr",
                        "Mei",
                        "Jun",
                        "Jul",
                        "Ogo",
                        "Sep",
                        "Okt",
                        "Nov",
                        "Dis",
                    }
                    narrow{
                        "Jn",
                        "Fe",
                        "Mc",
                        "Ap",
                        "Me",
                        "Ju",
                        "Jl",
                        "Og",
                        "Sp",
                        "Ok",
                        "Nv",
                        "Ds",
                    }
                    wide{
                        "Januari",
                        "Februari",
                        "Mac",
                        "April",
                        "Mei",
                        "Jun",
                        "Julai",
                        "Ogos",
                        "September",
                        "Oktober",
                        "November",
                        "Disember",
                    }
                }
            }
        }
        generic{
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, d MMMM y G",
                "d MMMM y G",
                "dd/MM/y G",
                "d/MM/y GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E, d"}
                Gy{"y G"}
                GyMMM{"MMM y G"}
                GyMMMEd{"E, d MMM y G"}
                GyMMMd{"d MMM y G"}
                H{"HH"}
                Hm{"HH:mm"}
                Hmm{"H:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, d/M"}
                MMM{"LLL"}
                MMMEd{"E, d MMM"}
                MMMMd{"d MMMM"}
                MMMd{"d MMM"}
                Md{"d/M"}
                d{"d"}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y G"}
                yyyy{"y G"}
                yyyyM{"M/y G"}
                yyyyMEd{"E, d/M/y G"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"E, d MMM y G"}
                yyyyMMMd{"d MMM y G"}
                yyyyMd{"d/M/y G"}
                yyyyQQQ{"QQQ y G"}
                yyyyQQQQ{"QQQQ y G"}
            }
            intervalFormats{
                H{
                    H{"HH–HH"}
                }
                Hm{
                    H{"HH:mm–HH:mm"}
                    m{"HH:mm–HH:mm"}
                }
                Hmv{
                    H{"HH:mm–HH:mm v"}
                    m{"HH:mm–HH:mm v"}
                }
                Hv{
                    H{"HH–HH v"}
                }
                M{
                    M{"M–M"}
                }
                MEd{
                    M{"E, d/M – E, d/M"}
                    d{"E, d/M – E, d/M"}
                }
                MMM{
                    M{"MMM–MMM"}
                }
                MMMEd{
                    M{"E, d MMM – E, d MMM"}
                    d{"E, d MMM – E, d MMM"}
                }
                MMMd{
                    M{"d MMM – d MMM"}
                    d{"d–d MMM"}
                }
                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 G"}
                }
                yM{
                    M{"M/y – M/y G"}
                    y{"M/y – M/y G"}
                }
                yMEd{
                    M{"E, d/M/y – E, d/M/y G"}
                    d{"E, d/M/y – E, d/M/y G"}
                    y{"E, d/M/y – E, d/M/y G"}
                }
                yMMM{
                    M{"MMM–MMM y G"}
                    y{"MMM y – MMM y G"}
                }
                yMMMEd{
                    M{"E, d MMM – E, d MMM, y G"}
                    d{"E, d MMM – E, d MMM, y G"}
                    y{"E, d MMM y – E, d MMM y G"}
                }
                yMMMM{
                    M{"MMMM–MMMM y G"}
                    y{"MMMM y – MMMM y G"}
                }
                yMMMd{
                    M{"d MMM – d MMM, y G"}
                    d{"d–d MMM y G"}
                    y{"d MMM y – d MMM y G"}
                }
                yMd{
                    M{"d/M/y – d/M/y G"}
                    d{"d/M/y – d/M/y G"}
                    y{"d/M/y – d/M/y G"}
                }
            }
        }
        gregorian{
            AmPmMarkers{
                "PG",
                "PTG",
            }
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, d MMMM y",
                "d MMMM y",
                "dd/MM/y",
                "d/MM/yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"d E"}
                Gy{"y G"}
                GyMMM{"MMM y G"}
                GyMMMEd{"E, d MMM y G"}
                GyMMMd{"d MMM y G"}
                H{"HH"}
                Hm{"HH:mm"}
                Hmm{"H:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, d-M"}
                MMM{"LLL"}
                MMMEd{"E, d MMM"}
                MMMMd{"d MMMM"}
                MMMd{"d MMM"}
                MMdd{"dd/MM"}
                Md{"d-M"}
                d{"d"}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M-y"}
                yMEd{"E, d/M/y"}
                yMMM{"MMM y"}
                yMMMEd{"E, d MMM y"}
                yMMMd{"d MMM y"}
                yMd{"d/M/y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "Ahd",
                        "Isn",
                        "Sel",
                        "Rab",
                        "Kha",
                        "Jum",
                        "Sab",
                    }
                    narrow{
                        "A",
                        "I",
                        "S",
                        "R",
                        "K",
                        "J",
                        "S",
                    }
                    short{
                        "Ah",
                        "Is",
                        "Se",
                        "Ra",
                        "Kh",
                        "Ju",
                        "Sa",
                    }
                    wide{
                        "Ahad",
                        "Isnin",
                        "Selasa",
                        "Rabu",
                        "Khamis",
                        "Jumaat",
                        "Sabtu",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Ahd",
                        "Isn",
                        "Sel",
                        "Rab",
                        "Kha",
                        "Jum",
                        "Sab",
                    }
                    narrow{
                        "A",
                        "I",
                        "S",
                        "R",
                        "K",
                        "J",
                        "S",
                    }
                    short{
                        "Ah",
                        "Is",
                        "Se",
                        "Ra",
                        "Kh",
                        "Ju",
                        "Sa",
                    }
                    wide{
                        "Ahad",
                        "Isnin",
                        "Selasa",
                        "Rabu",
                        "Khamis",
                        "Jumaat",
                        "Sabtu",
                    }
                }
            }
            eras{
                abbreviated{
                    "S.M.",
                    "TM",
                }
            }
            intervalFormats{
                H{
                    H{"HH–HH"}
                }
                Hm{
                    H{"HH:mm–HH:mm"}
                    m{"HH:mm–HH:mm"}
                }
                Hmv{
                    H{"HH:mm–HH:mm v"}
                    m{"HH:mm–HH:mm v"}
                }
                Hv{
                    H{"HH–HH v"}
                }
                M{
                    M{"M–M"}
                }
                MEd{
                    M{"E, d/M – E, d/M"}
                    d{"E, d/M – E, d/M"}
                }
                MMM{
                    M{"MMM–MMM"}
                }
                MMMEd{
                    M{"E, d MMM – E, d MMM"}
                    d{"E, d MMM – E, d MMM"}
                }
                MMMd{
                    M{"d MMM – d MMM"}
                    d{"d–d MMM"}
                }
                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/y – M/y"}
                    y{"M/y – M/y"}
                }
                yMEd{
                    M{"E, d/M/y – E, d/M/y"}
                    d{"E, d/M/y – E, d/M/y"}
                    y{"E, d/M/y – E, d/M/y"}
                }
                yMMM{
                    M{"MMM–MMM y"}
                    y{"MMM y – MMM y"}
                }
                yMMMEd{
                    M{"E, d MMM – E, d MMM, y"}
                    d{"E, d MMM – E, d MMM, y"}
                    y{"E, d MMM y – E, d MMM y"}
                }
                yMMMM{
                    M{"MMMM–MMMM y"}
                    y{"MMMM y – MMMM y"}
                }
                yMMMd{
                    M{"d MMM – d MMM, y"}
                    d{"d–d MMM y"}
                    y{"d MMM y – d MMM y"}
                }
                yMd{
                    M{"d/M/y – d/M/y"}
                    d{"d/M/y – d/M/y"}
                    y{"d/M/y – d/M/y"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Jan",
                        "Feb",
                        "Mac",
                        "Apr",
                        "Mei",
                        "Jun",
                        "Jul",
                        "Ogos",
                        "Sep",
                        "Okt",
                        "Nov",
                        "Dis",
                    }
                    narrow{
                        "J",
                        "F",
                        "M",
                        "A",
                        "M",
                        "J",
                        "J",
                        "O",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                    wide{
                        "Januari",
                        "Februari",
                        "Mac",
                        "April",
                        "Mei",
                        "Jun",
                        "Julai",
                        "Ogos",
                        "September",
                        "Oktober",
                        "November",
                        "Disember",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Jan",
                        "Feb",
                        "Mac",
                        "Apr",
                        "Mei",
                        "Jun",
                        "Jul",
                        "Ogos",
                        "Sep",
                        "Okt",
                        "Nov",
                        "Dis",
                    }
                    narrow{
                        "J",
                        "F",
                        "M",
                        "A",
                        "M",
                        "J",
                        "J",
                        "O",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                    wide{
                        "Januari",
                        "Februari",
                        "Mac",
                        "April",
                        "Mei",
                        "Jun",
                        "Julai",
                        "Ogos",
                        "September",
                        "Oktober",
                        "November",
                        "Disember",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "Suku 1",
                        "Suku Ke-2",
                        "Suku Ke-3",
                        "Suku Ke-4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "Suku pertama",
                        "Suku Ke-2",
                        "Suku Ke-3",
                        "Suku Ke-4",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Suku 1",
                        "Suku Ke-2",
                        "Suku Ke-3",
                        "Suku Ke-4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "Suku pertama",
                        "Suku Ke-2",
                        "Suku Ke-3",
                        "Suku Ke-4",
                    }
                }
            }
        }
        islamic{
            eras{
                abbreviated{
                    "AH",
                }
            }
        }
        japanese{
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, d MMMM y G",
                "d MMMM y G",
                "dd/MM/y G",
                "d/MM/y GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
        }
        roc{
            eras{
                abbreviated{
                    "Before R.O.C.",
                    "R.O.C.",
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‘"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    fields{
        day{
            dn{"Hari"}
            relative{
                "-1"{"Semalam"}
                "-2"{"Hari sebelum semalam"}
                "0"{"Hari ini"}
                "1"{"Esok"}
                "2"{"Hari selepas esok"}
            }
        }
        dayperiod{
            dn{"PG/PTG"}
        }
        era{
            dn{"Era"}
        }
        hour{
            dn{"Jam"}
        }
        minute{
            dn{"Minit"}
        }
        month{
            dn{"Bulan"}
            relative{
                "-1"{"Bulan lalu"}
                "0"{"Bulan ini"}
                "1"{"Bulan seterusnya"}
            }
        }
        second{
            dn{"Kedua"}
        }
        week{
            dn{"Minggu"}
            relative{
                "-1"{"Minggu lepas"}
                "0"{"Minggu ini"}
                "1"{"Minggu seterusnya"}
            }
        }
        weekday{
            dn{"Hari dalam Minggu"}
        }
        year{
            dn{"Tahun"}
            relative{
                "-1"{"Tahun lepas"}
                "0"{"Tahun ini"}
                "1"{"Tahun depan"}
            }
        }
        zone{
            dn{"Zon Waktu"}
        }
    }
    listPattern{
        standard{
            2{"{0} dan {1}"}
            end{"{0}, dan {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
    }
    measurementSystemNames{
        UK{"UK"}
        US{"AS"}
        metric{"Metrik"}
    }
    units{
        duration{
            day{
                other{"{0} hari"}
            }
            day-future{
                other{"Dalam {0} hari"}
            }
            day-past{
                other{"{0} hari lalu"}
            }
            hour{
                other{"{0} jam"}
            }
            hour-future{
                other{"Dalam {0} jam"}
            }
            hour-past{
                other{"{0} jam lalu"}
            }
            minute{
                other{"{0} minit"}
            }
            minute-future{
                other{"Dalam {0} minit"}
            }
            minute-past{
                other{"{0} minit lalu"}
            }
            month{
                other{"{0} bulan"}
            }
            month-future{
                other{"Dalam {0} bulan"}
            }
            month-past{
                other{"{0} bulan lalu"}
            }
            second{
                other{"{0} saat"}
            }
            second-future{
                other{"Dalam {0} saat"}
            }
            second-past{
                other{"{0} saat lalu"}
            }
            week{
                other{"{0} minggu"}
            }
            week-future{
                other{"Dalam {0} minggu"}
            }
            week-past{
                other{"{0} minggu lalu"}
            }
            year{
                other{"{0} tahun"}
            }
            year-future{
                other{"Dalam {0} tahun"}
            }
            year-past{
                other{"{0} tahun lalu"}
            }
        }
    }
    unitsShort{
        duration{
            day{
                other{"{0} hari"}
            }
            hour{
                other{"{0} jam"}
            }
            minute{
                other{"{0} min"}
            }
            month{
                other{"{0} bulan"}
            }
            second{
                other{"{0} saat"}
            }
            week{
                other{"{0} minggu"}
            }
            year{
                other{"{0} thn"}
            }
        }
    }
}
