# -*- mode:po; coding:utf-8; -*- Slovenian messages for GNU gettext-runtime
# Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2005, 2006, 2007, 2011, 2013, 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Primož Peterlin <primozz.peterlin@gmail.com>, 1996, 1999-2002, 2005-2007, 2011, 2013, 2015.
#
# $Id: gettext-runtime-0.19.4.73.sl.po,v 1.1 2015/06/28 08:38:59 peterlin Exp $
#
msgid ""
msgstr ""
"Project-Id-Version: GNU gettext-runtime 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gettext@gnu.org\n"
"POT-Creation-Date: 2020-07-26 21:56+0200\n"
"PO-Revision-Date: 2015-06-28 10:38+0200\n"
"Last-Translator: Primoz PETERLIN <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n"
"%100==4 ? 3 : 0);\n"

#: gnulib-lib/closeout.c:66
msgid "write error"
msgstr "napaka pri pisanju"

#: gnulib-lib/error.c:195
msgid "Unknown system error"
msgstr "Neznana sistemska napaka"

#: gnulib-lib/getopt.c:278
#, fuzzy, c-format
#| msgid "%s: option '%s' is ambiguous\n"
msgid "%s: option '%s%s' is ambiguous\n"
msgstr "%s: izbira '%s' ni enopomenska\n"

#: gnulib-lib/getopt.c:284
#, fuzzy, c-format
#| msgid "%s: option '%s' is ambiguous; possibilities:"
msgid "%s: option '%s%s' is ambiguous; possibilities:"
msgstr "%s: izbira '%s ni enopomenska; možnosti so:"

#: gnulib-lib/getopt.c:319
#, fuzzy, c-format
#| msgid "%s: unrecognized option '%c%s'\n"
msgid "%s: unrecognized option '%s%s'\n"
msgstr "%s: neprepoznana izbira '%c%s'\n"

#: gnulib-lib/getopt.c:345
#, fuzzy, c-format
#| msgid "%s: option '%c%s' doesn't allow an argument\n"
msgid "%s: option '%s%s' doesn't allow an argument\n"
msgstr "%s: izbira '%c%s' ne dovoljuje argumenta\n"

#: gnulib-lib/getopt.c:360
#, fuzzy, c-format
#| msgid "%s: option '--%s' requires an argument\n"
msgid "%s: option '%s%s' requires an argument\n"
msgstr "%s: izbira '--%s' zahteva argument\n"

#: gnulib-lib/getopt.c:621
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: neveljavna izbira -- '%c'\n"

#: gnulib-lib/getopt.c:636 gnulib-lib/getopt.c:682
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: izbira zahteva argument -- '%c'\n"

#: gnulib-lib/xmalloc.c:38
#, c-format
msgid "memory exhausted"
msgstr "zmanjkalo pomnilnika"

#: src/envsubst.c:110 src/gettext.c:135 src/ngettext.c:124
#, fuzzy, c-format, no-wrap
#| msgid ""
#| "Copyright (C) %s Free Software Foundation, Inc.\n"
#| "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
#| "This is free software: you are free to change and redistribute it.\n"
#| "There is NO WARRANTY, to the extent permitted by law.\n"
msgid ""
"Copyright (C) %s Free Software Foundation, Inc.\n"
"License GPLv3+: GNU GPL version 3 or later <%s>\n"
"This is free software: you are free to change and redistribute it.\n"
"There is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
"Copyright (C) %s Free Software Foundation, Inc.\n"
"GPLv3+: GNU GPL različica 3 ali kasnejše, http://gnu.org/licences/gpl.html\n"
"To je prost program; smete ga spreminjati in deliti z drugimi.\n"
"Za program ni NOBENEGA JAMSTVA do zakonsko podanih omejitev.\n"

#: src/envsubst.c:116 src/gettext.c:141 src/ngettext.c:130
#, c-format
msgid "Written by %s.\n"
msgstr "Avtor %s.\n"

#. This is a proper name. See the gettext manual, section Names.
#: src/envsubst.c:116
msgid "Bruno Haible"
msgstr "Bruno Haible"

#: src/envsubst.c:125 src/gettext.c:159 src/ngettext.c:142
#, c-format
msgid "too many arguments"
msgstr "preveč argumentov"

#: src/envsubst.c:136 src/gettext.c:169 src/ngettext.c:154
#, c-format
msgid "missing arguments"
msgstr "argumenti manjkajo"

#: src/envsubst.c:174 src/gettext.c:246 src/ngettext.c:211
#, c-format
msgid "Try '%s --help' for more information.\n"
msgstr "Poskusite »%s --help« za izčrpnejša navodila\n"

#: src/envsubst.c:179
#, c-format, no-wrap
msgid "Usage: %s [OPTION] [SHELL-FORMAT]\n"
msgstr "Uporaba: %s [IZBIRA] [UKAZNA-LUPINA]\n"

#: src/envsubst.c:184
#, c-format, no-wrap
msgid "Substitutes the values of environment variables.\n"
msgstr "Zamenja vrednosti spremenljivk okolja.\n"

#: src/envsubst.c:188
#, c-format, no-wrap
msgid "Operation mode:\n"
msgstr "Način delovanja:\n"

#: src/envsubst.c:191
#, c-format, no-wrap
msgid "  -v, --variables             output the variables occurring in SHELL-FORMAT\n"
msgstr "  -v, --variables             izpiši spremenljivke v OBLIKI-SPREMENLJIVKE-OKOLJA\n"

#: src/envsubst.c:195 src/gettext.c:275 src/ngettext.c:241
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "Informativni izpis:\n"

#: src/envsubst.c:198
#, c-format, no-wrap
msgid "  -h, --help                  display this help and exit\n"
msgstr "  -h, --help                  ta navodila\n"

#: src/envsubst.c:201
#, c-format, no-wrap
msgid "  -V, --version               output version information and exit\n"
msgstr "  -V, --version               različica programa\n"

#: src/envsubst.c:205
#, c-format, no-wrap
msgid ""
"In normal operation mode, standard input is copied to standard output,\n"
"with references to environment variables of the form $VARIABLE or ${VARIABLE}\n"
"being replaced with the corresponding values.  If a SHELL-FORMAT is given,\n"
"only those environment variables that are referenced in SHELL-FORMAT are\n"
"substituted; otherwise all environment variables references occurring in\n"
"standard input are substituted.\n"
msgstr ""
"V običajnem načinu delovanje se standardni vhod prepiše na standardni izhod,\n"
"pri čemer se sklici na spremenljivke okolja v obliki $SPREMENLJIVKA ali\n"
"${SPREMENLJIVKA} nadomestijo z njihovimi vrednostmi. Če je podana UKAZNA-LUPINA,\n"
"se z vrednostmi nadomestijo le spremenljivke, navedene v njej, sicer pa se\n"
"s svojimi vrednostmi nadomestijo vse spremenljivke na standardnem vhodu.\n"

#: src/envsubst.c:214
#, c-format, no-wrap
msgid ""
"When --variables is used, standard input is ignored, and the output consists\n"
"of the environment variables that are referenced in SHELL-FORMAT, one per line.\n"
msgstr ""
"Če je podana izbira --variables, program ne bere s standardnega vhoda, ampak iz\n"
"datoteke UKAZNA-LUPINA, kjer so po ena v vrstici navedene spremenljivke okolja.\n"

#. TRANSLATORS: The first placeholder is the web address of the Savannah
#. project of this package.  The second placeholder is the bug-reporting
#. email address for this package.  Please add _another line_ saying
#. "Report translation bugs to <...>\n" with the address for translation
#. bugs (typically your translation team's web or email address).
#: src/envsubst.c:223 src/gettext.c:299 src/ngettext.c:262
#, c-format
msgid ""
"Report bugs in the bug tracker at <%s>\n"
"or by email to <%s>.\n"
msgstr ""

#: src/envsubst.c:451
#, c-format
msgid "error while reading \"%s\""
msgstr "napaka pri branju \"%s\""

#: src/envsubst.c:451
msgid "standard input"
msgstr "standardni vhod"

#. This is a proper name. See the gettext manual, section Names.
#: src/gettext.c:141 src/ngettext.c:130
msgid "Ulrich Drepper"
msgstr "Ulrich Drepper"

#: src/gettext.c:251
#, c-format, no-wrap
msgid ""
"Usage: %s [OPTION] [[TEXTDOMAIN] MSGID]\n"
"or:    %s [OPTION] -s [MSGID]...\n"
msgstr ""
"Uporaba: %s [IZBIRA] [[DOMENA] MSGID]\n"
"ali:     %s [IZBIRA] -s [MSGID]...\n"

#: src/gettext.c:257
#, c-format, no-wrap
msgid "Display native language translation of a textual message.\n"
msgstr "Prikaz prevoda tekstovnega sporočila.\n"

#: src/gettext.c:261
#, c-format, no-wrap
msgid "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
msgstr ""

#: src/gettext.c:263 src/ngettext.c:228
#, c-format
msgid "  -c, --context=CONTEXT     specify context for MSGID\n"
msgstr ""

#: src/gettext.c:265 src/ngettext.c:230
#, c-format
msgid "  -e                        enable expansion of some escape sequences\n"
msgstr ""

#: src/gettext.c:267
#, c-format
msgid "  -n                        suppress trailing newline\n"
msgstr ""

#: src/gettext.c:269 src/ngettext.c:232
#, c-format
msgid "  -E                        (ignored for compatibility)\n"
msgstr ""

#: src/gettext.c:271
#, c-format
msgid ""
"  [TEXTDOMAIN] MSGID        retrieve translated message corresponding\n"
"                            to MSGID from TEXTDOMAIN\n"
msgstr ""

#: src/gettext.c:277 src/ngettext.c:243
#, fuzzy, c-format
#| msgid "  -h, --help                  display this help and exit\n"
msgid "  -h, --help                display this help and exit\n"
msgstr "  -h, --help                  ta navodila\n"

#: src/gettext.c:279 src/ngettext.c:245
#, fuzzy, c-format
#| msgid "  -V, --version               output version information and exit\n"
msgid "  -V, --version             display version information and exit\n"
msgstr "  -V, --version               različica programa\n"

#: src/gettext.c:283
#, c-format, no-wrap
msgid ""
"If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
"environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
"regular directory, another location can be specified with the environment\n"
"variable TEXTDOMAINDIR.\n"
"When used with the -s option the program behaves like the 'echo' command.\n"
"But it does not simply copy its arguments to stdout.  Instead those messages\n"
"found in the selected catalog are translated.\n"
"Standard search directory: %s\n"
msgstr ""
"Če parameter DOMENA ni podan, se uporabi vrednost spremenljivke TEXTDOMAIN\n"
"iz okolja. Če kataloga sporočil ni moč najti na običajnem mestu, lahko \n"
"določimo alternativno lokacijo s spremenljivko TEXTDOMAINDIR.\n"
"Z izbiro -s se program obnaša podobno kot ukaz »echo«, s to razliko, da\n"
"na standardni izhod niso prepisani argumenti, ampak njihovi prevodi iz \n"
"kataloga sporočil.\n"
"Privzet imenik s katalogom sporočil: %s\n"

#: src/ngettext.c:216
#, c-format, no-wrap
msgid "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
msgstr "Uporaba: %s [IZBIRA] [DOMENA] MSGID MSGID-PLURAL ŠTEVEC\n"

#: src/ngettext.c:221
#, c-format, no-wrap
msgid ""
"Display native language translation of a textual message whose grammatical\n"
"form depends on a number.\n"
msgstr ""
"Prikaz prevoda besedilnega sporočila, katerega slovnična oblika je odvisna\n"
"od števila.\n"

#: src/ngettext.c:226
#, c-format, no-wrap
msgid "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
msgstr ""

#: src/ngettext.c:234
#, c-format
msgid ""
"  [TEXTDOMAIN]              retrieve translated message from TEXTDOMAIN\n"
msgstr ""

#: src/ngettext.c:236
#, c-format
msgid ""
"  MSGID MSGID-PLURAL        translate MSGID (singular) / MSGID-PLURAL "
"(plural)\n"
msgstr ""

#: src/ngettext.c:238
#, c-format
msgid ""
"  COUNT                     choose singular/plural form based on this value\n"
msgstr ""

#: src/ngettext.c:249
#, c-format, no-wrap
msgid ""
"If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
"environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
"regular directory, another location can be specified with the environment\n"
"variable TEXTDOMAINDIR.\n"
"Standard search directory: %s\n"
msgstr ""
"Če parameter DOMENA ni podan, se uporabi vrednost spremenljivke TEXTDOMAIN\n"
"iz okolja. Če kataloga sporočil ni moč najti na običajnem mestu, lahko \n"
"določimo alternativno lokacijo s spremenljivko TEXTDOMAINDIR.\n"
"Privzet imenik s katalogom sporočil: %s\n"

#, c-format
#~ msgid "%s: option '--%s' doesn't allow an argument\n"
#~ msgstr "%s: izbira '--%s' ne dovoljuje argumenta\n"

#, c-format
#~ msgid "%s: unrecognized option '--%s'\n"
#~ msgstr "%s: neprepoznana izbira '--%s'\n"

#, c-format
#~ msgid "%s: option '-W %s' is ambiguous\n"
#~ msgstr "%s: izbira '-W %s' ni enopomenska\n"

#, c-format
#~ msgid "%s: option '-W %s' doesn't allow an argument\n"
#~ msgstr "%s: izbira '-W %s' ne dovoljuje argumenta\n"

#, c-format
#~ msgid "%s: option '-W %s' requires an argument\n"
#~ msgstr "%s: izbira '-W %s' zahteva argument\n"

#~ msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
#~ msgstr ""
#~ "Morebitne napake v programu sporočite na <bug-gnu-gettext@gnu.org>.\n"

#, c-format, no-wrap
#~ msgid ""
#~ "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
#~ "  -e                        enable expansion of some escape sequences\n"
#~ "  -E                        (ignored for compatibility)\n"
#~ "  -h, --help                display this help and exit\n"
#~ "  -n                        suppress trailing newline\n"
#~ "  -V, --version             display version information and exit\n"
#~ "  [TEXTDOMAIN] MSGID        retrieve translated message corresponding\n"
#~ "                            to MSGID from TEXTDOMAIN\n"
#~ msgstr ""
#~ "  -d, --domain=DOMENA       prevode iščemo v podani besedilni DOMENI\n"
#~ "  -e                        omogočimo razširitev ubežnih zaporedij\n"
#~ "  -E                        (združljivost s starejšimi izdajami; zavrženo)\n"
#~ "  -h, --help                ta navodila\n"
#~ "  -n                        brez zaključnega skoka v novo vrstico\n"
#~ "  -V, --version             različica programa\n"
#~ "  [DOMENA] MSGID            iščemo prevod gesla MSGID v podani tekstovni DOMENI\n"

#, c-format, no-wrap
#~ msgid ""
#~ "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
#~ "  -e                        enable expansion of some escape sequences\n"
#~ "  -E                        (ignored for compatibility)\n"
#~ "  -h, --help                display this help and exit\n"
#~ "  -V, --version             display version information and exit\n"
#~ "  [TEXTDOMAIN]              retrieve translated message from TEXTDOMAIN\n"
#~ "  MSGID MSGID-PLURAL        translate MSGID (singular) / MSGID-PLURAL (plural)\n"
#~ "  COUNT                     choose singular/plural form based on this value\n"
#~ msgstr ""
#~ "  -d, --domain=DOMENA       prevode iščemo v podani DOMENI\n"
#~ "  -e                        omogočimo razširitev ubežnih zaporedij\n"
#~ "  -E                        (združljivost s starejšimi izdajami; zavrženo)\n"
#~ "  -h, --help                ta navodila\n"
#~ "  -V, --version             različica programa\n"
#~ "  [DOMENA]                  prevode iščemo v podani DOMENI\n"
#~ "  MSGID MSGID-PLURAL        prevod MSGID (ednina) ali MSGID_PLURAL (množina)\n"
#~ "  ŠTEVEC                    določitev edninske/množinske oblike\n"

#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: nedovoljena izbira -- %c\n"

#~ msgid ""
#~ "Copyright (C) %s Free Software Foundation, Inc.\n"
#~ "This is free software; see the source for copying conditions.  There is "
#~ "NO\n"
#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
#~ "PURPOSE.\n"
#~ msgstr ""
#~ "Copyright (C) %s Free Software Foundation, Inc.\n"
#~ "To je prost program; pogoji, pod katerimi ga lahko razmnožujete in\n"
#~ "razširjate so navedeni v izvorni kodi. Za program ni NOBENEGA jamstva,\n"
#~ "niti jamstev USTREZNOSTI ZA PRODAJO ali PRIMERNOSTI ZA RABO.\n"

#~ msgid "invalid argument `%s' for `%s'"
#~ msgstr "neveljaven argument %s za ,%s`"

