﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/es_419.xml
// *
// ***************************************************************************
es_419{
    Version{"2.1.14.95"}
    unitsNarrow{
        duration{
            day{
                dnam{"d."}
                one{"{0}d."}
                other{"{0}dd."}
            }
            month{
                dnam{"m."}
                one{"{0}m."}
                other{"{0}mm."}
            }
            week{
                dnam{"sem."}
                one{"{0}sem."}
                other{"{0}sems."}
            }
            year{
                dnam{"a."}
                one{"{0}a."}
                other{"{0}aa."}
            }
        }
    }
    unitsShort{
        duration{
            day{
                dnam{"dd."}
                one{"{0} d."}
                other{"{0} dd."}
            }
            month{
                dnam{"mm."}
                one{"{0} m."}
                other{"{0} mm."}
            }
            week{
                dnam{"sems."}
                one{"{0} sem."}
                other{"{0} sems."}
            }
            year{
                dnam{"aa."}
                one{"{0} a."}
                other{"{0} aa."}
            }
        }
        length{
            light-year{
                dnam{"aa. l."}
                one{"{0} a. l."}
                other{"{0} aa. l."}
            }
            nautical-mile{
                dnam{"nmi"}
                one{"{0} nmi"}
                other{"{0} nmi"}
            }
        }
    }
}
