# -*- mode:po; coding:utf-8; -*- Slovenian messages for libiconv.
# Copyright (C) 2002, 2006, 2007 Free Software Foundation, Inc.
# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2002, 2006, 2007.
# This file is distributed under the same license as the libiconv package.
# $Id$
#
msgid ""
msgstr ""
"Project-Id-Version: libiconv 1.11\n"
"Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n"
"POT-Creation-Date: 2007-10-25 00:19+0200\n"
"PO-Revision-Date: 2007-10-15 16:03+0200\n"
"Last-Translator: Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n"
"%100==4 ? 3 : 0);\n"

#. TRANSLATORS: The first line of the short usage message.
#: src/iconv.c:105
msgid "Usage: iconv [-c] [-s] [-f fromcode] [-t tocode] [file ...]"
msgstr "Uporaba: iconv [-c] [-s] [-f vh_nabor] [-t izh_nabor] [datoteka ...]<"

#. TRANSLATORS: The second line of the short usage message.
#. Align it correctly against the first line.
#: src/iconv.c:109
msgid "or:    iconv -l"
msgstr "ali:   iconv -l"

#: src/iconv.c:111
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Poskusite »%s --help« za več informacij.\n"

#. TRANSLATORS: The first line of the long usage message.
#. The %s placeholder expands to the program name.
#: src/iconv.c:116
#, c-format, no-wrap
msgid "Usage: %s [OPTION...] [-f ENCODING] [-t ENCODING] [INPUTFILE...]\n"
msgstr "Uporaba: %s [IZBIRA...] [-f KODIRANJE] [-t KODIRANJE] [DATOTEKA...]\n"

#. TRANSLATORS: The second line of the long usage message.
#. Align it correctly against the first line.
#. The %s placeholder expands to the program name.
#: src/iconv.c:123
#, c-format, no-wrap
msgid "or:    %s -l\n"
msgstr "ali:     %s -l\n"

#. TRANSLATORS: Description of the iconv program.
#: src/iconv.c:129
#, c-format, no-wrap
msgid "Converts text from one encoding to another encoding.\n"
msgstr "Pretvori besedilo iz enega kodnega nabora v drugega.\n"

#: src/iconv.c:133
#, c-format, no-wrap
msgid "Options controlling the input and output format:\n"
msgstr "Izbire, ki določajo vhodni in izhodni zapis:\n"

#: src/iconv.c:136
#, c-format, no-wrap
msgid ""
"  -f ENCODING, --from-code=ENCODING\n"
"                              the encoding of the input\n"
msgstr ""
"  -f KODIRANJE, --from-code=KODIRANJE\n"
"                              kodni nabor vhoda\n"

#: src/iconv.c:140
#, c-format, no-wrap
msgid ""
"  -t ENCODING, --to-code=ENCODING\n"
"                              the encoding of the output\n"
msgstr ""
"  -t KODIRANJE, --to-code=KODIRANJE\n"
"                              kodni nabor izhoda\n"

#: src/iconv.c:145
#, c-format, no-wrap
msgid "Options controlling conversion problems:\n"
msgstr "Izbire, ki določajo odziv na težave pri pretvorbi:\n"

#: src/iconv.c:148
#, c-format, no-wrap
msgid "  -c                          discard unconvertible characters\n"
msgstr "  -c                          zavrzi znake, ki jih ni mogoče pretvoriti\n"

#: src/iconv.c:151
#, c-format, no-wrap
msgid ""
"  --unicode-subst=FORMATSTRING\n"
"                              substitution for unconvertible Unicode characters\n"
msgstr ""
"  --unicode-subst=OBLIKOVNI_NIZ\n"
"                              zamenjava za nepretvorljive unikodne znake\n"

#: src/iconv.c:155
#, c-format, no-wrap
msgid "  --byte-subst=FORMATSTRING   substitution for unconvertible bytes\n"
msgstr "  --byte-subst=OBLIKOVNI_NIZ  zamenjava za nepretvorljive bajte\n"

#: src/iconv.c:158
#, c-format, no-wrap
msgid ""
"  --widechar-subst=FORMATSTRING\n"
"                              substitution for unconvertible wide characters\n"
msgstr ""
"  --widechar-subst=OBLIKOVNI_NIZ\n"
"                              zamenjava za nepretvorljive široke znake\n"

#: src/iconv.c:163
#, c-format, no-wrap
msgid "Options controlling error output:\n"
msgstr "Izbire, ki določajo izpis napak:\n"