#~ msgid "ambiguous argument `%s' for `%s'"
#~ msgstr "dvoumen argument %s za ,%s`"

#~ msgid "Valid arguments are:"
#~ msgstr "Veljavni argumenti so:"

#~ msgid "error while opening \"%s\" for reading"
#~ msgstr "datoteke \"%s\" ni moč odpreti za branje"

#~ msgid "cannot open backup file \"%s\" for writing"
#~ msgstr "varnostnega izvoda \"%s\" ni mogoče odpreti za pisanje"

#~ msgid "error reading \"%s\""
#~ msgstr "napaka pri branju \"%s\""

#~ msgid "error writing \"%s\""
#~ msgstr "napaka pri pisanju na \"%s\""

#~ msgid "error after reading \"%s\""
#~ msgstr "napaka po branju \"%s\""

#~ msgid "%s subprocess failed"
#~ msgstr "%s podproces neuspešen"

#~ msgid "Java compiler not found, try installing gcj or set $JAVAC"
#~ msgstr "Prevajalnika za javo ni najti; namestite gcj ali nastavite $JAVAC"

#~ msgid "Java virtual machine not found, try installing gij or set $JAVA"
#~ msgstr ""
#~ "Virtualnega javanskega stroja ni najti; namestite gij ali nastavite $JAVA"

#~ msgid "cannot create pipe"
#~ msgstr "cevovoda ni mogoče ustvariti"

#~ msgid "%s subprocess"
#~ msgstr "%s podprocesov"

#~ msgid "%s subprocess got fatal signal %d"
#~ msgstr "%s podprocesov prejelo kritični signal %d"

#~ msgid "number of format specifications in 'msgid' and '%s' does not match"
#~ msgstr "števili formatnih določil v ,msgid` in ,%s` se ne ujemata"

#~ msgid ""
#~ "format specifications in 'msgid' and '%s' for argument %u are not the same"
#~ msgstr "formatni določili v ,msgid` in ,%s` za argument %u nista enaki"

#~ msgid ""
#~ "a format specification for argument %u, as in '%s', doesn't exist in "
#~ "'msgid'"
#~ msgstr "v ,msgid` ni formatnega določila za argument %u, kot v ,%s`"

#~ msgid "a format specification for argument %u doesn't exist in '%s'"
#~ msgstr "v ,%2$s` ni formatnega določila za argument %1$u"

#~ msgid ""
#~ "a format specification for argument {%u}, as in '%s', doesn't exist in "
#~ "'msgid'"
#~ msgstr "v ,msgid` ni formatnega določila za argument {%u}, kot v ,%s`"

#~ msgid "a format specification for argument {%u} doesn't exist in '%s'"
#~ msgstr "v ,%2$s` ni formatnega določila za argument {%1$u}"

#~ msgid ""
#~ "format specifications in 'msgid' and '%s' for argument {%u} are not the "
#~ "same"
#~ msgstr "formatni določili v ,msgid` in ,%s` za argument {%u} nista enaki"

#~ msgid "format specifications in 'msgid' and '%s' are not equivalent"
#~ msgstr "formatni določili v ,msgid` in ,%s` nista enakovredni"

#~ msgid "format specifications in '%s' are not a subset of those in 'msgid'"
#~ msgstr "formatna določila v ,%s` niso podmnožica tistih v ,msgid`"

#~ msgid ""
#~ "format specifications in 'msgid' expect a mapping, those in '%s' expect a "
#~ "tuple"
#~ msgstr ""
#~ "formatno določilo v ,msgid` zahteva preslikavo, tisto v ,%s` pa pričakuje "
#~ "n-terček"

#~ msgid ""
#~ "format specifications in 'msgid' expect a tuple, those in '%s' expect a "
#~ "mapping"
#~ msgstr ""
#~ "formatno določilo v ,msgid` zahteva n-terček, tisto v ,%s` pa pričakuje "
#~ "preslikavo"

#~ msgid ""
#~ "a format specification for argument '%s', as in '%s', doesn't exist in "
#~ "'msgid'"
#~ msgstr "v ,msgid` ni formatnega določila za argument ,%s`, kot v ,%s`"

#~ msgid "a format specification for argument '%s' doesn't exist in '%s'"
#~ msgstr "v ,%2$s` ni formatnega določila za argument ,%1$s`"

#~ msgid ""
#~ "format specifications in 'msgid' and '%s' for argument '%s' are not the "
#~ "same"
#~ msgstr "formatni določili v ,msgid` in ,%s` za argument ,%s` nista enaki"

#~ msgid "Usage: %s [OPTION]\n"
#~ msgstr "Uporaba: %s [IZBIRA]\n"

#~ msgid "Print the machine's hostname.\n"
#~ msgstr "Izpis gostiteljskega imena računalnika.\n"

#~ msgid ""
#~ "Output format:\n"
#~ "  -s, --short           short host name\n"
#~ "  -f, --fqdn, --long    long host name, includes fully qualified domain "
#~ "name,\n"
#~ "                          and aliases\n"
#~ "  -i, --ip-address      addresses for the hostname\n"
#~ msgstr ""
#~ "Oblika izpisa:\n"
#~ "  -s, --short           kratka oblika gostiteljskega imena\n"
#~ "  -f, --fqdn, --long    dolga oblika gostiteljskega imena, vključno s "
#~ "polnim\n"
#~ "                          internetim imenom in vzdevki\n"
#~ "  -i, --ip-address      internetni naslov za gostiteljsko ime\n"

#~ msgid "could not get host name"
#~ msgstr "gostiteljskega imena ni moč ugotoviti"

#~ msgid "at most one input file allowed"
#~ msgstr "dovoljena je največ ena vhodna datoteka"

#~ msgid "%s and %s are mutually exclusive"
#~ msgstr "%s in %s se med seboj izključujeta"

#~ msgid "Usage: %s [OPTION] [INPUTFILE]\n"
#~ msgstr "Uporaba: %s [IZBIRA] [VHODNA_DATOTEKA]\n"

#~ msgid ""
#~ "Filters the messages of a translation catalog according to their "
#~ "attributes,\n"
#~ "and manipulates the attributes.\n"
#~ msgstr ""
#~ "Filtriranje sporočil iz kataloga prevodov glede na njihova določila\n"
#~ "in rokovanje z njimi.\n"

#~ msgid ""
#~ "Mandatory arguments to long options are mandatory for short options too.\n"
#~ msgstr ""
#~ "Če je pri dolgi obliki izbire naveden obvezen argument, je ta obvezen\n"
#~ "tudi za kratko obliko.\n"

#~ msgid ""
#~ "Input file location:\n"
#~ "  INPUTFILE                   input PO file\n"
#~ "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files "
#~ "search\n"
#~ "If no input file is given or if it is -, standard input is read.\n"
#~ msgstr ""
#~ "Izbira vhodne datoteke:\n"
#~ "  VHODNA_DATOTEKA             vhodna datoteka PO\n"
#~ "  -D, --directory=IMENIK      vhodne datoteke iščemo tudi v navedenem "
#~ "IMENIKU\n"
#~ "Če vhodna datoteka ni podana ali je enaka -, se bere standardni vhod.\n"

#~ msgid ""
#~ "Output file location:\n"
#~ "  -o, --output-file=FILE      write output to specified file\n"
#~ "The results are written to standard output if no output file is "
#~ "specified\n"
#~ "or if it is -.\n"
#~ msgstr ""
#~ "Izbira izhodne datoteke:\n"
#~ "  -o, --output-file=DATOTEKA  izhod zapisujemo v navedeno DATOTEKO\n"
#~ "Če izhodna datoteka ni podana ali je enaka -, se rezultat izpiše na "
#~ "standardni\n"
#~ "izhod.\n"

#~ msgid ""
#~ "Message selection:\n"
#~ "      --translated            keep translated, remove untranslated "
#~ "messages\n"
#~ "      --untranslated          keep untranslated, remove translated "
#~ "messages\n"
#~ "      --no-fuzzy              remove 'fuzzy' marked messages\n"
#~ "      --only-fuzzy            keep 'fuzzy' marked messages\n"
#~ "      --no-obsolete           remove obsolete #~ messages\n"
#~ "      --only-obsolete         keep obsolete #~ messages\n"
#~ msgstr ""
#~ "Izbira sporočil:\n"
#~ "      --translated            obdržimo prevedena sporočila, zavržemo "
#~ "neprevedena\n"
#~ "      --untranslated          obdržimo neprevedena sporočila, zavržemo "
#~ "prevedena\n"
#~ "      --no-fuzzy              brez ohlapnih samodejno prevedenih "
#~ "sporočil\n"
#~ "      --only-fuzzy            zgolj ohlapna samodejno prevedena "
#~ "sporočila\n"
#~ "      --no-obsolete           brez zastarelih (#~) sporočil\n"
#~ "      --only-obsolete         zgolj zastarela (#~) sporočila\n"

#~ msgid ""
#~ "Attribute manipulation:\n"
#~ "      --set-fuzzy             set all messages 'fuzzy'\n"
#~ "      --clear-fuzzy           set all messages non-'fuzzy'\n"
#~ "      --set-obsolete          set all messages obsolete\n"
#~ "      --clear-obsolete        set all messages non-obsolete\n"
#~ "      --fuzzy                 synonym for --only-fuzzy --clear-fuzzy\n"
#~ "      --obsolete              synonym for --only-obsolete --clear-"
#~ "obsolete\n"
#~ msgstr ""
#~ "Rokovanje z določili:\n"
#~ "      --set-fuzzy             vsa sporočila označimo kot ohlapno "
#~ "pprevedena\n"
#~ "      --clear-fuzzy           izbrišemo vse oznake o ohlapnosti prevodov\n"
#~ "      --set-obsolete          vsa sporočila označimo kot zastarela\n"
#~ "      --clear-obsolete        izbrišemo vse oznake o zastarelosti "
#~ "prevodov\n"
#~ "      --fuzzy                 isto kot --only-fuzzy --clear-fuzzy\n"
#~ "      --obsolete              isto kot --only-obsolete --clear-obsolete\n"

#~ msgid ""
#~ "Output details:\n"
#~ "  -e, --no-escape             do not use C escapes in output (default)\n"
#~ "  -E, --escape                use C escapes in output, no extended chars\n"
#~ "      --force-po              write PO file even if empty\n"
#~ "  -i, --indent                write the .po file using indented style\n"
#~ "      --no-location           do not write '#: filename:line' lines\n"
#~ "  -n, --add-location          generate '#: filename:line' lines "
#~ "(default)\n"
#~ "      --strict                write out strict Uniforum conforming .po "
#~ "file\n"
#~ "  -w, --width=NUMBER          set output page width\n"
#~ "      --no-wrap               do not break long message lines, longer "
#~ "than\n"
#~ "                              the output page width, into several lines\n"
#~ "  -s, --sort-output           generate sorted output\n"
#~ "  -F, --sort-by-file          sort output by file location\n"
#~ msgstr ""
#~ "Podrobnosti izpisa:\n"
#~ "  -e, --no-escape          brez ubežnih sekvenc v skladnji jezika C "
#~ "(privzeto)\n"
#~ "  -E, --escape             z ubežnimi sekvencami v skladnji C, brez \n"
#~ "                             razširjenega nabora znakov\n"
#~ "      --force-po           vedno izpišemo datoteko PO, četudi prazno\n"
#~ "  -i, --indent             izpis datoteke PO z zamiki\n"
#~ "      --no-location        brez vrstic ,#: datoteka:vrstica` v izpisu\n"
#~ "  -n, --add-location       z vrsticami ,#: datoteka:vrstica` v izpisu "
#~ "(privzeto)\n"
#~ "      --strict             izpis v strogi obliki Uniforum, brez "
#~ "razširitev GNU\n"
#~ "  -w, --width=ŠTEVILO      širina strani pri izpisu, v znakih\n"
#~ "      --no-wrap            brez deljenja dolgih sporočil v več vrstic\n"
#~ "  -s, --sort-output        izhod abecedno urejen po sporočilih\n"
#~ "  -F, --sort-by-file       izhod abecedno urejen po izvornih datotekah\n"

#~ msgid "impossible selection criteria specified (%d < n < %d)"
#~ msgstr "določeni kriteriji izbire niso mogoči (%d < n < %d)"

#~ msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
#~ msgstr "Uporaba: %s [IZBIRA] [VHODNA_DATOTEKA]...\n"

#~ msgid ""
#~ "Concatenates and merges the specified PO files.\n"
#~ "Find messages which are common to two or more of the specified PO files.\n"
#~ "By using the --more-than option, greater commonality may be requested\n"
#~ "before messages are printed.  Conversely, the --less-than option may be\n"
#~ "used to specify less commonality before messages are printed (i.e.\n"
#~ "--less-than=2 will only print the unique messages).  Translations,\n"
#~ "comments and extract comments will be cumulated, except that if --use-"
#~ "first\n"
#~ "is specified, they will be taken from the first PO file to define them.\n"
#~ "File positions from all PO files will be cumulated.\n"
#~ msgstr ""
#~ "Združimo dane datoteke PO.\n"
#~ "Poiščemo sporočila, ki so skupna dvema ali več podanima datotekama PO. Z\n"
#~ "izbiro --more-than pred izpisom zahtevamo več skupnih lastnosti. Obratno\n"
#~ "z izbiro --less-than izberemo manj skupnih lastnosti (npr. --less-than=2\n"
#~ "izpiše samo unikatna sporočila). Prevodi, komentarji prevajalcev in "
#~ "komentarji\n"
#~ "pri izvlačenju iz vseh datotek se ohranijo, razen če z izbiro --use-first "
#~ "ne\n"
#~ "zahtevamo, da se ohranijo samo iz prve datoteke PO, ki jih definira. "
#~ "Mesta\n"
#~ "v datotekah iz vseh datotek PO se ohranijo.\n"

#~ msgid ""
#~ "Input file location:\n"
#~ "  INPUTFILE ...                  input files\n"
#~ "  -f, --files-from=FILE          get list of input files from FILE\n"
#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
#~ "search\n"
#~ "If input file is -, standard input is read.\n"
#~ msgstr ""
#~ "Izbira vhodne datoteke:\n"
#~ "  VHODNA_DATOTEKA ...            vhodna datoteka (ali več vhodnih "
#~ "datotek)\n"
#~ "  -f, --files-from=DATOTEKA      seznam vhodnih datotek preberemo iz "
#~ "DATOTEKE\n"
#~ "  -D, --directory=IMENIK         vhodne datoteke iščemo tudi v navedenem "
#~ "IMENIKU\n"
#~ "Če je vhodna datoteka enaka -, se bere standardni vhod.\n"

#~ msgid ""
#~ "Output file location:\n"
#~ "  -o, --output-file=FILE         write output to specified file\n"
#~ "The results are written to standard output if no output file is "
#~ "specified\n"
#~ "or if it is -.\n"
#~ msgstr ""
#~ "Izbira izhodne datoteke:\n"
#~ "  -o, --output-file=DATOTEKA     izhod zapisujemo v navedeno DATOTEKO\n"
#~ "Če izhodna datoteka ni podana ali je enaka -, se rezultat izpiše na "
#~ "standardni\n"
#~ "izhod.\n"

#~ msgid ""
#~ "Message selection:\n"
#~ "  -<, --less-than=NUMBER         print messages with less than this many\n"
#~ "                                 definitions, defaults to infinite if "
#~ "not\n"
#~ "                                 set\n"
#~ "  ->, --more-than=NUMBER         print messages with more than this many\n"
#~ "                                 definitions, defaults to 0 if not set\n"
#~ "  -u, --unique                   shorthand for --less-than=2, requests\n"
#~ "                                 that only unique messages be printed\n"
#~ msgstr ""
#~ "  -<, --less-than=ŠTEVILO        izpiši sporočila z manj kot ŠTEVILO "
#~ "definicij\n"
#~ "                                 (privzeta vrednost je neskončno)\n"
#~ "  ->, --more-than=ŠTEVILO        izpiši sporočila z več kot ŠTEVILO "
#~ "definicij\n"
#~ "                                 (privzeta vrednost je 1)\n"
#~ "  -u, --unique                   okrajšava za --less-than=2, izpišemo "
#~ "samo\n"
#~ "                                 enolično definirana sporočila\n"

