﻿// ***************************************************************************
// *
// * 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/id.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/id.xml
 */
id{
    AuxExemplarCharacters{"[å q x z]"}
    ExemplarCharacters{"[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]"}
    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{"[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"}
            }
            symbols{
                decimal{","}
                group{"."}
            }
        }
    }
    Version{"2.0.65.46"}
    calendar{
        buddhist{
            DateTimePatterns{
                "H:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, dd MMMM y G",
                "d MMMM y G",
                "d MMM y G",
                "dd/MM/y G",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E, d"}
                MEd{"E, d-M"}
                MMMEd{"E, d MMM"}
                MMMMEd{"E, d MMMM"}
                MMMMd{"d MMMM"}
                MMMd{"d MMM"}
                Md{"d-M"}
                yM{"M/y G"}
                yMEd{"E, d/M/y G"}
                yMMM{"MMM y G"}
                yMMMEd{"E, d MMM y G"}
                yMMMd{"d MMM y G"}
            }
        }
        gregorian{
            AmPmMarkers{
                "AM",
                "PM",
            }
            DateTimePatterns{
                "H:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, dd MMMM yyyy",
                "d MMMM yyyy",
                "d MMM yyyy",
                "dd/MM/yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E, d"}
                MEd{"E, d/M"}
                MMMEd{"E, d MMM"}
                MMMMEd{"E, d MMMM"}
                MMMMd{"d MMMM"}
                MMMd{"d MMM"}
                Md{"d/M"}
                yM{"M/y"}
                yMEd{"E, d/M/y"}
                yMMM{"MMM y"}
                yMMMEd{"E, d MMM y"}
                yMMMd{"d MMM y"}
                yMd{"d/M/y"}
                yQ{"Q y"}
                yQQQ{"QQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "Min",
                        "Sen",
                        "Sel",
                        "Rab",
                        "Kam",
                        "Jum",
                        "Sab",
                    }
                    wide{
                        "Minggu",
                        "Senin",
                        "Selasa",
                        "Rabu",
                        "Kamis",
                        "Jumat",
                        "Sabtu",
                    }
                }
                stand-alone{
                    narrow{
                        "M",
                        "S",
                        "S",
                        "R",
                        "K",
                        "J",
                        "S",
                    }
                }
            }
            eras{
                abbreviated{
                    "SM",
                    "M",
                }
            }
            fields{
                day{
                    dn{"Hari"}
                    relative{
                        "-1"{"Kemarin"}
                        "-2"{"Kemarin lusa"}
                        "0"{"Hari Ini"}
                        "1"{"Besok"}
                        "2"{"Lusa"}
                    }
                }
                dayperiod{
                    dn{"Siang/Malam"}
                }
                hour{
                    dn{"Jam"}
                }
                minute{
                    dn{"Menit"}
                }
                month{
                    dn{"Bulan"}
                    relative{
                        "-1"{"Bulan lalu"}
                        "0"{"Bulan ini"}
                        "1"{"Bulan berikutnya"}
                    }
                }
                second{
                    dn{"Detik"}
                }
                week{
                    dn{"Minggu"}
                    relative{
                        "-1"{"Minggu lalu"}
                        "0"{"Minggu ini"}
                        "1"{"Minggu berikutnya"}
                    }
                }
                weekday{
                    dn{"Hari dalam Seminggu"}
                }
                year{
                    dn{"Tahun"}
                    relative{
                        "-1"{"Tahun lalu"}
                        "0"{"Tahun ini"}
                        "1"{"Tahun depan"}
                    }
                }
                zone{
                    dn{"Zona Waktu"}
                }
            }
            intervalFormats{
                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"}
                }
                y{
                    y{"y-y"}
                }
                yM{
                    M{"M/yy – M/yy"}
                    y{"M/yy – M/yy"}
                }
                yMEd{
                    M{"E, d/M/yy – E, d/M/yy"}
                    d{"E, d/M/yy – E, d/M/yy"}
                    y{"E, d/M/yy – E, d/M/yy"}
                }
                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/yy – d/M/yy"}
                    d{"d/M/yy – d/M/yy"}
                    y{"d/M/yy – d/M/yy"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Jan",
                        "Feb",
                        "Mar",
                        "Apr",
                        "Mei",
                        "Jun",
                        "Jul",
                        "Agt",
                        "Sep",
                        "Okt",
                        "Nov",
                        "Des",
                    }
                    wide{
                        "Januari",
                        "Februari",
                        "Maret",
                        "April",
                        "Mei",
                        "Juni",
                        "Juli",
                        "Agustus",
                        "September",
                        "Oktober",
                        "November",
                        "Desember",
                    }
                }
                stand-alone{
                    narrow{
                        "J",
                        "F",
                        "M",
                        "A",
                        "M",
                        "J",
                        "J",
                        "A",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "K1",
                        "K2",
                        "K3",
                        "K4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "kuartal pertama",
                        "kuartal kedua",
                        "kuartal ketiga",
                        "kuartal keempat",
                    }
                }
                stand-alone{
                    abbreviated{
                        "K1",
                        "K2",
                        "K3",
                        "K4",
                    }
                    wide{
                        "kuartal pertama",
                        "kuartal kedua",
                        "kuartal ketiga",
                        "kuartal keempat",
                    }
                }
            }
        }
        islamic{
            DateTimePatterns{
                "H:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, dd MMMM y G",
                "d MMMM y G",
                "d MMM y G",
                "dd/MM/y G",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E, d"}
                MEd{"E, d-M"}
                MMMEd{"E, d MMM"}
                MMMMEd{"E, d MMMM"}
                MMMMd{"d MMMM"}
                MMMd{"d MMM"}
                Md{"d-M"}
                yM{"M/y"}
                yMEd{"E, d/M/y"}
                yMMM{"MMM y"}
                yMMMEd{"E, d MMM y"}
                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"}
            }
            monthNames{
                format{
                    abbreviated{
                        "Muh.",
                        "Saf.",
                        "Rab. I",
                        "Rab. II",
                        "Jum. I",
                        "Jum. II",
                        "Raj.",
                        "Sha.",
                        "Ram.",
                        "Syaw.",
                        "Dhuʻl-Q.",
                        "Dhuʻl-H.",
                    }
                    wide{
                        "Muharram",
                        "Safar",
                        "Rabiʻ I",
                        "Rabiʻ II",
                        "Jumada I",
                        "Jumada II",
                        "Rajab",
                        "Sya'ban",
                        "Ramadhan",
                        "Syawal",
                        "Dhuʻl-Qiʻdah",
                        "Dhuʻl-Hijjah",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Muh.",
                        "Saf.",
                        "Rab. I",
                        "Rab. II",
                        "Jum. I",
                        "Jum. II",
                        "Raj.",
                        "Sha.",
                        "Ram.",
                        "Syaw.",
                        "Dhuʻl-Q.",
                        "Dhuʻl-H.",
                    }
                    wide{
                        "Muharram",
                        "Safar",
                        "Rabiʻ I",
                        "Rabiʻ II",
                        "Jumada I",
                        "Jumada II",
                        "Rajab",
                        "Sya'ban",
                        "Ramadhan",
                        "Syawal",
                        "Dhuʻl-Qiʻdah",
                        "Dhuʻl-Hijjah",
                    }
                }
            }
        }
        japanese{
            DateTimePatterns{
                "H:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, dd MMMM y G",
                "d MMMM y G",
                "d MMM y G",
                "dd/MM/y G",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E, d"}
                MEd{"E, d-M"}
                MMMEd{"E, d MMM"}
                MMMMEd{"E, d MMMM"}
                MMMMd{"d MMMM"}
                MMMd{"d MMM"}
                Md{"d-M"}
                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"}
            }
        }
        roc{
            DateTimePatterns{
                "H:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, dd MMMM y G",
                "d MMMM y G",
                "d MMM y G",
                "dd/MM/y G",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E, d"}
                MEd{"E, d-M"}
                MMMEd{"E, d MMM"}
                MMMMEd{"E, d MMMM"}
                MMMMd{"d MMMM"}
                MMMd{"d MMM"}
                Md{"d-M"}
                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"}
            }
            eras{
                abbreviated{
                    "Sebelum R.O.C.",
                    "R.O.C.",
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‘"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    listPattern{
        standard{
            2{"{0} dan {1}"}
            end{"{0}, dan {1}"}
        }
    }
    measurementSystemNames{
        UK{"BR"}
        US{"AS"}
        metric{"Metrik"}
    }
    units{
        day{
            other{"{0} hari"}
        }
        day-future{
            0{"Dalam 0 hari"}
            1{"Dalam 1 hari"}
            other{"Dalam {0} hari"}
        }
        day-past{
            0{"0 hari yang lalu"}
            1{"1 hari yang lalu"}
            other{"{0} hari yang lalu"}
        }
        hour{
            other{"{0} jam"}
        }
        hour-future{
            0{"Dalam 0 jam"}
            1{"Dalam 1 jam"}
            other{"Dalam {0} jam"}
        }
        hour-past{
            0{"0 jam yang lalu"}
            1{"1 jam yang lalu"}
            other{"{0} jam yang lalu"}
        }
        minute{
            other{"{0} menit"}
        }
        minute-future{
            0{"Dalam 0 menit"}
            1{"Dalam 1 menit"}
            other{"Dalam {0} menit"}
        }
        minute-past{
            0{"0 menit yang lalu"}
            1{"1 menit yang lalu"}
            other{"{0} menit yang lalu"}
        }
        month{
            other{"{0} bulan"}
        }
        month-future{
            0{"Dalam 0 bulan"}
            1{"Dalam 1 bulan"}
            other{"Dalam {0} bulan"}
        }
        month-past{
            0{"0 bulan yang lalu"}
            1{"1 bulan yang lalu"}
            other{"{0} bulan yang lalu"}
        }
        second{
            other{"{0} detik"}
        }
        second-future{
            0{"Dalam 0 detik"}
            1{"Dalam 1 detik"}
            other{"Dalam {0} detik"}
        }
        second-past{
            0{"0 detik yang lalu"}
            1{"1 detik yang lalu"}
            other{"{0} detik yang lalu"}
        }
        week{
            other{"{0} minggu"}
        }
        week-future{
            0{"Dalam 0 minggu"}
            1{"Dalam 1 minggu"}
            other{"Dalam {0} minggu"}
        }
        week-past{
            0{"0 minggu yang lalu"}
            1{"1 minggu yang lalu"}
            other{"{0} minggu yang lalu"}
        }
        year{
            other{"{0} tahun"}
        }
        year-future{
            0{"Dalam 0 tahun"}
            1{"Dalam 1 tahun"}
            other{"Dalam {0} tahun"}
        }
        year-past{
            0{"0 tahun yang lalu"}
            1{"1 tahun yang lalu"}
            other{"{0} tahun yang lalu"}
        }
    }
    unitsShort{
        day{
            other{"{0} hr"}
        }
        hour{
            other{"{0} jam"}
        }
        minute{
            other{"{0} mnt"}
        }
        month{
            other{"{0} bln"}
        }
        second{
            other{"{0} dtk"}
        }
        week{
            other{"{0} mggu"}
        }
        year{
            other{"{0} thn"}
        }
    }
}
