# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2002 Free Software Foundation, Inc.
# Ales Nyakhaychyk <i18n@infonet.by>, 2002.
#
msgid ""
msgstr ""
"Project-Id-Version: gettext 0.11.5\n"
"Report-Msgid-Bugs-To: bug-gettext@gnu.org\n"
"POT-Creation-Date: 2020-07-26 21:56+0200\n"
"PO-Revision-Date: 2002-09-04 18:51+0300\n"
"Last-Translator: Ales Nyakhaychyk <i18n@infonet.by>\n"
"Language-Team: Belarusian <i18n@tut.by>\n"
"Language: be\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"

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

#: gnulib-lib/error.c:195
msgid "Unknown system error"
msgstr "Невядомая сістэмная памылка"

#: 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: выбар `%s' неадназначны\n"

#: gnulib-lib/getopt.c:284
#, fuzzy, c-format
#| msgid "%s: option `%s' is ambiguous\n"
msgid "%s: option '%s%s' is ambiguous; possibilities:"
msgstr "%s: выбар `%s' неадназначны\n"

#: gnulib-lib/getopt.c:319
#, fuzzy, c-format
#| msgid "%s: unrecognized option `%c%s'\n"
msgid "%s: unrecognized option '%s%s'\n"
msgstr "%s: нераспазнаны выбар `%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: выбар `%c%s' не патрабуе аргумэнтаў\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: выбар `%s' патрабуе аргумэнт\n"

#: gnulib-lib/getopt.c:621
#, fuzzy, c-format
#| msgid "%s: invalid option -- %c\n"
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: нерэчаісны выбар -- %c\n"

#: gnulib-lib/getopt.c:636 gnulib-lib/getopt.c:682
#, fuzzy, c-format
#| msgid "%s: option requires an argument -- %c\n"
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 ""

#: 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
#, fuzzy, c-format
#| msgid "Try `%s --help' for more information.\n"
msgid "Try '%s --help' for more information.\n"
msgstr "Паспрабуйце \"%s --help\" для больш падрабязных зьвестак.\n"

#: src/envsubst.c:179
#, fuzzy, c-format, no-wrap
#| msgid "Usage: %s [OPTION] [FILE]...\n"
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 ""

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

#: src/envsubst.c:191
#, c-format, no-wrap
msgid "  -v, --variables             output the variables occurring in SHELL-FORMAT\n"
msgstr ""

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

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

#: src/envsubst.c:201
#, fuzzy, c-format, no-wrap
#| msgid ""
#| "Informative output:\n"
#| "  -h, --help                  display this help and exit\n"
#| "  -V, --version               output version information and exit\n"
msgid "  -V, --version               output version information and exit\n"
msgstr ""
"Інфармацыйны вывад:\n"
"  -h, --help                  адлюстроўвае дапамогу й выходзіць\n"
"  -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 ""

#: 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 ""

#. 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 "памылка ў час чытаньня \"%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 [ВЫБАР] [[TEXTDOMAIN] MSGID]\n"
"        ці:    %s [ВЫБАР] -s [MSGID]...\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 ""

#: 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
#, c-format
msgid "  -h, --help                display this help and exit\n"
msgstr ""

#: src/gettext.c:279 src/ngettext.c:245
#, c-format
msgid "  -V, --version             display version information and exit\n"
msgstr ""

#: src/gettext.c:283
#, fuzzy, 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"
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 ""
"Калі параметар TEXTDOMAIN не зададзен, маёнтак вызначаецца з пераменнай\n"
"асяроддзя TEXTDOMAIN.  Калі каталёг з паведамленьнямі ня знойдзен у звычайнай\n"
"дырэкторыі, іншае месцазнаходжаньне можа быць зададзена ў пераменнай\n"
"асяроддзя TEXTDOMAINDIR.\n"
"Калі выкарыстоўвываецца разам з выбарам -s, праграма паводзіць сабе як\n"
"каманда `echo', але яна ня проста капіруе свае аргумэнты ў stdout, яна\n"
"замест існуючых паведамленьняў знаходзіць у азначаным каталёгу перакладзеныя.\n"
"Стандартная дырэкторыя для пошуку: %s\n"

#: src/ngettext.c:216
#, c-format, no-wrap
msgid "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
msgstr "Выкарыстаньне %s [ВЫБАР] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\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 ""

#: 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 ""
"Калі парамэтар TEXTDOMAIN не зададзен, маёнтак вызначаецца зь пераменнай\n"
"асяродзьдзя TEXTDOMAIN.  Калі каталёг з паведамленьнямі ня знойдзен у звычайнай\n"
"дырэкторыі, іншае месцазнаходжаньне можа быць зададзена ў пераменнай\n"
"асяроддзя TEXTDOMAINDIR.\n"
"Стандартная дырэкторыя для пошуку: %s\n"

#, c-format
#~ msgid "invalid argument `%s' for `%s'"
#~ msgstr "нерэчаісны аргумэнт `%s' для `%s'"

#, c-format
#~ msgid "ambiguous argument `%s' for `%s'"
#~ msgstr "неадназначны аргумэнт `%s' для `%s'"

#~ msgid "Valid arguments are:"
#~ msgstr "Рэчаісныя аргумэнты:"

#, c-format
#~ msgid "error while opening \"%s\" for reading"
#~ msgstr "памылка ў час чытаньня файла \"%s\""

#, c-format
#~ msgid "cannot open backup file \"%s\" for writing"
#~ msgstr "немагчыма адчыніць дубліруючы файл \"%s\" для запісу"

#, c-format
#~ msgid "error reading \"%s\""
#~ msgstr "памылка чытаньня \"%s\""

#, c-format
#~ msgid "error writing \"%s\""
#~ msgstr "памылка запісу файла \"%s\""

#, c-format
#~ msgid "error after reading \"%s\""
#~ msgstr "памылка пасля чытаньня \"%s\""

#, c-format
#~ msgid "%s subprocess failed"
#~ msgstr "%s падпрацэс спынены з-за памылкі"

#, c-format
#~ msgid "%s: option `--%s' doesn't allow an argument\n"
#~ msgstr "%s: выбар `--%s' не патрабуе аргумэнтаў\n"

#, c-format
#~ msgid "%s: unrecognized option `--%s'\n"
#~ msgstr "%s: нераспазнаны выбар `--%s'\n"

#, c-format
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: несапраўдны выбар -- %c\n"

#, c-format
#~ msgid "%s: option `-W %s' is ambiguous\n"
#~ msgstr "%s: выбар `-W %s' неадназначны\n"

#, c-format
#~ msgid "%s: option `-W %s' doesn't allow an argument\n"
#~ msgstr "%s: выбар `-W %s' не патрабуе аргумэнтаў\n"

#~ msgid "Java compiler not found, try installing gcj or set $JAVAC"
#~ msgstr "Java кампілятар ня знойдзен, паспрабуйце ўсталяваць gcj ці $JAVAC"

#~ msgid "Java virtual machine not found, try installing gij or set $JAVA"
#~ msgstr ""
#~ "Віртуальная Java-машына ня знойдзена, паспрабуйце ўсталяваць gij ці $JAVA"

#~ msgid "cannot create pipe"
#~ msgstr "не магчыма стварыць канвеэр"

#, c-format
#~ msgid "%s subprocess"
#~ msgstr "%s падпрацэс"

#, c-format
#~ msgid "%s subprocess got fatal signal %d"
#~ msgstr "%s падрацэс атрымаў фатальны сігнал %d"

#, c-format
#~ msgid "number of format specifications in 'msgid' and '%s' does not match"
#~ msgstr "колькасьць спэцыфікацый фармату ў 'msgid' і '%s' не супадае"

#, c-format
#~ msgid ""
#~ "format specifications in 'msgid' and '%s' for argument %u are not the same"
#~ msgstr ""
#~ "спэцыфікатары фармату ў 'msgid' і '%s' для аргумэнта %u неаднолькавыя"

#, c-format
#~ msgid ""
#~ "a format specification for argument %u, as in '%s', doesn't exist in "
#~ "'msgid'"
#~ msgstr ""
#~ "спэцыфікацыя фармату для аргумэнта %u, як у '%s', ня йснуе ў 'msgid'"

#, c-format
#~ msgid "a format specification for argument %u doesn't exist in '%s'"
#~ msgstr "спэцыфікацыя фармату для аргумэнта %u ня йснуе ў '%s'"