#~ msgid ""
#~ "Output details:\n"
#~ "  -t, --to-code=NAME             encoding for output\n"
#~ "      --use-first                use first available translation for "
#~ "each\n"
#~ "                                 message, don't merge several "
#~ "translations\n"
#~ "  -e, --no-escape                do not use C escapes in output "
#~ "(default)\n"
#~ "  -E, --escape                   use C escapes in output, no extended "
#~ "chars\n"
#~ "      --force-po                 write PO file even if empty\n"
#~ "  -i, --indent                   write the .po file using indented style\n"
#~ "      --no-location              do not write '#: filename:line' lines\n"
#~ "  -n, --add-location             generate '#: filename:line' lines "
#~ "(default)\n"
#~ "      --strict                   write out strict Uniforum conforming .po "
#~ "file\n"
#~ "  -w, --width=NUMBER             set output page width\n"
#~ "      --no-wrap                  do not break long message lines, longer "
#~ "than\n"
#~ "                                 the output page width, into several "
#~ "lines\n"
#~ "  -s, --sort-output              generate sorted output\n"
#~ "  -F, --sort-by-file             sort output by file location\n"
#~ msgstr ""
#~ "Podrobnosti izpisa:\n"
#~ "  -t, --to-code=NABOR      nabor znakov izhodne datoteke\n"
#~ "      --use-first          uporabimo prvi prevod sporočila, na katerega\n"
#~ "                             naletimo; ne združujemo več prevodov\n"
#~ "  -e, --no-escape          brez ubežnih sekvenc v skladnji jezika C "
#~ "(privzeto)\n"
#~ "  -E, --escape             z ubežnimi sekvencami v skladnji C, brez \n"
#~ "                             razširjenega nabora znakov\n"
#~ "      --force-po           vedno izpišemo datoteko PO, četudi prazno\n"
#~ "  -i, --indent             izpis datoteke PO z zamiki\n"
#~ "      --no-location        brez vrstic ,#: datoteka:vrstica` v izpisu\n"
#~ "  -n, --add-location       z vrsticami ,#: datoteka:vrstica` v izpisu "
#~ "(privzeto)\n"
#~ "      --strict             izpis v strogi obliki Uniforum, brez "
#~ "razširitev GNU\n"
#~ "  -w, --width=ŠTEVILO      širina strani pri izpisu, v znakih\n"
#~ "      --no-wrap            brez deljenja dolgih sporočil v več vrstic\n"
#~ "  -s, --sort-output        izhod abecedno urejen po sporočilih\n"
#~ "  -F, --sort-by-file       izhod abecedno urejen po izvornih datotekah\n"

#~ msgid ""
#~ "Informative output:\n"
#~ "  -h, --help                     display this help and exit\n"
#~ "  -V, --version                  output version information and exit\n"
#~ msgstr ""
#~ "Informativni izpis:\n"
#~ "  -h, --help                     ta navodila\n"
#~ "  -V, --version                  različica programa\n"

#~ msgid "no input files given"
#~ msgstr "vhodni datoteki nista podani"

#~ msgid "exactly 2 input files required"
#~ msgstr "potrebni sta natančno dve vhodni datoteki"

#~ msgid "Usage: %s [OPTION] def.po ref.pot\n"
#~ msgstr "Uporaba: %s [IZBIRA] def.po ref.po\n"

#~ msgid ""
#~ "Compare two Uniforum style .po files to check that both contain the same\n"
#~ "set of msgid strings.  The def.po file is an existing PO file with the\n"
#~ "translations.  The ref.pot file is the last created PO file, or a PO "
#~ "Template\n"
#~ "file (generally created by xgettext).  This is useful for checking that\n"
#~ "you have translated each and every message in your program.  Where an "
#~ "exact\n"
#~ "match cannot be found, fuzzy matching is used to produce better "
#~ "diagnostics.\n"
#~ msgstr ""
#~ "Preverimo, če dve podani datoteki v obliki Uniforum vsebujeta isti nabor\n"
#~ "nizov msgid. Datoteka def.po je obstoječa datoteka PO s starimi prevodi,\n"
#~ "datoteka ref.po pa nazadnje ustvarjena datoteka PO (v splošnem z "
#~ "xgettext).\n"
#~ "To je uporabno, ko želimo preveriti, če so prevedena res vsa sporočila\n"
#~ "v programu.  Kadar ne najdemo natančnega ujemanja msgid, zaradi boljše\n"
#~ "diagnostike poskusimo z ohlapnim (fuzzy) algoritmom.\n"

#~ msgid ""
#~ "Input file location:\n"
#~ "  def.po                      translations\n"
#~ "  ref.pot                     references to the sources\n"
#~ "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files "
#~ "search\n"
#~ msgstr ""
#~ "Izbira vhodnih datotek:\n"
#~ "  def.po                      prevodi\n"
#~ "  ref.pot                     sklici na vire\n"
#~ "  -D, --directory=IMENIK      vhodne datoteke iščemo tudi v navedenem "
#~ "IMENIKU\n"

#~ msgid ""
#~ "Operation modifiers:\n"
#~ "  -m, --multi-domain          apply ref.pot to each of the domains in def."
#~ "po\n"
#~ msgstr ""
#~ "Modifikatorji delovanja:\n"
#~ "  -m, --multi-domain          ref.po uporabimo na vseh domenah iz def.po\n"

#~ msgid "this message is used but not defined..."
#~ msgstr "to sporočilo je uporabljeno, a ne definirano..."

#~ msgid "...but this definition is similar"
#~ msgstr "...a ta definicija je podobna"

#~ msgid "this message is used but not defined in %s"
#~ msgstr "to sporočilo je uporabljeno, a ne definirano v %s"

#~ msgid "warning: this message is not used"
#~ msgstr "opozorilo: to sporočilo ni uporabljeno"

#~ msgid "found %d fatal error"
#~ msgid_plural "found %d fatal errors"
#~ msgstr[0] "%d kritičnih napak"
#~ msgstr[1] "%d kritična napaka"
#~ msgstr[2] "%d kritični napaki"
#~ msgstr[3] "%d kritične napake"

#~ msgid "duplicate message definition"
#~ msgstr "podvojena definicija sporočila"

#~ msgid "...this is the location of the first definition"
#~ msgstr "...to je kraj prve definicije"

#~ msgid "at least two files must be specified"
#~ msgstr "podani morata biti vsaj dve datoteki"

#~ msgid ""
#~ "Find messages which are common to two or more of the specified PO files.\n"
#~ "By using the --more-than option, greater commonality may be requested\n"
#~ "before messages are printed.  Conversely, the --less-than option may be\n"
#~ "used to specify less commonality before messages are printed (i.e.\n"
#~ "--less-than=2 will only print the unique messages).  Translations,\n"
#~ "comments and extract comments will be preserved, but only from the first\n"
#~ "PO file to define them.  File positions from all PO files will be\n"
#~ "cumulated.\n"
#~ msgstr ""
#~ "Poišče sporočila, ki so skupna dvema ali več podanima datotekama PO. Z\n"
#~ "izbiro --more-than pred izpisom zahtevamo več skupnih lastnosti. Obratno\n"
#~ "z izbiro --less-than izberemo manj skupnih lastnosti (npr. --less-than=2\n"
#~ "izpiše samo unikatna sporočila). Prevodi, komentarji prevajalcev in "
#~ "komentarji\n"
#~ "pri izvlačenju se ohranijo samo iz prve podane datoteke PO. Mesta v "
#~ "datotekah \n"
#~ "se ohranijo iz vseh datotek PO.\n"

#~ msgid ""
#~ "Message selection:\n"
#~ "  -<, --less-than=NUMBER         print messages with less than this many\n"
#~ "                                 definitions, defaults to infinite if "
#~ "not\n"
#~ "                                 set\n"
#~ "  ->, --more-than=NUMBER         print messages with more than this many\n"
#~ "                                 definitions, defaults to 1 if not set\n"
#~ "  -u, --unique                   shorthand for --less-than=2, requests\n"
#~ "                                 that only unique messages be printed\n"
#~ msgstr ""
#~ "Izbira sporočil:\n"
#~ "  -<, --less-than=ŠTEVILO        izpiši sporočila z manj kot ŠTEVILO "
#~ "definicij\n"
#~ "                                 (privzeta vrednost je neskončno)\n"
#~ "  ->, --more-than=ŠTEVILO        izpiši sporočila z več kot ŠTEVILO "
#~ "definicij\n"
#~ "                                 (privzeta vrednost je 1)\n"
#~ "  -u, --unique                   okrajšava za --less-than=2, izpišemo "
#~ "samo\n"
#~ "                                 enolično definirana sporočila\n"

#~ msgid ""
#~ "Output details:\n"
#~ "  -e, --no-escape                do not use C escapes in output "
#~ "(default)\n"
#~ "  -E, --escape                   use C escapes in output, no extended "
#~ "chars\n"
#~ "      --force-po                 write PO file even if empty\n"
#~ "  -i, --indent                   write the .po file using indented style\n"
#~ "      --no-location              do not write '#: filename:line' lines\n"
#~ "  -n, --add-location             generate '#: filename:line' lines "
#~ "(default)\n"
#~ "      --strict                   write out strict Uniforum conforming .po "
#~ "file\n"
#~ "  -w, --width=NUMBER             set output page width\n"
#~ "      --no-wrap                  do not break long message lines, longer "
#~ "than\n"
#~ "                                 the output page width, into several "
#~ "lines\n"
#~ "  -s, --sort-output              generate sorted output\n"
#~ "  -F, --sort-by-file             sort output by file location\n"
#~ "      --omit-header              don't write header with `msgid \"\"' "
#~ "entry\n"
#~ msgstr ""
#~ "Podrobnosti izpisa:\n"
#~ "  -e, --no-escape          brez ubežnih sekvenc v skladnji jezika C "
#~ "(privzeto)\n"
#~ "  -E, --escape             z ubežnimi sekvencami v skladnji C, brez \n"
#~ "                             razširjenega nabora znakov\n"
#~ "      --force-po           vedno izpišemo datoteko PO, četudi prazno\n"
#~ "  -i, --indent             izpis datoteke PO z zamiki\n"
#~ "      --no-location        brez vrstic ,#: datoteka:vrstica` v izpisu\n"
#~ "  -n, --add-location       z vrsticami ,#: datoteka:vrstica` v izpisu "
#~ "(privzeto)\n"
#~ "      --strict             izpis v strogi obliki Uniforum, brez "
#~ "razširitev GNU\n"
#~ "  -w, --width=ŠTEVILO      širina strani pri izpisu, v znakih\n"
#~ "      --no-wrap            brez deljenja dolgih sporočil v več vrstic\n"
#~ "  -s, --sort-output        izhod abecedno urejen po sporočilih\n"
#~ "  -F, --sort-by-file       izhod abecedno urejen po izvornih datotekah\n"
#~ "      --omit-header        brez glave z vnosom \"msgid\"\n"

#~ msgid "Converts a translation catalog to a different character encoding.\n"
#~ msgstr "Pretvarjanje kataloga sporočil v drug kodni nabor.\n"

#~ msgid ""
#~ "Conversion target:\n"
#~ "  -t, --to-code=NAME          encoding for output\n"
#~ "The default encoding is the current locale's encoding.\n"
#~ msgstr ""
#~ "Cilj pretvorbe:\n"
#~ "  -t, --to-code=NABOR         nabor znakov izhodne datoteke\n"
#~ "Privzeta vrednost je kodni nabor izbrane krajevne nastavitve.\n"

#~ msgid ""
#~ "Output details:\n"
#~ "  -e, --no-escape             do not use C escapes in output (default)\n"
#~ "  -E, --escape                use C escapes in output, no extended chars\n"
#~ "      --force-po              write PO file even if empty\n"
#~ "  -i, --indent                indented output style\n"
#~ "      --no-location           suppress '#: filename:line' lines\n"
#~ "      --add-location          preserve '#: filename:line' lines "
#~ "(default)\n"
#~ "      --strict                strict Uniforum output style\n"
#~ "  -w, --width=NUMBER          set output page width\n"
#~ "      --no-wrap               do not break long message lines, longer "
#~ "than\n"
#~ "                              the output page width, into several lines\n"
#~ "  -s, --sort-output           generate sorted output\n"
#~ "  -F, --sort-by-file          sort output by file location\n"
#~ msgstr ""
#~ "Podrobnosti izpisa:\n"
#~ "  -e, --no-escape          brez ubežnih sekvenc v skladnji jezika C "
#~ "(privzeto)\n"
#~ "  -E, --escape             z ubežnimi sekvencami v skladnji C, brez \n"
#~ "                             razširjenega nabora znakov\n"
#~ "      --force-po           vedno izpišemo datoteko PO, četudi prazno\n"
#~ "  -i, --indent             izpis datoteke PO z zamiki\n"
#~ "      --no-location        brez vrstic ,#: datoteka:vrstica` v izpisu\n"
#~ "      --add-location       z vrsticami ,#: datoteka:vrstica` v izpisu "
#~ "(privzeto)\n"
#~ "      --strict             izpis v strogi obliki Uniforum, brez "
#~ "razširitev GNU\n"
#~ "  -w, --width=ŠTEVILO      širina strani pri izpisu, v znakih\n"
#~ "      --no-wrap            brez deljenja dolgih sporočil v več vrstic\n"
#~ "  -s, --sort-output        izhod abecedno urejen po sporočilih\n"
#~ "  -F, --sort-by-file       izhod abecedno urejen po izvornih datotekah\n"

#~ msgid "no input file given"
#~ msgstr "vhodna datoteka ni podana"

#~ msgid "exactly one input file required"
#~ msgstr "zahtevana je natančno ena vhodna datoteka"

#~ msgid "Usage: %s [OPTION] INPUTFILE\n"
#~ msgstr "Uporaba: %s [IZBIRA] VHODNA_DATOTEKA\n"

#~ msgid ""
#~ "Creates an English translation catalog.  The input file is the last\n"
#~ "created English PO file, or a PO Template file (generally created by\n"
#~ "xgettext).  Untranslated entries are assigned a translation that is\n"
#~ "identical to the msgid, and are marked fuzzy.\n"
#~ msgstr ""
#~ "Ustvarimo katalog angleških sporočil. Vhodna datoteka je nazadnje "
#~ "ustvarjena\n"
#~ "angleška datoteka PO ali vzorčna datoteka POT (slednjo navadno ustvarimo "
#~ "z\n"
#~ "ukazom xgettext). Neprevedenim sporočilom se pripiše prevod, enak "
#~ "izvirniku\n"
#~ "msgid; taki prevodi so označeni kot ohlapni.\n"

#~ msgid ""
#~ "Input file location:\n"
#~ "  INPUTFILE                   input PO or POT file\n"
#~ "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files "
#~ "search\n"
#~ "If input file is -, standard input is read.\n"
#~ msgstr ""
#~ "Izbira vhodne datoteke:\n"
#~ "  VHODNA_DATOTEKA             vhodna datoteka PO\n"
#~ "  -D, --directory=IMENIK      vhodne datoteke iščemo tudi v navedenem "
#~ "IMENIKU\n"
#~ "Če vhodna datoteka ni podana ali je enaka -, se bere standardni vhod.\n"

#~ msgid "missing command name"
#~ msgstr "manjka ime ukaza"

#~ msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
#~ msgstr "Uporaba: %s [IZBIRA] UKAZ [IZBIRA-UKAZA]\n"

#~ msgid ""
#~ "Applies a command to all translations of a translation catalog.\n"
#~ "The COMMAND can be any program that reads a translation from standard\n"
#~ "input.  It is invoked once for each translation.  Its output becomes\n"
#~ "msgexec's output.  msgexec's return code is the maximum return code\n"
#~ "across all invocations.\n"
#~ msgstr ""
#~ "Na vsakem prevodu iz kataloga izvedemo dani ukaz. UKAZ je lahko ime\n"
#~ "kateregakoli programa, ki bere s standardnega vhoda. Požene se za vsak\n"
#~ "prevod posebej. Izhod programa postane izhod programa msgexec. Izhodna\n"
#~ "koda programa msgexec je največja od izhodnih kod pri klicu ukaza.\n"

#~ msgid ""
#~ "A special builtin command called '0' outputs the translation, followed by "
#~ "a\n"
#~ "null byte.  The output of \"msgexec 0\" is suitable as input for \"xargs "
#~ "-0\".\n"
#~ msgstr ""
#~ "Poseben vgrajen ukaz ,0` izpiše prevod in izpis zaključi z znakom s kodo "
#~ "nič.\n"
#~ "Izhod ukaza \"msgexec 0\" je primeren kot vhod za ukaz \"xargs -0\".\n"

#~ msgid ""
#~ "Input file location:\n"
#~ "  -i, --input=INPUTFILE       input PO file\n"
#~ "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files "
#~ "search\n"
#~ "If no input file is given or if it is -, standard input is read.\n"
#~ msgstr ""
#~ "Izbira vhodne datoteke:\n"
#~ "  -i, --input=DATOTEKA        vhodna datoteka PO\n"
#~ "  -D, --directory=IMENIK      vhodne datoteke iščemo tudi v navedenem "
#~ "IMENIKU\n"
#~ "Če vhodna datoteka ni podana ali je enaka -, se bere standardni vhod.\n"

#~ msgid "write to stdout failed"
#~ msgstr "izpis na standardni izhod neuspešen"

#~ msgid "write to %s subprocess failed"
#~ msgstr "posredovanje podatkov podprocesu %s neuspešno"

#~ msgid "missing filter name"
#~ msgstr "manjka ime filtra"

