aboutsummaryrefslogtreecommitdiff
path: root/documentation/content/ru/books/porters-handbook/special/_index.po
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/content/ru/books/porters-handbook/special/_index.po')
-rw-r--r--documentation/content/ru/books/porters-handbook/special/_index.po14978
1 files changed, 14978 insertions, 0 deletions
diff --git a/documentation/content/ru/books/porters-handbook/special/_index.po b/documentation/content/ru/books/porters-handbook/special/_index.po
new file mode 100644
index 0000000000..ca4f4e8072
--- /dev/null
+++ b/documentation/content/ru/books/porters-handbook/special/_index.po
@@ -0,0 +1,14978 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR The FreeBSD Project
+# This file is distributed under the same license as the FreeBSD Documentation package.
+# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025.
+msgid ""
+msgstr ""
+"Project-Id-Version: FreeBSD Documentation VERSION\n"
+"POT-Creation-Date: 2025-09-18 22:05+0300\n"
+"PO-Revision-Date: 2025-07-24 21:10+0000\n"
+"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
+"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
+"documentation/booksporters-handbookspecial_index/ru/>\n"
+"Language: ru\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: Weblate 4.17\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1
+#, no-wrap
+msgid "Special considerations when creating a new FreeBSD Port"
+msgstr "Особые соображения при создании нового порта FreeBSD"
+
+#. type: Yaml Front Matter Hash Value: title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1
+#, no-wrap
+msgid "Chapter 6. Special Considerations"
+msgstr "Глава 6. Особые соглашения"
+
+#. type: Title =
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:14
+#, no-wrap
+msgid "Special Considerations"
+msgstr "Особые соглашения"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:52
+msgid ""
+"This section explains the most common things to consider when creating a "
+"port."
+msgstr ""
+"Имеется ещё несколько вещей, которые вы должны иметь в виду при создании "
+"порта. Этот раздел описывает наиболее часто встречающиеся из них."
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:54
+#, no-wrap
+msgid "Splitting long files"
+msgstr "Разделение длинных файлов"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:61
+msgid ""
+"Sometimes, port [.filename]#Makefiles# can be really long. For example, "
+"rust ports can have a very long `CARGO_CRATES` list. In other cases, the "
+"[.filename]#Makefile# might have code that varies depending on the "
+"architecture. In such cases, it can be convenient to split the original "
+"[.filename]#Makefile# into several files. [.filename]#bsd.port.mk# "
+"automatically includes some types of [.filename]#Makefiles# into the main "
+"port [.filename]#Makefile#."
+msgstr ""
+"Иногда [.filename]#Makefiles# могут быть очень длинными. Например, порты "
+"rust могут содержать очень длинный список `CARGO_CRATES`. В других случаях "
+"[.filename]#Makefile# может содержать код, который варьируется в зависимости "
+"от архитектуры. В таких ситуациях может быть удобно разделить исходный "
+"[.filename]#Makefile# на несколько файлов. [.filename]#bsd.port.mk# "
+"автоматически включает некоторые типы [.filename]#Makefiles# в основной "
+"[.filename]#Makefile# порта."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:63
+msgid ""
+"These are the files that the framework handles automatically if they are "
+"found:"
+msgstr ""
+"Вот файлы, которые система обрабатывает автоматически, если они обнаружены:"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:65
+msgid ""
+"[.filename]#Makefile.crates#. An example can be found in package:audio/"
+"ebur128[]."
+msgstr ""
+"[.filename]#Makefile.crates#. Пример можно найти в пакете package:audio/"
+"ebur128[]."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:66
+msgid ""
+"[.filename]#Makefile.inc#. An example can be found in package:net/ntp[]."
+msgstr ""
+"[.filename]#Makefile.inc#. Пример можно найти в пакете package:net/ntp[]."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:67
+msgid "[.filename]#Makefile.${ARCH}-${OPSYS}#"
+msgstr "[.filename]#Makefile.${ARCH}-${OPSYS}#"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:68
+msgid ""
+"[.filename]#Makefile.${OPSYS}#. An example can be found in package:net/cvsup-"
+"static[]."
+msgstr ""
+"[.filename]#Makefile.${OPSYS}#. Пример можно найти в пакете package:net/"
+"cvsup-static[]."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:69
+msgid "[.filename]#Makefile.${ARCH}#"
+msgstr "[.filename]#Makefile.${ARCH}#"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:70
+msgid "[.filename]#Makefile.local#"
+msgstr "[.filename]#Makefile.local#"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:76
+msgid ""
+"It is also usual practice to split the packaging list of the port into "
+"several files if the list varies a lot from one architecture to another or "
+"depends on the selected flavor. In this case, the [.filename]#pkg-plist# "
+"file for each architecture is named following the pattern [.filename]#pkg-"
+"plist.${ARCH}# or [.filename]#pkg-plist.${FLAVOR}#. The framework does not "
+"create the packaging list automatically if multiple [.filename]#pkg-plist# "
+"files exist. It is the responsibility of the porter to select the proper "
+"[.filename]#pkg-plist# and assign it to the `PLIST` variable. Examples on "
+"how to deal with this can be found in package:audio/logitechmediaserver[] "
+"and package:deskutils/libportal[]."
+msgstr ""
+"Также распространённой практикой является разделение списка пакетов порта на "
+"несколько файлов, если список сильно различается в зависимости от "
+"архитектуры или выбранного флейвора. В этом случае файл [.filename]#pkg-"
+"plist# для каждой архитектуры именуется по шаблону [.filename]#pkg-plist.$"
+"{ARCH}# или [.filename]#pkg-plist.${FLAVOR}#. Фреймворк не создаёт список "
+"пакетов автоматически, если существует несколько файлов [.filename]#pkg-"
+"plist#. Ответственность за выбор подходящего файла [.filename]#pkg-plist# и "
+"его присвоение переменной `PLIST` лежит на того, кто делает порт. Примеры "
+"работы с этим можно найти в портах package:audio/logitechmediaserver[] и "
+"package:deskutils/libportal[]."
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:78
+#, no-wrap
+msgid "Staging"
+msgstr "Staging"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:85
+msgid ""
+"[.filename]#bsd.port.mk# expects ports to work with a \"stage directory\". "
+"This means that a port must not install files directly to the regular "
+"destination directories (that is, under `PREFIX`, for example) but instead "
+"into a separate directory from which the package is then built. In many "
+"cases, this does not require root privileges, making it possible to build "
+"packages as an unprivileged user. With staging, the port is built and "
+"installed into the stage directory, `STAGEDIR`. A package is created from "
+"the stage directory and then installed on the system. Automake tools refer "
+"to this concept as `DESTDIR`, but in FreeBSD, `DESTDIR` has a different "
+"meaning (see crossref:testing[porting-prefix,`PREFIX` and `DESTDIR`])."
+msgstr ""
+"[.filename]#bsd.port.mk# ожидает, что порты будут работать с \"директорией "
+"стадии\". Это означает, что порт не должен устанавливать файлы напрямую в "
+"обычные целевые директории (например, под `PREFIX`), а вместо этого в "
+"отдельную директорию, из которой затем собирается пакет. Во многих случаях "
+"это не требует прав root, что позволяет собирать пакеты от имени "
+"непривилегированного пользователя. При использовании стадии порт собирается "
+"и устанавливается в директорию стадии `STAGEDIR`. Пакет создаётся из "
+"директории стадии и затем устанавливается в систему. Инструменты Automake "
+"называют эту концепцию `DESTDIR`, но в FreeBSD `DESTDIR` имеет другое "
+"значение (см. crossref:testing[porting-prefix,`PREFIX` и `DESTDIR`])."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:92
+msgid ""
+"No port _really_ needs to be root. It can mostly be avoided by using "
+"crossref:uses[uses-uidfix,`USES=uidfix`]. If the port still runs commands "
+"like man:chown[8], man:chgrp[1], or forces owner or group with "
+"man:install[1] then use crossref:uses[uses-fakeroot,`USES=fakeroot`] to fake "
+"those calls. Some patching of the port's [.filename]#Makefiles# will be "
+"needed."
+msgstr ""
+"Ни один порт _на самом деле_ не должен работать от root. Этого в большинстве "
+"случаев можно избежать, используя crossref:uses[uses-uidfix,`USES=uidfix`]. "
+"Если порт всё ещё выполняет команды, такие как man:chown[8], man:chgrp[1], "
+"или принудительно устанавливает владельца или группу с помощью "
+"man:install[1], то используйте crossref:uses[uses-fakeroot,`USES=fakeroot`], "
+"чтобы подделать эти вызовы. Потребуется некоторая правка "
+"[.filename]#Makefiles# порта."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:97
+msgid ""
+"Meta ports, or ports that do not install files themselves but only depend on "
+"other ports, must avoid needlessly extracting the man:mtree[8] to the stage "
+"directory. This is the basic directory layout of the package, and these "
+"empty directories will be seen as orphans. To prevent man:mtree[8] "
+"extraction, add this line:"
+msgstr ""
+"Метапорты, то есть порты, которые не устанавливают файлы непосредственно, а "
+"только зависят от других портов, должны по возможности избегать распаковки "
+"man:mtree[8] в каталог сборки. Это основная иерархия каталогов пакета, и эти "
+"пустые каталоги будут выглядеть лишними. Для предотвращения распаковки "
+"man:mtree[8] добавьте эту строку:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:101
+#, no-wrap
+msgid "NO_MTREE=\tyes\n"
+msgstr "NO_MTREE=\tyes\n"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:107
+msgid ""
+"Metaports should use crossref:special[uses-metaport,`USES=metaport`]. It "
+"sets up defaults for ports that do not fetch, build, or install anything."
+msgstr ""
+"Метапорты должны использовать crossref:special[uses-"
+"metaport,`USES=metaport`]. Это устанавливает значения по умолчанию для "
+"портов, которые не загружают, не собирают и не устанавливают ничего."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:113
+msgid ""
+"Staging is enabled by prepending `STAGEDIR` to paths used in the `pre-"
+"install`, `do-install`, and `post-install` targets (see the examples through "
+"the book). Typically, this includes `PREFIX`, `ETCDIR`, `DATADIR`, "
+"`EXAMPLESDIR`, `DOCSDIR`, and so on. Directories should be created as part "
+"of the `post-install` target. Avoid using absolute paths whenever possible."
+msgstr ""
+"Этап подготовки включается путем добавления `STAGEDIR` к путям, используемым "
+"в целях `pre-install`, `do-install` и `post-install` (см. примеры в книге). "
+"Обычно это включает `PREFIX`, `ETCDIR`, `DATADIR`, `EXAMPLESDIR`, `DOCSDIR` "
+"и т. д. Каталоги должны создаваться как часть цели `post-install`. По "
+"возможности избегайте использования абсолютных путей."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:117
+msgid ""
+"Ports that install kernel modules must prepend `STAGEDIR` to their "
+"destination, by default [.filename]#/boot/modules#."
+msgstr ""
+"Порты, которые устанавливают модули ядра, должны добавлять `STAGEDIR` к пути "
+"назначения, по умолчанию это [.filename]#/boot/modules#."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:120
+#, no-wrap
+msgid "Handling Symbolic Links"
+msgstr "Обработка символических ссылок"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:125
+msgid ""
+"When creating a symbolic link, relative ones are strongly recommended. Use "
+"`${RLN}` to create relative symbolic links. It uses man:install[1] under "
+"the hood to automatically figure out the relative link to create."
+msgstr ""
+"При создании символической ссылки настоятельно рекомендуется использовать "
+"относительные пути. Используйте `${RLN}` для создания относительных "
+"символических ссылок. Эта команда использует man:install[1] для "
+"автоматического определения относительной ссылки, которую нужно создать."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:127
+#, no-wrap
+msgid "Create Relative Symbolic Links Automatically"
+msgstr "Автоматическое создание относительных символических ссылок"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:131
+msgid ""
+"`${RLN}` uses man:install[1]'s relative symbolic feature which frees the "
+"porter of computing the relative path."
+msgstr ""
+"`${RLN}` использует относительную символическую ссылку из man:install[1], "
+"что освобождает сборщика порта от вычисления относительного пути."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:137
+#, no-wrap
+msgid ""
+"${RLN} ${STAGEDIR}${PREFIX}/lib/libfoo.so.42 ${STAGEDIR}${PREFIX}/lib/libfoo.so\n"
+"${RLN} ${STAGEDIR}${PREFIX}/libexec/foo/bar ${STAGEDIR}${PREFIX}/bin/bar\n"
+"${RLN} ${STAGEDIR}/var/cache/foo ${STAGEDIR}${PREFIX}/share/foo\n"
+msgstr ""
+"${RLN} ${STAGEDIR}${PREFIX}/lib/libfoo.so.42 ${STAGEDIR}${PREFIX}/lib/libfoo.so\n"
+"${RLN} ${STAGEDIR}${PREFIX}/libexec/foo/bar ${STAGEDIR}${PREFIX}/bin/bar\n"
+"${RLN} ${STAGEDIR}/var/cache/foo ${STAGEDIR}${PREFIX}/share/foo\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:140
+msgid "Will generate:"
+msgstr "Будет создано:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:150
+#, no-wrap
+msgid ""
+"% ls -lF ${STAGEDIR}${PREFIX}/lib\n"
+"lrwxr-xr-x 1 nobody nobody 181 Aug 3 11:27 libfoo.so@ -> libfoo.so.42\n"
+"-rwxr-xr-x 1 nobody nobody 15 Aug 3 11:24 libfoo.so.42*\n"
+"% ls -lF ${STAGEDIR}${PREFIX}/bin\n"
+"lrwxr-xr-x 1 nobody nobody 181 Aug 3 11:27 bar@ -> ../libexec/foo/bar\n"
+"% ls -lF ${STAGEDIRDIR}${PREFIX}/share\n"
+"lrwxr-xr-x 1 nobody nobody 181 Aug 3 11:27 foo@ -> ../../../var/cache/foo\n"
+msgstr ""
+"% ls -lF ${STAGEDIR}${PREFIX}/lib\n"
+"lrwxr-xr-x 1 nobody nobody 181 Aug 3 11:27 libfoo.so@ -> libfoo.so.42\n"
+"-rwxr-xr-x 1 nobody nobody 15 Aug 3 11:24 libfoo.so.42*\n"
+"% ls -lF ${STAGEDIR}${PREFIX}/bin\n"
+"lrwxr-xr-x 1 nobody nobody 181 Aug 3 11:27 bar@ -> ../libexec/foo/bar\n"
+"% ls -lF ${STAGEDIRDIR}${PREFIX}/share\n"
+"lrwxr-xr-x 1 nobody nobody 181 Aug 3 11:27 foo@ -> ../../../var/cache/foo\n"
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:155
+#, no-wrap
+msgid "Bundled Libraries"
+msgstr "Встроенные библиотеки"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:158
+msgid ""
+"This section explains why bundled dependencies are considered bad and what "
+"to do about them."
+msgstr ""
+"Этот раздел объясняет, почему встроенные зависимости считаются плохими и что "
+"с этим делать."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:160
+#, no-wrap
+msgid "Why Bundled Libraries Are Bad"
+msgstr "Почему встроенные библиотеки — это плохо"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:165
+msgid ""
+"Some software requires the porter to locate third-party libraries and add "
+"the required dependencies to the port. Other software bundles all necessary "
+"libraries into the distribution file. The second approach seems easier at "
+"first, but there are some serious drawbacks:"
+msgstr ""
+"Некоторое программное обеспечение требует от упаковщика найти сторонние "
+"библиотеки и добавить необходимые зависимости в порт. Другое ПО включает все "
+"необходимые библиотеки в дистрибутивный файл. Второй подход кажется проще на "
+"первый взгляд, но имеет серьёзные недостатки:"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:167
+msgid ""
+"This list is loosely based on the https://fedoraproject.org/wiki/"
+"Packaging:No_Bundled_Libraries[Fedora] and https://wiki.gentoo.org/wiki/"
+"Why_not_bundle_dependencies[Gentoo] wikis, both licensed under the https://"
+"creativecommons.org/licenses/by-sa/3.0/[CC-BY-SA 3.0] license."
+msgstr ""
+"Этот список частично основан на вики https://fedoraproject.org/wiki/"
+"Packaging:No_Bundled_Libraries[Fedora] и https://wiki.gentoo.org/wiki/"
+"Why_not_bundle_dependencies[Gentoo], оба распространяются по лицензии "
+"https://creativecommons.org/licenses/by-sa/3.0/[CC-BY-SA 3.0]."
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:168
+#, no-wrap
+msgid "Security"
+msgstr "Безопасность"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:174
+msgid ""
+"If vulnerabilities are found in the upstream library and fixed there, they "
+"might not be fixed in the library bundled with the port. One reason could "
+"be that the author is not aware of the problem. This means that the porter "
+"must fix them, or upgrade to a non-vulnerable version, and send a patch to "
+"the author. This all takes time, which results in software being vulnerable "
+"longer than necessary. This in turn makes it harder to coordinate a fix "
+"without unnecessarily leaking information about the vulnerability."
+msgstr ""
+"Если уязвимости обнаружены в вышестоящей библиотеке и исправлены там, они "
+"могут остаться неисправленными в библиотеке, поставляемой с портом. Одной из "
+"причин может быть то, что автор не знает о проблеме. Это означает, что "
+"портировщик должен исправить их или обновить до не уязвимой версии и "
+"отправить исправление автору. Всё это требует времени, что приводит к тому, "
+"что программное обеспечение остаётся уязвимым дольше, чем необходимо. Это, в "
+"свою очередь, затрудняет координацию исправления без неоправданного "
+"раскрытия информации об уязвимости."
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:175
+#, no-wrap
+msgid "Bugs"
+msgstr "Ошибки"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:177
+msgid ""
+"This problem is similar to the problem with security in the last paragraph, "
+"but generally less severe."
+msgstr ""
+"Эта проблема аналогична проблеме с безопасностью в последнем абзаце, но в "
+"целом менее серьезная."
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:178
+#, no-wrap
+msgid "Forking"
+msgstr "Ветвление"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:182
+msgid ""
+"It is easier for the author to fork the upstream library once it is "
+"bundled. While convenient on first sight, it means that the code diverges "
+"from upstream making it harder to address security or other problems with "
+"the software. A reason for this is that patching becomes harder."
+msgstr ""
+"Автору проще создать форк upstream-библиотеки после её включения в "
+"дистрибутив. Хотя на первый взгляд это кажется удобным, такой подход "
+"приводит к расхождению кода с исходным репозиторием, что усложняет "
+"исправление уязвимостей и других проблем в ПО. Одна из причин — затруднённое "
+"применение патчей."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:185
+msgid ""
+"Another problem of forking is that because code diverges from upstream, bugs "
+"get solved over and over again instead of just once at a central location. "
+"This defeats the idea of open source software in the first place."
+msgstr ""
+"Еще одна проблема форкинга заключается в том, что из-за расхождения кода с "
+"основной веткой, ошибки исправляются снова и снова, вместо того чтобы быть "
+"исправленными один раз в центральном месте. Это противоречит самой идее "
+"открытого программного обеспечения."
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:186
+#, no-wrap
+msgid "Symbol collision"
+msgstr "Конфликты символов"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:191
+msgid ""
+"When a library is installed on the system, it might collide with the bundled "
+"version. This can cause immediate errors at compile or link time. It can "
+"also cause errors when running the program which might be harder to track "
+"down. The latter problem could be caused because the versions of the two "
+"libraries are incompatible."
+msgstr ""
+"Когда библиотека установлена в системе, может возникнуть конфликт с "
+"встроенной в порт версией. Это может привести к немедленным ошибкам во время "
+"компиляции или компоновки. Также могут возникать ошибки при запуске "
+"программы, которые сложнее отследить. Последняя проблема может быть вызвана "
+"несовместимостью версий двух библиотек."
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:192
+#, no-wrap
+msgid "Licensing"
+msgstr "Лицензирование"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:194
+msgid ""
+"When bundling projects from different sources, license issues can arise more "
+"easily, especially when licenses are incompatible."
+msgstr ""
+"При объединении проектов из различных источников могут возникать проблемы с "
+"лицензиями, особенно если лицензии несовместимы."
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:195
+#, no-wrap
+msgid "Waste of resources"
+msgstr "Растрата ресурсов"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:199
+msgid ""
+"Bundled libraries waste resources on several levels. It takes longer to "
+"build the actual application, especially if these libraries are already "
+"present on the system. At run-time, they can take up unnecessary memory "
+"when the system-wide library is already loaded by one program and the "
+"bundled library is loaded by another program."
+msgstr ""
+"Библиотеки, поставляемые в комплекте, растрачивают ресурсы на нескольких "
+"уровнях. Сборка самого приложения занимает больше времени, особенно если эти "
+"библиотеки уже присутствуют в системе. Во время выполнения они могут "
+"занимать дополнительную память, когда общесистемная библиотека уже загружена "
+"одной программой, а входящая в комплект библиотека загружена другой "
+"программой."
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:200
+#, no-wrap
+msgid "Waste of effort"
+msgstr "Пустая трата усилий"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:204
+msgid ""
+"When a library needs patches for FreeBSD, these patches have to be "
+"duplicated again in the bundled library. This wastes developer time because "
+"the patches might not apply cleanly. It can also be hard to notice that "
+"these patches are required in the first place."
+msgstr ""
+"Когда библиотеке требуются патчи для FreeBSD, эти патчи приходится "
+"дублировать в составе библиотеки. Это приводит к потере времени "
+"разработчиков, поскольку патчи могут применяться некорректно. Кроме того, "
+"бывает сложно сразу заметить, что эти патчи вообще необходимы."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:206
+#, no-wrap
+msgid "What to do About Bundled Libraries"
+msgstr "Что делать со встроенными библиотеками"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:210
+msgid ""
+"Whenever possible, use the unbundled version of the library by adding a "
+"`LIB_DEPENDS` to the port. If such a port does not exist yet, consider "
+"creating it."
+msgstr ""
+"По возможности используйте независимую версию библиотеки, добавив "
+"`LIB_DEPENDS` в порт. Если такого порта ещё не существует, рассмотрите "
+"возможность его создания."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:212
+msgid ""
+"Only use bundled libraries if the upstream has a good track record on "
+"security and using unbundled versions leads to overly complex patches."
+msgstr ""
+"Используйте встроенные библиотеки только в том случае, если разработчик "
+"имеет хорошую репутацию в вопросах безопасности, а использование внешних "
+"версий приводит к излишне сложным исправлениям."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:220
+msgid ""
+"In some very special cases, for example emulators, like Wine, a port has to "
+"bundle libraries, because they are in a different architecture, or they have "
+"been modified to fit the software's use. In that case, those libraries "
+"should not be exposed to other ports for linking. Add `BUNDLE_LIBS=yes` to "
+"the port's [.filename]#Makefile#. This will tell man:pkg[8] to not compute "
+"provided libraries. Always ask the {portmgr} before adding this to a port."
+msgstr ""
+"В некоторых особых случаях, например, для эмуляторов, таких как Wine, порт "
+"должен включать библиотеки, потому что они предназначены для другой "
+"архитектуры или были изменены для использования в данном программном "
+"обеспечении. В таком случае эти библиотеки не должны быть доступны для "
+"связывания с другими портами. Добавьте `BUNDLE_LIBS=yes` в "
+"[.filename]#Makefile# порта. Это укажет man:pkg[8] не учитывать "
+"предоставляемые библиотеки. Всегда спрашивайте {portmgr}, прежде чем "
+"добавлять это в порт."
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:223
+#, no-wrap
+msgid "Shared Libraries"
+msgstr "Динамические библиотеки"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:227
+msgid ""
+"If the port installs one or more shared libraries, define a `USE_LDCONFIG` "
+"make variable, which will instruct a [.filename]#bsd.port.mk# to run `$"
+"{LDCONFIG} -m` on the directory where the new library is installed (usually "
+"[.filename]#PREFIX/lib#) during `post-install` target to register it into "
+"the shared library cache. This variable, when defined, will also facilitate "
+"addition of an appropriate `@exec /sbin/ldconfig -m` and `@unexec /sbin/"
+"ldconfig -R` pair into [.filename]#pkg-plist#, so that a user who installed "
+"the package can start using the shared library immediately and de-"
+"installation will not cause the system to still believe the library is there."
+msgstr ""
+"Если ваш порт устанавливает одну или несколько динамических библиотек, "
+"определите переменную `USE_LDCONFIG`, которая приведёт к запуску из "
+"[.filename]#bsd.port.mk# команды `${LDCONFIG} -m` относительно каталога, в "
+"который устанавливается новая библиотека (как правило, это "
+"[.filename]#PREFIX/lib#), во время выполнения цели `post-install` для её "
+"регистрации в кэше динамических библиотек. Эта переменная, если она "
+"определена, также приведёт к добавлению соответствующей пары команд `@exec /"
+"sbin/ldconfig -m` и `@unexec /sbin/ldconfig -R` в ваш файл [.filename]#pkg-"
+"plist#, так что пользователь, устанавливающий пакет, сможет сразу же "
+"использовать динамическую библиотеку, а удаление пакета не приведёт к тому, "
+"что система будет предполагать, что библиотека всё ещё имеется в наличии."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:231
+#, no-wrap
+msgid "USE_LDCONFIG=\tyes\n"
+msgstr "USE_LDCONFIG=\tyes\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:235
+msgid ""
+"The default directory can be overridden by setting `USE_LDCONFIG` to a list "
+"of directories into which shared libraries are to be installed. For "
+"example, if the port installs shared libraries into [.filename]#PREFIX/lib/"
+"foo# and [.filename]#PREFIX/lib/bar# use this in [.filename]#Makefile#:"
+msgstr ""
+"Если нужно, вы можете переопределить каталог по умолчанию, задав значение "
+"`USE_LDCONFIG`, в котором должны быть перечислены каталоги, в которые "
+"устанавливаются динамические библиотеки. Например, если ваш порт "
+"устанавливает динамические библиотеки в каталоги [.filename]#PREFIX/lib/foo# "
+"и [.filename]#PREFIX/lib/bar#, то вы можете в файле [.filename]#Makefile# "
+"указать следующее:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:239
+#, no-wrap
+msgid "USE_LDCONFIG=\t${PREFIX}/lib/foo ${PREFIX}/lib/bar\n"
+msgstr "USE_LDCONFIG=\t${PREFIX}/lib/foo ${PREFIX}/lib/bar\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:242
+msgid ""
+"Please double-check, often this is not necessary at all or can be avoided "
+"through `-rpath` or setting `LD_RUN_PATH` during linking (see package:lang/"
+"mosml[] for an example), or through a shell-wrapper which sets "
+"`LD_LIBRARY_PATH` before invoking the binary, like package:www/seamonkey[] "
+"does."
+msgstr ""
+"Будьте добры перепроверить, т.к. часто это вовсе не является необходимым и "
+"может быть решено иначе с помощью `-rpath` или установки `LD_RUN_PATH` во "
+"время компоновки (для примера смотрите package:lang/moscow_ml[]), или с "
+"помощью сценария-обёртки, который выставляет `LD_LIBRARY_PATH` перед "
+"запуском исполняемого файла как это делает package:www/seamonkey[]."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:244
+msgid ""
+"When installing 32-bit libraries on a 64-bit system, use `USE_LDCONFIG32` "
+"instead."
+msgstr ""
+"При установке 32-разрядных библиотек на 64-разрядной системе используйте "
+"вместо этого `USE_LDCONFIG32`."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:246
+msgid ""
+"If the software uses crossref:special[using-autotools,autotools], and "
+"specifically `libtool`, add crossref:uses[uses-libtool,`USES=libtool`]."
+msgstr ""
+"Если программное обеспечение использует crossref:special[using-"
+"autotools,autotools], в частности `libtool`, добавьте crossref:uses[uses-"
+"libtool,`USES=libtool`]."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:248
+msgid ""
+"When the major library version number increments in the update to the new "
+"port version, all other ports that link to the affected library must have "
+"their `PORTREVISION` incremented, to force recompilation with the new "
+"library version."
+msgstr ""
+"Если при обновлении порта увеличивается старший номер версии библиотеки, то "
+"для всех портов, компонуемых с затронутой библиотекой, следует увеличить "
+"значение `PORTREVISION` для форсирования перекомпиляции с новой версией "
+"библиотеки."
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:250
+#, no-wrap
+msgid "Ports with Distribution Restrictions or Legal Concerns"
+msgstr "Порты с ограничениями на распространение или с правовым обременением"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:253
+msgid ""
+"Licenses vary, and some of them place restrictions on how the application "
+"can be packaged, whether it can be sold for profit, and so on."
+msgstr ""
+"Лицензии бывают разных видов, и некоторые накладывают ограничение на то, как "
+"приложение может быть оформлено в виде пакета, может ли оно продаваться для "
+"извлечения коммерческой выгоды, и так далее."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:258
+msgid ""
+"It is the responsibility of a porter to read the licensing terms of the "
+"software and make sure that the FreeBSD project will not be held accountable "
+"for violating them by redistributing the source or compiled binaries either "
+"via FTP/HTTP or CD-ROM. If in doubt, please contact the {freebsd-ports}."
+msgstr ""
+"На вас, как на человека, портирующего приложение, ложится обязанность "
+"прочесть лицензионные соглашения на программное обеспечение и "
+"удостовериться, что проект FreeBSD не будет являться их нарушителем, если "
+"будет заниматься распространением исходного кода или в бинарном виде по FTP/"
+"HTTP или на CD-ROM. Если у вас возникли сомнения, то, пожалуйста, обратитесь "
+"в {freebsd-ports}."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:261
+msgid ""
+"In situations like this, the variables described in the next sections can be "
+"set."
+msgstr ""
+"В подобных ситуациях можно использовать переменные, описываемые в "
+"последующих разделах."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:263
+#, no-wrap
+msgid "`NO_PACKAGE`"
+msgstr "`NO_PACKAGE`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:267
+msgid ""
+"This variable indicates that we may not generate a binary package of the "
+"application. For instance, the license may disallow binary redistribution, "
+"or it may prohibit distribution of packages created from patched sources."
+msgstr ""
+"Эта переменная указывает, что мы не можем создавать для приложения двоичный "
+"пакет. К примеру, лицензия не позволяет бинарное распространение или она "
+"может запрещать распространение пакетов, созданных из изменённых исходников."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:270
+msgid ""
+"However, the port's `DISTFILES` may be freely mirrored on FTP/HTTP. They "
+"may also be distributed on a CD-ROM (or similar media) unless `NO_CDROM` is "
+"set as well."
+msgstr ""
+"Однако файлы `DISTFILES` могут свободно зеркалироваться по FTP/HTTP. Они "
+"также могут распространяться, используя CD-ROM (или на похожих носителях), "
+"если не установлена переменная `NO_CDROM`."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:273
+msgid ""
+"If the binary package is not generally useful, and the application must "
+"always be compiled from the source code, use `NO_PACKAGE`. For example, if "
+"the application has configuration information that is site specific hard "
+"coded into it at compile time, set `NO_PACKAGE`."
+msgstr ""
+"`NO_PACKAGE` должна также использоваться, если двоичный пакет, как правило, "
+"бесполезен, а приложение должно всегда компилироваться из исходного кода. К "
+"примеру, если в приложение во время компиляции жёстко включается "
+"конфигурационная информация, привязанная к конкретной системе, то задайте "
+"переменную `NO_PACKAGE`."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:275
+msgid ""
+"Set `NO_PACKAGE` to a string describing the reason why the package cannot be "
+"generated."
+msgstr ""
+"Значением переменной `NO_PACKAGE` должна быть строка, описывающая причину, "
+"по которой пакет не должен создаваться."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:277
+#, no-wrap
+msgid "`NO_CDROM`"
+msgstr "`NO_CDROM`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:281
+msgid ""
+"This variable alone indicates that, although we are allowed to generate "
+"binary packages, we may put neither those packages nor the port's "
+"`DISTFILES` onto a CD-ROM (or similar media) for resale. However, the "
+"binary packages and the port's `DISTFILES` will still be available via FTP/"
+"HTTP."
+msgstr ""
+"Эта переменная указывает на то, что, хотя мы имеем право создавать бинарные "
+"пакеты, мы не можем помещать эти пакеты или файлы `DISTFILES` порта на CD-"
+"ROM (или на похожие носители) для перепродажи. Однако бинарные пакеты и "
+"файлы `DISTFILES` порта будут оставаться доступными посредством FTP/HTTP."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:283
+msgid ""
+"If this variable is set along with `NO_PACKAGE`, then only the port's "
+"`DISTFILES` will be available, and only via FTP/HTTP."
+msgstr ""
+"Если эта переменная устанавливается вместе с `NO_PACKAGE`, то только файлы "
+"порта `DISTFILES` будут доступны, и только посредством FTP/HTTP."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:286
+msgid ""
+"Set `NO_CDROM` to a string describing the reason why the port cannot be "
+"redistributed on CD-ROM. For instance, use this if the port's license is "
+"for \"non-commercial\" use only."
+msgstr ""
+"В качестве значения `NO_CDROM` должна указываться строка, описывающая "
+"причины, по которым порт не может распространяться на CD-ROM. К примеру, это "
+"применяется, если лицензионное соглашение приложения предполагает только его "
+"\"некоммерческое\" использование."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:288
+#, no-wrap
+msgid "`NOFETCHFILES`"
+msgstr "`NOFETCHFILES`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:292
+msgid ""
+"Files defined in `NOFETCHFILES` are not fetchable from any of "
+"`MASTER_SITES`. An example of such a file is when the file is supplied on "
+"CD-ROM by the vendor."
+msgstr ""
+"Файлы, определенные в переменной `NOFETCHFILES`, не будут извлекаться ни из "
+"одного из `MASTER_SITES`. Примером такого файла является файл, поставляемый "
+"на CD-ROM."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:294
+msgid ""
+"Tools which check for the availability of these files on `MASTER_SITES` have "
+"to ignore these files and not report about them."
+msgstr ""
+"Инструменты, проверяющие доступность этих файлов на `MASTER_SITES`, должны "
+"игнорировать эти файлы и не сообщать о них."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:296
+#, no-wrap
+msgid "`RESTRICTED`"
+msgstr "`RESTRICTED`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:299
+msgid ""
+"Set this variable alone if the application's license permits neither "
+"mirroring the application's `DISTFILES` nor distributing the binary package "
+"in any way."
+msgstr ""
+"Задайте эту переменную, если лицензия на приложение не позволяет ни "
+"зеркалировать файлы `DISTFILES`, ни распространять бинарный пакет через FTP/"
+"HTTP или на CD-ROM."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:301
+msgid ""
+"Do not set `NO_CDROM` or `NO_PACKAGE` along with `RESTRICTED`, since the "
+"latter variable implies the former ones."
+msgstr ""
+"Ни `NO_CDROM`, ни `NO_PACKAGE` не стоит устанавливать вместе с `RESTRICTED`, "
+"так как последняя переменная подразумевает первые две."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:305
+msgid ""
+"Set `RESTRICTED` to a string describing the reason why the port cannot be "
+"redistributed. Typically, this indicates that the port contains proprietary "
+"software and that the user will need to manually download the `DISTFILES`, "
+"possibly after registering for the software or agreeing to accept the terms "
+"of an EULA."
+msgstr ""
+"В качестве значения `RESTRICTED` должна указываться строка, описывающая "
+"причины, по которым порт нельзя распространять. Обычно это означает, что "
+"порт использует закрытое программное обеспечение, а пользователь должен "
+"вручную сгрузить файлы `DISTFILES`, возможно, после заполнения "
+"регистрационной формы или подтверждения соглашения с условиями EULA."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:307
+#, no-wrap
+msgid "`RESTRICTED_FILES`"
+msgstr "`RESTRICTED_FILES`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:311
+msgid ""
+"When `RESTRICTED` or `NO_CDROM` is set, this variable defaults to `$"
+"{DISTFILES} ${PATCHFILES}`, otherwise it is empty. If only some of the "
+"distribution files are restricted, then set this variable to list them."
+msgstr ""
+"Если заданы `RESTRICTED` или `NO_CDROM`, то значение этой переменной по "
+"умолчанию соответствует `${DISTFILES} ${PATCHFILES}`, в противном случае она "
+"пуста. Если ограничены в распространении лишь некоторые из дистрибутивных "
+"файлов, то в этой переменной задаётся их список."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:313
+#, no-wrap
+msgid "`LEGAL_TEXT`"
+msgstr "`LEGAL_TEXT`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:317
+msgid ""
+"If the port has legal concerns not addressed by the above variables, set "
+"`LEGAL_TEXT` to a string explaining the concern. For example, if special "
+"permission was obtained for FreeBSD to redistribute the binary, this "
+"variable must indicate so."
+msgstr ""
+"Если порт имеет правовое обременение, которое не покрывается перечисленными "
+"выше переменными, то переменной `LEGAL_TEXT` следует присвоить строку с "
+"описанием данного обременения. Например, если было получено особое "
+"разрешение для FreeBSD на распространение двоичного файла, то эта переменная "
+"должна содержать соответствующее указание."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:319
+#, no-wrap
+msgid "[.filename]#/usr/ports/LEGAL# and `LEGAL`"
+msgstr "[.filename]#/usr/ports/LEGAL# и `LEGAL`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:325
+msgid ""
+"A port which sets any of the above variables must also be added to "
+"[.filename]#/usr/ports/LEGAL#. The first column is a glob which matches the "
+"restricted distfiles. The second column is the port's origin. The third "
+"column is the output of `make -VLEGAL`."
+msgstr ""
+"Порт, содержащий любую из перечисленных выше переменных, также должен быть "
+"добавлен в [.filename]#/usr/ports/LEGAL#. Первый столбец содержит шаблон "
+"совпадения с дистрибутивными файлами, имеющими ограничения на "
+"распространение. Второй столбец содержит корень порта. Третий столбец "
+"содержит вывод `make -VLEGAL`."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:327
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4228
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4488
+#, no-wrap
+msgid "Examples"
+msgstr "Примеры"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:330
+msgid ""
+"The preferred way to state \"the distfiles for this port must be fetched "
+"manually\" is as follows:"
+msgstr ""
+"Предпочтительным способом реализации утверждения \"архивы исходных текстов "
+"для этого порта должны загружаться самостоятельно\" является следующее:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:336
+#, no-wrap
+msgid ""
+".if !exists(${DISTDIR}/${DISTNAME}${EXTRACT_SUFX})\n"
+"IGNORE=\tmay not be redistributed because of licensing reasons. Please visit some-website to accept their license and download ${DISTFILES} into ${DISTDIR}\n"
+".endif\n"
+msgstr ""
+".if !exists(${DISTDIR}/${DISTNAME}${EXTRACT_SUFX})\n"
+"IGNORE=\tmay not be redistributed because of licensing reasons. Please visit some-website to accept their license and download ${DISTFILES} into ${DISTDIR}\n"
+".endif\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:339
+msgid ""
+"This both informs the user, and sets the proper metadata on the user's "
+"machine for use by automated programs."
+msgstr ""
+"Это одновременно и информирует пользователя, и устанавливает нужные "
+"метаданные на пользовательской машине для использования автоматическими "
+"программами."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:341
+msgid ""
+"Note that this stanza must be preceded by an inclusion of "
+"[.filename]#bsd.port.pre.mk#."
+msgstr ""
+"Обратите внимание, что данная кляуза должна предшествовать подключению файла "
+"[.filename]#bsd.port.pre.mk#."
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:343
+#, no-wrap
+msgid "Building Mechanisms"
+msgstr "Механизмы построения"
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:346
+#, no-wrap
+msgid "Building Ports in Parallel"
+msgstr "Параллельное построение портов"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:350
+msgid ""
+"The FreeBSD ports framework supports parallel building using multiple `make` "
+"sub-processes, which allows SMP systems to utilize all of their available "
+"CPU power, allowing port builds to be faster and more effective."
+msgstr ""
+"Инфраструктура портов FreeBSD поддерживает параллельное построение с "
+"использованием множественных подпроцессов `make`, что позволяет системам SMP "
+"задействовать всю доступную мощность CPU, тем самым делая построение портов "
+"более быстрым и эффективным."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:355
+msgid ""
+"This is achieved by passing `-jX` flag to man:make[1] running on vendor "
+"code. This is the default build behavior of ports. Unfortunately, not all "
+"ports handle parallel building well and it may be required to explicitly "
+"disable this feature by adding the `MAKE_JOBS_UNSAFE=yes` variable. It is "
+"used when a port is known to be broken with `-jX` due to race conditions "
+"causing intermittent build failures."
+msgstr ""
+"Это достигается путём передачи флага `-jX` команде man:make[1]. Такое "
+"построение портов является поведением по умолчанию. К сожалению, не все "
+"порты поддерживают параллельную сборку достаточно хорошо, и поэтому может "
+"потребоваться выключить этот механизм явным образом путём добавления "
+"переменной `MAKE_JOBS_UNSAFE=yes`. Эта переменная используется в случае, "
+"когда известно, что порт ломается с `-jX`."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:360
+msgid ""
+"When setting `MAKE_JOBS_UNSAFE`, it is very important to explain either with "
+"a comment in the [.filename]#Makefile#, or at least in the commit message, "
+"_why_ the port does not build when enabling. Otherwise, it is almost "
+"impossible to either fix the problem, or test if it has been fixed when "
+"committing an update at a later date."
+msgstr ""
+"При установке `MAKE_JOBS_UNSAFE` очень важно объяснить либо комментарием в "
+"[.filename]#Makefile#, либо хотя бы в сообщении коммита, _почему_ порт не "
+"собирается при включении. В противном случае практически невозможно ни "
+"исправить проблему, ни проверить, была ли она исправлена при коммите "
+"обновления в дальнейшем."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:363
+#, no-wrap
+msgid "`make`, `gmake`, and `imake`"
+msgstr "`make`, `gmake` и `imake`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:366
+msgid ""
+"Several differing `make` implementations exist. Ported software often "
+"requires a particular implementation, like GNU `make`, known in FreeBSD as "
+"`gmake`."
+msgstr ""
+"Существует несколько различных реализаций `make`. Переносимому программному "
+"обеспечению часто требуется конкретная реализация, например GNU `make`, "
+"известная в FreeBSD как `gmake`."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:368
+msgid "If the port uses GNU make, add `gmake` to `USES`."
+msgstr "Если порт использует GNU make, добавьте `gmake` в `USES`."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:371
+msgid ""
+"`MAKE_CMD` can be used to reference the specific command configured by the "
+"`USES` setting in the port's [.filename]#Makefile#. Only use `MAKE_CMD` "
+"within the application [.filename]##Makefile##s in `WRKSRC` to call the "
+"`make` implementation expected by the ported software."
+msgstr ""
+"`MAKE_CMD` может использоваться для ссылки на конкретную команду, "
+"настроенную параметром `USES` в [.filename]#Makefile# порта. Используйте "
+"`MAKE_CMD` только внутри [.filename]##Makefile## приложения в `WRKSRC` для "
+"вызова реализации `make`, ожидаемой портируемым программным обеспечением."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:374
+msgid ""
+"If the port is an X application that uses imake to create "
+"[.filename]##Makefile##s from [.filename]##Imakefile##s, set `USES= imake`. "
+"See the crossref:uses[uses-imake,`USES=imake`] section of "
+"crossref:uses[uses,Using `USES` Macros] for more details."
+msgstr ""
+"Если ваш порт является приложением X, которое создает файлы "
+"[.filename]#Makefile# из [.filename]#Imakefile#, используя imake, то "
+"установите `USES= imake`. Это заставит стадию конфигурирования автоматически "
+"выполнить `xmkmf -a`. Если флаг `-a` представляет для вашего порта проблему, "
+"то установите `XMKMF=xmkmf`. Если порт использует imake, но не понимает цель "
+"`install.man`, то следует установить `NO_INSTALL_MANPAGES=yes`."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:377
+msgid ""
+"If the port's source [.filename]#Makefile# has something other than `all` as "
+"the main build target, set `ALL_TARGET` accordingly. The same goes for "
+"`install` and `INSTALL_TARGET`."
+msgstr ""
+"Если исходный [.filename]#Makefile# вашего порта имеет что-нибудь помимо "
+"`all` в качестве основной цели построения, то задайте соответствующее "
+"значение `ALL_TARGET`. То же касается `install` и `INSTALL_TARGET`."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:379
+#, no-wrap
+msgid "`configure` Script"
+msgstr "Сценарий `configure`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:384
+msgid ""
+"If the port uses the `configure` script to generate [.filename]#Makefile# "
+"from [.filename]#Makefile.in#, set `GNU_CONFIGURE=yes`. To give extra "
+"arguments to the `configure` script (the default argument is `--prefix=$"
+"{PREFIX} --infodir=${PREFIX}/${INFO_PATH} --mandir=${PREFIX}/man --build=$"
+"{CONFIGURE_TARGET}`), set those extra arguments in `CONFIGURE_ARGS`. Extra "
+"environment variables can be passed using `CONFIGURE_ENV`."
+msgstr ""
+"Если ваш порт использует сценарий `configure` для получения файлов "
+"[.filename]#Makefile# из файлов [.filename]#Makefile.in#, то установите "
+"`GNU_CONFIGURE=yes`. Если вы хотите дать дополнительные параметры сценарию "
+"`configure` (аргументом по умолчанию является `--prefix=${PREFIX} --infodir=$"
+"{PREFIX}/${INFO_PATH} --mandir=${MANPREFIX}/man --build=${CONFIGURE_TARGET}"
+"`), установите эти параметры в `CONFIGURE_ARGS`. Дополнительные переменные "
+"окружения можно передать, используя переменную `CONFIGURE_ENV`."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:386
+#, no-wrap
+msgid "Variables for Ports That Use `configure`"
+msgstr "Переменные для портов, использующих `configure`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:390
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:418
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:446
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:529
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:812
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2449
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2469
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3173
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3205
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3790
+#, no-wrap
+msgid "Variable"
+msgstr "Переменная"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:392
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:420
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:448
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1325
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3175
+#, no-wrap
+msgid "Means"
+msgstr "Значение"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:393
+#, no-wrap
+msgid "`GNU_CONFIGURE`"
+msgstr "`GNU_CONFIGURE`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:395
+#, no-wrap
+msgid "The port uses `configure` script to prepare build."
+msgstr "Порт использует сценарий `configure` для подготовки построения."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:396
+#, no-wrap
+msgid "`HAS_CONFIGURE`"
+msgstr "`HAS_CONFIGURE`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:398
+#, no-wrap
+msgid "Same as `GNU_CONFIGURE`, except default configure target is not added to `CONFIGURE_ARGS`."
+msgstr "То же, что и `GNU_CONFIGURE`, кроме того, что цель configure по умолчанию не добавляется в `CONFIGURE_ARGS`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:399
+#, no-wrap
+msgid "`CONFIGURE_ARGS`"
+msgstr "`CONFIGURE_ARGS`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:401
+#, no-wrap
+msgid "Additional arguments passed to `configure` script."
+msgstr "Дополнительные параметры, передаваемые сценарию `configure`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:402
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:438
+#, no-wrap
+msgid "`CONFIGURE_ENV`"
+msgstr "`CONFIGURE_ENV`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:404
+#, no-wrap
+msgid "Additional environment variables to be set for `configure` script run."
+msgstr "Дополнительные переменные окружения, задаваемые для запуска сценария `configure`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:405
+#, no-wrap
+msgid "`CONFIGURE_TARGET`"
+msgstr "`CONFIGURE_TARGET`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:406
+#, no-wrap
+msgid "Override default configure target. Default value is `${MACHINE_ARCH}-portbld-freebsd${OSREL}`."
+msgstr "Переопределить цель configure по умолчанию. Значением по умолчанию является `${MACHINE_ARCH}-portbld-freebsd${OSREL}`."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:409
+#, no-wrap
+msgid "Using `cmake`"
+msgstr "Использование `cmake`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:412
+msgid "For ports that use CMake, define `USES= cmake`."
+msgstr "Если порт использует CMake, определите `USES= cmake`."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:414
+#, no-wrap
+msgid "Variables for Ports That Use `cmake`"
+msgstr "Переменные для портов, использующих `cmake`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:421
+#, no-wrap
+msgid "`CMAKE_ARGS`"
+msgstr "`CMAKE_ARGS`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:423
+#, no-wrap
+msgid "Port specific CMake flags to be passed to the `cmake` binary."
+msgstr "Специфичные для порта флаги CMake, передаваемые в бинарный файл `cmake`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:424
+#, no-wrap
+msgid "`CMAKE_ON`"
+msgstr "`CMAKE_ON`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:427
+#, no-wrap
+msgid ""
+"For each entry in `CMAKE_ON`, an enabled boolean value is added to\n"
+"`CMAKE_ARGS`. See crossref:special[using-cmake-example2,`CMAKE_ON` and `CMAKE_OFF`]."
+msgstr ""
+"Для каждой записи в `CMAKE_ON` добавляется булево значение \"включено\" в\n"
+"`CMAKE_ARGS`. См. crossref:special[using-cmake-example2,`CMAKE_ON` и `CMAKE_OFF`]."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:428
+#, no-wrap
+msgid "`CMAKE_OFF`"
+msgstr "`CMAKE_OFF`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:431
+#, no-wrap
+msgid ""
+"For each entry in `CMAKE_OFF`, a disabled boolean value is added to\n"
+"`CMAKE_ARGS`. See crossref:special[using-cmake-example2,`CMAKE_ON` and `CMAKE_OFF`]."
+msgstr ""
+"Для каждой записи в `CMAKE_OFF` в `CMAKE_ARGS` добавляется отключенное булево\n"
+"значение. См. crossref:special[using-cmake-example2,`CMAKE_ON` и `CMAKE_OFF`]."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:432
+#, no-wrap
+msgid "`CMAKE_BUILD_TYPE`"
+msgstr "`CMAKE_BUILD_TYPE`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:434
+#, no-wrap
+msgid "Type of build (CMake predefined build profiles). Default is `Release`, or `Debug` if `WITH_DEBUG` is set."
+msgstr "Тип сборки (предопределённые профили сборки CMake). По умолчанию `Release`, или `Debug`, если установлен `WITH_DEBUG`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:435
+#, no-wrap
+msgid "`CMAKE_SOURCE_PATH`"
+msgstr "`CMAKE_SOURCE_PATH`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:437
+#, no-wrap
+msgid "Path to the source directory. Default is `${WRKSRC}`."
+msgstr "Путь к исходному каталогу. По умолчанию `${WRKSRC}`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:439
+#, no-wrap
+msgid "Additional environment variables to be set for the `cmake` binary."
+msgstr "Дополнительные переменные окружения, которые должны быть установлены для бинарного файла `cmake`."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:442
+#, no-wrap
+msgid "Variables the Users Can Define for `cmake` Builds"
+msgstr "Переменные, которые пользователи могут определить для сборок `cmake`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:449
+#, no-wrap
+msgid "`CMAKE_NOCOLOR`"
+msgstr "`CMAKE_NOCOLOR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:450
+#, no-wrap
+msgid "Disables color build output. Default not set, unless `BATCH` or `PACKAGE_BUILDING` are set."
+msgstr "Запрещает цветной вывод сообщений при построении. Значение по умолчанию не задано, если не заданы `BATCH` или `PACKAGE_BUILDING`."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:457
+msgid ""
+"CMake supports these build profiles: `Debug`, `Release`, `RelWithDebInfo` "
+"and `MinSizeRel`. `Debug` and `Release` profiles respect system `\\*FLAGS`, "
+"`RelWithDebInfo` and `MinSizeRel` will set `CFLAGS` to `-O2 -g` and `-Os "
+"-DNDEBUG` correspondingly. The lower-cased value of `CMAKE_BUILD_TYPE` is "
+"exported to `PLIST_SUB` and must be used if the port installs "
+"[.filename]#*.cmake# depending on the build type (see package:devel/kf5-"
+"kcrash[] for an example). Please note that some projects may define their "
+"own build profiles and/or force particular build type by setting "
+"`CMAKE_BUILD_TYPE` in [.filename]#CMakeLists.txt#. To make a port for such "
+"a project respect `CFLAGS` and `WITH_DEBUG`, the `CMAKE_BUILD_TYPE` "
+"definitions must be removed from those files."
+msgstr ""
+"CMake поддерживает следующие профили построения: `Debug`, `Release`, "
+"`RelWithDebInfo` и `MinSizeRel`. Профили `Debug` и `Release` учитывают "
+"системные флаги `\\*FLAGS`; `RelWithDebInfo` и `MinSizeRel` соответственно "
+"определяют `CFLAGS` со значением `-O2 -g` и `-Os -DNDEBUG`. Значение "
+"`CMAKE_BUILD_TYPE` экспортируется в нижнем регистре в `PLIST_SUB` и должно "
+"использоваться, если порт устанавливает файлы `*.cmake` в зависимости от "
+"типа построения (для примера посмотрите на package:deskutils/strigi[]). "
+"Следует учитывать, что некоторые проекты могут определять собственные "
+"профили построения и/или форсировать конкретный тип построения через "
+"установку `CMAKE_BUILD_TYPE` в файлах [.filename]#CMakeLists.txt#. Для того "
+"чтобы порт для такого проекта учитывал `CFLAGS` и `WITH_DEBUG`, из этих "
+"файлов должны быть удалены значения `CMAKE_BUILD_TYPE`."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:462
+msgid ""
+"Most CMake-based projects support an out-of-source method of building. The "
+"out-of-source build for a port is the default setting. An in-source build "
+"can be requested by using the `:insource` suffix. With out-of-source "
+"builds, `CONFIGURE_WRKSRC`, `BUILD_WRKSRC` and `INSTALL_WRKSRC` will be set "
+"to `${WRKDIR}/.build` and this directory will be used to keep all files "
+"generated during configuration and build stages, leaving the source "
+"directory intact."
+msgstr ""
+"Большинство проектов, основанных на CMake, поддерживают метод внешнего (out-"
+"of-source) построения. Для порта внешнее построение можно запросить с "
+"использованием суффикса `:outsource`. В этом случае `CONFIGURE_WRKSRC`, "
+"`BUILD_WRKSRC` и `INSTALL_WRKSRC` будут иметь значение `${WRKDIR}/.build` "
+"для каталога, содержащего файлы, получаемые на этапах конфигурации и "
+"построения; при этом каталог с исходным кодом будет оставаться без изменений."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:464
+#, no-wrap
+msgid "`USES= cmake` Example"
+msgstr "Пример для `USES= cmake`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:469
+msgid ""
+"This snippet demonstrates the use of CMake for a port. `CMAKE_SOURCE_PATH` "
+"is not usually required, but can be set when the sources are not located in "
+"the top directory, or if only a subset of the project is intended to be "
+"built by the port."
+msgstr ""
+"Следующий отрывок демонстрирует использование CMake для порта. "
+"`CMAKE_SOURCE_PATH` обычно не требуется, но может быть установлен, когда "
+"исходный код не находится в верхнем каталоге или если порт используется для "
+"построения части проекта."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:474
+#, no-wrap
+msgid ""
+"USES=\t\t\tcmake\n"
+"CMAKE_SOURCE_PATH=\t${WRKSRC}/subproject\n"
+msgstr ""
+"USES=\t\t\tcmake\n"
+"CMAKE_SOURCE_PATH=\t${WRKSRC}/subproject\n"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:479
+#, no-wrap
+msgid "`CMAKE_ON` and `CMAKE_OFF`"
+msgstr "`CMAKE_ON` и `CMAKE_OFF`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:483
+msgid ""
+"When adding boolean values to `CMAKE_ARGS`, it is easier to use the "
+"`CMAKE_ON` and `CMAKE_OFF` variables instead. This:"
+msgstr ""
+"При добавлении логических значений в `CMAKE_ARGS` проще использовать "
+"переменные `CMAKE_ON` и `CMAKE_OFF` вместо этого. Это:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:488
+#, no-wrap
+msgid ""
+"CMAKE_ON=\tVAR1 VAR2\n"
+"CMAKE_OFF=\tVAR3\n"
+msgstr ""
+"CMAKE_ON=\tVAR1 VAR2\n"
+"CMAKE_OFF=\tVAR3\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:491
+msgid "Is equivalent to:"
+msgstr "Эквивалентно:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:495
+#, no-wrap
+msgid "CMAKE_ARGS=\t-DVAR1:BOOL=TRUE -DVAR2:BOOL=TRUE -DVAR3:BOOL=FALSE\n"
+msgstr "CMAKE_ARGS=\t-DVAR1:BOOL=TRUE -DVAR2:BOOL=TRUE -DVAR3:BOOL=FALSE\n"
+
+#. type: delimited block = 6
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:501
+msgid ""
+"This is only for the default values off `CMAKE_ARGS`. The helpers described "
+"in crossref:makefiles[options-cmake_bool,`OPT_CMAKE_BOOL` and "
+"`OPT_CMAKE_BOOL_OFF`] use the same semantics, but for optional values."
+msgstr ""
+"Это относится только к значениям по умолчанию в `CMAKE_ARGS`. "
+"Вспомогательные функции, описанные в crossref:makefiles[options-"
+"cmake_bool,`OPT_CMAKE_BOOL` и `OPT_CMAKE_BOOL_OFF`], используют ту же "
+"семантику, но для опциональных значений."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:506
+#, no-wrap
+msgid "Using `scons`"
+msgstr "Использование `scons`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:509
+msgid "If the port uses SCons, define `USES=scons`."
+msgstr "Если порт использует SCons, определите `USES=scons`."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:511
+msgid ""
+"To make third party [.filename]#SConstruct# respect everything that is "
+"passed to SCons in the environment (that is, most importantly, `CC/CXX/"
+"CFLAGS/CXXFLAGS`), patch [.filename]#SConstruct# so build `Environment` is "
+"constructed like this:"
+msgstr ""
+"Чтобы сторонний [.filename]#SConstruct# учитывал все, что передается в SCons "
+"через окружение (то есть, что наиболее важно, `CC/CXX/CFLAGS/CXXFLAGS`), "
+"исправьте [.filename]#SConstruct#, чтобы сборка `Environment` создавалась "
+"следующим образом:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:515
+#, no-wrap
+msgid "env = Environment(**ARGUMENTS)\n"
+msgstr "env = Environment(**ARGUMENTS)\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:518
+msgid "It may be then modified with `env.Append` and `env.Replace`."
+msgstr "Он может быть изменён с помощью `env.Append` и `env.Replace`."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:520
+#, no-wrap
+msgid "Building Rust Applications with `cargo`"
+msgstr "Сборка приложений на Rust с помощью `cargo`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:523
+msgid "For ports that use Cargo, define `USES=cargo`."
+msgstr "Для портов, использующих Cargo, определите `USES=cargo`."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:525
+#, no-wrap
+msgid "Variables the Users Can Define for `cargo` Builds"
+msgstr "Переменные, которые пользователи могут определить для сборок `cargo`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:530
+#, no-wrap
+msgid "Default"
+msgstr "По умолчанию"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:532
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:814
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1733
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1901
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1919
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2087
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2153
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2397
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2414
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2451
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2471
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2547
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3127
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3791
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3825
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3868
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3894
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3998
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4168
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4220
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4312
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4404
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4466
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4726
+#, no-wrap
+msgid "Description"
+msgstr "Описание"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:533
+#, no-wrap
+msgid "`CARGO_CRATES`"
+msgstr "`CARGO_CRATES`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:539
+#, no-wrap
+msgid ""
+"List of crates the port depends on. Each entry needs to have a format like `cratename-semver` for example, `libc-0.2.40`. Port maintainers can generate this list from [.filename]#Cargo.lock# using `make cargo-crates`. Manually bumping crate versions is possible but be mindful of transitive dependencies.\n"
+"If the list generated by `make cargo-crates` is big, it might be convenient to place it inside a `Makefile.crates` file in the top-level port directory.\n"
+"If present, the ports framework sources that file automatically.\n"
+"This help keep the main port Makefile within a manageable size."
+msgstr ""
+"Список ящиков (crates), от которых зависит порт. Каждая запись должна быть в формате `имя_ящика-семвер`, например, `libc-0.2.40`. Поддерживающие порт могут сгенерировать этот список из файла [.filename]#Cargo.lock# с помощью команды `make cargo-crates`. Вручную обновлять версии ящиков возможно, но следует учитывать транзитивные зависимости.\n"
+"Если список, сгенерированный `make cargo-crates`, слишком велик, его можно разместить в файле `Makefile.crates` в корневом каталоге порта.\n"
+"Если такой файл присутствует, фреймворк портов автоматически загружает его.\n"
+"Это помогает сохранять основной Makefile порта в удобном для работы размере."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:540
+#, no-wrap
+msgid "`CARGO_FEATURES`"
+msgstr "`CARGO_FEATURES`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:543
+#, no-wrap
+msgid "List of application features to build (space separated list). To deactivate all default features add the special token `--no-default-features` to `CARGO_FEATURES`. Manually passing it to `CARGO_BUILD_ARGS`, `CARGO_INSTALL_ARGS`, and `CARGO_TEST_ARGS` is not needed."
+msgstr "Список функций приложения для сборки (список через пробел). Чтобы отключить все функции по умолчанию, добавьте специальный токен `--no-default-features` в `CARGO_FEATURES`. Вручную передавать его в `CARGO_BUILD_ARGS`, `CARGO_INSTALL_ARGS` и `CARGO_TEST_ARGS` не требуется."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:544
+#, no-wrap
+msgid "`CARGO_CARGOTOML`"
+msgstr "`CARGO_CARGOTOML`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:545
+#, no-wrap
+msgid "`${WRKSRC}/Cargo.toml`"
+msgstr "`${WRKSRC}/Cargo.toml`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:547
+#, no-wrap
+msgid "The path to the [.filename]#Cargo.toml# to use."
+msgstr "Путь к файлу [.filename]#Cargo.toml#, который следует использовать."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:548
+#, no-wrap
+msgid "`CARGO_CARGOLOCK`"
+msgstr "`CARGO_CARGOLOCK`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:549
+#, no-wrap
+msgid "`${WRKSRC}/Cargo.lock`"
+msgstr "`${WRKSRC}/Cargo.lock`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:551
+#, no-wrap
+msgid "The path to the [.filename]#Cargo.lock# to use for `make cargo-crates`. It is possible to specify more than one lock file when necessary."
+msgstr "Путь к файлу [.filename]#Cargo.lock#, используемому для `make cargo-crates`. Можно указать более одного файла блокировки, если это необходимо."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:552
+#, no-wrap
+msgid "`CARGO_ENV`"
+msgstr "`CARGO_ENV`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:555
+#, no-wrap
+msgid "A list of environment variables to pass to Cargo similar to `MAKE_ENV`."
+msgstr "Список переменных окружения, передаваемых в Cargo, аналогично `MAKE_ENV`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:556
+#, no-wrap
+msgid "`RUSTFLAGS`"
+msgstr "`RUSTFLAGS`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:559
+#, no-wrap
+msgid "Flags to pass to the Rust compiler."
+msgstr "Флаги для передачи компилятору Rust."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:560
+#, no-wrap
+msgid "`CARGO_CONFIGURE`"
+msgstr "`CARGO_CONFIGURE`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:561
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:569
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:577
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:585
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:597
+#, no-wrap
+msgid "`yes`"
+msgstr "`yes`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:563
+#, no-wrap
+msgid "Use the default `do-configure`."
+msgstr "Используйте стандартный `do-configure`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:564
+#, no-wrap
+msgid "`CARGO_UPDATE_ARGS`"
+msgstr "`CARGO_UPDATE_ARGS`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:567
+#, no-wrap
+msgid "Extra arguments to pass to Cargo during the configure phase. Valid arguments can be looked up with `cargo update --help`."
+msgstr "Дополнительные аргументы для передачи Cargo во время фазы настройки. Допустимые аргументы можно посмотреть с помощью `cargo update --help`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:568
+#, no-wrap
+msgid "`CARGO_BUILDDEP`"
+msgstr "`CARGO_BUILDDEP`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:571
+#, no-wrap
+msgid "Add a build dependency on package:lang/rust[]."
+msgstr "Добавить зависимость сборки на package:lang/rust[]."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:572
+#, no-wrap
+msgid "`CARGO_CARGO_BIN`"
+msgstr "`CARGO_CARGO_BIN`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:573
+#, no-wrap
+msgid "`${LOCALBASE}/bin/cargo`"
+msgstr "`${LOCALBASE}/bin/cargo`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:575
+#, no-wrap
+msgid "Location of the `cargo` binary."
+msgstr "Расположение бинарного файла `cargo`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:576
+#, no-wrap
+msgid "`CARGO_BUILD`"
+msgstr "`CARGO_BUILD`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:579
+#, no-wrap
+msgid "Use the default `do-build`."
+msgstr "Используйте значение по умолчанию `do-build`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:580
+#, no-wrap
+msgid "`CARGO_BUILD_ARGS`"
+msgstr "`CARGO_BUILD_ARGS`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:583
+#, no-wrap
+msgid "Extra arguments to pass to Cargo during the build phase. Valid arguments can be looked up with `cargo build --help`."
+msgstr "Дополнительные аргументы для передачи Cargo во время фазы сборки. Допустимые аргументы можно посмотреть с помощью `cargo build --help`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:584
+#, no-wrap
+msgid "`CARGO_INSTALL`"
+msgstr "`CARGO_INSTALL`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:587
+#, no-wrap
+msgid "Use the default `do-install`."
+msgstr "Используйте настройку `do-install` по умолчанию."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:588
+#, no-wrap
+msgid "`CARGO_INSTALL_ARGS`"
+msgstr "`CARGO_INSTALL_ARGS`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:591
+#, no-wrap
+msgid "Extra arguments to pass to Cargo during the install phase. Valid arguments can be looked up with `cargo install --help`."
+msgstr "Дополнительные аргументы для передачи Cargo во время фазы установки. Допустимые аргументы можно посмотреть с помощью `cargo install --help`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:592
+#, no-wrap
+msgid "`CARGO_INSTALL_PATH`"
+msgstr "`CARGO_INSTALL_PATH`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:593
+#, no-wrap
+msgid "`.`"
+msgstr "`.`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:595
+#, no-wrap
+msgid "Path to the crate to install. This is passed to `cargo install` via its `--path` argument. When multiple paths are specified `cargo install` is run multiple times."
+msgstr "Путь к пакету для установки. Этот аргумент передается в `cargo install` через параметр `--path`. Если указано несколько путей, `cargo install` запускается несколько раз."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:596
+#, no-wrap
+msgid "`CARGO_TEST`"
+msgstr "`CARGO_TEST`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:599
+#, no-wrap
+msgid "Use the default `do-test`."
+msgstr "Используйте значение по умолчанию `do-test`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:600
+#, no-wrap
+msgid "`CARGO_TEST_ARGS`"
+msgstr "`CARGO_TEST_ARGS`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:603
+#, no-wrap
+msgid "Extra arguments to pass to Cargo during the test phase. Valid arguments can be looked up with `cargo test --help`."
+msgstr "Дополнительные аргументы для передачи Cargo во время тестовой фазы. Допустимые аргументы можно посмотреть с помощью `cargo test --help`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:604
+#, no-wrap
+msgid "`CARGO_TARGET_DIR`"
+msgstr "`CARGO_TARGET_DIR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:605
+#, no-wrap
+msgid "`${WRKDIR}/target`"
+msgstr "`${WRKDIR}/target`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:607
+#, no-wrap
+msgid "Location of the cargo output directory."
+msgstr "Расположение выходного каталога cargo."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:608
+#, no-wrap
+msgid "`CARGO_DIST_SUBDIR`"
+msgstr "`CARGO_DIST_SUBDIR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:609
+#, no-wrap
+msgid "[.filename]#rust/crates#"
+msgstr "[.filename]#rust/crates#"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:611
+#, no-wrap
+msgid "Directory relative to `DISTDIR` where the crate distribution files will be stored."
+msgstr "Каталог относительно `DISTDIR`, в котором будут храниться файлы дистрибутивов пакетов (crates)."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:612
+#, no-wrap
+msgid "`CARGO_VENDOR_DIR`"
+msgstr "`CARGO_VENDOR_DIR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:613
+#, no-wrap
+msgid "`${WRKSRC}/cargo-crates`"
+msgstr "`${WRKSRC}/cargo-crates`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:615
+#, no-wrap
+msgid "Location of the vendor directory where all crates will be extracted to. Try to keep this under `PATCH_WRKSRC`, so that patches can be applied easily."
+msgstr "Расположение каталога сторонних поставщиков ПО, в который будут извлечены все крейты. Старайтесь держать его в пределах `PATCH_WRKSRC`, чтобы упростить применение патчей."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:616
+#, no-wrap
+msgid "`CARGO_USE_GITHUB`"
+msgstr "`CARGO_USE_GITHUB`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:617
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:621
+#, no-wrap
+msgid "`no`"
+msgstr "`no`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:619
+#, no-wrap
+msgid "Enable fetching of crates locked to specific Git commits on GitHub via `GH_TUPLE`. This will try to patch all [.filename]#Cargo.toml# under `WRKDIR` to point to the offline sources instead of fetching them from a Git repository during the build."
+msgstr "Включить загрузку крейтов, привязанных к определённым коммитам Git на GitHub, с помощью `GH_TUPLE`. Это попытается исправить все файлы [.filename]#Cargo.toml# в `WRKDIR`, чтобы они ссылались на автономные источники вместо загрузки из репозитория Git во время сборки."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:620
+#, no-wrap
+msgid "`CARGO_USE_GITLAB`"
+msgstr "`CARGO_USE_GITLAB`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:622
+#, no-wrap
+msgid "Same as `CARGO_USE_GITHUB` but for GitLab instances and `GL_TUPLE`."
+msgstr "То же, что и `CARGO_USE_GITHUB`, но для экземпляров GitLab и `GL_TUPLE`."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:625
+#, no-wrap
+msgid "Creating a Port for a Simple Rust Application"
+msgstr "Создание порта для простого приложения на Rust"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:630
+msgid ""
+"Creating a Cargo based port is a three stage process. First we need to "
+"provide a ports template that fetches the application distribution file:"
+msgstr ""
+"Создание порта на основе Cargo — это процесс из трёх этапов. Сначала "
+"необходимо предоставить шаблон портов, который загружает дистрибутивный файл "
+"приложения:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:637
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:682
+#, no-wrap
+msgid ""
+"PORTNAME=\ttokei\n"
+"DISTVERSIONPREFIX=\tv\n"
+"DISTVERSION=\t7.0.2\n"
+"CATEGORIES=\tdevel\n"
+msgstr ""
+"PORTNAME=\ttokei\n"
+"DISTVERSIONPREFIX=\tv\n"
+"DISTVERSION=\t7.0.2\n"
+"CATEGORIES=\tdevel\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:641
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:686
+#, no-wrap
+msgid ""
+"MAINTAINER=\ttobik@FreeBSD.org\n"
+"COMMENT=\tDisplay statistics about your code\n"
+"WWW=\t\thttps://github.com/XAMPPRocky/tokei/\n"
+msgstr ""
+"MAINTAINER=\ttobik@FreeBSD.org\n"
+"COMMENT=\tDisplay statistics about your code\n"
+"WWW=\t\thttps://github.com/XAMPPRocky/tokei/\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:645
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:690
+#, no-wrap
+msgid ""
+"USES=\t\tcargo\n"
+"USE_GITHUB=\tyes\n"
+"GH_ACCOUNT=\tAaronepower\n"
+msgstr ""
+"USES=\t\tcargo\n"
+"USE_GITHUB=\tyes\n"
+"GH_ACCOUNT=\tAaronepower\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:647
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:700
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:867
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:890
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:948
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1019
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1106
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1122
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1136
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1253
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1274
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1647
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3475
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3535
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3651
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4252
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4276
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4514
+#, no-wrap
+msgid ".include <bsd.port.mk>\n"
+msgstr ".include <bsd.port.mk>\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:650
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:893
+msgid "Generate an initial [.filename]#distinfo#:"
+msgstr "Сгенерировать первоначальный [.filename]#distinfo#:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:658
+#, no-wrap
+msgid ""
+"% make makesum\n"
+"=> Aaronepower-tokei-v7.0.2_GH0.tar.gz doesn't seem to exist in /usr/ports/distfiles/.\n"
+"=> Attempting to fetch https://codeload.github.com/Aaronepower/tokei/tar.gz/v7.0.2?dummy=/Aaronepower-tokei-v7.0.2_GH0.tar.gz\n"
+"fetch: https://codeload.github.com/Aaronepower/tokei/tar.gz/v7.0.2?dummy=/Aaronepower-tokei-v7.0.2_GH0.tar.gz: size of remote file is not known\n"
+"Aaronepower-tokei-v7.0.2_GH0.tar.gz 45 kB 239 kBps 00m00s\n"
+msgstr ""
+"% make makesum\n"
+"=> Aaronepower-tokei-v7.0.2_GH0.tar.gz doesn't seem to exist in /usr/ports/distfiles/.\n"
+"=> Attempting to fetch https://codeload.github.com/Aaronepower/tokei/tar.gz/v7.0.2?dummy=/Aaronepower-tokei-v7.0.2_GH0.tar.gz\n"
+"fetch: https://codeload.github.com/Aaronepower/tokei/tar.gz/v7.0.2?dummy=/Aaronepower-tokei-v7.0.2_GH0.tar.gz: size of remote file is not known\n"
+"Aaronepower-tokei-v7.0.2_GH0.tar.gz 45 kB 239 kBps 00m00s\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:661
+msgid ""
+"Now the distribution file is ready to use and we can go ahead and extract "
+"crate dependencies from the bundled [.filename]#Cargo.lock#:"
+msgstr ""
+"Теперь файл дистрибутива готов к использованию, и мы можем продолжить, "
+"извлекая зависимости пакета из встроенного файла [.filename]#Cargo.lock#:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:672
+#, no-wrap
+msgid ""
+"% make cargo-crates\n"
+"CARGO_CRATES= aho-corasick-0.6.4 \\\n"
+" ansi_term-0.11.0 \\\n"
+" arrayvec-0.4.7 \\\n"
+" atty-0.2.9 \\\n"
+" bitflags-1.0.1 \\\n"
+" byteorder-1.2.2 \\\n"
+" [...]\n"
+msgstr ""
+"% make cargo-crates\n"
+"CARGO_CRATES= aho-corasick-0.6.4 \\\n"
+" ansi_term-0.11.0 \\\n"
+" arrayvec-0.4.7 \\\n"
+" atty-0.2.9 \\\n"
+" bitflags-1.0.1 \\\n"
+" byteorder-1.2.2 \\\n"
+" [...]\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:675
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:923
+msgid ""
+"The output of this command needs to be pasted directly into the Makefile:"
+msgstr "Вывод этой команды необходимо вставить напрямую в Makefile:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:698
+#, no-wrap
+msgid ""
+"CARGO_CRATES= aho-corasick-0.6.4 \\\n"
+" ansi_term-0.11.0 \\\n"
+" arrayvec-0.4.7 \\\n"
+" atty-0.2.9 \\\n"
+" bitflags-1.0.1 \\\n"
+" byteorder-1.2.2 \\\n"
+" [...]\n"
+msgstr ""
+"CARGO_CRATES= aho-corasick-0.6.4 \\\n"
+" ansi_term-0.11.0 \\\n"
+" arrayvec-0.4.7 \\\n"
+" atty-0.2.9 \\\n"
+" bitflags-1.0.1 \\\n"
+" byteorder-1.2.2 \\\n"
+" [...]\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:703
+msgid ""
+"[.filename]#distinfo# needs to be regenerated to contain all the crate "
+"distribution files:"
+msgstr ""
+"[.filename]#distinfo# необходимо перегенерировать, чтобы включить все "
+"дистрибутивные файлы крейтов:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:721
+#, no-wrap
+msgid ""
+"% make makesum\n"
+"=> rust/crates/aho-corasick-0.6.4.tar.gz doesn't seem to exist in /usr/ports/distfiles/.\n"
+"=> Attempting to fetch https://crates.io/api/v1/crates/aho-corasick/0.6.4/download?dummy=/rust/crates/aho-corasick-0.6.4.tar.gz\n"
+"rust/crates/aho-corasick-0.6.4.tar.gz 100% of 24 kB 6139 kBps 00m00s\n"
+"=> rust/crates/ansi_term-0.11.0.tar.gz doesn't seem to exist in /usr/ports/distfiles/.\n"
+"=> Attempting to fetch https://crates.io/api/v1/crates/ansi_term/0.11.0/download?dummy=/rust/crates/ansi_term-0.11.0.tar.gz\n"
+"rust/crates/ansi_term-0.11.0.tar.gz 100% of 16 kB 21 MBps 00m00s\n"
+"=> rust/crates/arrayvec-0.4.7.tar.gz doesn't seem to exist in /usr/ports/distfiles/.\n"
+"=> Attempting to fetch https://crates.io/api/v1/crates/arrayvec/0.4.7/download?dummy=/rust/crates/arrayvec-0.4.7.tar.gz\n"
+"rust/crates/arrayvec-0.4.7.tar.gz 100% of 22 kB 3237 kBps 00m00s\n"
+"=> rust/crates/atty-0.2.9.tar.gz doesn't seem to exist in /usr/ports/distfiles/.\n"
+"=> Attempting to fetch https://crates.io/api/v1/crates/atty/0.2.9/download?dummy=/rust/crates/atty-0.2.9.tar.gz\n"
+"rust/crates/atty-0.2.9.tar.gz 100% of 5898 B 81 MBps 00m00s\n"
+"=> rust/crates/bitflags-1.0.1.tar.gz doesn't seem to exist in /usr/ports/distfiles/.\n"
+"[...]\n"
+msgstr ""
+"% make makesum\n"
+"=> rust/crates/aho-corasick-0.6.4.tar.gz doesn't seem to exist in /usr/ports/distfiles/.\n"
+"=> Attempting to fetch https://crates.io/api/v1/crates/aho-corasick/0.6.4/download?dummy=/rust/crates/aho-corasick-0.6.4.tar.gz\n"
+"rust/crates/aho-corasick-0.6.4.tar.gz 100% of 24 kB 6139 kBps 00m00s\n"
+"=> rust/crates/ansi_term-0.11.0.tar.gz doesn't seem to exist in /usr/ports/distfiles/.\n"
+"=> Attempting to fetch https://crates.io/api/v1/crates/ansi_term/0.11.0/download?dummy=/rust/crates/ansi_term-0.11.0.tar.gz\n"
+"rust/crates/ansi_term-0.11.0.tar.gz 100% of 16 kB 21 MBps 00m00s\n"
+"=> rust/crates/arrayvec-0.4.7.tar.gz doesn't seem to exist in /usr/ports/distfiles/.\n"
+"=> Attempting to fetch https://crates.io/api/v1/crates/arrayvec/0.4.7/download?dummy=/rust/crates/arrayvec-0.4.7.tar.gz\n"
+"rust/crates/arrayvec-0.4.7.tar.gz 100% of 22 kB 3237 kBps 00m00s\n"
+"=> rust/crates/atty-0.2.9.tar.gz doesn't seem to exist in /usr/ports/distfiles/.\n"
+"=> Attempting to fetch https://crates.io/api/v1/crates/atty/0.2.9/download?dummy=/rust/crates/atty-0.2.9.tar.gz\n"
+"rust/crates/atty-0.2.9.tar.gz 100% of 5898 B 81 MBps 00m00s\n"
+"=> rust/crates/bitflags-1.0.1.tar.gz doesn't seem to exist in /usr/ports/distfiles/.\n"
+"[...]\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:724
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:967
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1079
+msgid ""
+"The port is now ready for a test build and further adjustments like creating "
+"a plist, writing a description, adding license information, options, etc. as "
+"normal."
+msgstr ""
+"Порт теперь готов к тестовой сборке и дальнейшим настройкам, таким как "
+"создание plist, написание описания, добавление информации о лицензии, опций "
+"и т.д., как обычно."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:726
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:969
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1081
+msgid ""
+"If you are not testing your port in a clean environment like with poudriere, "
+"remember to run `make clean` before any testing."
+msgstr ""
+"Если вы не тестируете свой порт в чистой среде, например, с использованием "
+"poudriere, не забудьте выполнить `make clean` перед любым тестированием."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:729
+#, no-wrap
+msgid "Enabling Additional Application Features"
+msgstr "Включение дополнительных возможностей приложений"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:734
+msgid ""
+"Some applications define additional features in their "
+"[.filename]#Cargo.toml#. They can be compiled in by setting "
+"`CARGO_FEATURES` in the port."
+msgstr ""
+"Некоторые приложения определяют дополнительные возможности в своем "
+"[.filename]#Cargo.toml#. Их можно включить при компиляции, установив "
+"`CARGO_FEATURES` в порте."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:736
+msgid "Here we enable Tokei's `json` and `yaml` features:"
+msgstr "Здесь мы включаем функции `json` и `yaml` в Tokei:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:740
+#, no-wrap
+msgid "CARGO_FEATURES=\tjson yaml\n"
+msgstr "CARGO_FEATURES=\tjson yaml\n"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:745
+#, no-wrap
+msgid "Encoding Application Features As Port Options"
+msgstr "Кодирование характеристик приложений как параметров порта"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:749
+msgid ""
+"An example `[features]` section in [.filename]#Cargo.toml# could look like "
+"this:"
+msgstr ""
+"Пример раздела `[features]` в [.filename]#Cargo.toml# может выглядеть так:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:756
+#, no-wrap
+msgid ""
+"[features]\n"
+"pulseaudio_backend = [\"librespot-playback/pulseaudio-backend\"]\n"
+"portaudio_backend = [\"librespot-playback/portaudio-backend\"]\n"
+"default = [\"pulseaudio_backend\"]\n"
+msgstr ""
+"[features]\n"
+"pulseaudio_backend = [\"librespot-playback/pulseaudio-backend\"]\n"
+"portaudio_backend = [\"librespot-playback/portaudio-backend\"]\n"
+"default = [\"pulseaudio_backend\"]\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:761
+msgid ""
+"`pulseaudio_backend` is a default feature. It is always enabled unless we "
+"explicitly turn off default features by adding `--no-default-features` to "
+"`CARGO_FEATURES`. Here we turn the `portaudio_backend` and "
+"`pulseaudio_backend` features into port options:"
+msgstr ""
+"`pulseaudio_backend` — это функция по умолчанию. Она всегда включена, если "
+"мы явно не отключим функции по умолчанию, добавив `--no-default-features` в "
+"`CARGO_FEATURES`. Здесь мы превращаем функции `portaudio_backend` и "
+"`pulseaudio_backend` в опции порта:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:765
+#, no-wrap
+msgid "CARGO_FEATURES=\t--no-default-features\n"
+msgstr "CARGO_FEATURES=\t--no-default-features\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:767
+#, no-wrap
+msgid "OPTIONS_DEFINE=\tPORTAUDIO PULSEAUDIO\n"
+msgstr "OPTIONS_DEFINE=\tPORTAUDIO PULSEAUDIO\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:770
+#, no-wrap
+msgid ""
+"PORTAUDIO_VARS=\t\tCARGO_FEATURES+=portaudio_backend\n"
+"PULSEAUDIO_VARS=\tCARGO_FEATURES+=pulseaudio_backend\n"
+msgstr ""
+"PORTAUDIO_VARS=\t\tCARGO_FEATURES+=portaudio_backend\n"
+"PULSEAUDIO_VARS=\tCARGO_FEATURES+=pulseaudio_backend\n"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:775
+#, no-wrap
+msgid "Listing Crate Licenses"
+msgstr "Перечисление лицензий крейтов"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:781
+msgid ""
+"Crates have their own licenses. It is important to know what they are when "
+"adding a `LICENSE` block to the port (see "
+"crossref:makefiles[licenses,Licenses]). The helper target `cargo-crates-"
+"licenses` will try to list all the licenses of all crates defined in "
+"`CARGO_CRATES`."
+msgstr ""
+"Крейты имеют собственные лицензии. Важно знать, какие они, при добавлении "
+"блока `LICENSE` в порт (см. crossref:makefiles[licenses,Лицензии]). "
+"Вспомогательная цель `cargo-crates-licenses` попытается перечислить все "
+"лицензии всех ящиков, определённых в `CARGO_CRATES`."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:792
+#, no-wrap
+msgid ""
+"% make cargo-crates-licenses\n"
+"aho-corasick-0.6.4 Unlicense/MIT\n"
+"ansi_term-0.11.0 MIT\n"
+"arrayvec-0.4.7 MIT/Apache-2.0\n"
+"atty-0.2.9 MIT\n"
+"bitflags-1.0.1 MIT/Apache-2.0\n"
+"byteorder-1.2.2 Unlicense/MIT\n"
+"[...]\n"
+msgstr ""
+"% make cargo-crates-licenses\n"
+"aho-corasick-0.6.4 Unlicense/MIT\n"
+"ansi_term-0.11.0 MIT\n"
+"arrayvec-0.4.7 MIT/Apache-2.0\n"
+"atty-0.2.9 MIT\n"
+"bitflags-1.0.1 MIT/Apache-2.0\n"
+"byteorder-1.2.2 Unlicense/MIT\n"
+"[...]\n"
+
+#. type: delimited block = 6
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:798
+msgid ""
+"The license names `make cargo-crates-licenses` outputs are SPDX 2.1 licenses "
+"expression which do not match the license names defined in the ports "
+"framework. They need to be translated to the names from "
+"crossref:makefiles[licenses-license-list,Predefined License List]."
+msgstr ""
+"Названия лицензий, которые выводит `make cargo-crates-licenses`, являются "
+"SPDX 2.1-совместимыми лицензионными выражениями, которые не совпадают с "
+"названиями лицензий, определёнными в фреймворке портов. Их необходимо "
+"перевести в названия из crossref:makefiles[licenses-license-list,Списка "
+"предопределённых лицензий]."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:803
+#, no-wrap
+msgid "Using `meson`"
+msgstr "Использование `meson`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:806
+msgid "For ports that use Meson, define `USES=meson`."
+msgstr "Для портов, использующих Meson, определите `USES=meson`."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:808
+#, no-wrap
+msgid "Variables for Ports That Use `meson`"
+msgstr "Переменные для портов, использующих `meson`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:815
+#, no-wrap
+msgid "`MESON_ARGS`"
+msgstr "`MESON_ARGS`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:817
+#, no-wrap
+msgid "Port specific Meson flags to be passed to the `meson` binary."
+msgstr "Порт-специфичные флаги Meson, передаваемые в бинарный файл `meson`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:818
+#, no-wrap
+msgid "`MESON_BUILD_DIR`"
+msgstr "`MESON_BUILD_DIR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:819
+#, no-wrap
+msgid "Path to the build directory relative to `WRKSRC`. Default is `_build`."
+msgstr "Путь к директории сборки относительно `WRKSRC`. По умолчанию — `_build`."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:822
+#, no-wrap
+msgid "`USES=meson` Example"
+msgstr "Пример `USES=meson`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:826
+msgid "This snippet demonstrates the use of Meson for a port."
+msgstr "Этот фрагмент демонстрирует использование Meson для порта."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:831
+#, no-wrap
+msgid ""
+"USES=\t\tmeson\n"
+"MESON_ARGS=\t-Dfoo=enabled\n"
+msgstr ""
+"USES=\t\tmeson\n"
+"MESON_ARGS=\t-Dfoo=enabled\n"
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:836
+#, no-wrap
+msgid "Building Go Applications"
+msgstr "Создание приложений на Go"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:840
+msgid ""
+"For ports that use Go, define `USES=go`. Refer to crossref:uses[uses-"
+"go,`go`] for a list of variables that can be set to control the build "
+"process."
+msgstr ""
+"Для портов, использующих Go, определите `USES=go`. Обратитесь к "
+"crossref:uses[uses-go,`go`] для получения списка переменных, которые можно "
+"задать для управления процессом сборки."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:842
+#, no-wrap
+msgid "Creating a Port for a Go Modules Based Application"
+msgstr "Создание порта для приложения на основе модулей Go"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:846
+msgid ""
+"In most cases, it is sufficient to set the `GO_MODULE` variable to the value "
+"specified by the `module` directive in `go.mod`:"
+msgstr ""
+"В большинстве случаев достаточно установить переменную `GO_MODULE` в "
+"значение, указанное директивой `module` в `go.mod`:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:853
+#, no-wrap
+msgid ""
+"PORTNAME= hey\n"
+"DISTVERSIONPREFIX=\tv\n"
+"DISTVERSION= 0.1.4\n"
+"CATEGORIES= benchmarks\n"
+msgstr ""
+"PORTNAME= hey\n"
+"DISTVERSIONPREFIX=\tv\n"
+"DISTVERSION= 0.1.4\n"
+"CATEGORIES= benchmarks\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:857
+#, no-wrap
+msgid ""
+"MAINTAINER= dmgk@FreeBSD.org\n"
+"COMMENT= Tiny program that sends some load to a web application\n"
+"WWW= https://github.com/rakyll/hey/\n"
+msgstr ""
+"MAINTAINER= dmgk@FreeBSD.org\n"
+"COMMENT= Tiny program that sends some load to a web application\n"
+"WWW= https://github.com/rakyll/hey/\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:860
+#, no-wrap
+msgid ""
+"LICENSE= APACHE20\n"
+"LICENSE_FILE= ${WRKSRC}/LICENSE\n"
+msgstr ""
+"LICENSE= APACHE20\n"
+"LICENSE_FILE= ${WRKSRC}/LICENSE\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:863
+#, no-wrap
+msgid ""
+"USES= go:modules\n"
+"GO_MODULE= github.com/rakyll/hey\n"
+msgstr ""
+"USES= go:modules\n"
+"GO_MODULE= github.com/rakyll/hey\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:865
+#, no-wrap
+msgid "PLIST_FILES= bin/hey\n"
+msgstr "PLIST_FILES= bin/hey\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:870
+msgid ""
+"If the \"easy\" way is not adequate or more control over dependencies is "
+"needed, the full porting process is described below."
+msgstr ""
+"Если «простой» способ не подходит или требуется больший контроль над "
+"зависимостями, полный процесс переноса описан ниже."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:873
+msgid ""
+"Creating a Go-based port is a five-stage process. First we need to provide "
+"a ports template that fetches the application distribution file:"
+msgstr ""
+"Создание порта на основе Go — это процесс из пяти этапов. Сначала необходимо "
+"предоставить шаблон портов, который загружает дистрибутивный файл приложения:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:880
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:930
+#, no-wrap
+msgid ""
+"PORTNAME=\tghq\n"
+"DISTVERSIONPREFIX=\tv\n"
+"DISTVERSION=\t0.12.5\n"
+"CATEGORIES=\tdevel\n"
+msgstr ""
+"PORTNAME=\tghq\n"
+"DISTVERSIONPREFIX=\tv\n"
+"DISTVERSION=\t0.12.5\n"
+"CATEGORIES=\tdevel\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:884
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:934
+#, no-wrap
+msgid ""
+"MAINTAINER=\ttobik@FreeBSD.org\n"
+"COMMENT=\tRemote repository management made easy\n"
+"WWW=\t\thttps://github.com/x-motemen/ghq/\n"
+msgstr ""
+"MAINTAINER=\ttobik@FreeBSD.org\n"
+"COMMENT=\tRemote repository management made easy\n"
+"WWW=\t\thttps://github.com/x-motemen/ghq/\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:888
+#, no-wrap
+msgid ""
+"USES=\t\tgo:modules\n"
+"USE_GITHUB=\tyes\n"
+"GH_ACCOUNT=\tmotemen\n"
+msgstr ""
+"USES=\t\tgo:modules\n"
+"USE_GITHUB=\tyes\n"
+"GH_ACCOUNT=\tmotemen\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:902
+#, no-wrap
+msgid ""
+"% make makesum\n"
+"===> License MIT accepted by the user\n"
+"=> motemen-ghq-v0.12.5_GH0.tar.gz doesn't seem to exist in /usr/ports/distfiles/.\n"
+"=> Attempting to fetch https://codeload.github.com/motemen/ghq/tar.gz/v0.12.5?dummy=/motemen-ghq-v0.12.5_GH0.tar.gz\n"
+"fetch: https://codeload.github.com/motemen/ghq/tar.gz/v0.12.5?dummy=/motemen-ghq-v0.12.5_GH0.tar.gz: size of remote file is not known\n"
+"motemen-ghq-v0.12.5_GH0.tar.gz 32 kB 177 kBps 00s\n"
+msgstr ""
+"% make makesum\n"
+"===> License MIT accepted by the user\n"
+"=> motemen-ghq-v0.12.5_GH0.tar.gz doesn't seem to exist in /usr/ports/distfiles/.\n"
+"=> Attempting to fetch https://codeload.github.com/motemen/ghq/tar.gz/v0.12.5?dummy=/motemen-ghq-v0.12.5_GH0.tar.gz\n"
+"fetch: https://codeload.github.com/motemen/ghq/tar.gz/v0.12.5?dummy=/motemen-ghq-v0.12.5_GH0.tar.gz: size of remote file is not known\n"
+"motemen-ghq-v0.12.5_GH0.tar.gz 32 kB 177 kBps 00s\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:906
+msgid ""
+"Now the distribution file is ready to use and we can extract the required Go "
+"module dependencies. This step requires having package:ports-mgmt/"
+"modules2tuple[] installed:"
+msgstr ""
+"Теперь файл дистрибутива готов к использованию, и мы можем извлечь "
+"необходимые зависимости модуля Go. Этот шаг требует наличия установленного "
+"пакета package:ports-mgmt/modules2tuple[]:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:920
+#, no-wrap
+msgid ""
+"% make gomod-vendor\n"
+"[...]\n"
+"GH_TUPLE=\t\\\n"
+"\t\tSongmu:gitconfig:v0.0.2:songmu_gitconfig/vendor/github.com/Songmu/gitconfig \\\n"
+"\t\tdaviddengcn:go-colortext:186a3d44e920:daviddengcn_go_colortext/vendor/github.com/daviddengcn/go-colortext \\\n"
+"\t\tgo-yaml:yaml:v2.2.2:go_yaml_yaml/vendor/gopkg.in/yaml.v2 \\\n"
+"\t\tgolang:net:3ec191127204:golang_net/vendor/golang.org/x/net \\\n"
+"\t\tgolang:sync:112230192c58:golang_sync/vendor/golang.org/x/sync \\\n"
+"\t\tgolang:xerrors:3ee3066db522:golang_xerrors/vendor/golang.org/x/xerrors \\\n"
+"\t\tmotemen:go-colorine:45d19169413a:motemen_go_colorine/vendor/github.com/motemen/go-colorine \\\n"
+"\t\turfave:cli:v1.20.0:urfave_cli/vendor/github.com/urfave/cli\n"
+msgstr ""
+"% make gomod-vendor\n"
+"[...]\n"
+"GH_TUPLE=\t\\\n"
+"\t\tSongmu:gitconfig:v0.0.2:songmu_gitconfig/vendor/github.com/Songmu/gitconfig \\\n"
+"\t\tdaviddengcn:go-colortext:186a3d44e920:daviddengcn_go_colortext/vendor/github.com/daviddengcn/go-colortext \\\n"
+"\t\tgo-yaml:yaml:v2.2.2:go_yaml_yaml/vendor/gopkg.in/yaml.v2 \\\n"
+"\t\tgolang:net:3ec191127204:golang_net/vendor/golang.org/x/net \\\n"
+"\t\tgolang:sync:112230192c58:golang_sync/vendor/golang.org/x/sync \\\n"
+"\t\tgolang:xerrors:3ee3066db522:golang_xerrors/vendor/golang.org/x/xerrors \\\n"
+"\t\tmotemen:go-colorine:45d19169413a:motemen_go_colorine/vendor/github.com/motemen/go-colorine \\\n"
+"\t\turfave:cli:v1.20.0:urfave_cli/vendor/github.com/urfave/cli\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:946
+#, no-wrap
+msgid ""
+"USES=\t\tgo:modules\n"
+"USE_GITHUB=\tyes\n"
+"GH_ACCOUNT=\tmotemen\n"
+"GH_TUPLE=\tSongmu:gitconfig:v0.0.2:songmu_gitconfig/vendor/github.com/Songmu/gitconfig \\\n"
+"\t\tdaviddengcn:go-colortext:186a3d44e920:daviddengcn_go_colortext/vendor/github.com/daviddengcn/go-colortext \\\n"
+"\t\tgo-yaml:yaml:v2.2.2:go_yaml_yaml/vendor/gopkg.in/yaml.v2 \\\n"
+"\t\tgolang:net:3ec191127204:golang_net/vendor/golang.org/x/net \\\n"
+"\t\tgolang:sync:112230192c58:golang_sync/vendor/golang.org/x/sync \\\n"
+"\t\tgolang:xerrors:3ee3066db522:golang_xerrors/vendor/golang.org/x/xerrors \\\n"
+"\t\tmotemen:go-colorine:45d19169413a:motemen_go_colorine/vendor/github.com/motemen/go-colorine \\\n"
+"\t\turfave:cli:v1.20.0:urfave_cli/vendor/github.com/urfave/cli\n"
+msgstr ""
+"USES=\t\tgo:modules\n"
+"USE_GITHUB=\tyes\n"
+"GH_ACCOUNT=\tmotemen\n"
+"GH_TUPLE=\tSongmu:gitconfig:v0.0.2:songmu_gitconfig/vendor/github.com/Songmu/gitconfig \\\n"
+"\t\tdaviddengcn:go-colortext:186a3d44e920:daviddengcn_go_colortext/vendor/github.com/daviddengcn/go-colortext \\\n"
+"\t\tgo-yaml:yaml:v2.2.2:go_yaml_yaml/vendor/gopkg.in/yaml.v2 \\\n"
+"\t\tgolang:net:3ec191127204:golang_net/vendor/golang.org/x/net \\\n"
+"\t\tgolang:sync:112230192c58:golang_sync/vendor/golang.org/x/sync \\\n"
+"\t\tgolang:xerrors:3ee3066db522:golang_xerrors/vendor/golang.org/x/xerrors \\\n"
+"\t\tmotemen:go-colorine:45d19169413a:motemen_go_colorine/vendor/github.com/motemen/go-colorine \\\n"
+"\t\turfave:cli:v1.20.0:urfave_cli/vendor/github.com/urfave/cli\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:951
+msgid ""
+"[.filename]#distinfo# needs to be regenerated to contain all the "
+"distribution files:"
+msgstr ""
+"[.filename]#distinfo# необходимо обновить, чтобы включить все дистрибутивные "
+"файлы:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:964
+#, no-wrap
+msgid ""
+"% make makesum\n"
+"=> Songmu-gitconfig-v0.0.2_GH0.tar.gz doesn't seem to exist in /usr/ports/distfiles/.\n"
+"=> Attempting to fetch https://codeload.github.com/Songmu/gitconfig/tar.gz/v0.0.2?dummy=/Songmu-gitconfig-v0.0.2_GH0.tar.gz\n"
+"fetch: https://codeload.github.com/Songmu/gitconfig/tar.gz/v0.0.2?dummy=/Songmu-gitconfig-v0.0.2_GH0.tar.gz: size of remote file is not known\n"
+"Songmu-gitconfig-v0.0.2_GH0.tar.gz 5662 B 936 kBps 00s\n"
+"=> daviddengcn-go-colortext-186a3d44e920_GH0.tar.gz doesn't seem to exist in /usr/ports/distfiles/.\n"
+"=> Attempting to fetch https://codeload.github.com/daviddengcn/go-colortext/tar.gz/186a3d44e920?dummy=/daviddengcn-go-colortext-186a3d44e920_GH0.tar.gz\n"
+"fetch: https://codeload.github.com/daviddengcn/go-colortext/tar.gz/186a3d44e920?dummy=/daviddengcn-go-colortext-186a3d44e920_GH0.tar.gz: size of remote file is not known\n"
+"daviddengcn-go-colortext-186a3d44e920_GH0.tar. 4534 B 1098 kBps 00s\n"
+"[...]\n"
+msgstr ""
+"% make makesum\n"
+"=> Songmu-gitconfig-v0.0.2_GH0.tar.gz doesn't seem to exist in /usr/ports/distfiles/.\n"
+"=> Attempting to fetch https://codeload.github.com/Songmu/gitconfig/tar.gz/v0.0.2?dummy=/Songmu-gitconfig-v0.0.2_GH0.tar.gz\n"
+"fetch: https://codeload.github.com/Songmu/gitconfig/tar.gz/v0.0.2?dummy=/Songmu-gitconfig-v0.0.2_GH0.tar.gz: size of remote file is not known\n"
+"Songmu-gitconfig-v0.0.2_GH0.tar.gz 5662 B 936 kBps 00s\n"
+"=> daviddengcn-go-colortext-186a3d44e920_GH0.tar.gz doesn't seem to exist in /usr/ports/distfiles/.\n"
+"=> Attempting to fetch https://codeload.github.com/daviddengcn/go-colortext/tar.gz/186a3d44e920?dummy=/daviddengcn-go-colortext-186a3d44e920_GH0.tar.gz\n"
+"fetch: https://codeload.github.com/daviddengcn/go-colortext/tar.gz/186a3d44e920?dummy=/daviddengcn-go-colortext-186a3d44e920_GH0.tar.gz: size of remote file is not known\n"
+"daviddengcn-go-colortext-186a3d44e920_GH0.tar. 4534 B 1098 kBps 00s\n"
+"[...]\n"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:972
+#, no-wrap
+msgid "Setting Output Binary Name or Installation Path"
+msgstr "Установка имени выходного бинарного файла или пути установки"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:977
+msgid ""
+"Some ports need to install the resulting binary under a different name or to "
+"a path other than the default `${PREFIX}/bin`. This can be done by using "
+"`GO_TARGET` tuple syntax, for example:"
+msgstr ""
+"Некоторые порты требуют установки результирующего бинарного файла под другим "
+"именем или в путь, отличный от стандартного `${PREFIX}/bin`. Это можно "
+"сделать с помощью синтаксиса кортежа `GO_TARGET`, например:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:981
+#, no-wrap
+msgid "GO_TARGET= ./cmd/ipfs:ipfs-go\n"
+msgstr "GO_TARGET= ./cmd/ipfs:ipfs-go\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:984
+msgid "will install `ipfs` binary as `${PREFIX}/bin/ipfs-go` and"
+msgstr "установит бинарный файл `ipfs` как `${PREFIX}/bin/ipfs-go` и"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:988
+#, no-wrap
+msgid "GO_TARGET= ./dnscrypt-proxy:${PREFIX}/sbin/dnscrypt-proxy\n"
+msgstr "GO_TARGET= ./dnscrypt-proxy:${PREFIX}/sbin/dnscrypt-proxy\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:991
+msgid "will install `dnscrypt-proxy` to `${PREFIX}/sbin`."
+msgstr "установит `dnscrypt-proxy` в `${PREFIX}/sbin`."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:994
+#, no-wrap
+msgid "Building Haskell Applications with `cabal`"
+msgstr "Построение приложений на Haskell с помощью `cabal`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:998
+msgid ""
+"For ports that use Cabal, build system defines `USES=cabal`. Refer to "
+"crossref:uses[uses-cabal,`cabal`] for a list of variables that can be set to "
+"control the build process."
+msgstr ""
+"Для портов, использующих Cabal, система сборки определяет `USES=cabal`. "
+"Обратитесь к crossref:uses[uses-cabal,`cabal`] для получения списка "
+"переменных, которые можно задать для управления процессом сборки."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1000
+#, no-wrap
+msgid "Creating a Port for a Hackage-hosted Haskell Application"
+msgstr "Создание порта для приложения Haskell с Hackage"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1005
+msgid ""
+"When preparing a Haskell Cabal port, package:devel/hs-cabal-install[] and "
+"package:ports-mgmt/hs-cabal2tuple[] programs are required, so make sure they "
+"are installed beforehand. First we need to define common ports variables "
+"that allow cabal-install to fetch the package distribution file:"
+msgstr ""
+"При подготовке порта Haskell Cabal требуются программы package:devel/hs-"
+"cabal-install[] и package:ports-mgmt/hs-cabal2tuple[], поэтому убедитесь, "
+"что они установлены заранее. Сначала необходимо определить общие переменные "
+"портов, которые позволяют cabal-install загрузить файл дистрибутива пакета:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1011
+#, no-wrap
+msgid ""
+"PORTNAME=\tShellCheck\n"
+"DISTVERSION=\t0.6.0\n"
+"CATEGORIES=\tdevel\n"
+msgstr ""
+"PORTNAME=\tShellCheck\n"
+"DISTVERSION=\t0.6.0\n"
+"CATEGORIES=\tdevel\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1015
+#, no-wrap
+msgid ""
+"MAINTAINER=\thaskell@FreeBSD.org\n"
+"COMMENT=\tShell script analysis tool\n"
+"WWW=\t\thttps://www.shellcheck.net/\n"
+msgstr ""
+"MAINTAINER=\thaskell@FreeBSD.org\n"
+"COMMENT=\tShell script analysis tool\n"
+"WWW=\t\thttps://www.shellcheck.net/\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1017
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1100
+#, no-wrap
+msgid "USES=\t\tcabal\n"
+msgstr "USES=\t\tcabal\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1022
+msgid ""
+"This minimal Makefile fetches the distribution file with the `cabal-extract` "
+"helper target:"
+msgstr ""
+"Этот минимальный Makefile загружает файл дистрибутива с помощью "
+"вспомогательной цели `cabal-extract`:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1032
+#, no-wrap
+msgid ""
+"% make cabal-extract\n"
+"[...]\n"
+"Downloading the latest package list from hackage.haskell.org\n"
+"cabal get ShellCheck-0.6.0\n"
+"Downloading ShellCheck-0.6.0\n"
+"Downloaded ShellCheck-0.6.0\n"
+"Unpacking to ShellCheck-0.6.0/\n"
+msgstr ""
+"% make cabal-extract\n"
+"[...]\n"
+"Downloading the latest package list from hackage.haskell.org\n"
+"cabal get ShellCheck-0.6.0\n"
+"Downloading ShellCheck-0.6.0\n"
+"Downloaded ShellCheck-0.6.0\n"
+"Unpacking to ShellCheck-0.6.0/\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1035
+msgid ""
+"Now that we have ShellCheck.cabal package description file under `${WRKSRC}"
+"`, we can use `cabal-configure` to generate the build plan:"
+msgstr ""
+"Теперь, когда у нас есть файл описания пакета ShellCheck.cabal в `${WRKSRC}"
+"`, мы можем использовать `cabal-configure` для создания плана сборки:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1046
+#, no-wrap
+msgid ""
+"% make cabal-configure\n"
+"[...]\n"
+"Resolving dependencies...\n"
+"Build profile: -w ghc-8.10.7 -O1\n"
+"In order, the following would be built (use -v for more details):\n"
+" - Diff-0.4.1 (lib) (requires download & build)\n"
+" - OneTuple-0.3.1 (lib) (requires download & build)\n"
+"[...]\n"
+msgstr ""
+"% make cabal-configure\n"
+"[...]\n"
+"Resolving dependencies...\n"
+"Build profile: -w ghc-8.10.7 -O1\n"
+"In order, the following would be built (use -v for more details):\n"
+" - Diff-0.4.1 (lib) (requires download & build)\n"
+" - OneTuple-0.3.1 (lib) (requires download & build)\n"
+"[...]\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1049
+msgid "Once done, a list of required dependencies can generated:"
+msgstr "После завершения можно сгенерировать список необходимых зависимостей:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1057
+#, no-wrap
+msgid ""
+"% make make-use-cabal\n"
+"USE_CABAL=\tQuickCheck-2.12.6.1 \\\n"
+"\t\thashable-1.3.0.0 \\\n"
+"\t\tinteger-logarithms-1.0.3 \\\n"
+"[...]\n"
+msgstr ""
+"% make make-use-cabal\n"
+"USE_CABAL=\tQuickCheck-2.12.6.1 \\\n"
+"\t\thashable-1.3.0.0 \\\n"
+"\t\tinteger-logarithms-1.0.3 \\\n"
+"[...]\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1063
+msgid ""
+"Haskell packages may contain revisions, just like FreeBSD ports. Revisions "
+"can affect [.filename]#.cabal# files only. Note additional version numbers "
+"after the `_` symbol. Put newly generated `USE_CABAL` list instead of an "
+"old one."
+msgstr ""
+"Пакеты Haskell могут содержать ревизии, как и порты FreeBSD. Ревизии могут "
+"затрагивать только файлы [.filename]#.cabal#. Обратите внимание на "
+"дополнительные номера версий после символа `_`. Замените старый список "
+"`USE_CABAL` на вновь сгенерированный."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1065
+msgid ""
+"Finally, [.filename]#distinfo# needs to be regenerated to contain all the "
+"distribution files:"
+msgstr ""
+"Наконец, файл [.filename]#distinfo# необходимо перегенерировать, чтобы он "
+"содержал все файлы дистрибутива:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1076
+#, no-wrap
+msgid ""
+"% make makesum\n"
+"=> ShellCheck-0.6.0.tar.gz doesn't seem to exist in /usr/local/poudriere/ports/git/distfiles/cabal.\n"
+"=> Attempting to fetch https://hackage.haskell.org/package/ShellCheck-0.6.0/ShellCheck-0.6.0.tar.gz\n"
+"ShellCheck-0.6.0.tar.gz 136 kB 642 kBps 00s\n"
+"=> QuickCheck-2.12.6.1/QuickCheck-2.12.6.1.tar.gz doesn't seem to exist in /usr/local/poudriere/ports/git/distfiles/cabal.\n"
+"=> Attempting to fetch https://hackage.haskell.org/package/QuickCheck-2.12.6.1/QuickCheck-2.12.6.1.tar.gz\n"
+"QuickCheck-2.12.6.1/QuickCheck-2.12.6.1.tar.gz 65 kB 361 kBps 00s\n"
+"[...]\n"
+msgstr ""
+"% make makesum\n"
+"=> ShellCheck-0.6.0.tar.gz doesn't seem to exist in /usr/local/poudriere/ports/git/distfiles/cabal.\n"
+"=> Attempting to fetch https://hackage.haskell.org/package/ShellCheck-0.6.0/ShellCheck-0.6.0.tar.gz\n"
+"ShellCheck-0.6.0.tar.gz 136 kB 642 kBps 00s\n"
+"=> QuickCheck-2.12.6.1/QuickCheck-2.12.6.1.tar.gz doesn't seem to exist in /usr/local/poudriere/ports/git/distfiles/cabal.\n"
+"=> Attempting to fetch https://hackage.haskell.org/package/QuickCheck-2.12.6.1/QuickCheck-2.12.6.1.tar.gz\n"
+"QuickCheck-2.12.6.1/QuickCheck-2.12.6.1.tar.gz 65 kB 361 kBps 00s\n"
+"[...]\n"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1086
+msgid ""
+"Some Haskell ports install various data files under `share/${PORTNAME}`. For "
+"such cases special handling is required on the port side. The port should "
+"define the `CABAL_WRAPPER_SCRIPTS` knob listing each executable that is "
+"going to use data files. Moreover, in rare cases the program being ported "
+"uses data files of other Haskell packages, in which case the "
+"`FOO_DATADIR_VARS` comes to the rescue."
+msgstr ""
+"Некоторые порты Haskell устанавливают различные файлы данных в `share/$"
+"{PORTNAME}`. В таких случаях требуется особая обработка на стороне порта. "
+"Порт должен определить параметр `CABAL_WRAPPER_SCRIPTS`, перечислив каждый "
+"исполняемый файл, который будет использовать файлы данных. Более того, в "
+"редких случаях портируемая программа использует файлы данных других пакетов "
+"Haskell, и тогда на помощь приходит `FOO_DATADIR_VARS`."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1088
+#, no-wrap
+msgid "Handling Data Files in a Haskell Port"
+msgstr "Обработка файлов данных в порте Haskell"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1092
+msgid ""
+"`devel/hs-profiteur` is a Haskell application that generates a single-page "
+"HTML with some content."
+msgstr ""
+"`devel/hs-profiteur` — это приложение на Haskell, которое генерирует "
+"одностраничный HTML с некоторым содержимым."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1096
+#, no-wrap
+msgid "PORTNAME=\tprofiteur\n"
+msgstr "PORTNAME=\tprofiteur\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1098
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1113
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1131
+#, no-wrap
+msgid "[...]\n"
+msgstr "[...]\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1104
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1117
+#, no-wrap
+msgid ""
+"USE_CABAL=\tOneTuple-0.3.1_2 \\\n"
+"\t\tQuickCheck-2.14.2 \\\n"
+"\t\t[...]\n"
+msgstr ""
+"USE_CABAL=\tOneTuple-0.3.1_2 \\\n"
+"\t\tQuickCheck-2.14.2 \\\n"
+"\t\t[...]\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1109
+msgid ""
+"It installs HTML templates under `share/profiteur`, so we need to add "
+"`CABAL_WRAPPER_SCRIPTS` knob:"
+msgstr ""
+"Он устанавливает HTML-шаблоны в `share/profiteur`, поэтому необходимо "
+"добавить параметр `CABAL_WRAPPER_SCRIPTS`:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1120
+#, no-wrap
+msgid "CABAL_WRAPPER_SCRIPTS=\t\t${CABAL_EXECUTABLES}\n"
+msgstr "CABAL_WRAPPER_SCRIPTS=\t\t${CABAL_EXECUTABLES}\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1127
+msgid ""
+"The program also tries to access the `jquery.js` file, which is a part of "
+"`js-jquery-3.3.1` Haskell package. For that file to be found, we need to "
+"make the wrapper script to look for `js-jquery` data files in `share/"
+"profiteur` too. We use `profiteur_DATADIR_VARS` for this:"
+msgstr ""
+"Программа также пытается получить доступ к файлу `jquery.js`, который "
+"является частью пакета Haskell `js-jquery-3.3.1`. Чтобы этот файл был "
+"найден, необходимо, чтобы скрипт-обёртка искал файлы данных `js-jquery` "
+"также в `share/profiteur`. Для этого используется `profiteur_DATADIR_VARS`:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1134
+#, no-wrap
+msgid ""
+"CABAL_WRAPPER_SCRIPTS=\t\t${CABAL_EXECUTABLES}\n"
+"profiteur_DATADIR_VARS=\t\tjs-jquery\n"
+msgstr ""
+"CABAL_WRAPPER_SCRIPTS=\t\t${CABAL_EXECUTABLES}\n"
+"profiteur_DATADIR_VARS=\t\tjs-jquery\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1139
+msgid ""
+"Now the port will install the actual binary into `libexec/cabal/profiteur` "
+"and the script into `bin/profiteur`."
+msgstr ""
+"Теперь порт установит непосредственно бинарный файл в `libexec/cabal/"
+"profiteur`, а скрипт — в `bin/profiteur`."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1144
+msgid ""
+"There is no easy way to find out a proper value for the `FOO_DATADIR_VARS` "
+"knob apart from running the program and checking that everything works. "
+"Luckily, the need to use `FOO_DATADIR_VARS` is very rare."
+msgstr ""
+"Не существует простого способа определить подходящее значение для параметра "
+"`FOO_DATADIR_VARS`, кроме как запустить программу и проверить, что всё "
+"работает. К счастью, необходимость использовать `FOO_DATADIR_VARS` возникает "
+"очень редко."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1146
+msgid ""
+"Another corner case when porting complex Haskell programs is the presence of "
+"VCS dependencies in the `cabal.project` file."
+msgstr ""
+"Еще один крайний случай при переносе сложных программ на Haskell — наличие "
+"зависимостей от систем контроля версий (VCS) в файле `cabal.project`."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1148
+#, no-wrap
+msgid "Porting Haskell Applications with VCS Dependencies"
+msgstr "Портирование приложений Haskell с зависимостями от VCS"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1153
+msgid ""
+"`net-p2p/cardano-node` is an extremely complex piece of software. In its "
+"`cabal.project` there are a lot of blocks like this:"
+msgstr ""
+"`net-p2p/cardano-node` — это чрезвычайно сложное программное обеспечение. В "
+"его `cabal.project` содержится множество блоков, подобных этому:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1162
+#, no-wrap
+msgid ""
+"[...]\n"
+"source-repository-package\n"
+" type: git\n"
+" location: https://github.com/input-output-hk/cardano-crypto\n"
+" tag: f73079303f663e028288f9f4a9e08bcca39a923e\n"
+"[...]\n"
+msgstr ""
+"[...]\n"
+"source-repository-package\n"
+" type: git\n"
+" location: https://github.com/input-output-hk/cardano-crypto\n"
+" tag: f73079303f663e028288f9f4a9e08bcca39a923e\n"
+"[...]\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1168
+msgid ""
+"Dependencies of type `source-repository-package` are automatically pulled in "
+"by `cabal` during the build process. Unfortunately, this makes use of the "
+"network after the `fetch` stage. This is disallowed by the ports framework. "
+"These sources need to be listed in the port's Makefile. The `make-use-cabal` "
+"helper target can make it easy for packages hosted on GitHub. Running this "
+"target after the usual `cabal-extract` and `cabal-configure` will produce "
+"not only the `USE_CABAL` knob, but also `GH_TUPLE`:"
+msgstr ""
+"Зависимости типа `source-repository-package` автоматически подтягиваются "
+"`cabal` в процессе сборки. К сожалению, это приводит к использованию сети "
+"после этапа `fetch`, что запрещено в рамках системы портов. Эти исходники "
+"необходимо указать в Makefile порта. Вспомогательная цель `make-use-cabal` "
+"может упростить работу с пакетами, размещёнными на GitHub. Запуск этой цели "
+"после стандартных `cabal-extract` и `cabal-configure` позволит получить не "
+"только параметр `USE_CABAL`, но и `GH_TUPLE`:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1176
+#, no-wrap
+msgid ""
+"% make make-use-cabal\n"
+"USE_CABAL=\tDiff-0.4.1 \\\n"
+"\t\tGlob-0.10.2_3 \\\n"
+"\t\tHUnit-1.6.2.0 \\\n"
+"\t\t[...]\n"
+msgstr ""
+"% make make-use-cabal\n"
+"USE_CABAL=\tDiff-0.4.1 \\\n"
+"\t\tGlob-0.10.2_3 \\\n"
+"\t\tHUnit-1.6.2.0 \\\n"
+"\t\t[...]\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1180
+#, no-wrap
+msgid ""
+"GH_TUPLE=\t\tinput-output-hk:cardano-base:0f3a867493059e650cda69e20a5cbf1ace289a57:cardano_base/dist-newstyle/src/cardano-b_-c8db9876882556ed \\\n"
+"\t\tinput-output-hk:cardano-crypto:f73079303f663e028288f9f4a9e08bcca39a923e:cardano_crypto/dist-newstyle/src/cardano-c_-253fd88117badd8f \\\n"
+"\t\t[...]\n"
+msgstr ""
+"GH_TUPLE=\t\tinput-output-hk:cardano-base:0f3a867493059e650cda69e20a5cbf1ace289a57:cardano_base/dist-newstyle/src/cardano-b_-c8db9876882556ed \\\n"
+"\t\tinput-output-hk:cardano-crypto:f73079303f663e028288f9f4a9e08bcca39a923e:cardano_crypto/dist-newstyle/src/cardano-c_-253fd88117badd8f \\\n"
+"\t\t[...]\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1183
+msgid ""
+"It might be useful to separate the `GH_TUPLE` items coming from `make-use-"
+"cabal` from the other ones to make it easy to update the port:"
+msgstr ""
+"Может быть полезно отделить элементы `GH_TUPLE`, поступающие из `make-use-"
+"cabal`, от остальных, чтобы упростить обновление порта:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1189
+#, no-wrap
+msgid ""
+"GH_TUPLE=\tinput-output-hk:cardano-base:0f3a867493059e650cda69e20a5cbf1ace289a57:cardano_base/dist-newstyle/src/cardano-b_-c8db9876882556ed \\\n"
+"\t\tinput-output-hk:cardano-crypto:f73079303f663e028288f9f4a9e08bcca39a923e:cardano_crypto/dist-newstyle/src/cardano-c_-253fd88117badd8f \\\n"
+"\t\t[...]\n"
+msgstr ""
+"GH_TUPLE=\tinput-output-hk:cardano-base:0f3a867493059e650cda69e20a5cbf1ace289a57:cardano_base/dist-newstyle/src/cardano-b_-c8db9876882556ed \\\n"
+"\t\tinput-output-hk:cardano-crypto:f73079303f663e028288f9f4a9e08bcca39a923e:cardano_crypto/dist-newstyle/src/cardano-c_-253fd88117badd8f \\\n"
+"\t\t[...]\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1191
+#, no-wrap
+msgid "GH_TUPLE+=\tbitcoin-core:secp256k1:ac83be33d0956faf6b7f61a60ab524ef7d6a473a:secp\n"
+msgstr "GH_TUPLE+=\tbitcoin-core:secp256k1:ac83be33d0956faf6b7f61a60ab524ef7d6a473a:secp\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1194
+msgid ""
+"Haskell ports with VCS dependencies also require the following hack for the "
+"time being:"
+msgstr ""
+"Версия Haskell-портов с зависимостями от систем контроля версий временно "
+"требует следующего обходного решения:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1198
+#, no-wrap
+msgid "BINARY_ALIAS=\tgit=true\n"
+msgstr "BINARY_ALIAS=\tgit=true\n"
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1203
+#, no-wrap
+msgid "Using GNU Autotools"
+msgstr "Использование GNU Autotools"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1207
+msgid ""
+"If a port needs any of the GNU Autotools software, add `USES=autoreconf`. "
+"See crossref:uses[uses-autoreconf,`autoreconf`] for more information."
+msgstr ""
+"Если порту требуется какое-либо программное обеспечение GNU Autotools, "
+"добавьте `USES=autoreconf`. Подробнее см. в crossref:uses[uses-"
+"autoreconf,`autoreconf`]."
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1209
+#, no-wrap
+msgid "Using GNU `gettext`"
+msgstr "Использование GNU `gettext`"
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1212
+#, no-wrap
+msgid "Basic Usage"
+msgstr "Простые варианты использования"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1216
+msgid ""
+"If the port requires `gettext`, set `USES= gettext`, and the port will "
+"inherit a dependency on [.filename]#libintl.so# from package:devel/"
+"gettext[]. Other values for `gettext` usage are listed in "
+"crossref:uses[uses-gettext,`USES=gettext`]."
+msgstr ""
+"Если порт требует `gettext`, установите `USES=gettext`, и порт унаследует "
+"зависимость от [.filename]#libintl.so# из пакета package:devel/gettext[]. "
+"Другие значения для использования `gettext` перечислены в crossref:uses[uses-"
+"gettext,`USES=gettext`]."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1219
+msgid ""
+"A rather common case is a port using `gettext` and `configure`. Generally, "
+"GNU `configure` should be able to locate `gettext` automatically."
+msgstr ""
+"Довольно распространённый случай — порт, использующий `gettext` и "
+"`configure`. Обычно GNU `configure` должен автоматически находить `gettext`."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1224
+#, no-wrap
+msgid ""
+"USES=\tgettext\n"
+"GNU_CONFIGURE=\tyes\n"
+msgstr ""
+"USES=\tgettext\n"
+"GNU_CONFIGURE=\tyes\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1227
+msgid ""
+"If it ever fails to, hints at the location of `gettext` can be passed in "
+"`CPPFLAGS` and `LDFLAGS` using `localbase` as follows:"
+msgstr ""
+"Если он не сработает, можно указать расположение `gettext` через `CPPFLAGS` "
+"и `LDFLAGS`, используя `localbase` следующим образом:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1232
+#, no-wrap
+msgid ""
+"USES=\tgettext localbase:ldflags\n"
+"GNU_CONFIGURE=\tyes\n"
+msgstr ""
+"USES=\tgettext localbase:ldflags\n"
+"GNU_CONFIGURE=\tyes\n"
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1235
+#, no-wrap
+msgid "Optional Usage"
+msgstr "Оптимальное использование"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1241
+msgid ""
+"Some software products allow for disabling NLS. For example, through "
+"passing `--disable-nls` to `configure`. In that case, the port must use "
+"`gettext` conditionally, depending on the status of the `NLS` option. For "
+"ports of low to medium complexity, use this idiom:"
+msgstr ""
+"Некоторые программные продукты позволяют отключать NLS, к примеру, передавая "
+"параметр `--disable-nls` сценарию `configure`. В этом случае ваш порт должен "
+"использовать `gettext`, в зависимости от значения `NLS`. Для портов "
+"небольшой или средней сложности вы можете полагаться на следующую идиому:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1245
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1260
+#, no-wrap
+msgid "GNU_CONFIGURE=\t\tyes\n"
+msgstr "GNU_CONFIGURE=\t\tyes\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1248
+#, no-wrap
+msgid ""
+"OPTIONS_DEFINE=\t\tNLS\n"
+"OPTIONS_SUB=\t\tyes\n"
+msgstr ""
+"OPTIONS_DEFINE=\t\tNLS\n"
+"OPTIONS_SUB=\t\tyes\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1251
+#, no-wrap
+msgid ""
+"NLS_USES=\t\tgettext\n"
+"NLS_CONFIGURE_ENABLE=\tnls\n"
+msgstr ""
+"NLS_USES=\t\tgettext\n"
+"NLS_CONFIGURE_ENABLE=\tnls\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1256
+msgid "Or using the older way of using options:"
+msgstr "Или используя старый способ с опциями:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1262
+#, no-wrap
+msgid "OPTIONS_DEFINE=\t\tNLS\n"
+msgstr "OPTIONS_DEFINE=\t\tNLS\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1264
+#, no-wrap
+msgid ".include <bsd.port.options.mk>\n"
+msgstr ".include <bsd.port.options.mk>\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1272
+#, no-wrap
+msgid ""
+".if ${PORT_OPTIONS:MNLS}\n"
+"USES+=\t\t\tgettext\n"
+"PLIST_SUB+=\t\tNLS=\"\"\n"
+".else\n"
+"CONFIGURE_ARGS+=\t--disable-nls\n"
+"PLIST_SUB+=\t\tNLS=\"@comment \"\n"
+".endif\n"
+msgstr ""
+".if ${PORT_OPTIONS:MNLS}\n"
+"USES+=\t\t\tgettext\n"
+"PLIST_SUB+=\t\tNLS=\"\"\n"
+".else\n"
+"CONFIGURE_ARGS+=\t--disable-nls\n"
+"PLIST_SUB+=\t\tNLS=\"@comment \"\n"
+".endif\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1283
+msgid ""
+"The next item on the to-do list is to arrange so that the message catalog "
+"files are included in the packing list conditionally. The "
+"[.filename]#Makefile# part of this task is already provided by the idiom. "
+"It is explained in the section on crossref:plist[plist-sub,advanced "
+"[.filename]#pkg-plist# practices]. In a nutshell, each occurrence of `%%NLS%"
+"%` in [.filename]#pkg-plist# will be replaced by \"`@comment `\" if NLS is "
+"disabled, or by a null string if NLS is enabled. Consequently, the lines "
+"prefixed by `%%NLS%%` will become mere comments in the final packing list if "
+"NLS is off; otherwise the prefix will be just left out. Then insert `%%NLS%"
+"%` before each path to a message catalog file in [.filename]#pkg-plist#. "
+"For example:"
+msgstr ""
+"Следующий пункт в списке задач — организовать условное включение файлов "
+"каталогов сообщений в упаковочный список. Часть, связанная с "
+"[.filename]#Makefile#, уже предусмотрена идиомой. Это объясняется в разделе "
+"crossref:plist[plist-sub,расширенные практики работы с [.filename]#pkg-"
+"plist#]. Вкратце, каждое вхождение `%%NLS%%` в [.filename]#pkg-plist# будет "
+"заменено на \"`@comment `\", если NLS отключен, или на пустую строку, если "
+"NLS включен. Следовательно, строки с префиксом `%%NLS%%` станут обычными "
+"комментариями в итоговом упаковочном списке, если NLS выключен; в противном "
+"случае префикс будет просто удален. Затем вставьте `%%NLS%%` перед каждым "
+"путем к файлу каталога сообщений в [.filename]#pkg-plist#. Например:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1288
+#, no-wrap
+msgid ""
+"%%NLS%%share/locale/fr/LC_MESSAGES/foobar.mo\n"
+"%%NLS%%share/locale/no/LC_MESSAGES/foobar.mo\n"
+msgstr ""
+"%%NLS%%share/locale/fr/LC_MESSAGES/foobar.mo\n"
+"%%NLS%%share/locale/no/LC_MESSAGES/foobar.mo\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1291
+msgid ""
+"In high complexity cases, more advanced techniques may be needed, such as "
+"crossref:plist[plist-dynamic,dynamic packing list generation]."
+msgstr ""
+"В особо сложных случаях вам понадобиться использовать более продвинутые "
+"техники, чем данный рецепт, такие как crossref:plist[plist-"
+"dynamic,динамические списки упаковки]."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1293
+#, no-wrap
+msgid "Handling Message Catalog Directories"
+msgstr "Управление каталогами сообщений"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1300
+msgid ""
+"There is a point to note about installing message catalog files. The target "
+"directories for them, which reside under [.filename]#LOCALBASE/share/"
+"locale#, must not be created and removed by a port. The most popular "
+"languages have their respective directories listed in [.filename]#PORTSDIR/"
+"Templates/BSD.local.dist#. The directories for many other languages are "
+"governed by the package:devel/gettext[] port. Consult its [.filename]#pkg-"
+"plist# and see whether the port is going to install a message catalog file "
+"for a unique language."
+msgstr ""
+"Существует момент, который следует учитывать при установке файлов каталогов "
+"сообщений. Целевые каталоги для размещения, расположенные под "
+"[.filename]#LOCALBASE/shared/locale#, редко когда должны создаваться и "
+"удаляться портом. Для наиболее популярных языков имеются собственные "
+"каталоги, перечисленные в [.filename]#PORTSDIR/Templates/BSD.local.dist#. "
+"Каталоги для множества других языков управляются с помощью порта "
+"package:devel/gettext[]. Обратите внимание на его [.filename]#pkg-plist# и "
+"посмотрите, куда данный порт собирается установить файлы каталогов сообщений "
+"для единственного в своем роде языка."
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1302
+#, no-wrap
+msgid "Using Perl"
+msgstr "Использование Perl"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1310
+msgid ""
+"If `MASTER_SITES` is set to `CPAN`, the correct subdirectory is usually "
+"selected automatically. If the default subdirectory is wrong, `CPAN/Module` "
+"can be used to change it. `MASTER_SITES` can also be set to the old "
+"`MASTER_SITE_PERL_CPAN`, then the preferred value of `MASTER_SITE_SUBDIR` is "
+"the top-level hierarchy name. For example, the recommended value for `p5-"
+"Module-Name` is `Module`. The top-level hierarchy can be examined at "
+"https://cpan.org/modules/by-module/[cpan.org]. This keeps the port working "
+"when the author of the module changes."
+msgstr ""
+"Если `MASTER_SITES` установлена в значение `CPAN`, то правильная "
+"поддиректория выбирается автоматически. Если подкаталог по умолчанию указан "
+"неверно, можно использовать `CPAN/Module` для его изменения. Также можно "
+"установить `MASTER_SITES` в старое значение `MASTER_SITE_PERL_CPAN`, тогда "
+"предпочтительным значением `MASTER_SITE_SUBDIR` будет имя иерархии выше "
+"уровнем. Например, рекомендуемое значение для `p5-Module-Name` - `Module`. "
+"Иерархию верхнего уровня можно посмотреть на https://cpan.org/modules/by-"
+"module/[cpan.org]. Это гарантирует работоспособность порта при смене автора "
+"модуля."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1315
+msgid ""
+"The exception to this rule is when the relevant directory does not exist or "
+"the distfile does not exist in that directory. In such case, using author's "
+"id as `MASTER_SITE_SUBDIR` is allowed. The `CPAN:AUTHOR` macro can be used, "
+"which will be translated to the hashed author directory. For example, "
+"`CPAN:AUTHOR` will be converted to `authors/id/A/AU/AUTHOR`."
+msgstr ""
+"Исключением этого правила является отсутствие соответствующего каталога или "
+"файла с дистрибутивом в этом каталоге. В качестве `MASTER_SITE_SUBDIR` в "
+"этом случае разрешается использовать id автора. Можно использовать макрос "
+"`CPAN:AUTHOR`, который будет преобразован в хешированный каталог автора. "
+"Например, `CPAN:AUTHOR` преобразуется в `authors/id/A/AU/AUTHOR`."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1317
+msgid ""
+"When a port needs Perl support, it must set `USES=perl5` with the optional "
+"`USE_PERL5` described in crossref:uses[uses-perl5,the perl5 USES "
+"description]."
+msgstr ""
+"Когда порту требуется поддержка Perl, он должен установить `USES=perl5` с "
+"опциональным `USE_PERL5`, как описано в crossref:uses[uses-perl5,описание "
+"USES для perl5]."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1319
+#, no-wrap
+msgid "Read-Only Variables for Ports That Use Perl"
+msgstr "Переменные (только для чтения) для портов, использующих Perl"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1323
+#, no-wrap
+msgid "Read only variables"
+msgstr "Переменные (только для чтения)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1326
+#, no-wrap
+msgid "`PERL`"
+msgstr "`PERL`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1328
+#, no-wrap
+msgid "The full path of the Perl 5 interpreter, either in the system or installed from a port, but without the version number. Use this when the software needs the path to the Perl interpreter. To replace \"``#!``\"lines in scripts, use crossref:uses[uses-shebangfix,`shebangfix`]."
+msgstr "Полный путь к интерпретатору Perl 5, будь то системный или установленный из порта, но без номера версии. Используйте это, когда программному обеспечению требуется путь к интерпретатору Perl. Для замены строк \"``#!``\" в скриптах используйте crossref:uses[uses-shebangfix,`shebangfix`]."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1329
+#, no-wrap
+msgid "`PERL_VERSION`"
+msgstr "`PERL_VERSION`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1331
+#, no-wrap
+msgid "The full version of Perl installed (for example, `5.8.9`)."
+msgstr "Полная версия Perl установлена (например, `5.8.9`)."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1332
+#, no-wrap
+msgid "`PERL_LEVEL`"
+msgstr "`PERL_LEVEL`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1334
+#, no-wrap
+msgid "The installed Perl version as an integer of the form `MNNNPP` (for example, `500809`)."
+msgstr "Установленная версия Perl в виде целого числа формата `MNNNPP` (например, `500809`)."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1335
+#, no-wrap
+msgid "`PERL_ARCH`"
+msgstr "`PERL_ARCH`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1337
+#, no-wrap
+msgid "Where Perl stores architecture dependent libraries. Defaults to `${ARCH}-freebsd`."
+msgstr "Где Perl хранит архитектурно-зависимые библиотеки. По умолчанию: `${ARCH}-freebsd`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1338
+#, no-wrap
+msgid "`PERL_PORT`"
+msgstr "`PERL_PORT`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1340
+#, no-wrap
+msgid "Name of the Perl port that is installed (for example, `perl5`)."
+msgstr "Имя порта Perl, который установлен (например, `perl5`)."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1341
+#, no-wrap
+msgid "`SITE_PERL`"
+msgstr "`SITE_PERL`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1342
+#, no-wrap
+msgid "Directory name where site specific Perl packages go. This value is added to `PLIST_SUB`."
+msgstr "Имя каталога, в котором размещаются специфичные для сайта пакеты Perl. Это значение добавляется в `PLIST_SUB`."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1348
+msgid ""
+"Ports of Perl modules which do not have an official website must link to "
+"`cpan.org` in the WWW line of [.filename]#Makefile#. The preferred URL form "
+"is `https://search.cpan.org/dist/Module-Name/` (including the trailing "
+"slash)."
+msgstr ""
+"Порты Perl-модулей, у которых нет официального сайта, должны ссылаться на "
+"`cpan.org` в строке WWW файла [.filename]#Makefile#. Предпочтительный формат "
+"URL: `https://search.cpan.org/dist/Module-Name/` (включая завершающий слеш)."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1356
+msgid ""
+"Do not use `${SITE_PERL}` in dependency declarations. Doing so assumes that "
+"[.filename]#perl5.mk# has been included, which is not always true. Ports "
+"depending on this port will have incorrect dependencies if this port's files "
+"move later in an upgrade. The right way to declare Perl module dependencies "
+"is shown in the example below."
+msgstr ""
+"Не используйте `${SITE_PERL}` в объявлениях зависимостей. Это предполагает, "
+"что был включён файл [.filename]#perl5.mk#, что не всегда верно. Порты, "
+"зависящие от этого порта, будут иметь некорректные зависимости, если файлы "
+"этого порта будут перемещены во время обновления. Правильный способ "
+"объявления зависимостей модулей Perl показан в примере ниже."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1359
+#, no-wrap
+msgid "Perl Dependency Example"
+msgstr "Пример зависимости Perl"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1365
+#, no-wrap
+msgid "p5-IO-Tee>=0.64:devel/p5-IO-Tee\n"
+msgstr "p5-IO-Tee>=0.64:devel/p5-IO-Tee\n"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1370
+msgid ""
+"For Perl ports that install manual pages, the macro `PERL5_MAN3` and "
+"`PERL5_MAN1` can be used inside [.filename]#pkg-plist#. For example,"
+msgstr ""
+"Для портов Perl, которые устанавливают страницы руководства, макросы "
+"`PERL5_MAN3` и `PERL5_MAN1` могут использоваться внутри [.filename]#pkg-"
+"plist#. Например,"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1375
+#, no-wrap
+msgid ""
+"lib/perl5/5.14/man/man1/event.1.gz\n"
+"lib/perl5/5.14/man/man3/AnyEvent::I3.3.gz\n"
+msgstr ""
+"lib/perl5/5.14/man/man1/event.1.gz\n"
+"lib/perl5/5.14/man/man3/AnyEvent::I3.3.gz\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1378
+msgid "can be replaced with"
+msgstr "может быть заменено на"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1383
+#, no-wrap
+msgid ""
+"%%PERL5_MAN1%%/event.1.gz\n"
+"%%PERL5_MAN3%%/AnyEvent::I3.3.gz\n"
+msgstr ""
+"%%PERL5_MAN1%%/event.1.gz\n"
+"%%PERL5_MAN3%%/AnyEvent::I3.3.gz\n"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1388
+msgid ""
+"There are no `PERL5_MAN_x_` macros for the other sections (_x_ in `2` and "
+"`4` to `9`) because those get installed in the regular directories."
+msgstr ""
+"Для других разделов (_x_ в `2` и `4`–`9`) макросы `PERL5_MAN_x_` "
+"отсутствуют, так как они устанавливаются в обычные каталоги."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1391
+#, no-wrap
+msgid "A Port Which Only Requires Perl to Build"
+msgstr "Порт, требующий Perl только для сборки"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1395
+msgid "As the default USE_PERL5 value is build and run, set it to:"
+msgstr ""
+"Поскольку значение USE_PERL5 по умолчанию включает build и run, установите "
+"его в:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1400
+#, no-wrap
+msgid ""
+"USES=\t\tperl5\n"
+"USE_PERL5=\tbuild\n"
+msgstr ""
+"USES=\t\tperl5\n"
+"USE_PERL5=\tbuild\n"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1405
+#, no-wrap
+msgid "A Port Which Also Requires Perl to Patch"
+msgstr "Порт, который также требует Perl для исправления"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1410
+msgid ""
+"From time to time, using man:sed[1] for patching is not enough. When using "
+"man:perl[1] is easier, use:"
+msgstr ""
+"Время от времени использования man:sed[1] для исправлений недостаточно. "
+"Когда использование man:perl[1] проще, примените:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1415
+#, no-wrap
+msgid ""
+"USES=\t\tperl5\n"
+"USE_PERL5=\tpatch build run\n"
+msgstr ""
+"USES=\t\tperl5\n"
+"USE_PERL5=\tpatch build run\n"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1420
+#, no-wrap
+msgid "A Perl Module Which Needs `ExtUtils::MakeMaker` to Build"
+msgstr "Модуль Perl, для сборки которого требуется `ExtUtils::MakeMaker`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1425
+msgid ""
+"Most Perl modules come with a [.filename]#Makefile.PL# configure script. In "
+"this case, set:"
+msgstr ""
+"Большинство модулей Perl поставляются с конфигурационным скриптом "
+"[.filename]#Makefile.PL#. В этом случае установите:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1430
+#, no-wrap
+msgid ""
+"USES=\t\tperl5\n"
+"USE_PERL5=\tconfigure\n"
+msgstr ""
+"USES=\t\tperl5\n"
+"USE_PERL5=\tconfigure\n"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1435
+#, no-wrap
+msgid "A Perl Module Which Needs `Module::Build` to Build"
+msgstr "Модуль Perl, для сборки которого требуется `Module::Build`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1439
+msgid ""
+"When a Perl module comes with a [.filename]#Build.PL# configure script, it "
+"can require Module::Build, in which case, set"
+msgstr ""
+"Когда модуль Perl поставляется с конфигурационным скриптом "
+"[.filename]#Build.PL#, он может требовать Module::Build, и в этом случае "
+"установите"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1444
+#, no-wrap
+msgid ""
+"USES=\t\tperl5\n"
+"USE_PERL5=\tmodbuild\n"
+msgstr ""
+"USES=\t\tperl5\n"
+"USE_PERL5=\tmodbuild\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1447
+msgid "If it instead requires Module::Build::Tiny, set"
+msgstr "Если вместо этого требуется Module::Build::Tiny, установите"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1452
+#, no-wrap
+msgid ""
+"USES=\t\tperl5\n"
+"USE_PERL5=\tmodbuildtiny\n"
+msgstr ""
+"USES=\t\tperl5\n"
+"USE_PERL5=\tmodbuildtiny\n"
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1457
+#, no-wrap
+msgid "Using X11"
+msgstr "Использование X11"
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1460
+#, no-wrap
+msgid "X.Org Components"
+msgstr "Компоненты X.Org"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1465
+msgid ""
+"The X11 implementation available in The Ports Collection is X.Org. If the "
+"application depends on X components, add `USES= xorg` and set `USE_XORG` to "
+"the list of required components. A full list can be found in "
+"crossref:uses[uses-xorg,`xorg`]."
+msgstr ""
+"Реализация X11, доступная в Коллекции портов, — это X.Org. Если приложение "
+"зависит от компонентов X, добавьте `USES= xorg` и укажите необходимые "
+"компоненты в `USE_XORG`. Полный список можно найти в crossref:uses[uses-"
+"xorg,`xorg`]."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1470
+msgid ""
+"The Mesa Project is an effort to provide free OpenGL implementation. To "
+"specify a dependency on various components of this project, use `USES= gl` "
+"and `USE_GL`. See crossref:uses[uses-gl,`gl`] for a full list of available "
+"components. For backwards compatibility, the value of `yes` maps to `glu`."
+msgstr ""
+"Проект Mesa — это инициатива по предоставлению свободной реализации OpenGL. "
+"Чтобы указать зависимость от различных компонентов этого проекта, "
+"используйте `USES=gl` и `USE_GL`. См. crossref:uses[uses-gl,`gl`] для "
+"полного списка доступных компонентов. Для обратной совместимости значение "
+"`yes` соответствует `glu`."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1472
+#, no-wrap
+msgid "`USE_XORG` Example"
+msgstr "Пример `USE_XORG`"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1480
+#, no-wrap
+msgid ""
+"USES=\t\tgl xorg\n"
+"USE_GL=\t\tglu\n"
+"USE_XORG=\txrender xft xkbfile xt xaw\n"
+msgstr ""
+"USES=\t\tgl xorg\n"
+"USE_GL=\t\tglu\n"
+"USE_XORG=\txrender xft xkbfile xt xaw\n"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1485
+#, no-wrap
+msgid "Variables for Ports That Use X"
+msgstr "Переменные для портов, использующих X"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1489
+#, no-wrap
+msgid "`USES= imake`"
+msgstr "`USES= imake`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1491
+#, no-wrap
+msgid "The port uses `imake`."
+msgstr "Порт использует `imake`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1492
+#, no-wrap
+msgid "`XMKMF`"
+msgstr "`XMKMF`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1493
+#, no-wrap
+msgid "Set to the path of `xmkmf` if not in the `PATH`. Defaults to `xmkmf -a`."
+msgstr "Установить путь к `xmkmf`, если он отсутствует в `PATH`. По умолчанию: `xmkmf -a`."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1496
+#, no-wrap
+msgid "Using X11-Related Variables"
+msgstr "Использование переменных, связанных с X11"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1504
+#, no-wrap
+msgid ""
+"# Use some X11 libraries\n"
+"USES=\t\txorg\n"
+"USE_XORG=\tx11 xpm\n"
+msgstr ""
+"# Use some X11 libraries\n"
+"USES=\t\txorg\n"
+"USE_XORG=\tx11 xpm\n"
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1509
+#, no-wrap
+msgid "Ports That Require Motif"
+msgstr "Порты, требующие Motif"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1515
+msgid ""
+"If the port requires a Motif library, define `USES= motif` in the "
+"[.filename]#Makefile#. Default Motif implementation is package:x11-toolkits/"
+"open-motif[]. Users can choose package:x11-toolkits/lesstif[] instead by "
+"setting `WANT_LESSTIF` in their [.filename]#make.conf#. Similarly "
+"package:x11-toolkits/open-motif-devel[] can be chosen by setting "
+"`WANT_OPEN_MOTIF_DEVEL` in [.filename]#make.conf#."
+msgstr ""
+"Если порт требует библиотеку Motif, определите `USES= motif` в "
+"[.filename]#Makefile#. Реализация Motif по умолчанию — это package:x11-"
+"toolkits/open-motif[]. Пользователи могут выбрать package:x11-toolkits/"
+"lesstif[] вместо этого, установив `WANT_LESSTIF` в своём "
+"[.filename]#make.conf#. Аналогично package:x11-toolkits/open-motif-devel[] "
+"можно выбрать, установив `WANT_OPEN_MOTIF_DEVEL` в [.filename]#make.conf#."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1518
+msgid ""
+"`MOTIFLIB` will be set by [.filename]#motif.mk# to reference the appropriate "
+"Motif library. Please patch the source of the port to use `${MOTIFLIB}` "
+"wherever the Motif library is referenced in the original "
+"[.filename]#Makefile# or [.filename]#Imakefile#."
+msgstr ""
+"`MOTIFLIB` будет установлен в файле [.filename]#motif.mk# для ссылки на "
+"соответствующую библиотеку Motif. Пожалуйста, исправьте исходный код порта, "
+"чтобы использовать `${MOTIFLIB}` везде, где библиотека Motif упоминается в "
+"оригинальном [.filename]#Makefile# или [.filename]#Imakefile#."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1520
+msgid "There are two common cases:"
+msgstr "Есть два распространённых случая:"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1522
+msgid ""
+"If the port refers to the Motif library as `-lXm` in its "
+"[.filename]#Makefile# or [.filename]#Imakefile#, substitute `${MOTIFLIB}` "
+"for it."
+msgstr ""
+"Если порт ссылается на библиотеку Motif как `-lXm` в своем "
+"[.filename]#Makefile# или [.filename]#Imakefile#, замените это на `$"
+"{MOTIFLIB}`."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1523
+msgid ""
+"If the port uses `XmClientLibs` in its [.filename]#Imakefile#, change it to "
+"`${MOTIFLIB} ${XTOOLLIB} ${XLIB}`."
+msgstr ""
+"Если порт использует `XmClientLibs` в своем [.filename]#Imakefile#, замените "
+"это на `${MOTIFLIB} ${XTOOLLIB} ${XLIB}`."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1525
+msgid ""
+"Note that `MOTIFLIB` (usually) expands to `-L/usr/local/lib -lXm -lXp` or `/"
+"usr/local/lib/libXm.a`, so there is no need to add `-L` or `-l` in front."
+msgstr ""
+"Обратите внимание, что `MOTIFLIB` (обычно) раскрывается в `-L/usr/local/lib "
+"-lXm -lXp` или `/usr/local/lib/libXm.a`, поэтому нет необходимости добавлять "
+"`-L` или `-l` перед этим."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1527
+#, no-wrap
+msgid "X11 Fonts"
+msgstr "Шрифты X11"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1530
+msgid ""
+"If the port installs fonts for the X Window System, put them in "
+"[.filename]#LOCALBASE/lib/X11/fonts/local#."
+msgstr ""
+"Если порт устанавливает шрифты для X Window System, поместите их в "
+"[.filename]#LOCALBASE/lib/X11/fonts/local#."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1532
+#, no-wrap
+msgid "Getting a Fake `DISPLAY` with Xvfb"
+msgstr "Получение поддельного `DISPLAY` с помощью Xvfb"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1539
+msgid ""
+"Some applications require a working X11 display for compilation to succeed. "
+"This poses a problem for machines that operate headless. When this variable "
+"is used, the build infrastructure will start the virtual framebuffer X "
+"server. The working `DISPLAY` is then passed to the build. See "
+"crossref:uses[uses-display,`USES=display`] for the possible arguments."
+msgstr ""
+"Некоторые приложения требуют рабочего дисплея X11 для успешной компиляции. "
+"Это создаёт проблему для машин, работающих без монитора. При использовании "
+"этой переменной инфраструктура сборки запустит виртуальный X-сервер с "
+"буфером кадров. Рабочий `DISPLAY` затем передаётся в процесс сборки. См. "
+"crossref:uses[uses-display,`USES=display`] для возможных аргументов."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1543
+#, no-wrap
+msgid "USES=\tdisplay\n"
+msgstr "USES=\tdisplay\n"
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1547
+#, no-wrap
+msgid "Desktop Entries"
+msgstr "Desktop Entries (пункты рабочего стола)"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1553
+msgid ""
+"Desktop entries (https://standards.freedesktop.org/desktop-entry-spec/latest/"
+"[a Freedesktop standard]) provide a way to automatically adjust desktop "
+"features when a new program is installed, without requiring user "
+"intervention. For example, newly-installed programs automatically appear in "
+"the application menus of compatible desktop environments. Desktop entries "
+"originated in the GNOME desktop environment, but are now a standard and also "
+"work with KDE and Xfce. This bit of automation provides a real benefit to "
+"the user, and desktop entries are encouraged for applications which can be "
+"used in a desktop environment."
+msgstr ""
+"Desktop entries (https://standards.freedesktop.org/desktop-entry-spec/latest/"
+"[стандарт Freedesktop]) предоставляют способ автоматической настройки "
+"функций рабочего стола при установке новой программы без вмешательства "
+"пользователя. Например, вновь установленные программы автоматически "
+"появляются в меню приложений совместимых сред рабочего стола. Desktop "
+"entries появились в среде GNOME, но теперь стали стандартом и также работают "
+"с KDE и Xfce. Эта автоматизация приносит реальную пользу пользователю, "
+"поэтому Desktop entries рекомендуются для приложений, которые могут "
+"использоваться в среде рабочего стола."
+
+#. type: Title ====
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1555
+#, no-wrap
+msgid "Using Predefined [.filename]#.desktop# Files"
+msgstr "Использование предопределенных файлов [.filename]#.desktop#"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1559
+msgid ""
+"Ports that include predefined [.filename]#*.desktop# must include those "
+"files in [.filename]#pkg-plist# and install them in the "
+"[.filename]#$LOCALBASE/share/applications# directory. The "
+"crossref:makefiles[install-macros,`INSTALL_DATA` macro] is useful for "
+"installing these files."
+msgstr ""
+"Порты, включающие предопределённые файлы [.filename]#*.desktop#, должны "
+"добавлять эти файлы в [.filename]#pkg-plist# и устанавливать их в директорию "
+"[.filename]#$LOCALBASE/share/applications#. Для установки таких файлов "
+"полезен макрос crossref:makefiles[install-macros,`INSTALL_DATA`]."
+
+#. type: Title ====
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1561
+#, no-wrap
+msgid "Updating Desktop Database"
+msgstr "Обновление базы данных рабочего стола"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1565
+msgid ""
+"If a port has a MimeType entry in its [.filename]#portname.desktop#, the "
+"desktop database must be updated after install and deinstall. To do this, "
+"define `USES`= desktop-file-utils."
+msgstr ""
+"Если порт имеет запись MimeType в файле [.filename]#portname.desktop#, базу "
+"данных рабочего стола необходимо обновить после установки и удаления. Для "
+"этого определите `USES`= desktop-file-utils."
+
+#. type: Title ====
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1567
+#, no-wrap
+msgid "Creating Desktop Entries with `DESKTOP_ENTRIES`"
+msgstr "Создание Desktop Entries с помощью `DESKTOP_ENTRIES`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1572
+msgid ""
+"Desktop entries can be easily created for applications by using "
+"`DESKTOP_ENTRIES`. A file named [.filename]#name.desktop# will be created, "
+"installed, and added to [.filename]#pkg-plist# automatically. Syntax is:"
+msgstr ""
+"Desktop Entries могут быть легко созданы для приложений с использованием "
+"`DESKTOP_ENTRIES`. Файл с именем [.filename]#name.desktop# будет создан, "
+"установлен и автоматически добавлен в [.filename]#pkg-plist#. Синтаксис "
+"следующий:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1576
+#, no-wrap
+msgid "DESKTOP_ENTRIES=\t\"NAME\" \"COMMENT\" \"ICON\" \"COMMAND\" \"CATEGORY\" StartupNotify\n"
+msgstr "DESKTOP_ENTRIES=\t\"NAME\" \"COMMENT\" \"ICON\" \"COMMAND\" \"CATEGORY\" StartupNotify\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1583
+msgid ""
+"The list of possible categories is available on the https://"
+"standards.freedesktop.org/menu-spec/latest/apa.html[Freedesktop website]. "
+"`StartupNotify` indicates whether the application is compatible with "
+"_startup notifications_. These are typically a graphic indicator like a "
+"clock that appear at the mouse pointer, menu, or panel to give the user an "
+"indication when a program is starting. A program that is compatible with "
+"startup notifications clears the indicator after it has started. Programs "
+"that are not compatible with startup notifications would never clear the "
+"indicator (potentially confusing and infuriating the user), and must have "
+"`StartupNotify` set to `false` so the indicator is not shown at all."
+msgstr ""
+"Список возможных категорий доступен на https://standards.freedesktop.org/"
+"menu-spec/latest/apa.html[сайте Freedesktop]. `StartupNotify` указывает, "
+"совместимо ли приложение с _уведомлениями о запуске_. Обычно это "
+"графический индикатор, например, часы, который появляется у указателя мыши, "
+"в меню или на панели, чтобы дать пользователю понять, что программа "
+"запускается. Программа, совместимая с уведомлениями о запуске, очищает "
+"индикатор после своего старта. Программы, не совместимые с уведомлениями о "
+"запуске, никогда не очищают индикатор (что может сбивать с толку и "
+"раздражать пользователя), и у них должен быть установлен параметр "
+"`StartupNotify` в значение `false`, чтобы индикатор вообще не отображался."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1585
+msgid "Example:"
+msgstr "Пример:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1592
+#, no-wrap
+msgid ""
+"DESKTOP_ENTRIES=\t\"ToME\" \"Roguelike game based on JRR Tolkien's work\" \\\n"
+"\t\t\t\"${DATADIR}/xtra/graf/tome-128.png\" \\\n"
+"\t\t\t\"tome -v -g\" \"Application;Game;RolePlaying;\" \\\n"
+"\t\t\tfalse\n"
+msgstr ""
+"DESKTOP_ENTRIES=\t\"ToME\" \"Roguelike game based on JRR Tolkien's work\" \\\n"
+"\t\t\t\"${DATADIR}/xtra/graf/tome-128.png\" \\\n"
+"\t\t\t\"tome -v -g\" \"Application;Game;RolePlaying;\" \\\n"
+"\t\t\tfalse\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1597
+msgid ""
+"`DESKTOP_ENTRIES` are installed in the directory pointed to by the "
+"`DESKTOPDIR` variable. `DESKTOPDIR` defaults to [.filename]#${PREFIX}/share/"
+"applications#"
+msgstr ""
+"`DESKTOP_ENTRIES` устанавливаются в директорию, указанную переменной "
+"`DESKTOPDIR`. По умолчанию `DESKTOPDIR` имеет значение [.filename]#${PREFIX}/"
+"share/applications#"
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1600
+#, no-wrap
+msgid "Using GNOME"
+msgstr "Использование GNOME"
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1603
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3769
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4070
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4286
+#, no-wrap
+msgid "Introduction"
+msgstr "Введение"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1607
+msgid ""
+"This chapter explains the GNOME framework as used by ports. The framework "
+"can be loosely divided into the base components, GNOME desktop components, "
+"and a few special macros that simplify the work of port maintainers."
+msgstr ""
+"Эта глава объясняет фреймворк GNOME, используемый в портах. Фреймворк можно "
+"условно разделить на базовые компоненты, компоненты рабочего стола GNOME и "
+"несколько специальных макросов, упрощающих работу сопровождающих портов."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1609
+#, no-wrap
+msgid "Using `USE_GNOME`"
+msgstr "Использование `USE_GNOME`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1617
+msgid ""
+"Adding this variable to the port allows the use of the macros and components "
+"defined in [.filename]#bsd.gnome.mk#. The code in [.filename]#bsd.gnome.mk# "
+"adds the needed build-time, run-time or library dependencies or the handling "
+"of special files. GNOME applications under FreeBSD use the `USE_GNOME` "
+"infrastructure. Include all the needed components as a space-separated "
+"list. The `USE_GNOME` components are divided into these virtual lists: "
+"basic components, GNOME 3 components and legacy components. If the port "
+"needs only GTK3 libraries, this is the shortest way to define it:"
+msgstr ""
+"Добавление этой переменной в порт позволяет использовать макросы и "
+"компоненты, определённые в [.filename]#bsd.gnome.mk#. Код в "
+"[.filename]#bsd.gnome.mk# добавляет необходимые зависимости для сборки, "
+"выполнения или библиотеки, а также обработку специальных файлов. Приложения "
+"GNOME в FreeBSD используют инфраструктуру `USE_GNOME`. Включите все "
+"необходимые компоненты в виде списка, разделённого пробелами. Компоненты "
+"`USE_GNOME` разделены на следующие виртуальные списки: основные компоненты, "
+"компоненты GNOME 3 и устаревшие компоненты. Если порту требуются только "
+"библиотеки GTK3, это кратчайший способ определить это:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1621
+#, no-wrap
+msgid "USE_GNOME=\tgtk30\n"
+msgstr "USE_GNOME=\tgtk30\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1625
+msgid ""
+"`USE_GNOME` components automatically add the dependencies they need. Please "
+"see crossref:special[gnome-components, GNOME Components] for an exhaustive "
+"list of all `USE_GNOME` components and which other components they imply and "
+"their dependencies."
+msgstr ""
+"`USE_GNOME` компоненты автоматически добавляют необходимые им зависимости. "
+"Подробный список всех компонентов `USE_GNOME`, а также информацию о том, "
+"какие другие компоненты они подразумевают и их зависимости, можно найти в "
+"crossref:special[gnome-components, Компоненты GNOME]."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1628
+msgid ""
+"Here is an example [.filename]#Makefile# for a GNOME port that uses many of "
+"the techniques outlined in this document. Please use it as a guide for "
+"creating new ports."
+msgstr ""
+"Вот пример [.filename]#Makefile# для порта GNOME, в котором используются "
+"многие методы, описанные в этом документе. Пожалуйста, используйте его в "
+"качестве руководства при создании новых портов."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1635
+#, no-wrap
+msgid ""
+"PORTNAME=\tregexxer\n"
+"DISTVERSION=\t0.10\n"
+"CATEGORIES=\tdevel textproc gnome\n"
+"MASTER_SITES=\tGNOME\n"
+msgstr ""
+"PORTNAME=\tregexxer\n"
+"DISTVERSION=\t0.10\n"
+"CATEGORIES=\tdevel textproc gnome\n"
+"MASTER_SITES=\tGNOME\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1639
+#, no-wrap
+msgid ""
+"MAINTAINER=\tkwm@FreeBSD.org\n"
+"COMMENT=\tInteractive tool for performing search and replace operations\n"
+"WWW=\t\thttp://regexxer.sourceforge.net/\n"
+msgstr ""
+"MAINTAINER=\tkwm@FreeBSD.org\n"
+"COMMENT=\tInteractive tool for performing search and replace operations\n"
+"WWW=\t\thttp://regexxer.sourceforge.net/\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1643
+#, no-wrap
+msgid ""
+"USES=\t\tgettext gmake localbase:ldflags pathfix pkgconfig tar:xz\n"
+"GNU_CONFIGURE=\tyes\n"
+"USE_GNOME=\tgnomeprefix intlhack gtksourceviewmm3\n"
+msgstr ""
+"USES=\t\tgettext gmake localbase:ldflags pathfix pkgconfig tar:xz\n"
+"GNU_CONFIGURE=\tyes\n"
+"USE_GNOME=\tgnomeprefix intlhack gtksourceviewmm3\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1645
+#, no-wrap
+msgid "GLIB_SCHEMAS=\torg.regexxer.gschema.xml\n"
+msgstr "GLIB_SCHEMAS=\torg.regexxer.gschema.xml\n"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1653
+msgid ""
+"The `USE_GNOME` macro without any arguments does not add any dependencies to "
+"the port. `USE_GNOME` cannot be set after [.filename]#bsd.port.pre.mk#."
+msgstr ""
+"Макрос `USE_GNOME` без аргументов не добавляет никаких зависимостей к порту. "
+"`USE_GNOME` не может быть установлен после [.filename]#bsd.port.pre.mk#."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1656
+#, no-wrap
+msgid "Variables"
+msgstr "Переменные"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1662
+msgid ""
+"This section explains which macros are available and how they are used. "
+"Like they are used in the above example. The crossref:special[gnome-"
+"components, GNOME Components] has a more in-depth explanation. `USE_GNOME` "
+"has to be set for these macros to be of use."
+msgstr ""
+"Этот раздел объясняет, какие макросы доступны и как они используются. Как, "
+"например, в приведённом выше примере. В crossref:special[gnome-components, "
+"Компоненты GNOME] содержится более подробное объяснение. Для использования "
+"этих макросов необходимо установить `USE_GNOME`."
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1663
+#, no-wrap
+msgid "`GLIB_SCHEMAS`"
+msgstr "`GLIB_SCHEMAS`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1666
+msgid ""
+"List of all the glib schema files the port installs. The macro will add the "
+"files to the port plist and handle the registration of these files on "
+"install and deinstall."
+msgstr ""
+"Список всех файлов схем glib, которые устанавливает порт. Макрос добавит "
+"файлы в plist порта и обработает регистрацию этих файлов при установке и "
+"удалении."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1671
+msgid ""
+"The glib schema files are written in XML and end with the "
+"[.filename]#gschema.xml# extension. They are installed in the "
+"[.filename]#share/glib-2.0/schemas/# directory. These schema files contain "
+"all application config values with their default settings. The actual "
+"database used by the applications is built by glib-compile-schema, which is "
+"run by the `GLIB_SCHEMAS` macro."
+msgstr ""
+"Файлы схем glib написаны в XML и имеют расширение [.filename]#gschema.xml#. "
+"Они устанавливаются в директорию [.filename]#share/glib-2.0/schemas/#. Эти "
+"файлы схем содержат все настройки конфигурации приложений со значениями по "
+"умолчанию. Фактическая база данных, используемая приложениями, создаётся с "
+"помощью glib-compile-schema, которая запускается макросом `GLIB_SCHEMAS`."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1675
+#, no-wrap
+msgid "GLIB_SCHEMAS=foo.gschema.xml\n"
+msgstr "GLIB_SCHEMAS=foo.gschema.xml\n"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1681
+msgid ""
+"Do not add glib schemas to the [.filename]#pkg-plist#. If they are listed "
+"in [.filename]#pkg-plist#, they will not be registered and the applications "
+"might not work properly."
+msgstr ""
+"Не добавляйте схемы glib в файл [.filename]#pkg-plist#. Если они указаны в "
+"[.filename]#pkg-plist#, они не будут зарегистрированы, и приложения могут "
+"работать некорректно."
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1683
+#, no-wrap
+msgid "`GCONF_SCHEMAS`"
+msgstr "`GCONF_SCHEMAS`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1686
+msgid ""
+"List all the gconf schema files. The macro will add the schema files to the "
+"port plist and will handle their registration on install and deinstall."
+msgstr ""
+"Перечислите все файлы схем gconf. Макрос добавит файлы схем в plist порта и "
+"обеспечит их регистрацию при установке и удалении."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1691
+msgid ""
+"GConf is the XML-based database that virtually all GNOME applications use "
+"for storing their settings. These files are installed into the "
+"[.filename]#etc/gconf/schemas# directory. This database is defined by "
+"installed schema files that are used to generate [.filename]#%gconf.xml# key "
+"files. For each schema file installed by the port, there must be an entry "
+"in the [.filename]#Makefile#:"
+msgstr ""
+"GConf — это база данных на основе XML, которую используют практически все "
+"приложения GNOME для хранения своих настроек. Эти файлы устанавливаются в "
+"директорию [.filename]#etc/gconf/schemas#. Эта база данных определяется "
+"установленными файлами схем, которые используются для генерации ключевых "
+"файлов [.filename]#%gconf.xml#. Для каждого файла схемы, устанавливаемого "
+"портом, должна быть запись в [.filename]#Makefile#:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1695
+#, no-wrap
+msgid "GCONF_SCHEMAS=my_app.schemas my_app2.schemas my_app3.schemas\n"
+msgstr "GCONF_SCHEMAS=my_app.schemas my_app2.schemas my_app3.schemas\n"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1701
+msgid ""
+"Gconf schemas are listed in the `GCONF_SCHEMAS` macro rather than "
+"[.filename]#pkg-plist#. If they are listed in [.filename]#pkg-plist#, they "
+"will not be registered and the applications might not work properly."
+msgstr ""
+"Схемы Gconf перечислены в макросе `GCONF_SCHEMAS`, а не в файле "
+"[.filename]#pkg-plist#. Если они указаны в [.filename]#pkg-plist#, они не "
+"будут зарегистрированы, и приложения могут работать некорректно."
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1703
+#, no-wrap
+msgid "`INSTALLS_OMF`"
+msgstr "`INSTALLS_OMF`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1707
+msgid ""
+"Open Source Metadata Framework (OMF) files are commonly used by GNOME 2 "
+"applications. These files contain the application help file information, "
+"and require special processing by ScrollKeeper/rarian. To properly register "
+"OMF files when installing GNOME applications from packages, make sure that "
+"`omf` files are listed in `pkg-plist` and that the port "
+"[.filename]#Makefile# has `INSTALLS_OMF` defined:"
+msgstr ""
+"Файлы Open Source Metadata Framework (OMF) часто используются приложениями "
+"GNOME 2. Эти файлы содержат информацию о файлах справки приложений и требуют "
+"специальной обработки с помощью ScrollKeeper/rarian. Для правильной "
+"регистрации файлов OMF при установке приложений GNOME из пакетов убедитесь, "
+"что файлы `omf` указаны в `pkg-plist` и что в [.filename]#Makefile# порта "
+"определено `INSTALLS_OMF`:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1711
+#, no-wrap
+msgid "INSTALLS_OMF=yes\n"
+msgstr "INSTALLS_OMF=yes\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1714
+msgid ""
+"When set, [.filename]#bsd.gnome.mk# automatically scans [.filename]#pkg-"
+"plist# and adds appropriate `@exec` and `@unexec` directives for each "
+"[.filename]#.omf# to track in the OMF registration database."
+msgstr ""
+"При установке [.filename]#bsd.gnome.mk# автоматически сканирует "
+"[.filename]#pkg-plist# и добавляет соответствующие директивы `@exec` и "
+"`@unexec` для каждого файла [.filename]#.omf#, который необходимо "
+"отслеживать в базе данных регистрации OMF."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1716
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1726
+#, no-wrap
+msgid "GNOME Components"
+msgstr "Компоненты GNOME"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1724
+msgid ""
+"For further help with a GNOME port, look at some of the link:https://"
+"ports.FreeBSD.org[existing ports] for examples. The link:https://"
+"www.FreeBSD.org/gnome/[FreeBSD GNOME page] has contact information if more "
+"help is needed. The components are divided into GNOME components that are "
+"currently in use and legacy components. If the component supports argument, "
+"they are listed between parenthesis in the description. The first is the "
+"default. \"Both\" is shown if the component defaults to adding to both "
+"build and run dependencies."
+msgstr ""
+"Для получения дополнительной помощи с портом GNOME, ознакомьтесь с "
+"некоторыми из link:https://ports.FreeBSD.org[существующих портов] в качестве "
+"примеров. На странице link:https://www.FreeBSD.org/gnome/[FreeBSD GNOME] "
+"указана контактная информация, если требуется дополнительная помощь. "
+"Компоненты разделены на используемые в настоящее время компоненты GNOME и "
+"устаревшие компоненты. Если компонент поддерживает аргументы, они "
+"перечислены в скобках в описании. Первый аргумент является значением по "
+"умолчанию. \"Both\" указывается, если компонент по умолчанию добавляется как "
+"в зависимости для сборки, так и для выполнения."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1730
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1899
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1916
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2085
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3911
+#, no-wrap
+msgid "Component"
+msgstr "Компонент"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1731
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1917
+#, no-wrap
+msgid "Associated program"
+msgstr "Связанная программа"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1734
+#, no-wrap
+msgid "`atk`"
+msgstr "`atk`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1735
+#, no-wrap
+msgid "accessibility/atk"
+msgstr "accessibility/atk"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1737
+#, no-wrap
+msgid "Accessibility toolkit (ATK)"
+msgstr "Инструментарий доступности (ATK)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1738
+#, no-wrap
+msgid "`atkmm`"
+msgstr "`atkmm`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1739
+#, no-wrap
+msgid "accessibility/atkmm"
+msgstr "accessibility/atkmm"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1741
+#, no-wrap
+msgid "c++ bindings for atk"
+msgstr "C++ интерфейс для atk"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1742
+#, no-wrap
+msgid "`cairo`"
+msgstr "`cairo`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1743
+#, no-wrap
+msgid "graphics/cairo"
+msgstr "graphics/cairo"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1745
+#, no-wrap
+msgid "Vector graphics library with cross-device output support"
+msgstr "Векторная графическая библиотека с поддержкой вывода на различные устройства"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1746
+#, no-wrap
+msgid "`cairomm`"
+msgstr "`cairomm`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1747
+#, no-wrap
+msgid "graphics/cairomm"
+msgstr "graphics/cairomm"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1749
+#, no-wrap
+msgid "c++ bindings for cairo"
+msgstr "C++ интерфейс для cairo"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1750
+#, no-wrap
+msgid "`dconf`"
+msgstr "`dconf`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1751
+#, no-wrap
+msgid "devel/dconf"
+msgstr "devel/dconf"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1753
+#, no-wrap
+msgid "Configuration database system (both, build, run)"
+msgstr "Система базы данных конфигурации (both, build, run)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1754
+#, no-wrap
+msgid "`evolutiondataserver3`"
+msgstr "`evolutiondataserver3`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1755
+#, no-wrap
+msgid "databases/evolution-data-server"
+msgstr "databases/evolution-data-server"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1757
+#, no-wrap
+msgid "Data backends for the Evolution integrated mail/PIM suite"
+msgstr "Бэкенды данных для интегрированного почтового клиента/PIM Evolution"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1758
+#, no-wrap
+msgid "`gdkpixbuf2`"
+msgstr "`gdkpixbuf2`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1759
+#, no-wrap
+msgid "graphics/gdk-pixbuf2"
+msgstr "graphics/gdk-pixbuf2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1761
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1943
+#, no-wrap
+msgid "Graphics library for GTK+"
+msgstr "Графическая библиотека для GTK+"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1762
+#, no-wrap
+msgid "`glib20`"
+msgstr "`glib20`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1763
+#, no-wrap
+msgid "devel/glib20"
+msgstr "devel/glib20"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1765
+#, no-wrap
+msgid "GNOME core library `glib20`"
+msgstr "Основная библиотека GNOME `glib20`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1766
+#, no-wrap
+msgid "`glibmm`"
+msgstr "`glibmm`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1767
+#, no-wrap
+msgid "devel/glibmm"
+msgstr "devel/glibmm"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1769
+#, no-wrap
+msgid "c++ bindings for glib20"
+msgstr "C++ интерфейс для glib20"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1770
+#, no-wrap
+msgid "`gnomecontrolcenter3`"
+msgstr "`gnomecontrolcenter3`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1771
+#, no-wrap
+msgid "sysutils/gnome-control-center"
+msgstr "sysutils/gnome-control-center"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1773
+#, no-wrap
+msgid "GNOME 3 Control Center"
+msgstr "Центр управления GNOME 3"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1774
+#, no-wrap
+msgid "`gnomedesktop3`"
+msgstr "`gnomedesktop3`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1775
+#, no-wrap
+msgid "x11/gnome-desktop"
+msgstr "x11/gnome-desktop"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1777
+#, no-wrap
+msgid "GNOME 3 desktop UI library"
+msgstr "Библиотека пользовательского интерфейса рабочего стола GNOME 3"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1778
+#, no-wrap
+msgid "`gsound`"
+msgstr "`gsound`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1779
+#, no-wrap
+msgid "audio/gsound"
+msgstr "audio/gsound"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1781
+#, no-wrap
+msgid "GObject library for playing system sounds (both, build, run)"
+msgstr "Библиотека GObject для воспроизведения системных звуков (both, build, run)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1782
+#, no-wrap
+msgid "`gtk-update-icon-cache`"
+msgstr "`gtk-update-icon-cache`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1783
+#, no-wrap
+msgid "graphics/gtk-update-icon-cache"
+msgstr "graphics/gtk-update-icon-cache"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1785
+#, no-wrap
+msgid "Gtk-update-icon-cache utility from the Gtk+ toolkit"
+msgstr "Утилита `gtk-update-icon-cache` из набора инструментов `Gtk+`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1786
+#, no-wrap
+msgid "`gtk20`"
+msgstr "`gtk20`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1787
+#, no-wrap
+msgid "x11-toolkits/gtk20"
+msgstr "x11-toolkits/gtk20"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1789
+#, no-wrap
+msgid "Gtk+ 2 toolkit"
+msgstr "Набор инструментов Gtk+ 2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1790
+#, no-wrap
+msgid "`gtk30`"
+msgstr "`gtk30`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1791
+#, no-wrap
+msgid "x11-toolkits/gtk30"
+msgstr "x11-toolkits/gtk30"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1793
+#, no-wrap
+msgid "Gtk+ 3 toolkit"
+msgstr "Набор инструментов Gtk+ 3"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1794
+#, no-wrap
+msgid "`gtkmm20`"
+msgstr "`gtkmm20`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1795
+#, no-wrap
+msgid "x11-toolkits/gtkmm20"
+msgstr "x11-toolkits/gtkmm20"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1797
+#, no-wrap
+msgid "c++ bindings 2.0 for the gtk20 toolkit"
+msgstr "C++ интерфейс 2.0 для инструментария gtk20"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1798
+#, no-wrap
+msgid "`gtkmm24`"
+msgstr "`gtkmm24`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1799
+#, no-wrap
+msgid "x11-toolkits/gtkmm24"
+msgstr "x11-toolkits/gtkmm24"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1801
+#, no-wrap
+msgid "c++ bindings 2.4 for the gtk20 toolkit"
+msgstr "C++ интерфейс 2.4 для инструментария gtk20"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1802
+#, no-wrap
+msgid "`gtkmm30`"
+msgstr "`gtkmm30`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1803
+#, no-wrap
+msgid "x11-toolkits/gtkmm30"
+msgstr "x11-toolkits/gtkmm30"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1805
+#, no-wrap
+msgid "c++ bindings 3.0 for the gtk30 toolkit"
+msgstr "C++ интерфейс 3.0 для набора инструментов gtk30"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1806
+#, no-wrap
+msgid "`gtksourceview2`"
+msgstr "`gtksourceview2`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1807
+#, no-wrap
+msgid "x11-toolkits/gtksourceview2"
+msgstr "x11-toolkits/gtksourceview2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1809
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1987
+#, no-wrap
+msgid "Widget that adds syntax highlighting to GtkTextView"
+msgstr "Виджет, добавляющий подсветку синтаксиса в GtkTextView"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1810
+#, no-wrap
+msgid "`gtksourceview3`"
+msgstr "`gtksourceview3`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1811
+#, no-wrap
+msgid "x11-toolkits/gtksourceview3"
+msgstr "x11-toolkits/gtksourceview3"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1813
+#, no-wrap
+msgid "Text widget that adds syntax highlighting to the GtkTextView widget"
+msgstr "Текстовая виджет, добавляющая подсветку синтаксиса к виджету GtkTextView"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1814
+#, no-wrap
+msgid "`gtksourceviewmm3`"
+msgstr "`gtksourceviewmm3`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1815
+#, no-wrap
+msgid "x11-toolkits/gtksourceviewmm3"
+msgstr "x11-toolkits/gtksourceviewmm3"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1817
+#, no-wrap
+msgid "c++ bindings for the gtksourceview3 library"
+msgstr "C++ интерфейс для библиотеки gtksourceview3"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1818
+#, no-wrap
+msgid "`gvfs`"
+msgstr "`gvfs`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1819
+#, no-wrap
+msgid "devel/gvfs"
+msgstr "devel/gvfs"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1821
+#, no-wrap
+msgid "GNOME virtual file system"
+msgstr "Виртуальная файловая система GNOME"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1822
+#, no-wrap
+msgid "`intltool`"
+msgstr "`intltool`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1823
+#, no-wrap
+msgid "textproc/intltool"
+msgstr "textproc/intltool"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1825
+#, no-wrap
+msgid "Tool for internationalization (also see intlhack)"
+msgstr "Инструмент для интернационализации (см. также intlhack)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1826
+#, no-wrap
+msgid "`introspection`"
+msgstr "`introspection`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1827
+#, no-wrap
+msgid "devel/gobject-introspection"
+msgstr "devel/gobject-introspection"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1829
+#, no-wrap
+msgid "Basic introspection bindings and tools to generate introspection bindings. Most of the time :build is enough, :both/:run is only need for applications that use introspection bindings. (both, build, run)"
+msgstr "Базовые привязки (биндинги) интроспекции и инструменты для генерации привязок интроспекции. В большинстве случаев достаточно `:build`, `:both`/`:run` нужны только для приложений, использующих привязки интроспекции. (both, build, run)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1830
+#, no-wrap
+msgid "`libgda5`"
+msgstr "`libgda5`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1831
+#, no-wrap
+msgid "databases/libgda5"
+msgstr "databases/libgda5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1833
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2003
+#, no-wrap
+msgid "Provides uniform access to different kinds of data sources"
+msgstr "Обеспечивает единообразный доступ к различным типам источников данных"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1834
+#, no-wrap
+msgid "`libgda5-ui`"
+msgstr "`libgda5-ui`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1835
+#, no-wrap
+msgid "databases/libgda5-ui"
+msgstr "databases/libgda5-ui"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1837
+#, no-wrap
+msgid "UI library from the libgda5 library"
+msgstr "Библиотека пользовательского интерфейса из библиотеки libgda5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1838
+#, no-wrap
+msgid "`libgdamm5`"
+msgstr "`libgdamm5`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1839
+#, no-wrap
+msgid "databases/libgdamm5"
+msgstr "databases/libgdamm5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1841
+#, no-wrap
+msgid "c++ bindings for the libgda5 library"
+msgstr "привязки C++ для библиотеки libgda5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1842
+#, no-wrap
+msgid "`libgsf`"
+msgstr "`libgsf`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1843
+#, no-wrap
+msgid "devel/libgsf"
+msgstr "devel/libgsf"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1845
+#, no-wrap
+msgid "Extensible I/O abstraction for dealing with structured file formats"
+msgstr "Расширяемая абстракция ввода-вывода для работы со структурированными форматами файлов"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1846
+#, no-wrap
+msgid "`librsvg2`"
+msgstr "`librsvg2`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1847
+#, no-wrap
+msgid "graphics/librsvg2"
+msgstr "graphics/librsvg2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1849
+#, no-wrap
+msgid "Library for parsing and rendering SVG vector-graphic files"
+msgstr "Библиотека для разбора и отображения SVG-файлов векторной графики"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1850
+#, no-wrap
+msgid "`libsigc++20`"
+msgstr "`libsigc++20`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1851
+#, no-wrap
+msgid "devel/libsigc++20"
+msgstr "devel/libsigc++20"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1853
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2047
+#, no-wrap
+msgid "Callback Framework for C++"
+msgstr "Фреймворк обратных вызовов для C++"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1854
+#, no-wrap
+msgid "`libxml++26`"
+msgstr "`libxml++26`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1855
+#, no-wrap
+msgid "textproc/libxml++26"
+msgstr "textproc/libxml++26"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1857
+#, no-wrap
+msgid "c++ bindings for the libxml2 library"
+msgstr "C++ привязки для библиотеки libxml2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1858
+#, no-wrap
+msgid "`libxml2`"
+msgstr "`libxml2`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1859
+#, no-wrap
+msgid "textproc/libxml2"
+msgstr "textproc/libxml2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1861
+#, no-wrap
+msgid "XML parser library (both, build, run)"
+msgstr "Библиотека парсера XML (both, build, run)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1862
+#, no-wrap
+msgid "`libxslt`"
+msgstr "`libxslt`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1863
+#, no-wrap
+msgid "textproc/libxslt"
+msgstr "textproc/libxslt"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1865
+#, no-wrap
+msgid "XSLT C library (both, build, run)"
+msgstr "Библиотека XSLT (сборка, выполнение)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1866
+#, no-wrap
+msgid "`metacity`"
+msgstr "`metacity`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1867
+#, no-wrap
+msgid "x11-wm/metacity"
+msgstr "x11-wm/metacity"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1869
+#, no-wrap
+msgid "Window manager from GNOME"
+msgstr "Менеджер окон из GNOME"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1870
+#, no-wrap
+msgid "`nautilus3`"
+msgstr "`nautilus3`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1871
+#, no-wrap
+msgid "x11-fm/nautilus"
+msgstr "x11-fm/nautilus"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1873
+#, no-wrap
+msgid "GNOME file manager"
+msgstr "GNOME файловый менеджер"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1874
+#, no-wrap
+msgid "`pango`"
+msgstr "`pango`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1875
+#, no-wrap
+msgid "x11-toolkits/pango"
+msgstr "x11-toolkits/pango"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1877
+#, no-wrap
+msgid "Open-source framework for the layout and rendering of i18n text"
+msgstr "Открытый фреймворк для разметки и отображения интернационализированного текста"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1878
+#, no-wrap
+msgid "`pangomm`"
+msgstr "`pangomm`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1879
+#, no-wrap
+msgid "x11-toolkits/pangomm"
+msgstr "x11-toolkits/pangomm"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1881
+#, no-wrap
+msgid "c++ bindings for the pango library"
+msgstr "C++ интерфейс для библиотеки pango"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1882
+#, no-wrap
+msgid "`py3gobject3`"
+msgstr "`py3gobject3`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1883
+#, no-wrap
+msgid "devel/py3-gobject3"
+msgstr "devel/py3-gobject3"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1885
+#, no-wrap
+msgid "Python 3, GObject 3.0 bindings"
+msgstr "Python 3, интерфейс GObject 3.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1886
+#, no-wrap
+msgid "`pygobject3`"
+msgstr "`pygobject3`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1887
+#, no-wrap
+msgid "devel/py-gobject3"
+msgstr "devel/py-gobject3"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1889
+#, no-wrap
+msgid "Python 2, GObject 3.0 bindings"
+msgstr "Python 2, интерфейс GObject 3.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1890
+#, no-wrap
+msgid "`vte3`"
+msgstr "`vte3`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1891
+#, no-wrap
+msgid "x11-toolkits/vte3"
+msgstr "x11-toolkits/vte3"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1892
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2078
+#, no-wrap
+msgid "Terminal widget with improved accessibility and I18N support"
+msgstr "Виджет терминала с улучшенной поддержкой доступности и интернационализации (I18N)"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1895
+#, no-wrap
+msgid "GNOME Macro Components"
+msgstr "Компоненты макросов GNOME"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1902
+#, no-wrap
+msgid "`gnomeprefix`"
+msgstr "`gnomeprefix`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1904
+#, no-wrap
+msgid "Supply `configure` with some default locations."
+msgstr "Предоставляет `configure` некоторые стандартные расположения."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1905
+#, no-wrap
+msgid "`intlhack`"
+msgstr "`intlhack`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1907
+#, no-wrap
+msgid "Same as intltool, but patches to make sure [.filename]#share/locale/# is used. Please only use when `intltool` alone is not enough."
+msgstr "То же, что и `intltool`, но с патчами для гарантии использования [.filename]#share/locale/#. Используйте только в случае, когда одного `intltool` недостаточно."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1908
+#, no-wrap
+msgid "`referencehack`"
+msgstr "`referencehack`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1909
+#, no-wrap
+msgid "This macro is there to help splitting of the API or reference documentation into its own port."
+msgstr "Этот макрос предназначен для помощи в разделении API или справочной документации на собственный порт."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1912
+#, no-wrap
+msgid "GNOME Legacy Components"
+msgstr "Компоненты GNOME Legacy"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1920
+#, no-wrap
+msgid "`atspi`"
+msgstr "`atspi`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1921
+#, no-wrap
+msgid "accessibility/at-spi"
+msgstr "accessibility/at-spi"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1923
+#, no-wrap
+msgid "Assistive Technology Service Provider Interface"
+msgstr "Интерфейс поставщика услуг вспомогательных технологий (AT-SPI)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1924
+#, no-wrap
+msgid "`esound`"
+msgstr "`esound`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1925
+#, no-wrap
+msgid "audio/esound"
+msgstr "audio/esound"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1927
+#, no-wrap
+msgid "Enlightenment sound package"
+msgstr "Пакет звука Enlightenment"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1928
+#, no-wrap
+msgid "`gal2`"
+msgstr "`gal2`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1929
+#, no-wrap
+msgid "x11-toolkits/gal2"
+msgstr "x11-toolkits/gal2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1931
+#, no-wrap
+msgid "Collection of widgets taken from GNOME 2 gnumeric"
+msgstr "Коллекция виджетов, взятых из GNOME 2 gnumeric"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1932
+#, no-wrap
+msgid "`gconf2`"
+msgstr "`gconf2`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1933
+#, no-wrap
+msgid "devel/gconf2"
+msgstr "devel/gconf2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1935
+#, no-wrap
+msgid "Configuration database system for GNOME 2"
+msgstr "Система базы данных конфигурации для GNOME 2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1936
+#, no-wrap
+msgid "`gconfmm26`"
+msgstr "`gconfmm26`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1937
+#, no-wrap
+msgid "devel/gconfmm26"
+msgstr "devel/gconfmm26"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1939
+#, no-wrap
+msgid "c++ bindings for gconf2"
+msgstr "C++ привязки C++ для gconf2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1940
+#, no-wrap
+msgid "`gdkpixbuf`"
+msgstr "`gdkpixbuf`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1941
+#, no-wrap
+msgid "graphics/gdk-pixbuf"
+msgstr "graphics/gdk-pixbuf"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1944
+#, no-wrap
+msgid "`glib12`"
+msgstr "`glib12`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1945
+#, no-wrap
+msgid "devel/glib12"
+msgstr "devel/glib12"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1947
+#, no-wrap
+msgid "glib 1.2 core library"
+msgstr "Библиотека ядра glib 1.2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1948
+#, no-wrap
+msgid "`gnomedocutils`"
+msgstr "`gnomedocutils`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1949
+#, no-wrap
+msgid "textproc/gnome-doc-utils"
+msgstr "textproc/gnome-doc-utils"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1951
+#, no-wrap
+msgid "GNOME doc utils"
+msgstr "Утилиты документации GNOME"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1952
+#, no-wrap
+msgid "`gnomemimedata`"
+msgstr "`gnomemimedata`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1953
+#, no-wrap
+msgid "misc/gnome-mime-data"
+msgstr "misc/gnome-mime-data"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1955
+#, no-wrap
+msgid "MIME and Application database for GNOME 2"
+msgstr "База данных MIME и приложений для GNOME 2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1956
+#, no-wrap
+msgid "`gnomesharp20`"
+msgstr "`gnomesharp20`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1957
+#, no-wrap
+msgid "x11-toolkits/gnome-sharp20"
+msgstr "x11-toolkits/gnome-sharp20"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1959
+#, no-wrap
+msgid "GNOME 2 interfaces for the .NET runtime"
+msgstr "Интерфейсы GNOME 2 для среды выполнения .NET"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1960
+#, no-wrap
+msgid "`gnomespeech`"
+msgstr "`gnomespeech`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1961
+#, no-wrap
+msgid "accessibility/gnome-speech"
+msgstr "accessibility/gnome-speech"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1963
+#, no-wrap
+msgid "GNOME 2 text-to-speech API"
+msgstr "GNOME 2 API преобразования текста в речь"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1964
+#, no-wrap
+msgid "`gnomevfs2`"
+msgstr "`gnomevfs2`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1965
+#, no-wrap
+msgid "devel/gnome-vfs"
+msgstr "devel/gnome-vfs"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1967
+#, no-wrap
+msgid "GNOME 2 Virtual File System"
+msgstr "Виртуальная файловая система GNOME 2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1968
+#, no-wrap
+msgid "`gtk12`"
+msgstr "`gtk12`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1969
+#, no-wrap
+msgid "x11-toolkits/gtk12"
+msgstr "x11-toolkits/gtk12"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1971
+#, no-wrap
+msgid "Gtk+ 1.2 toolkit"
+msgstr "Набор инструментов Gtk+ 1.2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1972
+#, no-wrap
+msgid "`gtkhtml3`"
+msgstr "`gtkhtml3`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1973
+#, no-wrap
+msgid "www/gtkhtml3"
+msgstr "www/gtkhtml3"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1975
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1979
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2035
+#, no-wrap
+msgid "Lightweight HTML rendering/printing/editing engine"
+msgstr "Облегченный движок для отображения/печати/редактирования HTML"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1976
+#, no-wrap
+msgid "`gtkhtml4`"
+msgstr "`gtkhtml4`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1977
+#, no-wrap
+msgid "www/gtkhtml4"
+msgstr "www/gtkhtml4"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1980
+#, no-wrap
+msgid "`gtksharp20`"
+msgstr "`gtksharp20`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1981
+#, no-wrap
+msgid "x11-toolkits/gtk-sharp20"
+msgstr "x11-toolkits/gtk-sharp20"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1983
+#, no-wrap
+msgid "GTK+ and GNOME 2 interfaces for the .NET runtime"
+msgstr "Интерфейсы GTK+ и GNOME 2 для среды выполнения .NET"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1984
+#, no-wrap
+msgid "`gtksourceview`"
+msgstr "`gtksourceview`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1985
+#, no-wrap
+msgid "x11-toolkits/gtksourceview"
+msgstr "x11-toolkits/gtksourceview"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1988
+#, no-wrap
+msgid "`libartgpl2`"
+msgstr "`libartgpl2`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1989
+#, no-wrap
+msgid "graphics/libart_lgpl"
+msgstr "graphics/libart_lgpl"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1991
+#, no-wrap
+msgid "Library for high-performance 2D graphics"
+msgstr "Библиотека для высокопроизводительной 2D графики"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1992
+#, no-wrap
+msgid "`libbonobo`"
+msgstr "`libbonobo`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1993
+#, no-wrap
+msgid "devel/libbonobo"
+msgstr "devel/libbonobo"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1995
+#, no-wrap
+msgid "Component and compound document system for GNOME 2"
+msgstr "Система компонентов и составных документов для GNOME 2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1996
+#, no-wrap
+msgid "`libbonoboui`"
+msgstr "`libbonoboui`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1997
+#, no-wrap
+msgid "x11-toolkits/libbonoboui"
+msgstr "x11-toolkits/libbonoboui"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1999
+#, no-wrap
+msgid "GUI frontend to the libbonobo component of GNOME 2"
+msgstr "Интерфейс для libbonobo в GNOME 2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2000
+#, no-wrap
+msgid "`libgda4`"
+msgstr "`libgda4`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2001
+#, no-wrap
+msgid "databases/libgda4"
+msgstr "databases/libgda4"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2004
+#, no-wrap
+msgid "`libglade2`"
+msgstr "`libglade2`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2005
+#, no-wrap
+msgid "devel/libglade2"
+msgstr "devel/libglade2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2007
+#, no-wrap
+msgid "GNOME 2 glade library"
+msgstr "Библиотека glade для GNOME 2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2008
+#, no-wrap
+msgid "`libgnome`"
+msgstr "`libgnome`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2009
+#, no-wrap
+msgid "x11/libgnome"
+msgstr "x11/libgnome"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2011
+#, no-wrap
+msgid "Libraries for GNOME 2, a GNU desktop environment"
+msgstr "Библиотеки для GNOME 2, GNU окружения рабочего стола"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2012
+#, no-wrap
+msgid "`libgnomecanvas`"
+msgstr "`libgnomecanvas`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2013
+#, no-wrap
+msgid "graphics/libgnomecanvas"
+msgstr "graphics/libgnomecanvas"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2015
+#, no-wrap
+msgid "Graphics library for GNOME 2"
+msgstr "Графическая библиотека для GNOME 2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2016
+#, no-wrap
+msgid "`libgnomekbd`"
+msgstr "`libgnomekbd`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2017
+#, no-wrap
+msgid "x11/libgnomekbd"
+msgstr "x11/libgnomekbd"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2019
+#, no-wrap
+msgid "GNOME 2 keyboard shared library"
+msgstr "Динамическая библиотека клавиатуры GNOME 2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2020
+#, no-wrap
+msgid "`libgnomeprint`"
+msgstr "`libgnomeprint`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2021
+#, no-wrap
+msgid "print/libgnomeprint"
+msgstr "print/libgnomeprint"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2023
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2027
+#, no-wrap
+msgid "Gnome 2 print support library"
+msgstr "Библиотека поддержки печати Gnome 2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2024
+#, no-wrap
+msgid "`libgnomeprintui`"
+msgstr "`libgnomeprintui`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2025
+#, no-wrap
+msgid "x11-toolkits/libgnomeprintui"
+msgstr "x11-toolkits/libgnomeprintui"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2028
+#, no-wrap
+msgid "`libgnomeui`"
+msgstr "`libgnomeui`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2029
+#, no-wrap
+msgid "x11-toolkits/libgnomeui"
+msgstr "x11-toolkits/libgnomeui"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2031
+#, no-wrap
+msgid "Libraries for the GNOME 2 GUI, a GNU desktop environment"
+msgstr "Библиотеки для графического интерфейса GNOME 2, среды рабочего стола GNU"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2032
+#, no-wrap
+msgid "`libgtkhtml`"
+msgstr "`libgtkhtml`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2033
+#, no-wrap
+msgid "www/libgtkhtml"
+msgstr "www/libgtkhtml"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2036
+#, no-wrap
+msgid "`libgtksourceviewmm`"
+msgstr "`libgtksourceviewmm`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2037
+#, no-wrap
+msgid "x11-toolkits/libgtksourceviewmm"
+msgstr "x11-toolkits/libgtksourceviewmm"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2039
+#, no-wrap
+msgid "c++ binding of GtkSourceView"
+msgstr "C++ интерфейс GtkSourceView"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2040
+#, no-wrap
+msgid "`libidl`"
+msgstr "`libidl`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2041
+#, no-wrap
+msgid "devel/libIDL"
+msgstr "devel/libIDL"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2043
+#, no-wrap
+msgid "Library for creating trees of CORBA IDL file"
+msgstr "Библиотека для создания деревьев файлов CORBA IDL"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2044
+#, no-wrap
+msgid "`libsigc++12`"
+msgstr "`libsigc++12`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2045
+#, no-wrap
+msgid "devel/libsigc++12"
+msgstr "devel/libsigc++12"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2048
+#, no-wrap
+msgid "`libwnck`"
+msgstr "`libwnck`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2049
+#, no-wrap
+msgid "x11-toolkits/libwnck"
+msgstr "x11-toolkits/libwnck"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2051
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2055
+#, no-wrap
+msgid "Library used for writing pagers and taskslists"
+msgstr "Библиотека, используемая для написания пейджеров и списков задач"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2052
+#, no-wrap
+msgid "`libwnck3`"
+msgstr "`libwnck3`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2053
+#, no-wrap
+msgid "x11-toolkits/libwnck3"
+msgstr "x11-toolkits/libwnck3"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2056
+#, no-wrap
+msgid "`orbit2`"
+msgstr "`orbit2`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2057
+#, no-wrap
+msgid "devel/ORBit2"
+msgstr "devel/ORBit2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2059
+#, no-wrap
+msgid "High-performance CORBA ORB with support for the C language"
+msgstr "Высокопроизводительный CORBA ORB с поддержкой языка C"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2060
+#, no-wrap
+msgid "`pygnome2`"
+msgstr "`pygnome2`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2061
+#, no-wrap
+msgid "x11-toolkits/py-gnome2"
+msgstr "x11-toolkits/py-gnome2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2063
+#, no-wrap
+msgid "Python bindings for GNOME 2"
+msgstr "Интерфейс Python для GNOME 2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2064
+#, no-wrap
+msgid "`pygobject`"
+msgstr "`pygobject`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2065
+#, no-wrap
+msgid "devel/py-gobject"
+msgstr "devel/py-gobject"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2067
+#, no-wrap
+msgid "Python 2, GObject 2.0 bindings"
+msgstr "Python 2, интерфейс GObject 2.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2068
+#, no-wrap
+msgid "`pygtk2`"
+msgstr "`pygtk2`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2069
+#, no-wrap
+msgid "x11-toolkits/py-gtk2"
+msgstr "x11-toolkits/py-gtk2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2071
+#, no-wrap
+msgid "Set of Python bindings for GTK+"
+msgstr "Набор интерфейсов Python для GTK+"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2072
+#, no-wrap
+msgid "`pygtksourceview`"
+msgstr "`pygtksourceview`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2073
+#, no-wrap
+msgid "x11-toolkits/py-gtksourceview"
+msgstr "x11-toolkits/py-gtksourceview"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2075
+#, no-wrap
+msgid "Python bindings for GtkSourceView 2"
+msgstr "Интерфейс Python для GtkSourceView 2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2076
+#, no-wrap
+msgid "`vte`"
+msgstr "`vte`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2077
+#, no-wrap
+msgid "x11-toolkits/vte"
+msgstr "x11-toolkits/vte"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2081
+#, no-wrap
+msgid "Deprecated Components: Do Not Use"
+msgstr "Устаревшие компоненты: не использовать"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2088
+#, no-wrap
+msgid "`pangox-compat`"
+msgstr "`pangox-compat`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2089
+#, no-wrap
+msgid "pangox-compat has been deprecated and split off from the pango package."
+msgstr "pangox-compat устарел и был отделён от пакета pango."
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2092
+#, no-wrap
+msgid "Using Qt"
+msgstr "Использование Qt"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2097
+msgid ""
+"For ports that are part of Qt itself, see crossref:uses[uses-qt-dist,`qt-"
+"dist`]."
+msgstr ""
+"Для портов, которые являются частью самого Qt, см. crossref:uses[uses-qt-"
+"dist,`qt-dist`]."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2100
+#, no-wrap
+msgid "Ports That Require Qt"
+msgstr "Порты, требующие Qt"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2105
+msgid ""
+"The Ports Collection provides support for Qt 5 and Qt 6 with `USES+=qt:5` "
+"and `USES+=qt:6` respectively. Set `USE_QT` to the list of required Qt "
+"components (libraries, tools, plugins)."
+msgstr ""
+"Коллекция портов поддерживает Qt 5 и Qt 6 с помощью `USES+=qt:5` и "
+"`USES+=qt:6` соответственно. Установите `USE_QT` в список необходимых "
+"компонентов Qt (libraries, tools, plugins - библиотеки, инструменты, "
+"плагины)."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2107
+msgid ""
+"The Qt framework exports a number of variables which can be used by ports, "
+"some of them listed below:"
+msgstr ""
+"Фреймворк Qt экспортирует ряд переменных, которые могут использоваться "
+"портами, некоторые из них перечислены ниже:"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2109
+#, no-wrap
+msgid "Variables Provided to Ports That Use Qt"
+msgstr "Переменные, предоставляемые портам, использующим Qt"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2113
+#, no-wrap
+msgid "`QMAKE`"
+msgstr "`QMAKE`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2115
+#, no-wrap
+msgid "Full path to `qmake` binary."
+msgstr "Полный путь к исполняемому файлу `qmake`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2116
+#, no-wrap
+msgid "`LRELEASE`"
+msgstr "`LRELEASE`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2118
+#, no-wrap
+msgid "Full path to `lrelease` utility."
+msgstr "Полный путь к утилите `lrelease`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2119
+#, no-wrap
+msgid "`MOC`"
+msgstr "`MOC`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2121
+#, no-wrap
+msgid "Full path to `moc`."
+msgstr "Полный путь к `moc`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2122
+#, no-wrap
+msgid "`RCC`"
+msgstr "`RCC`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2124
+#, no-wrap
+msgid "Full path to `rcc`."
+msgstr "Полный путь к `rcc`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2125
+#, no-wrap
+msgid "`UIC`"
+msgstr "`UIC`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2127
+#, no-wrap
+msgid "Full path to `uic`."
+msgstr "Полный путь к `uic`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2128
+#, no-wrap
+msgid "`QT_INCDIR`"
+msgstr "`QT_INCDIR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2130
+#, no-wrap
+msgid "Qt include directory."
+msgstr "Каталог включаемых файлов Qt."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2131
+#, no-wrap
+msgid "`QT_LIBDIR`"
+msgstr "`QT_LIBDIR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2133
+#, no-wrap
+msgid "Qt libraries path."
+msgstr "Путь к библиотекам Qt."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2134
+#, no-wrap
+msgid "`QT_PLUGINDIR`"
+msgstr "`QT_PLUGINDIR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2135
+#, no-wrap
+msgid "Qt plugins path."
+msgstr "Путь к плагинам Qt."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2138
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3857
+#, no-wrap
+msgid "Component Selection"
+msgstr "Выбор компонентов"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2145
+msgid ""
+"Individual Qt tool and library dependencies must be specified in `USE_QT`. "
+"Every component can be suffixed with `_build` or `_run`, the suffix "
+"indicating whether the dependency on the component is at buildtime or "
+"runtime. If unsuffixed, the component will be depended on at both build- "
+"and runtime. Usually, library components are specified unsuffixed, tool "
+"components are mostly specified with the `_build` suffix and plugin "
+"components are specified with the `_run` suffix. The most commonly used "
+"components are listed below (all available components are listed in "
+"`_USE_QT_ALL`, which is generated from `_USE_QT_COMMON` and "
+"`_USE_QT[56]_ONLY` in [.filename]#/usr/ports/Mk/Uses/qt.mk#):"
+msgstr ""
+"Отдельные зависимости инструментов и библиотек Qt должны быть указаны в "
+"`USE_QT`. Каждый компонент может иметь суффикс `_build` или `_run`, "
+"указывающий, требуется ли компонент во время сборки или выполнения. Если "
+"суффикс отсутствует, компонент будет требоваться как во время сборки, так и "
+"во время выполнения. Обычно компоненты библиотек указываются без суффикса, "
+"компоненты инструментов чаще всего указываются с суффиксом `_build`, а "
+"компоненты плагинов — с суффиксом `_run`. Наиболее часто используемые "
+"компоненты перечислены ниже (все доступные компоненты перечислены в "
+"`_USE_QT_ALL`, которая формируется из `_USE_QT_COMMON` и `_USE_QT[56]_ONLY` "
+"в [.filename]#/usr/ports/Mk/Uses/qt.mk#):"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2147
+#, no-wrap
+msgid "Available Qt Library Components"
+msgstr "Доступные компоненты библиотеки Qt"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2151
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2395
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2412
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2545
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3125
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3847
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3867
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3892
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3996
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4166
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4218
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4310
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4401
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4463
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4724
+#, no-wrap
+msgid "Name"
+msgstr "Имя"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2154
+#, no-wrap
+msgid "`3d`"
+msgstr "`3d`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2156
+#, no-wrap
+msgid "Qt3D module"
+msgstr "Модуль Qt3D"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2157
+#, no-wrap
+msgid "`5compat`"
+msgstr "`5compat`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2159
+#, no-wrap
+msgid "Qt 5 compatibility module for Qt 6"
+msgstr "Модуль совместимости Qt 5 для Qt 6"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2160
+#, no-wrap
+msgid "`assistant`"
+msgstr "`assistant`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2162
+#, no-wrap
+msgid "Qt 5 documentation browser"
+msgstr "Браузер документации Qt 5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2163
+#, no-wrap
+msgid "`base`"
+msgstr "`base`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2165
+#, no-wrap
+msgid "Qt 6 base module"
+msgstr "Модуль Qt 6 base"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2166
+#, no-wrap
+msgid "`canvas3d`"
+msgstr "`canvas3d`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2168
+#, no-wrap
+msgid "Qt canvas3d module"
+msgstr "Модуль Qt canvas3d"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2169
+#, no-wrap
+msgid "`charts`"
+msgstr "`charts`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2171
+#, no-wrap
+msgid "Qt 5 charts module"
+msgstr "Модуль Qt 5 charts"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2172
+#, no-wrap
+msgid "`concurrent`"
+msgstr "`concurrent`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2174
+#, no-wrap
+msgid "Qt multi-threading module"
+msgstr "Модуль многопоточности Qt"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2175
+#, no-wrap
+msgid "`connectivity`"
+msgstr "`connectivity`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2177
+#, no-wrap
+msgid "Qt connectivity (Bluetooth/NFC) module"
+msgstr "Модуль Qt для подключения (Bluetooth/NFC)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2178
+#, no-wrap
+msgid "`core`"
+msgstr "`core`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2180
+#, no-wrap
+msgid "Qt core non-graphical module"
+msgstr "Ядро Qt, неграфический модуль"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2181
+#, no-wrap
+msgid "`datavis3d`"
+msgstr "`datavis3d`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2183
+#, no-wrap
+msgid "Qt 5 3D data visualization module"
+msgstr "Модуль визуализации 3D данных Qt 5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2184
+#, no-wrap
+msgid "`dbus`"
+msgstr "`dbus`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2186
+#, no-wrap
+msgid "Qt D-Bus inter-process communication module"
+msgstr "Модуль межпроцессного взаимодействия Qt D-Bus"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2187
+#, no-wrap
+msgid "`declarative`"
+msgstr "`declarative`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2189
+#, no-wrap
+msgid "Qt declarative framework for dynamic user interfaces"
+msgstr "Декларативный фреймворк Qt для динамических пользовательских интерфейсов"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2190
+#, no-wrap
+msgid "`designer`"
+msgstr "`designer`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2192
+#, no-wrap
+msgid "Qt 5 graphical user interface designer"
+msgstr "Интерфейсный конструктор Qt 5 для графического пользовательского интерфейса"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2193
+#, no-wrap
+msgid "`diag`"
+msgstr "`diag`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2195
+#, no-wrap
+msgid "Tool for reporting diagnostic information about Qt and its environment"
+msgstr "Инструмент для сбора диагностической информации о Qt и его окружении"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2196
+#, no-wrap
+msgid "`doc`"
+msgstr "`doc`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2198
+#, no-wrap
+msgid "Qt 5 documentation"
+msgstr "Документация Qt 5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2199
+#, no-wrap
+msgid "`examples`"
+msgstr "`examples`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2201
+#, no-wrap
+msgid "Qt 5 examples sourcecode"
+msgstr "Исходный код примеров Qt 5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2202
+#, no-wrap
+msgid "`gamepad`"
+msgstr "`gamepad`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2204
+#, no-wrap
+msgid "Qt 5 Gamepad Module"
+msgstr "Модуль Qt 5 Gamepad"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2205
+#, no-wrap
+msgid "`graphicaleffects`"
+msgstr "`graphicaleffects`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2207
+#, no-wrap
+msgid "Qt Quick graphical effects"
+msgstr "Графические эффекты Qt Quick"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2208
+#, no-wrap
+msgid "`gui`"
+msgstr "`gui`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2210
+#, no-wrap
+msgid "Qt graphical user interface module"
+msgstr "Модуль графического интерфейса Qt"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2211
+#, no-wrap
+msgid "`help`"
+msgstr "`help`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2213
+#, no-wrap
+msgid "Qt online help integration module"
+msgstr "Модуль интеграции справки Qt в режиме онлайн"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2214
+#, no-wrap
+msgid "`l10n`"
+msgstr "`l10n`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2216
+#, no-wrap
+msgid "Qt localized messages"
+msgstr "Локализованные сообщения Qt"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2217
+#, no-wrap
+msgid "`languageserver`"
+msgstr "`languageserver`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2219
+#, no-wrap
+msgid "Qt 6 Language Server Protocol implementation"
+msgstr "Реализация протокола Language Server Protocol в Qt 6"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2220
+#, no-wrap
+msgid "`linguist`"
+msgstr "`linguist`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2222
+#, no-wrap
+msgid "Qt 5 translation tool"
+msgstr "Инструмент перевода Qt 5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2223
+#, no-wrap
+msgid "`location`"
+msgstr "`location`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2225
+#, no-wrap
+msgid "Qt location module"
+msgstr "Модуль Qt Location"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2226
+#, no-wrap
+msgid "`lottie`"
+msgstr "`lottie`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2228
+#, no-wrap
+msgid "Qt 6 QML API for rendering graphics and animations"
+msgstr "Qt 6 QML API для отрисовки графики и анимаций"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2229
+#, no-wrap
+msgid "`multimedia`"
+msgstr "`multimedia`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2231
+#, no-wrap
+msgid "Qt audio, video, radio and camera support module"
+msgstr "Модуль поддержки аудио, видео, радио и камеры Qt"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2232
+#, no-wrap
+msgid "`network`"
+msgstr "`network`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2234
+#, no-wrap
+msgid "Qt network module"
+msgstr "Сетевой модуль Qt"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2235
+#, no-wrap
+msgid "`networkauth`"
+msgstr "`networkauth`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2237
+#, no-wrap
+msgid "Qt network auth module"
+msgstr "Модуль сетевой аутентификации Qt"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2238
+#, no-wrap
+msgid "`opengl`"
+msgstr "`opengl`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2240
+#, no-wrap
+msgid "Qt 5-compatible OpenGL support module"
+msgstr "Модуль поддержки OpenGL, совместимый с Qt 5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2241
+#, no-wrap
+msgid "`paths`"
+msgstr "`paths`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2243
+#, no-wrap
+msgid "Command line client to QStandardPaths"
+msgstr "Клиент командной строки для QStandardPaths"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2244
+#, no-wrap
+msgid "`phonon4`"
+msgstr "`phonon4`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2246
+#, no-wrap
+msgid "KDE multimedia framework"
+msgstr "Мультимедийный фреймворк KDE"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2247
+#, no-wrap
+msgid "`pixeltool`"
+msgstr "`pixeltool`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2249
+#, no-wrap
+msgid "Qt 5 screen magnifier"
+msgstr "Увеличитель экрана Qt 5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2250
+#, no-wrap
+msgid "`plugininfo`"
+msgstr "`plugininfo`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2252
+#, no-wrap
+msgid "Qt 5 plugin metadata dumper"
+msgstr "Дампер метаданных плагинов Qt 5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2253
+#, no-wrap
+msgid "`positioning`"
+msgstr "`positioning`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2255
+#, no-wrap
+msgid "Qt 6 positioning API from sources such as satellite, wifi or text files."
+msgstr "Qt 6 API позиционирования из источников, таких как спутники, Wi-Fi или текстовые файлы."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2256
+#, no-wrap
+msgid "`printsupport`"
+msgstr "`printsupport`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2258
+#, no-wrap
+msgid "Qt print support module"
+msgstr "Модуль поддержки печати Qt"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2259
+#, no-wrap
+msgid "`qdbus`"
+msgstr "`qdbus`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2261
+#, no-wrap
+msgid "Qt command-line interface to D-Bus"
+msgstr "Интерфейс командной строки Qt для D-Bus"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2262
+#, no-wrap
+msgid "`qdbusviewer`"
+msgstr "`qdbusviewer`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2264
+#, no-wrap
+msgid "Qt 5 graphical interface to D-Bus"
+msgstr "Графический интерфейс Qt 5 для D-Bus"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2265
+#, no-wrap
+msgid "`qdoc`"
+msgstr "`qdoc`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2267
+#, no-wrap
+msgid "Qt documentation generator"
+msgstr "Генератор документации Qt"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2268
+#, no-wrap
+msgid "`qdoc-data`"
+msgstr "`qdoc-data`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2270
+#, no-wrap
+msgid "QDoc configuration files"
+msgstr "Файлы конфигурации QDoc"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2271
+#, no-wrap
+msgid "`qev`"
+msgstr "`qev`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2273
+#, no-wrap
+msgid "Qt QWidget events introspection tool"
+msgstr "Инструмент для интроспекции событий Qt QWidget"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2274
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2404
+#, no-wrap
+msgid "`qmake`"
+msgstr "`qmake`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2276
+#, no-wrap
+msgid "Qt Makefile generator"
+msgstr "Генератор Makefile Qt"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2277
+#, no-wrap
+msgid "`quickcontrols`"
+msgstr "`quickcontrols`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2279
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2282
+#, no-wrap
+msgid "Set of controls for building complete interfaces in Qt Quick"
+msgstr "Набор элементов управления для создания полных интерфейсов в Qt Quick"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2280
+#, no-wrap
+msgid "`quickcontrols2`"
+msgstr "`quickcontrols2`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2283
+#, no-wrap
+msgid "`remoteobjects`"
+msgstr "`remoteobjects`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2285
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2294
+#, no-wrap
+msgid "Qt 5 SXCML module"
+msgstr "Модуль Qt 5 SXCML"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2286
+#, no-wrap
+msgid "`script`"
+msgstr "`script`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2288
+#, no-wrap
+msgid "Qt 4-compatible scripting module"
+msgstr "Совместимый с Qt 4 модуль для написания сценариев"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2289
+#, no-wrap
+msgid "`scripttools`"
+msgstr "`scripttools`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2291
+#, no-wrap
+msgid "Qt Script additional components"
+msgstr "Дополнительные компоненты Qt Script"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2292
+#, no-wrap
+msgid "`scxml`"
+msgstr "`scxml`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2295
+#, no-wrap
+msgid "`sensors`"
+msgstr "`sensors`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2297
+#, no-wrap
+msgid "Qt sensors module"
+msgstr "Модуль Qt sensors"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2298
+#, no-wrap
+msgid "`serialbus`"
+msgstr "`serialbus`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2300
+#, no-wrap
+msgid "Qt functions to access industrial bus systems"
+msgstr "Функции Qt для доступа к промышленным шинным системам"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2301
+#, no-wrap
+msgid "`serialport`"
+msgstr "`serialport`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2303
+#, no-wrap
+msgid "Qt functions to access serial ports"
+msgstr "Функции Qt для доступа к последовательным портам"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2304
+#, no-wrap
+msgid "`shadertools`"
+msgstr "`shadertools`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2306
+#, no-wrap
+msgid "Qt 6 tools for the cross-platform Qt shader pipeline"
+msgstr "Инструменты Qt 6 для кроссплатформенного конвейера шейдеров Qt"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2307
+#, no-wrap
+msgid "`speech`"
+msgstr "`speech`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2309
+#, no-wrap
+msgid "Accessibility features for Qt5"
+msgstr "Доступность в Qt5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2310
+#, no-wrap
+msgid "`sql`"
+msgstr "`sql`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2312
+#, no-wrap
+msgid "Qt SQL database integration module"
+msgstr "Модуль интеграции с базой данных Qt SQL"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2313
+#, no-wrap
+msgid "`sql-ibase`"
+msgstr "`sql-ibase`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2315
+#, no-wrap
+msgid "Qt InterBase/Firebird database plugin"
+msgstr "Плагин Qt баз данных InterBase/Firebird"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2316
+#, no-wrap
+msgid "`sql-mysql`"
+msgstr "`sql-mysql`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2318
+#, no-wrap
+msgid "Qt MySQL database plugin"
+msgstr "Плагин Qt базы данных MySQL"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2319
+#, no-wrap
+msgid "`sql-odbc`"
+msgstr "`sql-odbc`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2321
+#, no-wrap
+msgid "Qt Open Database Connectivity plugin"
+msgstr "Плагин Qt ODBC"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2322
+#, no-wrap
+msgid "`sql-pgsql`"
+msgstr "`sql-pgsql`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2324
+#, no-wrap
+msgid "Qt PostgreSQL database plugin"
+msgstr "Плагин Qt базы данных PostgreSQL"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2325
+#, no-wrap
+msgid "`sql-sqlite2`"
+msgstr "`sql-sqlite2`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2327
+#, no-wrap
+msgid "Qt SQLite 2 database plugin"
+msgstr "Плагин Qt базы данных SQLite 2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2328
+#, no-wrap
+msgid "`sql-sqlite3`"
+msgstr "`sql-sqlite3`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2330
+#, no-wrap
+msgid "Qt SQLite 3 database plugin"
+msgstr "Плагин Qt базы данных SQLite 3"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2331
+#, no-wrap
+msgid "`sql-tds`"
+msgstr "`sql-tds`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2333
+#, no-wrap
+msgid "Qt TDS Database Connectivity database plugin"
+msgstr "Плагин Qt для подключение к базам данных по протоколу TDS"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2334
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3926
+#, no-wrap
+msgid "`svg`"
+msgstr "`svg`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2336
+#, no-wrap
+msgid "Qt SVG support module"
+msgstr "Модуль поддержки SVG в Qt"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2337
+#, no-wrap
+msgid "`testlib`"
+msgstr "`testlib`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2339
+#, no-wrap
+msgid "Qt unit testing module"
+msgstr "Модуль тестирования Qt"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2340
+#, no-wrap
+msgid "`tools`"
+msgstr "`tools`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2342
+#, no-wrap
+msgid "Qt 6 assorted tools"
+msgstr "Различные инструменты Qt 6"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2343
+#, no-wrap
+msgid "`translations`"
+msgstr "`translations`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2345
+#, no-wrap
+msgid "Qt 6 translation module"
+msgstr "Модуль перевода Qt 6"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2346
+#, no-wrap
+msgid "`uiplugin`"
+msgstr "`uiplugin`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2348
+#, no-wrap
+msgid "Custom Qt widget plugin interface for Qt Designer"
+msgstr "Интерфейс плагина пользовательского виджета Qt для Qt Designer"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2349
+#, no-wrap
+msgid "`uitools`"
+msgstr "`uitools`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2351
+#, no-wrap
+msgid "Qt Designer UI forms support module"
+msgstr "Модуль поддержки форм пользовательского интерфейса Qt Designer"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2352
+#, no-wrap
+msgid "`virtualkeyboard`"
+msgstr "`virtualkeyboard`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2354
+#, no-wrap
+msgid "Qt 5 Virtual Keyboard Module"
+msgstr "Модуль виртуальной клавиатуры Qt 5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2355
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3079
+#, no-wrap
+msgid "`wayland`"
+msgstr "`wayland`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2357
+#, no-wrap
+msgid "Qt 5 wrapper for Wayland"
+msgstr "Оболочка Qt 5 для Wayland"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2358
+#, no-wrap
+msgid "`webchannel`"
+msgstr "`webchannel`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2360
+#, no-wrap
+msgid "Qt 5 library for integration of C++/QML with HTML/js clients"
+msgstr "Библиотека Qt 5 для интеграции C++/QML с клиентами на HTML/js"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2361
+#, no-wrap
+msgid "`webengine`"
+msgstr "`webengine`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2363
+#, no-wrap
+msgid "Qt 5 library to render web content"
+msgstr "Библиотека Qt 5 для отображения веб-содержимого"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2364
+#, no-wrap
+msgid "`webkit`"
+msgstr "`webkit`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2366
+#, no-wrap
+msgid "QtWebKit with a more modern WebKit code base"
+msgstr "QtWebKit с более современной кодовой базой WebKit"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2367
+#, no-wrap
+msgid "`websockets`"
+msgstr "`websockets`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2369
+#, no-wrap
+msgid "Qt implementation of WebSocket protocol"
+msgstr "Реализация протокола WebSocket на Qt"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2370
+#, no-wrap
+msgid "`websockets-qml`"
+msgstr "`websockets-qml`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2372
+#, no-wrap
+msgid "Qt implementation of WebSocket protocol (QML bindings)"
+msgstr "Реализация протокола WebSocket на Qt (привязки QML)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2373
+#, no-wrap
+msgid "`webview`"
+msgstr "`webview`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2375
+#, no-wrap
+msgid "Qt component for displaying web content"
+msgstr "Компонент Qt для отображения веб-содержимого"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2376
+#, no-wrap
+msgid "`widgets`"
+msgstr "`widgets`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2378
+#, no-wrap
+msgid "Qt C++ widgets module"
+msgstr "Модуль виджетов Qt C++"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2379
+#, no-wrap
+msgid "`x11extras`"
+msgstr "`x11extras`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2381
+#, no-wrap
+msgid "Qt platform-specific features for X11-based systems"
+msgstr "Платформо-специфичные возможности Qt для систем на основе X11"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2382
+#, no-wrap
+msgid "`xml`"
+msgstr "`xml`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2384
+#, no-wrap
+msgid "Qt SAX and DOM implementations"
+msgstr "Реализации SAX и DOM в Qt"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2385
+#, no-wrap
+msgid "`xmlpatterns`"
+msgstr "`xmlpatterns`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2386
+#, no-wrap
+msgid "Qt support for XPath, XQuery, XSLT and XML Schema"
+msgstr "Поддержка Qt для XPath, XQuery, XSLT и XML Schema"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2389
+msgid ""
+"To determine the libraries an application depends on, run `ldd` on the main "
+"executable after a successful compilation."
+msgstr ""
+"Чтобы определить библиотеки, от которых зависит приложение, выполните `ldd` "
+"для основного исполняемого файла после успешной компиляции."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2391
+#, no-wrap
+msgid "Available Qt Tool Components"
+msgstr "Доступные компоненты инструментов Qt"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2398
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3128
+#, no-wrap
+msgid "`buildtools`"
+msgstr "`buildtools`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2400
+#, no-wrap
+msgid "build tools (`moc`, `rcc`), needed for almost every Qt application."
+msgstr "инструменты сборки (`moc`, `rcc`), необходимые практически для любого приложения Qt."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2401
+#, no-wrap
+msgid "`linguisttools`"
+msgstr "`linguisttools`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2403
+#, no-wrap
+msgid "localization tools: `lrelease`, `lupdate`"
+msgstr "инструменты локализации: `lrelease`, `lupdate`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2405
+#, no-wrap
+msgid "Makefile generator/build utility"
+msgstr "Генератор Makefile/утилита сборки"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2408
+#, no-wrap
+msgid "Available Qt Plugin Components"
+msgstr "Доступные компоненты плагинов Qt"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2415
+#, no-wrap
+msgid "`imageformats`"
+msgstr "`imageformats`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2416
+#, no-wrap
+msgid "plugins for TGA, TIFF, and MNG image formats"
+msgstr "плагины для графических форматов TGA, TIFF и MNG"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2419
+#, no-wrap
+msgid "Selecting Qt 5 Components"
+msgstr "Выбор компонентов Qt 5"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2425
+msgid ""
+"In this example, the ported application uses the Qt 5 graphical user "
+"interface library, the Qt 5 core library, all of the Qt 5 code generation "
+"tools and Qt 5's Makefile generator. Since the `gui` library implies a "
+"dependency on the core library, `core` does not need to be specified. The "
+"Qt 5 code generation tools `moc`, `uic` and `rcc`, as well as the Makefile "
+"generator `qmake` are only needed at buildtime, thus they are specified with "
+"the `_build` suffix:"
+msgstr ""
+"В этом примере портированное приложение использует библиотеку графического "
+"интерфейса Qt 5, основную библиотеку Qt 5, все инструменты генерации кода Qt "
+"5 и генератор Makefile Qt 5. Поскольку библиотека `gui` подразумевает "
+"зависимость от основной библиотеки, `core` не нужно указывать. Инструменты "
+"генерации кода Qt 5 `moc`, `uic` и `rcc`, а также генератор Makefile `qmake` "
+"требуются только во время сборки, поэтому они указаны с суффиксом `_build`:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2430
+#, no-wrap
+msgid ""
+"USES=\tqt:5\n"
+"USE_QT=\tgui buildtools_build qmake_build\n"
+msgstr ""
+"USES=\tqt:5\n"
+"USE_QT=\tgui buildtools_build qmake_build\n"
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2435
+#, no-wrap
+msgid "Using `qmake`"
+msgstr "Использование `qmake`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2443
+msgid ""
+"If the application provides a qmake project file ([.filename]#*.pro#), "
+"define `USES= qmake` along with `USE_QT`. `USES= qmake` already implies a "
+"build dependency on qmake, therefore the qmake component can be omitted from "
+"`USE_QT`. Similar to crossref:special[using-cmake,CMake], qmake supports "
+"out-of-source builds, which can be enabled by specifying the `outsource` "
+"argument (see crossref:special[using-qmake-example,`USES= qmake` example]). "
+"Also see crossref:special[using-qmake-arguments,Possible Arguments for `USES "
+"qmake`]."
+msgstr ""
+"Если приложение предоставляет файл проекта qmake ([.filename]#*.pro#), "
+"определите `USES= qmake` вместе с `USE_QT`. `USES= qmake` уже подразумевает "
+"зависимость сборки от qmake, поэтому компонент qmake может быть опущен в "
+"`USE_QT`. Подобно crossref:special[using-cmake,CMake], qmake поддерживает "
+"сборку вне исходного дерева, которую можно включить, указав аргумент "
+"`outsource` (см. crossref:special[using-qmake-example,пример `USES= "
+"qmake`]). Также см. crossref:special[using-qmake-arguments,Возможные "
+"аргументы для `USES qmake`]."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2445
+#, no-wrap
+msgid "Possible Arguments for `USES= qmake`"
+msgstr "Возможные аргументы для `USES= qmake`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2452
+#, no-wrap
+msgid "`no_configure`"
+msgstr "`no_configure`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2454
+#, no-wrap
+msgid "Do not add the configure target. This is implied by `HAS_CONFIGURE=yes` and `GNU_CONFIGURE=yes`. It is required when the build only needs the environment setup from `USES= qmake`, but otherwise runs `qmake` on its own."
+msgstr "Не добавлять цель configure. Это подразумевается при `HAS_CONFIGURE=yes` и `GNU_CONFIGURE=yes`. Это требуется, когда сборке нужна только настройка окружения из `USES= qmake`, но в остальном она запускает `qmake` самостоятельно."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2455
+#, no-wrap
+msgid "`no_env`"
+msgstr "`no_env`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2457
+#, no-wrap
+msgid "Suppress modification of the configure and make environments. It is only required when `qmake` is used to configure the software and the build fails to understand the environment setup by `USES= qmake`."
+msgstr "Подавить модификацию окружения configure и make. Это требуется только когда `qmake` используется для настройки программного обеспечения и сборка не понимает окружение, установленное `USES= qmake`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2458
+#, no-wrap
+msgid "`norecursive`"
+msgstr "`norecursive`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2460
+#, no-wrap
+msgid "Do not pass the `-recursive` argument to `qmake`."
+msgstr "Не передавать аргумент `-recursive` в `qmake`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2461
+#, no-wrap
+msgid "`outsource`"
+msgstr "`outsource`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2462
+#, no-wrap
+msgid "Perform an out-of-source build."
+msgstr "Выполнить сборку вне исходного кода."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2465
+#, no-wrap
+msgid "Variables for Ports That Use `qmake`"
+msgstr "Переменные для портов, использующих `qmake`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2472
+#, no-wrap
+msgid "`QMAKE_ARGS`"
+msgstr "`QMAKE_ARGS`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2474
+#, no-wrap
+msgid "Port specific qmake flags to be passed to the `qmake` binary."
+msgstr "Специфичные для порта флаги qmake, передаваемые в бинарный файл `qmake`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2475
+#, no-wrap
+msgid "`QMAKE_ENV`"
+msgstr "`QMAKE_ENV`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2477
+#, no-wrap
+msgid "Environment variables to be set for the `qmake` binary. The default is `${CONFIGURE_ENV}`."
+msgstr "Переменные окружения, которые должны быть установлены для бинарного файла `qmake`. По умолчанию используется `${CONFIGURE_ENV}`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2478
+#, no-wrap
+msgid "`QMAKE_SOURCE_PATH`"
+msgstr "`QMAKE_SOURCE_PATH`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2479
+#, no-wrap
+msgid "Path to qmake project files ([.filename]#.pro#). The default is `${WRKSRC}` if an out-of-source build is requested, empty otherwise."
+msgstr "Путь к файлам проекта qmake ([.filename]#.pro#). По умолчанию используется `${WRKSRC}`, если запрошена сборка вне исходного кода, в противном случае оставляется пустым."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2482
+msgid "When using `USES= qmake`, these settings are deployed:"
+msgstr "При использовании `USES= qmake` применяются следующие настройки:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2489
+#, no-wrap
+msgid ""
+"CONFIGURE_ARGS+=\t--with-qt-includes=${QT_INCDIR} \\\n"
+"\t\t\t--with-qt-libraries=${QT_LIBDIR} \\\n"
+"\t\t\t--with-extra-libs=${LOCALBASE}/lib \\\n"
+"\t\t\t--with-extra-includes=${LOCALBASE}/include\n"
+msgstr ""
+"CONFIGURE_ARGS+=\t--with-qt-includes=${QT_INCDIR} \\\n"
+"\t\t\t--with-qt-libraries=${QT_LIBDIR} \\\n"
+"\t\t\t--with-extra-libs=${LOCALBASE}/lib \\\n"
+"\t\t\t--with-extra-includes=${LOCALBASE}/include\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2493
+#, no-wrap
+msgid ""
+"CONFIGURE_ENV+=\tQTDIR=\"${QT_PREFIX}\" QMAKE=\"${QMAKE}\" \\\n"
+"\t\tMOC=\"${MOC}\" RCC=\"${RCC}\" UIC=\"${UIC}\" \\\n"
+"\t\tQMAKESPEC=\"${QMAKESPEC}\"\n"
+msgstr ""
+"CONFIGURE_ENV+=\tQTDIR=\"${QT_PREFIX}\" QMAKE=\"${QMAKE}\" \\\n"
+"\t\tMOC=\"${MOC}\" RCC=\"${RCC}\" UIC=\"${UIC}\" \\\n"
+"\t\tQMAKESPEC=\"${QMAKESPEC}\"\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2497
+#, no-wrap
+msgid ""
+"PLIST_SUB+=\tQT_INCDIR=${QT_INCDIR_REL} \\\n"
+"\t\tQT_LIBDIR=${QT_LIBDIR_REL} \\\n"
+"\t\tQT_PLUGINDIR=${QT_PLUGINDIR_REL}\n"
+msgstr ""
+"PLIST_SUB+=\tQT_INCDIR=${QT_INCDIR_REL} \\\n"
+"\t\tQT_LIBDIR=${QT_LIBDIR_REL} \\\n"
+"\t\tQT_PLUGINDIR=${QT_PLUGINDIR_REL}\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2501
+msgid ""
+"Some configure scripts do not support the arguments above. To suppress "
+"modification of `CONFIGURE_ENV` and `CONFIGURE_ARGS`, set `USES= "
+"qmake:no_env`."
+msgstr ""
+"Некоторые скрипты configure не поддерживают указанные выше аргументы. Чтобы "
+"отключить изменение `CONFIGURE_ENV` и `CONFIGURE_ARGS`, установите `USES= "
+"qmake:no_env`."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2503
+#, no-wrap
+msgid "`USES= qmake` Example"
+msgstr "Пример `USES= qmake`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2507
+msgid "This snippet demonstrates the use of qmake for a Qt 5 port:"
+msgstr "Этот фрагмент демонстрирует использование qmake для порта Qt 5:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2512
+#, no-wrap
+msgid ""
+"USES=\tqmake:outsource qt:5\n"
+"USE_QT=\tbuildtools_build\n"
+msgstr ""
+"USES=\tqmake:outsource qt:5\n"
+"USE_QT=\tbuildtools_build\n"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2517
+msgid ""
+"Qt applications are often written to be cross-platform and often X11/Unix is "
+"not the platform they are developed on, which in turn leads to certain loose "
+"ends, like:"
+msgstr ""
+"Приложения Qt часто разрабатываются как кроссплатформенные, и зачастую X11/"
+"Unix — не та платформа, на которой они создаются. Это, в свою очередь, "
+"приводит к определённым недоработкам, таким как:"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2519
+msgid ""
+"_Missing additional include paths._ Many applications come with system tray "
+"icon support, but neglect to look for includes and/or libraries in the X11 "
+"directories. To add directories to `qmake`'s include and library search "
+"paths via the command line, use:"
+msgstr ""
+"_Отсутствуют дополнительные пути для заголовочных файлов._ Многие приложения "
+"поддерживают значки в системном трее, но не учитывают пути для заголовочных "
+"файлов и/или библиотек в каталогах X11. Чтобы добавить каталоги в пути "
+"поиска заголовочных файлов и библиотек для `qmake` через командную строку, "
+"используйте:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2524
+#, no-wrap
+msgid ""
+"QMAKE_ARGS+=\tINCLUDEPATH+=${LOCALBASE}/include \\\n"
+"\t\tLIBS+=-L${LOCALBASE}/lib\n"
+msgstr ""
+"QMAKE_ARGS+=\tINCLUDEPATH+=${LOCALBASE}/include \\\n"
+"\t\tLIBS+=-L${LOCALBASE}/lib\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2527
+msgid ""
+"_Bogus installation paths._ Sometimes data such as icons or .desktop files "
+"are by default installed into directories which are not scanned by XDG-"
+"compatible applications. package:editors/texmaker[] is an example for this - "
+"look at [.filename]#patch-texmaker.pro# in the [.filename]#files# directory "
+"of that port for a template on how to remedy this directly in the `qmake` "
+"project file."
+msgstr ""
+"_Некорректные пути установки._ Иногда данные, такие как иконки или "
+"файлы .desktop, по умолчанию устанавливаются в каталоги, которые не "
+"сканируются приложениями, совместимыми с XDG. Например, package:editors/"
+"texmaker[] — посмотрите на файл [.filename]#patch-texmaker.pro# в директории "
+"[.filename]#files# этого порта, чтобы увидеть шаблон исправления этой "
+"проблемы напрямую в проектом файле `qmake`."
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2529
+#, no-wrap
+msgid "Using KDE"
+msgstr "Использование KDE"
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2532
+#, no-wrap
+msgid "KDE Variable Definitions"
+msgstr "Определения переменных KDE"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2539
+msgid ""
+"If the application depends on KDE, set `USES+=kde:5` and `USE_KDE` to the "
+"list of required components. `_build` and `_run` suffixes can be used to "
+"force components dependency type (for example, `baseapps_run`). If no "
+"suffix is set, a default dependency type will be used. To force both types, "
+"add the component twice with both suffixes (for example, `ecm_build "
+"ecm_run`). Available components are listed below (up-to-date components are "
+"also listed in [.filename]#/usr/ports/Mk/Uses/kde.mk#):"
+msgstr ""
+"Если приложение зависит от KDE, установите `USES+=kde:5` и `USE_KDE` в "
+"список необходимых компонентов. Суффиксы `_build` и `_run` можно "
+"использовать для принудительного указания типа зависимости компонентов "
+"(например, `baseapps_run`). Если суффикс не задан, будет использован тип "
+"зависимости по умолчанию. Чтобы принудительно задать оба типа, добавьте "
+"компонент дважды с обоими суффиксами (например, `ecm_build ecm_run`). "
+"Доступные компоненты перечислены ниже (актуальный список компонентов также "
+"приведён в [.filename]#/usr/ports/Mk/Uses/kde.mk#):"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2541
+#, no-wrap
+msgid "Available KDE Components"
+msgstr "Доступные компоненты KDE"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2548
+#, no-wrap
+msgid "`activities`"
+msgstr "`activities`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2550
+#, no-wrap
+msgid "KF5 runtime and library to organize work in separate activities"
+msgstr "Среда выполнения и библиотека KF5 для организации работы в отдельных автивностях"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2551
+#, no-wrap
+msgid "`activities-stats`"
+msgstr "`activities-stats`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2553
+#, no-wrap
+msgid "KF5 statistics for activities"
+msgstr "KF5 статистика для активностей"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2554
+#, no-wrap
+msgid "`activitymanagerd`"
+msgstr "`activitymanagerd`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2556
+#, no-wrap
+msgid "System service to manage user's activities, track the usage patterns"
+msgstr "Системный сервис для управления активностью пользователей, отслеживания шаблонов использования"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2557
+#, no-wrap
+msgid "`akonadi`"
+msgstr "`akonadi`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2559
+#, no-wrap
+msgid "Storage server for KDE-Pim"
+msgstr "Хранилище данных для KDE-Pim"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2560
+#, no-wrap
+msgid "`akonadicalendar`"
+msgstr "`akonadicalendar`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2562
+#, no-wrap
+msgid "Akonadi Calendar Integration"
+msgstr "Интеграция Akonadi с Календарем"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2563
+#, no-wrap
+msgid "`akonadiconsole`"
+msgstr "`akonadiconsole`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2565
+#, no-wrap
+msgid "Akonadi management and debugging console"
+msgstr "Консоль управления и отладки Akonadi"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2566
+#, no-wrap
+msgid "`akonadicontacts`"
+msgstr "`akonadicontacts`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2568
+#, no-wrap
+msgid "Libraries and daemons to implement Contact Management in Akonadi"
+msgstr "Библиотеки и демоны для реализации управления контактами в Akonadi"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2569
+#, no-wrap
+msgid "`akonadiimportwizard`"
+msgstr "`akonadiimportwizard`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2571
+#, no-wrap
+msgid "Import data from other mail clients to KMail"
+msgstr "Импорт данных из других почтовых клиентов в KMail"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2572
+#, no-wrap
+msgid "`akonadimime`"
+msgstr "`akonadimime`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2574
+#, no-wrap
+msgid "Libraries and daemons to implement basic email handling"
+msgstr "Библиотеки и демоны для реализации базовой обработки электронной почты"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2575
+#, no-wrap
+msgid "`akonadinotes`"
+msgstr "`akonadinotes`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2577
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2940
+#, no-wrap
+msgid "KDE library for accessing mail storages in MBox format"
+msgstr "Библиотека KDE для доступа к хранилищам почты в формате MBox"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2578
+#, no-wrap
+msgid "`akonadisearch`"
+msgstr "`akonadisearch`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2580
+#, no-wrap
+msgid "Libraries and daemons to implement searching in Akonadi"
+msgstr "Библиотеки и демоны для реализации поиска в Akonadi"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2581
+#, no-wrap
+msgid "`akregator`"
+msgstr "`akregator`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2583
+#, no-wrap
+msgid "A Feed Reader by KDE"
+msgstr "Читатель лент от KDE"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2584
+#, no-wrap
+msgid "`alarmcalendar`"
+msgstr "`alarmcalendar`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2586
+#, no-wrap
+msgid "KDE API for KAlarm alarms"
+msgstr "KDE API для будильников KAlarm"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2587
+#, no-wrap
+msgid "`apidox`"
+msgstr "`apidox`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2589
+#, no-wrap
+msgid "KF5 API Documentation Tools"
+msgstr "Документация API KF5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2590
+#, no-wrap
+msgid "`archive`"
+msgstr "`archive`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2592
+#, no-wrap
+msgid "KF5 library that provides classes for handling archive formats"
+msgstr "Библиотека KF5, предоставляющая классы для работы с форматами архивов"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2593
+#, no-wrap
+msgid "`attica`"
+msgstr "`attica`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2595
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2598
+#, no-wrap
+msgid "Open Collaboration Services API library KDE5 version"
+msgstr "Библиотека API Open Collaboration Services, версия для KDE5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2596
+#, no-wrap
+msgid "`attica5`"
+msgstr "`attica5`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2599
+#, no-wrap
+msgid "`auth`"
+msgstr "`auth`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2601
+#, no-wrap
+msgid "KF5 abstraction to system policy and authentication features"
+msgstr "Абстракция KF5 для системной политики и функций аутентификации"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2602
+#, no-wrap
+msgid "`baloo`"
+msgstr "`baloo`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2604
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2610
+#, no-wrap
+msgid "KF5 Framework for searching and managing user metadata"
+msgstr "KF5 Фреймворк для поиска и управления пользовательскими метаданными"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2605
+#, no-wrap
+msgid "`baloo-widgets`"
+msgstr "`baloo-widgets`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2607
+#, no-wrap
+msgid "BalooWidgets library"
+msgstr "Библиотека BalooWidgets"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2608
+#, no-wrap
+msgid "`baloo5`"
+msgstr "`baloo5`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2611
+#, no-wrap
+msgid "`blog`"
+msgstr "`blog`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2613
+#, no-wrap
+msgid "KDE API for weblogging access"
+msgstr "KDE API для доступа к веб-логам"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2614
+#, no-wrap
+msgid "`bookmarks`"
+msgstr "`bookmarks`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2616
+#, no-wrap
+msgid "KF5 library for bookmarks and the XBEL format"
+msgstr "Библиотека KF5 для закладок и формата XBEL"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2617
+#, no-wrap
+msgid "`breeze`"
+msgstr "`breeze`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2619
+#, no-wrap
+msgid "Plasma5 artwork, styles and assets for the Breeze visual style"
+msgstr "Plasma5 artwork, стили и ресурсы для визуального стиля Breeze"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2620
+#, no-wrap
+msgid "`breeze-gtk`"
+msgstr "`breeze-gtk`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2622
+#, no-wrap
+msgid "Plasma5 Breeze visual style for Gtk"
+msgstr "Plasma5 Breeze визуальный стиль для Gtk"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2623
+#, no-wrap
+msgid "`breeze-icons`"
+msgstr "`breeze-icons`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2625
+#, no-wrap
+msgid "Breeze icon theme for KDE"
+msgstr "Тема значков Breeze для KDE"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2626
+#, no-wrap
+msgid "`calendarcore`"
+msgstr "`calendarcore`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2628
+#, no-wrap
+msgid "KDE calendar access library"
+msgstr "Библиотека доступа к календарю KDE"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2629
+#, no-wrap
+msgid "`calendarsupport`"
+msgstr "`calendarsupport`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2631
+#, no-wrap
+msgid "Calendar support libraries for KDEPim"
+msgstr "Библиотеки поддержки календарей для KDEPim"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2632
+#, no-wrap
+msgid "`calendarutils`"
+msgstr "`calendarutils`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2634
+#, no-wrap
+msgid "KDE utility and user interface functions for accessing calendar"
+msgstr "Утилита KDE и пользовательские функции интерфейса для доступа к календарю"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2635
+#, no-wrap
+msgid "`codecs`"
+msgstr "`codecs`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2637
+#, no-wrap
+msgid "KF5 library for string manipulation"
+msgstr "Библиотека KF5 для работы со строками"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2638
+#, no-wrap
+msgid "`completion`"
+msgstr "`completion`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2640
+#, no-wrap
+msgid "KF5 text completion helpers and widgets"
+msgstr "KF5 вспомогательные средства и виджеты автодополнения текста"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2641
+#, no-wrap
+msgid "`config`"
+msgstr "`config`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2643
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2646
+#, no-wrap
+msgid "KF5 widgets for configuration dialogs"
+msgstr "Виджеты KF5 для диалогов настройки"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2644
+#, no-wrap
+msgid "`configwidgets`"
+msgstr "`configwidgets`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2647
+#, no-wrap
+msgid "`contacts`"
+msgstr "`contacts`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2649
+#, no-wrap
+msgid "KDE api to manage contact information"
+msgstr "KDE API для управления контактной информацией"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2650
+#, no-wrap
+msgid "`coreaddons`"
+msgstr "`coreaddons`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2652
+#, no-wrap
+msgid "KF5 addons to QtCore"
+msgstr "KF5 аддоны для QtCore"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2653
+#, no-wrap
+msgid "`crash`"
+msgstr "`crash`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2655
+#, no-wrap
+msgid "KF5 library to handle crash analysis and bug report from apps"
+msgstr "Библиотека KF5 для обработки анализа сбоев и отчётов об ошибках в приложениях"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2656
+#, no-wrap
+msgid "`dbusaddons`"
+msgstr "`dbusaddons`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2658
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3066
+#, no-wrap
+msgid "KF5 addons to QtDBus"
+msgstr "KF5 дополнения к QtDBus"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2659
+#, no-wrap
+msgid "`decoration`"
+msgstr "`decoration`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2661
+#, no-wrap
+msgid "Plasma5 library to create window decorations"
+msgstr "Библиотека Plasma5 для создания оформления окон"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2662
+#, no-wrap
+msgid "`designerplugin`"
+msgstr "`designerplugin`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2664
+#, no-wrap
+msgid "KF5 integration of Frameworks widgets in Qt Designer/Creator"
+msgstr "Интеграция KF5 виджетов Frameworks в Qt Designer/Creator"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2665
+#, no-wrap
+msgid "`discover`"
+msgstr "`discover`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2667
+#, no-wrap
+msgid "Plasma5 package management tools"
+msgstr "Инструменты управления пакетами Plasma5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2668
+#, no-wrap
+msgid "`dnssd`"
+msgstr "`dnssd`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2670
+#, no-wrap
+msgid "KF5 abstraction to system DNSSD features"
+msgstr "Абстракция KF5 для системных функций DNSSD"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2671
+#, no-wrap
+msgid "`doctools`"
+msgstr "`doctools`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2673
+#, no-wrap
+msgid "KF5 documentation generation from docbook"
+msgstr "Генерация документации KF5 из docbook"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2674
+#, no-wrap
+msgid "`drkonqi`"
+msgstr "`drkonqi`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2676
+#, no-wrap
+msgid "Plasma5 crash handler"
+msgstr "Обработчик сбоев Plasma5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2677
+#, no-wrap
+msgid "`ecm`"
+msgstr "`ecm`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2679
+#, no-wrap
+msgid "Extra modules and scripts for CMake"
+msgstr "Дополнительные модули и скрипты для CMake"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2680
+#, no-wrap
+msgid "`emoticons`"
+msgstr "`emoticons`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2682
+#, no-wrap
+msgid "KF5 library to convert emoticons"
+msgstr "Библиотека KF5 для преобразования эмотиконов"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2683
+#, no-wrap
+msgid "`eventviews`"
+msgstr "`eventviews`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2685
+#, no-wrap
+msgid "Event view libriares for KDEPim"
+msgstr "Библиотеки просмотра событий для KDEPim"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2686
+#, no-wrap
+msgid "`filemetadata`"
+msgstr "`filemetadata`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2688
+#, no-wrap
+msgid "KF5 library for extracting file metadata"
+msgstr "Библиотека KF5 для извлечения метаданных файлов"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2689
+#, no-wrap
+msgid "`frameworkintegration`"
+msgstr "`frameworkintegration`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2691
+#, no-wrap
+msgid "KF5 workspace and cross-framework integration plugins"
+msgstr "Плагины рабочего пространства KF5 и интеграции фреймворков"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2692
+#, no-wrap
+msgid "`gapi`"
+msgstr "`gapi`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2694
+#, no-wrap
+msgid "KDE based library to access google services"
+msgstr "Библиотека на основе KDE для доступа к сервисам Google"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2695
+#, no-wrap
+msgid "`globalaccel`"
+msgstr "`globalaccel`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2697
+#, no-wrap
+msgid "KF5 library to add support for global workspace shortcuts"
+msgstr "Библиотека KF5 для добавления поддержки глобальных сочетаний клавиш рабочего пространства"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2698
+#, no-wrap
+msgid "`grantlee-editor`"
+msgstr "`grantlee-editor`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2700
+#, no-wrap
+msgid "Editor for Grantlee themes"
+msgstr "Редактор тем Grantlee"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2701
+#, no-wrap
+msgid "`grantleetheme`"
+msgstr "`grantleetheme`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2703
+#, no-wrap
+msgid "KDE PIM grantleetheme"
+msgstr "KDE PIM grantleetheme"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2704
+#, no-wrap
+msgid "`gravatar`"
+msgstr "`gravatar`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2706
+#, no-wrap
+msgid "Library for gravatar support"
+msgstr "Библиотека для поддержки gravatar"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2707
+#, no-wrap
+msgid "`guiaddons`"
+msgstr "`guiaddons`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2709
+#, no-wrap
+msgid "KF5 addons to QtGui"
+msgstr "KF5 аддоны для QtGui"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2710
+#, no-wrap
+msgid "`holidays`"
+msgstr "`holidays`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2712
+#, no-wrap
+msgid "KDE library for calendar holidays"
+msgstr "Библиотека KDE для календарных праздников"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2713
+#, no-wrap
+msgid "`hotkeys`"
+msgstr "`hotkeys`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2715
+#, no-wrap
+msgid "Plasma5 library for hotkeys"
+msgstr "Библиотека Plasma5 для горячих клавиш"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2716
+#, no-wrap
+msgid "`i18n`"
+msgstr "`i18n`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2718
+#, no-wrap
+msgid "KF5 advanced internationalization framework"
+msgstr "KF5 — расширенная инфраструктура интернационализации"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2719
+#, no-wrap
+msgid "`iconthemes`"
+msgstr "`iconthemes`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2721
+#, no-wrap
+msgid "KF5 library for handling icons in applications"
+msgstr "Библиотека KF5 для работы с иконками в приложениях"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2722
+#, no-wrap
+msgid "`identitymanagement`"
+msgstr "`identitymanagement`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2724
+#, no-wrap
+msgid "KDE pim identities"
+msgstr "KDE pim идентификации"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2725
+#, no-wrap
+msgid "`idletime`"
+msgstr "`idletime`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2727
+#, no-wrap
+msgid "KF5 library for monitoring user activity"
+msgstr "Библиотека KF5 для мониторинга активности пользователей"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2728
+#, no-wrap
+msgid "`imap`"
+msgstr "`imap`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2730
+#, no-wrap
+msgid "KDE API for IMAP support"
+msgstr "KDE API для поддержки IMAP"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2731
+#, no-wrap
+msgid "`incidenceeditor`"
+msgstr "`incidenceeditor`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2733
+#, no-wrap
+msgid "Incidence editor libriares for KDEPim"
+msgstr "Инцидентные редакторские библиотеки для KDEPim"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2734
+#, no-wrap
+msgid "`infocenter`"
+msgstr "`infocenter`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2736
+#, no-wrap
+msgid "Plasma5 utility providing system information"
+msgstr "Утилита Plasma5, предоставляющая системную информацию"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2737
+#, no-wrap
+msgid "`init`"
+msgstr "`init`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2739
+#, no-wrap
+msgid "KF5 process launcher to speed up launching KDE applications"
+msgstr "Запускатель процессов KF5 для ускорения запуска приложений KDE"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2740
+#, no-wrap
+msgid "`itemmodels`"
+msgstr "`itemmodels`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2742
+#, no-wrap
+msgid "KF5 models for Qt Model/View system"
+msgstr "Модели KF5 для системы Qt Model/View"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2743
+#, no-wrap
+msgid "`itemviews`"
+msgstr "`itemviews`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2745
+#, no-wrap
+msgid "KF5 widget addons for Qt Model/View"
+msgstr "KF5 виджеты-дополнения для Qt Model/View"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2746
+#, no-wrap
+msgid "`jobwidgets`"
+msgstr "`jobwidgets`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2748
+#, no-wrap
+msgid "KF5 widgets for tracking KJob instance"
+msgstr "Виджеты KF5 для отслеживания экземпляра KJob"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2749
+#, no-wrap
+msgid "`js`"
+msgstr "`js`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2751
+#, no-wrap
+msgid "KF5 library providing an ECMAScript interpreter"
+msgstr "Библиотека KF5, предоставляющая интерпретатор ECMAScript"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2752
+#, no-wrap
+msgid "`jsembed`"
+msgstr "`jsembed`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2754
+#, no-wrap
+msgid "KF5 library for binding JavaScript objects to QObjects"
+msgstr "Библиотека KF5 для привязки объектов JavaScript к QObjects"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2755
+#, no-wrap
+msgid "`kaddressbook`"
+msgstr "`kaddressbook`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2757
+#, no-wrap
+msgid "KDE contact manager"
+msgstr "Менеджер контактов KDE"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2758
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2761
+#, no-wrap
+msgid "`kalarm`"
+msgstr "`kalarm`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2760
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2763
+#, no-wrap
+msgid "Personal alarm scheduler"
+msgstr "Планировщик персональных сигналов тревоги"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2764
+#, no-wrap
+msgid "`kate`"
+msgstr "`kate`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2766
+#, no-wrap
+msgid "Basic editor framework for the KDE system"
+msgstr "Базовая структура редактора для системы KDE"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2767
+#, no-wrap
+msgid "`kcmutils`"
+msgstr "`kcmutils`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2769
+#, no-wrap
+msgid "KF5 utilities for working with KCModules"
+msgstr "KF5 утилиты для работы с KCModules"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2770
+#, no-wrap
+msgid "`kde-cli-tools`"
+msgstr "`kde-cli-tools`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2772
+#, no-wrap
+msgid "Plasma5 non-interactive system tools"
+msgstr "Неинтерактивные системные инструменты Plasma5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2773
+#, no-wrap
+msgid "`kde-gtk-config`"
+msgstr "`kde-gtk-config`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2775
+#, no-wrap
+msgid "Plasma5 GTK2 and GTK3 configurator"
+msgstr "Plasma5 конфигуратор GTK2 и GTK3"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2776
+#, no-wrap
+msgid "`kdeclarative`"
+msgstr "`kdeclarative`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2778
+#, no-wrap
+msgid "KF5 library providing integration of QML and KDE Frameworks"
+msgstr "Библиотека KF5, обеспечивающая интеграцию QML и KDE Frameworks"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2779
+#, no-wrap
+msgid "`kded`"
+msgstr "`kded`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2781
+#, no-wrap
+msgid "KF5 extensible daemon for providing system level services"
+msgstr "KF5 расширяемый демон для предоставления системных сервисов"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2782
+#, no-wrap
+msgid "`kdelibs4support`"
+msgstr "`kdelibs4support`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2784
+#, no-wrap
+msgid "KF5 porting aid from KDELibs4"
+msgstr "Помощник в портировании KF5 из KDELibs4"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2785
+#, no-wrap
+msgid "`kdepim-addons`"
+msgstr "`kdepim-addons`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2787
+#, no-wrap
+msgid "KDE PIM addons"
+msgstr "Дополнения KDE PIM"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2788
+#, no-wrap
+msgid "`kdepim-apps-libs`"
+msgstr "`kdepim-apps-libs`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2790
+#, no-wrap
+msgid "KDE PIM mail related libraries"
+msgstr "Библиотеки KDE PIM, связанные с почтой"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2791
+#, no-wrap
+msgid "`kdepim-runtime5`"
+msgstr "`kdepim-runtime5`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2793
+#, no-wrap
+msgid "KDE PIM tools and services"
+msgstr "Инструменты и службы KDE PIM"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2794
+#, no-wrap
+msgid "`kdeplasma-addons`"
+msgstr "`kdeplasma-addons`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2796
+#, no-wrap
+msgid "Plasma5 addons to improve the Plasma experience"
+msgstr "Дополнения Plasma5 для улучшения работы с Plasma"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2797
+#, no-wrap
+msgid "`kdesu`"
+msgstr "`kdesu`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2799
+#, no-wrap
+msgid "KF5 integration with su for elevated privileges"
+msgstr "Интеграция KF5 с su для повышенных привилегий"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2800
+#, no-wrap
+msgid "`kdewebkit`"
+msgstr "`kdewebkit`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2802
+#, no-wrap
+msgid "KF5 library providing integration of QtWebKit"
+msgstr "Библиотека KF5, обеспечивающая интеграцию QtWebKit"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2803
+#, no-wrap
+msgid "`kgamma5`"
+msgstr "`kgamma5`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2805
+#, no-wrap
+msgid "Plasma5 monitor's gamma settings"
+msgstr "Настройки гаммы монитора Plasma5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2806
+#, no-wrap
+msgid "`khtml`"
+msgstr "`khtml`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2808
+#, no-wrap
+msgid "KF5 KTHML rendering engine"
+msgstr "Механизм рендеринга KF5 KTHML"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2809
+#, no-wrap
+msgid "`kimageformats`"
+msgstr "`kimageformats`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2811
+#, no-wrap
+msgid "KF5 library providing support for additional image formats"
+msgstr "Библиотека KF5, обеспечивающая поддержку дополнительных форматов изображений"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2812
+#, no-wrap
+msgid "`kio`"
+msgstr "`kio`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2814
+#, no-wrap
+msgid "KF5 resource and network access abstraction"
+msgstr "Абстракция ресурсов и сетевого доступа KF5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2815
+#, no-wrap
+msgid "`kirigami2`"
+msgstr "`kirigami2`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2817
+#, no-wrap
+msgid "QtQuick based components set"
+msgstr "Набор компонентов на основе QtQuick"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2818
+#, no-wrap
+msgid "`kitinerary`"
+msgstr "`kitinerary`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2820
+#, no-wrap
+msgid "Data Model and Extraction System for Travel Reservation information"
+msgstr "Модель данных и система извлечения информации о бронировании путешествий"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2821
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2824
+#, no-wrap
+msgid "`kmail`"
+msgstr "`kmail`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2823
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2826
+#, no-wrap
+msgid "KDE mail client"
+msgstr "Клиент электронной почты KDE"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2827
+#, no-wrap
+msgid "`kmail-account-wizard`"
+msgstr "`kmail-account-wizard`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2829
+#, no-wrap
+msgid "KDE mail account wizard"
+msgstr "Мастер настройки почтового аккаунта KDE"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2830
+#, no-wrap
+msgid "`kmenuedit`"
+msgstr "`kmenuedit`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2832
+#, no-wrap
+msgid "Plasma5 menu editor"
+msgstr "Редактор меню Plasma5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2833
+#, no-wrap
+msgid "`knotes`"
+msgstr "`knotes`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2835
+#, no-wrap
+msgid "Popup notes"
+msgstr "Всплывающие примечания"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2836
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2839
+#, no-wrap
+msgid "`kontact`"
+msgstr "`kontact`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2838
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2841
+#, no-wrap
+msgid "KDE Personal Information Manager"
+msgstr "KDE Персональный Органайзер"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2842
+#, no-wrap
+msgid "`kontactinterface`"
+msgstr "`kontactinterface`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2844
+#, no-wrap
+msgid "KDE glue for embedding KParts into Kontact"
+msgstr "KDE glue для встраивания KParts в Kontact"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2845
+#, no-wrap
+msgid "`korganizer`"
+msgstr "`korganizer`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2847
+#, no-wrap
+msgid "Calendar and scheduling Program"
+msgstr "Программа для календаря и планирования"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2848
+#, no-wrap
+msgid "`kpimdav`"
+msgstr "`kpimdav`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2850
+#, no-wrap
+msgid "A DAV protocol implementation with KJobs"
+msgstr "Реализация протокола DAV с KJobs"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2851
+#, no-wrap
+msgid "`kpkpass`"
+msgstr "`kpkpass`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2853
+#, no-wrap
+msgid "Library to deal with Apple Wallet pass files"
+msgstr "Библиотека для работы с файлами паролей Apple Wallet"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2854
+#, no-wrap
+msgid "`kross`"
+msgstr "`kross`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2856
+#, no-wrap
+msgid "KF5 multi-language application scripting"
+msgstr "KF5 мультиязыковые прикладные скрипты"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2857
+#, no-wrap
+msgid "`kscreen`"
+msgstr "`kscreen`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2859
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2919
+#, no-wrap
+msgid "Plasma5 screen management library"
+msgstr "Библиотека управления экраном Plasma5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2860
+#, no-wrap
+msgid "`kscreenlocker`"
+msgstr "`kscreenlocker`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2862
+#, no-wrap
+msgid "Plasma5 secure lock screen architecture"
+msgstr "Архитектура безопасной блокировки экрана Plasma5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2863
+#, no-wrap
+msgid "`ksmtp`"
+msgstr "`ksmtp`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2865
+#, no-wrap
+msgid "Job-based library to send email through an SMTP server"
+msgstr "Библиотека на основе задач для отправки электронной почты через SMTP-сервер"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2866
+#, no-wrap
+msgid "`ksshaskpass`"
+msgstr "`ksshaskpass`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2868
+#, no-wrap
+msgid "Plasma5 ssh-add frontend"
+msgstr "Plasma5 интерфейс для ssh-add"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2869
+#, no-wrap
+msgid "`ksysguard`"
+msgstr "`ksysguard`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2871
+#, no-wrap
+msgid "Plasma5 utility to track and control the running processes"
+msgstr "Утилита Plasma5 для отслеживания и управления запущенными процессами"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2872
+#, no-wrap
+msgid "`kwallet-pam`"
+msgstr "`kwallet-pam`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2874
+#, no-wrap
+msgid "Plasma5 KWallet PAM Integration"
+msgstr "Интеграция Plasma5 KWallet с PAM"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2875
+#, no-wrap
+msgid "`kwayland-integration`"
+msgstr "`kwayland-integration`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2877
+#, no-wrap
+msgid "Integration plugins for a Wayland-based desktop"
+msgstr "Интеграционные плагины для рабочего стола на основе Wayland"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2878
+#, no-wrap
+msgid "`kwin`"
+msgstr "`kwin`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2880
+#, no-wrap
+msgid "Plasma5 window manager"
+msgstr "Менеджер окон Plasma5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2881
+#, no-wrap
+msgid "`kwrited`"
+msgstr "`kwrited`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2883
+#, no-wrap
+msgid "Plasma5 daemon listening for wall and write messages"
+msgstr "Демон Plasma5, ожидающий сообщения wall и write"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2884
+#, no-wrap
+msgid "`ldap`"
+msgstr "`ldap`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2886
+#, no-wrap
+msgid "LDAP access API for KDE"
+msgstr "API доступа к LDAP для KDE"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2887
+#, no-wrap
+msgid "`libkcddb`"
+msgstr "`libkcddb`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2889
+#, no-wrap
+msgid "KDE CDDB library"
+msgstr "Библиотека KDE CDDB"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2890
+#, no-wrap
+msgid "`libkcompactdisc`"
+msgstr "`libkcompactdisc`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2892
+#, no-wrap
+msgid "KDE library for interfacing with audio CDs"
+msgstr "Библиотека KDE для взаимодействия с аудио-CD"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2893
+#, no-wrap
+msgid "`libkdcraw`"
+msgstr "`libkdcraw`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2895
+#, no-wrap
+msgid "LibRaw interface for KDE"
+msgstr "Интерфейс LibRaw для KDE"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2896
+#, no-wrap
+msgid "`libkdegames`"
+msgstr "`libkdegames`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2898
+#, no-wrap
+msgid "Libraries used by KDE games"
+msgstr "Библиотеки, используемые играми KDE"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2899
+#, no-wrap
+msgid "`libkdepim`"
+msgstr "`libkdepim`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2901
+#, no-wrap
+msgid "KDE PIM Libraries"
+msgstr "Библиотеки KDE PIM"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2902
+#, no-wrap
+msgid "`libkeduvocdocument`"
+msgstr "`libkeduvocdocument`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2904
+#, no-wrap
+msgid "Library for reading and writing vocabulary files"
+msgstr "Библиотека для чтения и записи файлов словарей"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2905
+#, no-wrap
+msgid "`libkexiv2`"
+msgstr "`libkexiv2`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2907
+#, no-wrap
+msgid "Exiv2 library interface for KDE"
+msgstr "Интерфейс библиотеки Exiv2 для KDE"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2908
+#, no-wrap
+msgid "`libkipi`"
+msgstr "`libkipi`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2910
+#, no-wrap
+msgid "KDE Image Plugin Interface"
+msgstr "Интерфейс плагинов изображений KDE"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2911
+#, no-wrap
+msgid "`libkleo`"
+msgstr "`libkleo`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2913
+#, no-wrap
+msgid "Certificate manager for KDE"
+msgstr "Менеджер сертификатов для KDE"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2914
+#, no-wrap
+msgid "`libksane`"
+msgstr "`libksane`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2916
+#, no-wrap
+msgid "SANE library interface for KDE"
+msgstr "Интерфейс библиотеки SANE для KDE"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2917
+#, no-wrap
+msgid "`libkscreen`"
+msgstr "`libkscreen`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2920
+#, no-wrap
+msgid "`libksieve`"
+msgstr "`libksieve`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2922
+#, no-wrap
+msgid "Sieve libriares for KDEPim"
+msgstr "Библиотеки Sieve для KDEPim"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2923
+#, no-wrap
+msgid "`libksysguard`"
+msgstr "`libksysguard`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2925
+#, no-wrap
+msgid "Plasma5 library to track and control running processes"
+msgstr "Библиотека Plasma5 для отслеживания и управления запущенными процессами"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2926
+#, no-wrap
+msgid "`mailcommon`"
+msgstr "`mailcommon`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2928
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2988
+#, no-wrap
+msgid "Common libriares for KDEPim"
+msgstr "Общие библиотеки для KDEPim"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2929
+#, no-wrap
+msgid "`mailimporter`"
+msgstr "`mailimporter`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2931
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2943
+#, no-wrap
+msgid "Import mbox files to KMail"
+msgstr "Импорт файлов mbox в KMail"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2932
+#, no-wrap
+msgid "`mailtransport`"
+msgstr "`mailtransport`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2934
+#, no-wrap
+msgid "KDE library to managing mail transport"
+msgstr "Библиотека KDE для управления транспортом почты"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2935
+#, no-wrap
+msgid "`marble`"
+msgstr "`marble`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2937
+#, no-wrap
+msgid "Virtual globe and world atlas for KDE"
+msgstr "Виртуальный глобус и мировой атлас для KDE"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2938
+#, no-wrap
+msgid "`mbox`"
+msgstr "`mbox`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2941
+#, no-wrap
+msgid "`mbox-importer`"
+msgstr "`mbox-importer`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2944
+#, no-wrap
+msgid "`mediaplayer`"
+msgstr "`mediaplayer`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2946
+#, no-wrap
+msgid "KF5 plugin interface for media player features"
+msgstr "Интерфейс плагина KF5 для функций медиаплеера"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2947
+#, no-wrap
+msgid "`messagelib`"
+msgstr "`messagelib`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2949
+#, no-wrap
+msgid "Library for handling messages"
+msgstr "Библиотека для обработки сообщений"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2950
+#, no-wrap
+msgid "`milou`"
+msgstr "`milou`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2952
+#, no-wrap
+msgid "Plasma5 Plasmoid for search"
+msgstr "Plasma5 Plasmoid для поиска"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2953
+#, no-wrap
+msgid "`mime`"
+msgstr "`mime`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2955
+#, no-wrap
+msgid "Library for handling MIME data"
+msgstr "Библиотека для обработки данных MIME"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2956
+#, no-wrap
+msgid "`newstuff`"
+msgstr "`newstuff`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2958
+#, no-wrap
+msgid "KF5 library for downloading application assets from the network"
+msgstr "Библиотека KF5 для загрузки ресурсов приложений из сети"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2959
+#, no-wrap
+msgid "`notifications`"
+msgstr "`notifications`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2961
+#, no-wrap
+msgid "KF5 abstraction for system notifications"
+msgstr "Абстракция KF5 для системных уведомлений"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2962
+#, no-wrap
+msgid "`notifyconfig`"
+msgstr "`notifyconfig`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2964
+#, no-wrap
+msgid "KF5 configuration system for KNotify"
+msgstr "Система конфигурации KF5 для KNotify"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2965
+#, no-wrap
+msgid "`okular`"
+msgstr "`okular`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2967
+#, no-wrap
+msgid "KDE universal document viewer"
+msgstr "Универсальная программа для просмотра документов KDE"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2968
+#, no-wrap
+msgid "`oxygen`"
+msgstr "`oxygen`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2970
+#, no-wrap
+msgid "Plasma5 Oxygen style"
+msgstr "Стиль Plasma5 Oxygen"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2971
+#, no-wrap
+msgid "`oxygen-icons5`"
+msgstr "`oxygen-icons5`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2973
+#, no-wrap
+msgid "The Oxygen icon theme for KDE"
+msgstr "Тема иконок Oxygen для KDE"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2974
+#, no-wrap
+msgid "`package`"
+msgstr "`package`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2976
+#, no-wrap
+msgid "KF5 library to load and install packages"
+msgstr "Библиотека KF5 для загрузки и установки пакетов"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2977
+#, no-wrap
+msgid "`parts`"
+msgstr "`parts`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2979
+#, no-wrap
+msgid "KF5 document centric plugin system"
+msgstr "KF5 система плагинов для работы с документами"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2980
+#, no-wrap
+msgid "`people`"
+msgstr "`people`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2982
+#, no-wrap
+msgid "KF5 library providing access to contacts"
+msgstr "Библиотека KF5, предоставляющая доступ к контактам"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2983
+#, no-wrap
+msgid "`pim-data-exporter`"
+msgstr "`pim-data-exporter`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2985
+#, no-wrap
+msgid "Import and export KDE PIM settings"
+msgstr "Импорт и экспорт настроек KDE PIM"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2986
+#, no-wrap
+msgid "`pimcommon`"
+msgstr "`pimcommon`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2989
+#, no-wrap
+msgid "`pimtextedit`"
+msgstr "`pimtextedit`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2991
+#, no-wrap
+msgid "KDE library for PIM-specific text editing utilities"
+msgstr "Библиотека KDE для утилит редактирования текста, специфичных для PIM"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2992
+#, no-wrap
+msgid "`plasma-browser-integration`"
+msgstr "`plasma-browser-integration`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2994
+#, no-wrap
+msgid "Plasma5 components to integrate browsers into the desktop"
+msgstr "Компоненты Plasma5 для интеграции браузеров в рабочий стол"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2995
+#, no-wrap
+msgid "`plasma-desktop`"
+msgstr "`plasma-desktop`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2997
+#, no-wrap
+msgid "Plasma5 plasma desktop"
+msgstr "Plasma5 рабочий стол Plasma"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2998
+#, no-wrap
+msgid "`plasma-framework`"
+msgstr "`plasma-framework`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3000
+#, no-wrap
+msgid "KF5 plugin based UI runtime used to write user interfaces"
+msgstr "KF5 - среда выполнения пользовательского интерфейса на основе плагинов, используемая для создания пользовательских интерфейсов"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3001
+#, no-wrap
+msgid "`plasma-integration`"
+msgstr "`plasma-integration`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3003
+#, no-wrap
+msgid "Qt Platform Theme integration plugins for the Plasma workspaces"
+msgstr "Плагины интеграции Qt Platform Theme для рабочего окружения Plasma"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3004
+#, no-wrap
+msgid "`plasma-pa`"
+msgstr "`plasma-pa`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3006
+#, no-wrap
+msgid "Plasma5 Plasma pulse audio mixer"
+msgstr "Plasma5 Микшер звука Plasma Pulse"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3007
+#, no-wrap
+msgid "`plasma-sdk`"
+msgstr "`plasma-sdk`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3009
+#, no-wrap
+msgid "Plasma5 applications useful for Plasma development"
+msgstr "Приложения Plasma5, полезные для разработки Plasma"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3010
+#, no-wrap
+msgid "`plasma-workspace`"
+msgstr "`plasma-workspace`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3012
+#, no-wrap
+msgid "Plasma5 Plasma workspace"
+msgstr "Plasma5 Рабочее пространство Plasma"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3013
+#, no-wrap
+msgid "`plasma-workspace-wallpapers`"
+msgstr "`plasma-workspace-wallpapers`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3015
+#, no-wrap
+msgid "Plasma5 wallpapers"
+msgstr "Обои Plasma5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3016
+#, no-wrap
+msgid "`plotting`"
+msgstr "`plotting`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3018
+#, no-wrap
+msgid "KF5 lightweight plotting framework"
+msgstr "KF5 облегченный фреймворк для построения графиков"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3019
+#, no-wrap
+msgid "`polkit-kde-agent-1`"
+msgstr "`polkit-kde-agent-1`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3021
+#, no-wrap
+msgid "Plasma5 daemon providing a polkit authentication UI"
+msgstr "Демон Plasma5, предоставляющий интерфейс аутентификации polkit"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3022
+#, no-wrap
+msgid "`powerdevil`"
+msgstr "`powerdevil`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3024
+#, no-wrap
+msgid "Plasma5 tool to manage the power consumption settings"
+msgstr "Инструмент Plasma5 для управления настройками энергопотребления"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3025
+#, no-wrap
+msgid "`prison`"
+msgstr "`prison`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3027
+#, no-wrap
+msgid "API to produce barcodes"
+msgstr "Интерфейс API для создания штрихкодов"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3028
+#, no-wrap
+msgid "`pty`"
+msgstr "`pty`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3030
+#, no-wrap
+msgid "KF5 pty abstraction"
+msgstr "Абстракция pty KF5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3031
+#, no-wrap
+msgid "`purpose`"
+msgstr "`purpose`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3033
+#, no-wrap
+msgid "Offers available actions for a specific purpose"
+msgstr "Предлагает доступные действия для конкретной цели"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3034
+#, no-wrap
+msgid "`qqc2-desktop-style`"
+msgstr "`qqc2-desktop-style`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3036
+#, no-wrap
+msgid "Qt QuickControl2 style for KDE"
+msgstr "Стиль Qt QuickControl2 для KDE"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3037
+#, no-wrap
+msgid "`runner`"
+msgstr "`runner`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3039
+#, no-wrap
+msgid "KF5 parallelized query system"
+msgstr "KF5 параллелизованная система запросов"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3040
+#, no-wrap
+msgid "`service`"
+msgstr "`service`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3042
+#, no-wrap
+msgid "KF5 advanced plugin and service introspection"
+msgstr "KF5 расширенные плагины и интроспекция сервисов"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3043
+#, no-wrap
+msgid "`solid`"
+msgstr "`solid`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3045
+#, no-wrap
+msgid "KF5 hardware integration and detection"
+msgstr "Интеграция и обнаружение оборудования KF5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3046
+#, no-wrap
+msgid "`sonnet`"
+msgstr "`sonnet`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3048
+#, no-wrap
+msgid "KF5 plugin-based spell checking library"
+msgstr "KF5 библиотека проверки орфографии на основе плагинов"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3049
+#, no-wrap
+msgid "`syndication`"
+msgstr "`syndication`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3051
+#, no-wrap
+msgid "KDE RSS feed handling library"
+msgstr "Библиотека KDE для обработки RSS-лент"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3052
+#, no-wrap
+msgid "`syntaxhighlighting`"
+msgstr "`syntaxhighlighting`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3054
+#, no-wrap
+msgid "KF5 syntax highlighting engine for structured text and code"
+msgstr "Движок подсветки синтаксиса KF5 для структурированного текста и кода"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3055
+#, no-wrap
+msgid "`systemsettings`"
+msgstr "`systemsettings`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3057
+#, no-wrap
+msgid "Plasma5 system settings"
+msgstr "Настройки системы Plasma5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3058
+#, no-wrap
+msgid "`texteditor`"
+msgstr "`texteditor`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3060
+#, no-wrap
+msgid "KF5 advanced embeddable text editor"
+msgstr "KF5 продвинутый встраиваемый текстовый редактор"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3061
+#, no-wrap
+msgid "`textwidgets`"
+msgstr "`textwidgets`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3063
+#, no-wrap
+msgid "KF5 advanced text editing widgets"
+msgstr "KF5 расширенные виджеты для редактирования текста"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3064
+#, no-wrap
+msgid "`threadweaver`"
+msgstr "`threadweaver`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3067
+#, no-wrap
+msgid "`tnef`"
+msgstr "`tnef`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3069
+#, no-wrap
+msgid "KDE API for the handling of TNEF data"
+msgstr "KDE API для обработки данных TNEF"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3070
+#, no-wrap
+msgid "`unitconversion`"
+msgstr "`unitconversion`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3072
+#, no-wrap
+msgid "KF5 library for unit conversion"
+msgstr "Библиотека KF5 для преобразования единиц измерения"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3073
+#, no-wrap
+msgid "`user-manager`"
+msgstr "`user-manager`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3075
+#, no-wrap
+msgid "Plasma5 user manager"
+msgstr "Пользовательский менеджер Plasma5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3076
+#, no-wrap
+msgid "`wallet`"
+msgstr "`wallet`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3078
+#, no-wrap
+msgid "KF5 secure and unified container for user passwords"
+msgstr "KF5 безопасный и унифицированный контейнер для паролей пользователей"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3081
+#, no-wrap
+msgid "KF5 Client and Server library wrapper for the Wayland libraries"
+msgstr "Обёртка клиентской и серверной библиотек KF5 для библиотек Wayland"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3082
+#, no-wrap
+msgid "`widgetsaddons`"
+msgstr "`widgetsaddons`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3084
+#, no-wrap
+msgid "KF5 addons to QtWidgets"
+msgstr "KF5 аддоны для QtWidgets"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3085
+#, no-wrap
+msgid "`windowsystem`"
+msgstr "`windowsystem`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3087
+#, no-wrap
+msgid "KF5 library for access to the windowing system"
+msgstr "Библиотека KF5 для доступа к оконной системе"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3088
+#, no-wrap
+msgid "`xmlgui`"
+msgstr "`xmlgui`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3090
+#, no-wrap
+msgid "KF5 user configurable main windows"
+msgstr "KF5 настраиваемые пользователем главные окна"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3091
+#, no-wrap
+msgid "`xmlrpcclient`"
+msgstr "`xmlrpcclient`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3092
+#, no-wrap
+msgid "KF5 interaction with XMLRPC services"
+msgstr "Взаимодействие KF5 с XMLRPC-сервисами"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3095
+#, no-wrap
+msgid "`USE_KDE` Example"
+msgstr "Пример `USE_KDE`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3105
+msgid ""
+"This is a simple example for a KDE port. `USES= cmake` instructs the port "
+"to utilize CMake, a configuration tool widely used by KDE projects (see "
+"crossref:special[using-cmake, Using `cmake`] for detailed usage). `USE_KDE` "
+"brings dependency on KDE libraries. Required KDE components and other "
+"dependencies can be determined through the configure log. `USE_KDE` does "
+"not imply `USE_QT`. If a port requires some Qt components, specify them in "
+"`USE_QT`."
+msgstr ""
+"Это простой пример порта для KDE. `USES= cmake` указывает порту "
+"использовать CMake, инструмент конфигурации, широко применяемый в проектах "
+"KDE (см. crossref:special[using-cmake, Использование `cmake`] для подробного "
+"описания). `USE_KDE` добавляет зависимость от библиотек KDE. Необходимые "
+"компоненты KDE и другие зависимости можно определить через лог "
+"конфигурации. `USE_KDE` не подразумевает `USE_QT`. Если порту требуются "
+"некоторые компоненты Qt, укажите их в `USE_QT`."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3111
+#, no-wrap
+msgid ""
+"USES=\t\tcmake kde:5 qt:5\n"
+"USE_KDE=\tecm\n"
+"USE_QT=\t\tcore buildtools_build qmake_build\n"
+msgstr ""
+"USES=\t\tcmake kde:5 qt:5\n"
+"USE_KDE=\tecm\n"
+"USE_QT=\t\tcore buildtools_build qmake_build\n"
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3116
+#, no-wrap
+msgid "Using LXQt"
+msgstr "Использование LXQt"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3119
+msgid ""
+"Applications depending on LXQt should set `USES+= lxqt` and set `USE_LXQT` "
+"to the list of required components from the table below"
+msgstr ""
+"Приложения, зависящие от LXQt, должны устанавливать `USES+= lxqt` и задавать "
+"`USE_LXQT` списком необходимых компонентов из таблицы ниже"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3121
+#, no-wrap
+msgid "Available LXQt Components"
+msgstr "Доступные компоненты LXQt"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3130
+#, no-wrap
+msgid "Helpers for additional CMake modules"
+msgstr "Помощники для дополнительных модулей CMake"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3131
+#, no-wrap
+msgid "`libfmqt`"
+msgstr "`libfmqt`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3133
+#, no-wrap
+msgid "Libfm Qt bindings"
+msgstr "Привязки Libfm к Qt"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3134
+#, no-wrap
+msgid "`lxqt`"
+msgstr "`lxqt`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3136
+#, no-wrap
+msgid "LXQt core library"
+msgstr "Ядро библиотеки LXQt"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3137
+#, no-wrap
+msgid "`qtxdg`"
+msgstr "`qtxdg`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3138
+#, no-wrap
+msgid "Qt implementation of freedesktop.org XDG specifications"
+msgstr "Реализация Qt спецификаций freedesktop.org XDG"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3141
+#, no-wrap
+msgid "`USE_LXQT` Example"
+msgstr "Пример `USE_LXQT`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3146
+msgid ""
+"This is a simple example, `USE_LXQT` adds a dependency on LXQt libraries. "
+"Required LXQt components and other dependencies can be determined from the "
+"configure log."
+msgstr ""
+"Это простой пример, `USE_LXQT` добавляет зависимость от библиотек LXQt. "
+"Необходимые компоненты LXQt и другие зависимости можно определить из лога "
+"конфигурации."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3152
+#, no-wrap
+msgid ""
+"USES=\tcmake lxqt qt:5 tar:xz\n"
+"USE_QT=\t\tcore dbus widgets buildtools_build qmake_build\n"
+"USE_LXQT=\tbuildtools libfmqt\n"
+msgstr ""
+"USES=\tcmake lxqt qt:5 tar:xz\n"
+"USE_QT=\t\tcore dbus widgets buildtools_build qmake_build\n"
+"USE_LXQT=\tbuildtools libfmqt\n"
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3157
+#, no-wrap
+msgid "Using Java"
+msgstr "Использование Java"
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3160
+#, no-wrap
+msgid "Variable Definitions"
+msgstr "Определения переменных"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3163
+msgid ""
+"If the port needs a Java(TM) Development Kit (JDK(TM)) to either build, run "
+"or even extract the distfile, then define `USE_JAVA`."
+msgstr ""
+"Если порту требуется Java(TM) Development Kit (JDK(TM)) для сборки, запуска "
+"или даже извлечения distfile, определите `USE_JAVA`."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3167
+msgid ""
+"There are several JDKs in the ports collection, from various vendors, and in "
+"several versions. If the port must use a particular version, specify it "
+"using the `JAVA_VERSION` variable. The most current version is package:java/"
+"openjdk18[], with package:java/openjdk17[], package:java/openjdk16[], "
+"package:java/openjdk15[], package:java/openjdk14[], package:java/"
+"openjdk13[], package:java/openjdk12[], package:java/openjdk11[], "
+"package:java/openjdk8[], and package:java/openjdk7[] also available."
+msgstr ""
+"В коллекции портов доступно несколько JDK от различных поставщиков и в "
+"нескольких версиях. Если порт должен использовать определённую версию, "
+"укажите её с помощью переменной `JAVA_VERSION`. Самая актуальная версия — "
+"package:java/openjdk18[], также доступны package:java/openjdk17[], "
+"package:java/openjdk16[], package:java/openjdk15[], package:java/"
+"openjdk14[], package:java/openjdk13[], package:java/openjdk12[], "
+"package:java/openjdk11[], package:java/openjdk8[] и package:java/openjdk7[]."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3169
+#, no-wrap
+msgid "Variables Which May be Set by Ports That Use Java"
+msgstr "Переменные, которые могут быть установлены портами, использующими Java"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3176
+#, no-wrap
+msgid "`USE_JAVA`"
+msgstr "`USE_JAVA`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3178
+#, no-wrap
+msgid "Define for the remaining variables to have any effect."
+msgstr "Определите для остальных переменных, чтобы они имели какой-либо эффект."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3179
+#, no-wrap
+msgid "`JAVA_VERSION`"
+msgstr "`JAVA_VERSION`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3182
+#, no-wrap
+msgid ""
+"List of space-separated suitable Java versions for the port.\n"
+"An optional `\\+` allows specifying a range of versions (allowed values: `8[+] 11[\\+] 17[+] 18[\\+] 19[+] 20[\\+] 21[+]`)."
+msgstr ""
+"Список подходящих версий Java для порта, разделённых пробелами.\n"
+"Необязательный символ `\\+` позволяет указать диапазон версий (допустимые значения: `8[+] 11[\\+] 17[+] 18[\\+] 19[+] 20[\\+] 21[+]`)."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3183
+#, no-wrap
+msgid "`JAVA_OS`"
+msgstr "`JAVA_OS`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3185
+#, no-wrap
+msgid "List of space-separated suitable JDK port operating systems for the port (allowed values: `native linux`)."
+msgstr "Список разделенных пробелами подходящих операционных систем портов JDK для порта (допустимые значения: `native linux`)."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3186
+#, no-wrap
+msgid "`JAVA_VENDOR`"
+msgstr "`JAVA_VENDOR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3188
+#, no-wrap
+msgid "List of space-separated suitable JDK port vendors for the port (allowed values: `openjdk oracle`)."
+msgstr "Список подходящих поставщиков портов JDK для порта через пробел (допустимые значения: `openjdk oracle`)."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3189
+#, no-wrap
+msgid "`JAVA_BUILD`"
+msgstr "`JAVA_BUILD`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3191
+#, no-wrap
+msgid "When set, add the selected JDK port to the build dependencies."
+msgstr "Когда установлено, добавляет выбранный порт JDK в зависимости сборки."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3192
+#, no-wrap
+msgid "`JAVA_RUN`"
+msgstr "`JAVA_RUN`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3194
+#, no-wrap
+msgid "When set, add the selected JDK port to the run dependencies."
+msgstr "Когда установлено, добавляет выбранный порт JDK в зависимости времени выполнения."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3195
+#, no-wrap
+msgid "`JAVA_EXTRACT`"
+msgstr "`JAVA_EXTRACT`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3196
+#, no-wrap
+msgid "When set, add the selected JDK port to the extract dependencies."
+msgstr "Когда установлено, добавляет выбранный порт JDK в зависимости для извлечения."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3199
+msgid ""
+"Below is the list of all settings a port will receive after setting "
+"`USE_JAVA`:"
+msgstr ""
+"Ниже приведен список всех настроек, которые порт получит после установки "
+"`USE_JAVA`:"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3201
+#, no-wrap
+msgid "Variables Provided to Ports That Use Java"
+msgstr "Переменные, предоставляемые портам, использующим Java"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3207
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3286
+#, no-wrap
+msgid "Value"
+msgstr "Значение"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3208
+#, no-wrap
+msgid "`JAVA_PORT`"
+msgstr "`JAVA_PORT`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3210
+#, no-wrap
+msgid "The name of the JDK port (for example, `java/openjdk6`)."
+msgstr "Имя порта JDK (например, `java/openjdk6`)."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3211
+#, no-wrap
+msgid "`JAVA_PORT_VERSION`"
+msgstr "`JAVA_PORT_VERSION`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3213
+#, no-wrap
+msgid "The full version of the JDK port (for example, `1.6.0`). Only the first two digits of this version number are needed, use `${JAVA_PORT_VERSION:C/^([0-9])\\.([0-9])(.*)$/\\1.\\2/}`."
+msgstr "Полная версия порта JDK (например, `1.6.0`). Требуются только первые две цифры номера версии, используйте `${JAVA_PORT_VERSION:C/^([0-9])\\.([0-9])(.*)$/\\1.\\2/}`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3214
+#, no-wrap
+msgid "`JAVA_PORT_OS`"
+msgstr "`JAVA_PORT_OS`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3216
+#, no-wrap
+msgid "The operating system used by the JDK port (for example, `'native'`)."
+msgstr "Операционная система, используемая портом JDK (например, `'native'`)."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3217
+#, no-wrap
+msgid "`JAVA_PORT_VENDOR`"
+msgstr "`JAVA_PORT_VENDOR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3219
+#, no-wrap
+msgid "The vendor of the JDK port (for example, `'openjdk'`)."
+msgstr "Поставщик порта JDK (например, `'openjdk'`)."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3220
+#, no-wrap
+msgid "`JAVA_PORT_OS_DESCRIPTION`"
+msgstr "`JAVA_PORT_OS_DESCRIPTION`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3222
+#, no-wrap
+msgid "Description of the operating system used by the JDK port (for example, `'Native'`)."
+msgstr "Описание операционной системы, используемой портом JDK (например, `'Native'`)."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3223
+#, no-wrap
+msgid "`JAVA_PORT_VENDOR_DESCRIPTION`"
+msgstr "`JAVA_PORT_VENDOR_DESCRIPTION`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3225
+#, no-wrap
+msgid "Description of the vendor of the JDK port (for example, `'OpenJDK BSD Porting Team'`)."
+msgstr "Описание поставщика порта JDK (например, `'OpenJDK BSD Porting Team'`)."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3226
+#, no-wrap
+msgid "`JAVA_HOME`"
+msgstr "`JAVA_HOME`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3228
+#, no-wrap
+msgid "Path to the installation directory of the JDK (for example, [.filename]#'/usr/local/openjdk6'#)."
+msgstr "Путь к каталогу установки JDK (например, [.filename]#'/usr/local/openjdk6'#)."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3229
+#, no-wrap
+msgid "`JAVAC`"
+msgstr "`JAVAC`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3231
+#, no-wrap
+msgid "Path to the Java compiler to use (for example, [.filename]#'/usr/local/openjdk6/bin/javac'#)."
+msgstr "Путь к используемому компилятору Java (например, [.filename]#'/usr/local/openjdk6/bin/javac'#)."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3232
+#, no-wrap
+msgid "`JAR`"
+msgstr "`JAR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3234
+#, no-wrap
+msgid "Path to the `jar` tool to use (for example, [.filename]#'/usr/local/openjdk6/bin/jar'# or [.filename]#'/usr/local/bin/fastjar'#)."
+msgstr "Путь к инструменту `jar`, который следует использовать (например, [.filename]#'/usr/local/openjdk6/bin/jar'# или [.filename]#'/usr/local/bin/fastjar'#)."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3235
+#, no-wrap
+msgid "`APPLETVIEWER`"
+msgstr "`APPLETVIEWER`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3237
+#, no-wrap
+msgid "Path to the `appletviewer` utility (for example, [.filename]#'/usr/local/openjdk6/bin/appletviewer'#)."
+msgstr "Путь к утилите `appletviewer` (например, [.filename]#'/usr/local/openjdk6/bin/appletviewer'#)."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3238
+#, no-wrap
+msgid "`JAVA`"
+msgstr "`JAVA`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3240
+#, no-wrap
+msgid "Path to the `java` executable. Use this for executing Java programs (for example, [.filename]#'/usr/local/openjdk6/bin/java'#)."
+msgstr "Путь к исполняемому файлу `java`. Используется для запуска программ на Java (например, [.filename]#'/usr/local/openjdk6/bin/java'#)."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3241
+#, no-wrap
+msgid "`JAVADOC`"
+msgstr "`JAVADOC`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3243
+#, no-wrap
+msgid "Path to the `javadoc` utility program."
+msgstr "Путь к программе `javadoc`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3244
+#, no-wrap
+msgid "`JAVAH`"
+msgstr "`JAVAH`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3246
+#, no-wrap
+msgid "Path to the `javah` program."
+msgstr "Путь к программе `javah`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3247
+#, no-wrap
+msgid "`JAVAP`"
+msgstr "`JAVAP`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3249
+#, no-wrap
+msgid "Path to the `javap` program."
+msgstr "Путь к программе `javap`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3250
+#, no-wrap
+msgid "`JAVA_KEYTOOL`"
+msgstr "`JAVA_KEYTOOL`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3252
+#, no-wrap
+msgid "Path to the `keytool` utility program."
+msgstr "Путь к утилите `keytool`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3253
+#, no-wrap
+msgid "`JAVA_N2A`"
+msgstr "`JAVA_N2A`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3255
+#, no-wrap
+msgid "Path to the `native2ascii` tool."
+msgstr "Путь к инструменту `native2ascii`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3256
+#, no-wrap
+msgid "`JAVA_POLICYTOOL`"
+msgstr "`JAVA_POLICYTOOL`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3258
+#, no-wrap
+msgid "Path to the `policytool` program."
+msgstr "Путь к программе `policytool`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3259
+#, no-wrap
+msgid "`JAVA_SERIALVER`"
+msgstr "`JAVA_SERIALVER`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3261
+#, no-wrap
+msgid "Path to the `serialver` utility program."
+msgstr "Путь к утилите `serialver`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3262
+#, no-wrap
+msgid "`RMIC`"
+msgstr "`RMIC`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3264
+#, no-wrap
+msgid "Path to the RMI stub/skeleton generator, `rmic`."
+msgstr "Путь к генератору RMI-заглушек/скелетов, `rmic`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3265
+#, no-wrap
+msgid "`RMIREGISTRY`"
+msgstr "`RMIREGISTRY`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3267
+#, no-wrap
+msgid "Path to the RMI registry program, `rmiregistry`."
+msgstr "Путь к программе реестра RMI, `rmiregistry`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3268
+#, no-wrap
+msgid "`RMID`"
+msgstr "`RMID`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3270
+#, no-wrap
+msgid "Path to the RMI daemon program `rmid`."
+msgstr "Путь к программе демона RMI `rmid`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3271
+#, no-wrap
+msgid "`JAVA_CLASSES`"
+msgstr "`JAVA_CLASSES`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3272
+#, no-wrap
+msgid "Path to the archive that contains the JDK class files, [.filename]#${JAVA_HOME}/jre/lib/rt.jar#."
+msgstr "Путь к архиву, содержащему файлы классов JDK, [.filename]#${JAVA_HOME}/jre/lib/rt.jar#."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3276
+msgid ""
+"Use the `java-debug` make target to get information for debugging the port. "
+"It will display the value of many of the previously listed variables."
+msgstr ""
+"Используйте цель `java-debug` в make для получения информации для отладки "
+"порта. Она отобразит значения многих из перечисленных ранее переменных."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3278
+msgid ""
+"Additionally, these constants are defined so all Java ports may be installed "
+"in a consistent way:"
+msgstr ""
+"Кроме того, определены следующие константы, чтобы все порты Java могли быть "
+"установлены единообразно:"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3280
+#, no-wrap
+msgid "Constants Defined for Ports That Use Java"
+msgstr "Константы, определенные для портов, использующих Java"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3284
+#, no-wrap
+msgid "Constant"
+msgstr "Константа"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3287
+#, no-wrap
+msgid "`JAVASHAREDIR`"
+msgstr "`JAVASHAREDIR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3289
+#, no-wrap
+msgid "The base directory for everything related to Java. Default: [.filename]#${PREFIX}/share/java#."
+msgstr "Базовый каталог для всего, связанного с Java. По умолчанию: [.filename]#${PREFIX}/share/java#."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3290
+#, no-wrap
+msgid "`JAVAJARDIR`"
+msgstr "`JAVAJARDIR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3292
+#, no-wrap
+msgid "The directory where JAR files is installed. Default: [.filename]#${JAVASHAREDIR}/classes#."
+msgstr "Каталог, в котором установлены JAR-файлы. По умолчанию: [.filename]#${JAVASHAREDIR}/classes#."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3293
+#, no-wrap
+msgid "`JAVALIBDIR`"
+msgstr "`JAVALIBDIR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3294
+#, no-wrap
+msgid "The directory where JAR files installed by other ports are located. Default: [.filename]#${LOCALBASE}/share/java/classes#."
+msgstr "Каталог, в котором расположены JAR-файлы, установленные другими портами. По умолчанию: [.filename]#${LOCALBASE}/share/java/classes#."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3297
+msgid ""
+"The related entries are defined in both `PLIST_SUB` (documented in "
+"crossref:plist[plist-sub,Changing pkg-plist Based on Make Variables]) and "
+"`SUB_LIST`."
+msgstr ""
+"Связанные записи определены как в `PLIST_SUB` (документировано в "
+"crossref:plist[plist-sub,Изменение pkg-plist на основе переменных Make]), "
+"так и в `SUB_LIST`."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3299
+#, no-wrap
+msgid "Building with Ant"
+msgstr "Сборка с Ant"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3305
+msgid ""
+"When the port is to be built using Apache Ant, it has to define `USE_ANT`. "
+"Ant is thus considered to be the sub-make command. When no `do-build` "
+"target is defined by the port, a default one will be set that runs Ant "
+"according to `MAKE_ENV`, `MAKE_ARGS` and `ALL_TARGET`. This is similar to "
+"the `USES= gmake` mechanism, which is documented in "
+"crossref:special[building, Building Mechanisms]."
+msgstr ""
+"Когда порт должен собираться с использованием Apache Ant, он должен "
+"определять `USE_ANT`. Таким образом, Ant считается командой sub-make. Если "
+"цель `do-build` не определена в порте, будет установлена цель по умолчанию, "
+"которая запускает Ant в соответствии с `MAKE_ENV`, `MAKE_ARGS` и "
+"`ALL_TARGET`. Это аналогично механизму `USES= gmake`, который документирован "
+"в crossref:special[building, Building Mechanisms]."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3307
+#, no-wrap
+msgid "Best Practices"
+msgstr "Лучшие практики"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3312
+msgid ""
+"When porting a Java library, the port has to install the JAR file(s) in "
+"[.filename]#${JAVAJARDIR}#, and everything else under [.filename]#$"
+"{JAVASHAREDIR}/${PORTNAME}# (except for the documentation, see below). To "
+"reduce the packing file size, reference the JAR file(s) directly in the "
+"[.filename]#Makefile#. Use this statement (where [.filename]#myport.jar# is "
+"the name of the JAR file installed as part of the port):"
+msgstr ""
+"При переносе библиотеки Java порт должен устанавливать JAR-файл(ы) в "
+"[.filename]#${JAVAJARDIR}#, а все остальное — в [.filename]#${JAVASHAREDIR}/$"
+"{PORTNAME}# (за исключением документации, см. ниже). Чтобы уменьшить размер "
+"упаковочного файла, ссылайтесь на JAR-файл(ы) напрямую в "
+"[.filename]#Makefile#. Используйте следующую инструкцию (где "
+"[.filename]#myport.jar# — имя JAR-файла, устанавливаемого как часть порта):"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3316
+#, no-wrap
+msgid "PLIST_FILES+=\t${JAVAJARDIR}/myport.jar\n"
+msgstr "PLIST_FILES+=\t${JAVAJARDIR}/myport.jar\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3321
+msgid ""
+"When porting a Java application, the port usually installs everything under "
+"a single directory (including its JAR dependencies). The use of "
+"[.filename]#${JAVASHAREDIR}/${PORTNAME}# is strongly encouraged in this "
+"regard. It is up the porter to decide whether the port installs the "
+"additional JAR dependencies under this directory or uses the already "
+"installed ones (from [.filename]#${JAVAJARDIR}#)."
+msgstr ""
+"При переносе Java-приложения порт обычно устанавливает все компоненты в "
+"единый каталог (включая зависимости в виде JAR-файлов). В этом отношении "
+"настоятельно рекомендуется использовать [.filename]#${JAVASHAREDIR}/$"
+"{PORTNAME}#. Портеру предстоит решить, устанавливать ли дополнительные JAR-"
+"зависимости в этот каталог или использовать уже установленные (из "
+"[.filename]#${JAVAJARDIR}#)."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3328
+msgid ""
+"When porting a Java(TM) application that requires an application server such "
+"as package:www/tomcat7[] to run the service, it is quite common for a vendor "
+"to distribute a [.filename]#.war#. A [.filename]#.war# is a Web application "
+"ARchive and is extracted when called by the application. Avoid adding a "
+"[.filename]#.war# to [.filename]#pkg-plist#. It is not considered best "
+"practice. An application server will expand war archive, but not clean it "
+"up properly if the port is removed. A more desirable way of working with "
+"this file is to extract the archive, then install the files, and lastly add "
+"these files to [.filename]#pkg-plist#."
+msgstr ""
+"При переносе Java(TM)-приложения, которое требует сервера приложений, такого "
+"как package:www/tomcat7[], для запуска службы, вендор часто распространяет "
+"файл [.filename]#.war#. [.filename]#.war# — это веб-архив приложения (Web "
+"application ARchive), который извлекается при вызове приложением. Избегайте "
+"добавления [.filename]#.war# в [.filename]#pkg-plist#. Это не считается "
+"лучшей практикой. Сервер приложений развернет архив war, но не очистит его "
+"должным образом при удалении порта. Более предпочтительный способ работы с "
+"этим файлом — извлечь архив, затем установить файлы и, наконец, добавить эти "
+"файлы в [.filename]#pkg-plist#."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3333
+#, no-wrap
+msgid ""
+"TOMCATDIR=\t${LOCALBASE}/apache-tomcat-7.0\n"
+"WEBAPPDIR=\tmyapplication\n"
+msgstr ""
+"TOMCATDIR=\t${LOCALBASE}/apache-tomcat-7.0\n"
+"WEBAPPDIR=\tmyapplication\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3337
+#, no-wrap
+msgid ""
+"post-extract:\n"
+"\t@${MKDIR} ${WRKDIR}/${PORTDIRNAME}\n"
+"\t@${TAR} xf ${WRKDIR}/myapplication.war -C ${WRKDIR}/${PORTDIRNAME}\n"
+msgstr ""
+"post-extract:\n"
+"\t@${MKDIR} ${WRKDIR}/${PORTDIRNAME}\n"
+"\t@${TAR} xf ${WRKDIR}/myapplication.war -C ${WRKDIR}/${PORTDIRNAME}\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3342
+#, no-wrap
+msgid ""
+"do-install:\n"
+"\tcd ${WRKDIR} && \\\n"
+"\t${INSTALL} -d -o ${WWWOWN} -g ${WWWGRP} ${TOMCATDIR}/webapps/${PORTDIRNAME}\n"
+"\tcd ${WRKDIR}/${PORTDIRNAME} && ${COPYTREE_SHARE} \\* ${WEBAPPDIR}/${PORTDIRNAME}\n"
+msgstr ""
+"do-install:\n"
+"\tcd ${WRKDIR} && \\\n"
+"\t${INSTALL} -d -o ${WWWOWN} -g ${WWWGRP} ${TOMCATDIR}/webapps/${PORTDIRNAME}\n"
+"\tcd ${WRKDIR}/${PORTDIRNAME} && ${COPYTREE_SHARE} \\* ${WEBAPPDIR}/${PORTDIRNAME}\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3349
+msgid ""
+"Regardless of the type of port (library or application), the additional "
+"documentation is installed in the crossref:makefiles[install-"
+"documentation,same location] as for any other port. The Javadoc tool is "
+"known to produce a different set of files depending on the version of the "
+"JDK that is used. For ports that do not enforce the use of a particular "
+"JDK, it is therefore a complex task to specify the packing list "
+"([.filename]#pkg-plist#). This is one reason why porters are strongly "
+"encouraged to use `PORTDOCS`. Moreover, even if the set of files that will "
+"be generated by `javadoc` can be predicted, the size of the resulting "
+"[.filename]#pkg-plist# advocates for the use of `PORTDOCS`."
+msgstr ""
+"Независимо от типа порта (библиотека или приложение), дополнительная "
+"документация устанавливается crossref:makefiles[install-documentation,в том "
+"же месте], что и для любого другого порта. Известно, что инструмент Javadoc "
+"создает разный набор файлов в зависимости от версии используемого JDK. Для "
+"портов, которые не требуют использования конкретной версии JDK, указание "
+"списка упаковки ([.filename]#pkg-plist#) становится сложной задачей. Это "
+"одна из причин, по которой разработчикам портов настоятельно рекомендуется "
+"использовать `PORTDOCS`. Более того, даже если набор файлов, генерируемых "
+"`javadoc`, можно предсказать, размер результирующего [.filename]#pkg-plist# "
+"говорит в пользу использования `PORTDOCS`."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3353
+msgid ""
+"The default value for `DATADIR` is [.filename]#${PREFIX}/share/${PORTNAME}"
+"#. It is a good idea to override `DATADIR` to [.filename]#${JAVASHAREDIR}/$"
+"{PORTNAME}# for Java ports. Indeed, `DATADIR` is automatically added to "
+"`PLIST_SUB` (documented in crossref:plist[plist-sub,Changing pkg-plist Based "
+"on Make Variables]) so use `%%DATADIR%%` directly in [.filename]#pkg-plist#."
+msgstr ""
+"Значение по умолчанию для `DATADIR` — [.filename]#${PREFIX}/share/${PORTNAME}"
+"#. Рекомендуется переопределить `DATADIR` на [.filename]#${JAVASHAREDIR}/$"
+"{PORTNAME}# для портов Java. Действительно, `DATADIR` автоматически "
+"добавляется в `PLIST_SUB` (документировано в crossref:plist[plist-"
+"sub,Изменение pkg-plist на основе переменных Make]), поэтому используйте `%"
+"%DATADIR%%` напрямую в [.filename]#pkg-plist#."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3356
+msgid ""
+"As for the choice of building Java ports from source or directly installing "
+"them from a binary distribution, there is no defined policy at the time of "
+"writing. However, people from the https://www.freebsd.org/java/[FreeBSD "
+"Java Project] encourage porters to have their ports built from source "
+"whenever it is a trivial task."
+msgstr ""
+"Что касается выбора между сборкой портов Java из исходного кода или их "
+"непосредственной установкой из бинарного дистрибутива, на момент написания "
+"документации определённой политики не существует. Однако участники https://"
+"www.freebsd.org/java/[FreeBSD Java Project] рекомендуют сопровождающим "
+"портов по возможности собирать их из исходного кода, если это не "
+"представляет сложностей."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3360
+msgid ""
+"All the features that have been presented in this section are implemented in "
+"[.filename]#bsd.java.mk#. If the port needs more sophisticated Java "
+"support, please first have a look at the https://cgit.FreeBSD.org/ports/tree/"
+"Mk/bsd.java.mk[bsd.java.mk Git log] as it usually takes some time to "
+"document the latest features. Then, if the needed support that is lacking "
+"would be beneficial to many other Java ports, feel free to discuss it on the "
+"freebsd-java."
+msgstr ""
+"Все функции, представленные в этом разделе, реализованы в "
+"[.filename]#bsd.java.mk#. Если порту требуется более сложная поддержка Java, "
+"сначала ознакомьтесь с https://cgit.FreeBSD.org/ports/tree/Mk/"
+"bsd.java.mk[историей изменений bsd.java.mk], так как документирование новых "
+"функций обычно занимает некоторое время. Затем, если отсутствующая поддержка "
+"будет полезна для многих других Java-портов, не стесняйтесь обсудить это на "
+"списке рассылки freebsd-java."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3363
+msgid ""
+"Although there is a `java` category for PRs, it refers to the JDK porting "
+"effort from the FreeBSD Java project. Therefore, submit the Java port in "
+"the `ports` category as for any other port, unless the issue is related to "
+"either a JDK implementation or [.filename]#bsd.java.mk#."
+msgstr ""
+"Хотя существует категория `java` для PR, она относится к усилиям по "
+"портированию JDK в рамках проекта FreeBSD Java. Поэтому отправляйте порт "
+"Java в категорию `ports`, как и любой другой порт, если только проблема не "
+"связана либо с реализацией JDK, либо с [.filename]#bsd.java.mk#."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3365
+msgid ""
+"Similarly, there is a defined policy regarding the `CATEGORIES` of a Java "
+"port, which is detailed in crossref:makefiles[makefile-"
+"categories,Categorization]."
+msgstr ""
+"Аналогично существует определённая политика в отношении `CATEGORIES` для "
+"портов Java, которая подробно описана в crossref:makefiles[makefile-"
+"categories,Категоризация]."
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3367
+#, no-wrap
+msgid "Web Applications, Apache and PHP"
+msgstr "Веб-приложения, Apache и PHP"
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3370
+#, no-wrap
+msgid "Apache"
+msgstr "Apache"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3373
+#, no-wrap
+msgid "Variables for Ports That Use Apache"
+msgstr "Переменные для портов, использующих Apache"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3377
+#, no-wrap
+msgid "`USE_APACHE`"
+msgstr "`USE_APACHE`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3379
+#, no-wrap
+msgid "The port requires Apache. Possible values: `yes` (gets any version), `22`, `24`, `22-24`, `22+`, etc. The default APACHE version is `22`. More details are available in [.filename]#ports/Mk/bsd.apache.mk# and at https://wiki.freebsd.org/Apache/[wiki.freebsd.org/Apache/]."
+msgstr "Порт требует Apache. Возможные значения: `yes` (любая версия), `22`, `24`, `22-24`, `22+` и т.д. Версия APACHE по умолчанию — `22`. Подробнее см. в [.filename]#ports/Mk/bsd.apache.mk# и на https://wiki.freebsd.org/Apache/[wiki.freebsd.org/Apache/]."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3380
+#, no-wrap
+msgid "`APXS`"
+msgstr "`APXS`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3382
+#, no-wrap
+msgid "Full path to the `apxs` binary. Can be overridden in the port."
+msgstr "Полный путь к бинарному файлу `apxs`. Может быть переопределён в порте."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3383
+#, no-wrap
+msgid "`HTTPD`"
+msgstr "`HTTPD`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3385
+#, no-wrap
+msgid "Full path to the `httpd` binary. Can be overridden in the port."
+msgstr "Полный путь к бинарному файлу `httpd`. Может быть переопределён в порте."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3386
+#, no-wrap
+msgid "`APACHE_VERSION`"
+msgstr "`APACHE_VERSION`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3388
+#, no-wrap
+msgid "The version of present Apache installation (read-only variable). This variable is only available after inclusion of [.filename]#bsd.port.pre.mk#. Possible values: `22`, `24`."
+msgstr "Версия установленной Apache (переменная только для чтения). Эта переменная доступна только после включения [.filename]#bsd.port.pre.mk#. Возможные значения: `22`, `24`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3389
+#, no-wrap
+msgid "`APACHEMODDIR`"
+msgstr "`APACHEMODDIR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3391
+#, no-wrap
+msgid "Directory for Apache modules. This variable is automatically expanded in [.filename]#pkg-plist#."
+msgstr "Каталог для модулей Apache. Эта переменная автоматически раскрывается в [.filename]#pkg-plist#."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3392
+#, no-wrap
+msgid "`APACHEINCLUDEDIR`"
+msgstr "`APACHEINCLUDEDIR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3394
+#, no-wrap
+msgid "Directory for Apache headers. This variable is automatically expanded in [.filename]#pkg-plist#."
+msgstr "Каталог для заголовков Apache. Эта переменная автоматически раскрывается в [.filename]#pkg-plist#."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3395
+#, no-wrap
+msgid "`APACHEETCDIR`"
+msgstr "`APACHEETCDIR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3396
+#, no-wrap
+msgid "Directory for Apache configuration files. This variable is automatically expanded in [.filename]#pkg-plist#."
+msgstr "Каталог для файлов конфигурации Apache. Эта переменная автоматически раскрывается в [.filename]#pkg-plist#."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3399
+#, no-wrap
+msgid "Useful Variables for Porting Apache Modules"
+msgstr "Полезные переменные для переноса модулей Apache"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3403
+#, no-wrap
+msgid "`MODULENAME`"
+msgstr "`MODULENAME`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3405
+#, no-wrap
+msgid "Name of the module. Default value is `PORTNAME`. Example: `mod_hello`"
+msgstr "Имя модуля. Значение по умолчанию — `PORTNAME`. Пример: `mod_hello`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3406
+#, no-wrap
+msgid "`SHORTMODNAME`"
+msgstr "`SHORTMODNAME`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3408
+#, no-wrap
+msgid "Short name of the module. Automatically derived from `MODULENAME`, but can be overridden. Example: `hello`"
+msgstr "Короткое имя модуля. Автоматически определяется из `MODULENAME`, но может быть переопределено. Пример: `hello`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3409
+#, no-wrap
+msgid "`AP_FAST_BUILD`"
+msgstr "`AP_FAST_BUILD`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3411
+#, no-wrap
+msgid "Use `apxs` to compile and install the module."
+msgstr "Используйте `apxs` для компиляции и установки модуля."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3412
+#, no-wrap
+msgid "`AP_GENPLIST`"
+msgstr "`AP_GENPLIST`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3414
+#, no-wrap
+msgid "Also automatically creates a [.filename]#pkg-plist#."
+msgstr "Также автоматически создаёт файл [.filename]#pkg-plist#."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3415
+#, no-wrap
+msgid "`AP_INC`"
+msgstr "`AP_INC`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3417
+#, no-wrap
+msgid "Adds a directory to a header search path during compilation."
+msgstr "Добавляет каталог в путь поиска заголовков во время компиляции."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3418
+#, no-wrap
+msgid "`AP_LIB`"
+msgstr "`AP_LIB`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3420
+#, no-wrap
+msgid "Adds a directory to a library search path during compilation."
+msgstr "Добавляет каталог в путь поиска библиотек во время компиляции."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3421
+#, no-wrap
+msgid "`AP_EXTRAS`"
+msgstr "`AP_EXTRAS`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3422
+#, no-wrap
+msgid "Additional flags to pass to `apxs`."
+msgstr "Дополнительные флаги для передачи в `apxs`."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3425
+#, no-wrap
+msgid "Web Applications"
+msgstr "Веб-приложения"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3429
+msgid ""
+"Web applications must be installed into [.filename]#PREFIX/www/appname#. "
+"This path is available both in [.filename]#Makefile# and in [.filename]#pkg-"
+"plist# as `WWWDIR`, and the path relative to `PREFIX` is available in "
+"[.filename]#Makefile# as `WWWDIR_REL`."
+msgstr ""
+"Веб-приложения должны быть установлены в [.filename]#PREFIX/www/appname#. "
+"Этот путь доступен как в [.filename]#Makefile#, так и в [.filename]#pkg-"
+"plist# как `WWWDIR`, а путь относительно `PREFIX` доступен в "
+"[.filename]#Makefile# как `WWWDIR_REL`."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3434
+msgid ""
+"The user and group of web server process are available as `WWWOWN` and "
+"`WWWGRP`, in case the ownership of some files needs to be changed. The "
+"default values of both are `www`. Use `WWWOWN?= myuser` and `WWWGRP?= "
+"mygroup` if the port needs different values. This allows the user to "
+"override them easily."
+msgstr ""
+"Пользователь и группа процесса веб-сервера доступны как `WWWOWN` и `WWWGRP`, "
+"если необходимо изменить владельца некоторых файлов. Значения по умолчанию "
+"для обоих — `www`. Используйте `WWWOWN?= myuser` и `WWWGRP?= mygroup`, если "
+"порту требуются другие значения. Это позволяет пользователю легко их "
+"переопределить."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3439
+msgid ""
+"Use `WWWOWN` and `WWWGRP` sparingly. Remember that every file the web "
+"server can write to is a security risk waiting to happen."
+msgstr ""
+"Используйте `WWWOWN` и `WWWGRP` с осторожностью. Помните, что каждый файл, "
+"доступный для записи веб-серверу, представляет собой потенциальную угрозу "
+"безопасности."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3443
+msgid ""
+"Do not depend on Apache unless the web app explicitly needs Apache. Respect "
+"that users may wish to run a web application on a web server other than "
+"Apache."
+msgstr ""
+"Не зависьте от Apache, если веб-приложение явно не требует Apache. "
+"Учитывайте, что пользователи могут захотеть запускать веб-приложение на "
+"другом веб-сервере, кроме Apache."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3445
+#, no-wrap
+msgid "PHP"
+msgstr "PHP"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3449
+msgid ""
+"PHP web applications declare their dependency on it with `USES=php`. See "
+"crossref:uses[uses-php,`php`] for more information."
+msgstr ""
+"Веб-приложения PHP объявляют свою зависимость от него с помощью `USES=php`. "
+"Подробнее см. в crossref:uses[uses-php,`php`]."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3451
+#, no-wrap
+msgid "PEAR Modules"
+msgstr "Модули PEAR"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3454
+msgid "Porting PEAR modules is a very simple process."
+msgstr "Портирование модулей PEAR — это очень простой процесс."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3457
+msgid ""
+"Add `USES=pear` to the port's [.filename]#Makefile#. The framework will "
+"install the relevant files in the right places and automatically generate "
+"the plist at install time."
+msgstr ""
+"Добавьте `USES=pear` в [.filename]#Makefile# порта. Фреймворк установит "
+"соответствующие файлы в нужные места и автоматически сгенерирует plist во "
+"время установки."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3459
+#, no-wrap
+msgid "Example Makefile for PEAR Class"
+msgstr "Пример Makefile для PEAR Class"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3467
+#, no-wrap
+msgid ""
+"PORTNAME= Date\n"
+"DISTVERSION=\t1.4.3\n"
+"CATEGORIES=\tdevel www pear\n"
+msgstr ""
+"PORTNAME= Date\n"
+"DISTVERSION=\t1.4.3\n"
+"CATEGORIES=\tdevel www pear\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3471
+#, no-wrap
+msgid ""
+"MAINTAINER=\tsomeone@example.org\n"
+"COMMENT=\tPEAR Date and Time Zone Classes\n"
+"WWW=\t\thttps://pear.php.net/package/Date/\n"
+msgstr ""
+"MAINTAINER=\tsomeone@example.org\n"
+"COMMENT=\tPEAR Date and Time Zone Classes\n"
+"WWW=\t\thttps://pear.php.net/package/Date/\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3473
+#, no-wrap
+msgid "USES=\tpear\n"
+msgstr "USES=\tpear\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3482
+msgid ""
+"PEAR modules will automatically be flavorized using crossref:flavors[flavors-"
+"auto-php,PHP flavors]."
+msgstr ""
+"Модули PEAR будут автоматически преобразованы в порт с флейвором с "
+"использованием crossref:flavors[flavors-auto-php,флейворов PHP]."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3487
+msgid ""
+"If a non default `PEAR_CHANNEL` is used, the build and run-time dependencies "
+"will automatically be added."
+msgstr ""
+"Если используется нестандартный `PEAR_CHANNEL`, зависимости для сборки и "
+"выполнения будут добавлены автоматически."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3493
+msgid ""
+"PEAR modules do not need to defined `PKGNAMESUFFIX` it is automatically "
+"filled in using `PEAR_PKGNAMEPREFIX`. If a port needs to add to "
+"`PKGNAMEPREFIX`, it must also use `PEAR_PKGNAMEPREFIX` to differentiate "
+"between different flavors."
+msgstr ""
+"Модули PEAR не требуют определения `PKGNAMESUFFIX`, так как он автоматически "
+"заполняется с использованием `PEAR_PKGNAMEPREFIX`. Если порту необходимо "
+"добавить к `PKGNAMEPREFIX`, он также должен использовать "
+"`PEAR_PKGNAMEPREFIX`, чтобы отличать различные флейворы."
+
+#. type: Title ====
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3496
+#, no-wrap
+msgid "Horde Modules"
+msgstr "Модули Horde"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3499
+msgid "In the same way, porting Horde modules is a simple process."
+msgstr "Также и перенос модулей Horde является простым процессом."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3502
+msgid ""
+"Add `USES=horde` to the port's [.filename]#Makefile#. The framework will "
+"install the relevant files in the right places and automatically generate "
+"the plist at install time."
+msgstr ""
+"Добавьте `USES=horde` в [.filename]#Makefile# порта. Фреймворк установит "
+"соответствующие файлы в нужные места и автоматически сгенерирует plist во "
+"время установки."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3505
+msgid ""
+"The `USE_HORDE_BUILD` and `USE_HORDE_RUN` variables can be used to add "
+"buildtime and runtime dependencies on other Horde modules. See "
+"[.filename]#Mk/Uses/horde.mk# for a complete list of available modules."
+msgstr ""
+"Переменные `USE_HORDE_BUILD` и `USE_HORDE_RUN` могут использоваться для "
+"добавления зависимостей времени сборки и выполнения от других модулей Horde. "
+"Полный список доступных модулей можно найти в [.filename]#Mk/Uses/horde.mk#."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3507
+#, no-wrap
+msgid "Example Makefile for Horde Module"
+msgstr "Пример Makefile для модуля Horde"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3515
+#, no-wrap
+msgid ""
+"PORTNAME=\tHorde_Core\n"
+"DISTVERSION=\t2.14.0\n"
+"CATEGORIES=\tdevel www pear\n"
+msgstr ""
+"PORTNAME=\tHorde_Core\n"
+"DISTVERSION=\t2.14.0\n"
+"CATEGORIES=\tdevel www pear\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3519
+#, no-wrap
+msgid ""
+"MAINTAINER=\thorde@FreeBSD.org\n"
+"COMMENT=\tHorde Core Framework libraries\n"
+"WWW=\t\thttps://pear.horde.org/\n"
+msgstr ""
+"MAINTAINER=\thorde@FreeBSD.org\n"
+"COMMENT=\tHorde Core Framework libraries\n"
+"WWW=\t\thttps://pear.horde.org/\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3523
+#, no-wrap
+msgid ""
+"OPTIONS_DEFINE=\tKOLAB SOCKETS\n"
+"KOLAB_DESC=\tEnable Kolab server support\n"
+"SOCKETS_DESC=\tDepend on sockets PHP extension\n"
+msgstr ""
+"OPTIONS_DEFINE=\tKOLAB SOCKETS\n"
+"KOLAB_DESC=\tEnable Kolab server support\n"
+"SOCKETS_DESC=\tDepend on sockets PHP extension\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3526
+#, no-wrap
+msgid ""
+"USES=\thorde\n"
+"USE_PHP=\tsession\n"
+msgstr ""
+"USES=\thorde\n"
+"USE_PHP=\tsession\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3530
+#, no-wrap
+msgid ""
+"USE_HORDE_BUILD=\tHorde_Role\n"
+"USE_HORDE_RUN=\tHorde_Role Horde_History Horde_Pack \\\n"
+"\t\tHorde_Text_Filter Horde_View\n"
+msgstr ""
+"USE_HORDE_BUILD=\tHorde_Role\n"
+"USE_HORDE_RUN=\tHorde_Role Horde_History Horde_Pack \\\n"
+"\t\tHorde_Text_Filter Horde_View\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3533
+#, no-wrap
+msgid ""
+"KOLAB_USE=\tHORDE_RUN=Horde_Kolab_Server,Horde_Kolab_Session\n"
+"SOCKETS_USE=\tPHP=sockets\n"
+msgstr ""
+"KOLAB_USE=\tHORDE_RUN=Horde_Kolab_Server,Horde_Kolab_Session\n"
+"SOCKETS_USE=\tPHP=sockets\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3542
+msgid ""
+"As Horde modules are also PEAR modules they will also automatically be "
+"flavorized using crossref:flavors[flavors-auto-php,PHP flavors]."
+msgstr ""
+"Поскольку модули Horde также являются модулями PEAR, они будут автоматически "
+"преобразованы с использованием crossref:flavors[flavors-auto-php,флейворов "
+"PHP]."
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3545
+#, no-wrap
+msgid "Using Python"
+msgstr "Использование Python"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3550
+msgid ""
+"The Ports Collection supports parallel installation of multiple Python "
+"versions. Ports must use a correct `python` interpreter, according to the "
+"user-settable `PYTHON_VERSION`. Most prominently, this means replacing the "
+"path to `python` executable in scripts with the value of `PYTHON_CMD`."
+msgstr ""
+"Коллекция портов поддерживает параллельную установку нескольких версий "
+"Python. Порты должны использовать правильный интерпретатор `python` в "
+"соответствии с настраиваемым пользователем параметром `PYTHON_VERSION`. "
+"Важнее всего заменить путь к исполняемому файлу `python` в скриптах на "
+"значение `PYTHON_CMD`."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3552
+msgid ""
+"Ports that install files under `PYTHON_SITELIBDIR` must use the `pyXY-` "
+"package name prefix, so their package name embeds the version of Python they "
+"are installed into."
+msgstr ""
+"Порты, которые устанавливают файлы в `PYTHON_SITELIBDIR`, должны "
+"использовать префикс имени пакета `pyXY-`, чтобы их имя пакета включало "
+"версию Python, для которой они предназначены."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3556
+#, no-wrap
+msgid "PKGNAMEPREFIX=\t${PYTHON_PKGNAMEPREFIX}\n"
+msgstr "PKGNAMEPREFIX=\t${PYTHON_PKGNAMEPREFIX}\n"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3560
+#, no-wrap
+msgid "Most Useful Variables for Ports That Use Python"
+msgstr "Наиболее полезные переменные для портов, использующих Python"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3564
+#, no-wrap
+msgid "`USES=python`"
+msgstr "`USES=python`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3566
+#, no-wrap
+msgid "The port needs Python. The minimal required version can be specified with values such as `3.10+`. Version ranges can also be specified by separating two version numbers with a dash: `USES=python:3.8-3.9`. Note that `USES=python` does _not_ cover Python 2.7, it needs to be requested explicitly with `USES=python:2.7+`."
+msgstr "Порту требуется Python. Минимально необходимая версия может быть указана с такими значениями, как `3.10+`. Диапазоны версий также можно указать, разделив две версии дефисом: `USES=python:3.8-3.9`. Обратите внимание, что `USES=python` _не_ включает Python 2.7, его нужно запрашивать явно с помощью `USES=python:2.7+`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3567
+#, no-wrap
+msgid "`USE_PYTHON=distutils`"
+msgstr "`USE_PYTHON=distutils`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3569
+#, no-wrap
+msgid "Use Python distutils for configuring, compiling, and installing. This is required when the port comes with [.filename]#setup.py#. This overrides the `do-build` and `do-install` targets and may also override `do-configure` if `GNU_CONFIGURE` is not defined. Additionally, it implies `USE_PYTHON=flavors`."
+msgstr "Используйте Python distutils для настройки, компиляции и установки. Это требуется, когда порт поставляется с [.filename]#setup.py#. Это переопределяет цели `do-build` и `do-install`, а также может переопределить `do-configure`, если `GNU_CONFIGURE` не определён. Кроме того, подразумевается `USE_PYTHON=flavors`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3570
+#, no-wrap
+msgid "`USE_PYTHON=autoplist`"
+msgstr "`USE_PYTHON=autoplist`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3572
+#, no-wrap
+msgid "Create the packaging list automatically. This also requires `USE_PYTHON=distutils` to be set."
+msgstr "Создать список пакетов автоматически. Это также требует установки `USE_PYTHON=distutils`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3573
+#, no-wrap
+msgid "`USE_PYTHON=concurrent`"
+msgstr "`USE_PYTHON=concurrent`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3575
+#, no-wrap
+msgid "The port will use an unique prefix, typically `PYTHON_PKGNAMEPREFIX` for certain directories, such as `EXAMPLESDIR` and `DOCSDIR` and also will append a suffix, the python version from `PYTHON_VER`, to binaries and scripts to be installed. This allows ports to be installed for different Python versions at the same time, which otherwise would install conflicting files."
+msgstr "Порт будет использовать уникальный префикс, обычно `PYTHON_PKGNAMEPREFIX`, для определённых каталогов, таких как `EXAMPLESDIR` и `DOCSDIR`, а также добавлять суффикс — версию Python из `PYTHON_VER` — к устанавливаемым бинарным файлам и скриптам. Это позволяет устанавливать порты для разных версий Python одновременно, что в противном случае приводило бы к конфликту файлов."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3576
+#, no-wrap
+msgid "`USE_PYTHON=flavors`"
+msgstr "`USE_PYTHON=flavors`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3578
+#, no-wrap
+msgid "The port does not use distutils but still supports multiple Python versions. `FLAVORS` will be set to the supported Python versions. See crossref:flavors[flavors-auto-python,`USES`=python and Flavors] for more information."
+msgstr "Порт не использует distutils, но по-прежнему поддерживает несколько версий Python. `FLAVORS` будет установлен в поддерживаемые версии Python. Дополнительную информацию см. в crossref:flavors[flavors-auto-python,`USES`=python и флейворы]."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3579
+#, no-wrap
+msgid "`USE_PYTHON=optsuffix`"
+msgstr "`USE_PYTHON=optsuffix`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3581
+#, no-wrap
+msgid "If the current Python version is not the default version, the port will gain `PKGNAMESUFFIX=${PYTHON_PKGNAMESUFFIX}`. Only useful with flavors."
+msgstr "Если текущая версия Python не является версией по умолчанию, порт получит `PKGNAMESUFFIX=${PYTHON_PKGNAMESUFFIX}`. Полезно только для флейворов."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3582
+#, no-wrap
+msgid "`PYTHON_PKGNAMEPREFIX`"
+msgstr "`PYTHON_PKGNAMEPREFIX`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3584
+#, no-wrap
+msgid "Used as a `PKGNAMEPREFIX` to distinguish packages for different Python versions. Example: `py27-`"
+msgstr "Используется как `PKGNAMEPREFIX` для различения пакетов разных версий Python. Пример: `py27-`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3585
+#, no-wrap
+msgid "`PYTHON_SITELIBDIR`"
+msgstr "`PYTHON_SITELIBDIR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3587
+#, no-wrap
+msgid "Location of the site-packages tree, that contains installation path of Python (usually `LOCALBASE`). `PYTHON_SITELIBDIR` can be very useful when installing Python modules."
+msgstr "Расположение дерева site-packages, которое содержит путь установки Python (обычно `LOCALBASE`). `PYTHON_SITELIBDIR` может быть очень полезно при установке модулей Python."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3588
+#, no-wrap
+msgid "`PYTHONPREFIX_SITELIBDIR`"
+msgstr "`PYTHONPREFIX_SITELIBDIR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3590
+#, no-wrap
+msgid "The PREFIX-clean variant of PYTHON_SITELIBDIR. Always use `%%PYTHON_SITELIBDIR%%` in [.filename]#pkg-plist# when possible. The default value of `%%PYTHON_SITELIBDIR%%` is `lib/python%%PYTHON_VERSION%%/site-packages`"
+msgstr "Вариант PREFIX-clean для PYTHON_SITELIBDIR. Всегда используйте `%%PYTHON_SITELIBDIR%%` в [.filename]#pkg-plist#, когда это возможно. Значение по умолчанию для `%%PYTHON_SITELIBDIR%%` — `lib/python%%PYTHON_VERSION%%/site-packages`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3591
+#, no-wrap
+msgid "`PYTHON_CMD`"
+msgstr "`PYTHON_CMD`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3592
+#, no-wrap
+msgid "Python interpreter command line, including version number."
+msgstr "Интерпретатор командной строки Python, включая номер версии."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3595
+#, no-wrap
+msgid "Python Module Dependency Helpers"
+msgstr "Помощники зависимостей модуля Python"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3599
+#, no-wrap
+msgid "`PYNUMERIC`"
+msgstr "`PYNUMERIC`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3601
+#, no-wrap
+msgid "Dependency line for numeric extension."
+msgstr "Строка зависимости для числового расширения."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3602
+#, no-wrap
+msgid "`PYNUMPY`"
+msgstr "`PYNUMPY`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3604
+#, no-wrap
+msgid "Dependency line for the new numeric extension, numpy. (PYNUMERIC is deprecated by upstream vendor)."
+msgstr "Строка зависимости для нового числового расширения, numpy. (PYNUMERIC устарел у вендора)."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3605
+#, no-wrap
+msgid "`PYXML`"
+msgstr "`PYXML`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3607
+#, no-wrap
+msgid "Dependency line for XML extension (not needed for Python 2.0 and higher as it is also in base distribution)."
+msgstr "Строка зависимости для расширения XML (не требуется для Python 2.0 и выше, так как оно также входит в базовую поставку)."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3608
+#, no-wrap
+msgid "`PY_ENUM34`"
+msgstr "`PY_ENUM34`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3610
+#, no-wrap
+msgid "Conditional dependency on package:devel/py-enum34[] depending on the Python version."
+msgstr "Условная зависимость от пакета package:devel/py-enum34[] в зависимости от версии Python."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3611
+#, no-wrap
+msgid "`PY_ENUM_COMPAT`"
+msgstr "`PY_ENUM_COMPAT`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3613
+#, no-wrap
+msgid "Conditional dependency on package:devel/py-enum-compat[] depending on the Python version."
+msgstr "Условная зависимость от пакета package:devel/py-enum-compat[] в зависимости от версии Python."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3614
+#, no-wrap
+msgid "`PY_PATHLIB`"
+msgstr "`PY_PATHLIB`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3616
+#, no-wrap
+msgid "Conditional dependency on package:devel/py-pathlib[] depending on the Python version."
+msgstr "Условная зависимость от пакета package:devel/py-pathlib[] в зависимости от версии Python."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3617
+#, no-wrap
+msgid "`PY_IPADDRESS`"
+msgstr "`PY_IPADDRESS`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3619
+#, no-wrap
+msgid "Conditional dependency on package:net/py-ipaddress[] depending on the Python version."
+msgstr "Условная зависимость от пакета package:net/py-ipaddress[] в зависимости от версии Python."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3620
+#, no-wrap
+msgid "`PY_FUTURES`"
+msgstr "`PY_FUTURES`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3621
+#, no-wrap
+msgid "Conditional dependency on package:devel/py-futures[] depending on the Python version."
+msgstr "Условная зависимость от пакета package:devel/py-futures[] в зависимости от версии Python."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3624
+msgid ""
+"A complete list of available variables can be found in [.filename]#/usr/"
+"ports/Mk/Uses/python.mk#."
+msgstr ""
+"Полный список доступных переменных можно найти в [.filename]#/usr/ports/Mk/"
+"Uses/python.mk#."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3629
+msgid ""
+"All dependencies to Python ports using crossref:flavors[flavors-auto-"
+"python,Python flavors] (either with `USE_PYTHON=distutils` or "
+"`USE_PYTHON=flavors`) must have the Python flavor appended to their origin "
+"using `@${PY_FLAVOR}`. See crossref:special[python-Makefile,Makefile for a "
+"Simple Python Module]."
+msgstr ""
+"Все зависимости для портов Python, использующих crossref:flavors[flavors-"
+"auto-python,флейворы Python] (с `USE_PYTHON=distutils` или "
+"`USE_PYTHON=flavors`), должны иметь флейвор Python, добавленную к их origin "
+"с помощью `@${PY_FLAVOR}`. См. crossref:special[python-Makefile,Makefile для "
+"простого модуля Python]."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3632
+#, no-wrap
+msgid "Makefile for a Simple Python Module"
+msgstr "Makefile для Простого Модуля Python"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3640
+#, no-wrap
+msgid ""
+"PORTNAME=\tsample\n"
+"DISTVERSION=\t1.2.3\n"
+"CATEGORIES=\tdevel\n"
+msgstr ""
+"PORTNAME=\tsample\n"
+"DISTVERSION=\t1.2.3\n"
+"CATEGORIES=\tdevel\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3644
+#, no-wrap
+msgid ""
+"MAINTAINER=\tfred.bloggs@example.com\n"
+"COMMENT=\tPython sample module\n"
+"WWW=\t\thttps://example.com/project/sample/\n"
+msgstr ""
+"MAINTAINER=\tfred.bloggs@example.com\n"
+"COMMENT=\tPython sample module\n"
+"WWW=\t\thttps://example.com/project/sample/\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3646
+#, no-wrap
+msgid "RUN_DEPENDS=\t${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR}\n"
+msgstr "RUN_DEPENDS=\t${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR}\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3649
+#, no-wrap
+msgid ""
+"USES=\t\tpython\n"
+"USE_PYTHON=\tautoplist distutils\n"
+msgstr ""
+"USES=\t\tpython\n"
+"USE_PYTHON=\tautoplist distutils\n"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3659
+msgid ""
+"Some Python applications claim to have `DESTDIR` support (which would be "
+"required for staging) but it is broken (Mailman up to 2.1.16, for "
+"instance). This can be worked around by recompiling the scripts. This can "
+"be done, for example, in the `post-build` target. Assuming the Python "
+"scripts are supposed to reside in `PYTHONPREFIX_SITELIBDIR` after "
+"installation, this solution can be applied:"
+msgstr ""
+"Некоторые приложения на Python заявляют о поддержке `DESTDIR` (что "
+"необходимо для промежуточной сборки), но она не работает (например, Mailman "
+"до версии 2.1.16). Это можно обойти, перекомпилировав скрипты. Это можно "
+"сделать, например, в цели `post-build`. Предполагая, что Python-скрипты "
+"должны находиться в `PYTHONPREFIX_SITELIBDIR` после установки, можно "
+"применить следующее решение:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3665
+#, no-wrap
+msgid ""
+"(cd ${STAGEDIR}${PREFIX} \\\n"
+" && ${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py \\\n"
+" -d ${PREFIX} -f ${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;})\n"
+msgstr ""
+"(cd ${STAGEDIR}${PREFIX} \\\n"
+" && ${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py \\\n"
+" -d ${PREFIX} -f ${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;})\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3668
+msgid ""
+"This recompiles the sources with a path relative to the stage directory, and "
+"prepends the value of `PREFIX` to the file name recorded in the byte-"
+"compiled output file by `-d`. `-f` is required to force recompilation, and "
+"the `:S;${PREFIX}/;;` strips prefixes from the value of "
+"`PYTHONPREFIX_SITELIBDIR` to make it relative to `PREFIX`."
+msgstr ""
+"Это перекомпилирует исходники с путём, относительным к stage-директории, и "
+"добавляет значение `PREFIX` к имени файла, записанному в байт-"
+"компилированном выходном файле с помощью `-d`. `-f` требуется для "
+"принудительной перекомпиляции, а `:S;${PREFIX}/;;` удаляет префиксы из "
+"значения `PYTHONPREFIX_SITELIBDIR`, чтобы сделать его относительным к "
+"`PREFIX`."
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3670
+#, no-wrap
+msgid "Using Tcl/Tk"
+msgstr "Использование Tcl/Tk"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3675
+msgid ""
+"The Ports Collection supports parallel installation of multiple Tcl/Tk "
+"versions. Ports should try to support at least the default Tcl/Tk version "
+"and higher with `USES=tcl`. It is possible to specify the desired version "
+"of `tcl` by appending `:_xx_`, for example, `USES=tcl:85`."
+msgstr ""
+"Коллекция Ports поддерживает параллельную установку нескольких версий Tcl/"
+"Tk. Порты должны стараться поддерживать как минимум версию Tcl/Tk по "
+"умолчанию и выше с помощью `USES=tcl`. Можно указать желаемую версию `tcl`, "
+"добавив `:_xx_`, например, `USES=tcl:85`."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3677
+#, no-wrap
+msgid "The Most Useful Read-Only Variables for Ports That Use Tcl/Tk"
+msgstr "Самые полезные переменные только для чтения для портов, использующих Tcl/Tk"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3681
+#, no-wrap
+msgid "`TCL_VER`"
+msgstr "`TCL_VER`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3683
+#, no-wrap
+msgid "chosen major.minor version of Tcl"
+msgstr "выбранная версия Tcl major.minor"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3684
+#, no-wrap
+msgid "`TCLSH`"
+msgstr "`TCLSH`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3686
+#, no-wrap
+msgid "full path of the Tcl interpreter"
+msgstr "полный путь к интерпретатору Tcl"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3687
+#, no-wrap
+msgid "`TCL_LIBDIR`"
+msgstr "`TCL_LIBDIR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3689
+#, no-wrap
+msgid "path of the Tcl libraries"
+msgstr "путь к библиотекам Tcl"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3690
+#, no-wrap
+msgid "`TCL_INCLUDEDIR`"
+msgstr "`TCL_INCLUDEDIR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3692
+#, no-wrap
+msgid "path of the Tcl C header files"
+msgstr "путь к заголовочным файлам Tcl C"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3693
+#, no-wrap
+msgid "`TCL_PKG_LIB_PREFIX`"
+msgstr "`TCL_PKG_LIB_PREFIX`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3695
+#, no-wrap
+msgid "Library prefix, as per TIP595"
+msgstr "Префикс библиотеки, согласно TIP595"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3696
+#, no-wrap
+msgid "`TCL_PKG_STUB_POSTFIX`"
+msgstr "`TCL_PKG_STUB_POSTFIX`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3698
+#, no-wrap
+msgid "Stub library postfix"
+msgstr "Заглушка библиотеки postfix"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3699
+#, no-wrap
+msgid "`TK_VER`"
+msgstr "`TK_VER`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3701
+#, no-wrap
+msgid "chosen major.minor version of Tk"
+msgstr "выбранная версия Tk major.minor"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3702
+#, no-wrap
+msgid "`WISH`"
+msgstr "`WISH`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3704
+#, no-wrap
+msgid "full path of the Tk interpreter"
+msgstr "полный путь к интерпретатору Tk"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3705
+#, no-wrap
+msgid "`TK_LIBDIR`"
+msgstr "`TK_LIBDIR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3707
+#, no-wrap
+msgid "path of the Tk libraries"
+msgstr "путь к библиотекам Tk"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3708
+#, no-wrap
+msgid "`TK_INCLUDEDIR`"
+msgstr "`TK_INCLUDEDIR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3709
+#, no-wrap
+msgid "path of the Tk C header files"
+msgstr "путь к заголовочным файлам Tk C"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3713
+msgid ""
+"See the crossref:uses[uses-tcl,`USES=tcl`] and crossref:uses[uses-"
+"tk,`USES=tk`] of crossref:uses[uses,Using `USES` Macros] for a full "
+"description of those variables. A complete list of those variables is "
+"available in [.filename]#/usr/ports/Mk/Uses/tcl.mk#."
+msgstr ""
+"См. crossref:uses[uses-tcl,`USES=tcl`] и crossref:uses[uses-tk,`USES=tk`] в "
+"crossref:uses[uses,Использование макросов `USES`] для полного описания этих "
+"переменных. Полный список этих переменных доступен в [.filename]#/usr/ports/"
+"Mk/Uses/tcl.mk#."
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3715
+#, no-wrap
+msgid "Using SDL"
+msgstr "Использование SDL"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3718
+msgid ""
+"`USE_SDL` is used to autoconfigure the dependencies for ports which use an "
+"SDL based library like package:devel/sdl12[] and package:graphics/"
+"sdl_image[]."
+msgstr ""
+"`USE_SDL` используется для автоматической настройки зависимостей для портов, "
+"которые используют библиотеку на основе SDL, такие как package:devel/sdl12[] "
+"и package:graphics/sdl_image[]."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3720
+msgid "These SDL libraries for version 1.2 are recognized:"
+msgstr "Эти библиотеки SDL для версии 1.2 распознаются:"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3722
+msgid "sdl: package:devel/sdl12[]"
+msgstr "sdl: package:devel/sdl12[]"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3723
+msgid "console: package:devel/sdl_console[]"
+msgstr "console: package:devel/sdl_console[]"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3724
+msgid "gfx: package:graphics/sdl_gfx[]"
+msgstr "gfx: package:graphics/sdl_gfx[]"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3725
+msgid "image: package:graphics/sdl_image[]"
+msgstr "image: package:graphics/sdl_image[]"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3726
+msgid "mixer: package:audio/sdl_mixer[]"
+msgstr "mixer: package:audio/sdl_mixer[]"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3727
+msgid "mm: package:devel/sdlmm[]"
+msgstr "mm: package:devel/sdlmm[]"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3728
+msgid "net: package:net/sdl_net[]"
+msgstr "net: package:net/sdl_net[]"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3729
+msgid "pango: package:x11-toolkits/sdl_pango[]"
+msgstr "pango: package:x11-toolkits/sdl_pango[]"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3730
+msgid "sound: package:audio/sdl_sound[]"
+msgstr "sound: package:audio/sdl_sound[]"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3731
+msgid "ttf: package:graphics/sdl_ttf[]"
+msgstr "ttf: package:graphics/sdl_ttf[]"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3733
+msgid "These SDL libraries for version 2.0 are recognized:"
+msgstr "Эти библиотеки SDL для версии 2.0 распознаются:"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3735
+msgid "sdl: package:devel/sdl20[]"
+msgstr "sdl: package:devel/sdl20[]"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3736
+msgid "gfx: package:graphics/sdl2_gfx[]"
+msgstr "gfx: package:graphics/sdl2_gfx[]"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3737
+msgid "image: package:graphics/sdl2_image[]"
+msgstr "image: package:graphics/sdl2_image[]"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3738
+msgid "mixer: package:audio/sdl2_mixer[]"
+msgstr "mixer: package:audio/sdl2_mixer[]"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3739
+msgid "net: package:net/sdl2_net[]"
+msgstr "net: package:net/sdl2_net[]"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3740
+msgid "ttf: package:graphics/sdl2_ttf[]"
+msgstr "ttf: package:graphics/sdl2_ttf[]"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3742
+msgid ""
+"Therefore, if a port has a dependency on package:net/sdl_net[] and "
+"package:audio/sdl_mixer[], the syntax will be:"
+msgstr ""
+"Следовательно, если порт зависит от package:net/sdl_net[] и package:audio/"
+"sdl_mixer[], синтаксис будет следующим:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3746
+#, no-wrap
+msgid "USE_SDL=\tnet mixer\n"
+msgstr "USE_SDL=\tnet mixer\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3749
+msgid ""
+"The dependency package:devel/sdl12[], which is required by package:net/"
+"sdl_net[] and package:audio/sdl_mixer[], is automatically added as well."
+msgstr ""
+"Пакет зависимости package:devel/sdl12[], который требуется для package:net/"
+"sdl_net[] и package:audio/sdl_mixer[], также автоматически добавляется."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3751
+msgid "Using `USE_SDL` with entries for SDL 1.2, it will automatically:"
+msgstr "Использование `USE_SDL` с указанием SDL 1.2 автоматически:"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3753
+msgid "Add a dependency on sdl12-config to `BUILD_DEPENDS`"
+msgstr "Добавить зависимость от sdl12-config в `BUILD_DEPENDS`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3754
+msgid "Add the variable `SDL_CONFIG` to `CONFIGURE_ENV`"
+msgstr "Добавьте переменную `SDL_CONFIG` в `CONFIGURE_ENV`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3755
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3761
+msgid "Add the dependencies of the selected libraries to `LIB_DEPENDS`"
+msgstr "Добавьте зависимости выбранных библиотек в `LIB_DEPENDS`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3757
+msgid "Using `USE_SDL` with entries for SDL 2.0, it will automatically:"
+msgstr "Используя `USE_SDL` с записями для SDL 2.0, это автоматически:"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3759
+msgid "Add a dependency on sdl2-config to `BUILD_DEPENDS`"
+msgstr "Добавить зависимость от sdl2-config в `BUILD_DEPENDS`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3760
+msgid "Add the variable `SDL2_CONFIG` to `CONFIGURE_ENV`"
+msgstr "Добавьте переменную `SDL2_CONFIG` в `CONFIGURE_ENV`"
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3764
+#, no-wrap
+msgid "Using wxWidgets"
+msgstr "Использование wxWidgets"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3767
+msgid ""
+"This section describes the status of the wxWidgets libraries in the ports "
+"tree and its integration with the ports system."
+msgstr ""
+"Этот раздел описывает состояние библиотек wxWidgets в дереве портов и их "
+"интеграцию с системой портов."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3773
+msgid ""
+"There are many versions of the wxWidgets libraries which conflict between "
+"them (install files under the same name). In the ports tree this problem "
+"has been solved by installing each version under a different name using "
+"version number suffixes."
+msgstr ""
+"Существует множество версий библиотек wxWidgets, которые конфликтуют между "
+"собой (устанавливают файлы с одинаковыми именами). В дереве портов эта "
+"проблема решена путем установки каждой версии под разными именами с "
+"использованием суффиксов номеров версий."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3779
+msgid ""
+"The obvious disadvantage of this is that each application has to be modified "
+"to find the expected version. Fortunately, most of the applications call "
+"the `wx-config` script to determine the necessary compiler and linker "
+"flags. The script is named differently for every available version. "
+"Majority of applications respect an environment variable, or accept a "
+"configure argument, to specify which `wx-config` script to call. Otherwise "
+"they have to be patched."
+msgstr ""
+"Очевидный недостаток этого подхода заключается в том, что каждое приложение "
+"необходимо модифицировать для поиска нужной версии. К счастью, большинство "
+"приложений вызывают скрипт `wx-config` для определения необходимых флагов "
+"компилятора и компоновщика. Имя этого скрипта отличается для каждой "
+"доступной версии. Большинство приложений учитывают переменную окружения или "
+"принимают аргумент configure, чтобы указать, какой скрипт `wx-config` "
+"вызывать. В противном случае их необходимо патчить."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3781
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4082
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4301
+#, no-wrap
+msgid "Version Selection"
+msgstr "Выбор версии"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3784
+msgid ""
+"To make the port use a specific version of wxWidgets there are two variables "
+"available for defining (if only one is defined the other will be set to a "
+"default value):"
+msgstr ""
+"Чтобы порт использовал определённую версию wxWidgets, доступны две "
+"переменные для определения (если задана только одна, другая будет "
+"установлена в значение по умолчанию):"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3786
+#, no-wrap
+msgid "Variables to Select wxWidgets Versions"
+msgstr "Переменные для выбора версий wxWidgets"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3793
+#, no-wrap
+msgid "Default value"
+msgstr "Значение по умолчанию"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3794
+#, no-wrap
+msgid "`USE_WX`"
+msgstr "`USE_WX`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3795
+#, no-wrap
+msgid "List of versions the port can use"
+msgstr "Список версий, которые порт может использовать"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3797
+#, no-wrap
+msgid "All available versions"
+msgstr "Все доступные версии"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3798
+#, no-wrap
+msgid "`USE_WX_NOT`"
+msgstr "`USE_WX_NOT`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3799
+#, no-wrap
+msgid "List of versions the port cannot use"
+msgstr "Список версий, которые порт не может использовать"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3800
+#, no-wrap
+msgid "None"
+msgstr "Ничего"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3803
+msgid ""
+"The available wxWidgets versions and the corresponding ports in the tree are:"
+msgstr "Доступные версии wxWidgets и соответствующие порты в дереве:"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3805
+#, no-wrap
+msgid "Available wxWidgets Versions"
+msgstr "Доступные версии wxWidgets"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3809
+#, no-wrap
+msgid "Version"
+msgstr "Версия"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3811
+#, no-wrap
+msgid "Port"
+msgstr "Порт"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3812
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3830
+#, no-wrap
+msgid "`2.8`"
+msgstr "`2.8`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3814
+#, no-wrap
+msgid "package:x11-toolkits/wxgtk28[]"
+msgstr "package:x11-toolkits/wxgtk28[]"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3815
+#, no-wrap
+msgid "`3.0`"
+msgstr "`3.0`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3816
+#, no-wrap
+msgid "package:x11-toolkits/wxgtk30[]"
+msgstr "package:x11-toolkits/wxgtk30[]"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3819
+msgid ""
+"The variables in crossref:special[wx-ver-sel-table,Variables to Select "
+"wxWidgets Versions] can be set to one or more of these combinations "
+"separated by spaces:"
+msgstr ""
+"Переменные в crossref:special[wx-ver-sel-table,Переменные для выбора версий "
+"wxWidgets] могут быть установлены в одну или несколько комбинаций, "
+"разделенных пробелами:"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3821
+#, no-wrap
+msgid "wxWidgets Version Specifications"
+msgstr "Спецификации версий wxWidgets"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3827
+#, no-wrap
+msgid "Example"
+msgstr "Пример"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3828
+#, no-wrap
+msgid "Single version"
+msgstr "Единственная версия"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3831
+#, no-wrap
+msgid "Ascending range"
+msgstr "Возрастающий диапазон"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3833
+#, no-wrap
+msgid "`2.8+`"
+msgstr "`2.8+`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3834
+#, no-wrap
+msgid "Descending range"
+msgstr "Нисходящий диапазон"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3836
+#, no-wrap
+msgid "`3.0-`"
+msgstr "`3.0-`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3837
+#, no-wrap
+msgid "Full range (must be ascending)"
+msgstr "Полный диапазон (должен быть возрастающим)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3838
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3881
+#, no-wrap
+msgid "`2.8-3.0`"
+msgstr "`2.8-3.0`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3842
+msgid ""
+"There are also some variables to select the preferred versions from the "
+"available ones. They can be set to a list of versions, the first ones will "
+"have higher priority."
+msgstr ""
+"Существуют также переменные для выбора предпочтительных версий из доступных. "
+"Их можно установить в виде списка версий, где первые будут иметь более "
+"высокий приоритет."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3843
+#, no-wrap
+msgid "Variables to Select Preferred wxWidgets Versions"
+msgstr "Переменные для выбора предпочтительных версий wxWidgets"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3849
+#, no-wrap
+msgid "Designed for"
+msgstr "Предназначен для"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3850
+#, no-wrap
+msgid "`WANT_WX_VER`"
+msgstr "`WANT_WX_VER`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3852
+#, no-wrap
+msgid "the port"
+msgstr "порт"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3853
+#, no-wrap
+msgid "`WITH_WX_VER`"
+msgstr "`WITH_WX_VER`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3854
+#, no-wrap
+msgid "the user"
+msgstr "пользователь"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3861
+msgid ""
+"There are other applications that, while not being wxWidgets libraries, are "
+"related to them. These applications can be specified in `WX_COMPS`. These "
+"components are available:"
+msgstr ""
+"Существуют другие приложения, которые, не являясь библиотеками wxWidgets, "
+"связаны с ними. Эти приложения можно указать в `WX_COMPS`. Доступны "
+"следующие компоненты:"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3863
+#, no-wrap
+msgid "Available wxWidgets Components"
+msgstr "Доступные компоненты wxWidgets"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3870
+#, no-wrap
+msgid "Version restriction"
+msgstr "Ограничение версии"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3871
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3914
+#, no-wrap
+msgid "`wx`"
+msgstr "`wx`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3872
+#, no-wrap
+msgid "main library"
+msgstr "основная библиотека"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3874
+#, no-wrap
+msgid "none"
+msgstr "none"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3875
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3917
+#, no-wrap
+msgid "`contrib`"
+msgstr "`contrib`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3876
+#, no-wrap
+msgid "contributed libraries"
+msgstr "сторонние библиотеки"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3878
+#, no-wrap
+msgid "`none`"
+msgstr "`none`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3879
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3920
+#, no-wrap
+msgid "`python`"
+msgstr "`python`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3880
+#, no-wrap
+msgid "wxPython (Python bindings)"
+msgstr "wxPython (интерфейс Python)"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3886
+msgid ""
+"The dependency type can be selected for each component by adding a suffix "
+"separated by a semicolon. If not present then a default type will be used "
+"(see crossref:special[wx-def-dep-types,Default wxWidgets Dependency "
+"Types]). These types are available:"
+msgstr ""
+"Тип зависимости может быть выбран для каждого компонента путем добавления "
+"суффикса, разделенного точкой с запятой. Если он отсутствует, будет "
+"использоваться тип по умолчанию (см. crossref:special[wx-def-dep-types,Типы "
+"зависимостей wxWidgets по умолчанию]). Доступны следующие типы:"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3888
+#, no-wrap
+msgid "Available wxWidgets Dependency Types"
+msgstr "Доступные типы зависимостей wxWidgets"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3895
+#, no-wrap
+msgid "`build`"
+msgstr "`build`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3897
+#, no-wrap
+msgid "Component is required for building, equivalent to `BUILD_DEPENDS`"
+msgstr "Компонент необходим для сборки, эквивалентен `BUILD_DEPENDS`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3898
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3922
+#, no-wrap
+msgid "`run`"
+msgstr "`run`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3900
+#, no-wrap
+msgid "Component is required for running, equivalent to `RUN_DEPENDS`"
+msgstr "Компонент необходим для запуска, эквивалентно `RUN_DEPENDS`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3901
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3916
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3919
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3925
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3927
+#, no-wrap
+msgid "`lib`"
+msgstr "`lib`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3902
+#, no-wrap
+msgid "Component is required for building and running, equivalent to `LIB_DEPENDS`"
+msgstr "Компонент необходим для сборки и запуска, эквивалентен `LIB_DEPENDS`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3905
+msgid "The default values for the components are detailed in this table:"
+msgstr "Значения по умолчанию для компонентов подробно описаны в этой таблице:"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3907
+#, no-wrap
+msgid "Default wxWidgets Dependency Types"
+msgstr "Типы зависимостей wxWidgets по умолчанию"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3913
+#, no-wrap
+msgid "Dependency type"
+msgstr "Тип зависимости"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3923
+#, no-wrap
+msgid "`mozilla`"
+msgstr "`mozilla`"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3930
+#, no-wrap
+msgid "Selecting wxWidgets Components"
+msgstr "Выбор компонентов wxWidgets"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3934
+msgid ""
+"This fragment corresponds to a port which uses wxWidgets version `2.4` and "
+"its contributed libraries."
+msgstr ""
+"Этот фрагмент соответствует порту, который использует wxWidgets версии `2.4` "
+"и дополнительные библиотеки."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3939
+#, no-wrap
+msgid ""
+"USE_WX=\t\t2.8\n"
+"WX_COMPS=\twx contrib\n"
+msgstr ""
+"USE_WX=\t\t2.8\n"
+"WX_COMPS=\twx contrib\n"
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3944
+#, no-wrap
+msgid "Detecting Installed Versions"
+msgstr "Обнаружение установленных версий"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3949
+msgid ""
+"To detect an installed version, define `WANT_WX`. If it is not set to a "
+"specific version then the components will have a version suffix. `HAVE_WX` "
+"will be filled after detection."
+msgstr ""
+"Для определения установленной версии определите `WANT_WX`. Если значение не "
+"задано для конкретной версии, компоненты будут иметь суффикс версии. "
+"`HAVE_WX` будет заполнен после обнаружения."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3951
+#, no-wrap
+msgid "Detecting Installed wxWidgets Versions and Components"
+msgstr "Обнаружение установленных версий и компонентов wxWidgets"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3955
+msgid ""
+"This fragment can be used in a port that uses wxWidgets if it is installed, "
+"or an option is selected."
+msgstr ""
+"Этот фрагмент может использоваться в порте, который использует wxWidgets, "
+"если они установлены или выбран соответствующий параметр."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3959
+#, no-wrap
+msgid "WANT_WX=\tyes\n"
+msgstr "WANT_WX=\tyes\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3961
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3977
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4030
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4620
+#, no-wrap
+msgid ".include <bsd.port.pre.mk>\n"
+msgstr ".include <bsd.port.pre.mk>\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3966
+#, no-wrap
+msgid ""
+".if defined(WITH_WX) || !empty(PORT_OPTIONS:MWX) || !empty(HAVE_WX:Mwx-2.8)\n"
+"USE_WX=\t\t\t2.8\n"
+"CONFIGURE_ARGS+=\t--enable-wx\n"
+".endif\n"
+msgstr ""
+".if defined(WITH_WX) || !empty(PORT_OPTIONS:MWX) || !empty(HAVE_WX:Mwx-2.8)\n"
+"USE_WX=\t\t\t2.8\n"
+"CONFIGURE_ARGS+=\t--enable-wx\n"
+".endif\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3969
+msgid ""
+"This fragment can be used in a port that enables wxPython support if it is "
+"installed or if an option is selected, in addition to wxWidgets, both "
+"version `2.8`."
+msgstr ""
+"Этот фрагмент может использоваться в порте, который включает поддержку "
+"wxPython, если она установлена или выбрана соответствующая опция, в "
+"дополнение к wxWidgets, обе версии `2.8`."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3975
+#, no-wrap
+msgid ""
+"USE_WX=\t\t2.8\n"
+"WX_COMPS=\twx\n"
+"WANT_WX=\t2.8\n"
+msgstr ""
+"USE_WX=\t\t2.8\n"
+"WX_COMPS=\twx\n"
+"WANT_WX=\t2.8\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3982
+#, no-wrap
+msgid ""
+".if defined(WITH_WXPYTHON) || !empty(PORT_OPTIONS:MWXPYTHON) || !empty(HAVE_WX:Mpython)\n"
+"WX_COMPS+=\t\tpython\n"
+"CONFIGURE_ARGS+=\t--enable-wxpython\n"
+".endif\n"
+msgstr ""
+".if defined(WITH_WXPYTHON) || !empty(PORT_OPTIONS:MWXPYTHON) || !empty(HAVE_WX:Mpython)\n"
+"WX_COMPS+=\t\tpython\n"
+"CONFIGURE_ARGS+=\t--enable-wxpython\n"
+".endif\n"
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3987
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4157
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4392
+#, no-wrap
+msgid "Defined Variables"
+msgstr "Переменные, определенные в фреймворке"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3990
+msgid ""
+"These variables are available in the port (after defining one from "
+"crossref:special[wx-ver-sel-table,Variables to Select wxWidgets Versions])."
+msgstr ""
+"Эти переменные доступны в порте (после определения одной из "
+"crossref:special[wx-ver-sel-table,переменных для выбора версий wxWidgets])."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3992
+#, no-wrap
+msgid "Variables Defined for Ports That Use wxWidgets"
+msgstr "Переменные, определенные для портов, использующих wxWidgets"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3999
+#, no-wrap
+msgid "`WX_CONFIG`"
+msgstr "`WX_CONFIG`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4001
+#, no-wrap
+msgid "The path to the wxWidgets`wx-config` script (with different name)"
+msgstr "Путь к скрипту `wx-config` wxWidgets (с другим именем)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4002
+#, no-wrap
+msgid "`WXRC_CMD`"
+msgstr "`WXRC_CMD`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4004
+#, no-wrap
+msgid "The path to the wxWidgets`wxrc` program (with different name)"
+msgstr "Путь к программе `wxrc` wxWidgets (с другим именем)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4005
+#, no-wrap
+msgid "`WX_VERSION`"
+msgstr "`WX_VERSION`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4006
+#, no-wrap
+msgid "The wxWidgets version that is going to be used (for example, `2.6`)"
+msgstr "Версия wxWidgets, которая будет использоваться (например, `2.6`)"
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4009
+#, no-wrap
+msgid "Processing in [.filename]#bsd.port.pre.mk#"
+msgstr "Обработка в [.filename]#bsd.port.pre.mk#"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4012
+msgid ""
+"Define `WX_PREMK` to be able to use the variables right after including "
+"[.filename]#bsd.port.pre.mk#."
+msgstr ""
+"Определите `WX_PREMK`, чтобы иметь возможность использовать переменные сразу "
+"после включения [.filename]#bsd.port.pre.mk#."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4016
+msgid ""
+"When defining `WX_PREMK`, then the version, dependencies, components and "
+"defined variables will not change if modifying the wxWidgets port variables "
+"_after_ including [.filename]#bsd.port.pre.mk#."
+msgstr ""
+"При определении `WX_PREMK` версия, зависимости, компоненты и определенные "
+"переменные не изменятся при модификации переменных порта wxWidgets _после_ "
+"включения [.filename]#bsd.port.pre.mk#."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4019
+#, no-wrap
+msgid "Using wxWidgets Variables in Commands"
+msgstr "Использование переменных wxWidgets в командах"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4023
+msgid ""
+"This fragment illustrates the use of `WX_PREMK` by running the `wx-config` "
+"script to obtain the full version string, assign it to a variable and pass "
+"it to the program."
+msgstr ""
+"Этот фрагмент иллюстрирует использование `WX_PREMK` путем запуска скрипта "
+"`wx-config` для получения полной строки версии, присвоения её переменной и "
+"передачи в программу."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4028
+#, no-wrap
+msgid ""
+"USE_WX=\t\t2.8\n"
+"WX_PREMK=\tyes\n"
+msgstr ""
+"USE_WX=\t\t2.8\n"
+"WX_PREMK=\tyes\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4033
+#, no-wrap
+msgid ""
+".if exists(${WX_CONFIG})\n"
+"VER_STR!=\t${WX_CONFIG} --release\n"
+msgstr ""
+".if exists(${WX_CONFIG})\n"
+"VER_STR!=\t${WX_CONFIG} --release\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4036
+#, no-wrap
+msgid ""
+"PLIST_SUB+=\tVERSION=\"${VER_STR}\"\n"
+".endif\n"
+msgstr ""
+"PLIST_SUB+=\tVERSION=\"${VER_STR}\"\n"
+".endif\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4043
+msgid ""
+"The wxWidgets variables can be safely used in commands when they are inside "
+"targets without the need of `WX_PREMK`."
+msgstr ""
+"Переменные wxWidgets можно безопасно использовать в командах внутри целей "
+"без необходимости в `WX_PREMK`."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4046
+#, no-wrap
+msgid "Additional `configure` Arguments"
+msgstr "Дополнительные параметры `configure`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4049
+msgid ""
+"Some GNU `configure` scripts cannot find wxWidgets with just the `WX_CONFIG` "
+"environment variable set, requiring additional arguments. `WX_CONF_ARGS` can "
+"be used for provide them."
+msgstr ""
+"Некоторые скрипты GNU `configure` не могут найти wxWidgets, если задана "
+"только переменная окружения `WX_CONFIG`, и требуют дополнительные параметры. "
+"`WX_CONF_ARGS` можно использовать для их указания."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4051
+#, no-wrap
+msgid "Legal Values for `WX_CONF_ARGS`"
+msgstr "Допустимые значения для `WX_CONF_ARGS`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4055
+#, no-wrap
+msgid "Possible value"
+msgstr "Возможное значение"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4057
+#, no-wrap
+msgid "Resulting argument"
+msgstr "Получаемый параметр"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4058
+#, no-wrap
+msgid "`absolute`"
+msgstr "`absolute`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4060
+#, no-wrap
+msgid "`--with-wx-config=${WX_CONFIG}`"
+msgstr "`--with-wx-config=${WX_CONFIG}`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4061
+#, no-wrap
+msgid "`relative`"
+msgstr "`relative`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4062
+#, no-wrap
+msgid "`--with-wx=${LOCALBASE} --with-wx-config=${WX_CONFIG:T}`"
+msgstr "`--with-wx=${LOCALBASE} --with-wx-config=${WX_CONFIG:T}`"
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4065
+#, no-wrap
+msgid "Using Lua"
+msgstr "Использование Lua"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4068
+msgid ""
+"This section describes the status of the Lua libraries in the ports tree and "
+"its integration with the ports system."
+msgstr ""
+"Этот раздел описывает состояние библиотек Lua в дереве портов и их "
+"интеграцию с системой портов."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4074
+msgid ""
+"There are many versions of the Lua libraries and corresponding interpreters, "
+"which conflict between them (install files under the same name). In the "
+"ports tree this problem has been solved by installing each version under a "
+"different name using version number suffixes."
+msgstr ""
+"Существует множество версий библиотек Lua и соответствующих интерпретаторов, "
+"которые конфликтуют между собой (устанавливают файлы с одинаковыми именами). "
+"В дереве портов эта проблема решена установкой каждой версии под разными "
+"именами с использованием суффиксов номеров версий."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4077
+msgid ""
+"The obvious disadvantage of this is that each application has to be modified "
+"to find the expected version. But it can be solved by adding some "
+"additional flags to the compiler and linker."
+msgstr ""
+"Очевидный недостаток этого заключается в том, что каждое приложение "
+"необходимо модифицировать для поиска ожидаемой версии. Однако это можно "
+"решить, добавив дополнительные флаги компилятору и компоновщику."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4080
+msgid ""
+"Applications that use Lua should normally build for just one version. "
+"However, loadable modules for Lua are built in a separate flavor for each "
+"Lua version that they support, and dependencies on such modules should "
+"specify the flavor using the `@${LUA_FLAVOR}` suffix on the port origin."
+msgstr ""
+"Приложения, использующие Lua, обычно должны собираться только для одной "
+"версии. Однако загружаемые модули для Lua собираются в отдельных флейворах "
+"для каждой поддерживаемой версии Lua, и зависимости от таких модулей должны "
+"указывать флейвор с использованием суффикса `@${LUA_FLAVOR}` в расположении "
+"(origin) порта."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4085
+msgid "A port using Lua should have a line of this form:"
+msgstr "Порт, использующий Lua, должен содержать строку следующего вида:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4089
+#, no-wrap
+msgid "USES=\tlua\n"
+msgstr "USES=\tlua\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4094
+msgid ""
+"If a specific version of Lua, or range of versions, is needed, it can be "
+"specified as a parameter in the form `XY` (which may be used multiple "
+"times), `XY+`, `-XY`, or `XY-ZA`. The default version of Lua as set via "
+"`DEFAULT_VERSIONS` will be used if it falls in the requested range, "
+"otherwise the closest requested version to the default will be used. For "
+"example:"
+msgstr ""
+"Если требуется определённая версия Lua или диапазон версий, его можно "
+"указать в виде параметра `XY` (который можно использовать несколько раз), "
+"`XY+`, `-XY` или `XY-ZA`. Версия Lua, установленная через "
+"`DEFAULT_VERSIONS`, будет использована, если она попадает в запрошенный "
+"диапазон, в противном случае будет использована ближайшая к умолчанию "
+"запрошенная версия. Например:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4098
+#, no-wrap
+msgid "USES=\tlua:52-53\n"
+msgstr "USES=\tlua:52-53\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4101
+msgid ""
+"Note that no attempt is made to adjust the version selection based on the "
+"presence of any already-installed Lua version."
+msgstr ""
+"Обратите внимание, что не предпринимается попытка изменить выбор версии на "
+"основе наличия любой уже установленной версии Lua."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4106
+msgid ""
+"The `XY+` form of version specification should not be used without careful "
+"consideration; the Lua API changes to some extent in every version, and "
+"configuration tools like CMake or Autoconf will often fail to work on future "
+"versions of Lua until updated to do so."
+msgstr ""
+"Форма указания версии `XY+` не должна использоваться без тщательного "
+"обдумывания; Lua API в некоторой степени меняется с каждой версией, и "
+"инструменты конфигурации, такие как CMake или Autoconf, скорее всего не "
+"будут работать с будущими версиями Lua, пока не будут обновлены для этого."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4109
+#, no-wrap
+msgid "Configuration and Compiler flags"
+msgstr "Конфигурация и флаги компилятора"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4114
+msgid ""
+"Software that uses Lua may have been written to auto-detect the Lua version "
+"in use. In general ports should override this assumption, and force the use "
+"of the specific Lua version selected as described above. Depending on the "
+"software being ported, this might require any or all of:"
+msgstr ""
+"Программное обеспечение, использующее Lua, может быть написано с "
+"автоматическим определением версии Lua в использовании. В общем случае порты "
+"должны переопределять это предположение и принудительно использовать "
+"конкретную выбранную версию Lua, как описано выше. В зависимости от "
+"портируемого программного обеспечения, это может потребовать любого или всех "
+"из следующих действий:"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4116
+msgid ""
+"Using `LUA_VER` as part of a parameter to the software's configuration "
+"script via `CONFIGURE_ARGS` or `CONFIGURE_ENV` (or equivalent for other "
+"build systems);"
+msgstr ""
+"Использование `LUA_VER` в качестве части параметра для скрипта конфигурации "
+"программного обеспечения через `CONFIGURE_ARGS` или `CONFIGURE_ENV` (или "
+"эквивалентные для других систем сборки);"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4117
+msgid ""
+"Adding `-I${LUA_INCDIR}`, `-L${LUA_LIBDIR}`, and `-llua-${LUA_VER}` to "
+"`CFLAGS`, `LDFLAGS`, `LIBS` respectively as appropriate;"
+msgstr ""
+"Добавление `-I${LUA_INCDIR}`, `-L${LUA_LIBDIR}` и `-llua-${LUA_VER}` в "
+"`CFLAGS`, `LDFLAGS` и `LIBS` соответственно, где это необходимо;"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4118
+msgid ""
+"Patch the software's configuration or build files to select the correct "
+"version."
+msgstr ""
+"Исправьте конфигурационные или файлы сборки программного обеспечения, чтобы "
+"выбрать правильную версию."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4121
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4365
+#, no-wrap
+msgid "Version Flavors"
+msgstr "Флейворы версии"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4125
+msgid ""
+"A port which installs a Lua module (rather than an application that simply "
+"makes use of Lua) should build a separate flavor for each supported Lua "
+"version. This is done by adding the `module` parameter:"
+msgstr ""
+"Порт, который устанавливает модуль Lua (а не приложение, просто использующее "
+"Lua), должен собирать отдельный флейвор для каждой поддерживаемой версии "
+"Lua. Это делается путем добавления параметра `module`:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4129
+#, no-wrap
+msgid "USES=\tlua:module\n"
+msgstr "USES=\tlua:module\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4132
+msgid ""
+"A version number or range of versions can be specified as well; use a comma "
+"to separate parameters."
+msgstr ""
+"Так же может быть указае номер версии или диапазон версий. Используйте "
+"запятую для разделения параметров."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4134
+msgid ""
+"Since each flavor must have a different package name, the variable "
+"`LUA_PKGNAMEPREFIX` is provided which will be set to an appropriate value; "
+"the intended usage is:"
+msgstr ""
+"Поскольку каждый флейвор должен иметь уникальное имя пакета, предоставляется "
+"переменная `LUA_PKGNAMEPREFIX`, которая будет установлена в соответствующее "
+"значение; предполагаемое использование:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4138
+#, no-wrap
+msgid "PKGNAMEPREFIX=\t${LUA_PKGNAMEPREFIX}\n"
+msgstr "PKGNAMEPREFIX=\t${LUA_PKGNAMEPREFIX}\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4142
+msgid ""
+"Module ports should normally install files only to `LUA_MODLIBDIR`, "
+"`LUA_MODSHAREDIR`, `LUA_DOCSDIR`, and `LUA_EXAMPLESDIR`, all of which are "
+"set up to refer to version-specific subdirectories. Installing any other "
+"files must be done with care to avoid conflicts between versions."
+msgstr ""
+"Модульные порты обычно должны устанавливать файлы только в `LUA_MODLIBDIR`, "
+"`LUA_MODSHAREDIR`, `LUA_DOCSDIR` и `LUA_EXAMPLESDIR`, все из которых "
+"настроены на ссылки в версионно-зависимые подкаталоги. Установка любых "
+"других файлов должна выполняться с осторожностью, чтобы избежать конфликтов "
+"между версиями."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4144
+msgid ""
+"A port (other than a Lua module) which wishes to build a separate package "
+"for each Lua version should use the `flavors` parameter:"
+msgstr ""
+"Порт (кроме модуля Lua), который хочет собрать отдельный пакет для каждой "
+"версии Lua, должен использовать параметр `flavors`:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4148
+#, no-wrap
+msgid "USES=\tlua:flavors\n"
+msgstr "USES=\tlua:flavors\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4152
+msgid ""
+"This operates the same way as the `module` parameter described above, but "
+"without the assumption that the package should be documented as a Lua module "
+"(so `LUA_DOCSDIR` and `LUA_EXAMPLESDIR` are not defined by default). "
+"However, the port may choose to define `LUA_DOCSUBDIR` as a suitable "
+"subdirectory name (usually the port's `PORTNAME` as long as this does not "
+"conflict with the `PORTNAME` of any module), in which case the framework "
+"will define both `LUA_DOCSDIR` and `LUA_EXAMPLESDIR`."
+msgstr ""
+"Это работает так же, как параметр `module`, описанный выше, но без "
+"предположения, что пакет должен быть задокументирован как модуль Lua "
+"(поэтому `LUA_DOCSDIR` и `LUA_EXAMPLESDIR` по умолчанию не определены). "
+"Однако порт может определить `LUA_DOCSUBDIR` как подходящее имя подкаталога "
+"(обычно `PORTNAME` порта, если это не конфликтует с `PORTNAME` любого "
+"модуля), и в этом случае фреймворк определит как `LUA_DOCSDIR`, так и "
+"`LUA_EXAMPLESDIR`."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4155
+msgid ""
+"As with module ports, a flavored port should avoid installing files that "
+"would conflict between versions. Typically this is done by adding "
+"`LUA_VER_STR` as a suffix to program names (e.g. using crossref:uses[uses-"
+"uniquefiles,`uniquefiles`]), and otherwise using either `LUA_VER` or "
+"`LUA_VER_STR` as part of any other files or subdirectories used outside of "
+"`LUA_MODLIBDIR` and `LUA_MODSHAREDIR`."
+msgstr ""
+"Как и в случае с модульными портами, порт с флейворами должен избегать "
+"установки файлов, которые могут конфликтовать между версиями. Обычно это "
+"достигается добавлением `LUA_VER_STR` в качестве суффикса к именам программ "
+"(например, с использованием crossref:uses[uses-uniquefiles,`uniquefiles`]), "
+"а также использованием `LUA_VER` или `LUA_VER_STR` в составе других файлов "
+"или поддиректорий, используемых вне `LUA_MODLIBDIR` и `LUA_MODSHAREDIR`."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4160
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4395
+msgid "These variables are available in the port."
+msgstr "В порте доступны эти переменные."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4162
+#, no-wrap
+msgid "Variables Defined for Ports That Use Lua"
+msgstr "Переменные, определенные для портов, использующих Lua"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4169
+#, no-wrap
+msgid "`LUA_VER`"
+msgstr "`LUA_VER`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4171
+#, no-wrap
+msgid "The Lua version that is going to be used (for example, `5.4`)"
+msgstr "Версия Lua, которая будет использоваться (например, `5.4`)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4172
+#, no-wrap
+msgid "`LUA_VER_STR`"
+msgstr "`LUA_VER_STR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4174
+#, no-wrap
+msgid "The Lua version without the dots (for example, `54`)"
+msgstr "Версия Lua без точек (например, `54`)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4175
+#, no-wrap
+msgid "`LUA_FLAVOR`"
+msgstr "`LUA_FLAVOR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4177
+#, no-wrap
+msgid "The flavor name corresponding to the selected Lua version, to be used for specifying dependencies"
+msgstr "Имя флейвора, соответствующее выбранной версии Lua, используемое для указания зависимостей"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4178
+#, no-wrap
+msgid "`LUA_BASE`"
+msgstr "`LUA_BASE`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4180
+#, no-wrap
+msgid "The prefix that should be used to locate Lua (and components) that are already installed"
+msgstr "Префикс, который должен использоваться для поиска Lua (и компонентов), уже установленных"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4181
+#, no-wrap
+msgid "`LUA_PREFIX`"
+msgstr "`LUA_PREFIX`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4183
+#, no-wrap
+msgid "The prefix where Lua (and components) are to be installed by this port"
+msgstr "Префикс, куда этим портом будут установлены Lua (и компоненты)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4184
+#, no-wrap
+msgid "`LUA_INCDIR`"
+msgstr "`LUA_INCDIR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4186
+#, no-wrap
+msgid "The directory where Lua header files are installed"
+msgstr "Каталог, в котором установлены заголовочные файлы Lua"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4187
+#, no-wrap
+msgid "`LUA_LIBDIR`"
+msgstr "`LUA_LIBDIR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4189
+#, no-wrap
+msgid "The directory where Lua libraries are installed"
+msgstr "Каталог, в котором установлены библиотеки Lua"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4190
+#, no-wrap
+msgid "`LUA_REFMODLIBDIR`"
+msgstr "`LUA_REFMODLIBDIR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4192
+#, no-wrap
+msgid "The directory where Lua module libraries ([.filename]#.so#) that are already installed are to be found"
+msgstr "Каталог, в котором находятся уже установленные библиотеки модулей Lua ([.filename]#.so#)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4193
+#, no-wrap
+msgid "`LUA_REFMODSHAREDIR`"
+msgstr "`LUA_REFMODSHAREDIR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4195
+#, no-wrap
+msgid "The directory where Lua modules ([.filename]#.lua#) that are already installed are to be found"
+msgstr "Каталог, в котором находятся установленные модули Lua ([.filename]#.lua#)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4196
+#, no-wrap
+msgid "`LUA_MODLIBDIR`"
+msgstr "`LUA_MODLIBDIR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4198
+#, no-wrap
+msgid "The directory where Lua module libraries ([.filename]#.so#) are to be installed by this port"
+msgstr "Каталог, в котором библиотеки модулей Lua ([.filename]#.so#) должны быть установлены данным портом"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4199
+#, no-wrap
+msgid "`LUA_MODSHAREDIR`"
+msgstr "`LUA_MODSHAREDIR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4201
+#, no-wrap
+msgid "The directory where Lua modules ([.filename]#.lua#) are to be installed by this port"
+msgstr "Каталог, в котором должны быть установлены модули Lua ([.filename]#.lua#) данным портом"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4202
+#, no-wrap
+msgid "`LUA_PKGNAMEPREFIX`"
+msgstr "`LUA_PKGNAMEPREFIX`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4204
+#, no-wrap
+msgid "The package name prefix used by Lua modules"
+msgstr "Префикс имени пакета, используемый модулями Lua"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4205
+#, no-wrap
+msgid "`LUA_CMD`"
+msgstr "`LUA_CMD`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4207
+#, no-wrap
+msgid "The name of the Lua interpreter (e.g. `lua54`)"
+msgstr "Название интерпретатора Lua (например, `lua54`)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4208
+#, no-wrap
+msgid "`LUAC_CMD`"
+msgstr "`LUAC_CMD`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4209
+#, no-wrap
+msgid "The name of the Lua compiler (e.g. `luac54`)"
+msgstr "Название компилятора Lua (например, `luac54`)"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4212
+msgid ""
+"These additional variables are available for ports that specified the "
+"`module` parameter:"
+msgstr ""
+"Эти дополнительные переменные доступны для портов, которые указали параметр "
+"`module`:"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4214
+#, no-wrap
+msgid "Variables Defined for Lua Module Ports"
+msgstr "Переменные, определенные для модулей Lua в портах"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4221
+#, no-wrap
+msgid "`LUA_DOCSDIR`"
+msgstr "`LUA_DOCSDIR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4223
+#, no-wrap
+msgid "the directory to which the module's documentation should be installed."
+msgstr "каталог, в который должна быть установлена документация модуля."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4224
+#, no-wrap
+msgid "`LUA_EXAMPLESDIR`"
+msgstr "`LUA_EXAMPLESDIR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4225
+#, no-wrap
+msgid "the directory to which the module's example files should be installed."
+msgstr "каталог, в который должны быть установлены примеры файлов модуля."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4231
+#, no-wrap
+msgid "Makefile for an application using Lua"
+msgstr "`Makefile` для приложения, использующего Lua"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4236
+msgid ""
+"This example shows how to reference a Lua module required at run time. "
+"Notice that the reference must specify a flavor."
+msgstr ""
+"Этот пример показывает, как сослаться на модуль Lua, требуемый во время "
+"выполнения. Обратите внимание, что ссылка должна указывать флейвор."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4242
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4503
+#, no-wrap
+msgid ""
+"PORTNAME=\tsample\n"
+"DISTVERSION=\t1.2.3\n"
+"CATEGORIES=\twhatever\n"
+msgstr ""
+"PORTNAME=\tsample\n"
+"DISTVERSION=\t1.2.3\n"
+"CATEGORIES=\twhatever\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4246
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4270
+#, no-wrap
+msgid ""
+"MAINTAINER=\tfred.bloggs@example.com\n"
+"COMMENT=\tSample\n"
+"WWW=\t\thttps://example.com/lua_sample/sample/\n"
+msgstr ""
+"MAINTAINER=\tfred.bloggs@example.com\n"
+"COMMENT=\tSample\n"
+"WWW=\t\thttps://example.com/lua_sample/sample/\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4248
+#, no-wrap
+msgid "RUN_DEPENDS=\t${LUA_REFMODLIBDIR}/lpeg.so:devel/lua-lpeg@${LUA_FLAVOR}\n"
+msgstr "RUN_DEPENDS=\t${LUA_REFMODLIBDIR}/lpeg.so:devel/lua-lpeg@${LUA_FLAVOR}\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4250
+#, no-wrap
+msgid "USES=\t\tlua\n"
+msgstr "USES=\t\tlua\n"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4257
+#, no-wrap
+msgid "Makefile for a simple Lua module"
+msgstr "`Makefile` для простого модуля Lua"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4266
+#, no-wrap
+msgid ""
+"PORTNAME=\tsample\n"
+"DISTVERSION=\t1.2.3\n"
+"CATEGORIES=\twhatever\n"
+"PKGNAMEPREFIX=\t${LUA_PKGNAMEPREFIX}\n"
+msgstr ""
+"PORTNAME=\tsample\n"
+"DISTVERSION=\t1.2.3\n"
+"CATEGORIES=\twhatever\n"
+"PKGNAMEPREFIX=\t${LUA_PKGNAMEPREFIX}\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4272
+#, no-wrap
+msgid "USES=\t\tlua:module\n"
+msgstr "USES=\t\tlua:module\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4274
+#, no-wrap
+msgid "DOCSDIR=\t${LUA_DOCSDIR}\n"
+msgstr "DOCSDIR=\t${LUA_DOCSDIR}\n"
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4281
+#, no-wrap
+msgid "Using Guile"
+msgstr "Использование Guile"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4284
+msgid ""
+"This section describes the status of Guile in the ports tree and its "
+"integration with the ports system."
+msgstr ""
+"Этот раздел описывает состояние Guile в дереве портов и его интеграцию с "
+"системой портов."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4293
+msgid ""
+"There are multiple versions of the Guile libraries and corresponding "
+"interpreters, which conflict between them (install files under the same "
+"name). In the ports tree this problem has been solved by installing each "
+"version under a different name using version number suffixes. In most "
+"cases, applications should detect the correct version from the configuration "
+"variables provided and use `pkg-config` to determine the name and associated "
+"paths. However, some applications (especially those using their own "
+"configuration rules for `cmake` or `meson`) will always try to use the "
+"latest available version. In this case, either patch the port or declare a "
+"build conflict (see the `conflicts` option below) to ensure that the correct "
+"dependency is generated when building outside of poudriere."
+msgstr ""
+"Существует несколько версий библиотек Guile и соответствующих "
+"интерпретаторов, которые конфликтуют между собой (устанавливают файлы с "
+"одинаковыми именами). В дереве портов эта проблема решена путем установки "
+"каждой версии под разными именами с использованием суффиксов номеров версий. "
+"В большинстве случаев приложения должны определять правильную версию из "
+"предоставленных конфигурационных переменных и использовать `pkg-config` для "
+"определения имени и связанных путей. Однако некоторые приложения (особенно "
+"те, которые используют собственные правила конфигурации для `cmake` или "
+"`meson`) всегда будут пытаться использовать последнюю доступную версию. В "
+"этом случае либо исправьте порт, либо объявите конфликт сборки (см. опцию "
+"`conflicts` ниже), чтобы гарантировать создание правильной зависимости при "
+"сборке вне poudriere."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4299
+msgid ""
+"Applications that use Guile should normally build for just one version, "
+"preferably the one specified in `DEFAULT_VERSIONS`, or failing that the "
+"latest version that they support. However, Guile or Scheme libraries, or "
+"extension modules for Guile are built in a separate flavor for each Guile "
+"version that they support, and dependencies on such ports should specify the "
+"flavor using the `@${GUILE_FLAVOR}` suffix on the port origin."
+msgstr ""
+"Приложения, использующие Guile, обычно должны собираться только для одной "
+"версии, предпочтительно указанной в `DEFAULT_VERSIONS`, или, если это "
+"невозможно, для последней поддерживаемой версии. Однако библиотеки Guile или "
+"Scheme, а также модули расширения для Guile собираются в отдельных флейворах "
+"для каждой поддерживаемой версии Guile. Зависимости от таких портов должны "
+"указывать флейвор с использованием суффикса `@${GUILE_FLAVOR}` в "
+"расположении (origin) порта."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4304
+msgid ""
+"A port using Guile should define `USES=guile:__arg,arg...__` with "
+"appropriate arguments as follows:"
+msgstr ""
+"Порт, использующий Guile, должен определять `USES=guile:__arg,arg...__` с "
+"соответствующими параметрами следующим образом:"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4306
+#, no-wrap
+msgid "Arguments Defined for Ports That Use Guile"
+msgstr "Параметры, определенные для портов, использующих Guile"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4313
+#, no-wrap
+msgid "_X.Y_"
+msgstr "_X.Y_"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4317
+#, no-wrap
+msgid ""
+"Declare compatibility with Guile version `X.Y`.\n"
+"Currently available versions are `1.8` (obsolete), `2.2` and `3.0`.\n"
+"Multiple versions may be specified."
+msgstr ""
+"Объявить совместимость с версией Guile `X.Y`.\n"
+"Доступные версии: `1.8` (устарела), `2.2` и `3.0`.\n"
+"Можно указать несколько версий."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4318
+#, no-wrap
+msgid "flavors"
+msgstr "flavors"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4322
+#, no-wrap
+msgid ""
+"Create a flavor for every Guile version specified.\n"
+"The version specified by `DEFAULT_VERSIONS` will become the default flavor.\n"
+"Flavor names are of the form `guileXY`."
+msgstr ""
+"Создать флейвор для каждой указанной версии Guile.\n"
+"Версия, указанная в `DEFAULT_VERSIONS`, станет флейвором по умолчанию.\n"
+"Названия флейворов имеют вид `guileXY`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4323
+#, no-wrap
+msgid "build"
+msgstr "build"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4326
+#, no-wrap
+msgid ""
+"Add the Guile interpreter as a build dependency only, rather than a library dependency.\n"
+"`build` and `run` may both be specified."
+msgstr ""
+"Добавить интерпретатор Guile только как зависимость для сборки, а не как зависимость библиотеки.\n"
+"`build` и `run` могут быть указаны оба."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4327
+#, no-wrap
+msgid "run"
+msgstr "run"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4330
+#, no-wrap
+msgid ""
+"Add the Guile interpreter as a runtime dependency only, rather than a library dependency.\n"
+"`build` and `run` may both be specified."
+msgstr ""
+"Добавить интерпретатор Guile только как зависимость во время выполнения, а не как зависимость от библиотеки.\n"
+"`build` и `run` могут быть указаны оба."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4331
+#, no-wrap
+msgid "alias"
+msgstr "alias"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4333
+#, no-wrap
+msgid "Add `BINARY_ALIAS` values for the interpreter and tools."
+msgstr "Добавить значения `BINARY_ALIAS` для интерпретатора и инструментов."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4334
+#, no-wrap
+msgid "conflicts"
+msgstr "conflicts"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4336
+#, no-wrap
+msgid ""
+"Declare `CONFLICTS_BUILD` for Guile versions newer than the one selected.\n"
+"Use this when the port cannot be configured to use a specific Guile version."
+msgstr ""
+"Объявить `CONFLICTS_BUILD` для версий Guile новее выбранной. \n"
+"Используйте это, когда порт нельзя настроить на использование определённой версии Guile."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4339
+msgid ""
+"Some additional arguments are available for handling unusual cases; see `Mk/"
+"Uses/guile.mk` for details."
+msgstr ""
+"Некоторые дополнительные аргументы доступны для обработки нестандартных "
+"случаев; подробности см. в `Mk/Uses/guile.mk`."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4342
+msgid ""
+"Unless `build` or `run` is specified, then `LIB_DEPENDS` receives both the "
+"`libguile` library dependency and also any additional dependencies required "
+"by the guile version, e.g. `libgc`. Normally the port should not need any "
+"additional dependencies related to its use of Guile."
+msgstr ""
+"Если не указано `build` или `run`, то `LIB_DEPENDS` получает зависимость от "
+"библиотеки `libguile`, а также любые дополнительные зависимости, требуемые "
+"версией guile, например, `libgc`. Обычно порту не требуются дополнительные "
+"зависимости, связанные с использованием Guile."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4344
+#, no-wrap
+msgid "Configuration flags"
+msgstr "Флаги конфигурации"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4349
+msgid ""
+"Software that uses Guile should be using the `pkg-config` mechanism to "
+"obtain compiler and linker flags. Some older or esoteric ports may be using "
+"`guile-config` or obtaining values directly from `guile` instead, which "
+"should also work (the `alias` argument may be useful in some of these cases)."
+msgstr ""
+"Программное обеспечение, использующее Guile, должно использовать механизм "
+"`pkg-config` для получения флагов компилятора и компоновщика. Некоторые "
+"старые или экзотические порты могут использовать `guile-config` или получать "
+"значения напрямую из `guile`, что также должно работать (в некоторых из этих "
+"случаев может быть полезен аргумент `alias`)."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4351
+msgid ""
+"The framework tries to inform the port of the desired Guile version using "
+"the following methods:"
+msgstr ""
+"Фреймворк пытается сообщить порту желаемую версию Guile, используя следующие "
+"методы:"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4353
+msgid "`GUILE_EFFECTIVE_VERSION` is added to `CONFIGURE_ENV`;"
+msgstr "`GUILE_EFFECTIVE_VERSION` добавлен в `CONFIGURE_ENV`;"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4354
+msgid ""
+"The full path to the Guile binary is specified in the `GUILE` variable in "
+"`CONFIGURE_ENV` and `MAKE_ENV`;"
+msgstr ""
+"Полный путь к исполняемому файлу Guile указан в переменной `GUILE` в "
+"`CONFIGURE_ENV` и `MAKE_ENV`;"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4355
+msgid ""
+"If the `alias` option is used, the desired Guile version's binaries are the "
+"ones aliased;"
+msgstr ""
+"Если используется опция `alias`, то желаемые версии бинарных файлов Guile "
+"являются теми, которые имеют алиасы;"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4356
+msgid ""
+"If the `alias` option is not used, paths to the desired Guile version's "
+"tools (`guild`, `guile-config`, etc.) are added to `CONFIGURE_ENV` and "
+"`MAKE_ENV` as variables `GUILD`, `GUILE_CONFIG`, etc."
+msgstr ""
+"Если параметр `alias` не используется, пути к инструментам нужной версии "
+"Guile (`guild`, `guile-config` и т.д.) добавляются в `CONFIGURE_ENV` и "
+"`MAKE_ENV` в виде переменных `GUILD`, `GUILE_CONFIG` и т.д."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4359
+msgid ""
+"For some ports, it may be necessary to specify the version in additional "
+"ways, such as via `CONFIGURE_ARGS` or `MESON_ARGS`, depending on the port."
+msgstr ""
+"Для некоторых портов может потребоваться указать версию дополнительными "
+"способами, например, через `CONFIGURE_ARGS` или `MESON_ARGS`, в зависимости "
+"от порта."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4363
+msgid ""
+"If none of these methods cause the port to select the specified Guile "
+"version when other versions are present, then preferably patch it to do so. "
+"If that is not feasible, specify the `conflicts` option to prevent building "
+"the port under conditions where it will detect the wrong version."
+msgstr ""
+"Если ни один из этих методов не приводит к тому, что порт выбирает указанную "
+"версию Guile при наличии других версий, то предпочтительно исправить его, "
+"чтобы это происходило. Если это невозможно, укажите опцию `conflicts`, чтобы "
+"предотвратить сборку порта в условиях, когда он обнаруживает неправильную "
+"версию."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4370
+msgid ""
+"A port which installs a Guile extension or library, or a Scheme library that "
+"precompiles for Guile, should build a separate flavor for each supported "
+"Guile version. This is done by adding the `flavors` option."
+msgstr ""
+"Порт, который устанавливает расширение или библиотеку Guile, или библиотеку "
+"Scheme, которая предварительно компилируется для Guile, должен собирать "
+"отдельный флейвор для каждой поддерживаемой версии Guile. Это делается путем "
+"добавления опции `flavors`."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4372
+msgid ""
+"Since each flavor must have a different package name, such ports must set "
+"`PKGNAMESUFFIX`, typically:"
+msgstr ""
+"Поскольку каждый флейвор должен иметь уникальное имя пакета, такие порты "
+"обычно устанавливают `PKGNAMESUFFIX`, например:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4376
+#, no-wrap
+msgid "PKGNAMESUFFIX=\t-${FLAVOR}\n"
+msgstr "PKGNAMESUFFIX=\t-${FLAVOR}\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4380
+msgid ""
+"Such ports must install Scheme files to `GUILE_SITE_DIR` rather than to "
+"`GUILE_GLOBAL_SITE_DIR` even when the files are not version-specific. This "
+"often requires patching the port."
+msgstr ""
+"Такие порты должны устанавливать файлы Scheme в `GUILE_SITE_DIR`, а не в "
+"`GUILE_GLOBAL_SITE_DIR`, даже если файлы не зависят от версии. Это часто "
+"требует исправления порта."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4383
+msgid ""
+"Additionally, if such a port installs a `.pc` file, it must be placed in "
+"`GUILE_PKGCONFIG_PATH` rather than in the global `pkgconfig` directory. "
+"This allows dependent ports to find a correct configuration for the specific "
+"Guile version in use."
+msgstr ""
+"Кроме того, если такой порт устанавливает файл `.pc`, он должен быть "
+"размещён в `GUILE_PKGCONFIG_PATH`, а не в глобальной директории `pkgconfig`. "
+"Это позволяет зависимым портам находить правильную конфигурацию для "
+"используемой версии Guile."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4386
+msgid ""
+"If a Guile extension port installs a `.so` file, then it must usually be "
+"placed in the Guile-version-specific `extensions` directory. `USE_LDCONFIG` "
+"should usually not be used."
+msgstr ""
+"Если порт расширения Guile устанавливает файл `.so`, то обычно он должен "
+"быть размещён в специфичной для версии Guile директории `extensions`. Обычно "
+"не следует использовать `USE_LDCONFIG`."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4390
+msgid ""
+"Any other files installed by a flavored port must likewise be in version-"
+"specific directories or use version-specific filenames. For documentation "
+"and examples, `GUILE_DOCS_DIR` and `GUILE_EXAMPLES_DIR` specify suitable "
+"locations in which the port should create a subdirectory, see below."
+msgstr ""
+"Любые другие файлы, устанавливаемые портом с флейвором, также должны "
+"находиться в версионных каталогах или использовать версионные имена файлов. "
+"Для документации и примеров переменные `GUILE_DOCS_DIR` и "
+"`GUILE_EXAMPLES_DIR` указывают подходящие расположения, в которых порт "
+"должен создать подкаталог (см. ниже)."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4397
+#, no-wrap
+msgid "Variables Defined for Ports That Use Guile"
+msgstr "Переменные, определенные для портов, использующих Guile"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4402
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4464
+#, no-wrap
+msgid "Sample Value"
+msgstr "Пример значения"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4405
+#, no-wrap
+msgid "`GUILE_VER`"
+msgstr "`GUILE_VER`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4406
+#, no-wrap
+msgid "3.0"
+msgstr "3.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4408
+#, no-wrap
+msgid "Guile version in use."
+msgstr "Используемая версия Guile."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4409
+#, no-wrap
+msgid "`GUILE_SFX`"
+msgstr "`GUILE_SFX`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4410
+#, no-wrap
+msgid "3"
+msgstr "3"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4413
+#, no-wrap
+msgid ""
+"Short suffix used on some names.\n"
+"Use only with care; may be non-unique or may change in the future."
+msgstr ""
+"Короткий суффикс, используемый в некоторых именах.\n"
+"Используйте с осторожностью; может быть неуникальным или измениться в будущем."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4414
+#, no-wrap
+msgid "`GUILE_FLAVOR`"
+msgstr "`GUILE_FLAVOR`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4415
+#, no-wrap
+msgid "guile30"
+msgstr "guile30"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4417
+#, no-wrap
+msgid "Flavor name corresponding to the selected version."
+msgstr "Название флейвора, соответствующее выбранной версии."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4418
+#, no-wrap
+msgid "`GUILE_PORT`"
+msgstr "`GUILE_PORT`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4419
+#, no-wrap
+msgid "lang/guile3"
+msgstr "lang/guile3"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4421
+#, no-wrap
+msgid "Port origin of the specified Guile version."
+msgstr "Расположение порта (origin) для указанной версии Guile."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4422
+#, no-wrap
+msgid "`GUILE_PREFIX`"
+msgstr "`GUILE_PREFIX`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4423
+#, no-wrap
+msgid "${PREFIX}"
+msgstr "${PREFIX}"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4425
+#, no-wrap
+msgid "Directory prefix to be used for installation."
+msgstr "Префикс каталога для использования при установке."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4426
+#, no-wrap
+msgid "`GUILE_CMD`"
+msgstr "`GUILE_CMD`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4427
+#, no-wrap
+msgid "guile-3.0"
+msgstr "guile-3.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4429
+#, no-wrap
+msgid "Name of the Guile interpreter, with version suffix."
+msgstr "Имя интерпретатора Guile с суффиксом версии."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4430
+#, no-wrap
+msgid "`GUILE_CMDPATH`"
+msgstr "`GUILE_CMDPATH`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4431
+#, no-wrap
+msgid "${LOCALBASE}/bin/guile-3.0"
+msgstr "${LOCALBASE}/bin/guile-3.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4433
+#, no-wrap
+msgid "Full path to the Guile interpreter."
+msgstr "Полный путь к интерпретатору Guile."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4434
+#, no-wrap
+msgid "`GUILD_CMD`"
+msgstr "`GUILD_CMD`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4435
+#, no-wrap
+msgid "guild-3.0"
+msgstr "guild-3.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4437
+#, no-wrap
+msgid "Name of the Guild tool, with version suffix."
+msgstr "Название инструмента Guild, с суффиксом версии."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4438
+#, no-wrap
+msgid "`GUILD_CMDPATH`"
+msgstr "`GUILD_CMDPATH`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4439
+#, no-wrap
+msgid "${LOCALBASE}/bin/guild-3.0"
+msgstr "`${LOCALBASE}/bin/guild-3.0`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4441
+#, no-wrap
+msgid "Full path to the Guild tool."
+msgstr "Полный путь к инструменту Guild."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4443
+#, no-wrap
+msgid ""
+"`++GUILE_*_CMD++` +\n"
+"`++GUILE_*_CMDPATH++`"
+msgstr ""
+"`++GUILE_*_CMD++` +\n"
+"`++GUILE_*_CMDPATH++`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4446
+#, no-wrap
+msgid "Like `GUILE_CMD` and `GUILE_CMDPATH`, but for other tool binaries."
+msgstr "Как `GUILE_CMD` и `GUILE_CMDPATH`, но для других исполняемых файлов утилит."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4447
+#, no-wrap
+msgid "`GUILE_PKGCONFIG_PATH`"
+msgstr "`GUILE_PKGCONFIG_PATH`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4448
+#, no-wrap
+msgid "${LOCALBASE}/libdata/pkgconfig/guile/3.0"
+msgstr "${LOCALBASE}/libdata/pkgconfig/guile/3.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4450
+#, no-wrap
+msgid "Where packages using `flavors` should install `.pc` files."
+msgstr "Где пакеты, использующие `flavors`, должны устанавливать файлы `.pc`."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4451
+#, no-wrap
+msgid "`GUILE_INFO_PATH`"
+msgstr "`GUILE_INFO_PATH`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4452
+#, no-wrap
+msgid "share/info/guile3"
+msgstr "share/info/guile3"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4453
+#, no-wrap
+msgid "A suitable value for `INFO_PATH` for ports using the `flavors` option."
+msgstr "Подходящее значение для `INFO_PATH` для портов, использующих опцию `flavors`."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4457
+msgid ""
+"The following are defined as variables and as `PLIST_SUB` entries. The "
+"variable form is suffixed with `_DIR` and is a full path (prefixed with "
+"`GUILE_PREFIX`)."
+msgstr ""
+"Следующие элементы определены как переменные и как записи `PLIST_SUB`. Форма "
+"переменной имеет суффикс `_DIR` и представляет собой полный путь (с "
+"префиксом `GUILE_PREFIX`)."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4459
+#, no-wrap
+msgid "Path Substitutions Defined for Ports That Use Guile"
+msgstr "Подстановки путей, определенные для портов, использующих Guile"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4467
+#, no-wrap
+msgid "GUILE_GLOBAL_SITE"
+msgstr "GUILE_GLOBAL_SITE"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4468
+#, no-wrap
+msgid "share/guile/site"
+msgstr "share/guile/site"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4470
+#, no-wrap
+msgid "Site directory shared by all guile versions; this should not usually be used."
+msgstr "Каталог сайта, общий для всех версий guile; обычно не должен использоваться."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4471
+#, no-wrap
+msgid "GUILE_SITE"
+msgstr "GUILE_SITE"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4472
+#, no-wrap
+msgid "share/guile/3.0/site"
+msgstr "share/guile/3.0/site"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4474
+#, no-wrap
+msgid "Site directory for the selected Guile version."
+msgstr "Каталог сайта для выбранной версии Guile."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4475
+#, no-wrap
+msgid "GUILE_SITE_CCACHE"
+msgstr "GUILE_SITE_CCACHE"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4476
+#, no-wrap
+msgid "lib/guile/3.0/site-ccache"
+msgstr "lib/guile/3.0/site-ccache"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4478
+#, no-wrap
+msgid "Directory for compiled bytecode files."
+msgstr "Каталог для скомпилированных файлов байт-кода."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4479
+#, no-wrap
+msgid "GUILE_DOCS"
+msgstr "GUILE_DOCS"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4480
+#, no-wrap
+msgid "share/doc/guile30"
+msgstr "share/doc/guile30"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4482
+#, no-wrap
+msgid "Parent directory for version-specific documentation."
+msgstr "Родительский каталог для документации, специфичной для версий."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4483
+#, no-wrap
+msgid "GUILE_EXAMPLES"
+msgstr "GUILE_EXAMPLES"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4484
+#, no-wrap
+msgid "share/examples/guile30"
+msgstr "share/examples/guile30"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4485
+#, no-wrap
+msgid "Parent directory for version-specific examples."
+msgstr "Родительский каталог для примеров, специфичных для версий."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4491
+#, no-wrap
+msgid "Makefile for an application using Guile"
+msgstr "`Makefile` для приложения, использующего Guile"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4497
+msgid ""
+"This example shows how to reference a Guile library required at build and "
+"run time. Notice that the reference must specify a flavor. This example "
+"assumes that the application is using `pkg-config` to locate dependencies."
+msgstr ""
+"Этот пример демонстрирует, как сослаться на библиотеку Guile, необходимую во "
+"время сборки и выполнения. Обратите внимание, что ссылка должна указывать "
+"флейвор. В этом примере предполагается, что приложение использует `pkg-"
+"config` для поиска зависимостей."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4507
+#, no-wrap
+msgid ""
+"MAINTAINER=\tfred.bloggs@example.com\n"
+"COMMENT=\tSample\n"
+"WWW=\t\thttps://example.com/guile_sample/sample/\n"
+msgstr ""
+"MAINTAINER=\tfred.bloggs@example.com\n"
+"COMMENT=\tSample\n"
+"WWW=\t\thttps://example.com/guile_sample/sample/\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4510
+#, no-wrap
+msgid ""
+"BUILD_DEPENDS=\tguile-lib-${GUILE_FLAVOR}>=0.2.5:devel/guile-lib@${GUILE_FLAVOR}\n"
+"RUN_DEPENDS=\tguile-lib-${GUILE_FLAVOR}>=0.2.5:devel/guile-lib@${GUILE_FLAVOR}\n"
+msgstr ""
+"BUILD_DEPENDS=\tguile-lib-${GUILE_FLAVOR}>=0.2.5:devel/guile-lib@${GUILE_FLAVOR}\n"
+"RUN_DEPENDS=\tguile-lib-${GUILE_FLAVOR}>=0.2.5:devel/guile-lib@${GUILE_FLAVOR}\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4512
+#, no-wrap
+msgid "USES=\t\tguile:2.2,3.0 pkgconfig\n"
+msgstr "USES=\t\tguile:2.2,3.0 pkgconfig\n"
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4519
+#, no-wrap
+msgid "Using `iconv`"
+msgstr "Использование `iconv`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4522
+msgid "FreeBSD has a native `iconv` in the operating system."
+msgstr ""
+"В FreeBSD имеется встроенная реализация `iconv` в самой операционной системе."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4524
+msgid "For software that needs `iconv`, define `USES=iconv`."
+msgstr ""
+"Для программного обеспечения, требующего `iconv`, определите `USES=iconv`."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4526
+msgid "When a port defines `USES=iconv`, these variables will be available:"
+msgstr ""
+"Когда порт определяет `USES=iconv`, становятся доступны следующие переменные:"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4531
+#, no-wrap
+msgid "Variable name"
+msgstr "Имя переменной"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4532
+#, no-wrap
+msgid "Purpose"
+msgstr "Назначение"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4533
+#, no-wrap
+msgid "Port iconv (when using WCHAR_T or //TRANSLIT extensions)"
+msgstr "Порт iconv (при использовании расширений WCHAR_T или //TRANSLIT)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4536
+#, no-wrap
+msgid "Base iconv"
+msgstr "Базовый iconv"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4537
+#, no-wrap
+msgid "`ICONV_CMD`"
+msgstr "`ICONV_CMD`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4538
+#, no-wrap
+msgid "Directory where the `iconv` binary resides"
+msgstr "Каталог, в котором находится бинарный файл `iconv`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4539
+#, no-wrap
+msgid "`${LOCALBASE}/bin/iconv`"
+msgstr "`${LOCALBASE}/bin/iconv`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4541
+#, no-wrap
+msgid "[.filename]#/usr/bin/iconv#"
+msgstr "[.filename]#/usr/bin/iconv#"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4542
+#, no-wrap
+msgid "`ICONV_LIB`"
+msgstr "`ICONV_LIB`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4543
+#, no-wrap
+msgid "`ld` argument to link to [.filename]#libiconv# (if needed)"
+msgstr "аргумент `ld` для линковки с [.filename]#libiconv# (если требуется)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4544
+#, no-wrap
+msgid "`-liconv`"
+msgstr "`-liconv`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4546
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4556
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4560
+#, no-wrap
+msgid "(empty)"
+msgstr "(пусто)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4547
+#, no-wrap
+msgid "`ICONV_PREFIX`"
+msgstr "`ICONV_PREFIX`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4548
+#, no-wrap
+msgid "Directory where the `iconv` implementation resides (useful for configure scripts)"
+msgstr "Каталог, в котором находится реализация `iconv` (полезно для скриптов configure)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4549
+#, no-wrap
+msgid "`${LOCALBASE}`"
+msgstr "`${LOCALBASE}`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4551
+#, no-wrap
+msgid "[.filename]#/usr#"
+msgstr "[.filename]#/usr#"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4552
+#, no-wrap
+msgid "`ICONV_CONFIGURE_ARG`"
+msgstr "`ICONV_CONFIGURE_ARG`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4553
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4558
+#, no-wrap
+msgid "Preconstructed configure argument for configure scripts"
+msgstr "Предварительно сконструированный аргумент configure для скриптов configure"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4554
+#, no-wrap
+msgid "`--with-libiconv-prefix=${LOCALBASE}`"
+msgstr "`--with-libiconv-prefix=${LOCALBASE}`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4557
+#, no-wrap
+msgid "`ICONV_CONFIGURE_BASE`"
+msgstr "`ICONV_CONFIGURE_BASE`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4559
+#, no-wrap
+msgid "`--with-libiconv=${LOCALBASE}`"
+msgstr "`--with-libiconv=${LOCALBASE}`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4563
+msgid ""
+"These two examples automatically populate the variables with the correct "
+"value for systems using package:converters/libiconv[] or the native `iconv` "
+"respectively:"
+msgstr ""
+"Эти два примера автоматически заполняют переменные правильным значением для "
+"систем, использующих package:converters/libiconv[] или `iconv`, входящий в "
+"состав операционной системы, соответственно:"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4565
+#, no-wrap
+msgid "Simple `iconv` Usage"
+msgstr "Простое использование `iconv`"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4572
+#, no-wrap
+msgid ""
+"USES=\t\ticonv\n"
+"LDFLAGS+=\t-L${LOCALBASE}/lib ${ICONV_LIB}\n"
+msgstr ""
+"USES=\t\ticonv\n"
+"LDFLAGS+=\t-L${LOCALBASE}/lib ${ICONV_LIB}\n"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4577
+#, no-wrap
+msgid "`iconv` Usage with `configure`"
+msgstr "Использование `iconv` с `configure`"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4584
+#, no-wrap
+msgid ""
+"USES=\t\ticonv\n"
+"CONFIGURE_ARGS+=${ICONV_CONFIGURE_ARG}\n"
+msgstr ""
+"USES=\t\ticonv\n"
+"CONFIGURE_ARGS+=${ICONV_CONFIGURE_ARG}\n"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4590
+msgid ""
+"As shown above, `ICONV_LIB` is empty when a native `iconv` is present. This "
+"can be used to detect the native `iconv` and respond appropriately."
+msgstr ""
+"Как показано выше, `ICONV_LIB` пуста, когда присутствует встроенный `iconv`. "
+"Это можно использовать для обнаружения встроенного `iconv` и действовать "
+"соответственно."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4593
+msgid ""
+"Sometimes a program has an `ld` argument or search path hardcoded in a "
+"[.filename]#Makefile# or configure script. This approach can be used to "
+"solve that problem:"
+msgstr ""
+"Иногда в программе аргумент `ld` или путь поиска жестко заданы в "
+"[.filename]#Makefile# или скрипте configure. Для решения этой проблемы можно "
+"использовать следующий подход:"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4595
+#, no-wrap
+msgid "Fixing Hardcoded `-liconv`"
+msgstr "Исправление жестко заданного `-liconv`"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4601
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4618
+#, no-wrap
+msgid "USES=\t\ticonv\n"
+msgstr "USES=\t\ticonv\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4604
+#, no-wrap
+msgid ""
+"post-patch:\n"
+"\t@${REINPLACE_CMD} -e 's/-liconv/${ICONV_LIB}/' ${WRKSRC}/Makefile\n"
+msgstr ""
+"post-patch:\n"
+"\t@${REINPLACE_CMD} -e 's/-liconv/${ICONV_LIB}/' ${WRKSRC}/Makefile\n"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4610
+msgid ""
+"In some cases it is necessary to set alternate values or perform operations "
+"depending on whether there is a native `iconv`. "
+"[.filename]#bsd.port.pre.mk# must be included before testing the value of "
+"`ICONV_LIB`:"
+msgstr ""
+"В некоторых случаях необходимо установить альтернативные значения или "
+"выполнить операции в зависимости от наличия встроенного `iconv`. "
+"[.filename]#bsd.port.pre.mk# должен быть включен до проверки значения "
+"`ICONV_LIB`:"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4612
+#, no-wrap
+msgid "Checking for Native `iconv` Availability"
+msgstr "Проверка доступности встроенной поддержки `iconv`"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4626
+#, no-wrap
+msgid ""
+"post-patch:\n"
+".if empty(ICONV_LIB)\n"
+"\t# native iconv detected\n"
+"\t@${REINPLACE_CMD} -e 's|iconv||' ${WRKSRC}/Config.sh\n"
+".endif\n"
+msgstr ""
+"post-patch:\n"
+".if empty(ICONV_LIB)\n"
+"\t# native iconv detected\n"
+"\t@${REINPLACE_CMD} -e 's|iconv||' ${WRKSRC}/Config.sh\n"
+".endif\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4628
+#, no-wrap
+msgid ".include <bsd.port.post.mk>\n"
+msgstr ".include <bsd.port.post.mk>\n"
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4633
+#, no-wrap
+msgid "Using Xfce"
+msgstr "Использование Xfce"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4636
+msgid "Ports that need Xfce libraries or applications set `USES=xfce`."
+msgstr ""
+"Порты, которым требуются библиотеки или приложения Xfce, устанавливают "
+"`USES=xfce`."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4640
+msgid ""
+"Specific Xfce library and application dependencies are set with values "
+"assigned to `USE_XFCE`. They are defined in [.filename]#/usr/ports/Mk/Uses/"
+"xfce.mk#. The possible values are:"
+msgstr ""
+"Конкретные зависимости библиотек и приложений Xfce задаются с помощью "
+"значений, присвоенных `USE_XFCE`. Они определены в [.filename]#/usr/ports/Mk/"
+"Uses/xfce.mk#. Возможные значения:"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4641
+#, no-wrap
+msgid "Values of `USE_XFCE`"
+msgstr "Значения `USE_XFCE`"
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4642
+#, no-wrap
+msgid "garcon"
+msgstr "garcon"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4644
+msgid "package:sysutils/garcon[]"
+msgstr "package:sysutils/garcon[]"
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4645
+#, no-wrap
+msgid "libexo"
+msgstr "libexo"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4647
+msgid "package:x11/libexo[]"
+msgstr "package:x11/libexo[]"
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4648
+#, no-wrap
+msgid "libgui"
+msgstr "libgui"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4650
+msgid "package:x11-toolkits/libxfce4gui[]"
+msgstr "package:x11-toolkits/libxfce4gui[]"
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4651
+#, no-wrap
+msgid "libmenu"
+msgstr "libmenu"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4653
+msgid "package:x11/libxfce4menu[]"
+msgstr "package:x11/libxfce4menu[]"
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4654
+#, no-wrap
+msgid "libutil"
+msgstr "libutil"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4656
+msgid "package:x11/libxfce4util[]"
+msgstr "package:x11/libxfce4util[]"
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4657
+#, no-wrap
+msgid "panel"
+msgstr "panel"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4659
+msgid "package:x11-wm/xfce4-panel[]"
+msgstr "package:x11-wm/xfce4-panel[]"
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4660
+#, no-wrap
+msgid "thunar"
+msgstr "thunar"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4662
+msgid "package:x11-fm/thunar[]"
+msgstr "package:x11-fm/thunar[]"
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4663
+#, no-wrap
+msgid "xfconf"
+msgstr "xfconf"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4665
+msgid "package:x11/xfce4-conf[]"
+msgstr "package:x11/xfce4-conf[]"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4667
+#, no-wrap
+msgid "`USES=xfce` Example"
+msgstr "Пример `USES=xfce`"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4674
+#, no-wrap
+msgid ""
+"USES=\t\txfce\n"
+"USE_XFCE=\tlibmenu\n"
+msgstr ""
+"USES=\t\txfce\n"
+"USE_XFCE=\tlibmenu\n"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4679
+#, no-wrap
+msgid "Using Xfce's Own GTK2 Widgets"
+msgstr "Использование собственных виджетов GTK2 в Xfce"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4683
+msgid ""
+"In this example, the ported application uses the GTK2-specific widgets "
+"package:x11/libxfce4menu[] and package:x11/xfce4-conf[]."
+msgstr ""
+"В этом примере портированное приложение использует пакет виджетов, "
+"специфичных для GTK2: package:x11/libxfce4menu[] и package:x11/xfce4-conf[]."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4688
+#, no-wrap
+msgid ""
+"USES=\t\txfce:gtk2\n"
+"USE_XFCE=\tlibmenu xfconf\n"
+msgstr ""
+"USES=\t\txfce:gtk2\n"
+"USE_XFCE=\tlibmenu xfconf\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4697
+msgid ""
+"Xfce components included this way will automatically include any "
+"dependencies they need. It is no longer necessary to specify the entire "
+"list. If the port only needs package:x11-wm/xfce4-panel[], use:"
+msgstr ""
+"Компоненты Xfce, включённые таким образом, автоматически загрузят все "
+"необходимые зависимости. Указывать полный список больше не требуется. Если "
+"порту нужен только package:x11-wm/xfce4-panel[], используйте:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4702
+#, no-wrap
+msgid ""
+"USES=\t\txfce\n"
+"USE_XFCE=\tpanel\n"
+msgstr ""
+"USES=\t\txfce\n"
+"USE_XFCE=\tpanel\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4705
+msgid ""
+"There is no need to list the components package:x11-wm/xfce4-panel[] needs "
+"itself like this:"
+msgstr ""
+"Нет необходимости перечислять компоненты package:x11-wm/xfce4-panel[], "
+"которые ему самому требуются, вот так:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4710
+#, no-wrap
+msgid ""
+"USES=\t\txfce\n"
+"USE_XFCE=\tlibexo libmenu libutil panel\n"
+msgstr ""
+"USES=\t\txfce\n"
+"USE_XFCE=\tlibexo libmenu libutil panel\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4714
+msgid ""
+"However, Xfce components and non-Xfce dependencies of the port must be "
+"included explicitly. Do not count on an Xfce component to provide a sub-"
+"dependency other than itself for the main port."
+msgstr ""
+"Однако компоненты Xfce и зависимости порта, не относящиеся к Xfce, должны "
+"быть явно включены. Не рассчитывайте, что компонент Xfce предоставит "
+"дополнительную зависимость, кроме себя, для основного порта."
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4717
+#, no-wrap
+msgid "Using Budgie"
+msgstr "Использование Budgie"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4720
+msgid ""
+"Applications or libraries depending on the Budgie desktop should set `USES= "
+"budgie` and set `USE_BUDGIE` to the list of required components."
+msgstr ""
+"Приложения или библиотеки, зависящие от рабочего стола Budgie, должны "
+"указывать `USES= budgie` и устанавливать `USE_BUDGIE` в список необходимых "
+"компонентов."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4727
+#, no-wrap
+msgid "`libbudgie`"
+msgstr "`libbudgie`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4729
+#, no-wrap
+msgid "Desktop core (library)"
+msgstr "Ядро рабочего стола (библиотека)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4730
+#, no-wrap
+msgid "`libmagpie`"
+msgstr "`libmagpie`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4732
+#, no-wrap
+msgid "Budgie's X11 window manager and compositor library"
+msgstr "Оконный менеджер X11 и библиотека композитинга Budgie"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4733
+#, no-wrap
+msgid "`raven`"
+msgstr "`raven`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4735
+#, no-wrap
+msgid "All-in-one center in panel for accessing different applications widgets"
+msgstr "Универсальный центр в панели для доступа к различным виджетам приложений"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4736
+#, no-wrap
+msgid "`screensaver`"
+msgstr "`screensaver`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4738
+#, no-wrap
+msgid "Desktop-specific screensaver"
+msgstr "Рабочий стол: специальная заставка"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4743
+msgid ""
+"All application widgets communicate through the *org.budgie_desktop.Raven* "
+"service."
+msgstr ""
+"Все виджеты приложений взаимодействуют через службу "
+"*org.budgie_desktop.Raven*."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4745
+msgid ""
+"The default dependency is lib- and run-time, it can be changed with `:build` "
+"or `:run`, for example:"
+msgstr ""
+"Зависимость по умолчанию включает время сборки и выполнения, её можно "
+"изменить с помощью `:build` или `:run`, например:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4750
+#, no-wrap
+msgid ""
+"USES=\t\tbudgie\n"
+"USE_BUDGIE=\tscreensaver:build\n"
+msgstr ""
+"USES=\t\tbudgie\n"
+"USE_BUDGIE=\tscreensaver:build\n"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4754
+#, no-wrap
+msgid "`USE_BUDGIE` Example"
+msgstr "Пример `USE_BUDGIE`"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4761
+#, no-wrap
+msgid ""
+"USES=\t\tbudgie gettext gnome meson pkgconfig\n"
+"USE_BUDGIE=\tlibbudgie\n"
+msgstr ""
+"USES=\t\tbudgie gettext gnome meson pkgconfig\n"
+"USE_BUDGIE=\tlibbudgie\n"
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4765
+#, no-wrap
+msgid "Using Databases"
+msgstr "Использование баз данных"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4768
+msgid ""
+"Use one of the `USES` macros from crossref:special[using-databases-"
+"uses,Database `USES` Macros] to add a dependency on a database."
+msgstr ""
+"Используйте один из макросов `USES` из crossref:special[using-databases-"
+"uses,Макросы `USES` для баз данных], чтобы добавить зависимость от базы "
+"данных."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4770
+#, no-wrap
+msgid "Database `USES` Macros"
+msgstr "Макросы `USES` для баз данных"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4774
+#, no-wrap
+msgid "Database"
+msgstr "База данных"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4776
+#, no-wrap
+msgid "USES Macro"
+msgstr "Макрос USES"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4777
+#, no-wrap
+msgid "Berkeley DB"
+msgstr "Berkeley DB"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4779
+#, no-wrap
+msgid "crossref:uses[uses-bdb,`bdb`]"
+msgstr "crossref:uses[uses-bdb,`bdb`]"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4780
+#, no-wrap
+msgid "MariaDB, MySQL, Percona"
+msgstr "MariaDB, MySQL, Percona"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4782
+#, no-wrap
+msgid "crossref:uses[uses-mysql,`mysql`]"
+msgstr "crossref:uses[uses-mysql,`mysql`]"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4783
+#, no-wrap
+msgid "PostgreSQL"
+msgstr "PostgreSQL"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4785
+#, no-wrap
+msgid "crossref:uses[uses-pgsql,`pgsql`]"
+msgstr "crossref:uses[uses-pgsql,`pgsql`]"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4786
+#, no-wrap
+msgid "SQLite"
+msgstr "SQLite"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4787
+#, no-wrap
+msgid "crossref:uses[uses-sqlite,`sqlite`]"
+msgstr "crossref:uses[uses-sqlite,`sqlite`]"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4790
+#, no-wrap
+msgid "Using Berkeley DB 6"
+msgstr "Использование Berkeley DB 6"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4796
+#, no-wrap
+msgid "USES=\tbdb:6\n"
+msgstr "USES=\tbdb:6\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4799
+msgid "See crossref:uses[uses-bdb,`bdb`] for more information."
+msgstr ""
+"См. crossref:uses[uses-bdb,`bdb`] для получения дополнительной информации."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4802
+#, no-wrap
+msgid "Using MySQL"
+msgstr "Использование MySQL"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4806
+msgid "When a port needs the MySQL client library add"
+msgstr "Когда порту требуется клиентская библиотека MySQL, добавьте"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4810
+#, no-wrap
+msgid "USES=\tmysql\n"
+msgstr "USES=\tmysql\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4813
+msgid "See crossref:uses[uses-mysql,`mysql`] for more information."
+msgstr ""
+"См. crossref:uses[uses-mysql,`mysql`] для получения дополнительной "
+"информации."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4816
+#, no-wrap
+msgid "Using PostgreSQL"
+msgstr "Использование PostgreSQL"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4820
+msgid "When a port needs the PostgreSQL server version 9.6 or later add"
+msgstr "Когда порту требуется сервер PostgreSQL версии 9.6 или новее, добавьте"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4825
+#, no-wrap
+msgid ""
+"USES=\t\tpgsql:9.6+\n"
+"WANT_PGSQL=\tserver\n"
+msgstr ""
+"USES=\t\tpgsql:9.6+\n"
+"WANT_PGSQL=\tserver\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4828
+msgid "See crossref:uses[uses-pgsql,`pgsql`] for more information."
+msgstr ""
+"См. crossref:uses[uses-pgsql,`pgsql`] для получения дополнительной "
+"информации."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4831
+#, no-wrap
+msgid "Using SQLite 3"
+msgstr "Использование SQLite 3"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4837
+#, no-wrap
+msgid "USES=\tsqlite:3\n"
+msgstr "USES=\tsqlite:3\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4840
+msgid "See crossref:uses[uses-sqlite,`sqlite`] for more information."
+msgstr ""
+"См. crossref:uses[uses-sqlite,`sqlite`] для получения дополнительной "
+"информации."
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4843
+#, no-wrap
+msgid "Starting and Stopping Services (`rc` Scripts)"
+msgstr "Запуск и остановка служб (скрипты `rc`)"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4850
+msgid ""
+"[.filename]#rc.d# scripts are used to start services on system startup, and "
+"to give administrators a standard way of stopping, starting and restarting "
+"the service. Ports integrate into the system [.filename]#rc.d# framework. "
+"Details on its usage can be found in extref:{handbook}[the rc.d Handbook "
+"chapter, configtuning-rcd]. Detailed explanation of the available commands "
+"is provided in man:rc[8] and man:rc.subr[8]. Finally, there is extref:{rc-"
+"scripting}[an article] on practical aspects of [.filename]#rc.d# scripting."
+msgstr ""
+"[.filename]#rc.d# скрипты используются для запуска служб при загрузке "
+"системы, а также предоставляют администраторам стандартный способ остановки, "
+"запуска и перезапуска служб. Порты интегрируются в систему "
+"[.filename]#rc.d#. Подробности использования можно найти в extref:{handbook}"
+"[соответствующей главе Handbook, configtuning-rcd]. Детальное объяснение "
+"доступных команд приведено в man:rc[8] и man:rc.subr[8]. Наконец, существует "
+"extref:{rc-scripting}[статья], посвящённая практическим аспектам написания "
+"[.filename]#rc.d# скриптов."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4853
+msgid ""
+"With a mythical port called _doorman_, which needs to start a _doormand_ "
+"daemon. Add the following to the [.filename]#Makefile#:"
+msgstr ""
+"С мифическим портом под названием _doorman_, которому необходимо запустить "
+"демон _doormand_. Добавьте следующее в [.filename]#Makefile#:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4857
+#, no-wrap
+msgid "USE_RC_SUBR=\tdoormand\n"
+msgstr "USE_RC_SUBR=\tdoormand\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4864
+msgid ""
+"Multiple scripts may be listed and will be installed. Scripts must be "
+"placed in the [.filename]#files# subdirectory and a `.in` suffix must be "
+"added to their filename. Standard `SUB_LIST` expansions will be ran against "
+"this file. Use of the `%%PREFIX%%` and `%%LOCALBASE%%` expansions is "
+"strongly encouraged as well. More on `SUB_LIST` in crossref:pkg-files[using-"
+"sub-files,the relevant section]."
+msgstr ""
+"Можно указать несколько скриптов, которые будут установлены. Скрипты должны "
+"быть размещены в подкаталоге [.filename]#files#, и к их имени должен быть "
+"добавлен суффикс `.in`. Для этого файла будут выполнены стандартные "
+"подстановки `SUB_LIST`. Также настоятельно рекомендуется использовать "
+"подстановки `%%PREFIX%%` и `%%LOCALBASE%%`. Подробнее о `SUB_LIST` см. в "
+"crossref:pkg-files[using-sub-files,соответствующем разделе]."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4866
+msgid ""
+"As of FreeBSD 6.1-RELEASE, local [.filename]#rc.d# scripts (including those "
+"installed by ports) are included in the overall man:rcorder[8] of the base "
+"system."
+msgstr ""
+"Начиная с FreeBSD 6.1-RELEASE, локальные скрипты [.filename]#rc.d# (включая "
+"те, что установлены через порты) включены в общий man:rcorder[8] базовой "
+"системы."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4868
+msgid ""
+"An example simple [.filename]#rc.d# script to start the doormand daemon:"
+msgstr "Пример простого скрипта [.filename]#rc.d# для запуска демона doormand:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4872
+#, no-wrap
+msgid "#!/bin/sh\n"
+msgstr "#!/bin/sh\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4884
+#, no-wrap
+msgid ""
+"# PROVIDE: doormand\n"
+"# REQUIRE: LOGIN\n"
+"# KEYWORD: shutdown\n"
+"#\n"
+"# Add these lines to /etc/rc.conf.local or /etc/rc.conf\n"
+"# to enable this service:\n"
+"#\n"
+"# doormand_enable (bool):\tSet to NO by default.\n"
+"#\t\t\t\tSet it to YES to enable doormand.\n"
+"# doormand_config (path):\tSet to %%PREFIX%%/etc/doormand/doormand.cf\n"
+"#\t\t\t\tby default.\n"
+msgstr ""
+"# PROVIDE: doormand\n"
+"# REQUIRE: LOGIN\n"
+"# KEYWORD: shutdown\n"
+"#\n"
+"# Add these lines to /etc/rc.conf.local or /etc/rc.conf\n"
+"# to enable this service:\n"
+"#\n"
+"# doormand_enable (bool):\tSet to NO by default.\n"
+"#\t\t\t\tSet it to YES to enable doormand.\n"
+"# doormand_config (path):\tSet to %%PREFIX%%/etc/doormand/doormand.cf\n"
+"#\t\t\t\tby default.\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4886
+#, no-wrap
+msgid ". /etc/rc.subr\n"
+msgstr ". /etc/rc.subr\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4889
+#, no-wrap
+msgid ""
+"name=doormand\n"
+"rcvar=doormand_enable\n"
+msgstr ""
+"name=doormand\n"
+"rcvar=doormand_enable\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4891
+#, no-wrap
+msgid "load_rc_config $name\n"
+msgstr "load_rc_config $name\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4894
+#, no-wrap
+msgid ""
+": ${doormand_enable:=\"NO\"}\n"
+": ${doormand_config=\"%%PREFIX%%/etc/doormand/doormand.cf\"}\n"
+msgstr ""
+": ${doormand_enable:=\"NO\"}\n"
+": ${doormand_config=\"%%PREFIX%%/etc/doormand/doormand.cf\"}\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4897
+#, no-wrap
+msgid ""
+"command=%%PREFIX%%/sbin/${name}\n"
+"pidfile=/var/run/${name}.pid\n"
+msgstr ""
+"command=%%PREFIX%%/sbin/${name}\n"
+"pidfile=/var/run/${name}.pid\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4899
+#, no-wrap
+msgid "command_args=\"-p $pidfile -f $doormand_config\"\n"
+msgstr "command_args=\"-p $pidfile -f $doormand_config\"\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4901
+#, no-wrap
+msgid "run_rc_command \"$1\"\n"
+msgstr "run_rc_command \"$1\"\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4904
+msgid ""
+"Unless there is a very good reason to start the service earlier, or it runs "
+"as a particular user (other than root), all ports scripts must use:"
+msgstr ""
+"Если нет очень веской причины запускать службу раньше или она работает от "
+"имени определенного пользователя (не root), все скрипты портов должны "
+"использовать:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4908
+#, no-wrap
+msgid "REQUIRE: LOGIN\n"
+msgstr "REQUIRE: LOGIN\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4911
+msgid ""
+"If the startup script launches a daemon that must be shutdown, the following "
+"will trigger a stop of the service on system shutdown:"
+msgstr ""
+"Если скрипт запуска демона требует его остановки, следующий код активирует "
+"остановку службы при выключении системы:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4915
+#, no-wrap
+msgid "KEYWORD: shutdown\n"
+msgstr "KEYWORD: shutdown\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4918
+msgid ""
+"If the script is not starting a persistent service this is not necessary."
+msgstr "Если скрипт не запускает постоянную службу, это не требуется."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4921
+msgid ""
+"For optional configuration elements the \"=\" style of default variable "
+"assignment is preferable to the \":=\" style here, since the former sets a "
+"default value only if the variable is unset, and the latter sets one if the "
+"variable is unset _or_ null. A user might very well include something like:"
+msgstr ""
+"Для необязательных элементов конфигурации предпочтительнее использовать "
+"стиль присваивания переменных по умолчанию \"=\" вместо стиля \":=\", так "
+"как первый устанавливает значение по умолчанию только если переменная не "
+"задана, а второй — если переменная не задана _или_ равна null. Пользователь "
+"может включить что-то вроде:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4925
+#, no-wrap
+msgid "doormand_flags=\"\"\n"
+msgstr "doormand_flags=\"\"\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4929
+msgid ""
+"in their [.filename]#rc.conf.local#, and a variable substitution using "
+"\":=\" would inappropriately override the user's intention. The `_enable` "
+"variable is not optional, and must use the \":\" for the default."
+msgstr ""
+"в свой [.filename]#rc.conf.local#, а подстановка переменной с использованием "
+"\":=\" некорректно переопределила бы намерение пользователя. Переменная "
+"`_enable` не является опциональной и должна использовать \":\" для значения "
+"по умолчанию."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4934
+msgid ""
+"Ports _must not_ start and stop their services when installing and "
+"deinstalling. Do not abuse the [.filename]#plist# keywords described in "
+"crossref:plist[plist-keywords-base-exec, \"the @preexec command,@postexec "
+"command,@preunexec command,@postunexec command section\"] by running "
+"commands that modify the currently running system, including starting or "
+"stopping services."
+msgstr ""
+"Порты _не должны_ запускать и останавливать свои службы при установке и "
+"удалении. Не злоупотребляйте ключевыми словами [.filename]#plist#, "
+"описанными в crossref:plist[plist-keywords-base-exec, \"разделе @preexec "
+"command,@postexec command,@preunexec command,@postunexec command\"], "
+"выполняя команды, которые изменяют работающую систему, включая запуск или "
+"остановку служб."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4937
+#, no-wrap
+msgid "Pre-Commit Checklist"
+msgstr "Pre-Commit Checklist"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4940
+msgid ""
+"Before contributing a port with an [.filename]#rc.d# script, and more "
+"importantly, before committing one, please consult this checklist to be sure "
+"that it is ready."
+msgstr ""
+"Прежде чем внести порт с [.filename]#rc.d# скриптом, и что более важно, "
+"перед его коммитом, пожалуйста, ознакомьтесь с этим контрольным списком, "
+"чтобы убедиться, что он готов."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4942
+msgid ""
+"The package:devel/rclint[] port can check for most of these, but it is not a "
+"substitute for proper review."
+msgstr ""
+"Порт package:devel/rclint[] может проверить большинство из них, но он не "
+"заменяет тщательного просмотра и проверки."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4945
+msgid ""
+"If this is a new file, does it have a [.filename]#.sh# extension? If so, "
+"that must be changed to just [.filename]#file.in# since [.filename]#rc.d# "
+"files may not end with that extension."
+msgstr ""
+"Если это новый файл, имеет ли он расширение [.filename]#.sh#? Если да, его "
+"необходимо изменить на просто [.filename]#file.in#, поскольку файлы "
+"[.filename]#rc.d# не могут оканчиваться таким расширением."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4946
+msgid ""
+"Do the name of the file (minus [.filename]#.in#), the `PROVIDE` line, and "
+"`$` _name_ all match? The file name matching `PROVIDE` makes debugging "
+"easier, especially for man:rcorder[8] issues. Matching the file name and "
+"`$`_name_ makes it easier to figure out which variables are relevant in "
+"[.filename]#rc.conf[.local]#. It is also a policy for all new scripts, "
+"including those in the base system."
+msgstr ""
+"Совпадают ли имя файла (без [.filename]#.in#), строка `PROVIDE` и `$`_name_? "
+"Совпадение имени файла с `PROVIDE` упрощает отладку, особенно при проблемах "
+"с man:rcorder[8]. Совпадение имени файла и `$`_name_ облегчает понимание "
+"того, какие переменные актуальны в [.filename]#rc.conf[.local]#. Это также "
+"является политикой для всех новых скриптов, включая те, что в базовой "
+"системе."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4947
+msgid ""
+"Is the `REQUIRE` line set to `LOGIN`? This is mandatory for scripts that run "
+"as a non-root user. If it runs as root, is there a good reason for it to run "
+"prior to `LOGIN`? If not, it must run after so that local scrips can be "
+"loosely grouped to a point in man:rcorder[8] after most everything in the "
+"base is already running."
+msgstr ""
+"Установлена ли строка `REQUIRE` в значение `LOGIN`? Это обязательно для "
+"скриптов, выполняемых от имени непривилегированного пользователя. Если "
+"скрипт выполняется от имени root, есть ли веская причина для его запуска до "
+"`LOGIN`? Если нет, он должен запускаться после, чтобы локальные скрипты "
+"можно было условно сгруппировать в man:rcorder[8] после запуска большинства "
+"компонентов базовой системы."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4948
+msgid ""
+"Does the script start a persistent service? If so, it must have `KEYWORD: "
+"shutdown`."
+msgstr ""
+"Запускает ли скрипт постоянную службу? Если да, он должен содержать "
+"`KEYWORD: shutdown`."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4949
+msgid ""
+"Make sure there is no `KEYWORD: FreeBSD` present. This has not been "
+"necessary nor desirable for years. It is also an indication that the new "
+"script was copy/pasted from an old script, so extra caution must be given to "
+"the review."
+msgstr ""
+"Убедитесь, что отсутствует `KEYWORD: FreeBSD`. Это перестало быть "
+"необходимым или желательным уже много лет. Это также указывает на то, что "
+"новый скрипт был скопирован/вставлен из старого скрипта, поэтому следует "
+"проявить дополнительную осторожность при проверке."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4950
+msgid ""
+"If the script uses an interpreted language like `perl`, `python`, or `ruby`, "
+"make certain that `command_interpreter` is set appropriately, for example, "
+"for Perl, by adding `PERL=${PERL}` to `SUB_LIST` and using `%%PERL%%`. "
+"Otherwise,"
+msgstr ""
+"Если скрипт использует интерпретируемый язык, например `perl`, `python` или "
+"`ruby`, убедитесь, что `command_interpreter` установлен корректно. Например, "
+"для Perl добавьте `PERL=${PERL}` в `SUB_LIST` и используйте `%%PERL%%`. В "
+"противном случае,"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4954
+#, no-wrap
+msgid "# service name stop\n"
+msgstr "# service name stop\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4957
+msgid ""
+"will probably not work properly. See man:service[8] for more information."
+msgstr ""
+"вероятно, не будет работать корректно. Дополнительную информацию смотрите в "
+"man:service[8]."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4958
+msgid ""
+"Have all occurrences of [.filename]#/usr/local# been replaced with `%%PREFIX%"
+"%`?"
+msgstr ""
+"Проверено, что все вхождения [.filename]#/usr/local# заменены на `%%PREFIX%"
+"%`?"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4959
+msgid "Do the default variable assignments come after `load_rc_config`?"
+msgstr ""
+"Делаются ли присваивания переменным по умолчанию после `load_rc_config`?"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4960
+msgid ""
+"Are there default assignments to empty strings? They should be removed, but "
+"double-check that the option is documented in the comments at the top of the "
+"file."
+msgstr ""
+"Используются ли пустые строки при присвоении значений по умолчанию? Такие "
+"присвоения должны быть удалены, но перепроверьте, что эти параметры "
+"задокументированы в комментариях в начале файла."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4961
+msgid "Are things that are set in variables actually used in the script?"
+msgstr ""
+"Действительно ли в сценариях используются значения, присвоенные переменным?"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4962
+msgid ""
+"Are options listed in the default _name_`_flags` things that are actually "
+"mandatory? If so, they must be in `command_args`. `-d` is a red flag (pardon "
+"the pun) here, since it is usually the option to \"daemonize\" the process, "
+"and therefore is actually mandatory."
+msgstr ""
+"Являются ли опции, перечисленные в стандартном _name_`_flags`, "
+"обязательными? Если да, они должны быть в `command_args`. Флаг `-d` здесь, "
+"как красный флаг (простите за каламбур), так как обычно это опция для "
+"\"демонизации\" процесса и, следовательно, фактически обязательна."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4963
+msgid ""
+"`_name__flags` must never be included in `command_args` (and vice versa, "
+"although that error is less common)."
+msgstr ""
+"`_name__flags` никогда не должны включаться в `command_args` (и наоборот, "
+"хотя такая ошибка встречается реже)."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4964
+msgid ""
+"Does the script execute any code unconditionally? This is frowned on. "
+"Usually these things must be dealt with through a `start_precmd`."
+msgstr ""
+"Выполняет ли скрипт любой код безусловно? Это не приветствуется. Обычно "
+"такие вещи должны обрабатываться через `start_precmd`."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4965
+msgid ""
+"All boolean tests must use the `checkyesno` function. No hand-rolled tests "
+"for `[Yy][Ee][Ss]`, etc."
+msgstr ""
+"Все логические проверки должны использовать функцию `checkyesno`. Не "
+"допускаются самодельные проверки на `[Yy][Ee][Ss]` и т.п."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4966
+msgid ""
+"If there is a loop (for example, waiting for something to start) does it "
+"have a counter to terminate the loop? We do not want the boot to be stuck "
+"forever if there is an error."
+msgstr ""
+"Если есть цикл (например, ожидание запуска чего-либо), есть ли в нём счётчик "
+"для завершения цикла? Мы не хотим, чтобы загрузка зависала навсегда в случае "
+"ошибки."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4967
+msgid ""
+"Does the script create files or directories that need specific permissions, "
+"for example, a [.filename]#pid# that needs to be owned by the user that runs "
+"the process? Rather than the traditional man:touch[1]/man:chown[8]/"
+"man:chmod[1] routine, consider using man:install[1] with the proper command "
+"line arguments to do the whole procedure with one step."
+msgstr ""
+"Создает ли скрипт файлы или каталоги, требующие определенных разрешений, "
+"например, [.filename]#pid#, который должен принадлежать пользователю, "
+"запускающему процесс? Вместо традиционной последовательности man:touch[1]/"
+"man:chown[8]/man:chmod[1] рассмотрите использование man:install[1] с "
+"соответствующими аргументами командной строки, чтобы выполнить всю процедуру "
+"за один шаг."
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4969
+#, no-wrap
+msgid "Adding Users and Groups"
+msgstr "Добавление пользователей и групп"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4974
+msgid ""
+"Some ports require a particular user account to be present, usually for "
+"daemons that run as that user. For these ports, choose a _unique_ UID from "
+"50 to 999 and register it in [.filename]#ports/UIDs# (for users) and "
+"[.filename]#ports/GIDs# (for groups). The unique identification should be "
+"the same for users and groups."
+msgstr ""
+"Некоторые порты требуют наличия определённой учётной записи пользователя, "
+"обычно для демонов, работающих от имени этого пользователя. Для таких портов "
+"выберите _уникальный_ UID в диапазоне от 50 до 999 и зарегистрируйте его в "
+"[.filename]#ports/UIDs# (для пользователей) и [.filename]#ports/GIDs# (для "
+"групп). Уникальный идентификатор должен быть одинаковым для пользователей и "
+"групп."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4976
+msgid ""
+"Please include a patch against these two files when requiring a new user or "
+"group to be created for the port."
+msgstr ""
+"Пожалуйста, приложите патч для этих двух файлов, если требуется создать "
+"нового пользователя или группу для порта."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4978
+msgid ""
+"Then use `USERS` and `GROUPS` in [.filename]#Makefile#, and the user will be "
+"automatically created when installing the port."
+msgstr ""
+"Затем используйте `USERS` и `GROUPS` в [.filename]#Makefile#, и пользователь "
+"будет автоматически создан при установке порта."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4983
+#, no-wrap
+msgid ""
+"USERS=\tpulse\n"
+"GROUPS=\tpulse pulse-access pulse-rt\n"
+msgstr ""
+"USERS=\tpulse\n"
+"GROUPS=\tpulse pulse-access pulse-rt\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4986
+msgid ""
+"The current list of reserved UIDs and GIDs can be found in [.filename]#ports/"
+"UIDs# and [.filename]#ports/GIDs#."
+msgstr ""
+"Текущий список зарезервированных UID и GID можно найти в [.filename]#ports/"
+"UIDs# и [.filename]#ports/GIDs#."
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4988
+#, no-wrap
+msgid "Ports That Rely on Kernel Sources"
+msgstr "Порты, зависящие от исходных кодов ядра"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4992
+msgid ""
+"Some ports (such as kernel loadable modules) need the kernel source files so "
+"that the port can compile. Here is the correct way to determine if the user "
+"has them installed:"
+msgstr ""
+"Некоторые порты (например, загружаемые модули ядра) требуют исходные файлы "
+"ядра для компиляции порта. Вот правильный способ проверить, установлены ли "
+"они у пользователя:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4996
+#, no-wrap
+msgid "USES=\tkmod\n"
+msgstr "USES=\tkmod\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4999
+msgid ""
+"Apart from this check, the `kmod` feature takes care of most items that "
+"these ports need to take into account."
+msgstr ""
+"Помимо этой проверки, функция `kmod` учитывает большинство аспектов, которые "
+"необходимо принимать во внимание данным портам."
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5001
+#, no-wrap
+msgid "Go Libraries"
+msgstr "Библиотеки Go"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5005
+msgid ""
+"Ports must not package or install Go libs or source code. Go ports must "
+"fetch the required deps at the normal fetch time and should only install the "
+"programs and things users need, not the things Go developers would need."
+msgstr ""
+"Порты не должны упаковывать или устанавливать библиотеки или исходный код "
+"Go. Порты Go должны загружать необходимые зависимости в обычное время "
+"загрузки и должны устанавливать только программы и то, что нужно "
+"пользователям, а не то, что нужно разработчикам на Go."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5007
+msgid "Ports should (in order of preference):"
+msgstr "Порты должны (в порядке предпочтения):"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5009
+msgid "Use vendored dependencies included with the package source."
+msgstr "Использовать зависимости, включенные в исходный код пакета."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5010
+msgid ""
+"Fetch the versions of deps specified by upstream (in the case of go.mod, "
+"vendor.json or similar)."
+msgstr ""
+"Получить версии зависимостей, указанные вышестоящим проектом (в случае "
+"go.mod, vendor.json или аналогичных)."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5011
+msgid ""
+"As a last resort (deps are not included nor versions specified exactly) "
+"fetch versions of dependencies available at the time of upstream development/"
+"release."
+msgstr ""
+"В крайнем случае (зависимости не включены и версии не указаны точно) "
+"получить версии зависимостей, доступные на момент разработки/выпуска "
+"вышестоящего проекта."
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5013
+#, no-wrap
+msgid "Haskell Libraries"
+msgstr "Библиотеки Haskell"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5017
+msgid ""
+"Just like in case of Go language, Ports must not package or install Haskell "
+"libraries. Haskell ports must link statically to their dependencies and "
+"fetch all distribution files on fetch stage."
+msgstr ""
+"Как и в случае с языком Go, коллекция портов не должна включать или "
+"устанавливать библиотеки Haskell. Порты Haskell должны статически "
+"линковаться со своими зависимостями и загружать все распространяемые файлы "
+"на этапе fetch."
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5019
+#, no-wrap
+msgid "Shell Completion Files"
+msgstr "Файлы завершения командной оболочки"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5024
+msgid ""
+"Many modern shells (including bash, fish, tcsh and zsh) support parameter "
+"and/or option tab-completion. This support usually comes from completion "
+"files, which contain the definitions for how tab completion will work for a "
+"certain command. Ports sometimes ship with their own completion files, or "
+"porters may have created them themselves."
+msgstr ""
+"Многие современные оболочки (включая bash, fish, tcsh и zsh) поддерживают "
+"табуляцию для параметров и/или опций. Эта поддержка обычно обеспечивается "
+"файлами завершения, которые содержат определения того, как будет работать "
+"завершение по табуляции для определённой команды. Порты иногда поставляются "
+"со своими собственными файлами завершения, или разработчики портов могут "
+"создавать их самостоятельно."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5028
+msgid ""
+"When available, completion files should always be installed. It is not "
+"necessary to make an option for it. If an option is used, though, always "
+"enable it in `OPTIONS_DEFAULT`."
+msgstr ""
+"Если доступны файлы завершения, их всегда следует устанавливать. Нет "
+"необходимости создавать для этого опцию. Однако если опция используется, "
+"всегда включайте её в `OPTIONS_DEFAULT`."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5030
+#, no-wrap
+msgid "Full shell completion file names"
+msgstr "Полные имена файлов завершения оболочки"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5034
+#, no-wrap
+msgid "`bash`"
+msgstr "`bash`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5035
+#, no-wrap
+msgid "[.filename]#${PREFIX}/etc/bash_completion.d# or [.filename]#${PREFIX}/share/bash-completion/completions#"
+msgstr "[.filename]#${PREFIX}/etc/bash_completion.d# or [.filename]#${PREFIX}/share/bash-completion/completions#"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5037
+#, no-wrap
+msgid "(any unique file names in one of these folders)"
+msgstr "(любые уникальные имена файлов в одной из этих папок)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5038
+#, no-wrap
+msgid "`fish`"
+msgstr "`fish`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5039
+#, no-wrap
+msgid "[.filename]#${PREFIX}/share/fish/completions/${PORTNAME}.fish#"
+msgstr "[.filename]#${PREFIX}/share/fish/completions/${PORTNAME}.fish#"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5042
+#, no-wrap
+msgid "`zsh`"
+msgstr "`zsh`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5043
+#, no-wrap
+msgid "[.filename]#${PREFIX}/share/zsh/site-functions/_${PORTNAME}#"
+msgstr "[.filename]#${PREFIX}/share/zsh/site-functions/_${PORTNAME}#"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5046
+msgid "Do not register any dependencies on the shells themselves."
+msgstr "Не регистрируйте зависимости от самих оболочек."