﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/ro_MD.xml
// *
// ***************************************************************************
ro_MD{
    Version{"2.1.19.14"}
    calendar{
        gregorian{
            dayNames{
                format{
                    abbreviated{
                        "Dum",
                        "Lun",
                        "Mar",
                        "Mie",
                        "Joi",
                        "Vin",
                        "Sâm",
                    }
                    narrow{
                        "D",
                        "L",
                        "Ma",
                        "Mi",
                        "J",
                        "V",
                        "S",
                    }
                    short{
                        "Du",
                        "Lu",
                        "Ma",
                        "Mi",
                        "Jo",
                        "Vi",
                        "Sâ",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Dum",
                        "Lun",
                        "Mar",
                        "Mie",
                        "Joi",
                        "Vin",
                        "Sâm",
                    }
                    narrow{
                        "D",
                        "L",
                        "Ma",
                        "Mi",
                        "J",
                        "V",
                        "S",
                    }
                    short{
                        "Du",
                        "Lu",
                        "Ma",
                        "Mi",
                        "Jo",
                        "Vi",
                        "Sâ",
                    }
                }
            }
            dayPeriod{
                format{
                    narrow{
                        afternoon1{"după-amiază"}
                        evening1{"seară"}
                        midnight{"miezul nopții"}
                        morning1{"dimineață"}
                        night1{"noapte"}
                        noon{"amiază"}
                    }
                    wide{
                        afternoon1{"după-amiaza"}
                        evening1{"seara"}
                        midnight{"miezul nopții"}
                        morning1{"dimineața"}
                        night1{"noaptea"}
                        noon{"amiază"}
                    }
                }
            }
            eras{
                abbreviated%variant{
                    "î.e.n.",
                    "e.n.",
                }
            }
            quarters{
                format{
                    abbreviated{
                        "trim. 1",
                        "trim. 2",
                        "trim. 3",
                        "trim. 4",
                    }
                    wide{
                        "trimestrul 1",
                        "trimestrul 2",
                        "trimestrul 3",
                        "trimestrul 4",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Trim. 1",
                        "Trim. 2",
                        "Trim. 3",
                        "Trim. 4",
                    }
                    wide{
                        "Trimestrul 1",
                        "Trimestrul 2",
                        "Trimestrul 3",
                        "Trimestrul 4",
                    }
                }
            }
        }
    }
}