#~ msgid "at least one sed script must be specified"
#~ msgstr "podan mora biti vsaj en skript v sed"

#~ msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
#~ msgstr "Uporaba: %s [IZBIRA] FILTER [IZBIRA-FILTRA]\n"

#~ msgid "Applies a filter to all translations of a translation catalog.\n"
#~ msgstr "Na vsakem prevodu iz kataloga uporabimo dani filter.\n"

#~ msgid ""
#~ "The FILTER can be any program that reads a translation from standard "
#~ "input\n"
#~ "and writes a modified translation to standard output.\n"
#~ msgstr ""
#~ "FILTER je lahko ime kateregakoli programa, ki prebere prevod s "
#~ "standardnega\n"
#~ "vhoda in izpiše spremnjen prevod na standardni izhod.\n"

#~ msgid ""
#~ "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
#~ "  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
#~ "  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the "
#~ "commands\n"
#~ "                                to be executed\n"
#~ "  -n, --quiet, --silent       suppress automatic printing of pattern "
#~ "space\n"
#~ msgstr ""
#~ "Uporabne IZBIRE FILTRA, kadar je FILTER ,sed`:\n"
#~ "  -e, --expression=SKRIPT     dodaj SKRIPT med ukaze, ki se izvedejo\n"
#~ "  -f, --file=SKRIPTNA_DATOTEKA  dodaj vsebino SKRIPTNE DATOTEKE med "
#~ "ukaze,\n"
#~ "                                ki se izvedejo\n"
#~ "  -n, --quiet, --silent       brez samodejnega izpisa prostora vzorcev\n"

#~ msgid ""
#~ "Output details:\n"
#~ "      --no-escape             do not use C escapes in output (default)\n"
#~ "  -E, --escape                use C escapes in output, no extended chars\n"
#~ "      --force-po              write PO file even if empty\n"
#~ "      --indent                indented output style\n"
#~ "      --keep-header           keep header entry unmodified, don't filter "
#~ "it\n"
#~ "      --no-location           suppress '#: filename:line' lines\n"
#~ "      --add-location          preserve '#: filename:line' lines "
#~ "(default)\n"
#~ "      --strict                strict Uniforum output style\n"
#~ "  -w, --width=NUMBER          set output page width\n"
#~ "      --no-wrap               do not break long message lines, longer "
#~ "than\n"
#~ "                              the output page width, into several lines\n"
#~ "  -s, --sort-output           generate sorted output\n"
#~ "  -F, --sort-by-file          sort output by file location\n"
#~ msgstr ""
#~ "Podrobnosti izpisa:\n"
#~ "      --no-escape          brez ubežnih sekvenc v skladnji jezika C "
#~ "(privzeto)\n"
#~ "  -E, --escape             z ubežnimi sekvencami v skladnji C, brez \n"
#~ "                             razširjenega nabora znakov\n"
#~ "      --force-po           vedno izpišemo datoteko PO, četudi prazno\n"
#~ "      --indent             izpis datoteke PO z zamiki\n"
#~ "      --no-location        brez vrstic ,#: datoteka:vrstica` v izpisu\n"
#~ "      --add-location       z vrsticami ,#: datoteka:vrstica` v izpisu "
#~ "(privzeto)\n"
#~ "      --strict             izpis v strogi obliki Uniforum, brez "
#~ "razširitev GNU\n"
#~ "  -w, --width=ŠTEVILO      širina strani pri izpisu, v znakih\n"
#~ "      --no-wrap            brez deljenja dolgih sporočil v več vrstic\n"
#~ "  -s, --sort-output        izhod abecedno urejen po sporočilih\n"
#~ "  -F, --sort-by-file       izhod abecedno urejen po izvornih datotekah\n"

#~ msgid "cannot set up nonblocking I/O to %s subprocess"
#~ msgstr "s podprocesom %s ni mogoče vzpostaviti nebločne V/I povezave"

#~ msgid "communication with %s subprocess failed"
#~ msgstr "povezava s podprocesom %s neuspešna"

#~ msgid "read from %s subprocess failed"
#~ msgstr "branje izhoda podprocesa %s neuspešno"

#~ msgid "%s subprocess terminated with exit code %d"
#~ msgstr "podproces %s zaključil z izhodno kodo %d"

#~ msgid "the argument to %s should be a single punctuation character"
#~ msgstr "argument %s mora biti eno samo ločilo"

#~ msgid "%s requires a \"-d directory\" specification"
#~ msgstr "%s zahteva določitev \"-d directory\""

#~ msgid "%s requires a \"-l locale\" specification"
#~ msgstr "%s zahteva določitev \"-l locale\""

#~ msgid "%s is only valid with %s"
#~ msgstr "%s je veljavno edino z %s"

#~ msgid "%s is only valid with %s or %s"
#~ msgstr "%s je veljavno edino z %s ali %s"

#~ msgid "%d translated message"
#~ msgid_plural "%d translated messages"
#~ msgstr[0] "%d prevedenih sporočil"
#~ msgstr[1] "%d prevedeno sporočilo"
#~ msgstr[2] "%d prevedeni sporočili"
#~ msgstr[3] "%d prevedena sporočila"

#~ msgid ", %d fuzzy translation"
#~ msgid_plural ", %d fuzzy translations"
#~ msgstr[0] ", %d ohlapnih prevodov"
#~ msgstr[1] ", %d ohlapni prevod"
#~ msgstr[2] ", %d ohlapna prevoda"
#~ msgstr[3] ", %d ohlapni prevodi"

#~ msgid ", %d untranslated message"
#~ msgid_plural ", %d untranslated messages"
#~ msgstr[0] ", %d neprevedenih sporočil"
#~ msgstr[1] ", %d neprevedeno sporočilo"
#~ msgstr[2] ", %d neprevedeni sporočili"
#~ msgstr[3] ", %d neprevedena sporočila"

#~ msgid "Usage: %s [OPTION] filename.po ...\n"
#~ msgstr "Uporaba: %s [IZBIRA] datoteka.po ...\n"

#~ msgid ""
#~ "Generate binary message catalog from textual translation description.\n"
#~ msgstr "Besedilni opis prevodov pretvorimo v binarni katalog sporočil.\n"

#~ msgid ""
#~ "Input file location:\n"
#~ "  filename.po ...             input files\n"
#~ "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files "
#~ "search\n"
#~ "If input file is -, standard input is read.\n"
#~ msgstr ""
#~ "Izbira vhodne datoteke:\n"
#~ "  VHODNA_DATOTEKA             vhodna datoteka PO\n"
#~ "  -D, --directory=IMENIK      vhodne datoteke iščemo tudi v navedenem "
#~ "IMENIKU\n"
#~ "Če je vhodna datoteka enaka -, se bere standardni vhod.\n"

#~ msgid ""
#~ "Operation mode:\n"
#~ "  -j, --java                  Java mode: generate a Java ResourceBundle "
#~ "class\n"
#~ "      --java2                 like --java, and assume Java2 (JDK 1.2 or "
#~ "higher)\n"
#~ "      --tcl                   Tcl mode: generate a tcl/msgcat .msg file\n"
#~ msgstr ""
#~ "Način delovanja:\n"
#~ "  -j, --java                  javanski način: ustvarimo javanski razred\n"
#~ "                                ResourceBundle\n"
#~ "      --java2                 kot --java, privzeta je java2 (JDK 1.2 ali "
#~ "več)\n"
#~ "      --tcl                   način tcl: ustvarimo datoteko tcl/msgcat ."
#~ "msg\n"

#~ msgid ""
#~ "Output file location:\n"
#~ "  -o, --output-file=FILE      write output to specified file\n"
#~ "      --strict                enable strict Uniforum mode\n"
#~ "If output file is -, output is written to standard output.\n"
#~ msgstr ""
#~ "Izbira izhodne datoteke:\n"
#~ "  -o, --output-file=DATOTEKA  izhod zapisujemo v navedeno DATOTEKO\n"
#~ "      --strict                izpis v strogi obliki Uniforum brez "
#~ "razširitev GNU\n"
#~ "Če je izhodna datoteka enaka -, se rezultat izpiše na standardni izhod.\n"

#~ msgid ""
#~ "Output file location in Java mode:\n"
#~ "  -r, --resource=RESOURCE     resource name\n"
#~ "  -l, --locale=LOCALE         locale name, either language or "
#~ "language_COUNTRY\n"
#~ "  -d DIRECTORY                base directory of classes directory "
#~ "hierarchy\n"
#~ "The class name is determined by appending the locale name to the resource "
#~ "name,\n"
#~ "separated with an underscore.  The -d option is mandatory.  The class is\n"
#~ "written under the specified directory.\n"
#~ msgstr ""
#~ "Izbira izhodne datoteke v javanskem načinu:\n"
#~ "  -r, --resource=SREDSTVO     ime sredstva\n"
#~ "  -l, --locale=JJ_DD          jezikovno okolje (jezik ali jezik_država)\n"
#~ "  -d IMENIK                   korenski imenik hierarhije razredov\n"
#~ "Ime razreda je sestavljeno iz imena sredstva, ki se mu, ločeno s "
#~ "podčrtajem,\n"
#~ "pridá ime jezikovnega okolja. Izbira -d je obvezna. Razred se zapiše v "
#~ "podani\n"
#~ "imenik.\n"

#~ msgid ""
#~ "Output file location in Tcl mode:\n"
#~ "  -l, --locale=LOCALE         locale name, either language or "
#~ "language_COUNTRY\n"
#~ "  -d DIRECTORY                base directory of .msg message catalogs\n"
#~ "The -l and -d options are mandatory.  The .msg file is written in the\n"
#~ "specified directory.\n"
#~ msgstr ""
#~ "Izbira izhodne datoteke v načinu tcl:\n"
#~ "  -l, --locale=LOCALE         jezikovno okolje (jezik ali jezik_država)\n"
#~ "  -d IMENIK                   korenski imenik hierarhije razredov\n"
#~ "Izbiri -l in  -d sta obvezni. Datoteka .msg se zapiše v podani imenik.\n"

#~ msgid ""
#~ "Input file interpretation:\n"
#~ "  -c, --check                 perform all the checks implied by\n"
#~ "                                --check-format, --check-header, --check-"
#~ "domain\n"
#~ "      --check-format          check language dependent format strings\n"
#~ "      --check-header          verify presence and contents of the header "
#~ "entry\n"
#~ "      --check-domain          check for conflicts between domain "
#~ "directives\n"
#~ "                                and the --output-file option\n"
#~ "  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open "
#~ "msgfmt\n"
#~ "      --check-accelerators[=CHAR]  check presence of keyboard "
#~ "accelerators for\n"
#~ "                                menu items\n"
#~ "  -f, --use-fuzzy             use fuzzy entries in output\n"
#~ msgstr ""
#~ "Interpretacija vhodne datoteke:\n"
#~ "  -c, --check                 opravimo vse preizkuse, določene z "
#~ "izbiramo\n"
#~ "                                --check-format, --check-header, --check-"
#~ "domain\n"
#~ "      --check-format          preverimo od jezika odvisne formatne nize\n"
#~ "      --check-header          preverimo obstoj in vsebino glave\n"
#~ "      --check-domain          preverimo morebitna nesoglasja med "
#~ "direktivo\n"
#~ "                                domene in izbiro --output-file\n"
#~ "  -C, --check-compatibility   preverimo združljivost GNU gettext z X/Open "
#~ "msgfmt\n"
#~ "      --check-accelerators[=ZNAK]  preverimo, ali obstajajo bližnjice za\n"
#~ "                                menujske izbire\n"
#~ "  -f, --use-fuzzy             uporabimo ohlapne samodejno prevedene "
#~ "prevode\n"

#~ msgid ""
#~ "Output details:\n"
#~ "  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: "
#~ "%d)\n"
#~ "      --no-hash               binary file will not include the hash "
#~ "table\n"
#~ msgstr ""
#~ "Podrobnosti izpisa:\n"
#~ "  -a, --alignment=ŠTEVILO     poravnava nizov na dano ŠTEVILO bajtov "
#~ "(privzeto %d)\n"
#~ "      --no-hash               binarni katalog sporočil bo brez razpršene "
#~ "tabele\n"

#~ msgid ""
#~ "Informative output:\n"
#~ "  -h, --help                  display this help and exit\n"
#~ "  -V, --version               output version information and exit\n"
#~ "      --statistics            print statistics about translations\n"
#~ "  -v, --verbose               increase verbosity level\n"
#~ msgstr ""
#~ "Informativni izpis:\n"
#~ "  -h, --help                  ta navodila\n"
#~ "  -V, --version               različica programa\n"
#~ "      --statistics            s statistiko glede prevodov\n"
#~ "  -v, --verbose               z dodatnimi sporočili med izvajanjem\n"

#~ msgid "plural expression can produce negative values"
#~ msgstr ""
#~ "rezultat izraza za izbiro množinske oblike je lahko negativna vrednost"

#~ msgid ""
#~ "nplurals = %lu but plural expression can produce values as large as %lu"
#~ msgstr ""
#~ "nplurals = %lu, izraz za izbiro množinske oblike pa lahko da vrednosti do "
#~ "%lu"

#~ msgid "plural expression can produce division by zero"
#~ msgstr "izraz za izbiro množinske oblike lahko povzroči deljenje z nič"

#~ msgid "plural expression can produce integer overflow"
#~ msgstr "izraz za izbiro množinske oblike lahko povzroči prekoračitev obsega"

#~ msgid ""
#~ "plural expression can produce arithmetic exceptions, possibly division by "
#~ "zero"
#~ msgstr ""
#~ "izraz za izbiro množinske oblike lahko povzroči aritmetične napake, "
#~ "morda\n"
#~ "deljenje z nič"

#~ msgid "message catalog has plural form translations..."
#~ msgstr "katalog sporočil vsebuje množinske oblike prevodov..."

#~ msgid "...but header entry lacks a \"plural=EXPRESSION\" attribute"
#~ msgstr "...v glavi pa manjka določilo \"plural=IZRAZ\""

#~ msgid "...but header entry lacks a \"nplurals=INTEGER\" attribute"
#~ msgstr "...v glavi pa manjka določilo \"nplurals=ŠTEVILO\""

#~ msgid "invalid nplurals value"
#~ msgstr "neveljavna vrednost nplurals"

#~ msgid "invalid plural expression"
#~ msgstr "neveljaven izraz za množinske oblike"

#~ msgid "nplurals = %lu..."
#~ msgstr "nplurals = %lu..."

# This message needs msgid_plural form!
# msgstr[0] "...nekatera sporočila pa imajo samo %lu množinskih oblik"
# msgstr[1] "...nekatera sporočila pa imajo samo %lu množinsko obliko"
# msgstr[2] "...nekatera sporočila pa imajo samo %lu množinski obliki"
# msgstr[3] "...nekatera sporočila pa imajo samo %lu množinske oblike"
#~ msgid "...but some messages have only one plural form"
#~ msgid_plural "...but some messages have only %lu plural forms"
#~ msgstr[0] "...nekatera sporočila pa imajo samo %lu množinskih oblik"
#~ msgstr[1] "...nekatera sporočila pa imajo samo %lu množinsko obliko"
#~ msgstr[2] "...nekatera sporočila pa imajo samo %lu množinski obliki"
#~ msgstr[3] "...nekatera sporočila pa imajo samo %lu množinske oblike"

# This message needs msgid_plural form!
# msgstr[0] "...nekatera sporočila pa imajo %lu množinskih oblik"
# msgstr[1] "...nekatera sporočila pa imajo %lu množinsko obliko"
# msgstr[2] "...nekatera sporočila pa imajo %lu množinski obliki"
# msgstr[3] "...nekatera sporočila pa imajo %lu množinske oblike"
#~ msgid "...but some messages have one plural form"
#~ msgid_plural "...but some messages have %lu plural forms"
#~ msgstr[0] "...nekatera sporočila pa imajo %lu množinskih oblik"
#~ msgstr[1] "...nekatera sporočila pa imajo %lu množinsko obliko"
#~ msgstr[2] "...nekatera sporočila pa imajo %lu množinski obliki"
#~ msgstr[3] "...nekatera sporočila pa imajo %lu množinske oblike"

#~ msgid "Try using the following, valid for %s:\n"
#~ msgstr "Poskusite uporabiti naslednje, veljavno za %s:\n"

#~ msgid ""
#~ "message catalog has plural form translations, but lacks a header entry "
#~ "with \"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
#~ msgstr ""
#~ "katalog sporočil vsebuje množinske oblike, manjka pa glava z določili\n"
#~ "\"Plural-Forms: nplurals=ŠTEVILO; plural=IZRAZ;\""

#~ msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
#~ msgstr "polji ,msgid` in ,msgid_plural` se ne začneta obe z ,\\n`"

#~ msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
#~ msgstr "polji ,msgid` in ,msgstr[%u]` se ne začneta obe z ,\\n`"

