# Serbian translation of gnulib.
# Copyright (C) 2013 Free Software Foundation, Inc.
# This file is distributed under the same license as the gnulib package.
# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: gnulib-3.0.0.6062.a6b16\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
"POT-Creation-Date: 2019-12-11 07:43+0100\n"
"PO-Revision-Date: 2013-11-17 16:47+0200\n"
"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"

#: lib/argmatch.c:132
#, c-format
msgid "invalid argument %s for %s"
msgstr "неисправан аргумент „%s“ за „%s“"

#: lib/argmatch.c:133
#, c-format
msgid "ambiguous argument %s for %s"
msgstr "нејасан аргумент „%s“ за „%s“"

#: lib/argmatch.c:152 lib/argmatch.h:223
msgid "Valid arguments are:"
msgstr "Исправни аргументи су:"

#: lib/bitset/stats.c:177
#, c-format
msgid "%u bitset_allocs, %u freed (%.2f%%).\n"
msgstr ""

#: lib/bitset/stats.c:180
#, c-format
msgid "%u bitset_sets, %u cached (%.2f%%)\n"
msgstr ""

#: lib/bitset/stats.c:183
#, c-format
msgid "%u bitset_resets, %u cached (%.2f%%)\n"
msgstr ""

#: lib/bitset/stats.c:186
#, c-format
msgid "%u bitset_tests, %u cached (%.2f%%)\n"
msgstr ""

#: lib/bitset/stats.c:190
#, c-format
msgid "%u bitset_lists\n"
msgstr ""

#: lib/bitset/stats.c:192
msgid "count log histogram\n"
msgstr ""

#: lib/bitset/stats.c:195
msgid "size log histogram\n"
msgstr ""

#: lib/bitset/stats.c:198
msgid "density histogram\n"
msgstr ""

#: lib/bitset/stats.c:210
#, c-format
msgid ""
"Bitset statistics:\n"
"\n"
msgstr ""

#: lib/bitset/stats.c:213
#, c-format
msgid "Accumulated runs = %u\n"
msgstr ""

#: lib/bitset/stats.c:255 lib/bitset/stats.c:260
#, fuzzy
msgid "cannot read stats file"
msgstr "не могу да направим спојку"

#: lib/bitset/stats.c:257
#, c-format
msgid "bad stats file size\n"
msgstr ""

#: lib/bitset/stats.c:281 lib/bitset/stats.c:283
#, fuzzy
msgid "cannot write stats file"
msgstr "не могу да направим спојку"

#: lib/bitset/stats.c:286
#, fuzzy
msgid "cannot open stats file for writing"
msgstr "не могу да отворим датотеку резерве „%s“ за упис"

#: lib/closeout.c:122
msgid "write error"
msgstr "грешка записивања"

#: lib/error.c:195
msgid "Unknown system error"
msgstr "Непозната грешка система"

#: lib/getopt.c:278
#, fuzzy, c-format
msgid "%s: option '%s%s' is ambiguous\n"
msgstr "%s: опција „-W %s“ је нејасна\n"

#: lib/getopt.c:284
#, fuzzy, c-format
msgid "%s: option '%s%s' is ambiguous; possibilities:"
msgstr "%s: опција „%s“ је нејасна; могућности:"

#: lib/getopt.c:319
#, fuzzy, c-format
msgid "%s: unrecognized option '%s%s'\n"
msgstr "%s: непозната опција „%c%s“\n"

#: lib/getopt.c:345
#, fuzzy, c-format
msgid "%s: option '%s%s' doesn't allow an argument\n"
msgstr "%s: опција „%c%s“ не дозвољава аргумент\n"

#: lib/getopt.c:360
#, fuzzy, c-format
msgid "%s: option '%s%s' requires an argument\n"
msgstr "%s: опција „--%s“ захтева аргумент\n"

#: lib/getopt.c:621
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: неисправна опција -- „%c“\n"

#: lib/getopt.c:636 lib/getopt.c:682
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: опција захтева аргумент -- „%c“\n"

