﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/or.xml
// *
// ***************************************************************************
or{
    AuxExemplarCharacters{"[\u200C\u200D]"}
    ExemplarCharacters{
        "[\u0B3C ଅ ଆ ଇ ଈ ଉ ଊ ଋ ଏ ଐ ଓ ଔ \u0B01 ଂ ଃ କ ଖ ଗ ଘ ଙ ଚ ଛ ଜ ଝ ଞ ଟ ଠ ଡ {ଡ\u0B3C}"
        " ଢ {ଢ\u0B3C} ଣ ତ ଥ ଦ ଧ ନ ପ ଫ ବ ଭ ମ ଯ ୟ ର ଲ ଳ ଵ ୱ ଶ ଷ ସ ହ ା \u0B3F ୀ \u0B41 "
        "\u0B42 \u0B43 େ ୈ ୋ ୌ \u0B4D]"
    }
    ExemplarCharactersIndex{
        "[ଅ ଆ ଇ ଈ ଉ ଊ ଋ ଏ ଐ ଓ ଔ କ ଖ ଗ ଘ ଙ ଚ ଛ ଜ ଝ ଞ ଟ ଠ ଡ ଢ ଣ ତ ଥ ଦ ଧ ନ ପ ଫ ବ ଭ ମ ଯ ର"
        " ଲ ଳ ଶ ଷ ସ ହ {କ\u0B4Dଷ}]"
    }
    NumberElements{
        default{"latn"}
        latn{
            patterns{
                currencyFormat{"¤ #,##,##0.00"}
                decimalFormat{"#,##,##0.###"}
                percentFormat{"#,##,##0%"}
            }
            symbols{
                decimal{"."}
                group{","}
            }
        }
        native{"orya"}
    }
    Version{"2.1.19.14"}
    calendar{
        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",
                "d MMM y G",
                "d-M-y GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                MMMMd{"MMMM d"}
                MMdd{"dd-MM"}
                yMM{"MM-y G"}
                yMMMM{"MMMM y G"}
                yQQQ{"QQQ y G"}
            }
        }
        gregorian{
            AmPmMarkers{
                "am",
                "pm",
            }
            AmPmMarkersNarrow{
                "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"}
                yMM{"MM-y"}
                yMMMM{"MMMM y"}
                yQQQ{"QQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "ରବି",
                        "ସୋମ",
                        "ମଙ୍ଗଳ",
                        "ବୁଧ",
                        "ଗୁରୁ",
                        "ଶୁକ୍ର",
                        "ଶନି",
                    }
                    wide{
                        "ରବିବାର",
                        "ସୋମବାର",
                        "ମଙ୍ଗଳବାର",
                        "ବୁଧବାର",
                        "ଗୁରୁବାର",
                        "ଶୁକ୍ରବାର",
                        "ଶନିବାର",
                    }
                }
                stand-alone{
                    abbreviated{
                        "ରବି",
                        "ସୋମ",
                        "ମଙ୍ଗଳ",
                        "ବୁଧ",
                        "ଗୁରୁ",
                        "ଶୁକ୍ର",
                        "ଶନି",
                    }
                    narrow{
                        "ର",
                        "ସୋ",
                        "ମ",
                        "ବୁ",
                        "ଗୁ",
                        "ଶୁ",
                        "ଶ",
                    }
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "ଜାନୁଆରୀ",
                        "ଫେବୃଆରୀ",
                        "ମାର୍ଚ୍ଚ",
                        "ଅପ୍ରେଲ",
                        "ମଇ",
                        "ଜୁନ",
                        "ଜୁଲାଇ",
                        "ଅଗଷ୍ଟ",
                        "ସେପ୍ଟେମ୍ବର",
                        "ଅକ୍ଟୋବର",
                        "ନଭେମ୍ବର",
                        "ଡିସେମ୍ବର",
                    }
                    wide{
                        "ଜାନୁଆରୀ",
                        "ଫେବୃଆରୀ",
                        "ମାର୍ଚ୍ଚ",
                        "ଅପ୍ରେଲ",
                        "ମଇ",
                        "ଜୁନ",
                        "ଜୁଲାଇ",
                        "ଅଗଷ୍ଟ",
                        "ସେପ୍ଟେମ୍ବର",
                        "ଅକ୍ଟୋବର",
                        "ନଭେମ୍ବର",
                        "ଡିସେମ୍ବର",
                    }
                }
                stand-alone{
                    abbreviated{
                        "ଜାନୁଆରୀ",
                        "ଫେବୃଆରୀ",
                        "ମାର୍ଚ୍ଚ",
                        "ଅପ୍ରେଲ",
                        "ମଇ",
                        "ଜୁନ",
                        "ଜୁଲାଇ",
                        "ଅଗଷ୍ଟ",
                        "ସେପ୍ଟେମ୍ବର",
                        "ଅକ୍ଟୋବର",
                        "ନଭେମ୍ବର",
                        "ଡିସେମ୍ବର",
                    }
                    narrow{
                        "ଜା",
                        "ଫେ",
                        "ମା",
                        "ଅ",
                        "ମଇ",
                        "ଜୁ",
                        "ଜୁ",
                        "ଅ",
                        "ସେ",
                        "ଅ",
                        "ନ",
                        "ଡି",
                    }
                    wide{
                        "ଜାନୁଆରୀ",
                        "ଫେବୃଆରୀ",
                        "ମାର୍ଚ୍ଚ",
                        "ଅପ୍ରେଲ",
                        "ମଇ",
                        "ଜୁନ",
                        "ଜୁଲାଇ",
                        "ଅଗଷ୍ଟ",
                        "ସେପ୍ଟେମ୍ବର",
                        "ଅକ୍ଟୋବର",
                        "ନଭେମ୍ବର",
                        "ଡିସେମ୍ବର",
                    }
                }
            }
        }
    }
}