#~ msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
#~ msgstr "polji ,msgid` in ,msgstr` se ne začneta obe z ,\\n`"

#~ msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
#~ msgstr "polji ,msgid` in ,msgid_plural` se ne končata obe z ,\\n`"

#~ msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
#~ msgstr "polji ,msgid` in ,msgstr[%u]` se ne končata obe z ,\\n`"

#~ msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
#~ msgstr "polji ,msgid' in ,msgstr` se ne končata obe z ,\\n`"

#~ msgid "plural handling is a GNU gettext extension"
#~ msgstr "rokovanje z množinskimi oblikami je razširitev GNU gettext"

#~ msgid "'%s' is not a valid %s format string, unlike 'msgid'"
#~ msgstr ",%s` za razliko od ,msgid` ni veljaven formatni niz %s"

#~ msgid "msgstr lacks the keyboard accelerator mark '%c'"
#~ msgstr "v msgstr manjka oznaka bližnjice ,%c`"

#~ msgid "msgstr has too many keyboard accelerator marks '%c'"
#~ msgstr "v msgstr je preveč oznak bližnjic ,%c`"

#~ msgid "headerfield `%s' missing in header\n"
#~ msgstr "v glavi manjka polje ,%s`\n"

#~ msgid "header field `%s' should start at beginning of line\n"
#~ msgstr "polje ,%s` v glavi se mora začeti na začetku vrstice\n"

#~ msgid "some header fields still have the initial default value\n"
#~ msgstr "nekatera polja v glavi imajo še vedno začetne privzete vrednosti\n"

#~ msgid "field `%s' still has initial default value\n"
#~ msgstr "polje ,%s' ima še vedno začetno privzeto vrednost\n"

#~ msgid "warning: PO file header missing or invalid\n"
#~ msgstr "opozorilo: glava datoteke PO ni veljavna ali pa manjka\n"

#~ msgid "warning: charset conversion will not work\n"
#~ msgstr "opozorilo: pretvorba v navedeni nabor znakov ne bo delovala\n"

#~ msgid "warning: PO file header fuzzy\n"
#~ msgstr "opozorilo: glava datoteke PO ni razberljiva\n"

#~ msgid "warning: older versions of msgfmt will give an error on this\n"
#~ msgstr "opozorilo: starejše izdaje msgfmt bodo pri tem javile napako\n"

#~ msgid "domain name \"%s\" not suitable as file name"
#~ msgstr "ime domene \"%s\" ni primerno kot ime datoteke"

#~ msgid "domain name \"%s\" not suitable as file name: will use prefix"
#~ msgstr "ime domene \"%s\" ni primerno kot ime datoteke: uporabimo predpono"

#~ msgid "`domain %s' directive ignored"
#~ msgstr "direktiva ,domain %s` ni bila upoštevana"

#~ msgid "empty `msgstr' entry ignored"
#~ msgstr "prazno polje ,msgstr` zavrženo"

#~ msgid "fuzzy `msgstr' entry ignored"
#~ msgstr "ohlapni vnos za polje ,msgstr` zavržen"

#~ msgid "%s: warning: source file contains fuzzy translation"
#~ msgstr "%s: opozorilo: vhodna datoteka vsebuje ohlapne (fuzzy) prevode"

#~ msgid "option '%c' cannot be used before 'K' or 'T' has been specified"
#~ msgstr ""
#~ "izbire ,%c` ni moč uporabiti, preden sta izbrana bodisi ,K` bodisi ,T`"

#~ msgid ""
#~ "Extracts all messages of a translation catalog that match a given "
#~ "pattern\n"
#~ "or belong to some given source files.\n"
#~ msgstr ""
#~ "Izvlečemo vsa sporočila iz kataloga prevodov, ki ustrezajo danemu vzorcu "
#~ "ali\n"
#~ "pripadajo dani izvorni datoteki.\n"

#~ msgid ""
#~ "Message selection:\n"
#~ "  [-N SOURCEFILE]... [-M DOMAINNAME]...\n"
#~ "  [-K MSGID-PATTERN] [-T MSGSTR-PATTERN] [-C COMMENT-PATTERN]\n"
#~ "A message is selected if it comes from one of the specified source "
#~ "files,\n"
#~ "or if it comes from one of the specified domains,\n"
#~ "or if -K is given and its key (msgid or msgid_plural) matches MSGID-"
#~ "PATTERN,\n"
#~ "or if -T is given and its translation (msgstr) matches MSGSTR-PATTERN,\n"
#~ "or if -C is given and the translator's comment matches COMMENT-PATTERN.\n"
#~ "\n"
#~ "When more than one selection criterion is specified, the set of selected\n"
#~ "messages is the union of the selected messages of each criterion.\n"
#~ "\n"
#~ "MSGID-PATTERN or MSGSTR-PATTERN syntax:\n"
#~ "  [-E | -F] [-e PATTERN | -f FILE]...\n"
#~ "PATTERNs are basic regular expressions by default, or extended regular\n"
#~ "expressions if -E is given, or fixed strings if -F is given.\n"
#~ "\n"
#~ "  -N, --location=SOURCEFILE   select messages extracted from SOURCEFILE\n"
#~ "  -M, --domain=DOMAINNAME     select messages belonging to domain "
#~ "DOMAINNAME\n"
#~ "  -K, --msgid                 start of patterns for the msgid\n"
#~ "  -T, --msgstr                start of patterns for the msgstr\n"
#~ "  -E, --extended-regexp       PATTERN is an extended regular expression\n"
#~ "  -F, --fixed-strings         PATTERN is a set of newline-separated "
#~ "strings\n"
#~ "  -e, --regexp=PATTERN        use PATTERN as a regular expression\n"
#~ "  -f, --file=FILE             obtain PATTERN from FILE\n"
#~ "  -i, --ignore-case           ignore case distinctions\n"
#~ msgstr ""
#~ "Izbira sporočil:\n"
#~ "  [-N IZVORNA_DATOTEKA]... [-M DOMENA]... \n"
#~ "  [-K VZOREC-MSGID] [-T VZOREC-MSGSTR] [-C VZOREC_KOMENTARJA]\n"
#~ "Sporočilo izberemo, če izvira iz ene od navedenih izvornih datotek,\n"
#~ "ali če izvira iz ene od navedenih domen,\n"
#~ "ali če je podana izbira -K in izvorna sporočila (msgid ali msgid_plural)\n"
#~ "ustrezajo podanemu vzorcu,\n"
#~ "ali če je podana izbira -T in prevodi sporočil (msgstr) ustrezajo "
#~ "podanemu\n"
#~ "vzorcu,\n"
#~ "ali če je podana izbira -C in in prevajačevi komentarji ustrezajo "
#~ "podanemu\n"
#~ "vzorcu.\n"
#~ "\n"
#~ "Če je podan več kot en pogoj, je množica izbranih sporočil unija "
#~ "izbranih\n"
#~ "sporočil za posamezni pogoj.\n"
#~ "\n"
#~ "Skladnja vzorca msgid ali vzorca msgstr:\n"
#~ "  [-E | -F] [-e VZOREC | -f DATOTEKA]...\n"
#~ "VZOREC je navadni regularni izraz. Razširjene regularne izraze dovolimo "
#~ "s\n"
#~ "stikalom -E, s stikalom -F pa izbiro skrčimo na konstantne nize znakov.\n"
#~ "\n"
#~ "  -N, --location=IZVORNA_DATOTEKA  izberemo sporočila, izvlečena iz "
#~ "navedene\n"
#~ "                                IZVORNE DATOTEKE\n"
#~ "  -M, --domain=DOMENA         izberemo sporočila iz podane DOMENE\n"
#~ "  -K, --msgid                 začetek vzorca msgid\n"
#~ "  -T, --msgstr                začetek vzorca msgstr\n"
#~ "  -E, --extended-regexp       VZOREC je razširjeni regularni izraz\n"
#~ "  -F, --fixed-strings         VZOREC je množica nizov znakov, ločenih z\n"
#~ "                                znakom za novo vrstico\n"
#~ "  -e, --regexp=VZOREC         uporabimo VZOREC kot regularni izraz\n"
#~ "  -f, --file=DATOTEKA         VZOREC preberemo iz navedene datoteke\n"
#~ "  -i, --ignore-case           ne razlikujemo med velikimi in malimi "
#~ "črkami\n"

#~ msgid ""
#~ "Output details:\n"
#~ "      --no-escape             do not use C escapes in output (default)\n"
#~ "      --escape                use C escapes in output, no extended chars\n"
#~ "      --force-po              write PO file even if empty\n"
#~ "      --indent                indented output style\n"
#~ "      --no-location           suppress '#: filename:line' lines\n"
#~ "      --add-location          preserve '#: filename:line' lines "
#~ "(default)\n"
#~ "      --strict                strict Uniforum output style\n"
#~ "  -w, --width=NUMBER          set output page width\n"
#~ "      --no-wrap               do not break long message lines, longer "
#~ "than\n"
#~ "                              the output page width, into several lines\n"
#~ "      --sort-output           generate sorted output\n"
#~ "      --sort-by-file          sort output by file location\n"
#~ msgstr ""
#~ "Podrobnosti izpisa:\n"
#~ "      --no-escape          brez ubežnih sekvenc v skladnji jezika C "
#~ "(privzeto)\n"
#~ "      --escape             z ubežnimi sekvencami v skladnji C, brez \n"
#~ "                             razširjenega nabora znakov\n"
#~ "      --force-po           vedno izpišemo datoteko PO, četudi prazno\n"
#~ "      --indent             izpis datoteke PO z zamiki\n"
#~ "      --no-location        brez vrstic ,#: datoteka:vrstica` v izpisu\n"
#~ "      --add-location       z vrsticami ,#: datoteka:vrstica` v izpisu "
#~ "(privzeto)\n"
#~ "      --strict             izpis v strogi obliki Uniforum, brez "
#~ "razširitev GNU\n"
#~ "  -w, --width=ŠTEVILO      širina strani pri izpisu, v znakih\n"
#~ "      --no-wrap            brez deljenja dolgih sporočil v več vrstic\n"
#~ "      --sort-output        izhod abecedno urejen po sporočilih\n"
#~ "      --sort-by-file       izhod abecedno urejen po izvornih datotekah\n"

#~ msgid "write to grep subprocess failed"
#~ msgstr "pisanje podprocesu grep neuspešno"

#~ msgid ""
#~ "You are in a language indifferent environment.  Please set\n"
#~ "your LANG environment variable, as described in the ABOUT-NLS\n"
#~ "file.  This is necessary so you can test your translations.\n"
#~ msgstr ""
#~ "Nimate nastavljenega jezikovnega okolja. Prosim, nastavite\n"
#~ "spremenljivko LANG, kot je opisano v datoteki ABOUT-NLS.\n"
#~ "Brez tega ne morete preizkusiti vaših prevodov.\n"

#~ msgid ""
#~ "Output file %s already exists.\n"
#~ "Please specify the locale through the --locale option or\n"
#~ "the output .po file through the --output-file option.\n"
#~ msgstr ""
#~ "Izhodna datoteka %s že obstaja.\n"
#~ "Prosim, izberite jezikovno okolje z izbiro --locale, ali pa\n"
#~ "določite izhodno datoteko PO z izbiro --output-file.\n"

#~ msgid "Created %s.\n"
#~ msgstr "Ustvarjena datoteka %s.\n"

#~ msgid ""
#~ "Creates a new PO file, initializing the meta information with values from "
#~ "the\n"
#~ "user's environment.\n"
#~ msgstr ""
#~ "Ustvarimo novo datoteko PO in metainformacije dopolnimo z vrednostmi iz\n"
#~ "uporabnikovega jezikovnega okolja.\n"

#~ msgid ""
#~ "Input file location:\n"
#~ "  -i, --input=INPUTFILE       input POT file\n"
#~ "If no input file is given, the current directory is searched for the POT "
#~ "file.\n"
#~ "If it is -, standard input is read.\n"
#~ msgstr ""
#~ "Izbira vhodne datoteke:\n"
#~ "  -i, --input=DATOTEKA        vhodna datoteka PO\n"
#~ "Če vhodna datoteka ni podana, poskusimo najti datoteko POT v trenutnem "
#~ "imeniku.\n"
#~ "Če je enaka -, se bere standardni vhod.\n"

#~ msgid ""
#~ "Output file location:\n"
#~ "  -o, --output-file=FILE      write output to specified PO file\n"
#~ "If no output file is given, it depends on the --locale option or the "
#~ "user's\n"
#~ "locale setting.  If it is -, the results are written to standard output.\n"
#~ msgstr ""
#~ "Izbira izhodne datoteke:\n"
#~ "  -o, --output-file=DATOTEKA  izhod zapisujemo v navedeno DATOTEKO\n"
#~ "Če izhodna datoteka ni podana, se uporabi vrednost izbire --locale ali "
#~ "pa\n"
#~ "nastavitev uporabnikovega jezikovnega okolja. Če je kot izhodna "
#~ "datoteka \n"
#~ "podan -, se rezultat izpiše na standardni izhod.\n"

#~ msgid ""
#~ "Output details:\n"
#~ "  -l, --locale=LL_CC          set target locale\n"
#~ "      --no-translator         assume the PO file is automatically "
#~ "generated\n"
#~ "  -w, --width=NUMBER          set output page width\n"
#~ "      --no-wrap               do not break long message lines, longer "
#~ "than\n"
#~ "                              the output page width, into several lines\n"
#~ msgstr ""
#~ "Podrobnosti izpisa:\n"
#~ "  -l, --locale=JJ_DD          določitev ciljnega jezikovnega okolja\n"
#~ "      --no-translator         privzamemo, da je datoteka PO samodejno "
#~ "ustvarjena\n"
#~ "  -w, --width=ŠTEVILO         širina strani pri izpisu, v znakih\n"
#~ "      --no-wrap               brez deljenja dolgih sporočil v več vrstic\n"

#~ msgid ""
#~ "Found more than one .pot file.\n"
#~ "Please specify the input .pot file through the --input option.\n"
#~ msgstr ""
#~ "Našli smo več kot eno datoteko .pot.\n"
#~ "Prosim, določite vhodno datoteko .pot z izbiro --input.\n"

#~ msgid "error reading current directory"
#~ msgstr "napaka pri branju trenutnega imenika"

#~ msgid ""
#~ "Found no .pot file in the current directory.\n"
#~ "Please specify the input .pot file through the --input option.\n"
#~ msgstr ""
#~ "V trenutnem imeniku ni najti nobene datoteke .pot.\n"
#~ "Prosim, določite vhodno datoteko .pot z izbiro --input.\n"

#~ msgid "fdopen() failed"
#~ msgstr "klic fdopen() neuspešen"

#~ msgid "%s subprocess I/O error"
#~ msgstr "V/I napaka v podprocesu %s"

#~ msgid "%s subprocess failed with exit code %d"
#~ msgstr "podproces %s neuspešen z izhodno kodo %d"

#~ msgid ""
#~ "The new message catalog should contain your email address, so that users "
#~ "can\n"
#~ "give you feedback about the translations, and so that maintainers can "
#~ "contact\n"
#~ "you in case of unexpected technical problems.\n"
#~ msgstr ""
#~ "Novi katalog sporočil naj vsebuje vaš epoštni naslov, tako da se lahko\n"
#~ "uporabniki obrnejo na vas s povratnimi informacijami glede prevodov, \n"
#~ "vzdrževalci paketov pa v zvezi z morebitnimi tehničnimi težavami.\n"

#~ msgid "English translations for %s package"
#~ msgstr "Slovenski prevodi paketa %s"

#~ msgid "present charset \"%s\" is not a portable encoding name"
#~ msgstr "trenutno izbrani nabor \"%s\" ni prenosljivo ime kodnega nabora"

#~ msgid "two different charsets \"%s\" and \"%s\" in input file"
#~ msgstr "v vhodni datoteki sta dva različna nabora znakov, \"%s\" in \"%s\""

#~ msgid ""
#~ "input file `%s' doesn't contain a header entry with a charset "
#~ "specification"
#~ msgstr "vhodna datoteka ,%s` ne vsebuje glave z določitvijo nabora znakov"

#~ msgid ""
#~ "domain \"%s\" in input file `%s' doesn't contain a header entry with a "
#~ "charset specification"
#~ msgstr ""
#~ "domena \"%s\" v vhodni datoteki ,%s` ne vsebuje glave z določitvijo "
#~ "nabora znakov<"

#~ msgid "target charset \"%s\" is not a portable encoding name."
#~ msgstr "ciljni nabor \"%s\" ni prenosljivo ime kodnega nabora."

#~ msgid "warning: "
#~ msgstr "opozorilo: "

#~ msgid ""
#~ "Input files contain messages in different encodings, UTF-8 among others.\n"
#~ "Converting the output to UTF-8.\n"
#~ msgstr ""
#~ "Vhodne datoteke vsebujejo sporočila v različnih kodnih naborih, med "
#~ "drugim UTF8.\n"
#~ "Izhod je pretvorjen v UTF8.\n"

