# Esperanto translation of popt
# Copyright (C) 2008 Felipe Castro
# This file is put in the public domain.
# Felipe Castro <fefcas@gmail.com>, 2008
msgid ""
msgstr ""
"Project-Id-Version: popt 1.14\n"
"Report-Msgid-Bugs-To: <popt-devel@rpm5.org>\n"
"POT-Creation-Date: 2010-02-17 13:35-0500\n"
"PO-Revision-Date: 2008-08-03 15:50-0300\n"
"Last-Translator: Felipe Castro <fefcas@gmail.com>\n"
"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: popt.c:47
msgid "unknown errno"
msgstr "nekonata erarnumero"

#: popt.c:1290
#, c-format
msgid "option type (%u) not implemented in popt\n"
msgstr "la opcia tipo (%u) ne estas realigita en popt\n"

#: popt.c:1711
msgid "missing argument"
msgstr "mankas argumento"

#: popt.c:1713
msgid "unknown option"
msgstr "nekonata opcio"

#: popt.c:1715
msgid "mutually exclusive logical operations requested"
msgstr "reciprokaj logikaj operacioj estas postulataj"

#: popt.c:1717
msgid "opt->arg should not be NULL"
msgstr "opt->arg ne devus esti NULL"

#: popt.c:1719
msgid "aliases nested too deeply"
msgstr "kromnomoj estas ingitaj tro profunde"

#: popt.c:1721
msgid "error in parameter quoting"
msgstr "eraro en parametra citado"

#: popt.c:1723
msgid "invalid numeric value"
msgstr "nevalida numera valoro"

#: popt.c:1725
msgid "number too large or too small"
msgstr "numero tro granda aŭ tro eta"

#: popt.c:1727
msgid "memory allocation failed"
msgstr "malsukceso dum okupado de memoro"

#: popt.c:1729
msgid "config file failed sanity test"
msgstr ""

#: popt.c:1733
msgid "unknown error"
msgstr "nekonata eraro"

#: popthelp.c:75 popthelp.c:86
msgid "Show this help message"
msgstr "Montri tiun ĉi helpmesaĝon"

#: popthelp.c:76 popthelp.c:87
msgid "Display brief usage message"
msgstr "Montri resumitan mesaĝon pri uzado"

#: popthelp.c:90
msgid "Display option defaults in message"
msgstr "Montri la implicitajn valorojn de la opcio en la mesaĝo"

#: popthelp.c:92
msgid "Terminate options"
msgstr "Opcioj pri finiĝo"

#: popthelp.c:191
msgid "Help options:"
msgstr "Help-opcioj:"

#: popthelp.c:192
msgid "Options implemented via popt alias/exec:"
msgstr "Opcioj realigitaj per popt alias/exec:"

#: popthelp.c:200
msgid "NONE"
msgstr "NENIO"

#: popthelp.c:202
msgid "VAL"
msgstr "VAL"

#: popthelp.c:206
msgid "INT"
msgstr "INT"

#: popthelp.c:207
msgid "SHORT"
msgstr ""

#: popthelp.c:208
msgid "LONG"
msgstr "LONG"

#: popthelp.c:209
msgid "LONGLONG"
msgstr "LONGLONG"

#: popthelp.c:210
msgid "STRING"
msgstr "STRING"

#: popthelp.c:211
msgid "FLOAT"
msgstr "FLOAT"

#: popthelp.c:212
msgid "DOUBLE"
msgstr "DOUBLE"

#: popthelp.c:215
msgid "ARG"
msgstr "ARG"

#: popthelp.c:649
msgid "Usage:"
msgstr "Uzado:"

#: popthelp.c:672
msgid "[OPTION...]"
msgstr "[OPCIO...]"
