﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/brx.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/brx.xml
 */
brx{
    AuxExemplarCharacters{"[\u200C\u200D]"}
    ExemplarCharacters{
        "[\u093C \u0901 \u0902 अ आ इ ई उ ऊ ऍ ए ऐ ऑ ओ औ क ख ग घ च छ ज झ ञ ट ठ ड {ड"
        "\u093C} ढ ण त थ द ध न प फ ब भ म य र ल ळ व श ष स ह ा ि ी \u0941 \u0942 \u0943"
        " \u0945 \u0947 \u0948 ॉ ो ौ \u094D]"
    }
    ExemplarCharactersIndex{
        "[अ आ इ ई उ ऊ ऍ ए ऐ ऑ ओ औ क ख ग घ च छ ज झ ञ ट ठ ड {ड\u093C} ढ ण त थ द ध न प फ"
        " ब भ म य र ल ळ व श ष स ह]"
    }
    LocaleScript{
        "Deva",
    }
    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{"deva"}
    }
    Version{"2.0.98.52"}
    calendar{
        generic{
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, MMMM d, y G",
                "MMMM d, y G",
                "MMM d, y G",
                "M/d/yy GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                GGGGyMMMMEEEEdd{"EEEE,dd MMMM GGGGy"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, M/d"}
                MMM{"LLL"}
                MMMEd{"E, MMM d"}
                MMMMEd{"E, MMMM d"}
                MMMMd{"MMMM d"}
                MMMd{"d-MMM"}
                Md{"M/d"}
                d{"d"}
                hm{"h:mm a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"E, M/d/y"}
                yMMM{"MMM y"}
                yMMMEd{"E, MMM d, y"}
                yMMMM{"MMMM y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
        }
        gregorian{
            AmPmMarkers{
                "फुं",
                "बेलासे",
            }
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, MMMM d, y",
                "MMMM d, y",
                "MMM d, y",
                "M/d/yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                GGGGyMMMMEEEEdd{"EEEE,dd MMMM GGGGy"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, M/d"}
                MMM{"LLL"}
                MMMEd{"E, MMM d"}
                MMMMEd{"E, MMMM d"}
                MMMMd{"MMMM d"}
                MMMd{"d-MMM"}
                Md{"M/d"}
                d{"d"}
                hm{"h:mm a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"E, M/d/y"}
                yMMM{"MMM y"}
                yMMMEd{"E, MMM d, y"}
                yMMMM{"MMMM y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "रबि",
                        "सम",
                        "मंगल",
                        "बुद",
                        "बिसथि",
                        "सुखुर",
                        "सुनि",
                    }
                    wide{
                        "रबिबार",
                        "समबार",
                        "मंगलबार",
                        "बुदबार",
                        "बिसथिबार",
                        "सुखुरबार",
                        "सुनिबार",
                    }
                }
                stand-alone{
                    narrow{
                        "र",
                        "स",
                        "मं",
                        "बु",
                        "बि",
                        "सु",
                        "सु",
                    }
                }
            }
            eras{
                abbreviated{
                    "ईसा.पूर्व",
                    "सन",
                }
            }
            monthNames{
                format{
                    wide{
                        "जानुवारी",
                        "फेब्रुवारी",
                        "मार्स",
                        "एफ्रिल",
                        "मे",
                        "जुन",
                        "जुलाइ",
                        "आगस्थ",
                        "सेबथेज्ब़र",
                        "अखथबर",
                        "नबेज्ब़र",
                        "दिसेज्ब़र",
                    }
                }
                stand-alone{
                    narrow{
                        "ज",
                        "फे",
                        "मा",
                        "ए",
                        "मे",
                        "जु",
                        "जु",
                        "आ",
                        "से",
                        "अ",
                        "न",
                        "दि",
                    }
                }
            }
            quarters{
                format{
                    wide{
                        "सिथासे/खोन्दोसे/बाहागोसे",
                        "खावसे/खोन्दोनै/बाहागोनै",
                        "खावथाम/खोन्दोथाम/बाहागोथाम",
                        "खावब्रै/खोन्दोब्रै/फुरा/आबुं",
                    }
                }
            }
        }
        indian{
            monthNames{
                format{
                    wide{
                        "बैसागो/बैसाग",
                        "जेथो",
                        "आसार",
                        "सावुन",
                        "भाद्र",
                        "आसिन",
                        "खाथि",
                        "आगाह्न",
                        "फुस",
                        "मागो",
                        "फागुन",
                        "सैथो",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‘"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    fields{
        day{
            dn{"सान"}
            relative{
                "-1"{"मैया"}
                "0"{"दिनै"}
                "1"{"गाबोन"}
            }
        }
        dayperiod{
            dn{"फुं/बेलासे"}
        }
        era{
            dn{"जौथाय"}
        }
        hour{
            dn{"रिंगा"}
        }
        minute{
            dn{"मिनिथ"}
        }
        month{
            dn{"दान"}
        }
        second{
            dn{"सेखेन्द"}
        }
        week{
            dn{"सबथा/हबथा"}
        }
        weekday{
            dn{"सप्ताह के दिन"}
        }
        year{
            dn{"बोसोर"}
        }
        zone{
            dn{"ओनसोल"}
        }
    }
    measurementSystemNames{
        US{"यु.एस"}
        metric{"मिथार खिलमिथार"}
    }
    units{
        duration{
            day{
                one{"{0} सान"}
                other{"{0} सान"}
            }
            hour{
                one{"{0} रिंगा"}
                other{"{0} घंटे"}
            }
            minute{
                one{"{0} मिन."}
                other{"{0} मिन."}
            }
            month{
                one{"{0} महीना"}
                other{"{0} महीने"}
            }
            second{
                one{"{0} सेकं."}
                other{"{0} सेकं."}
            }
            week{
                one{"{0} सप्ताह"}
                other{"{0} सप्ताह"}
            }
            year{
                one{"{0} साल"}
                other{"{0} साल"}
            }
        }
    }
}