#: src/iconv.c:166
#, c-format, no-wrap
msgid "  -s, --silent                suppress error messages about conversion problems\n"
msgstr "  -s, --silent                brez poročil o napakah pri pretvorbi\n"

#: src/iconv.c:170
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "Informativni izpis:\n"

#: src/iconv.c:173
#, c-format, no-wrap
msgid "  -l, --list                  list the supported encodings\n"
msgstr "  -l, --list                  izpiši podprte nabore znakov\n"

#: src/iconv.c:176
#, c-format, no-wrap
msgid "  --help                      display this help and exit\n"
msgstr "  --help                      izpiši ta navodila in končaj\n"

#: src/iconv.c:179
#, c-format, no-wrap
msgid "  --version                   output version information and exit\n"
msgstr "  --version                   izpiši informacijo o različici in končaj\n"

#. TRANSLATORS: The placeholder indicates the bug-reporting 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/iconv.c:186
msgid "Report bugs to <bug-gnu-libiconv@gnu.org>.\n"
msgstr "Napake javite na <bug-gnu-libiconv@gnu.org>.\n"

#: src/iconv.c:197
#, no-wrap
msgid ""
"License GPLv2+: GNU GPL version 2 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"
msgstr ""

#. TRANSLATORS: The %s placeholder expands to an author's name.
#: src/iconv.c:203
#, c-format
msgid "Written by %s.\n"
msgstr "Avtor %s.\n"

#. TRANSLATORS: An error message.
#. The %s placeholder expands to a command-line option.
#: src/iconv.c:297
#, c-format
msgid ""
"%s argument: A format directive with a variable width is not allowed here."
msgstr "argument %s: oblikovna direktiva z nestalno širino tu ni dovoljena."

#. TRANSLATORS: An error message.
#. The %s placeholder expands to a command-line option.
#: src/iconv.c:312
#, c-format
msgid ""
"%s argument: A format directive with a variable precision is not allowed "
"here."
msgstr ""
"argument %s: oblikovna direktiva z nestalno natančnostjo tu ni dovoljena."

#. TRANSLATORS: An error message.
#. The %s placeholder expands to a command-line option.
#: src/iconv.c:328
#, c-format
msgid "%s argument: A format directive with a size is not allowed here."
msgstr "argument %s: oblikovna direktiva z velikostjo tu ni dovoljena."

#. TRANSLATORS: An error message.
#. The %s placeholder expands to a command-line option.
#: src/iconv.c:370
#, c-format
msgid "%s argument: The string ends in the middle of a directive."
msgstr "argument %s: niz se konča sredi direktive."

#. TRANSLATORS: An error message.
#. The %s placeholder expands to a command-line option.
#. The %c placeholder expands to an unknown format directive.
#: src/iconv.c:377
#, c-format
msgid "%s argument: The character '%c' is not a valid conversion specifier."
msgstr "argument %s: znak %c ni veljavno določilo pretvorbe."

#. TRANSLATORS: An error message.
#. The %s placeholder expands to a command-line option.
#: src/iconv.c:383
#, c-format
msgid ""
"%s argument: The character that terminates the format directive is not a "
"valid conversion specifier."
msgstr ""
"argument %s: znak, ki zaključuje oblikovno direktivo, ni veljavno določilo "
"pretvorbe."

#. TRANSLATORS: An error message.
#. The %s placeholder expands to a command-line option.
#. The %u placeholder expands to the number of arguments consumed by the format string.
#: src/iconv.c:399
#, c-format
msgid ""
"%s argument: The format string consumes more than one argument: %u argument."
msgid_plural ""
"%s argument: The format string consumes more than one argument: %u arguments."
msgstr[0] ""
"argument %s: oblikovni niz porabi več kot en argument: %u argumentov."
msgstr[1] "argument %s: oblikovni niz porabi več kot en argument: %u argument."
msgstr[2] ""
"argument %s: oblikovni niz porabi več kot en argument: %u argumenta."
msgstr[3] ""
"argument %s: oblikovni niz porabi več kot en argument: %u argumente."

#. TRANSLATORS: An error message.
#. The %s placeholder expands to a piece of text, specified through --byte-subst.
#: src/iconv.c:457
#, c-format
msgid "cannot convert byte substitution to Unicode: %s"
msgstr "nadomestnega bajta ni mogoče pretvoriti v unikod: %s"

