# Serbian translation of gettext-runtime
# Copyright © 2020 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Danilo Segan <dsegan@gmx.net>, 2003.
# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2011—2020.
msgid ""
msgstr ""
"Project-Id-Version: gettext-runtime 0.20.2\n"
"Report-Msgid-Bugs-To: bug-gettext@gnu.org\n"
"POT-Creation-Date: 2020-07-26 21:56+0200\n"
"PO-Revision-Date: 2020-04-20 09:36+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"
"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"
"X-Generator: Virtaal 0.7.1\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"

#: gnulib-lib/closeout.c:66
msgid "write error"
msgstr "грешка писања"

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

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

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

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

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

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

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

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

#: gnulib-lib/xmalloc.c:38
#, c-format
msgid "memory exhausted"
msgstr "меморија је потрошена"

#: src/envsubst.c:110 src/gettext.c:135 src/ngettext.c:124
#, c-format, no-wrap
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 ""
"Ауторска права © %s Задужбина слободног софтвера, Инк.\n"
"Лиценца ОЈЛв3+: ГНУ ОЈЛ издање 3 или касније <%s>.\n"
"Ово је слободан софтвер: слободни сте да га мењате и расподељујете.\n"
"Не постоји НИКАКВА ГАРАНЦИЈА, у оквирима дозвољеним законом.\n"

#: src/envsubst.c:116 src/gettext.c:141 src/ngettext.c:130
#, c-format
msgid "Written by %s.\n"
msgstr "Написао је %s.\n"

#. This is a proper name. See the gettext manual, section Names.
#: src/envsubst.c:116
msgid "Bruno Haible"
msgstr "Бруно Хејбл"

#: src/envsubst.c:125 src/gettext.c:159 src/ngettext.c:142
#, c-format
msgid "too many arguments"
msgstr "превише аргумената"

#: src/envsubst.c:136 src/gettext.c:169 src/ngettext.c:154
#, c-format
msgid "missing arguments"
msgstr "недостају аргументи"

#: src/envsubst.c:174 src/gettext.c:246 src/ngettext.c:211
#, c-format
msgid "Try '%s --help' for more information.\n"
msgstr "Пробајте „%s --help“ за више података.\n"

#: src/envsubst.c:179
#, c-format, no-wrap
msgid "Usage: %s [OPTION] [SHELL-FORMAT]\n"
msgstr "Употреба: %s [ОПЦИЈА] [ФОРМАТ-ЉУСКЕ]\n"

#: src/envsubst.c:184
#, c-format, no-wrap
msgid "Substitutes the values of environment variables.\n"
msgstr "Замењује вредности променљивих из окружења.\n"

#: src/envsubst.c:188
#, c-format, no-wrap
msgid "Operation mode:\n"
msgstr "Начин рада:\n"

#: src/envsubst.c:191
#, c-format, no-wrap
msgid "  -v, --variables             output the variables occurring in SHELL-FORMAT\n"
msgstr "  -v, --variables             исписује променљиве из ФОРМАТА-ЉУСКЕ\n"

#: src/envsubst.c:195 src/gettext.c:275 src/ngettext.c:241
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "Обавештајни излаз:\n"

#: src/envsubst.c:198
#, c-format, no-wrap
msgid "  -h, --help                  display this help and exit\n"
msgstr "  -h, --help                  приказује ову помоћ и излази\n"

#: src/envsubst.c:201
#, c-format, no-wrap
msgid "  -V, --version               output version information and exit\n"
msgstr "  -V, --version               исписује податке о издању и излази\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 ""
"При обичном раду, стандардни улаз се умножава на стандардни излаз, уз замену\n"
"променљивих из окружења облика $ПРОМЕНЉИВА или ${ПРОМЕНЉИВА} одговарајућим\n"
"вредностима. Ако је дат ФОРМАТ-ЉУСКЕ, само оне променљиве које су у њему\n"
"наведене се замењују; иначе, све променљиве окружења наведене у стандардном\n"
"улазу се замењују.\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 ""
"Када се користи „--variables“, занемарује се стандардни улаз, а излаз се састоји \n"
"из променљивих окружења које се помињу у ФОРМАТУ-ЉУСКЕ, једна променљива по реду.\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 ""
"Грешке пријавите на пратиоцу грешака на „%s“\n"
"или пошаљите поруку на „%s“.\n"

#: src/envsubst.c:451
#, c-format
msgid "error while reading \"%s\""
msgstr "грешка при читању „%s“"

#: src/envsubst.c:451
msgid "standard input"
msgstr "стандардни улаз"

#. This is a proper name. See the gettext manual, section Names.
#: src/gettext.c:141 src/ngettext.c:130
msgid "Ulrich Drepper"
msgstr "Улрих Дрепер"

#: src/gettext.c:251
#, c-format, no-wrap
msgid ""
"Usage: %s [OPTION] [[TEXTDOMAIN] MSGID]\n"
"or:    %s [OPTION] -s [MSGID]...\n"
msgstr ""
"Употреба: %s [ОПЦИЈА] [[ДОМЕН ТЕКСТА] МСГИД]\n"
"или:      %s [ОПЦИЈА] -s [МСГИД]...\n"

#: src/gettext.c:257
#, c-format, no-wrap
msgid "Display native language translation of a textual message.\n"
msgstr "Приказује превод текстуалне поруке на матерњем језику.\n"

#: src/gettext.c:261
#, c-format, no-wrap
msgid "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
msgstr "  -d, --domain=ДОМЕН_ТЕКСТА   налази преведене поруке из ДОМЕНА_ТЕКСТА\n"

