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

ro {
    CollationElements {
	 	Version { "1.0" }
		Override { "FALSE" }
		Sequence {"& 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",
        }
    }
}