#, c-format
#~ msgid ""
#~ "a format specification for argument {%u}, as in '%s', doesn't exist in "
#~ "'msgid'"
#~ msgstr ""
#~ "спэцыфікацыя фармату для аргумэнта {%u}, як у '%s', не йснуе ў 'msgid'"

#, c-format
#~ msgid "a format specification for argument {%u} doesn't exist in '%s'"
#~ msgstr "спэцыфікацыя фармату для аргумэнта {%u} не йснуе ў '%s'"

#, c-format
#~ msgid ""
#~ "format specifications in 'msgid' and '%s' for argument {%u} are not the "
#~ "same"
#~ msgstr ""
#~ "спэцыфікацыі фармату ў 'msgid' і '%s' для аргумэнта {%u} не аднолькавыя"

#, c-format
#~ msgid "format specifications in 'msgid' and '%s' are not equivalent"
#~ msgstr "спэцыфікацыі фармата ў 'msgid' і '%s' нераўназначныя"

#, c-format
#~ msgid "format specifications in '%s' are not a subset of those in 'msgid'"
#~ msgstr ""
#~ "спэцыфікацыі фармата ў '%s' не з'яўляюцца падмноствам спэцыфікацый у "
#~ "'msgid'"

#, c-format
#~ msgid ""
#~ "a format specification for argument '%s', as in '%s', doesn't exist in "
#~ "'msgid'"
#~ msgstr ""
#~ "спэцыфікацыі фармату для аргумэнту '%s', як у '%s', не існуюць у'msgid'"

#, c-format
#~ msgid "a format specification for argument '%s' doesn't exist in '%s'"
#~ msgstr "спцэыфікацыя фармату для аргумэнта \"%s\" ня йснуе ў \"%s\""

#, c-format
#~ msgid ""
#~ "format specifications in 'msgid' and '%s' for argument '%s' are not the "
#~ "same"
#~ msgstr ""
#~ "спэцыфікацыі фармату ў 'msgid' і '%s' для аргумэнта '%s' неаднолькавыя"

#, c-format, no-wrap
#~ 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"
#~ "Гэта вольнае праграмнае забесьпячэньне; глядзіце зыходны тэкст для\n"
#~ "пагадненьня аб распаўсюджваньні. Ня йснуе НІЯКАЙ гарантыі; нават аб\n"
#~ "магчымасьці выкарыстньня зь якой небудзь мэтай.\n"

#, 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=TEXTDOMAIN   вяртае перакладзеныя паведамленьні з TEXTDOMAIN\n"
#~ "  -e                        выкарыстоўваць некаторыя ESC-пасьлядоўнасьці\n"
#~ "  -E                        (ігнаруецца для сумяшчальнасьці)\n"
#~ "  -h, --help                адлюстроўвае гэту дапамогу й выходзіць\n"
#~ "  -n                        стрымлівае цягнучыеся новыя радкі\n"
#~ "  -V, --version             адлюстроўвае зьветскі аб версіі й выходзіць\n"
#~ "  [TEXTDOMAIN] MSGID        вяртае перакладзеныя паведамленьні суадносна\n"
#~ "                            MSGID з TEXTDOMAIN\n"

#~ msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
#~ msgstr "Паведамляйце аб памылках на адрас <bug-gnu-gettext@gnu.org>.\n"

#, c-format, no-wrap
#~ msgid "Usage: %s [OPTION]\n"
#~ msgstr "Выкарыстаньне: %s [ВЫБАР]\n"

#, no-wrap
#~ msgid "Print the machine's hostname.\n"
#~ msgstr "Друкуе назву вузла.\n"

#, no-wrap
#~ 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 ""
#~ "Фармат вываду:\n"
#~ "  -s, --short           кароткая назва вузла\n"
#~ "  -f, --fqdn, --long    поўная назва вузла, уключаючы поўную кваліфікаваную\n"
#~ "                        назву маёнтка й прозьвішчы\n"
#~ "  -i, --ip-address      адрас для вузла\n"

#~ msgid "could not get host name"
#~ msgstr "немагчыма атрымаць назву вузла"

#~ msgid "at most one input file allowed"
#~ msgstr "па большай частцы адзін уваходзячы файл зацьверджан"

#, c-format
#~ msgid "%s and %s are mutually exclusive"
#~ msgstr "%s і %s узаема выключны"

#, c-format, no-wrap
#~ msgid "Usage: %s [OPTION] [INPUTFILE]\n"
#~ msgstr "Выкарыстаньне: %s [ВЫБАР] [УВАХОДЗЯЧЫ_ФАЙЛ]\n"

#, no-wrap
#~ msgid ""
#~ "Filters the messages of a translation catalog according to their attributes,\n"
#~ "and manipulates the attributes.\n"
#~ msgstr ""
#~ "Фільтруе паведамленьні каталёга перакладаў суадносна іх атрыбутам, а так сама,\n"
#~ "узьдзейнічае на іх\n"

#, no-wrap
#~ msgid "Mandatory arguments to long options are mandatory for short options too.\n"
#~ msgstr "Аргумэнты, абавязковыя для доўгіх выбараў, абавязковы й для кароткіх.\n"

#, no-wrap
#~ 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 ""
#~ "Файл уводу:\n"
#~ "  INPUTFILE                   уваходзячы PO файл\n"
#~ "  -D, --directory=ДЫРЭКТОРЫЯ  дадаць ДЫРЭКТОРЫЮ ў сьпіс пошуку ўваходзячых\n"
#~ "                              файлаў\n"
#~ "Калі ўваходзячы файл не зададзен, ці замест яго -, чытае стандартны ўвод.\n"

#, no-wrap
#~ 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 ""
#~ "Файл вываду:\n"
#~ "  -o, --output-file=ФАЙЛ      запісваць вывад у зададзены файл\n"
#~ "Вынікі запісваюцца ў стандартны вывад, калі ймя файла для вываду не\n"
#~ "зададзена, ці замест яго -.\n"

#, no-wrap
#~ 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 ""
#~ "Выбар паведамленьня:\n"
#~ "      --translated            пакідае перакладзеныя, прымае неперакладзеныя\n"
#~ "                              паведамленьні\n"
#~ "      --untranslated          пакідае неперакладзеныя, прымае перакладзеныя\n"
#~ "                              паведамленьні\n"
#~ "      --no-fuzzy              прымае паведамленьні, азначаныя як 'fuzzy'\n"
#~ "      --only-fuzzy            пакідае паведамленьні, азначаныя як 'fuzzy'\n"
#~ "      --no-obsolete           прымае састарэлыя #~ паведамленьні\n"
#~ "      --only-obsolete         пакіде састарэлыя #~ паведамленьні\n"

#, no-wrap
#~ 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 ""
#~ "Узьдзеяньне на атрыбуты:\n"
#~ "      --set-fuzzy             усталёўвае ўсе паведамленьні як 'fuzzy'\n"
#~ "      --clear-fuzzy           усталёўвае ўсе паведамленьні як не 'fuzzy'\n"
#~ "      --set-obsolete          усталёўвае ўсе паведамленьні як састарэлыя\n"
#~ "      --clear-obsolete        усталёўвае ўсе паведамленьні як несастарэлыя\n"
#~ "      --fuzzy                 тое, што й --only-fuzzy --clear-fuzzy\n"
#~ "      --obsolete              тое, што й --only-obsolete --clear-obsolete\n"

#, no-wrap
#~ 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 ""
#~ "Дэталі вываду:\n"
#~ "  -e, --no-escape             не выкарыстоўваць Сі ESC-паслядоўнасьці ў\n"
#~ "                              вывадзе (звычайна)\n"
#~ "  -E, --escape                выкарыстоўваць Сі ESC пасьлядоўнасьці ў вывадзе;\n"
#~ "                              без дадатковых сімвалаў\n"
#~ "      --force-po              запісваць PO-файл, нават калі ён пусты\n"
#~ "  -i, --indent                запісваць .po файл, выкарыстоўвываючы водступы\n"
#~ "      --no-location           не запісваць радкі '#: імя_файла:радок'\n"
#~ "  -n, --add-location          ствараць радкі '#: імя_файла:радок' радкі (гэты\n"
#~ "                              выбар выкарыстоўваецца паўмаўчаньню)\n"
#~ "      --strict                запісваць .po файл, жорстка адпавядаючы\n"
#~ "                              пагадненьню Uniforum\n"
#~ "  -w, --width=ШЫРЫНЯ          усталёўваць шырыню вывадзімай старонкі\n"
#~ "  -s, --sort-output           ствараць упарадкаваны вывад\n"
#~ "  -F, --sort-by-file          упарадкоўваць вывад па месцазнаходжаньню файла\n"

