# Serbian translation of `libiconv'.
# Copyright (C) 2003 Free Software Foundation, Inc.
# This file is distributed under the same license as the `libiconv' package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2003.
msgid ""
msgstr ""
"Project-Id-Version: libiconv 1.9.1\n"
"Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n"
"POT-Creation-Date: 2003-05-06 13:32+0200\n"
"PO-Revision-Date: 2003-11-13 14:36-0500\n"
"Last-Translator: Aleksandar Jelenak <jelenak@netlinkplus.net>\n"
"Language-Team: Serbian <sr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: src/iconv.c:59
msgid "Usage: iconv [--binary] [-c] [-s] [-f fromcode] [-t tocode] [file ...]"
msgstr ""
"Употреба: iconv [--binary] [-c] [-s] [-f изкод] [-t укод] [датотека ...]"

#: src/iconv.c:61
msgid "Usage: iconv [-c] [-s] [-f fromcode] [-t tocode] [file ...]"
msgstr "Употреба: iconv [-c] [-s] [-f изкод] [-t укод] [датотека ...]"

#: src/iconv.c:64
msgid "or:    iconv -l"
msgstr "или:      iconv -l"

#: src/iconv.c:74
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 ""
"Ово је слободан софтвер; видети изворни кôд за услове умножавања. НЕ "
"постоји\n"
"гаранција; чак ни о КОМЕРЦИЈАЛНОЈ ВРЕДНОСТИ или ИСПУЊАВАЊУ ОДРЕЂЕНЕ "
"ПОТРЕБЕ.\n"

#: src/iconv.c:77
#, c-format
msgid "Written by %s.\n"
msgstr "Написао %s.\n"

#: src/iconv.c:114 src/iconv.c:146 src/iconv.c:196
#, c-format
msgid "iconv: %s: incomplete character or shift sequence\n"
msgstr "iconv: %s: непотпуни знаковни или шифт низ\n"

#: src/iconv.c:140 src/iconv.c:191
#, c-format
msgid "iconv: %s: cannot convert\n"
msgstr "iconv: %s: не може претворити\n"

#: src/iconv.c:162 src/iconv.c:201 src/iconv.c:320
#, c-format
msgid "iconv: %s: "
msgstr "iconv: %s: "

#: src/iconv.c:210
#, c-format
msgid "iconv: %s: I/O error\n"
msgstr "iconv: %s: У/И грешка\n"

#: src/iconv.c:304
#, c-format
msgid "iconv: conversion from %s unsupported\n"
msgstr "iconv: претварање из %s није подржано\n"

#: src/iconv.c:306
#, c-format
msgid "iconv: conversion to %s unsupported\n"
msgstr "iconv: претварање у %s није подржано\n"

#: src/iconv.c:308
#, c-format
msgid "iconv: conversion from %s to %s unsupported\n"
msgstr "iconv: претварање из %s у %s није подржано\n"

#: src/iconv.c:312
msgid "(stdin)"
msgstr "(стдул)"

#: src/iconv.c:333
msgid "iconv: I/O error\n"
msgstr "iconv: У/И грешка\n"