#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34
msgid "memory exhausted"
msgstr "меморија је потрошена"

#. TRANSLATORS:
#. Get translations for open and closing quotation marks.
#. The message catalog should translate "`" to a left
#. quotation mark suitable for the locale, and similarly for
#. "'".  For example, a French Unicode local should translate
#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
#. QUOTATION MARK), respectively.
#.
#. If the catalog has no translation, we will try to
#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
#. current locale is not Unicode, locale_quoting_style
#. will quote 'like this', and clocale_quoting_style will
#. quote "like this".  You should always include translations
#. for "`" and "'" even if U+2018 and U+2019 are appropriate
#. for your locale.
#.
#. If you don't know what to put here, please see
#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
#: lib/quotearg.c:362
msgid "`"
msgstr "„"

#: lib/quotearg.c:363
msgid "'"
msgstr "“"

#: lib/spawn-pipe.c:141 lib/spawn-pipe.c:144 lib/spawn-pipe.c:265
#: lib/spawn-pipe.c:268
#, c-format
msgid "cannot create pipe"
msgstr "не могу да направим спојку"

#: lib/spawn-pipe.c:235 lib/spawn-pipe.c:349 lib/wait-process.c:290
#: lib/wait-process.c:364
#, c-format
msgid "%s subprocess failed"
msgstr "%s потпроцес није успео"

#: lib/timevar.c:316
msgid "Execution times (seconds)"
msgstr ""

#: lib/timevar.c:318
msgid "CPU user"
msgstr ""

#: lib/timevar.c:318
msgid "CPU system"
msgstr ""

#: lib/timevar.c:318
#, fuzzy
msgid "wall clock"
msgstr "Будилник"

#: lib/w32spawn.h:49
#, c-format
msgid "_open_osfhandle failed"
msgstr "„_open_osfhandle“ није успело"

#: lib/w32spawn.h:90
#, c-format
msgid "cannot restore fd %d: dup2 failed"
msgstr "не могу да повратим фд %d: „dup2“ није успело"

#: lib/wait-process.c:231 lib/wait-process.c:263 lib/wait-process.c:325
#, c-format
msgid "%s subprocess"
msgstr "%s потпроцес"

#: lib/wait-process.c:282 lib/wait-process.c:354
#, c-format
msgid "%s subprocess got fatal signal %d"
msgstr "%s потпроцес је добио кобни сигнал %d"

#~ msgid "Packaged by %s (%s)\n"
#~ msgstr "Запаковао је %s (%s)\n"

#~ msgid "Packaged by %s\n"
#~ msgstr "Запаковао је %s\n"

#~ msgid "(C)"
#~ msgstr "©"

#, fuzzy
#~| msgid ""
#~| "\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"
#~| "\n"
#~ msgid ""
#~ "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 ""
#~ "\n"
#~ "Лиценца ОЈЛв3+: ГНУ ОЈЛ издање 3 или касније <http://gnu.org/licenses/gpl."
#~ "html>.\n"
#~ "Ово је слободан софтвер: слободни сте да га мењате и расподељујете.\n"
#~ "Не постоји НИКАКВА ГАРАНЦИЈА, у оквирима дозвољеним законом.\n"
#~ "\n"

#~ msgid "Written by %s.\n"
#~ msgstr "Написао је %s.\n"

#~ msgid "Written by %s and %s.\n"
#~ msgstr "Написали су %s и %s.\n"

#~ msgid "Written by %s, %s, and %s.\n"
#~ msgstr "Написали су %s, %s, и %s.\n"

#~ msgid ""
#~ "Written by %s, %s, %s,\n"
#~ "and %s.\n"
#~ msgstr ""
#~ "Написали су %s, %s, %s,\n"
#~ "и %s.\n"

#~ msgid ""
#~ "Written by %s, %s, %s,\n"
#~ "%s, and %s.\n"
#~ msgstr ""
#~ "Написали су %s, %s, %s,\n"
#~ "%s, и %s.\n"