#~ msgid ""
#~ "Input files contain messages in different encodings, %s and %s among "
#~ "others.\n"
#~ "Converting the output to UTF-8.\n"
#~ "To select a different output encoding, use the --to-code option.\n"
#~ msgstr ""
#~ "Vhodne datoteke vsebujejo sporočila v različnih kodnih naborih, med %s in "
#~ "%s.\n"
#~ "Izhod je pretvorjen v UTF8.\n"
#~ "Drugačen kodni nabor lahko določite z izbiro --to-code.\n"

#~ msgid ""
#~ "Locale charset \"%s\" is different from\n"
#~ "input file charset \"%s\".\n"
#~ "Output of '%s' might be incorrect.\n"
#~ "Possible workarounds are:\n"
#~ msgstr ""
#~ "Kodni nabor jezikovnega okolja \"%s\" se razlikuje od\n"
#~ "kodnega nabora \"%s\" vhodne datoteke.\n"
#~ "Izhod ,%s` bo morda napačen.\n"
#~ "Predlagane rešitve za to težavo so:\n"

#~ msgid "- Set LC_ALL to a locale with encoding %s.\n"
#~ msgstr "- Nastavite LC_ALL na jezikovno okolje s kodnim naborom %s.\n"

#~ msgid ""
#~ "- Convert the translation catalog to %s using 'msgconv',\n"
#~ "  then apply '%s',\n"
#~ "  then convert back to %s using 'msgconv'.\n"
#~ msgstr ""
#~ "- Katalog prevodov z ukazom ,msgconv` pretvorite v %s,\n"
#~ "  zatem uporabite ,%s`,\n"
#~ "  in ga končno z ukazom ,msgconv` pretvorite nazaj v %s.\n"

#~ msgid ""
#~ "- Set LC_ALL to a locale with encoding %s,\n"
#~ "  convert the translation catalog to %s using 'msgconv',\n"
#~ "  then apply '%s',\n"
#~ "  then convert back to %s using 'msgconv'.\n"
#~ msgstr ""
#~ "- Nastavite LC_ALL na jezikovno okolje s kodnim naborom %s,\n"
#~ "  katalog prevodov z ukazom ,msgconv` pretvorite v %s,\n"
#~ "  zatem uporabite ,%s`,\n"
#~ "  in ga končno z ukazom ,msgconv` pretvorite nazaj v %s.\n"

#~ msgid ""
#~ "Locale charset \"%s\" is not a portable encoding name.\n"
#~ "Output of '%s' might be incorrect.\n"
#~ "A possible workaround is to set LC_ALL=C.\n"
#~ msgstr ""
#~ "Nabor jezikovnega okolja \"%s\" ni prenosljivo ime kodnega nabora.\n"
#~ "Izhod ,%s` bo morda napačen.\n"
#~ "Mogoča rešitev za to težavo je, da nastavite LC_ALL=C.\n"

#~ msgid "conversion failure"
#~ msgstr "pretvorba neuspešna"

#~ msgid ""
#~ "input file doesn't contain a header entry with a charset specification"
#~ msgstr "v vhodni datoteki manjka glava z določilom kodnega nabora"

#~ msgid ""
#~ "Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() "
#~ "does not support this conversion."
#~ msgstr ""
#~ "Pretvorba iz \"%s\" v \"%s\" ni mogoča. %s kliče iconv(), ta pa ne "
#~ "podpira te pretvorbe."

#~ msgid ""
#~ "Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version "
#~ "was built without iconv()."
#~ msgstr ""
#~ "Pretvorba iz \"%s\" v \"%s\" ni mogoča. %s kliče iconv(), vendar ta izvod "
#~ "programa ni preveden za uporabo iconv()."

#~ msgid "backup type"
#~ msgstr "vrsta varnostne kopije"

#~ msgid ""
#~ "Merges two Uniforum style .po files together.  The def.po file is an\n"
#~ "existing PO file with translations which will be taken over to the newly\n"
#~ "created file as long as they still match; comments will be preserved,\n"
#~ "but extracted comments and file positions will be discarded.  The ref."
#~ "pot\n"
#~ "file is the last created PO file with up-to-date source references but\n"
#~ "old translations, or a PO Template file (generally created by xgettext);\n"
#~ "any translations or comments in the file will be discarded, however dot\n"
#~ "comments and file positions will be preserved.  Where an exact match\n"
#~ "cannot be found, fuzzy matching is used to produce better results.\n"
#~ msgstr ""
#~ "Združi dve datoteki .po v obliki Uniforum. Datoteka def.po je obstoječa\n"
#~ "datoteka s starimi prevodi, ki bodo, kadar se ujemajo, preneseni v novo\n"
#~ "datoteko. Pri prevedbi se komentarji prevajalca ohranijo, strojno "
#~ "ustvarjeni\n"
#~ "komentarji in podatki o številki vrstice pa ne. Datoteka ref.po je "
#~ "bodisi\n"
#~ "nazadnje ustvarjena datoteka PO z najnovejšimi sklici na vire, a starimi\n"
#~ "prevodi, bodisi vzorčna datoteka PO (navadno ustvarjena z xgettext).\n"
#~ "Kakršnikoli prevodi ali komentarji prevajalca v njej bodo zavrženi, "
#~ "ohranjeni\n"
#~ "pa bodo strojno ustvarjeni komentarji in podatki o številki vrstice. "
#~ "Kjer\n"
#~ "natančnega prevoda ni, se uporabi ohlapni (fuzzy) algoritem.\n"

#~ msgid ""
#~ "Input file location:\n"
#~ "  def.po                      translations referring to old sources\n"
#~ "  ref.pot                     references to new sources\n"
#~ "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files "
#~ "search\n"
#~ "  -C, --compendium=FILE       additional library of message "
#~ "translations,\n"
#~ "                              may be specified more than once\n"
#~ msgstr ""
#~ "Izbira vhodnih datotek:\n"
#~ "  def.po                      prevodi\n"
#~ "  ref.pot                     sklici na vire\n"
#~ "  -D, --directory=IMENIK      vhodne datoteke iščemo tudi v navedenem "
#~ "IMENIKU\n"
#~ "  -C, --compendium=DATOTEKA   dodatna knjižnica s prevodi sporočil; "
#~ "navedemo\n"
#~ "                                lahko več kot eno\n"

#~ msgid ""
#~ "Operation mode:\n"
#~ "  -U, --update                update def.po,\n"
#~ "                              do nothing if def.po already up to date\n"
#~ msgstr ""
#~ "Način delovanja:\n"
#~ "  -U, --update                posodobimo def.po,\n"
#~ "                                če je že posodobljen, ne storimo nič\n"

#~ msgid ""
#~ "Output file location in update mode:\n"
#~ "The result is written back to def.po.\n"
#~ "      --backup=CONTROL        make a backup of def.po\n"
#~ "      --suffix=SUFFIX         override the usual backup suffix\n"
#~ "The version control method may be selected via the --backup option or "
#~ "through\n"
#~ "the VERSION_CONTROL environment variable.  Here are the values:\n"
#~ "  none, off       never make backups (even if --backup is given)\n"
#~ "  numbered, t     make numbered backups\n"
#~ "  existing, nil   numbered if numbered backups exist, simple otherwise\n"
#~ "  simple, never   always make simple backups\n"
#~ "The backup suffix is `~', unless set with --suffix or the "
#~ "SIMPLE_BACKUP_SUFFIX\n"
#~ "environment variable.\n"
#~ msgstr ""
#~ "Mesto izhodne datoteke v posodobitvenem načinu:\n"
#~ "Rezultat se zapiše nazaj v datoteko def.po.\n"
#~ "      --backup=TIP             izdelamo varnostno kopijo datoteke def.po\n"
#~ "  -S, --suffix=PRIPONA         pripona varnostne kopije naj bo PRIPONA\n"
#~ "Vrsto varnostnih kopij lahko nastavimo z izbiro --backup ali "
#~ "spremenljivko\n"
#~ "VERSION_CONTROL. Možnosti so:\n"
#~ "  none, off       nikoli ne delamo varnostne kopije, niti z izbiro --"
#~ "backup\n"
#~ "  numbered, t     oštevilčene varnostne kopije\n"
#~ "  existing, nil   oštevilčene varnostne kopije, če take že obstajajo,\n"
#~ "                  sicer enostavne\n"
#~ "  simple, never   vedno enostavne varnostne kopije\n"
#~ "Varnostna kopija ima pripono ,~`, razen če ni z izbiro --suffix ali\n"
#~ "spremenljivko SIMPLE_BACKUP_SUFFIX nastavljeno drugače. \n"

#~ msgid ""
#~ "Informative output:\n"
#~ "  -h, --help                  display this help and exit\n"
#~ "  -V, --version               output version information and exit\n"
#~ "  -v, --verbose               increase verbosity level\n"
#~ "  -q, --quiet, --silent       suppress progress indicators\n"
#~ msgstr ""
#~ "Informativni izpis:\n"
#~ "  -h, --help                  ta navodila\n"
#~ "  -V, --version               različica programa\n"
#~ "  -v, --verbose               z obširnejšo razlago delovanja med potekom\n"
#~ "  -q, --quiet, --silent       brez kazalnika poteka\n"

#~ msgid "this message should define plural forms"
#~ msgstr "pri tem sporočilu bi morale biti določene množinske oblike"

#~ msgid "this message should not define plural forms"
#~ msgstr "pri tem sporočilu ne bi smele biti določene množinske oblike"

#~ msgid ""
#~ "%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
#~ "obsolete %ld.\n"
#~ msgstr ""
#~ "%sPrebrano %ld starih + %ld referenčnih, združenih %ld, ohlapnih %ld, "
#~ "manjkajočih %ld, opuščenih %ld.\n"

#~ msgid " done.\n"
#~ msgstr " opravljeno.\n"

#~ msgid "%s and explicit file names are mutually exclusive"
#~ msgstr "%s in izrecna imena datotek se med seboj izključujejo"

#~ msgid "Convert binary message catalog to Uniforum style .po file.\n"
#~ msgstr ""
#~ "Pretvorba kataloga sporočil iz binarne oblike .mo v obliko Uniforum .po.\n"

#~ msgid ""
#~ "Operation mode:\n"
#~ "  -j, --java               Java mode: input is a Java ResourceBundle "
#~ "class\n"
#~ "      --tcl                Tcl mode: input is a tcl/msgcat .msg file\n"
#~ msgstr ""
#~ "Način delovanja:\n"
#~ "  -j, --java                  javanski način: ustvarimo javanski razred\n"
#~ "                                ResourceBundle\n"
#~ "      --tcl                   način tcl: vhod je datoteka tcl/msgcat ."
#~ "msg\n"

#~ msgid ""
#~ "Input file location:\n"
#~ "  FILE ...                 input .mo files\n"
#~ "If no input file is given or if it is -, standard input is read.\n"
#~ msgstr ""
#~ "Izbira vhodne datoteke:\n"
#~ "  DATOTEKA ...                datoteka MO (ali več datotek MO)\n"
#~ "Če vhodna datoteka ni podana ali je enaka -, se bere standardni vhod.\n"

#~ msgid ""
#~ "Input file location in Java mode:\n"
#~ "  -r, --resource=RESOURCE  resource name\n"
#~ "  -l, --locale=LOCALE      locale name, either language or "
#~ "language_COUNTRY\n"
#~ "The class name is determined by appending the locale name to the resource "
#~ "name,\n"
#~ "separated with an underscore.  The class is located using the CLASSPATH.\n"
#~ msgstr ""
#~ "Izbira izhodne datoteke v javanskem načinu:\n"
#~ "  -r, --resource=SREDSTVO     ime sredstva\n"
#~ "  -l, --locale=JJ_DD          jezikovno okolje (jezik ali jezik_država)\n"
#~ "Ime razreda je sestavljeno iz imena sredstva, ki se mu, ločeno s "
#~ "podčrtajem,\n"
#~ "pridá ime jezikovnega okolja. Razred je določen s spremenljivko "
#~ "CLASSPATH.\n"

#~ msgid ""
#~ "Input file location in Tcl mode:\n"
#~ "  -l, --locale=LOCALE      locale name, either language or "
#~ "language_COUNTRY\n"
#~ "  -d DIRECTORY             base directory of .msg message catalogs\n"
#~ "The -l and -d options are mandatory.  The .msg file is located in the\n"
#~ "specified directory.\n"
#~ msgstr ""
#~ "Izbira izhodne datoteke v načinu tcl:\n"
#~ "  -l, --locale=JJ_DD          jezikovno okolje (jezik ali jezik_država)\n"
#~ "  -d IMENIK                   korenski imenik hierarhije razredov\n"
#~ "Izbiri -l in -d sta obvezni. Datoteka .msg se zapiše v podani imenik.\n"

#~ msgid ""
#~ "Output file location:\n"
#~ "  -o, --output-file=FILE   write output to specified file\n"
#~ "The results are written to standard output if no output file is "
#~ "specified\n"
#~ "or if it is -.\n"
#~ msgstr ""
#~ "Izbira izhodne datoteke:\n"
#~ "  -o, --output-file=DATOTEKA  izhod zapisujemo v navedeno DATOTEKO\n"
#~ "Če izhodna datoteka ni podana ali je enaka -, se rezultat izpiše na "
#~ "standardni\n"
#~ "izhod.\n"

#~ msgid ""
#~ "Output details:\n"
#~ "  -e, --no-escape          do not use C escapes in output (default)\n"
#~ "  -E, --escape             use C escapes in output, no extended chars\n"
#~ "      --force-po           write PO file even if empty\n"
#~ "  -i, --indent             write indented output style\n"
#~ "      --strict             write strict uniforum style\n"
#~ "  -w, --width=NUMBER       set output page width\n"
#~ "      --no-wrap            do not break long message lines, longer than\n"
#~ "                           the output page width, into several lines\n"
#~ "  -s, --sort-output        generate sorted output\n"
#~ msgstr ""
#~ "Podrobnosti izpisa:\n"
#~ "  -e, --no-escape          brez ubežnih sekvenc v obliki C (privzeto)\n"
#~ "  -E, --escape             z ubežnimi sekvencami C, brez razširjenega\n"
#~ "                           nabora znakov\n"
#~ "      --force-po           vedno izpišemo datoteko PO, četudi prazno\n"
#~ "  -i, --indent             izpis datoteke PO z zamiki\n"
#~ "      --strict             izpis v strogi obliki Uniforum, brez "
#~ "razširitev\n"
#~ "  -w, --width=ŠTEVILO      širina strani pri izpisu, v znakih\n"
#~ "      --no-wrap            brez deljenja dolgih sporočil v več vrstic\n"
#~ "  -s, --sort-output        abecedno urejen izpis\n"

#~ msgid ""
#~ "Informative output:\n"
#~ "  -h, --help               display this help and exit\n"
#~ "  -V, --version            output version information and exit\n"
#~ "  -v, --verbose            increase verbosity level\n"
#~ msgstr ""
#~ "Informativni izpis:\n"
#~ "  -h, --help               ta navodila\n"
#~ "  -V, --version            različica programa\n"
#~ "  -v, --verbose            s podrobnejšo razlago delovanja med potekom\n"

#~ msgid ""
#~ "Unifies duplicate translations in a translation catalog.\n"
#~ "Finds duplicate translations of the same message ID.  Such duplicates "
#~ "are\n"
#~ "invalid input for other programs like msgfmt, msgmerge or msgcat.  By\n"
#~ "default, duplicates are merged together.  When using the --repeated "
#~ "option,\n"
#~ "only duplicates are output, and all other messages are discarded.  "
#~ "Comments\n"
#~ "and extracted comments will be cumulated, except that if --use-first is\n"
#~ "specified, they will be taken from the first translation.  File "
#~ "positions\n"
#~ "will be cumulated.  When using the --unique option, duplicates are "
#~ "discarded.\n"
#~ msgstr ""
#~ "Poenotenje podvojenih prevodov v katalogu sporočil.\n"
#~ "Poiščemo podvojene prevode istega izvornega sporočila. Taki podvojeni "
#~ "vnosi\n"
#~ "niso veljavni vhodni podatki za programe, kot so msgfmt, msgmerge ali "
#~ "msgcat.\n"
#~ "Privzeto so podvojeni prevodi združeni. Z izbiro --repeated izpišemo le \n"
#~ "podvojene prevode, drugih pa ne. Ohranijo se vsi komentarji prevajalcev "
#~ "ter\n"
#~ "komentarji ob izvlačenju, razen če z izbiro --use-first ne zahtevamo, da "
#~ "se\n"
#~ "ohranijo le komentarji prvega prevoda. Ohranijo se vsi podatki o mestu\n"
#~ "sporočila v izvorni datoteki. Z izbiro --unique se podvojena sporočila "
#~ "zavržejo.\n"

