aboutsummaryrefslogtreecommitdiff
path: root/documentation/content/ru/books/developers-handbook/policies/_index.po
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/content/ru/books/developers-handbook/policies/_index.po')
-rw-r--r--documentation/content/ru/books/developers-handbook/policies/_index.po523
1 files changed, 523 insertions, 0 deletions
diff --git a/documentation/content/ru/books/developers-handbook/policies/_index.po b/documentation/content/ru/books/developers-handbook/policies/_index.po
new file mode 100644
index 0000000000..ba64ecaad2
--- /dev/null
+++ b/documentation/content/ru/books/developers-handbook/policies/_index.po
@@ -0,0 +1,523 @@
+# 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-06-29 21:20+0100\n"
+"PO-Revision-Date: 2025-09-05 04:45+0000\n"
+"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
+"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
+"documentation/booksdevelopers-handbookpolicies_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: Title =
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:1
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:17
+#, no-wrap
+msgid "Source Tree Guidelines and Policies"
+msgstr "Руководство и политика работы с деревом исходного кода"
+
+#. type: YAML Front Matter: title
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:1
+#, no-wrap
+msgid "Chapter 5. Source Tree Guidelines and Policies"
+msgstr "Глава 5. Руководство и политика работы с деревом исходного кода"
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:55
+msgid ""
+"This chapter documents various guidelines and policies in force for the "
+"FreeBSD source tree."
+msgstr ""
+"Эта глава документирует различные руководства и политики, действующие для "
+"дерева исходных кодов FreeBSD."
+
+#. type: Title ==
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:57
+#, no-wrap
+msgid "Style Guidelines"
+msgstr "Рекомендации по стилю"
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:61
+msgid ""
+"Consistent coding style is extremely important, particularly with large "
+"projects like FreeBSD. Code should follow the FreeBSD coding styles "
+"described in man:style[9] and man:style.Makefile[5]."
+msgstr ""
+"Соблюдение единого стиля написания кода чрезвычайно важно, особенно в "
+"крупных проектах, таких как FreeBSD. Код должен соответствовать стилям "
+"программирования FreeBSD, описанным в man:style[9] и man:style.Makefile[5]."
+
+#. type: Title ==
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:63
+#, no-wrap
+msgid "`MAINTAINER` on Makefiles"
+msgstr "`MAINTAINER` в Makefile-ах"
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:67
+msgid ""
+"If a particular portion of the FreeBSD [.filename]#src/# distribution is "
+"being maintained by a person or group of persons, this is communicated "
+"through an entry in [.filename]#src/MAINTAINERS#. Maintainers of ports "
+"within the Ports Collection express their maintainership to the world by "
+"adding a `MAINTAINER` line to the [.filename]#Makefile# of the port in "
+"question:"
+msgstr ""
+"Если определённая часть дистрибутива FreeBSD [.filename]#src/# "
+"поддерживается человеком или группой лиц, это указывается в файле [."
+"filename]#src/MAINTAINERS#. Сопровождающие портов в Коллекции портов "
+"указывают свою ответственность, добавляя строку `MAINTAINER` в [."
+"filename]#Makefile# соответствующего порта:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:71
+#, no-wrap
+msgid "MAINTAINER= email-addresses\n"
+msgstr "MAINTAINER= email-addresses\n"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:78
+msgid ""
+"For other parts of the repository, or for sections not listed as having a "
+"maintainer, or when you are unsure who the active maintainer is, try looking "
+"at the recent commit history of the relevant parts of the source tree. It "
+"is quite often the case that a maintainer is not explicitly named, but the "
+"people who are actively working in a part of the source tree for, say, the "
+"last couple of years are interested in reviewing changes. Even if this is "
+"not specifically mentioned in the documentation or the source itself, asking "
+"for a review as a form of courtesy is a very reasonable thing to do."
+msgstr ""
+"Для других частей репозитория или для разделов, в которых не указан "
+"сопровождающий, или если вы не уверены, кто является активным "
+"сопровождающим, попробуйте посмотреть историю последних коммитов "
+"соответствующих частей дерева исходного кода. Довольно часто сопровождающий "
+"явно не указан, но люди, которые активно работали с частью дерева исходного "
+"кода, скажем, последние пару лет, заинтересованы в проверке изменений. Даже "
+"если это не указано явно в документации или в самом исходном коде, запросить "
+"проверку из вежливости — вполне разумное действие."
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:81
+msgid "The role of the maintainer is as follows:"
+msgstr "Роль сопровождающего заключается в следующем:"
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:83
+msgid ""
+"The maintainer owns and is responsible for that code. This means that he or "
+"she is responsible for fixing bugs and answering problem reports pertaining "
+"to that piece of the code, and in the case of contributed software, for "
+"tracking new versions, as appropriate."
+msgstr ""
+"Сопровождающий является владельцем и ответственным за этот код. Это "
+"означает, что он или она отвечает за исправление ошибок и решение проблем, "
+"связанных с этой частью кода, а в случае с предоставленным программным "
+"обеспечением — за отслеживание новых версий, если это необходимо."
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:84
+msgid ""
+"Changes to directories which have a maintainer defined shall be sent to the "
+"maintainer for review before being committed. Only if the maintainer does "
+"not respond for an unacceptable period of time, to several emails, will it "
+"be acceptable to commit changes without review by the maintainer. However, "
+"it is suggested that you try to have the changes reviewed by someone else if "
+"at all possible."
+msgstr ""
+"Изменения в каталогах, для которых определен сопровождающий, должны быть "
+"отправлены сопровождающему на проверку и рецензирование перед коммитом. "
+"Только если сопровождающий не отвечает в течение недопустимо долгого времени "
+"на несколько писем, допустимо закоммитить изменения без его проверки. Тем не "
+"менее, рекомендуется по возможности попытаться получить рецензирование "
+"изменений у кого-нибудь ещё."
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:85
+msgid ""
+"It is of course not acceptable to add a person or group as maintainer unless "
+"they agree to assume this duty. On the other hand it does not have to be a "
+"committer and it can easily be a group of people."
+msgstr ""
+"Конечно, недопустимо добавлять человека или группу в качестве "
+"сопровождающего, если они не согласны взять на себя эти обязанности. С "
+"другой стороны, это не обязательно должен быть один коммиттер, и это может "
+"быть и группа людей."
+
+#. type: Title ==
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:87
+#, no-wrap
+msgid "Contributed Software"
+msgstr "Стороннее программное обеспечение"
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:92
+msgid ""
+"Some parts of the FreeBSD distribution consist of software that is actively "
+"being maintained outside the FreeBSD project. For historical reasons, we "
+"call this _contributed_ software. Some examples are LLVM, man:zlib[3], and "
+"man:awk[1]."
+msgstr ""
+"Некоторые части дистрибутива FreeBSD состоят из программного обеспечения, "
+"которое активно поддерживается за пределами проекта FreeBSD. По историческим "
+"причинам мы называем это _сторонним_ программным обеспечением. Некоторые "
+"примеры: LLVM, man:zlib[3] и man:awk[1]."
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:96
+msgid ""
+"The accepted procedure for managing contributed software involves creating a "
+"_vendor branch_, where the software can be imported cleanly (without "
+"modification) and updates can be tracked in a versioned manner. Then, the "
+"content of the vendor branch is applied to the source tree, possibly with "
+"local modifications. FreeBSD-specific build glue is maintained in the "
+"source tree, not in the vendor branch."
+msgstr ""
+"Принятая процедура управления вносимым программным обеспечением включает "
+"создание _ветки поставщика_ (_vendor branch_), где программное обеспечение "
+"может быть импортировано в чистом виде (без изменений), а обновления могут "
+"отслеживаться с учётом версий. Затем содержимое ветки поставщика применяется "
+"к дереву исходного кода, возможно, с локальными изменениями. Специфичные для "
+"FreeBSD элементы сборки поддерживаются в дереве исходного кода, а не в ветке "
+"поставщика."
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:100
+msgid ""
+"Depending on their needs and complexity, individual software projects may "
+"deviate from this procedure, at the discretion of the maintainer. The exact "
+"steps required to update a particular piece of contributed software should "
+"be recorded in a file named `FREEBSD-upgrade`; for example, link:https://"
+"cgit.freebsd.org/src/tree/contrib/libarchive/FREEBSD-upgrade[libarchive's "
+"FREEBSD-upgrade file]."
+msgstr ""
+"В зависимости от потребностей и сложности, отдельные программные проекты "
+"могут отклоняться от этой процедуры по усмотрению сопровождающего. Точные "
+"шаги, необходимые для обновления конкретного программного обеспечения, "
+"должны быть записаны в файле с именем `FREEBSD-upgrade`; например, "
+"link:https://cgit.freebsd.org/src/tree/contrib/libarchive/FREEBSD-upgrade["
+"файл FREEBSD-upgrade libarchive]."
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:103
+msgid ""
+"Contributed software is usually placed in the [.filepath]#contrib/# "
+"subdirectory of the source tree, with some exceptions. Contributed software "
+"used only by the kernel lives under [.filepath]#sys/contrib/#."
+msgstr ""
+"Стороннее программное обеспечение обычно размещается в подкаталоге [."
+"filepath]#contrib/# дерева исходных кодов, за некоторыми исключениями. "
+"Стороннее программное обеспечение, используемое только ядром, находится в [."
+"filepath]#sys/contrib/#."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:107
+msgid ""
+"Because it makes it harder to import future versions minor, trivial and/or "
+"cosmetic changes are _strongly discouraged_ on files that are still tracking "
+"the vendor branch."
+msgstr ""
+"Поскольку это затрудняет импорт будущих версий, незначительные, тривиальные "
+"и/или косметические изменения _настоятельно не рекомендуются_ для файлов, "
+"которые всё ещё отслеживают ветку поставщика."
+
+#. type: Title ===
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:110
+#, no-wrap
+msgid "Vendor Imports"
+msgstr "Импорт веток поставщика"
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:113
+msgid ""
+"The standard process for managing contributed software and vendor branches "
+"is described in detail by the extref:{committers-guide}#vendor-import-"
+"git[Committer's Guide]."
+msgstr ""
+"Стандартный процесс управления сторонним программным обеспечением и ветками "
+"поставщиков подробно описан в extref:{committers-guide}#vendor-import-git["
+"Руководстве коммиттера]."
+
+#. type: Title ==
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:115
+#, no-wrap
+msgid "Encumbered Files"
+msgstr "Файлы с правовыми ограничениями"
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:121
+msgid ""
+"It might occasionally be necessary to include an encumbered file in the "
+"FreeBSD source tree. For example, if a device requires a small piece of "
+"binary code to be loaded to it before the device will operate, and we do not "
+"have the source to that code, then the binary file is said to be "
+"encumbered. The following policies apply to including encumbered files in "
+"the FreeBSD source tree."
+msgstr ""
+"Время от времени может возникнуть необходимость включить файл с правовыми "
+"ограничениями (обремененными лицензиями, патентами) в дерево исходного кода "
+"FreeBSD. Например, если устройство требует загрузки небольшого бинарного "
+"кода перед началом работы, а у нас нет исходного кода для него, то такой "
+"бинарный файл считается обремененным. Следующие политики применяются к "
+"включению обремененных файлов в дерево исходного кода FreeBSD."
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:123
+msgid ""
+"Any file which is interpreted or executed by the system CPU(s) and not in "
+"source format is encumbered."
+msgstr ""
+"Любой файл, который интерпретируется или выполняется процессором(-ами) "
+"системы и не представлен в исходном формате, является обременённым."
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:124
+msgid "Any file with a license more restrictive than BSD or GNU is encumbered."
+msgstr ""
+"Любой файл с лицензией более ограничительной, чем BSD или GNU, является "
+"обременённым."
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:125
+msgid ""
+"A file which contains downloadable binary data for use by the hardware is "
+"not encumbered, unless (1) or (2) apply to it."
+msgstr ""
+"Файл, содержащий загружаемые двоичные данные для использования "
+"оборудованием, не является обремененным, если к нему не применяется пункт (1)"
+" или (2)."
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:126
+msgid ""
+"Any encumbered file requires specific approval from the link:https://www."
+"FreeBSD.org/administration/#t-core[Core Team] before it is added to the "
+"repository."
+msgstr ""
+"Любой файл с правовыми ограничениями требует специального одобрения от "
+"link:https://www.FreeBSD.org/administration/#t-core[Core Team] перед "
+"добавлением в репозиторий."
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:127
+msgid ""
+"Encumbered files go in [.filename]#src/contrib# or [.filename]#src/sys/"
+"contrib#."
+msgstr ""
+"Обремененные файлы помещаются в [.filename]#src/contrib# или [.filename]#src/"
+"sys/contrib#."
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:128
+msgid ""
+"The entire module should be kept together. There is no point in splitting "
+"it, unless there is code-sharing with non-encumbered code."
+msgstr ""
+"Весь модуль должен храниться вместе. Нет смысла разделять его, если только "
+"нет совместного использования кода с необременённой частью кода."
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:130
+msgid ""
+"In the past binary files were typically uuencoded, and named [."
+"filename]#arch/filename.o.uu#. This is no longer necessary, and binary "
+"files may be added to the repository unchanged."
+msgstr ""
+"В прошлом бинарные файлы обычно кодировались с помощью uuencode и назывались "
+"[.filename]#arch/filename.o.uu#. Теперь в этом нет необходимости, и бинарные "
+"файлы могут добавляться в репозиторий без изменений."
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:131
+msgid "Kernel files:"
+msgstr "Файлы ядра системы:"
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:132
+msgid ""
+"Should always be referenced in [.filename]#conf/files.*# (for build "
+"simplicity)."
+msgstr ""
+"Всегда должны быть указана в [.filename]#conf/files.*# (для упрощения "
+"сборки)."
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:133
+msgid ""
+"Should always be in [.filename]#LINT#, but the link:https://www.FreeBSD.org/"
+"administration/#t-core[Core Team] decides per case if it should be commented "
+"out or not. The link:https://www.FreeBSD.org/administration/#t-core[Core "
+"Team] can, of course, change their minds later on."
+msgstr ""
+"Всегда должны быть в [.filename]#LINT#, но link:https://www.FreeBSD.org/"
+"administration/#t-core[Core Team] решает в каждом конкретном случае, следует "
+"ли их закомментировать или нет. link:https://www.FreeBSD.org/administration/"
+"#t-core[Core Team] может, конечно, позже изменить свое решение."
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:134
+msgid "The _Release Engineer_ decides whether or not it goes into the release."
+msgstr "_Инженер по выпуску_ решает, будет ли это включено в выпуск."
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:136
+msgid "User-land files:"
+msgstr "Пользовательские файлы:"
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:137
+msgid ""
+"The link:https://www.FreeBSD.org/administration/#t-core[Core team] decides "
+"if the code should be part of the installed base system."
+msgstr ""
+"Команда link:https://www.FreeBSD.org/administration/#t-core[Core team] "
+"принимает решение о включении кода в базовую устанавливаемую систему."
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:138
+msgid ""
+"The link:https://www.FreeBSD.org/administration/#t-re[Release Engineering] "
+"decides if it goes into the release."
+msgstr ""
+"link:https://www.FreeBSD.org/administration/#t-re[Отдел разработки релизов] "
+"решает, войдет ли это в релиз."
+
+#. type: Title ==
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:140
+#, no-wrap
+msgid "Shared Libraries"
+msgstr "Динамические библиотеки"
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:144
+msgid ""
+"If you are adding shared library support to a port or other piece of "
+"software that does not have one, the version numbers should follow these "
+"rules. Generally, the resulting numbers will have nothing to do with the "
+"release version of the software."
+msgstr ""
+"Если вы добавляете поддержку динамических библиотек в порт или другое "
+"программное обеспечение, у которого её нет, номера версий библиотек должны "
+"следовать этим правилам. Обычно итоговые номера не будут иметь ничего общего "
+"с версией выпуска программного обеспечения."
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:146
+msgid "For ports:"
+msgstr "Для портов:"
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:148
+msgid "Prefer using the number already selected by upstream"
+msgstr "Предпочитайте использовать номер, уже выбранный вышестоящим проектом"
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:149
+msgid "If upstream provides symbol versioning, ensure that we use their script"
+msgstr ""
+"Если вышестоящий источник предоставляет управление версиями символов, "
+"убедитесь, что мы используем их скрипт"
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:151
+msgid "For the base system:"
+msgstr "Для базовой системы:"
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:153
+msgid "Start library version from 1"
+msgstr "Начните версии библиотеки с 1"
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:154
+msgid "It is strongly recommended to add symbol versioning to the new library"
+msgstr ""
+"Настоятельно рекомендуется добавить контроль версий символов в новую "
+"библиотеку"
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:155
+msgid ""
+"If there is an incompatible change, handle it with symbol versioning, "
+"maintaining backward ABI compatibility"
+msgstr ""
+"Если есть несовместимое изменение, обработайте его с помощью версионирования "
+"символов, сохраняя обратную совместимость ABI"
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:156
+msgid ""
+"If this is impossible, or the library does not use symbol versioning, bump "
+"the library version"
+msgstr ""
+"Если это невозможно или библиотека не использует версионирование символов, "
+"увеличьте версию библиотеки"
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:157
+msgid ""
+"Before even considering bumping library version for symbol-versioned "
+"library, consult with Release Engineering team, providing reasons why the "
+"change is so important that it should be allowed despite breaking the ABI"
+msgstr ""
+"Прежде чем даже рассматривать увеличение версии библиотеки для библиотеки с "
+"версионированием символов, проконсультируйтесь с командой Release "
+"Engineering, предоставив причины, почему изменение настолько важно, что его "
+"следует разрешить, несмотря на нарушение ABI"
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:159
+msgid ""
+"For instance, added functions and bugfixes not changing the interfaces are "
+"fine, while deleted functions, changed function call syntax, etc. should "
+"either provide backward-compat symbols, or will force the major version "
+"number to change."
+msgstr ""
+"Например, добавленные функции и исправления ошибок, не изменяющие "
+"интерфейсы, допустимы, тогда как удалённые функции, изменённый синтаксис "
+"вызовов и т.д. должны либо предоставлять обратно-совместимые символы, либо "
+"приведут к изменению старшего номера версии."
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:161
+msgid ""
+"It is the duty of the committer making the change to handle library "
+"versioning."
+msgstr ""
+"Обязанность коммиттера, вносящего изменения, — управлять версионированием "
+"библиотек."
+
+#. type: Plain text
+#: documentation/content/en/books/developers-handbook/policies/_index.adoc:166
+msgid ""
+"The ELF dynamic linker matches library names literally. There is a popular "
+"convention where library version is written in the form `libexample.so.x.y`, "
+"where x is the major version, and y is minor. Common practice is to set the "
+"library' soname (`DT_SONAME` ELF tag) to `libexample.so.x`, and set up "
+"symlinks `libexample.so.x->libexample.so.x.y`, `libexample.so->libexample.so."
+"x` on library installation for the latest minor version y. Then, since the "
+"static linker searches for `libexample.so` when the `-lexample` command line "
+"option is specified, objects linked with libexample get a dependency on the "
+"right library. Almost all popular build systems use this scheme "
+"automatically."
+msgstr ""
+"Динамический загрузчик ELF сопоставляет имена библиотек буквально. "
+"Существует популярное соглашение, согласно которому версия библиотеки "
+"записывается в виде `libexample.so.x.y`, где x — это мажорная версия, а y — "
+"минорная. Общепринятой практикой является установка поля soname у библиотеки "
+"(тег ELF `DT_SONAME`) в `libexample.so.x`, а также создание символических "
+"ссылок `libexample.so.x->libexample.so.x.y`, `libexample.so->libexample.so.x`"
+" при установке библиотеки для последней минорной версии y. Таким образом, "
+"поскольку статический компоновщик ищет `libexample.so`, когда указана опция "
+"командной строки `-lexample`, объекты, скомпонованные с libexample, получают "
+"информацию о зависимости от правильной библиотеки. Почти все популярные "
+"системы сборки автоматически используют эту схему."