#, c-format
#~ msgid "impossible selection criteria specified (%d < n < %d)"
#~ msgstr "зададзен немагчымы крытэрый выбару (%d < n < %d)"

#, c-format, no-wrap
#~ msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
#~ msgstr "Выкарыстаньне: %s [ВЫБАР] [УВАХОДЗЯЧЫ_ФАЙЛ]...\n"

#, no-wrap
#~ 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 ""
#~ "Злучае й аб'ядноўвае зададзеныя PO-файлы.\n"
#~ "Шукае паведамленьніе якія вызначаны ў двух ці больш PO-файлах.\n"
#~ "Выкарытсоўвываючы выбар --more-than, можа быць запатрабавана большая\n"
#~ "колькасьць супадзеньняў перад тым, як будзе надрукавана певедамленьне.\n"
#~ "Наадварот, выбар --less-than можа быць выкарыстаны для заданьня меньшай\n"
#~ "колькасьці супадзеньняў (г.з. --less-than=2 будуць надрукаваны паведамленьні,\n"
#~ "які сутракаюцца толькі аднойчы).  Пераклады, каментары і каментары вытрымкі\n"
#~ "будуць аб'яднаны, за выключэньнем калі зададзен выбар --use-first, тады яны\n"
#~ "будуць узяты  з першага PO-файла.\n"
#~ "Пазіцыі з усіх PO-файлаў будуць аб'яднаны ў кучу\n"

#, no-wrap
#~ 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 ""
#~ "Файл уводу:\n"
#~ "  УВАХОДЗЯЧЫ_ФАЙЛ ...            уваходзячыя файлы\n"
#~ "  -f, --files-from=ФАЙЛ          атрымліваць сьпіс уваходзячый файлаў з ФАЙЛА\n"
#~ "  -D, --directory=ДЫРЭКТОРЫЯ     дадаць ДЫРЭКТОРЫЮ ў сьпіс пошуку ўваходзячых\n"
#~ "                                 файлаў\n"
#~ "Калі файл уводу гэта -, чытаецца стандартны ўвод.\n"

#, no-wrap
#~ 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 ""
#~ "Файл вываду:\n"
#~ "  -o, --output-file=ФАЙЛ         запісваць вывад у азначаны файл\n"
#~ "Вынікі запісваюцца ў стандартны вывад, калі імя файла не зададзена, ці\n"
#~ "замест яго -.\n"

#, no-wrap
#~ 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 ""
#~ "Выбар паведамленьняў:\n"
#~ "  -<, --less-than=ЛІК            друкаваць паведамленьні, якія маюць меньш\n"
#~ "                                 вызначэньняў, чым зададзена; звычайна не\n"
#~ "                                 абмежавана\n"
#~ "  ->, --more-than=ЛІК            друкаваць паведамленьні, якія маюць больш\n"
#~ "                                 вызначэньняў, чым зададзена; звычайна 0\n"
#~ "  -u, --unique                   скарачэньне для --less-than=2, толькі\n"
#~ "                                 непаўторныя паведамленьні будуць надрукаваны\n"

#, no-wrap
#~ 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 ""
#~ "Дэталі вываду:\n"
#~ "  -e, --no-escape                не выкарыстоўваць ESC-пасьлядоўнасьці ў\n"
#~ "                                 вывадзе (звычайна)\n"
#~ "  -E, --escape                   выкарыстоўваць ESC пасьлядоўнасьці ў вывадзе,\n"
#~ "                                 без дадатковых сімвалаў\n"
#~ "      --force-po                 запісваць PO-файл, нават калі ён пусты\n"
#~ "  -i, --indent                   запісваць .po файл, выкарыстоўвываючы водступы\n"
#~ "      --no-location              не запісваць радкі '#: імя_файла:радок'\n"
#~ "  -n, --add-location             ствараць радкі '#: імя_файла:радок' радкі (гэты\n"
#~ "                                 выбар выкарыстоўваецца паўмаўчаньню)\n"
#~ "      --strict                   запісваць .po файл, жорстка адпавядаючы\n"
#~ "                                 пагадненьню Uniforum\n"
#~ "  -w, --width=ШЫРЫНЯ             усталёўваць шырыню вывадзімай старонкі\n"
#~ "  -s, --sort-output              ствараць упарадкаваны вывад\n"
#~ "  -F, --sort-by-file             упарадкоўваць вывад па месцазнаходжаньню файла\n"

#, no-wrap
#~ msgid ""
#~ "Informative output:\n"
#~ "  -h, --help                     display this help and exit\n"
#~ "  -V, --version                  output version information and exit\n"
#~ msgstr ""
#~ "Інфармацыйны вывад:\n"
#~ "  -h, --help                     адлюстроўвае гэту дапамогу і выходзіць\n"
#~ "  -V, --version                  выводзіць зьвесткі аб версіі і выходзіць\n"

#~ msgid "no input files given"
#~ msgstr "не зададзены ўводзячыя файлы"

#~ msgid "exactly 2 input files required"
#~ msgstr "патрабуецца менавіта 2 уводзячых файла"

#, c-format, no-wrap
#~ msgid "Usage: %s [OPTION] def.po ref.pot\n"
#~ msgstr "Выкарыстаньне: %s [ВЫБАР] def.po ref.pot\n"

#, no-wrap
#~ 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 ""
#~ "Параўноўвае два Uniforum .po файла, каб удакладніць, што абодва зьмяшчаюць\n"
#~ "аднолькавыя мноствы радкоў msgid.  Файл def.po - гэта існуючы PO файл зь\n"
#~ "перакладамі.  Файл ref.po - гэта апошні створаны PO файл, ці PO шаблён\n"
#~ "(звычайна створаны праграмай xgettext).  Гэта карысна для праверкі, што ў\n"
#~ "вас перакладзена кожнае паведамленьне з вашае праграмы.  Там, дзе дакладнае\n"
#~ "супадзеньне ня будзе знойдзена, выкарыстоўвываецца недакладае - для\n"
#~ "лепшай праверкі.\n"

#, no-wrap
#~ 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 ""
#~ "Файл уводу:\n"
#~ "  def.po                      пераклады\n"
#~ "  ref.pot                     спасылкі на крыніцы\n"
#~ "  -D, --directory=ДЫРЭКТОРЫЯ  дадаць ДЫРЭКТОРЫЮ ў сьпіс пошуку файлаў ўводу\n"

#, no-wrap
#~ msgid ""
#~ "Operation modifiers:\n"
#~ "  -m, --multi-domain          apply ref.pot to each of the domains in def.po\n"
#~ msgstr ""
#~ "Зьмяняльнікі:\n"
#~ "  -m, --multi-domain          прымяніць ref.pot для кожнага маёнтка з def.po\n"

#~ msgid "this message is used but not defined..."
#~ msgstr "гэта паведамленьне выкарыстоўваецца, але не вызначана..."

#~ msgid "...but this definition is similar"
#~ msgstr "...але гэта вызначэньне падобна"

#, c-format
#~ msgid "this message is used but not defined in %s"
#~ msgstr "гэта паведамленьне выкарыстоўваецца, але не вызначана ў %s"

#~ msgid "warning: this message is not used"
#~ msgstr "увага: гэта паведамленьне не выкарыстоўваецца"

#, c-format
#~ msgid "found %d fatal error"
#~ msgid_plural "found %d fatal errors"
#~ msgstr[0] "знойдзена %d фатальная памылка"
#~ msgstr[1] "знойдзена %d фатальныя памылкі"
#~ msgstr[2] "знойдзена %d фатальных памылак"

#~ msgid "duplicate message definition"
#~ msgstr "двайное вызначэньне паведамленьня"

#~ msgid "...this is the location of the first definition"
#~ msgstr "...гэта месцазнаходжаньне першага вызначэньня"

#~ msgid "at least two files must be specified"
#~ msgstr "неабходна задаць не менш двух файлаў"

