﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/my.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/my.xml
 */
my{
    AuxExemplarCharacters{"[ၐ ၑ ဨ ဢ ၒ ၓ ၔ ၕ ၖ ၗ \u1058 \u1059]"}
    ExemplarCharacters{
        "[က ခ ဂ ဃ င စ ဆ ဇ ဈ ဉ ည ဋ ဌ ဍ ဎ ဏ တ ထ ဒ ဓ န ပ ဖ ဗ ဘ မ ယ ရ လ ဝ သ ဟ ဠ အ ဣ ဤ ဥ ဦ"
        " ဧ ဩ ဪ ာ ါ \u102D \u102E \u102F \u1030 ေ \u1032 \u1036 ဿ ျ ြ \u103D \u103E "
        "\u1039 \u103A \u1037 း]"
    }
    ExemplarCharactersIndex{"[က ခ ဂ ဃ င စ ဆ ဇ ဈ ဉ ည ဋ ဌ ဍ ဎ ဏ တ ထ ဒ ဓ န ပ ဖ ဗ ဘ မ ယ ရ လ ဝ သ ဟ ဠ အ]"}
    LocaleScript{
        "Mymr",
    }
    NumberElements{
        default{"mymr"}
        latn{
            patterns{
                currencyFormat{"¤ #,##0.00"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
                scientificFormat{"#E0"}
            }
            symbols{
                decimal{"."}
                group{","}
                list{";"}
            }
        }
        mymr{
            symbols{
                list{"၊"}
            }
        }
        native{"mymr"}
    }
    Version{"2.0.82.45"}
    calendar{
        generic{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, G y MMMM dd",
                "G y MMMM d",
                "G y MMM d",
                "GGGGG yy/MM/dd",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E, d"}
                H{"HH"}
                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{"MMM d"}
                Md{"M/d"}
                d{"d"}
                ms{"mm:ss"}
                y{"y"}
                yM{"y/M"}
                yMEd{"E, y/M/d"}
                yMMM{"y MMM"}
                yMMMEd{"E, y MMM d"}
                yMMMM{"y MMMM"}
                yQQQ{"y QQQ"}
                yQQQQ{"y QQQQ"}
            }
            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{"EEEE၊ M/d – EEEE၊ M/d"}
                    d{"EEEE၊ M/d – EEEE၊ M/d"}
                }
                MMM{
                    M{"MMM – MMM"}
                }
                MMMEd{
                    M{"MMM d၊ EEEE – MMM d၊ EEEE"}
                    d{"MMM d၊ EEEE – MMM d၊ EEEE"}
                }
                MMMd{
                    M{"MMM d – MMM d"}
                    d{"MMM d – MMM d"}
                }
                Md{
                    M{"M/d – M/d"}
                    d{"M/d – M/d"}
                }
                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{"y/M – y/M"}
                    y{"y/M – y/M"}
                }
                yMEd{
                    M{"EEEE၊ y/M/d – EEEE၊ y/M/d"}
                    d{"EEEE၊ y/M/d – EEEE၊ y/M/d"}
                    y{"EEEE၊ y/M/d – EEEE၊ y/M/d"}
                }
                yMMM{
                    M{"y MMM – y MMM"}
                    y{"y MMM – y MMM"}
                }
                yMMMEd{
                    M{"y၊ MMM d၊ EEEE – MMM d၊ EEEE"}
                    d{"y၊ MMM d၊ EEEE – MMM d၊ EEEE"}
                    y{"y၊ MMM d၊ EEEE – y၊ MMM d၊ EEEE"}
                }
                yMMMd{
                    M{"y၊ MMM d – MMM d"}
                    y{"y MMM d – y MMM d"}
                }
                yMd{
                    M{"y/M/d – y/M/d"}
                    d{"y/M/d – y/M/d"}
                    y{"y/M/d – y/M/d"}
                }
            }
        }
        gregorian{
            AmPmMarkers{
                "နံနက်",
                "ညနေ",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, y MMMM dd",
                "y MMMM d",
                "y MMM d",
                "yy/MM/dd",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E, d"}
                H{"HH"}
                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{"MMM d"}
                Md{"M/d"}
                d{"d"}
                ms{"mm:ss"}
                y{"y"}
                yM{"y/M"}
                yMEd{"E, y/M/d"}
                yMMM{"y MMM"}
                yMMMEd{"E, y MMM d"}
                yMMMM{"y MMMM"}
                yQQQ{"y QQQ"}
                yQQQQ{"y QQQQ"}
            }
            dayNames{
                format{
                    abbreviated{
                        "နွေ",
                        "လာ",
                        "ဂါ",
                        "ဟူး",
                        "တေး",
                        "ကြာ",
                        "နေ",
                    }
                    wide{
                        "တနင်္ဂနွေ",
                        "တနင်္လာ",
                        "အင်္ဂါ",
                        "ဗုဒ္ဓဟူး",
                        "ကြာသပတေး",
                        "သောကြာ",
                        "စနေ",
                    }
                }
                stand-alone{
                    narrow{
                        "တ",
                        "တ",
                        "အ",
                        "ဗ",
                        "က",
                        "သ",
                        "စ",
                    }
                }
            }
            eras{
                abbreviated{
                    "ဘီစီ",
                    "အေဒီ",
                }
                wide{
                    "ခရစ်တော် မပေါ်မီကာလ",
                    "ခရစ်တော် ပေါ်ထွန်းပြီးကာလ",
                }
            }
            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{"EEEE၊ M/d – EEEE၊ M/d"}
                    d{"EEEE၊ M/d – EEEE၊ M/d"}
                }
                MMM{
                    M{"MMM – MMM"}
                }
                MMMEd{
                    M{"MMM d၊ EEEE – MMM d၊ EEEE"}
                    d{"MMM d၊ EEEE – MMM d၊ EEEE"}
                }
                MMMd{
                    M{"MMM d – MMM d"}
                    d{"MMM d – MMM d"}
                }
                Md{
                    M{"M/d – M/d"}
                    d{"M/d – M/d"}
                }
                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{"y/M – y/M"}
                    y{"y/M – y/M"}
                }
                yMEd{
                    M{"EEEE၊ y/M/d – EEEE၊ y/M/d"}
                    d{"EEEE၊ y/M/d – EEEE၊ y/M/d"}
                    y{"EEEE၊ y/M/d – EEEE၊ y/M/d"}
                }
                yMMM{
                    M{"y MMM – y MMM"}
                    y{"y MMM – y MMM"}
                }
                yMMMEd{
                    M{"y၊ MMM d၊ EEEE – MMM d၊ EEEE"}
                    d{"y၊ MMM d၊ EEEE – MMM d၊ EEEE"}
                    y{"y၊ MMM d၊ EEEE – y၊ MMM d၊ EEEE"}
                }
                yMMMd{
                    M{"y၊ MMM d – MMM d"}
                    y{"y MMM d – y MMM d"}
                }
                yMd{
                    M{"y/M/d – y/M/d"}
                    d{"y/M/d – y/M/d"}
                    y{"y/M/d – y/M/d"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "ဇန်",
                        "ဖေ",
                        "မတ်",
                        "ဧ",
                        "မေ",
                        "ဇွန်",
                        "ဇူ",
                        "ဩ",
                        "စက်",
                        "အောက်",
                        "နို",
                        "ဒီ",
                    }
                    wide{
                        "ဇန်နဝါရီ",
                        "ဖေဖော်ဝါရီ",
                        "မတ်",
                        "ဧပြီ",
                        "မေ",
                        "ဇွန်",
                        "ဇူလိုင်",
                        "ဩဂုတ်",
                        "စက်တင်ဘာ",
                        "အောက်တိုဘာ",
                        "နိုဝင်ဘာ",
                        "ဒီဇင်ဘာ",
                    }
                }
                stand-alone{
                    narrow{
                        "ဇ",
                        "ဖ",
                        "မ",
                        "ဧ",
                        "မ",
                        "ဇ",
                        "ဇ",
                        "ဩ",
                        "စ",
                        "အ",
                        "န",
                        "ဒ",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "ပ-စိတ်",
                        "ဒု-စိတ်",
                        "တ-စိတ်",
                        "စ-စိတ်",
                    }
                    wide{
                        "ပထမ သုံးလပတ်",
                        "ဒုတိယ သုံးလပတ်",
                        "တတိယ သုံးလပတ်",
                        "စတုတ္ထ သုံးလပတ်",
                    }
                }
                stand-alone{
                    narrow{
                        "ပ",
                        "ဒု",
                        "တ",
                        "စ",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‘"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    fields{
        day{
            dn{"ရက်"}
            relative{
                "-1"{"မနေ့က"}
                "-2"{"တနေ့က"}
                "0"{"ယနေ့"}
                "1"{"မနက်ဖြန်"}
                "2"{"သဘက်ခါ"}
            }
        }
        era{
            dn{"ခေတ်"}
        }
        hour{
            dn{"နာရီ"}
        }
        minute{
            dn{"မိနစ်"}
        }
        month{
            dn{"လ"}
        }
        second{
            dn{"စက္ကန့်"}
        }
        week{
            dn{"ပတ်"}
        }
        weekday{
            dn{"နေ့"}
        }
        year{
            dn{"နှစ်"}
        }
    }
    measurementSystemNames{
        US{"အမေရိကန်စနစ်"}
        metric{"မက်ထရစ်စနစ်"}
    }
    units{
        day{
            other{"{0} ရက်"}
        }
        hour{
            other{"{0} နာရီ"}
        }
        minute{
            other{"{0} မိနစ်"}
        }
        month{
            other{"{0} လ"}
        }
        second{
            other{"{0} စက္ကန့်"}
        }
        week{
            other{"{0} ပတ်"}
        }
        year{
            other{"{0} နှစ်"}
        }
    }
}
