﻿// ***************************************************************************
// *
// * Copyright (C) 2006 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]"}
    Countries{
        IN{"ଭାରତ"}
    }
    ExemplarCharacters{"[ଅ-ଋ ଏ ଐ ଓ-ନ ପ-ର ଲ ଳ ଶ-ହ ୟ ୱ ଵ ଂ ଃ ଁ ୍ ଼ ା-ୃ େ ୈ ୋ ୌ]"}
    Languages{
        or{"ଓଡ଼ିଆ"}
    }
    LocaleScript{
        "Orya",
    }
    Version{"1.27"}
    calendar{
        gregorian{
            dayNames{
                format{
                    abbreviated{
                        "ରବି",
                        "ସୋମ",
                        "ମଙ୍ଗଳ",
                        "ବୁଧ",
                        "ଗୁରୁ",
                        "ଶୁକ୍ର",
                        "ଶନି",
                    }
                    wide{
                        "ରବିବାର",
                        "ସୋମବାର",
                        "ମଙ୍ଗଳବାର",
                        "ବୁଧବାର",
                        "ଗୁରୁବାର",
                        "ଶୁକ୍ରବାର",
                        "ଶନିବାର",
                    }
                }
            }
            monthNames{
                format{
                    wide{
                        "ଜାନୁଆରୀ",
                        "ଫେବ୍ରୁୟାରୀ",
                        "ମାର୍ଚ୍ଚ",
                        "ଅପ୍ରେଲ",
                        "ମେ",
                        "ଜୁନ",
                        "ଜୁଲାଇ",
                        "ଅଗଷ୍ଟ",
                        "ସେପ୍ଟେମ୍ବର",
                        "ଅକ୍ଟୋବର",
                        "ନଭେମ୍ବର",
                        "ଡିସେମ୍ବର",
                    }
                }
            }
        }
    }
}