#, no-wrap
#~ 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 ""
#~ "Шукае паведамленьні, агульныя для двух ці больш зададзеных PO файлаў.\n"
#~ "Выкарыстоўвываючы выбар --more-than, можа быць запатрабавана большая\n"
#~ "агульнасьць, перад тым, як будуць надрукаваны паведамленьні.  Наадварот,\n"
#~ "выбар --less-than можа быць выкарыстаны для запатрабаваньня меньшай\n"
#~ "агульнасьці перад друкам паведамленьняў (т.ч. --less-than=2 надрукуюцца)\n"
#~ "толькі непаўторныя памедамленьні).  Пераклады, камэнтары й здабытыя\n"
#~ "камэнтары будуць захаваны, але толькі зь першага PO файла, у якім яны былі\n"
#~ "вызначаны.  Каментары становішчаў у файлах з усіх PO файлаў будуць аб'яднаны.\n"

#, no-wrap
#~ 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 ""
#~ "Выбар паведамленьняў:\n"
#~ "  -<, --less-than=ЛІК            друкаваць паведамленьні, якія маюць меньш\n"
#~ "                                 вызначэньняў, чым зададзена; звычайна не\n"
#~ "                                 абмежавана\n"
#~ "  ->, --more-than=ЛІК            друкаваць паведамленьні, якія маюць больш\n"
#~ "                                 вызначэньняў, чым зададзена; звычайна 1\n"
#~ "  -u, --unique                   скарачэньне для --less-than=2, толькі\n"
#~ "                                 непаўторныя паведамленьні будуць надрукаваны\n"

#, no-wrap
#~ 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 ""
#~ "Падрабязнасьці вываду:n  -e, --no-escape                не выкарыстоўваць Сі ESC-пасьлядоўнасьці ў\n"
#~ "                                 вывадзе (звычайна)\n"
#~ "  -E, --escape                   выкарыстоўваць Сі ESC-пасьлядоўнасьці ў\n"
#~ "                                 вывадзе замест дадатковых сымбаляў\n"
#~ "      --force-po                 запісваць PO файл, нават калі ён парожні\n"
#~ "  -i, --indent                   запісваць .po f файл з водступамі\n"
#~ "      --no-location              не запісваць радкі '#: імя_файла:радок'\n"
#~ "  -n, --add-location             ствараць радкі '#: імя_файла:радок' радкі\n"
#~ "                                 (гэты выбар выкарыстоўваецца неабумоўленым)\n"
#~ "      --strict                   запісваць .po файл, жорстка адпавядаючы\n"
#~ "                                 пагадненьню Uniforum\n"
#~ "  -w, --width=ШЫРЫНЯ             усталёўваць шырыню вывадзімай старонкі\n"
#~ "      --no-wrap                  не разьбіваць радкі доўгіх паведамленьняў,\n"
#~ "                                 даўжэйшыя за шырыню старонкі вываду, на\n"
#~ "                                 некалькі радкоў\n"
#~ "  -s, --sort-output              ствараць упарадкаваны вывад\n"
#~ "  -F, --sort-by-file             упарадкоўваць вывад па шляху да файлу\n"
#~ "      --omit-header              не запісваць загаловак з `msgid \"\"' запісам\n"

#, no-wrap
#~ msgid "Converts a translation catalog to a different character encoding.\n"
#~ msgstr "Пераўтварае каталёг з перакладамі ў розныя сімвальныя кадзіроўкі.\n"

#, no-wrap
#~ msgid ""
#~ "Conversion target:\n"
#~ "  -t, --to-code=NAME          encoding for output\n"
#~ "The default encoding is the current locale's encoding.\n"
#~ msgstr ""
#~ "Мэта пераўтварэньня:\n"
#~ "  -t, --to-code=НАЗВА         перакаўтварае кадзіроўку для вываду\n"
#~ "Звычайна выкарыстоўвываецца бягучая кадзіроўка лакалі\n"

#, no-wrap
#~ 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 ""
#~ "Дэталі вываду:\n"
#~ "  -e, --no-escape             не выкарыстоўваць Сі ESC-паслядоўнасьці ў\n"
#~ "                              вывадзе (звычайна)\n"
#~ "  -E, --escape                выкарыстоўваць Сі ESC пасьлядоўнасьці ў вывадзе,\n"
#~ "                              без дадатковых сімвалаў\n"
#~ "      --force-po              запісваць PO-файл, нават калі ён пусты\n"
#~ "  -i, --indent                запісваць .po файл, выкарыстоўвываючы водступы\n"
#~ "      --no-location           не запісваць радкі '#: імя_файла:радок'\n"
#~ "  -n, --add-location          ствараць радкі '#: імя_файла:радок' радкі (гэты\n"
#~ "                              выбар выкарыстоўваецца паўмаўчаньню)\n"
#~ "      --strict                запісваць .po файл, жорстка адпавядаючы\n"
#~ "                              пагадненьню Uniforum\n"
#~ "  -w, --width=ШЫРЫНЯ          усталёўваць шырыню вывадзімай старонкі\n"
#~ "  -s, --sort-output           ствараць упарадкаваны вывад\n"
#~ "  -F, --sort-by-file          упарадкоўваць вывад па месцазнаходжаньню файла\n"

#~ msgid "no input file given"
#~ msgstr "невызначан уваходзячы файл"

#~ msgid "exactly one input file required"
#~ msgstr "патрабуецца менавіта адзін уваходзячы файл"

#, c-format, no-wrap
#~ msgid "Usage: %s [OPTION] INPUTFILE\n"
#~ msgstr "Выкарыстаньне: %s [ВЫБАР] УВАХОДЗЯЧЫ_ФАЙЛ\n"

#, no-wrap
#~ 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 ""
#~ "Стварае каталёг ангельскіх перакладаў.  Файл уводу - гэта апошні створаны\n"
#~ "ангельскі PO файл, ці шаблён PO файлу (звычайна створаны xgettext).\n"
#~ "Неперакладзеныя уваходжаньні прымаюцца як пераклады, аднолькавыя msgid, і\n"
#~ "пазначаюцца як недакладныя (fuzzy).\n"

#, no-wrap
#~ 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 ""
#~ "Уваходзячы файл:\n"
#~ "  INPUTFILE                   уваходзячы PO ці POT файл\n"
#~ "  -D, --directory=ДЫРЭКТОРЫЯ  дадае ДЫРЭКТОРЫю ў сьпіс пошуку файлаў уводу\n"
#~ "Калі файл уводу гэта -, чытаецца стандартны ўвод.\n"

#~ msgid "missing command name"
#~ msgstr "прапушчана назва каманды"

#, c-format, no-wrap
#~ msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
#~ msgstr "Выкарыстаньне: %s [ВЫБАР] ЗАГАД [ВЫБАР_ЗАГАДА]\n"

#, no-wrap
#~ 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 ""
#~ "Выконвае загад над усімі перакладамі з каталёгу перакладаў. ЗАГАД можа быць\n"
#~ "любой праграмай, якая чытае пераклад са стандартнага ўводу.  Ён заклікаецца\n"
#~ "адзін раз для кожнага пераклада.  Яго вывад становіцца вывадам msgexec.\n"
#~ "Праграма msgexec вяртае код - гэта найбольшы код вяртаньня паміж усіх выклікаў.\n"

#, no-wrap
#~ 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 ""
#~ "Асабісты ўбудаваны загад, завецца '0', выводзіць пераклад й нулявы байт за ім.\n"
#~ "Вывад каманды \"msgexec 0\" падыходзіць для ўваходу каманды \"xargs -0\".\n"

#, no-wrap
#~ 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 ""
#~ "Уваходзячы файл:\n"
#~ "  -i, --input=INPUTFILE       PO файл уводу\n"
#~ "  -D, --directory=ДЫРЭКТОРЫЯ  дадае ДЫРЭКТОРЫю ў сьпіс пошуку файлаў уводу\n"
#~ "Калі файл уводу незададзены, ці замест яго -, чытаецца стандартны ўвод.\n"

#~ msgid "write to stdout failed"
#~ msgstr "памылка запісу ў stdout"

#, c-format
#~ msgid "write to %s subprocess failed"
#~ msgstr "памылка запісу ў падпрацэс %s"

#~ msgid "missing filter name"
#~ msgstr "прапушчана назва фільтра"

#~ msgid "at least one sed script must be specified"
#~ msgstr "па меншай меры адзін sed-скрыпт павінен быць зададзены"

#, c-format, no-wrap
#~ msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
#~ msgstr "Выкарыстаньне: %s [ВЫБАР] ФІЛЬТР [ВЫБАРЫ_ФІЛЬТРА]\n"