#~ msgid ""
#~ "Written by %s, %s, %s,\n"
#~ "%s, %s, and %s.\n"
#~ msgstr ""
#~ "Написали су %s, %s, %s,\n"
#~ "%s, %s, и %s.\n"

#~ msgid ""
#~ "Written by %s, %s, %s,\n"
#~ "%s, %s, %s, and %s.\n"
#~ msgstr ""
#~ "Написали су %s, %s, %s,\n"
#~ "%s, %s, %s, и %s.\n"

#~ msgid ""
#~ "Written by %s, %s, %s,\n"
#~ "%s, %s, %s, %s,\n"
#~ "and %s.\n"
#~ msgstr ""
#~ "Написали су %s, %s, %s,\n"
#~ "%s, %s, %s, %s,\n"
#~ "и %s.\n"

#~ msgid ""
#~ "Written by %s, %s, %s,\n"
#~ "%s, %s, %s, %s,\n"
#~ "%s, and %s.\n"
#~ msgstr ""
#~ "Написали су %s, %s, %s,\n"
#~ "%s, %s, %s, %s,\n"
#~ "%s, и %s.\n"

#~ msgid ""
#~ "Written by %s, %s, %s,\n"
#~ "%s, %s, %s, %s,\n"
#~ "%s, %s, and others.\n"
#~ msgstr ""
#~ "Написали су %s, %s, %s,\n"
#~ "%s, %s, %s, %s,\n"
#~ "%s, %s, и други.\n"

#, fuzzy
#~| msgid ""
#~| "\n"
#~| "Report bugs to: %s\n"
#~ msgid "Report bugs to: %s\n"
#~ msgstr ""
#~ "\n"
#~ "Грешке пријавите на: %s\n"

#~ msgid "Report %s bugs to: %s\n"
#~ msgstr "Грешке програма „%s“ пријавите на: %s\n"

#~ msgid "%s home page: <%s>\n"
#~ msgstr "%s матична страница: <%s>\n"

#, fuzzy
#~| msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
#~ msgid "General help using GNU software: <%s>\n"
#~ msgstr "Општа помоћ користећи ГНУ софтвер: <http://www.gnu.org/gethelp/>\n"

#~ msgid "ARGP_HELP_FMT: %s value is less than or equal to %s"
#~ msgstr "ARGP_HELP_FMT: %s вредност је мања од или једнака са %s"

#~ msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
#~ msgstr "%.*s: „ARGP_HELP_FMT“ параметар захтева вредност"

#~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
#~ msgstr "%.*s: „ARGP_HELP_FMT“ параметар мора бити позитиван"

#~ msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
#~ msgstr "%.*s: Непознат параметар „ARGP_HELP_FMT“"

#~ msgid "Garbage in ARGP_HELP_FMT: %s"
#~ msgstr "Ђубре у „ARGP_HELP_FMT“-у: %s"

#~ msgid ""
#~ "Mandatory or optional arguments to long options are also mandatory or "
#~ "optional for any corresponding short options."
#~ msgstr ""
#~ "Обавезни или опционални аргументи за дуге опције су такође обавезни или "
#~ "опционални за све одговарајуће кратке опције."

#~ msgid "Usage:"
#~ msgstr "Употреба:"

#~ msgid "  or: "
#~ msgstr "  или: "

#~ msgid " [OPTION...]"
#~ msgstr " [ОПЦИЈА...]"

#~ msgid "Try `%s --help' or `%s --usage' for more information.\n"
#~ msgstr "Покушајте „%s --help“ или „%s --usage“ за више података.\n"

#~ msgid "Report bugs to %s.\n"
#~ msgstr "Грешке пријавите на %s.\n"

#~ msgid "give this help list"
#~ msgstr "приказује овај списак помоћи"

#~ msgid "give a short usage message"
#~ msgstr "приказује кратку поруку коришћења"

#~ msgid "NAME"
#~ msgstr "НАЗИВ"

#~ msgid "set the program name"
#~ msgstr "поставља назив програма"