#~ msgid ""
#~ "Message selection:\n"
#~ "  -d, --repeated                 print only duplicates\n"
#~ "  -u, --unique                   print only unique messages, discard "
#~ "duplicates\n"
#~ msgstr ""
#~ "Izbira sporočil:\n"
#~ "  -d, --repeated                 izpišemo le podvojena sporočila\n"
#~ "  -u, --unique                   vsako sporočilo izpišemo le enkrat,\n"
#~ "                                   dvojnike zavržemo\n"

#~ msgid "<stdin>"
#~ msgstr "<st. vhod>"

#~ msgid "%s: warning: "
#~ msgstr "%s: opozorilo: "

#~ msgid ""
#~ "Charset \"%s\" is not a portable encoding name.\n"
#~ "Message conversion to user's charset might not work.\n"
#~ msgstr ""
#~ "Nabor \"%s\" ni prenosljivo ime kodnega nabora.\n"
#~ "Pretvorba sporočil v uporabnikov kodni nabor morda ne bo delovala.\n"

#~ msgid "Continuing anyway, expect parse errors."
#~ msgstr "Težavam navzlic nadaljujemo, pričakujte napake pri razčlembi."

#~ msgid "Continuing anyway."
#~ msgstr "Težavam navzlic nadaljujemo."

#~ msgid ""
#~ "Charset \"%s\" is not supported. %s relies on iconv(),\n"
#~ "and iconv() does not support \"%s\".\n"
#~ msgstr ""
#~ "Nabor \"%s\" ni podprt. %s se naslanja na iconv(),\n"
#~ "in iconv() ne podpira \"%s\".\n"

#~ msgid ""
#~ "Installing GNU libiconv and then reinstalling GNU gettext\n"
#~ "would fix this problem.\n"
#~ msgstr ""
#~ "Namestitev knjižnice GNU libiconv in ponovno prevajanje paketa\n"
#~ "GNU Gettext bi moralo odpraviti to težavo.\n"

#~ msgid "%s\n"
#~ msgstr "%s\n"

#~ msgid ""
#~ "Charset \"%s\" is not supported. %s relies on iconv().\n"
#~ "This version was built without iconv().\n"
#~ msgstr ""
#~ "Nabor \"%s\" ni podprt. %s se naslanja na iconv().\n"
#~ "Ta izdaja je bila prevedena brez iconv().\n"

#~ msgid ""
#~ "Charset missing in header.\n"
#~ "Message conversion to user's charset will not work.\n"
#~ msgstr ""
#~ "V glavi ni naveden nabor znakov.\n"
#~ "Pretvorba sporočil v uporabnikov nabor znakov ne bo delovala.\n"

#~ msgid "inconsistent use of #~"
#~ msgstr "neskladna raba #~"

#~ msgid "missing `msgstr[]' section"
#~ msgstr "manjkajoč razdelek ,msgstr[]`"

#~ msgid "missing `msgid_plural' section"
#~ msgstr "manjkajoč razdelek ,msgid_plural`"

#~ msgid "missing `msgstr' section"
#~ msgstr "manjkajoč razdelek ,msgstr`"

#~ msgid "first plural form has nonzero index"
#~ msgstr "prva množinska oblika ima indeks različen od nič"

#~ msgid "plural form has wrong index"
#~ msgstr "množinska oblika ima napačen indeks"

#~ msgid "too many errors, aborting"
#~ msgstr "preveč napak, nadaljevanje ni možno"

#~ msgid "invalid multibyte sequence"
#~ msgstr "neveljavno večzložno zaporedje"

#~ msgid "incomplete multibyte sequence at end of file"
#~ msgstr "nepopolno večzložno zaporedje na koncu datoteke"

#~ msgid "incomplete multibyte sequence at end of line"
#~ msgstr "nepopolno večzložno zaporedje na koncu vrstice"

#~ msgid "iconv failure"
#~ msgstr "iconv neuspešen"

#~ msgid "keyword \"%s\" unknown"
#~ msgstr "ključna beseda \"%s\" neprepoznana"

#~ msgid "invalid control sequence"
#~ msgstr "neveljavno krmilno zaporedje"

#~ msgid "end-of-file within string"
#~ msgstr "znak za konec datoteke sredi niza"

#~ msgid "end-of-line within string"
#~ msgstr "znak za konec vrstice sredi niza"

#~ msgid "file \"%s\" is truncated"
#~ msgstr "datoteka \"%s\" je okrnjena"

#~ msgid "file \"%s\" contains a not NUL terminated string"
#~ msgstr "datoteka \"%s\" vsebuje niz, ki ni zaključen z NUL"

#~ msgid "file \"%s\" is not in GNU .mo format"
#~ msgstr "datoteka \"%s\" ni v obliki GNU .mo"

#~ msgid "file \"%s\" contains a not NUL terminated string, at %s"
#~ msgstr "datoteka \"%s\" vsebuje pri %s niz, ki ni zaključen z NUL"

#~ msgid "expected two arguments"
#~ msgstr "pričakujemo dva argumenta"

#~ msgid "Usage: %s [OPTION] URL FILE\n"
#~ msgstr "Uporaba: %s [IZBIRA] URL DATOTEKA\n"

#~ msgid ""
#~ "Fetches and outputs the contents of an URL.  If the URL cannot be "
#~ "accessed,\n"
#~ "the locally accessible FILE is used instead.\n"
#~ msgstr ""
#~ "Prinese in izpiše vsebino podanega URL. Če URL ni dosegljiv, se uporabni\n"
#~ "krajevno dostopna DATOTEKA.\n"

#~ msgid "error writing stdout"
#~ msgstr "napaka pri pisanju na standardni izhod"

#~ msgid "cannot find a temporary directory, try setting $TMPDIR"
#~ msgstr "začasnega imenika ni mogoče najti, poskusite nastaviti $TMPDIR"

#~ msgid "cannot create a temporary directory using template \"%s\""
#~ msgstr "ni mogoče ustvariti začasnega imenika z vzorcem \"%s\""

#~ msgid "not a valid Java class name: %s"
#~ msgstr "ni veljavno javansko ime razreda: %s"

#~ msgid "failed to create \"%s\""
#~ msgstr "ustvarjanje \"%s\" neuspešno"

#~ msgid "error while writing \"%s\" file"
#~ msgstr "napaka pri pisanju na datoteko \"%s\""

#~ msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
#~ msgstr ""
#~ "prevajanje javanskega razreda neuspešno, uporabite --verbose ali "
#~ "nastavite $JAVAC"

#~ msgid "error while opening \"%s\" for writing"
#~ msgstr "napaka pri pisanju na \"%s\""

#~ msgid ""
#~ "internationalized messages should not contain the `\\%c' escape sequence"
#~ msgstr ""
#~ "internacionalizirana sporočila ne smejo vsebovati ubežne sekvence ,\\%c'"

#~ msgid ""
#~ "The following msgid contains non-ASCII characters.\n"
#~ "This will cause problems to translators who use a character encoding\n"
#~ "different from yours. Consider using a pure ASCII msgid instead.\n"
#~ "%s\n"
#~ msgstr ""
#~ "Naslednje izvorno sporočilo (msgid) vsebuje znake, ki niso del nabora "
#~ "ASCII.\n"
#~ "To bo povzročilo težave prevajalcem, ki uporabljajo drugačen nabor znakov "
#~ "kot\n"
#~ "vi. Razmislite o uporabi sporočil v naboru znakov ASCII.\n"
#~ "%s\n"

#~ msgid "cannot create output file \"%s\""
#~ msgstr "izhodne datoteke \"%s\" ni mogoče ustvariti"

#~ msgid "standard output"
#~ msgstr "standardni izhod"

#~ msgid "%s:%d: warning: unterminated character constant"
#~ msgstr "%s:%d: opozorilo: nezaključena znakovna konstanta"

#~ msgid "%s:%d: warning: unterminated string literal"
#~ msgstr "%s:%d: opozorilo: nezaključen niz"

#~ msgid "this file may not contain domain directives"
#~ msgstr "ta datoteka morda ne vsebuje direktiv domene"

#~ msgid "%s:%d: invalid string definition"
#~ msgstr "%s:%d: neveljavna definicija niza"

#~ msgid "%s:%d: missing number after #"
#~ msgstr "%s:%d: za # manjka številka"

#~ msgid "%s:%d: invalid string expression"
#~ msgstr "%s:%d: niz ni veljaven izraz"

#~ msgid "--join-existing cannot be used when output is written to stdout"
#~ msgstr "pri izpisu na standardni izhod ne moremo uporabiti --join-existing"

#~ msgid "xgettext cannot work without keywords to look for"
#~ msgstr "xgettext ne deluje brez ključnih besed, ki naj jih išče"

#~ msgid "warning: file `%s' extension `%s' is unknown; will try C"
#~ msgstr ""
#~ "opozorilo: vrsta datoteka ,%s' s pripono ,%s' ni prepoznana; poskušamo C"

#~ msgid "Extract translatable strings from given input files.\n"
#~ msgstr "Iz vhodnih datotek izvlečemo prevedljive nize znakov.\n"

#~ msgid ""
#~ "Mandatory arguments to long options are mandatory for short options too.\n"
#~ "Similarly for optional arguments.\n"
#~ msgstr ""
#~ "Če je pri dolgi obliki izbire naveden obvezen argument, je ta obvezen\n"
#~ "tudi za kratko obliko. Enako za neobvezne argumente.\n"

#~ msgid ""
#~ "Output file location:\n"
#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
#~ "messages.po)\n"
#~ "  -o, --output=FILE              write output to specified file\n"
#~ "  -p, --output-dir=DIR           output files will be placed in directory "
#~ "DIR\n"
#~ "If output file is -, output is written to standard output.\n"
#~ msgstr ""
#~ "Izbira izhodne datoteke:\n"
#~ "  -d, --default-domain=DOMENA    namesto messages.po je privzeta  DOMENA."
#~ "po\n"
#~ "  -o, --output-file=DATOTEKA     izhod zapisujemo v navedeno DATOTEKO\n"
#~ "  -p, --output-dir=IMENIK        izhodne datoteke pišemo v navedeni "
#~ "IMENIK\n"
#~ "Če je kot izhodna datoteka navedeno -, se rezultat izpiše na standardni\n"
#~ "izhod.\n"

#~ msgid ""
#~ "Choice of input file language:\n"
#~ "  -L, --language=NAME            recognise the specified language\n"
#~ "                                   (C, C++, ObjectiveC, PO, Python, "
#~ "Lisp,\n"
#~ "                                   EmacsLisp, librep, Java, awk, YCP, "
#~ "Tcl,\n"
#~ "                                   RST, Glade)\n"
#~ "  -C, --c++                      shorthand for --language=C++\n"
#~ "By default the language is guessed depending on the input file name "
#~ "extension.\n"
#~ msgstr ""
#~ "Izbira vhodnega jezika:\n"
#~ "  -L, --language=JEZIK           obravnavaj vhodno datoteko v danem "
#~ "JEZIKU\n"
#~ "                                   (C, C++, objektni C, PO, lisp, emacs "
#~ "lisp,\n"
#~ "                                    librep, java, awk, YCP, TCL, RST, "
#~ "glade)\n"
#~ "  -C, --c++                      okrajšava za --language=C++\n"
#~ "Privzeto se jezik poskusi uganiti iz pripone vhodne datoteke.\n"

#~ msgid ""
#~ "Operation mode:\n"
#~ "  -j, --join-existing            join messages with existing file\n"
#~ "  -x, --exclude-file=FILE.po     entries from FILE.po are not extracted\n"
#~ "  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
#~ "                                 preceding keyword lines) in output file\n"
#~ msgstr ""
#~ "Način delovanja:\n"
#~ "  -j, --join-existing            združi sporočila z obstoječo datoteko\n"
#~ "  -x, --exclude-file=DATOTEKA.po  vnosov iz navedene DATOTEKE ne "
#~ "izvlečemo\n"
#~ "  -c, --add-comments[=ZNAČKA]    v vhodno datoteko dodamo komentar z "
#~ "navedeno\n"
#~ "                                  ZNAČKO\n"

#~ msgid ""
#~ "Language=C/C++ specific options:\n"
#~ "  -a, --extract-all              extract all strings\n"
#~ "  -k, --keyword[=WORD]           additional keyword to be looked for "
#~ "(without\n"
#~ "                                 WORD means not to use default keywords)\n"
#~ "  -T, --trigraphs                understand ANSI C trigraphs for input\n"
#~ "      --debug                    more detailed formatstring recognition "
#~ "result\n"
#~ msgstr ""
#~ "  -a, --extract-all              iz datotek potegnemo vse nize\n"
#~ "  -k, --keyword[=BESEDA]         iskanje po dodatnih ključih besedah "
#~ "(prazen\n"
#~ "                                   niz BESEDA pomeni brez uporabe "
#~ "privzetih\n"
#~ "                                   ključnih besed)\n"
#~ "  -T, --trigraphs                razumi trigrafe ANSI C na vhodu\n"
#~ "      --debug                    bolj razčlenjen rezultat razpoznave\n"
#~ "                                   oblikovnega niza\n"

#~ msgid ""
#~ "Output details:\n"
#~ "  -e, --no-escape                do not use C escapes in output "
#~ "(default)\n"
#~ "  -E, --escape                   use C escapes in output, no extended "
#~ "chars\n"
#~ "      --force-po                 write PO file even if empty\n"
#~ "  -i, --indent                   write the .po file using indented style\n"
#~ "      --no-location              do not write '#: filename:line' lines\n"
#~ "  -n, --add-location             generate '#: filename:line' lines "
#~ "(default)\n"
#~ "      --strict                   write out strict Uniforum conforming .po "
#~ "file\n"
#~ "  -w, --width=NUMBER             set output page width\n"
#~ "      --no-wrap                  do not break long message lines, longer "
#~ "than\n"
#~ "                                 the output page width, into several "
#~ "lines\n"
#~ "  -s, --sort-output              generate sorted output\n"
#~ "  -F, --sort-by-file             sort output by file location\n"
#~ "      --omit-header              don't write header with `msgid \"\"' "
#~ "entry\n"
#~ "      --copyright-holder=STRING  set copyright holder in output\n"
#~ "      --foreign-user             omit FSF copyright in output for foreign "
#~ "user\n"
#~ "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr "
#~ "entries\n"
#~ "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr "
#~ "entries\n"
#~ msgstr ""
#~ "Podrobnosti izpisa:\n"
#~ "  -e, --no-escape          brez ubežnih sekvenc v skladnji jezika C "
#~ "(privzeto)\n"
#~ "  -E, --escape             z ubežnimi sekvencami v skladnji C, brez \n"
#~ "                             razširjenega nabora znakov\n"
#~ "      --force-po           vedno izpišemo datoteko PO, četudi prazno\n"
#~ "  -i, --indent             izpis datoteke PO z zamiki\n"
#~ "      --no-location        brez vrstic ,#: datoteka:vrstica` v izpisu\n"
#~ "  -n, --add-location       z vrsticami ,#: datoteka:vrstica` v izpisu "
#~ "(privzeto)\n"
#~ "      --strict             izpis v strogi obliki Uniforum, brez "
#~ "razširitev GNU\n"
#~ "  -w, --width=ŠTEVILO      širina strani pri izpisu, v znakih\n"
#~ "      --no-wrap            brez deljenja dolgih sporočil v več vrstic\n"
#~ "  -s, --sort-output        izhod abecedno urejen po sporočilih\n"
#~ "  -F, --sort-by-file       izhod abecedno urejen po izvornih datotekah\n"
#~ "      --omit-header        brez glave z vnosom \"msgid\"\n"
#~ "      --copyright-holder=NIZ  v izhodu nastavimo nosilca avtorskih pravic "
#~ "na NIZ\n"
#~ "      --foreign-user       brez copyrighta FSF v izpisu za tuje "
#~ "uporabnike\n"
#~ "  -m, --msgstr-prefix[=NIZ]  NIZ ali \"\" kot predpona za msgstr\n"
#~ "  -m, --msgstr-suffix[=NIZ]  NIZ ali \"\" kot pripona za msgstr\n"

#~ msgid ""
#~ "Empty msgid.  It is reserved by GNU gettext:\n"
#~ "gettext(\"\") returns the header entry with\n"
#~ "meta information, not the empty string.\n"
#~ msgstr ""
#~ "Prazen msgid. Ta vnos je rezerviran za GNU gettext:\n"
#~ "gettext(\"\") vrne glavo z metapodatki, ne pa\n"
#~ "praznega niza.\n"

#~ msgid "language `%s' unknown"
#~ msgstr "jezik ,%s` ni poznan"

#~ msgid "file \"%s\" contains a not NUL terminated sysdep segment"
#~ msgstr "datoteka \"%s\" vsebuje sistemski segment, ki ni zaključen z NUL"

