﻿// ***************************************************************************
// *
// * Copyright (C) 2010 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/or.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/or.xml
 */
or{
    AuxExemplarCharacters{"[\u200C \u200D]"}
    ExemplarCharacters{
        "[ଅ ଆ ଇ ଈ ଉ ଊ ଋ ଏ ଐ ଓ ଔ କ ଖ ଗ ଘ ଙ ଚ ଛ ଜ ଝ ଞ ଟ ଠ ଡ ଢ ଣ ତ ଥ ଦ ଧ ନ ପ ଫ ବ ଭ ମ ଯ ର"
        " ଲ ଳ ଶ ଷ ସ ହ {ଡ\u0B3C} {ଢ\u0B3C} ୟ ୱ ଵ ଂ ଃ \u0B01 \u0B4D \u0B3C ା \u0B3F ୀ "
        "\u0B41 \u0B42 \u0B43 େ ୈ ୋ ୌ]"
    }
    ExemplarCharactersIndex{
        "[ଅ ଆ ଇ ଈ ଉ ଊ ଋ ଏ ଐ ଓ ଔ କ ଖ ଗ ଘ ଙ ଚ ଛ ଜ ଝ ଞ ଟ ଠ ଡ ଢ ଣ ତ ଥ ଦ ଧ ନ ପ ଫ ବ ଭ ମ ଯ ର"
        " ଲ ଳ ଶ ଷ ସ ହ {କ୍ଷ}]"
    }
    LocaleScript{
        "Orya",
    }
    NumberElements{
        ".",
        ",",
        ";",
        "%",
        "୦",
        "#",
        "-",
        "E",
        "‰",
        "∞",
        "NaN",
        "+",
    }
    NumberPatterns{
        "#,##,##0.###",
        "¤ #,##,##0.00",
        "#,##,##0%",
        "#E0",
    }
    Version{"2.0.47.70"}
    calendar{
        gregorian{
            AmPmMarkers{
                "am",
                "pm",
            }
            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",
                "d MMM y",
                "d-M-yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                MMMMd{"MMMM d"}
                MMdd{"dd-MM"}
                yyQ{"Q yy"}
                yyyyMM{"MM-yyyy"}
                yyyyMMMM{"MMMM y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "ରବି",
                        "ସୋମ",
                        "ମଙ୍ଗଳ",
                        "ବୁଧ",
                        "ଗୁରୁ",
                        "ଶୁକ୍ର",
                        "ଶନି",
                    }
                    wide{
                        "ରବିବାର",
                        "ସୋମବାର",
                        "ମଙ୍ଗଳବାର",
                        "ବୁଧବାର",
                        "ଗୁରୁବାର",
                        "ଶୁକ୍ରବାର",
                        "ଶନିବାର",
                    }
                }
                stand-alone{
                    narrow{
                        "ର",
                        "ସୋ",
                        "ମ",
                        "ବୁ",
                        "ଗୁ",
                        "ଶୁ",
                        "ଶ",
                    }
                }
            }
            monthNames{
                format{
                    wide{
                        "ଜାନୁଆରୀ",
                        "ଫେବ୍ରୁୟାରୀ",
                        "ମାର୍ଚ୍ଚ",
                        "ଅପ୍ରେଲ",
                        "ମେ",
                        "ଜୁନ",
                        "ଜୁଲାଇ",
                        "ଅଗଷ୍ଟ",
                        "ସେପ୍ଟେମ୍ବର",
                        "ଅକ୍ଟୋବର",
                        "ନଭେମ୍ବର",
                        "ଡିସେମ୍ବର",
                    }
                }
                stand-alone{
                    narrow{
                        "ଜା",
                        "ଫେ",
                        "ମା",
                        "ଅ",
                        "ମେ",
                        "ଜୁ",
                        "ଜୁ",
                        "ଅ",
                        "ସେ",
                        "ଅ",
                        "ନ",
                        "ଡି",
                    }
                }
            }
        }
    }
    defaultNumberingSystem{"orya"}
}