#~ msgid "SECS"
#~ msgstr "СЕКУНДЕ"

#~ msgid "hang for SECS seconds (default 3600)"
#~ msgstr "стаје за СЕКУНДЕ секунде (основно је 3600)"

#~ msgid "print program version"
#~ msgstr "исписује издање програма"

#~ msgid "(PROGRAM ERROR) No version known!?"
#~ msgstr "(ГРЕШКА ПРОГРАМА) Није познато издање!?"

#~ msgid "%s: Too many arguments\n"
#~ msgstr "%s: Превише аргумената\n"

#~ msgid "(PROGRAM ERROR) Option should have been recognized!?"
#~ msgstr "(ГРЕШКА ПРОГРАМА) Опција треба да буде препозната!?"

#~ msgid "program error"
#~ msgstr "грешка програма"

#~ msgid "stack overflow"
#~ msgstr "стек је препуњен"

#~ msgid "cannot find a temporary directory, try setting $TMPDIR"
#~ msgstr ""
#~ "не могу да пронађем привремени директоријум, покушавам да подесим "
#~ "„$TMPDIR“"

#~ msgid "cannot create a temporary directory using template \"%s\""
#~ msgstr "не могу да направим привремени директоријум користећи шаблон „%s“"

#~ msgid "cannot remove temporary file %s"
#~ msgstr "не могу да уклоним привремену датотеку „%s“"

#~ msgid "cannot remove temporary directory %s"
#~ msgstr "не могу да уклоним привремени директоријум „%s“"

#~ msgid "error closing file"
#~ msgstr "грешка затварања датотеке"

#~ msgid "preserving permissions for %s"
#~ msgstr "причувавам овлашћења за %s"

#~ msgid "error while opening \"%s\" for reading"
#~ msgstr "грешка приликом отварања „%s“ за читање"

#~ msgid "error reading \"%s\""
#~ msgstr "грешка читања „%s“"

#~ msgid "error writing \"%s\""
#~ msgstr "грешка писања „%s“"

#~ msgid "error after reading \"%s\""
#~ msgstr "грешка након читања „%s“"

#~ msgid "fdopen() failed"
#~ msgstr "није успела функција „fdopen()“"

#~ msgid "C# compiler not found, try installing pnet"
#~ msgstr "нисам нашао Ц# преводиоца, покушајте да инсталирате пнет"

#~ msgid "C# virtual machine not found, try installing pnet"
#~ msgstr "нисам нашао Ц# виртуелну машину, покушајте да инсталирате пнет"

#~ msgid "regular empty file"
#~ msgstr "обична празна датотека"

#~ msgid "regular file"
#~ msgstr "обична датотека"

#~ msgid "directory"
#~ msgstr "директоријум"

#~ msgid "block special file"
#~ msgstr "посебна датотека блока"

#~ msgid "character special file"
#~ msgstr "посебна датотека знака"

#~ msgid "fifo"
#~ msgstr "пупи"

#~ msgid "symbolic link"
#~ msgstr "симболичка веза"

#~ msgid "socket"
#~ msgstr "прикључница"

#~ msgid "message queue"
#~ msgstr "ред порука"

#~ msgid "semaphore"
#~ msgstr "семафор"

#~ msgid "shared memory object"
#~ msgstr "заједнички меморијски објекат"

#~ msgid "typed memory object"
#~ msgstr "типски меморијски објекат"

#~ msgid "weird file"
#~ msgstr "чудна датотека"

#~ msgid "Address family for hostname not supported"
#~ msgstr "Породица адреса за назив домаћина није подржана"

#~ msgid "Temporary failure in name resolution"
#~ msgstr "Привремени неуспех одређивања назива"

#~ msgid "Bad value for ai_flags"
#~ msgstr "Неисправна вредност за аи_опције"

#~ msgid "Non-recoverable failure in name resolution"
#~ msgstr "Непоправљива грешка при одређивању назива"

#~ msgid "ai_family not supported"
#~ msgstr "аи_породица није подржана"