#, no-wrap
#~ msgid "Applies a filter to all translations of a translation catalog.\n"
#~ msgstr "Прымае фільтар да ўсіх перакладаў зь каталёгу перакладаў.\n"

#, no-wrap
#~ 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 ""
#~ "ФІЛЬТРАМ можа быць любая праграма, якая чытае пераклады са стандартнага ўводу\n"
#~ "й запісвае зьмененыя пераклады ў стандартны вывад.\n"

#, no-wrap
#~ 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 ""
#~ "Карысныя ВЫБАРы-ФІЛЬТАРУ, калі ФІЛЬТАР гэта 'sed':\n"
#~ "  -e, --expression=SCRIPT     дадае SCRIPT да загадаў, якія будуць выкананы\n"
#~ "  -f, --file=SCRIPTFILE       дадае зьмест SCRIPTFILE да загадаў, якія будуць\n"
#~ "                              выкананы\n"
#~ "  -n, --quiet, --silent       выключаць аўтаматычны друк прыклада\n"

#, no-wrap
#~ 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 ""
#~ "Дэталі вываду:\n"
#~ "      --no-escape             не выкарыстоўваць Сі ESC-пасьлядоўнасьці ў\n"
#~ "                              вывадзе (звычайна)\n"
#~ "  -E, --escape                выкарыстоўваць Сі ESC-пасьлядоўнасьці ў\n"
#~ "                              вывадзе, замест дадатковых сымбаляў\n"
#~ "      --force-po              запісваць PO файл, нават калі парожні\n"
#~ "      --indent                вывад з водступамі\n"
#~ "      --keep-header           трымаць загаловак нязьменным, не фільтраваць\n"
#~ "      --no-location           адкідваць радкі '#: файл:радок'\n"
#~ "      --add-location          дабаўляць радкі '#: файл:радок' (звычайна)\n"
#~ "      --strict                вывад жорстка адпаведае Uniforum\n"
#~ "  -w, --width=ЛІК             усталяваць шырыню вываду\n"
#~ "      --no-wrap               не разьбіваць доўгія радкі з паведамлеьнямі,\n"
#~ "\n"
#~ "                              даўжэй чым шырыня, на некалькі радкоў\n"
#~ "  -s, --sort-output           ствараць упарадкаваны вывад\n"
#~ "  -F, --sort-by-file          упарадкоўваць вывад па назьве файла\n"

#, c-format
#~ msgid "cannot set up nonblocking I/O to %s subprocess"
#~ msgstr "немагчыма ўсталяваць неблакіруючы ўвод-вывад у падпрацэс %s"

#, c-format
#~ msgid "communication with %s subprocess failed"
#~ msgstr "памылка ўзаемадзеяньня з падпрацэсам %s"

#, c-format
#~ msgid "read from %s subprocess failed"
#~ msgstr "памылка чытаньня з падпрацэса %s"

#, c-format
#~ msgid "%s subprocess terminated with exit code %d"
#~ msgstr "падпрацэс %s завершыўся з кодам выхаду %d"

#, c-format
#~ msgid "the argument to %s should be a single punctuation character"
#~ msgstr "аргумэнт %s павінен быць адзіночным знакам прыпынку"

#, c-format
#~ msgid "%s requires a \"-d directory\" specification"
#~ msgstr "%s патрабуе \"-d дырэкторыя\" спэцыфікацыі"

#, c-format
#~ msgid "%s requires a \"-l locale\" specification"
#~ msgstr "%s патрабуе \"-l locale\" спэцыфікацыі"

#, c-format
#~ msgid "%s is only valid with %s"
#~ msgstr "%s рэчаісны толькі з %s"

#, c-format
#~ msgid "%s is only valid with %s or %s"
#~ msgstr "%s рэчаісны толькі з %s ці %s"

#, c-format
#~ msgid "%d translated message"
#~ msgid_plural "%d translated messages"
#~ msgstr[0] "%d паведамленьне перакладзена"
#~ msgstr[1] "%d паведамленьні перакладзена"
#~ msgstr[2] "%d паведамленьняў перакладзена"

#, c-format
#~ msgid ", %d fuzzy translation"
#~ msgid_plural ", %d fuzzy translations"
#~ msgstr[0] ""
#~ ",\n"
#~ "%d недакладны пераклад"
#~ msgstr[1] ""
#~ ",\n"
#~ "%d недакладных пераклада"
#~ msgstr[2] ""
#~ ",\n"
#~ "%d недакладных перакладаў"

#, c-format
#~ msgid ", %d untranslated message"
#~ msgid_plural ", %d untranslated messages"
#~ msgstr[0] ""
#~ ",\n"
#~ "%d неперакладзенае паведамленьне"
#~ msgstr[1] ""
#~ ",\n"
#~ "%d неперакладзеных паведамленьні"
#~ msgstr[2] ""
#~ ",\n"
#~ "%d неперакладзеных паведамленьняў"

#, c-format, no-wrap
#~ msgid "Usage: %s [OPTION] filename.po ...\n"
#~ msgstr "Выкарыстаньне: %s [ВЫБАР] файл.po ...\n"

#, no-wrap
#~ msgid "Generate binary message catalog from textual translation description.\n"
#~ msgstr "Стварае дваічны каталёг паведамленьняў зь іх тэкставага апісаньня.\n"

#, no-wrap
#~ 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 ""
#~ "Файл уводу:\n"
#~ "  файл.po ...                 файл уводу\n"
#~ "  -D, --directory=ДЫРЭКТОРЫЯ  дадаць ДЫРЭКТОРЫЮ ў сьпіс пошуку ўваходзячых\n"
#~ "                              файлаў\n"
#~ "Калі замест назвы файлу уводу -, чытаецца стандартны ўвод.\n"

#, no-wrap
#~ 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 ""
#~ "Рэжым дзеяньня:\n"
#~ "  -j, --java                  Java рэжым: ствараць Java ResourceBundle кляс\n"
#~ "      --java2                 як --java, але ў дачыненьні Java2 (JDK 1.2 ці\n"
#~ "                              больш позьняя вэрсія)\n"
#~ "      --tcl                   Tcl рэжым: ствараць tcl/msgcat .msg файл\n"

#, no-wrap
#~ 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 ""
#~ "Файл вываду:\n"
#~ "  -o, --output-file=ФАЙЛ      запісвае вывад у зададзены файл\n"
#~ "      --strict                уключае рэжым жорсткага адпавяданьня Uniforum\n"
#~ "Калі замест назвы файла вываду -, вывад запісваецца ў стандартны вывад.\n"

#, no-wrap
#~ 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 ""
#~ "Файл вываду ў рэжыме Java:\n"
#~ "  -r, --resource=СРОДАК       назва сродка\n"
#~ "  -l, --locale=МЯСЦОВАСЬЦЬ    назва мясцовасьці, ці мова ці мова_КРАІНА\n"
#~ "  -d ДЫРЭКТОРЫЯ               асноўная дырэкторыя гіэрархіі дырэкторый клясаў\n"
#~ "Назва кляса вызначаецца шляхам дапасаваньня назвы мясцовасьці да назвы сродка\n"
#~ "абмежаваным падкрэсьліваньнем.  Выбар -d абавязковы.  Кляс запісваецца ў\n"
#~ "зададзеную дырэкторыю.\n"

#, no-wrap
#~ 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 ""
#~ "Файл вываду ў рэжыме Tcl:\n"
#~ "  -l, --locale=МЯСЦОВАСЬЦЬ    назва мясцовасьці, ці мова ці мова_КРАІНА\n"
#~ "  -d ДЫРЭКТОРЫЯ               асноўная дырэкторыя .msg каталёгаў паведамленьняў\n"
#~ "Выбары -l і -d абавязковыя.  Файл .msg запісваецца ў зададзеную дырэкторыю.\n"

#, no-wrap
#~ 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 ""
#~ "Успрыняцьце файла ўводу:\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"

#, c-format, no-wrap
#~ 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 ""
#~ "Падрабязнасьці вываду:\n"
#~ "  -a, --alignment=ЛІК         выроўніваць радкі па ЛІКу байтаў (звычайна: %d)\n"
#~ "      --no-hash               дваічны файл не зьмяшчае хэш табліцы\n"

