﻿// ***************************************************************************
// *
// * Copyright (C) 2016 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/es_AR.xml
// *
// ***************************************************************************
es_AR{
    %%Parent{"es_419"}
    Version{"2.1.22.17"}
    units{
        duration{
            year{
                per{"{0}/año"}
            }
        }
        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"}
            }
        }
        energy{
            joule{
                dnam{"julios"}
                one{"{0} julio"}
                other{"{0} julios"}
            }
            kilojoule{
                dnam{"kilojulios"}
                one{"{0} kilojulio"}
                other{"{0} kilojulios"}
            }
        }
    }
    unitsNarrow{
        duration{
            second{
                dnam{"seg."}
                one{"{0}seg."}
                other{"{0}seg."}
            }
            year{
                one{"{0}a."}
                other{"{0}a."}
            }
        }
    }
    unitsShort{
        duration{
            century{
                dnam{"s"}
                one{"{0} s"}
                other{"{0} s"}
            }
            hour{
                dnam{"hs."}
            }
            second{
                dnam{"seg."}
                one{"{0} seg."}
                other{"{0} seg."}
                per{"{0}/seg."}
            }
            year{
                dnam{"años"}
                one{"{0} año"}
                other{"{0} años"}
            }
        }
        electric{
            volt{
                dnam{"voltios"}
            }
        }
        power{
            watt{
                dnam{"vatios"}
            }
        }
    }
}