#~ msgid "Memory allocation failure"
#~ msgstr "Расподела меморије није успела"

#~ msgid "No address associated with hostname"
#~ msgstr "Ниједна адреса није придружена називу домаћина"

#~ msgid "Name or service not known"
#~ msgstr "Није позната услуга или назив"

#~ msgid "Servname not supported for ai_socktype"
#~ msgstr "Назив сервера није подржан за аи_врступрикључка"

#~ msgid "ai_socktype not supported"
#~ msgstr "аи_врстаприкључка није подржана"

#~ msgid "System error"
#~ msgstr "Системска грешка"

#~ msgid "Argument buffer too small"
#~ msgstr "Међумеморија аргумента је премала"

#~ msgid "Processing request in progress"
#~ msgstr "Захтев обрађивања је у току"

#~ msgid "Request canceled"
#~ msgstr "Захтев је отказан"

#~ msgid "Request not canceled"
#~ msgstr "Захтев није отказан"

#~ msgid "All requests done"
#~ msgstr "Сви захтеви су готови"

#~ msgid "Interrupted by a signal"
#~ msgstr "Прекинуто сигналом"

#~ msgid "Parameter string not correctly encoded"
#~ msgstr "Ниска параметра није исправно кодирана"

#~ msgid "Unknown error"
#~ msgstr "Непозната грешка"

#~ msgid "%s: option '--%s' doesn't allow an argument\n"
#~ msgstr "%s: опција „--%s“ не дозвољава аргумент\n"

#~ msgid "%s: unrecognized option '--%s'\n"
#~ msgstr "%s: непозната опција „--%s“\n"

#~ msgid "%s: option '-W %s' doesn't allow an argument\n"
#~ msgstr "%s: опција „-W %s“ не дозвољава аргумент\n"

#~ msgid "%s: option '-W %s' requires an argument\n"
#~ msgstr "%s: опција „-W %s“ захтева аргумент\n"

#~ msgid "invalid source_version argument to compile_java_class"
#~ msgstr "неисправан аргумент издања_извора за преведи_јава_разред"

#~ msgid "invalid target_version argument to compile_java_class"
#~ msgstr "неисправан аргумент издања_мете за преведи_јава_разред"

#~ msgid "failed to create \"%s\""
#~ msgstr "нисам успео да направим „%s“"

#~ msgid "error while writing \"%s\" file"
#~ msgstr "грешка приликом писања датотеке „%s“"

#~ msgid "Java compiler not found, try installing gcj or set $JAVAC"
#~ msgstr ""
#~ "Нисам нашао Јава преводиоца, покушајте да инсталирате гцј или поставите "
#~ "„$JAVAC“"

#~ msgid "Java virtual machine not found, try installing gij or set $JAVA"
#~ msgstr ""
#~ "Нисам нашао виртуелну машину Јаве, покушајте да инсталирате гиј или да "
#~ "поставите „$JAVA“"

#~ msgid "%s subprocess I/O error"
#~ msgstr "У/И грешка %s потпроцеса"

#~ msgid "cannot change permissions of %s"
#~ msgstr "не могу да променим овлашћења за „%s“"

#~ msgid "cannot create directory %s"
#~ msgstr "не могу да направим директоријум „%s“"

#~ msgid "unable to record current working directory"
#~ msgstr "не могу да снимим тренутни радни директоријум"

#~ msgid "failed to return to initial working directory"
#~ msgstr "не могу да се вратим у почетни радни директоријум"

#~ msgid "Failed to open /dev/zero for read"
#~ msgstr "Нисам успео да отворим „/dev/zero“ за читање"

#~ msgid "creation of reading thread failed"
#~ msgstr "стварање нити за читање није успело"

#~ msgid "cannot set up nonblocking I/O to %s subprocess"
#~ msgstr "не могу да поставим неблокирајући У/И на потпроцес %s"

#~ msgid "communication with %s subprocess failed"
#~ msgstr "комуницирање са %s потпроцесом није успело"