#, no-wrap
#~ 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 ""
#~ "Інфармацыйны вывад:\n"
#~ "  -h, --help                  адлюстроўвае гэтую дапамогу й выходзіць\n"
#~ "  -V, --version               выводзіць зьвесткі аб вэрсіі й выходзіць\n"
#~ "      --statistics            друкуе статыстыку аб перакладах\n"
#~ "  -v, --verbose               павялічвае ўзровень шматслоўнасьці\n"

#~ msgid "plural expression can produce negative values"
#~ msgstr "выраз множнага ліку можа ўтвараць адмоўнае значэньне"

#, c-format
#~ msgid ""
#~ "nplurals = %lu but plural expression can produce values as large as %lu"
#~ msgstr ""
#~ "nplurals = %lu але выраз множнага ліку можа ўтвараць значэньні такія як "
#~ "%lu"

#~ msgid "plural expression can produce division by zero"
#~ msgstr "выраз множнага ліку можа ўтвараць дзяленьне на нуль"

#~ msgid "plural expression can produce integer overflow"
#~ msgstr "выраз множнага ліку можа ўтвараць цэлалікавае перапаўненьне"

#~ msgid ""
#~ "plural expression can produce arithmetic exceptions, possibly division by "
#~ "zero"
#~ msgstr ""
#~ "выраз множнага ліку можа ўтвараць арыфмэтычныя выключэньні, магчыма\n"
#~ "дзяленьне на нуль"

#~ msgid "message catalog has plural form translations..."
#~ msgstr "каталёг паведамленьня мае пераклады форм множнага ліку..."

#~ msgid "...but header entry lacks a \"plural=EXPRESSION\" attribute"
#~ msgstr "...але ў загалоўку нехапае атрыбута \"plural=ВЫРАЗ\""

#~ msgid "...but header entry lacks a \"nplurals=INTEGER\" attribute"
#~ msgstr "...але ў загалоўку нехапае атрыбута \"plural=ЦЭЛЫ_ЛІК\""

#~ msgid "invalid nplurals value"
#~ msgstr "нерэчаіснае значэньне nplurals"

#~ msgid "invalid plural expression"
#~ msgstr "нерэчаісны выраз формы мнножнага ліку (plural)"

#, c-format
#~ msgid "nplurals = %lu..."
#~ msgstr "nplurals = %lu..."

#, c-format
#~ msgid "...but some messages have only one plural form"
#~ msgid_plural "...but some messages have only %lu plural forms"
#~ msgstr[0] ""
#~ "...але некаторыя паведамленьні маюць толькі %lu форму множнага ліку"
#~ msgstr[1] ""
#~ "...але некаторыя паведамленьні маюць толькі %lu формы множнага ліку"
#~ msgstr[2] ""
#~ "...але некаторыя паведамленьні маюць толькі %lu формаў множнага ліку"

#, c-format
#~ msgid "...but some messages have one plural form"
#~ msgid_plural "...but some messages have %lu plural forms"
#~ msgstr[0] "...але некаторыя паведамленьні маюць %lu форму множнага ліку"
#~ msgstr[1] "...але некаторыя паведамленьні маюць %lu формы множнага ліку"
#~ msgstr[2] "...але некаторыя паведамленьні маюць %lu формаў множнага ліку"

#, c-format
#~ msgid "Try using the following, valid for %s:\n"
#~ msgstr "Паспрабуйце выкарыстоўваць наступнае, рэчаіснае для %s\n"

#~ msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
#~ msgstr "`msgid' і `msgid_plural' не пачынаюцца разам з '\\n'"

#, c-format
#~ msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
#~ msgstr "`msgid' і `msgstr[%u]' не пачынаюцца разам з \"\\n\""

#~ msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
#~ msgstr "`msgid' і `msgstr' не пачынаюцца разам з '\\n'"

#~ msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
#~ msgstr "`msgid' і `msgid_plural' не заканчваюцца разам на '\\n'"

#, c-format
#~ msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
#~ msgstr "`msgid' і `msgstr[%u]' не заканчваюцца разам на '\\n'"

#~ msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
#~ msgstr "`msgid' і `msgstr' не заканчваюцца разам на '\\n'"

#~ msgid "plural handling is a GNU gettext extension"
#~ msgstr "апрацоўка множнага ліку - гэта пашырэньне GNU gettext"

#, c-format
#~ msgid "'%s' is not a valid %s format string, unlike 'msgid'"
#~ msgstr "'%s' - гэта нерэчаісны %s фармат радку, у адрозьненьне ад 'msgid'"

#, c-format
#~ msgid "headerfield `%s' missing in header\n"
#~ msgstr "поле загалоку `%s' прапушчана ў загалоўку\n"

#, c-format
#~ msgid "header field `%s' should start at beginning of line\n"
#~ msgstr "поле загалоку `%s' павінна пачынацца на пачатку радка\n"

#~ msgid "some header fields still have the initial default value\n"
#~ msgstr "некаторыя палі загалока ўсё яшчэ маюць пачатковае значэньне\n"

#, c-format
#~ msgid "field `%s' still has initial default value\n"
#~ msgstr "поле `%s' усё яшчэ мае пачатковае значэньне\n"

#~ msgid "warning: PO file header missing or invalid\n"
#~ msgstr "увага: загаловак PO-файла прапушчан ці нерэчаісны\n"

#~ msgid "warning: charset conversion will not work\n"
#~ msgstr "увага: пераўтварэньне кадзіровак не будзе працаваць\n"

#~ msgid "warning: PO file header fuzzy\n"
#~ msgstr "увага: загаловак PO-файла мае недакладны пераклад\n"

#, c-format
#~ msgid "domain name \"%s\" not suitable as file name"
#~ msgstr "даменная назва \"%s\" не падыходзіць у якасці назвы файла"

#, c-format
#~ msgid "domain name \"%s\" not suitable as file name: will use prefix"
#~ msgstr ""
#~ "даменная назва \"%s\" не падыходзіць у якасці назвы файла;\n"
#~ "будзе выкарыстаны прэфікс"

#, c-format
#~ msgid "`domain %s' directive ignored"
#~ msgstr "дырэктыва `domain %s' ігнаруецца"

#~ msgid "empty `msgstr' entry ignored"
#~ msgstr "парожняе уваходжаньне `msgstr' прапушчана"

#~ msgid "fuzzy `msgstr' entry ignored"
#~ msgstr "недакладнае уваходжаньне `msgstr' прапушчана"

#, c-format
#~ msgid "%s: warning: source file contains fuzzy translation"
#~ msgstr "%s: увага: ізыходны файл змяшчае недакладны пераклад"

#, c-format
#~ msgid "option '%c' cannot be used before 'K' or 'T' has been specified"
#~ msgstr ""
#~ "выбар '%c' не можа быць выкарыстаны раней чым 'K' ці 'T' будуць зададзены"

#~ msgid "write to grep subprocess failed"
#~ msgstr "памылка запісу ў падпрацэс grep"

#, c-format
#~ 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 ""
#~ "Файл вываду %s ужо існуе.\n"
#~ "Калі ласка, задайце мясцовасьць з дапамогай выбару --locale\n"
#~ "ці .po файл вываду з дапамогай выбару --output-file.\n"

#, c-format
#~ msgid "Created %s.\n"
#~ msgstr "Створан %s.\n"

#, no-wrap
#~ msgid ""
#~ "Creates a new PO file, initializing the meta information with values from the\n"
#~ "user's environment.\n"
#~ msgstr ""
#~ "Стварае новы PO файл, задае пачатковыя мэтададзеныя значэньнямі з асяродзьдзя\n"
#~ "карыстальніка.\n"

#~ msgid ""
#~ "Found more than one .pot file.\n"
#~ "Please specify the input .pot file through the --input option.\n"
#~ msgstr ""
#~ "Знойдзен больш чым адзін .pot файл.\n"
#~ "Калі ласка задайце .pot файл уводу з дапамогай выбара --input.\n"

#~ msgid "error reading current directory"
#~ msgstr "памылка чытаньня бягучай дырэкторыі"

#~ msgid ""
#~ "Found no .pot file in the current directory.\n"
#~ "Please specify the input .pot file through the --input option.\n"
#~ msgstr ""
#~ "Ня знойдзен .pot файл у бягучай дырэкторыі.\n"
#~ "Калі ласка задайце .pot файл уводу з дапамогай выбара --input.\n"