#~ msgid "seek \"%s\" offset %ld failed"
#~ msgstr "dostop do \"%s\" ofset %ld ni možen"

#~ msgid ""
#~ "Operation mode:\n"
#~ "  -j, --java               Java mode: generate a Java ResourceBundle "
#~ "class\n"
#~ msgstr ""
#~ "Način delovanja:\n"
#~ "  -j, --java                  javanski način: ustvarimo javanski razred\n"
#~ "                                ResourceBundle\n"

#~ msgid "a format specification for argument {%u} doesn't exist in 'msgstr'"
#~ msgstr "v ,msgstr` ni formatnega določila za argument {%u}"

#~ msgid "a format specification for argument '%s' doesn't exist in 'msgstr'"
#~ msgstr "v ,msgstr` ni formatnega določila za argument ,%s`"

#~ msgid "a format specification for argument %u doesn't exist in 'msgstr'"
#~ msgstr "v ,msgstr` ni formatnega določila za argument %u"

#~ msgid "this message has no definition in the \"%s\" domain"
#~ msgstr "to sporočilo ni definirano v domeni \"%s\""

#~ msgid "while preparing output"
#~ msgstr "med pripravo izpisa"

#  POZOR!  Nepopolni prevodi
#~ msgid ""
#~ "Usage: %s [OPTION] INPUTFILE ...\n"
#~ "Mandatory arguments to long options are mandatory for short options too.\n"
#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
#~ "messages.po)\n"
#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
#~ "search\n"
#~ "  -e, --no-escape                do not use C escapes in output "
#~ "(default)\n"
#~ "  -E, --escape                   use C escapes in output, no extended "
#~ "chars\n"
#~ "  -f, --files-from=FILE          get list of input files from FILE\n"
#~ "      --force-po                 write PO file even if empty\n"
#~ "  -F, --sort-by-file             sort output by file location\n"
#~ "  -h, --help                     display this help and exit\n"
#~ msgstr ""
#~ "Uporaba: %s [IZBIRA] VHODNA_DATOTEKA ...\n"
#~ "Argumenti, obvezni za dolge oblike izbire, so obvezni tudi za kratke.\n"
#~ "  -d, --default-domain=IME       izhod na IME.po (namesto messages.po)\n"
#~ "  -D, --directory=IMENIK         vhodne datoteke iščemo tudi v imeniku "
#~ "IMENIK\n"
#~ "  -e, --no-escape                brez ubežnih sekvenc v obliki C "
#~ "(privzeto)\n"
#~ "  -E, --escape                   z ubežnimi sekvencami C, brez "
#~ "razširjenega\n"
#~ "                                 nabora znakov\n"
#~ "  -f, --files-from=DATOTEKA      seznam vhodnih datotek preberemo z "
#~ "DATOTEKE\n"
#~ "      --force-po                 datoteko PO zapišemo, četudi je prazna\n"
#~ "  -F, --sort-by-file             izhod uredimo po lokaciji datotek\n"
#~ "  -h, --help                     ta navodila\n"

#  POZOR!  Nepopolni prevodi
#~ msgid ""
#~ "  -i, --indent                   write the .po file using indented style\n"
#~ "      --no-location              do not write '#: filename:line' lines\n"
#~ "  -n, --add-location             generate '#: filename:line' lines "
#~ "(default)\n"
#~ "      --omit-header              don't write header with `msgid \"\"' "
#~ "entry\n"
#~ "  -o, --output=FILE              write output to specified file\n"
#~ "  -p, --output-dir=DIR           output files will be placed in directory "
#~ "DIR\n"
#~ "  -s, --sort-output              generate sorted output and remove "
#~ "duplicates\n"
#~ "      --strict                   write out strict Uniforum conforming .po "
#~ "file\n"
#~ "  -T, --trigraphs                understand ANSI C trigraphs for input\n"
#~ "  -u, --unique                   shorthand for --less-than=2, requests\n"
#~ "                                 that only unique messages be printed\n"
#~ msgstr ""
#~ "  -i, --indent                   oblika datoteke PO z zamiki od levega "
#~ "roba\n"
#~ "      --no-location              brezz vrstic ,#: filename:line`\n"
#~ "  -n, --add-location             z vrsticami ,#: filename:line` "
#~ "(privzeto)\n"
#~ "      --omit-header              brez glave z ,msgid \"\"`\n"
#~ "  -p, --output=DATOTEKA          izhod zapišemo v podano DATOTEKO\n"
#~ "  -p, --output-dir=IMENIK        izhodne datoteke zapisane v IMENIK\n"
#~ "  -s, --sort-output              urejen izpis brez podvojenih vnosov\n"
#~ "      --strict                   izpis datoteke .po v strogi obliki "
#~ "Uniforum\n"
#~ "  -T, --trigraphs                razumi trigrafe ANSI C na vhodu\n"
#~ "  -u, --unique                   okrajšava za --less-than=2, zahtevamo "
#~ "izpis\n"
#~ "                                 zgolj unikatnih sporočil\n"

#~ msgid ""
#~ "Usage: %s [OPTION] filename.po ...\n"
#~ "Generate binary message catalog from textual translation description.\n"
#~ "\n"
#~ "Mandatory arguments to long options are mandatory for short options too.\n"
#~ "  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: "
#~ "%d)\n"
#~ "  -c, --check                 perform language dependent checks on "
#~ "strings\n"
#~ "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files "
#~ "search\n"
#~ "  -f, --use-fuzzy             use fuzzy entries in output\n"
#~ "  -h, --help                  display this help and exit\n"
#~ "      --no-hash               binary file will not include the hash "
#~ "table\n"
#~ "  -o, --output-file=FILE      specify output file name as FILE\n"
#~ "      --statistics            print statistics about translations\n"
#~ "      --strict                enable strict Uniforum mode\n"
#~ "  -v, --verbose               list input file anomalies\n"
#~ "  -V, --version               output version information and exit\n"
#~ "\n"
#~ "Giving the -v option more than once increases the verbosity level.\n"
#~ "\n"
#~ "If input file is -, standard input is read.  If output file is -,\n"
#~ "output is written to standard output.\n"
#~ msgstr ""
#~ "Uporaba: %s [IZBIRA] filename.po ...\n"
#~ "Tekstovni opis prevodov prevedemo v binarni katalog sporočil.\n"
#~ "\n"
#~ "Argumenti, obvezni za dolge oblike izbire, so obvezni tudi za kratke.\n"
#~ "  -a, --alignment=ŠTEVILO  poravnaj nize znakov na ŠTEVILO bytov "
#~ "(privzeto: %d)\n"
#~ "  -c, --check              na nizih izvedi teste, odvisne od jezika\n"
#~ "  -D, --directory=IMENIK   vhodne datoteke iščemo tudi v imeniku IMENIK\n"
#~ "  -f, --use-fuzzy          uporaba ohlapnih prevodov pri izpisu\n"
#~ "  -h, --help               ta navodila\n"
#~ "      --no-hash            binarna datoteka naj bo brez razpršne tabele\n"
#~ "  -o, --output-file=DATOTEKA  izhodna DATOTEKA\n"
#~ "      --statistics         s statistiko glede prevodov\n"
#~ "      --strict             stroga oblika Uniforum\n"
#~ "  -v, --verbose            z izpisom anomalij vhodne datoteke\n"
#~ "  -V, --version            različica programa\n"
#~ "\n"
#~ "Večkratna izbira -v poveča raven komentarjev ob delovanju.\n"
#~ "\n"
#~ "Če je kot ime vhodne datoteke navedeno - (minus), program bere s "
#~ "standardnega\n"
#~ "vhoda. Če je kot ime izhodne datoteke navedeno - (minus), program piše "
#~ "na\n"
#~ "standardni izhod.\n"

#~ msgid "while creating hash table"
#~ msgstr "med ustvarjanjem razpršene tabele"

#~ msgid ""
#~ "%s: warning: PO file header missing, fuzzy, or invalid\n"
#~ "%*s  warning: charset conversion will not work"
#~ msgstr ""
#~ "%s: opozorilo: glava datoteke PO manjkajoča, ohlapna ali neveljavna\n"
#~ "%*s  opozorilo: pretvorba nabora znakov ne bo delovala"

#~ msgid ""
#~ "\n"
#~ "Convert binary .mo files to Uniforum style .po files.\n"
#~ "Both little-endian and big-endian .mo files are handled.\n"
#~ "If no input file is given or it is -, standard input is read.\n"
#~ "By default the output is written to standard output.\n"
#~ msgstr ""
#~ "\n"
#~ "Pretvorba datoteke iz binarne oblike .mo v obliko Uniforum .po\n"
#~ "Datoteke .mo so lahko little-endian ali big-endian.\n"
#~ "Če vhodna datoteka ni podana, ali pa je podano ime -, beremo standardni "
#~ "vhod.\n"
#~ "Če ni izbrano drugače, gre izpis na standardni izhod.\n"

#  POZOR!  Nepopolni prevodi
#~ msgid ""
#~ "Usage: %s [OPTION] INPUTFILE ...\n"
#~ "Extract translatable string from given input files.\n"
#~ "\n"
#~ "Mandatory arguments to long options are mandatory for short options too.\n"
#~ "  -a, --extract-all              extract all strings\n"
#~ "  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
#~ "                                 preceding keyword lines) in output file\n"
#~ "  -C, --c++                      shorthand for --language=C++\n"
#~ "      --debug                    more detailed formatstring recognision "
#~ "result\n"
#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
#~ "messages.po)\n"
#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
#~ "search\n"
#~ "  -e, --no-escape                do not use C escapes in output "
#~ "(default)\n"
#~ "  -E, --escape                   use C escapes in output, no extended "
#~ "chars\n"
#~ "  -f, --files-from=FILE          get list of input files from FILE\n"
#~ "      --force-po                 write PO file even if empty\n"
#~ "      --foreign-user             omit FSF copyright in output for foreign "
#~ "user\n"
#~ "  -F, --sort-by-file             sort output by file location\n"
#~ msgstr ""
#~ "Uporaba: %s [IZBIRA] VHODNA_DATOTEKA ...\n"
#~ "Argumenti, obvezni za dolge oblike izbire, so obvezni tudi za kratke.\n"
#~ "  -a, --extract-all              iz datotek potegnemo vse nize\n"
#~ "  -c, --add-comments[=ZNAČKA]    komentarji označeni z ZNAČKO (ali tisti\n"
#~ "                                 pred vrsticami s ključnimi besedami) naj "
#~ "se\n"
#~ "                                 izpišejo\n"
#~ "  -C, --c++                      okrajšava za --language=C++\n"
#~ "  -d, --default-domain=IME       izhod na IME.po (namesto na messages."
#~ "po)\n"
#~ "  -D, --directory=IMENIK         vhodne datoteke iščemo tudi v imeniku "
#~ "IMENIK\n"
#~ "  -e, --no-escape                brez ubežnih sekvenc v stilu C "
#~ "(privzeto)\n"
#~ "  -E, --escape                   z ubežnimi sekvencami C, brez "
#~ "razširjenega\n"
#~ "                                 nabora znakov\n"
#~ "  -f, --files-from=DATOTEKA      seznam vhodnih datotek preberemo z "
#~ "DATOTEKE\n"
#~ "      --force-po                 datoteko PO zapišemo, četudi je prazna\n"
#~ "      --foreign-user             brez sporočila FSF v izhodni datoteki "
#~ "za\n"
#~ "                                 tujega uporabnika\n"
#~ "  -F, --sort-by-file             izhod sortiramo po lokaciji datotek\n"

#~ msgid ""
#~ "  -h, --help                     display this help and exit\n"
#~ "  -i, --indent                   write the .po file using indented style\n"
#~ "  -j, --join-existing            join messages with existing file\n"
#~ "  -k, --keyword[=WORD]           additonal keyword to be looked for "
#~ "(without\n"
#~ "                                 WORD means not to use default keywords)\n"
#~ "  -L, --language=NAME            recognise the specified language (C, C+"
#~ "+, PO),\n"
#~ "                                 otherwise is guessed from file "
#~ "extension\n"
#~ "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr "
#~ "entries\n"
#~ "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr "
#~ "entries\n"
#~ "      --no-location              do not write '#: filename:line' lines\n"
#~ msgstr ""
#~ "  -h, --help                     ta navodila\n"
#~ "  -i, --indent                   izpis datoteke PO z zamiki od levega "
#~ "roba\n"
#~ "  -j, --join-existing            združi sporočila z obstoječo datoteko\n"
#~ "  -k, --keyword[=BESEDA]         iskanje po dodatnih ključih besedah "
#~ "(prazen\n"
#~ "                                 niz BESEDA pomeni brez uporabe "
#~ "privzetih\n"
#~ "                                 ključnih besed)\n"
#~ "  -L, --language=JEZIK           izrecno navedemo programski JEZIK (C, C+"
#~ "+, PO);\n"
#~ "                                 sicer ga poskusimo uganiti iz pripone\n"
#~ "  -m, --msgstr-prefix[=NIZ]      NIZ ali \"\" kot predpona za msgstr\n"
#~ "  -M, --msgstr-suffix[=NIZ]      NIZ ali \"\" kot pripona za msgstr\n"
#~ "      --no-location              brez vrstic ,#: filename:line`\n"

#  POZOR!  Nepopolni prevodi
#~ msgid ""
#~ "  -n, --add-location             generate '#: filename:line' lines "
#~ "(default)\n"
#~ "      --omit-header              don't write header with `msgid \"\"' "
#~ "entry\n"
#~ "  -o, --output=FILE              write output to specified file\n"
#~ "  -p, --output-dir=DIR           output files will be placed in directory "
#~ "DIR\n"
#~ "  -s, --sort-output              generate sorted output and remove "
#~ "duplicates\n"
#~ "      --strict                   write out strict Uniforum conforming .po "
#~ "file\n"
#~ "  -T, --trigraphs                understand ANSI C trigraphs for input\n"
#~ "  -V, --version                  output version information and exit\n"
#~ "  -w, --width=NUMBER             set output page width\n"
#~ "  -x, --exclude-file=FILE        entries from FILE are not extracted\n"
#~ "\n"
#~ "If INPUTFILE is -, standard input is read.\n"
#~ msgstr ""
#~ "  -n, --add-location             z vrsticami '#: filename:"
#~ "line' (privzeto)\n"
#~ "      --omit-header              brez glave z ,msgid \"\"'\n"
#~ "  -o, --output=DATOTEKA          izhod zapišemo na podano DATOTEKO\n"
#~ "  -p, --output-dir=IMENIK        izhodne datoteke zapisane v IMENIK\n"
#~ "  -s, --sort-output              urejen izpis brez podvojenih vnosov\n"
#~ "      --strict                   strogi stil Uniforum pri izpisu "
#~ "datoteke .po\n"
#~ "  -T, --trigraphs                razumi trigrafe ANSI C na vhodu\n"
#~ "  -V, --version                  verzija programa\n"
#~ "  -w, --width=ŠTEVILO            širina vrstice pri izpisu, v znakih\n"
#~ "  -x, --exclude-file=DATOTEKA    entries from FILE are not extracted\n"
#~ "\n"
#~ "Če je ime vhodne datoteke - (minus), beremo s standardnega vhoda.\n"

#~ msgid "%s:%d: warning: keyword nested in keyword arg"
#~ msgstr "%s:%d: opozorilo: gnezdena ključna beseda v argumentu"

#~ msgid "%s:%d: warning: keyword between outer keyword and its arg"
#~ msgstr ""
#~ "%s:%d: opozorilo: ključna beseda med zun. ključno besedo in njenim "
#~ "argumentom"

#, fuzzy
#~ msgid ""
#~ "%s: warning: charset \"%s\" is not supported by iconv%s\n"
#~ "%*s  warning: consider installing GNU libiconv and then\n"
#~ "%*s           reinstalling GNU gettext"
#~ msgstr "POZOR: vhodna datoteka vsebuje ohlapne (fuzzy) prevode"

#, fuzzy
#~ msgid ""
#~ "%s: warning: charset \"%s\" is not supported without iconv%s\n"
#~ "%*s  warning: consider installing GNU libiconv and then\n"
#~ "%*s           reinstalling GNU gettext"
#~ msgstr "POZOR: vhodna datoteka vsebuje ohlapne (fuzzy) prevode"

#  Morda ,,Zmanjkalo pomnilnika''?
#, fuzzy
#~ msgid "Memory exhausted"
#~ msgstr "pomnilnik izčrpan"

#, fuzzy
#~ msgid "%s: warning: no header entry found"
#~ msgstr "pozor: glava manjka"

#~ msgid "this is the location of the first definition"
#~ msgstr "to je kraj prve definicije"

#~ msgid "duplicate message ID"
#~ msgstr "podvojen identifikator sporočila"

#~ msgid "cannot change to directory \"%s\""
#~ msgstr "dostop do imenika \"%s\" ni možen"
