﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/es_GT.xml
// *
// ***************************************************************************
es_GT{
    %%Parent{"es_419"}
    Version{"2.1.20.32"}
    units{
        duration{
            day{
                per{"{0} al día"}
            }
            month{
                per{"{0} al mes"}
            }
            year{
                per{"{0} al 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"}
            }
        }
        length{
            mile-scandinavian{
                dnam{"milla escandinava"}
            }
        }
        power{
            horsepower{
                one{"{0} caballos de fuerza"}
                other{"{0} caballos de fuerza"}
            }
        }
        volume{
            cubic-centimeter{
                per{"{0} por pie cúbico"}
            }
        }
    }
    unitsNarrow{
        duration{
            hour{
                dnam{"hora"}
            }
        }
    }
    unitsShort{
        electric{
            volt{
                dnam{"voltios"}
            }
        }
        length{
            foot{
                dnam{"pie"}
            }
        }
        power{
            watt{
                dnam{"vatios"}
            }
        }
        proportion{
            karat{
                one{"{0} ct"}
                other{"{0} ct"}
            }
        }
        volume{
            acre-foot{
                dnam{"acre pie"}
            }
        }
    }
}