#~ msgid "write to %s subprocess failed"
#~ msgstr "писање у %s потпроцес није успело"

#~ msgid "read from %s subprocess failed"
#~ msgstr "читање из %s потпроцеса није успело"

#~ msgid "subprocess %s terminated with exit code %d"
#~ msgstr "потпроцес %s је окончан са излазном шифром %d"

#~ msgid "creation of threads failed"
#~ msgstr "стварање нити није успело"

#~ msgid "%s subprocess terminated with exit code %d"
#~ msgstr "%s потпроцес је окончан са излазном шифром %d"

#~ msgid "Franc,ois Pinard"
#~ msgstr "Франсуа Пинард"

#~ msgid "Success"
#~ msgstr "Успешно"

#~ msgid "No match"
#~ msgstr "Нема подударања"

#~ msgid "Invalid regular expression"
#~ msgstr "Неправилан регуларан израз"

#~ msgid "Invalid collation character"
#~ msgstr "Неисправан знак поретка"

#~ msgid "Invalid character class name"
#~ msgstr "Неисправан назив класе знака"

#~ msgid "Trailing backslash"
#~ msgstr "Пратећа контра коса црта"

#~ msgid "Invalid back reference"
#~ msgstr "Неисправна повратна упута"

#~ msgid "Unmatched [ or [^"
#~ msgstr "Непоклопљено [ или [^"

#~ msgid "Unmatched ( or \\("
#~ msgstr "Непоклопљено ( или \\("

#~ msgid "Unmatched \\{"
#~ msgstr "Непоклопљено \\{"

#~ msgid "Invalid content of \\{\\}"
#~ msgstr "Неисправан садржај \\{\\}"

#~ msgid "Invalid range end"
#~ msgstr "Неисправан крај опсега"

#~ msgid "Memory exhausted"
#~ msgstr "Меморија је потрошена"

#~ msgid "Invalid preceding regular expression"
#~ msgstr "Неисправан регуларан израз који претходи"

#~ msgid "Premature end of regular expression"
#~ msgstr "Прерани крај регуларног израза"

#~ msgid "Regular expression too big"
#~ msgstr "Регуларни израз је превелик"

#~ msgid "Unmatched ) or \\)"
#~ msgstr "Непоклопљено ) или \\)"

#~ msgid "No previous regular expression"
#~ msgstr "Нема претходног регуларног израза"

#~ msgid "^[yY]"
#~ msgstr "^[yY]"

#~ msgid "^[nN]"
#~ msgstr "^[nN]"

#~ msgid "setting permissions for %s"
#~ msgstr "подешавам овлашћења за %s"

#~ msgid "Hangup"
#~ msgstr "Обустави"

#~ msgid "Interrupt"
#~ msgstr "Прекини"

#~ msgid "Quit"
#~ msgstr "Изађи"

#~ msgid "Illegal instruction"
#~ msgstr "Неисправна инструкција"

#~ msgid "Trace/breakpoint trap"
#~ msgstr "Замка праћења/тачке прекида"

#~ msgid "Aborted"
#~ msgstr "Прекинуто"

#~ msgid "Floating point exception"
#~ msgstr "Изузетак са покретним зарезом"

#~ msgid "Killed"
#~ msgstr "Убијено"

#~ msgid "Bus error"
#~ msgstr "Грешка сабирнице"

#~ msgid "Segmentation fault"
#~ msgstr "Грешка сегментације"

#~ msgid "Broken pipe"
#~ msgstr "Прекинута спојка"

#~ msgid "Terminated"
#~ msgstr "Окончан"

#~ msgid "Urgent I/O condition"
#~ msgstr "Хитни У/И услов"

#~ msgid "Stopped (signal)"
#~ msgstr "Заустављен (сигнал)"

#~ msgid "Stopped"
#~ msgstr "Заустављен"

#~ msgid "Continued"
#~ msgstr "Настављен"

#~ msgid "Child exited"
#~ msgstr "Потпроцес је напуштен"