#~ msgid "fdopen() failed"
#~ msgstr "fdopen() памылка"

#, c-format
#~ msgid "%s subprocess I/O error"
#~ msgstr "падпрацэс %s, памылка ўводу-вываду"

#, c-format
#~ msgid "English translations for %s package"
#~ msgstr "Беларускі пераклад для %s"

#, c-format
#~ msgid "two different charsets \"%s\" and \"%s\" in input file"
#~ msgstr "уваходзячы файл зьмяшчае два розных набора сімвалаў \"%s\" і \"%s\""

#, c-format
#~ msgid ""
#~ "input file `%s' doesn't contain a header entry with a charset "
#~ "specification"
#~ msgstr ""
#~ "уваходзячы файл `%s' не зьмяшчае загаловачны запіс\n"
#~ "са сьпецыфікацыей кодавай старонкі"

#~ msgid "warning: "
#~ msgstr "увага: "

#~ msgid "conversion failure"
#~ msgstr "памылка пераўтварэньня"

#~ msgid ""
#~ "input file doesn't contain a header entry with a charset specification"
#~ msgstr "уваходзячы файл не змяшчае загаловачнага запісу аб наборы сімвалаў"

#, no-wrap
#~ 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 ""
#~ "Інфармацыйны вывад:\n"
#~ "  -h, --help                  адлюстроўвае дапамогу й выходзіць\n"
#~ "  -V, --version               выводзіць зьвесткі аб версіі й выходзіць\n"
#~ "  -v, --verbose               павялічыць узровень шматслоўнасьці\n"
#~ "  -q, --quiet, --silent       забараняць паказальнікі дасягненьняў\n"

#~ msgid "this message should define plural forms"
#~ msgstr "гэтае паведамленьне павінна вызначаць хормы множнага ліка"

#~ msgid "this message should not define plural forms"
#~ msgstr "гэтае паведамленьне не павінна вызначаць хормы множнага ліка"

#, c-format
#~ msgid ""
#~ "%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
#~ "obsolete %ld.\n"
#~ msgstr ""
#~ "%sПрачытана %ld старых + %ld новых, аб'яднаных %ld, недакладных %ld;\n"
#~ "прапушчана %ld, састарэлых %ld.\n"

#~ msgid " done.\n"
#~ msgstr " зроблена.\n"

#, c-format
#~ msgid "%s and explicit file names are mutually exclusive"
#~ msgstr "%s і яўная назва файла ўзаема выключальны"

#, no-wrap
#~ msgid "Convert binary message catalog to Uniforum style .po file.\n"
#~ msgstr "Пераўтварае дваічны каталёг паведамленьняў у Uniforum .po файл.\n"

#, no-wrap
#~ 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 ""
#~ "Рэжым дзеяньня:\n"
#~ "  -j, --java               Java рэжым: увод гэта ResourceBundle кляс\n"
#~ "      --tcl                Tcl рэжым: увод гэта tcl/msgcat .msg файл\n"

#, no-wrap
#~ 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 ""
#~ "Файл уводу:\n"
#~ "  ФАЙЛ ...                 .mo файлы\n"
#~ "Калі ўваходзячы файл не зададзен, ці замест яго -, чытае стандартны ўвод.\n"

#, no-wrap
#~ 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 ""
#~ "Дэталі вываду:\n"
#~ "  -e, --no-escape          не выкарыстоўваць Сі ESC-паслядоўнасьці ў\n"
#~ "                           вывадзе (звычайна)\n"
#~ "  -E, --escape             выкарыстоўваць Сі ESC пасьлядоўнасьці ў вывадзе,\n"
#~ "                           без дадатковых сімвалаў\n"
#~ "      --force-po           запісваць PO-файл, нават калі ён пусты\n"
#~ "  -i, --indent             запісваць .po файл, выкарыстоўвываючы водступы\n"
#~ "      --strict             запісваць .po файл, жорстка адпавядаючы\n"
#~ "                           пагадненьню Uniforum\n"
#~ "  -w, --width=ШЫРЫНЯ       усталёўваць шырыню вывадзімай старонкі\n"
#~ "      --no-wrap            не разьбіваць доўгія радкі з паведамлеьнямі,\n"
#~ "\n"
#~ "                           даўжэй чым шырыня, на некалькі радкоў\n"
#~ "  -s, --sort-output        ствараць упарадкаваны вывад\n"

#, no-wrap
#~ 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 ""
#~ "Інфармацыйны вывад:\n"
#~ "  -h, --help               адлюстроўвае дапамогу й выходзіць\n"
#~ "  -V, --version            выводзіць зьвесткі аб версіі й выходзіць\n"
#~ "  -v, --verbose            павялічыць узровень шматслоўнасьці\n"

#, no-wrap
#~ msgid ""
#~ "Message selection:\n"
#~ "  -d, --repeated                 print only duplicates\n"
#~ "  -u, --unique                   print only unique messages, discard duplicates\n"
#~ msgstr ""
#~ "Выбар паведамленьня:\n"
#~ "  -d, --repeated                 друкаваць толькі паўтараючыеся\n"
#~ "  -u, --unique                   друкаваць толькі непаўторныя\n"

#~ msgid "<stdin>"
#~ msgstr "<stdin>"

#, c-format
#~ msgid "%s: warning: "
#~ msgstr "%s: увага: "

#, c-format
#~ msgid ""
#~ "Charset \"%s\" is not a portable encoding name.\n"
#~ "Message conversion to user's charset might not work.\n"
#~ msgstr ""
#~ "Кадзіроўка \"%s\" не з'яўляецца перанасімай назвай кадзіроўкі.\n"
#~ "Пераўтварэньне паведамленьняў у кадзіроўку карыстальніка можа не "
#~ "працаваць\n"

#~ msgid "Continuing anyway, expect parse errors."
#~ msgstr "Працяг выкананьня... чакаюцца памылкі разбору."

#~ msgid "Continuing anyway."
#~ msgstr "Працяг выкананьня..."

#, c-format
#~ msgid ""
#~ "Charset \"%s\" is not supported. %s relies on iconv(),\n"
#~ "and iconv() does not support \"%s\".\n"
#~ msgstr ""
#~ "Кадзіроўка \"%s\" не падтрымліваецца. %s спадзяецца на iconv(),\n"
#~ "але iconv() не падтрымлівае \"%s\".\n"

#~ msgid ""
#~ "Installing GNU libiconv and then reinstalling GNU gettext\n"
#~ "would fix this problem.\n"
#~ msgstr ""
#~ "Усталяваньне GNU libiconv і пераўсталяваньне GNU gettext\n"
#~ "павінна выправіць гэту праблему.\n"

#, c-format
#~ msgid "%s\n"
#~ msgstr "%s\n"

#, c-format
#~ msgid ""
#~ "Charset \"%s\" is not supported. %s relies on iconv().\n"
#~ "This version was built without iconv().\n"
#~ msgstr ""
#~ "Кадзіроўка \"%s\" не падтрымліваецца. %s спадзяецца на iconv().\n"
#~ "Гэта вэрсія пабудавана без iconv().\n"

#~ msgid ""
#~ "Charset missing in header.\n"
#~ "Message conversion to user's charset will not work.\n"
#~ msgstr ""
#~ "Прапушчан набор сімвалаў ў загалоўке.\n"
#~ "Пераўтварэньне паведамленьняў у набор сімвалаў карыстальніка працаваць не "
#~ "будзе.\n"

#~ msgid "inconsistent use of #~"
#~ msgstr "несумяшчальнае ўжываньне #~"

#~ msgid "missing `msgstr[]' section"
#~ msgstr "прапушчана секцыя \"msgstr[]\""

#~ msgid "missing `msgid_plural' section"
#~ msgstr "прапушчана секцыя \"msgid_plural\""

#~ msgid "missing `msgstr' section"
#~ msgstr "прапушчана секцыя \"msgstr\""

#~ msgid "first plural form has nonzero index"
#~ msgstr "першая форма ліку мае ненулявы індэкс"

#~ msgid "plural form has wrong index"
#~ msgstr "формы множнага ліку маюць дрэнныі індэкс"

#~ msgid "too many errors, aborting"
#~ msgstr "вельмі шмат памылак..."

#~ msgid "invalid multibyte sequence"
#~ msgstr "нерэчаісная шматсімвальная паслядоўнасць"

#~ msgid "incomplete multibyte sequence at end of file"
#~ msgstr "няпоўная шматбайтная пасьлядоўнасьць на прыканцы файла"

