﻿// ***************************************************************************
// *
// * Copyright (C) 2016 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/es_DO.xml
// *
// ***************************************************************************
es_DO{
    %%Parent{"es_419"}
    Version{"2.1.22.17"}
    units{
        electric{
            ampere{
                dnam{"amperios"}
                one{"{0} amperio"}
                other{"{0} amperios"}
            }
            milliampere{
                dnam{"miliamperios"}
                one{"{0} miliamperio"}
                other{"{0} miliamperios"}
            }
            ohm{
                one{"{0} ohmio"}
                other{"{0} ohmios"}
            }
            volt{
                one{"{0} voltio"}
                other{"{0} voltios"}
            }
        }
    }
    unitsNarrow{
        duration{
            day{
                one{"{0}d."}
                other{"{0}d."}
            }
            month{
                one{"{0}m."}
                other{"{0}m."}
            }
        }
    }
    unitsShort{
        duration{
            day{
                dnam{"d."}
            }
            second{
                dnam{"seg."}
                one{"{0} seg."}
                other{"{0} seg."}
            }
        }
        electric{
            volt{
                dnam{"voltios"}
            }
        }
        power{
            watt{
                dnam{"vatios"}
            }
        }
    }
}