#~ msgid "Stopped (tty input)"
#~ msgstr "Заустављен (улаз конзоле)"

#~ msgid "Stopped (tty output)"
#~ msgstr "Заустављен (излаз конзоле)"

#~ msgid "I/O possible"
#~ msgstr "I/O је могућ"

#~ msgid "CPU time limit exceeded"
#~ msgstr "Прекорачено је временско ограничење процесора"

#~ msgid "File size limit exceeded"
#~ msgstr "Прекорачено је ограничење величине датотеке"

#~ msgid "Virtual timer expired"
#~ msgstr "Виртуелни одбројавач је истекао"

#~ msgid "Profiling timer expired"
#~ msgstr "Одбројавач профилисања је истекао"

#~ msgid "Window changed"
#~ msgstr "Прозор је измењен"

#~ msgid "User defined signal 1"
#~ msgstr "Кориснички одређени сигнал 1"

#~ msgid "User defined signal 2"
#~ msgstr "Кориснички одређени сигнал 2"

#~ msgid "EMT trap"
#~ msgstr "ЕМТ замка"

#~ msgid "Bad system call"
#~ msgstr "Лош системски позив"

#~ msgid "Stack fault"
#~ msgstr "Неуспех стека"

#~ msgid "Information request"
#~ msgstr "Захтев зе информацијама"

#~ msgid "Power failure"
#~ msgstr "Неуспех напајања"

#~ msgid "Resource lost"
#~ msgstr "Губитак изворишта"

#~ msgid "error writing to a closed pipe or socket"
#~ msgstr "грешка писања на затворену спојку или прикључницу"

#~ msgid "Real-time signal %d"
#~ msgstr "Сигнал у стварном времену %d"

#~ msgid "Unknown signal %d"
#~ msgstr "Непознати сигнал %d"

#~ msgid "iconv function not usable"
#~ msgstr "иконв функција није употребљива"

#~ msgid "iconv function not available"
#~ msgstr "иконв функција није доступна"

#~ msgid "character out of range"
#~ msgstr "знак је ван опсега"

#~ msgid "cannot convert U+%04X to local character set"
#~ msgstr "не могу да претворим U+%04X у месни скуп знакова"

#~ msgid "cannot convert U+%04X to local character set: %s"
#~ msgstr "не могу да претворим U+%04X у месни скуп знакова: %s"

#~ msgid "invalid user"
#~ msgstr "неисправан корисник"

#~ msgid "invalid group"
#~ msgstr "неисправна група"

#~ msgid "invalid spec"
#~ msgstr "неисправна одредница"

#~ msgid "unable to display error message"
#~ msgstr "не могу да прикажем поруку грешке"

#~ msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
#~ msgstr "%s матична страница: <http://www.gnu.org/software/%s/>\n"

#~ msgid "stdin"
#~ msgstr "стдулаз"

#~ msgid "stdout"
#~ msgstr "стдизлаз"

#~ msgid "stderr"
#~ msgstr "стдгрешка"

#~ msgid "unknown stream"
#~ msgstr "непознат ток"

#~ msgid "failed to reopen %s with mode %s"
#~ msgstr "нисам успео да поново отворим „%s“ са режимом %s"

#~ msgid "string comparison failed"
#~ msgstr "није успело поређење ниске"

#~ msgid "Set LC_ALL='C' to work around the problem."
#~ msgstr "Поставите LC_ALL='C' да решите проблем."

#~ msgid "The strings compared were %s and %s."
#~ msgstr "Поређене ниске су „%s“ и „%s“."

#~ msgid "cannot perform formatted output"
#~ msgstr "не могу да извршим обликовани излаз"

#~ msgid "invalid %s%s argument `%s'"
#~ msgstr "неисправан %s%s аргумент „%s“"

#~ msgid "invalid suffix in %s%s argument `%s'"
#~ msgstr "неисправан суфикс у %s%s аргумент „%s“"

#~ msgid "%s%s argument `%s' too large"
#~ msgstr "%s%s аргумент „%s“ је превелик"