#: src/gettext.c:263 src/ngettext.c:228
#, c-format
msgid "  -c, --context=CONTEXT     specify context for MSGID\n"
msgstr "  -c, --context=КОНТЕКСТ      наводи контекст за „MSGID“\n"

#: src/gettext.c:265 src/ngettext.c:230
#, c-format
msgid "  -e                        enable expansion of some escape sequences\n"
msgstr "  -e                          омогућава ширење неких низова прелаза\n"

#: src/gettext.c:267
#, c-format
msgid "  -n                        suppress trailing newline\n"
msgstr "  -n                          потискује пратећи нови ред\n"

#: src/gettext.c:269 src/ngettext.c:232
#, c-format
msgid "  -E                        (ignored for compatibility)\n"
msgstr "  -E                          (занемарено зарад сагласности)\n"

#: src/gettext.c:271
#, c-format
msgid ""
"  [TEXTDOMAIN] MSGID        retrieve translated message corresponding\n"
"                            to MSGID from TEXTDOMAIN\n"
msgstr ""
"  [ДОМЕН_ТЕКСТА] MSGID        налази преведене поруке које одговарају\n"
"                              „MSGID“-у из ДОМЕНА_ТЕКСТА\n"

#: src/gettext.c:277 src/ngettext.c:243
#, c-format
msgid "  -h, --help                display this help and exit\n"
msgstr "  -h, --help                  приказује ову помоћ и излази\n"

#: src/gettext.c:279 src/ngettext.c:245
#, c-format
msgid "  -V, --version             display version information and exit\n"
msgstr "  -V, --version               исписује податке о издању и излази\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 ""
"Уколико није дат параметар ДОМЕНТЕКСТА, домен се одређује на основу \n"
"променљиве окружења ДОМЕНТЕКСТА.  Уколико не може да нађе каталог порука \n"
"у обичном директоријуму, други директоријум се може навести помоћу \n"
"променљиве окружења ДИРДОМЕНТЕКСТА.\n"
"Када се користи уз опцију -s, програм се понаша као „echo“ наредба.\n"
"Међутим, он не пребацује само своје аргументе на излаз. Уместо тога, поруке \n"
"које постоје у изабраном каталогу се преводе.\n"
"Уобичајени директоријум за тражење је: %s\n"

#: src/ngettext.c:216
#, c-format, no-wrap
msgid "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
msgstr "Употреба: %s [ОПЦИЈА] [ДОМЕНТЕКСТА] МСГИД БРОЈ МСГИД-МНОЖИНА\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 ""
"Приказује превод на матерњем језику за текстуалну поруку чији \n"
"облик зависи од броја.\n"

#: src/ngettext.c:226
#, c-format, no-wrap
msgid "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
msgstr "  -d, --domain=ДОМЕН_ТЕКСТА   налази преведену поруку из ДОМЕНА_ТЕКСТА\n"

#: src/ngettext.c:234
#, c-format
msgid ""
"  [TEXTDOMAIN]              retrieve translated message from TEXTDOMAIN\n"
msgstr ""
"  [ДОМЕН_ТЕКСТА]              налази преведену поруку из ДОМЕНА_ТЕКСТА\n"

#: src/ngettext.c:236
#, c-format
msgid ""
"  MSGID MSGID-PLURAL        translate MSGID (singular) / MSGID-PLURAL "
"(plural)\n"
msgstr ""
"  MSGID MSGID-PLURAL          преводи „MSGID“ (једнина) / „MSGID-"
"PLURAL“ (множина)\n"

#: src/ngettext.c:238
#, c-format
msgid ""
"  COUNT                     choose singular/plural form based on this value\n"
msgstr ""
"  БРОЈ                        бира облик једнине/множине на основу ове "
"вредности\n"

#: 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 ""
"Уколико није дат параметар ДОМЕНТЕКСТА, домен се одређује на основу \n"
"променљиве окружења ДОМЕНТЕКСТА.  Уколико не може да нађе каталог порука \n"
"у обичном директоријуму, други директоријум се може навести помоћу \n"
"променљиве окружења ДИРДОМЕНТЕКСТА.\n"
"Уобичајени директоријум за тражење је: %s\n"

#~ msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
#~ msgstr "Грешке пријавите на <bug-gnu-gettext@gnu.org>.\n"

#~ 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' is ambiguous\n"
#~ msgstr "%s: опција „-W %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 ""
#~ "  -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=ДОМЕНТЕКСТА  користи преведене поруке из ДОМЕНТЕКСТА\n"
#~ "  -e                        укључује употребу неких нарочитих низова\n"
#~ "  -E                        (занемарено ради сагласности)\n"
#~ "  -h, --help                приказује ову помоћ и излази\n"
#~ "  -n                        одбацује пратећи знак за нови ред\n"
#~ "  -V, --version             приказује податке о издању и излази\n"
#~ "  [ДОМЕНТЕКСТА] МСГИД       користи преведену поруку за МСГИД из \n"
#~ "                            ДОМЕНТЕКСТА\n"

#~ 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=ДОМЕНТЕКСТА  користи преведене поруке из ДОМЕНТЕКСТА\n"
#~ "  -e                        укључује употребу неких нарочитих низова\n"
#~ "  -E                        (занемарено ради сагласности)\n"
#~ "  -h, --help                приказује ову помоћ и излази\n"
#~ "  -n                        одбацује пратећи знак за нови ред\n"
#~ "  -V, --version             приказује податке о издању и излази\n"
#~ "  [ДОМЕНТЕКСТА]             довлачи преведену поруку из ДОМЕНТЕКСТА\n"
#~ "  МСГИД МСГИД-МНОЖИНА       преводи облик једнине/множине\n"
#~ "  БРОЈ                      бира облик једнине/множине према овој "
#~ "вредности\n"