#~ msgid "incomplete multibyte sequence at end of line"
#~ msgstr "няпоўная шматбайтная пасьлядоўнасьць на прыканцы радка"

#~ msgid "iconv failure"
#~ msgstr "памылка iconv"

#, c-format
#~ msgid "keyword \"%s\" unknown"
#~ msgstr "невядомае ключавое слова \"%s\""

#~ msgid "invalid control sequence"
#~ msgstr "нерэчаісная кантралюючая паслядоўнасць"

#~ msgid "end-of-file within string"
#~ msgstr "сімвал канца файла знаходзіцца ўнутры радка"

#~ msgid "end-of-line within string"
#~ msgstr "сімвал канца радка знаходзіцца ўнутры радка"

#, c-format
#~ msgid "file \"%s\" is truncated"
#~ msgstr "файл \"%s\" абрэзан"

#, c-format
#~ msgid "file \"%s\" contains a not NUL terminated string"
#~ msgstr "файл \"%s\" змяшчае радок не завершаны нулём"

#, c-format
#~ msgid "file \"%s\" is not in GNU .mo format"
#~ msgstr "фармат файла \"%s\" не GNU .mo"

#, c-format
#~ msgid "file \"%s\" contains a not NUL terminated string, at %s"
#~ msgstr "файл \"%s\" зьмяшчае радок не завершаны нулём, ля %s"

#~ msgid "expected two arguments"
#~ msgstr "чакалісь два аргумэнты"

#, c-format, no-wrap
#~ msgid "Usage: %s [OPTION] URL FILE\n"
#~ msgstr "Выкарыстаньне: %s [ВЫБАР] URL ФАЙЛ\n"

#~ msgid "error writing stdout"
#~ msgstr "памылка запісу ў stdout"

#~ msgid "cannot find a temporary directory, try setting $TMPDIR"
#~ msgstr ""
#~ "немагчыма знайсці часовую дырэкторыю, паспрабуйце ўсталяваць $TMPDIR"

#, c-format
#~ msgid "cannot create a temporary directory using template \"%s\""
#~ msgstr ""
#~ "немагчыма стварыць часовую дырэкторыю,\n"
#~ "выкарыстоўвываючы ўзор \"%s\""

#, c-format
#~ msgid "not a valid Java class name: %s"
#~ msgstr "нерэчаісная назва Java-класа: %s"

#, c-format
#~ msgid "failed to create \"%s\""
#~ msgstr "немагчыма стварыць \"%s\""

#, c-format
#~ msgid "error while writing \"%s\" file"
#~ msgstr "памылка ў час запісу файла \"%s\""

#~ msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
#~ msgstr ""
#~ "памылка кампіляцыі Java кляса, калі ласка паспрабуйце --verbose,\n"
#~ "ці ўсталяваць пераменную асяроддзя $JAVAC"

#, c-format
#~ msgid "error while opening \"%s\" for writing"
#~ msgstr "памылка ў час адкрыцця \"%s\" для запісу"

#, c-format
#~ msgid ""
#~ "internationalized messages should not contain the `\\%c' escape sequence"
#~ msgstr ""
#~ "перакладзеныя паведамленьні не павінны зьмяшчаць \"\\%c\" ESC-"
#~ "пасьлядоўнасьці"

#, c-format
#~ 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 ""
#~ "Бягучы msgid зьмяшчае не ASCII сымбалі.\n"
#~ "Гэта будзе выклікаць складанасьці ў перакладчыкаў, якія "
#~ "выкарыстоўвываюць\n"
#~ "кадзіроўку, якая адрозьніваецца ад вашае. Разглядзіце магчымасьць\n"
#~ "выкарыстаньня толькі ASCII сымбаляў у msgid\n"
#~ "%s\n"

#, c-format
#~ msgid "cannot create output file \"%s\""
#~ msgstr "немагчыма стварыць файл вываду \"%s\""

#, no-c-format
#~ msgid "standard output"
#~ msgstr "стандартны вывад"

#, c-format
#~ msgid "%s:%d: warning: unterminated character constant"
#~ msgstr "%s:%d: увага: незавершаная сімвальная канстанта"

#, c-format
#~ msgid "%s:%d: warning: unterminated string literal"
#~ msgstr "%s:%d: увага: незавершаны радок"

#~ msgid "this file may not contain domain directives"
#~ msgstr "гэты файл можа не змяшчаць дырэктыў дамену"

#, c-format
#~ msgid "%s:%d: invalid string definition"
#~ msgstr "%s:%d: нерэчаіснае вызначэньне радка"

#, c-format
#~ msgid "%s:%d: missing number after #"
#~ msgstr "%s:%d: прапушчан нумар пасьля #"

#, c-format
#~ msgid "%s:%d: invalid string expression"
#~ msgstr "%s:%d: нерэчаісны выраз-радок"

#~ msgid "--join-existing cannot be used when output is written to stdout"
#~ msgstr "--joun-existing не можа быць выкарастаны пры запісы ў stdout"

#~ msgid "xgettext cannot work without keywords to look for"
#~ msgstr "xgettext не можа працаваць без ключавых слоў для пошуку"

#, c-format
#~ msgid "warning: file `%s' extension `%s' is unknown; will try C"
#~ msgstr "увага: файл \"%s\" суфікс \"%s\" невядомы; паспрабуйце C"

#, no-wrap
#~ msgid "Extract translatable strings from given input files.\n"
#~ msgstr "Атрымлівае перакладаемыя радкі з дадзеных уваходзячых файлаў.\n"

#, no-wrap
#~ msgid ""
#~ "Mandatory arguments to long options are mandatory for short options too.\n"
#~ "Similarly for optional arguments.\n"
#~ msgstr ""
#~ "Аргумэнты, абавязковыя для доўгх выбараў, абавязковы так сама\n"
#~ "і для кароткі.  Тое саме-ж і для выбарачных аргумэнтаў.\n"

#, no-wrap
#~ 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 ""
#~ "Асаблівасьці для C/C++:\n"
#~ "  -a, --extract-all              атрымаць усе радкі\n"
#~ "  -k, --keyword[=СЛОВА]          дадатковае ключавое слова для пошуку (бяз\n"
#~ "                                 СЛОВА азначае не выкарыстоўваць неабумоўленыя\n"
#~ "                                 ключавыя словы\n"
#~ "  -T, --trigraphs                разумець ANSI C трыграфы пры ўводзе\n"
#~ "      --debug                    больш падрабязны вынік разбору радка\n"
#~ "                                 фарматаваньня\n"

#, fuzzy, no-wrap
#~ 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 ""
#~ "Дэталі вываду:\n"
#~ "  -e, --no-escape                не выкарыстоўваць Сі ESC-паслядоўнасьці ў\n"
#~ "                                 вывадзе (звычайна)\n"
#~ "  -E, --escape                   выкарыстоўваць Сі ESC пасьлядоўнасьці ў\n"
#~ "                                 вывадзе, без дадатковых сымбаляў\n"
#~ "      --force-po                 запісваць PO-файл, нават калі ён пусты\n"
#~ "  -i, --indent                   запісваць .po файл, выкарыстоўвываючы водступы\n"
#~ "      --no-location              do not write '#: filename:line' lines\n"
#~ "  -n, --add-location             generate '#: filename:line' lines (default)\n"
#~ "      --strict                   запісваць .po файл, жорстка адпавядаючы\n"
#~ "                                 пагадненьню Uniforum\n"
#~ "  -w, --width=ШЫРЫНЯ             вызначыць шырыню старонкі вываду\n"
#~ "      --no-wrap                  не разбураць доўгія радкі, даўжэйшыя за\n"
#~ "                                 шырыню старонкі вываду, на некалькі радкоў\n"
#~ "  -s, --sort-output              ствараць упарадкаваны вывад\n"
#~ "  -F, --sort-by-file             упарадкаваць вывад па шляху да файла\n"
#~ "      --omit-header              не запісваць загаловак з `msgid \"\"' запісам\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"

#~ 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 ""
#~ "Пусты msgid.  Зарэзэрваваны GNU gettext:\n"
#~ "gettext(\"\") вяртае загаловак зь\n"
#~ "метададзенымі, а ня пусты радок.\n"

#, c-format
#~ msgid "language `%s' unknown"
#~ msgstr "невядомая мова `%s'"