#. TRANSLATORS: An error message.
#. The %s placeholder expands to a piece of text, specified through --unicode-subst.
#: src/iconv.c:497
#, c-format
msgid "cannot convert unicode substitution to target encoding: %s"
msgstr "nadomestnega unikoda ni mogoče pretvoriti v ciljni nabor: %s"

#. TRANSLATORS: An error message.
#. The %s placeholder expands to a piece of text, specified through --byte-subst.
#: src/iconv.c:538
#, c-format
msgid "cannot convert byte substitution to wide string: %s"
msgstr "nadomestnega bajta ni mogoče pretvoriti v široki niz: %s"

#. TRANSLATORS: An error message.
#. The %s placeholder expands to a piece of text, specified through --widechar-subst.
#: src/iconv.c:579
#, c-format
msgid "cannot convert widechar substitution to target encoding: %s"
msgstr "pretvorba nadomestnega širokega znaka v ciljni nabor ni mogoča: %s"

#. TRANSLATORS: An error message.
#. The %s placeholder expands to a piece of text, specified through --byte-subst.
#: src/iconv.c:620
#, c-format
msgid "cannot convert byte substitution to target encoding: %s"
msgstr "pretvorba nadomestnega bajta v ciljni nabor ni mogoča: %s"

#. TRANSLATORS: An error message.
#. The placeholders expand to the input file name, a line number, and a column number.
#: src/iconv.c:639
#, c-format
msgid "%s:%u:%u: cannot convert"
msgstr "%s:%u:%u pretvorba ni mogoča"

#. TRANSLATORS: An error message.
#. The placeholders expand to the input file name, a line number, and a column number.
#. A "shift sequence" is a sequence of bytes that changes the state of the converter;
#. this concept exists only for "stateful" encodings like ISO-2022-JP.
#: src/iconv.c:653
#, c-format
msgid "%s:%u:%u: incomplete character or shift sequence"
msgstr "%s:%u:%u nepopolni znak ali pomično zaporedje"

#. TRANSLATORS: The first part of an error message.
#. It is followed by a colon and a detail message.
#. The placeholders expand to the input file name, a line number, and a column number.
#: src/iconv.c:666
#, c-format
msgid "%s:%u:%u"
msgstr "%s:%u:%u"

#. TRANSLATORS: An error message.
#. The placeholder expands to the input file name.
#: src/iconv.c:821
#, c-format
msgid "%s: I/O error"
msgstr "%s: V/I napaka"

#. TRANSLATORS: An error message.
#. The placeholder expands to the encoding name, specified through --from-code.
#: src/iconv.c:1009
#, c-format
msgid "conversion from %s unsupported"
msgstr "pretvorba iz nabora %s ni podprta"

#. TRANSLATORS: An error message.
#. The placeholder expands to the encoding name, specified through --to-code.
#: src/iconv.c:1015
#, c-format
msgid "conversion to %s unsupported"
msgstr "pretvorba v nabor %s ni podprta"

#. TRANSLATORS: An error message.
#. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively.
#: src/iconv.c:1021
#, c-format
msgid "conversion from %s to %s unsupported"
msgstr "pretvorba iz nabora %s v nabor %s ni podprta"

#. TRANSLATORS: Additional advice after an error message.
#. The %s placeholder expands to the program name.
#: src/iconv.c:1026
#, c-format
msgid "try '%s -l' to get the list of supported encodings"
msgstr "poskusite »%s -l« za seznam podprtih naborov znakov"

#. TRANSLATORS: A filename substitute denoting standard input.
#: src/iconv.c:1083
msgid "(stdin)"
msgstr "(stdin)"

#. TRANSLATORS: The first part of an error message.
#. It is followed by a colon and a detail message.
#. The %s placeholder expands to the input file name.
#: src/iconv.c:1095
#, c-format
msgid "%s"
msgstr "%s"

#. TRANSLATORS: An error message.
#: src/iconv.c:1109
#, c-format
msgid "I/O error"
msgstr "V/I napaka"

#~ msgid ""
#~ "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 ""
#~ "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 UPORABO.\n"

#~ msgid ""
#~ "Usage: iconv [--binary] [-c] [-s] [-f fromcode] [-t tocode] [file ...]"
#~ msgstr ""
#~ "Uporaba: iconv [--binary] [-c] [-s] [-f vh_nabor] [-t izh_nabor] "
#~ "[datoteka ...]"

#~ msgid "iconv: %s: "
#~ msgstr "iconv: %s: "
