// *******************************************************************************
// *
// *   Copyright (C) 1997-2000, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// *******************************************************************************

ro {
    CollationElements { "& A < a\u0306 , A\u0306 & D < \u0111, \u0110 & I < i\u0302"
        " , I\u0302 & S < s\u0327 , S\u0327 & \u00DE < t\u0327 , T\u0327& Z < z\u0307 , "
        "Z\u0307 " }
    Countries { 
        RO { "Rom\u00E2nia" }
    }
    DateTimePatterns { 
            "HH:mm:ss z",
            "HH:mm:ss z",
            "HH:mm:ss",
            "HH:mm",
            "dd MMMM yyyy",
            "dd MMMM yyyy",
            "dd.MM.yyyy",
            "dd.MM.yyyy",
            "{1} {0}",
    }
    DayAbbreviations { 
            "D",
            "L",
            "Ma",
            "Mi",
            "J",
            "V",
            "S",
    }
    DayNames { 
            "duminic\u0103",
            "luni",
            "mar\u0163i",
            "miercuri",
            "joi",
            "vineri",
            "s\u00EEmb\u0103t\u0103",
    }
    Eras { 
            "d.C.",
            "\u00EE.d.C.",
    }
    Languages { 
        ro { "rom\u00E2n\u0103" }
    }
    LocaleID { "0418" }
    LocaleString { "ro" }
    MonthAbbreviations { 
            "Ian",
            "Feb",
            "Mar",
            "Apr",
            "Mai",
            "Iun",
            "Iul",
            "Aug",
            "Sep",
            "Oct",
            "Nov",
            "Dec",
            "",
    }
    MonthNames { 
            "ianuarie",
            "februarie",
            "martie",
            "aprilie",
            "mai",
            "iunie",
            "iulie",
            "august",
            "septembrie",
            "octombrie",
            "noiembrie",
            "decembrie",
            "",
    }
    NumberElements { 
            ",",
            ".",
            ";",
            "%",
            "0",
            "#",
            "-",
            "E",
            "\u2030",
            "\u221E",
            "\uFFFD",
    }
    ShortLanguage { "ron" }
    localPatternChars { "GanjkHmsSEDFwWxhKzAe" }
    zoneStrings { 
        {
                "Africa/Casablanca",
                "GMT",
                "GMT",
                "GMT",
                "GMT",
        }
    }
}
