aboutsummaryrefslogtreecommitdiff
path: root/documentation/content/ru
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/content/ru')
-rw-r--r--documentation/content/ru/articles/_index.adoc4
-rw-r--r--documentation/content/ru/articles/_index.po31
-rw-r--r--documentation/content/ru/articles/building-products/_index.adoc32
-rw-r--r--documentation/content/ru/articles/building-products/_index.po295
-rw-r--r--documentation/content/ru/articles/committers-guide/_index.adoc116
-rw-r--r--documentation/content/ru/articles/committers-guide/_index.po1292
-rw-r--r--documentation/content/ru/articles/contributing/_index.adoc25
-rw-r--r--documentation/content/ru/articles/contributing/_index.po289
-rw-r--r--documentation/content/ru/articles/contributors/_index.adoc160
-rw-r--r--documentation/content/ru/articles/contributors/_index.po68
-rw-r--r--documentation/content/ru/articles/contributors/contrib-develinmemoriam.adoc176
-rw-r--r--documentation/content/ru/articles/contributors/contrib-develinmemoriam.po4
-rw-r--r--documentation/content/ru/articles/explaining-bsd/_index.adoc2
-rw-r--r--documentation/content/ru/articles/explaining-bsd/_index.po76
-rw-r--r--documentation/content/ru/articles/filtering-bridges/_index.adoc4
-rw-r--r--documentation/content/ru/articles/filtering-bridges/_index.po60
-rw-r--r--documentation/content/ru/articles/freebsd-releng/_index.adoc358
-rw-r--r--documentation/content/ru/articles/freebsd-releng/_index.po238
-rw-r--r--documentation/content/ru/articles/freebsd-status-report-process/_index.adoc209
-rw-r--r--documentation/content/ru/articles/freebsd-status-report-process/_index.po93
-rw-r--r--documentation/content/ru/articles/gjournal-desktop/_index.adoc2
-rw-r--r--documentation/content/ru/articles/gjournal-desktop/_index.po4
-rw-r--r--documentation/content/ru/articles/leap-seconds/_index.adoc71
-rw-r--r--documentation/content/ru/articles/leap-seconds/_index.po36
-rw-r--r--documentation/content/ru/articles/license-guide/_index.adoc373
-rw-r--r--documentation/content/ru/articles/license-guide/_index.po83
-rw-r--r--documentation/content/ru/articles/linux-emulation/_index.adoc10
-rw-r--r--documentation/content/ru/articles/linux-emulation/_index.po474
-rw-r--r--documentation/content/ru/articles/linux-users/_index.adoc199
-rw-r--r--documentation/content/ru/articles/linux-users/_index.po109
-rw-r--r--documentation/content/ru/articles/mailing-list-faq/_index.adoc2
-rw-r--r--documentation/content/ru/articles/mailing-list-faq/_index.po55
-rw-r--r--documentation/content/ru/articles/port-mentor-guidelines/_index.adoc2
-rw-r--r--documentation/content/ru/articles/port-mentor-guidelines/_index.po40
-rw-r--r--documentation/content/ru/articles/pr-guidelines/_index.adoc2
-rw-r--r--documentation/content/ru/articles/pr-guidelines/_index.po26
-rw-r--r--documentation/content/ru/articles/rc-scripting/_index.adoc2
-rw-r--r--documentation/content/ru/articles/rc-scripting/_index.po515
-rw-r--r--documentation/content/ru/articles/serial-uart/_index.adoc2
-rw-r--r--documentation/content/ru/articles/serial-uart/_index.po304
-rw-r--r--documentation/content/ru/articles/solid-state/_index.adoc46
-rw-r--r--documentation/content/ru/articles/solid-state/_index.po223
-rw-r--r--documentation/content/ru/articles/vinum/_index.adoc2
-rw-r--r--documentation/content/ru/articles/vinum/_index.po335
-rw-r--r--documentation/content/ru/books/arch-handbook/_index.adoc4
-rw-r--r--documentation/content/ru/books/arch-handbook/_index.po22
-rw-r--r--documentation/content/ru/books/arch-handbook/bibliography/_index.adoc2
-rw-r--r--documentation/content/ru/books/arch-handbook/bibliography/_index.po6
-rw-r--r--documentation/content/ru/books/arch-handbook/book.adoc2
-rw-r--r--documentation/content/ru/books/arch-handbook/book.po26
-rw-r--r--documentation/content/ru/books/arch-handbook/boot/_index.adoc2
-rw-r--r--documentation/content/ru/books/arch-handbook/boot/_index.po390
-rw-r--r--documentation/content/ru/books/arch-handbook/driverbasics/_index.adoc2
-rw-r--r--documentation/content/ru/books/arch-handbook/driverbasics/_index.po34
-rw-r--r--documentation/content/ru/books/arch-handbook/driverbasics/chapter.adoc512
-rw-r--r--documentation/content/ru/books/arch-handbook/isa/_index.adoc2
-rw-r--r--documentation/content/ru/books/arch-handbook/isa/_index.po156
-rw-r--r--documentation/content/ru/books/arch-handbook/jail/_index.adoc4
-rw-r--r--documentation/content/ru/books/arch-handbook/jail/_index.po95
-rw-r--r--documentation/content/ru/books/arch-handbook/kobj/_index.adoc2
-rw-r--r--documentation/content/ru/books/arch-handbook/kobj/_index.po36
-rw-r--r--documentation/content/ru/books/arch-handbook/locking/_index.adoc2
-rw-r--r--documentation/content/ru/books/arch-handbook/locking/_index.po31
-rw-r--r--documentation/content/ru/books/arch-handbook/locking/chapter.adoc137
-rw-r--r--documentation/content/ru/books/arch-handbook/mac/_index.adoc38
-rw-r--r--documentation/content/ru/books/arch-handbook/mac/_index.po245
-rw-r--r--documentation/content/ru/books/arch-handbook/newbus/_index.adoc6
-rw-r--r--documentation/content/ru/books/arch-handbook/newbus/_index.po64
-rw-r--r--documentation/content/ru/books/arch-handbook/parti.adoc2
-rw-r--r--documentation/content/ru/books/arch-handbook/parti.po4
-rw-r--r--documentation/content/ru/books/arch-handbook/partii.adoc2
-rw-r--r--documentation/content/ru/books/arch-handbook/partii.po4
-rw-r--r--documentation/content/ru/books/arch-handbook/partiii.adoc2
-rw-r--r--documentation/content/ru/books/arch-handbook/partiii.po4
-rw-r--r--documentation/content/ru/books/arch-handbook/pccard/_index.adoc2
-rw-r--r--documentation/content/ru/books/arch-handbook/pccard/_index.po45
-rw-r--r--documentation/content/ru/books/arch-handbook/pci/_index.adoc2
-rw-r--r--documentation/content/ru/books/arch-handbook/pci/_index.po74
-rw-r--r--documentation/content/ru/books/arch-handbook/scsi/_index.adoc20
-rw-r--r--documentation/content/ru/books/arch-handbook/scsi/_index.po149
-rw-r--r--documentation/content/ru/books/arch-handbook/smp/_index.adoc10
-rw-r--r--documentation/content/ru/books/arch-handbook/smp/_index.po107
-rw-r--r--documentation/content/ru/books/arch-handbook/sound/_index.adoc2
-rw-r--r--documentation/content/ru/books/arch-handbook/sound/_index.po48
-rw-r--r--documentation/content/ru/books/arch-handbook/sound/chapter.adoc432
-rw-r--r--documentation/content/ru/books/arch-handbook/sysinit/_index.adoc2
-rw-r--r--documentation/content/ru/books/arch-handbook/sysinit/_index.po12
-rw-r--r--documentation/content/ru/books/arch-handbook/usb/_index.adoc2
-rw-r--r--documentation/content/ru/books/arch-handbook/usb/_index.po77
-rw-r--r--documentation/content/ru/books/arch-handbook/vm/_index.adoc2
-rw-r--r--documentation/content/ru/books/arch-handbook/vm/_index.po37
-rw-r--r--documentation/content/ru/books/design-44bsd/_index.adoc12
-rw-r--r--documentation/content/ru/books/design-44bsd/_index.po223
-rw-r--r--documentation/content/ru/books/dev-model/_index.adoc32
-rw-r--r--documentation/content/ru/books/dev-model/_index.po316
-rw-r--r--documentation/content/ru/books/developers-handbook/_index.adoc6
-rw-r--r--documentation/content/ru/books/developers-handbook/_index.po24
-rw-r--r--documentation/content/ru/books/developers-handbook/bibliography/_index.adoc4
-rw-r--r--documentation/content/ru/books/developers-handbook/bibliography/_index.po22
-rw-r--r--documentation/content/ru/books/developers-handbook/book.adoc4
-rw-r--r--documentation/content/ru/books/developers-handbook/book.po34
-rw-r--r--documentation/content/ru/books/developers-handbook/introduction/_index.adoc2
-rw-r--r--documentation/content/ru/books/developers-handbook/introduction/_index.po10
-rw-r--r--documentation/content/ru/books/developers-handbook/introduction/chapter.adoc140
-rw-r--r--documentation/content/ru/books/developers-handbook/ipv6/_index.adoc6
-rw-r--r--documentation/content/ru/books/developers-handbook/ipv6/_index.po180
-rw-r--r--documentation/content/ru/books/developers-handbook/kernelbuild/_index.adoc4
-rw-r--r--documentation/content/ru/books/developers-handbook/kernelbuild/_index.po10
-rw-r--r--documentation/content/ru/books/developers-handbook/kerneldebug/_index.adoc2
-rw-r--r--documentation/content/ru/books/developers-handbook/kerneldebug/_index.po119
-rw-r--r--documentation/content/ru/books/developers-handbook/kerneldebug/chapter.adoc678
-rw-r--r--documentation/content/ru/books/developers-handbook/l10n/_index.adoc4
-rw-r--r--documentation/content/ru/books/developers-handbook/l10n/_index.po22
-rw-r--r--documentation/content/ru/books/developers-handbook/parti.adoc2
-rw-r--r--documentation/content/ru/books/developers-handbook/parti.po4
-rw-r--r--documentation/content/ru/books/developers-handbook/partii.adoc2
-rw-r--r--documentation/content/ru/books/developers-handbook/partii.po4
-rw-r--r--documentation/content/ru/books/developers-handbook/partiii.adoc2
-rw-r--r--documentation/content/ru/books/developers-handbook/partiii.po4
-rw-r--r--documentation/content/ru/books/developers-handbook/partiv.adoc2
-rw-r--r--documentation/content/ru/books/developers-handbook/partiv.po4
-rw-r--r--documentation/content/ru/books/developers-handbook/partv.adoc2
-rw-r--r--documentation/content/ru/books/developers-handbook/partv.po4
-rw-r--r--documentation/content/ru/books/developers-handbook/policies/_index.adoc2
-rw-r--r--documentation/content/ru/books/developers-handbook/policies/_index.po64
-rw-r--r--documentation/content/ru/books/developers-handbook/policies/chapter.adoc196
-rw-r--r--documentation/content/ru/books/developers-handbook/secure/_index.adoc4
-rw-r--r--documentation/content/ru/books/developers-handbook/secure/_index.po102
-rw-r--r--documentation/content/ru/books/developers-handbook/secure/chapter.adoc190
-rw-r--r--documentation/content/ru/books/developers-handbook/sockets/_index.adoc2
-rw-r--r--documentation/content/ru/books/developers-handbook/sockets/_index.po90
-rw-r--r--documentation/content/ru/books/developers-handbook/testing/_index.adoc4
-rw-r--r--documentation/content/ru/books/developers-handbook/testing/_index.po26
-rw-r--r--documentation/content/ru/books/developers-handbook/tools/_index.adoc4
-rw-r--r--documentation/content/ru/books/developers-handbook/tools/_index.po361
-rw-r--r--documentation/content/ru/books/developers-handbook/x86/_index.adoc6
-rw-r--r--documentation/content/ru/books/developers-handbook/x86/_index.po388
-rw-r--r--documentation/content/ru/books/faq/_index.adoc6
-rw-r--r--documentation/content/ru/books/faq/_index.po17
-rw-r--r--documentation/content/ru/books/handbook/_index.adoc4
-rw-r--r--documentation/content/ru/books/handbook/_index.po7
-rw-r--r--documentation/content/ru/books/handbook/advanced-networking/_index.adoc2
-rw-r--r--documentation/content/ru/books/handbook/advanced-networking/_index.po354
-rw-r--r--documentation/content/ru/books/handbook/audit/_index.adoc8
-rw-r--r--documentation/content/ru/books/handbook/audit/_index.po97
-rw-r--r--documentation/content/ru/books/handbook/basics/_index.adoc2
-rw-r--r--documentation/content/ru/books/handbook/basics/_index.po326
-rw-r--r--documentation/content/ru/books/handbook/bibliography/_index.adoc28
-rw-r--r--documentation/content/ru/books/handbook/bibliography/_index.po248
-rw-r--r--documentation/content/ru/books/handbook/book.adoc2
-rw-r--r--documentation/content/ru/books/handbook/book.po7
-rw-r--r--documentation/content/ru/books/handbook/boot/_index.adoc2
-rw-r--r--documentation/content/ru/books/handbook/boot/_index.po119
-rw-r--r--documentation/content/ru/books/handbook/bsdinstall/_index.adoc18
-rw-r--r--documentation/content/ru/books/handbook/bsdinstall/_index.po481
-rw-r--r--documentation/content/ru/books/handbook/colophon.adoc2
-rw-r--r--documentation/content/ru/books/handbook/colophon.po6
-rw-r--r--documentation/content/ru/books/handbook/config/_index.adoc6
-rw-r--r--documentation/content/ru/books/handbook/config/_index.po270
-rw-r--r--documentation/content/ru/books/handbook/cutting-edge/_index.adoc6
-rw-r--r--documentation/content/ru/books/handbook/cutting-edge/_index.po226
-rw-r--r--documentation/content/ru/books/handbook/desktop/_index.adoc2
-rw-r--r--documentation/content/ru/books/handbook/desktop/_index.po46
-rw-r--r--documentation/content/ru/books/handbook/disks/_index.adoc16
-rw-r--r--documentation/content/ru/books/handbook/disks/_index.po405
-rw-r--r--documentation/content/ru/books/handbook/dtrace/_index.adoc2
-rw-r--r--documentation/content/ru/books/handbook/dtrace/_index.po46
-rw-r--r--documentation/content/ru/books/handbook/eresources/_index.adoc2
-rw-r--r--documentation/content/ru/books/handbook/eresources/_index.po80
-rw-r--r--documentation/content/ru/books/handbook/filesystems/_index.adoc2
-rw-r--r--documentation/content/ru/books/handbook/filesystems/_index.po34
-rw-r--r--documentation/content/ru/books/handbook/firewalls/_index.adoc6
-rw-r--r--documentation/content/ru/books/handbook/firewalls/_index.po442
-rw-r--r--documentation/content/ru/books/handbook/geom/_index.adoc6
-rw-r--r--documentation/content/ru/books/handbook/geom/_index.po260
-rw-r--r--documentation/content/ru/books/handbook/glossary.adoc2
-rw-r--r--documentation/content/ru/books/handbook/glossary.po487
-rw-r--r--documentation/content/ru/books/handbook/introduction.po39
-rw-r--r--documentation/content/ru/books/handbook/introduction/_index.adoc4
-rw-r--r--documentation/content/ru/books/handbook/introduction/_index.po67
-rw-r--r--documentation/content/ru/books/handbook/jails/_index.adoc2
-rw-r--r--documentation/content/ru/books/handbook/jails/_index.po129
-rw-r--r--documentation/content/ru/books/handbook/kernelconfig/_index.adoc10
-rw-r--r--documentation/content/ru/books/handbook/kernelconfig/_index.po88
-rw-r--r--documentation/content/ru/books/handbook/l10n/_index.adoc6
-rw-r--r--documentation/content/ru/books/handbook/l10n/_index.po97
-rw-r--r--documentation/content/ru/books/handbook/linuxemu/_index.adoc2
-rw-r--r--documentation/content/ru/books/handbook/linuxemu/_index.po93
-rw-r--r--documentation/content/ru/books/handbook/mac/_index.adoc34
-rw-r--r--documentation/content/ru/books/handbook/mac/_index.po243
-rw-r--r--documentation/content/ru/books/handbook/mail/_index.adoc4
-rw-r--r--documentation/content/ru/books/handbook/mail/_index.po149
-rw-r--r--documentation/content/ru/books/handbook/mirrors/_index.adoc32
-rw-r--r--documentation/content/ru/books/handbook/mirrors/_index.po62
-rw-r--r--documentation/content/ru/books/handbook/multimedia/_index.adoc2
-rw-r--r--documentation/content/ru/books/handbook/multimedia/_index.po46
-rw-r--r--documentation/content/ru/books/handbook/network-servers/_index.adoc9
-rw-r--r--documentation/content/ru/books/handbook/network-servers/_index.po595
-rw-r--r--documentation/content/ru/books/handbook/network/_index.adoc2
-rw-r--r--documentation/content/ru/books/handbook/network/_index.po173
-rw-r--r--documentation/content/ru/books/handbook/parti.adoc2
-rw-r--r--documentation/content/ru/books/handbook/parti.po4
-rw-r--r--documentation/content/ru/books/handbook/partii.adoc2
-rw-r--r--documentation/content/ru/books/handbook/partii.po4
-rw-r--r--documentation/content/ru/books/handbook/partiii.adoc2
-rw-r--r--documentation/content/ru/books/handbook/partiii.po4
-rw-r--r--documentation/content/ru/books/handbook/partiv.adoc2
-rw-r--r--documentation/content/ru/books/handbook/partiv.po4
-rw-r--r--documentation/content/ru/books/handbook/partv.adoc2
-rw-r--r--documentation/content/ru/books/handbook/partv.po4
-rw-r--r--documentation/content/ru/books/handbook/pgpkeys/_index.adoc2
-rw-r--r--documentation/content/ru/books/handbook/pgpkeys/_index.po10
-rw-r--r--documentation/content/ru/books/handbook/ports/_index.adoc18
-rw-r--r--documentation/content/ru/books/handbook/ports/_index.po237
-rw-r--r--documentation/content/ru/books/handbook/ppp-and-slip/_index.adoc4
-rw-r--r--documentation/content/ru/books/handbook/ppp-and-slip/_index.po117
-rw-r--r--documentation/content/ru/books/handbook/preface/_index.adoc2
-rw-r--r--documentation/content/ru/books/handbook/preface/_index.po266
-rw-r--r--documentation/content/ru/books/handbook/printing/_index.adoc2
-rw-r--r--documentation/content/ru/books/handbook/printing/_index.po93
-rw-r--r--documentation/content/ru/books/handbook/security/_index.adoc19
-rw-r--r--documentation/content/ru/books/handbook/security/_index.po386
-rw-r--r--documentation/content/ru/books/handbook/serialcomms/_index.adoc6
-rw-r--r--documentation/content/ru/books/handbook/serialcomms/_index.po213
-rw-r--r--documentation/content/ru/books/handbook/usb-device-mode/_index.adoc2
-rw-r--r--documentation/content/ru/books/handbook/usb-device-mode/_index.po41
-rw-r--r--documentation/content/ru/books/handbook/virtualization/_index.adoc2
-rw-r--r--documentation/content/ru/books/handbook/virtualization/_index.po581
-rw-r--r--documentation/content/ru/books/handbook/wayland/_index.adoc2
-rw-r--r--documentation/content/ru/books/handbook/wayland/_index.po76
-rw-r--r--documentation/content/ru/books/handbook/wine/_index.adoc8
-rw-r--r--documentation/content/ru/books/handbook/wine/_index.po167
-rw-r--r--documentation/content/ru/books/handbook/x11/_index.adoc4
-rw-r--r--documentation/content/ru/books/handbook/x11/_index.po200
-rw-r--r--documentation/content/ru/books/handbook/zfs/_index.adoc4
-rw-r--r--documentation/content/ru/books/handbook/zfs/_index.po458
-rw-r--r--documentation/content/ru/books/porters-handbook/_index.adoc6
-rw-r--r--documentation/content/ru/books/porters-handbook/_index.po8
-rw-r--r--documentation/content/ru/books/porters-handbook/book.adoc4
-rw-r--r--documentation/content/ru/books/porters-handbook/book.po8
-rw-r--r--documentation/content/ru/books/porters-handbook/flavors/_index.adoc2
-rw-r--r--documentation/content/ru/books/porters-handbook/flavors/_index.po33
-rw-r--r--documentation/content/ru/books/porters-handbook/keeping-up/_index.adoc4
-rw-r--r--documentation/content/ru/books/porters-handbook/keeping-up/_index.po37
-rw-r--r--documentation/content/ru/books/porters-handbook/makefiles/_index.adoc8
-rw-r--r--documentation/content/ru/books/porters-handbook/makefiles/_index.po969
-rw-r--r--documentation/content/ru/books/porters-handbook/new-port/_index.adoc2
-rw-r--r--documentation/content/ru/books/porters-handbook/new-port/_index.po21
-rw-r--r--documentation/content/ru/books/porters-handbook/order/_index.adoc4
-rw-r--r--documentation/content/ru/books/porters-handbook/order/_index.po39
-rw-r--r--documentation/content/ru/books/porters-handbook/pkg-files/_index.adoc2
-rw-r--r--documentation/content/ru/books/porters-handbook/pkg-files/_index.po74
-rw-r--r--documentation/content/ru/books/porters-handbook/plist/_index.adoc8
-rw-r--r--documentation/content/ru/books/porters-handbook/plist/_index.po154
-rw-r--r--documentation/content/ru/books/porters-handbook/porting-dads/_index.adoc16
-rw-r--r--documentation/content/ru/books/porters-handbook/porting-dads/_index.po123
-rw-r--r--documentation/content/ru/books/porters-handbook/porting-samplem/_index.adoc2
-rw-r--r--documentation/content/ru/books/porters-handbook/porting-samplem/_index.po37
-rw-r--r--documentation/content/ru/books/porters-handbook/porting-why/_index.adoc2
-rw-r--r--documentation/content/ru/books/porters-handbook/porting-why/_index.po6
-rw-r--r--documentation/content/ru/books/porters-handbook/quick-porting/_index.adoc2
-rw-r--r--documentation/content/ru/books/porters-handbook/quick-porting/_index.po80
-rw-r--r--documentation/content/ru/books/porters-handbook/security/_index.adoc6
-rw-r--r--documentation/content/ru/books/porters-handbook/security/_index.po94
-rw-r--r--documentation/content/ru/books/porters-handbook/slow-porting/_index.adoc6
-rw-r--r--documentation/content/ru/books/porters-handbook/slow-porting/_index.po115
-rw-r--r--documentation/content/ru/books/porters-handbook/special/_index.adoc14
-rw-r--r--documentation/content/ru/books/porters-handbook/special/_index.po1050
-rw-r--r--documentation/content/ru/books/porters-handbook/testing/_index.adoc4
-rw-r--r--documentation/content/ru/books/porters-handbook/testing/_index.po10
-rw-r--r--documentation/content/ru/books/porters-handbook/upgrading/_index.adoc4
-rw-r--r--documentation/content/ru/books/porters-handbook/upgrading/_index.po66
-rw-r--r--documentation/content/ru/books/porters-handbook/uses/_index.adoc8
-rw-r--r--documentation/content/ru/books/porters-handbook/uses/_index.po696
-rw-r--r--documentation/content/ru/books/porters-handbook/versions/_index.adoc12
-rw-r--r--documentation/content/ru/books/porters-handbook/versions/_index.po60
276 files changed, 11399 insertions, 13950 deletions
diff --git a/documentation/content/ru/articles/_index.adoc b/documentation/content/ru/articles/_index.adoc
index de739232b6..b73bb994b5 100644
--- a/documentation/content/ru/articles/_index.adoc
+++ b/documentation/content/ru/articles/_index.adoc
@@ -1,8 +1,8 @@
---
-title: Articles
layout: total-list
+title: Статьи
---
-= Articles
+= Статьи
{{< list-articles-directories >}}
diff --git a/documentation/content/ru/articles/_index.po b/documentation/content/ru/articles/_index.po
new file mode 100644
index 0000000000..a0a6f8a9b5
--- /dev/null
+++ b/documentation/content/ru/articles/_index.po
@@ -0,0 +1,31 @@
+# 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: 2022-01-08 11:34-0300\n"
+"PO-Revision-Date: 2025-06-04 18:10+0000\n"
+"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
+"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
+"documentation/articles_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/articles/_index.adoc:1
+#: documentation/content/en/articles/_index.adoc:6
+#, no-wrap
+msgid "Articles"
+msgstr "Статьи"
+
+#. type: Plain text
+#: documentation/content/en/articles/_index.adoc:8
+msgid "{{< list-articles-directories >}}"
+msgstr "{{< list-articles-directories >}}"
diff --git a/documentation/content/ru/articles/building-products/_index.adoc b/documentation/content/ru/articles/building-products/_index.adoc
index 469af9b0ef..f26b77090a 100644
--- a/documentation/content/ru/articles/building-products/_index.adoc
+++ b/documentation/content/ru/articles/building-products/_index.adoc
@@ -63,7 +63,8 @@ toc::[]
Хотя исходный код FreeBSD распространяется свободно, чтобы в полной мере воспользоваться преимуществами работы проекта, организациям необходимо _сотрудничать_ с ним. В последующих разделах этой статьи мы обсудим эффективные способы взаимодействия с проектом и подводные камни, которых следует избегать при этом.
-*Caveat Reader.* The author believes that the characteristics of the FreeBSD Project listed in this article were substantially true at the time the article was conceived and written (2005). However, the reader should keep in mind that the practices and processes used by open-source communities can change over time, and that the information in this article should therefore be taken as indicative rather than normative.
+*Предупреждение для читателя.* Автор считает, что перечисленные в этой статье характеристики проекта FreeBSD были в основном верны на момент написания статьи (2005 год).
+Однако читателю следует учитывать, что практики и процессы, используемые сообществами открытого исходного кода, могут меняться со временем, поэтому информацию в этой статье следует рассматривать как ориентировочную, а не нормативную.
=== Целевая аудитория
@@ -122,7 +123,7 @@ FreeBSD предоставляет инструменты для создани
В этой модели организации вносят полезные инфраструктурные фреймворки в проект FreeBSD (например, см. man:netgraph[3]). Широкое распространение кода помогает быстро выявлять проблемы производительности и ошибки. Участие высококлассных разработчиков также приводит к полезным расширениям инфраструктуры, от которых выигрывает и сама организация-вкладчик.
* Как среда разработки, поддерживающая кросс-разработку для встраиваемых ОС, таких как http://www.rtems.com/[RTEMS] и http://ecos.sourceware.org/[eCOS].
+
-В обширной коллекции портированных и упакованных приложений FreeBSD, насчитывающей {numports} элементов, доступно множество полноценных сред разработки.
+В обширной коллекции портированных приложений и пакетов FreeBSD, насчитывающей {numports} элементов, доступно множество полноценных сред разработки.
* В качестве способа поддержки Unix-подобного API в проприетарной ОС, повышая её привлекательность для разработчиков приложений.
+
В этой части ядра FreeBSD и прикладных программ "портированы" для работы вместе с другими задачами в проприетарной ОС. Наличие стабильной и хорошо протестированной реализации Unix(TM) API может сократить усилия, необходимые для переноса популярных приложений на проприетарную ОС. Поскольку FreeBSD поставляется с качественной документацией по своей внутренней структуре и имеет эффективные процессы управления уязвимостями и выпуска релизов, затраты на поддержание актуальности остаются низкими.
@@ -208,13 +209,18 @@ image::freebsd-branches.png[]
Добровольческие проекты работают по другим правилам, чем коммерческие компании. Частая ошибка, которую совершают компании, входя в мир открытого исходного кода, — недооценка этих различий.
-*Motivation.* Most contributions to FreeBSD are done voluntarily without monetary rewards entering the picture. The factors that motivate individuals are complex, ranging from altruism, to an interest in solving the kinds of problems that FreeBSD attempts to solve. In this environment, "elegance is never optional"crossref:building-products[Nor1993,"Tutorial on Good Lisp Programming Style"].
+*Мотивация.* Большинство вкладов в FreeBSD делается добровольно,
+без денежного вознаграждения. Факторы, мотивирующие людей, сложны и
+варьируются от альтруизма до интереса к решению задач, которые FreeBSD
+пытается решить. В таких условиях «элегантность никогда не бывает опциональной»
+crossref:building-products[Nor1993,"Tutorial on Good Lisp Programming Style"].
-*The Long Term View.* FreeBSD traces its roots back nearly twenty years to the work of the Computer Science Research Group at the University of California Berkeley.footnote:[FreeBSD's source repository contains a history of the project since its inception, and there are CDROMs available that contain earlier code from the CSRG.] A number of the original CSRG developers remain associated with the project.
+*Долгосрочная перспектива.* FreeBSD ведёт свою историю почти двадцать лет назад, к работе Исследовательской группы по информатике (Computer Science Research Group) в Университете Калифорнии, Беркли.footnote:[Исходный репозиторий FreeBSD содержит историю проекта с момента его создания, а также доступны CD-ROM с более ранним кодом от CSRG.] Некоторые из оригинальных разработчиков CSRG до сих пор связаны с проектом.
Проект ценит долгосрочные перспективы crossref:building-products[Nor2001,"Научись программировать за десять лет"]. Часто встречающаяся в проекте аббревиатура — DTRT, что означает «Do The Right Thing» (сделай правильно).
-*Development Processes.* Computer programs are tools for communication: at one level programmers communicate their intentions using a precise notation to a tool (a compiler) that translates their instructions to executable code. At another level, the same notation is used for communication of intent between two programmers.
+*Процессы разработки.* Компьютерные программы — это инструменты для общения: на одном уровне программисты передают свои намерения, используя точную нотацию, инструменту (компилятору), который преобразует их инструкции в исполняемый код.
+На другом уровне та же нотация используется для передачи намерений между двумя программистами.
Формальные спецификации и проектные документы редко используются в проекте. Вместо них применяются понятный и хорошо написанный код, а также хорошо составленные журналы изменений (crossref:building-products[fig-change-log, Пример записи в журнале изменений]). Разработка FreeBSD происходит по принципу «грубого консенсуса и работающего кода» crossref:building-products[Carp1996,"Архитектурные принципы Интернета"].
@@ -241,16 +247,17 @@ This speeds up arg reduction by a factor of 2 for |x| between 3*pi/4 and
Общение между программистами улучшается благодаря использованию общего стандарта кодирования man:style[9].
-*Communication Channels.* FreeBSD's contributors are spread across the world. Email (and to a lesser extent, IRC) is the preferred means of communication in the project.
+*Каналы связи.* Участники проекта FreeBSD живут в разных уголках мира.
+Электронная почта (и в меньшей степени IRC) — это предпочтительные способы общения в проекте.
=== Лучшие практики для сотрудничества с проектом FreeBSD
Теперь рассмотрим несколько лучших практик для наиболее эффективного использования FreeBSD в разработке продуктов.
Планируйте на долгосрочную перспективу::
-Настройка процессов, которые помогают отслеживать разработку FreeBSD. Например:
+Настройте процессы, которые помогают отслеживать разработку FreeBSD. Например:
+
-*Track FreeBSD source code.* The project makes it easy to mirror its SVN repository using extref:{committers-guide}[svnsync, svn-advanced-use-setting-up-svnsync]. Having the complete history of the source is useful when debugging complex problems and offers valuable insight into the intentions of the original developers. Use a capable source control system that allows you to easily merge changes between the upstream FreeBSD code base and your own in-house code.
+*Отслеживание исходного кода FreeBSD.* Проект упрощает зеркалирование своего SVN-репозитория с помощью extref:{committers-guide}[svnsync, svn-advanced-use-setting-up-svnsync]. Наличие полной истории исходного кода полезно при отладке сложных проблем и дает ценное понимание намерений оригинальных разработчиков. Используйте систему контроля версий, которая позволяет легко объединять изменения между основной кодовой базой FreeBSD и вашим внутренним кодом.
+
crossref:building-products[fig-svn-blame, Аннотированный листинг исходного кода, сгенерированный с помощью `svn blame`] показывает часть аннотированного листинга файла, на который ссылается журнал изменений в crossref:building-products[fig-change-log, Пример записи в журнале изменений]. Происхождение каждой строки исходного кода чётко видно. Аннотированные листинги, показывающие историю каждого файла, входящего в состав FreeBSD, https://svnweb.freebsd.org/[доступны в интернете].
+
@@ -274,16 +281,17 @@ crossref:building-products[fig-svn-blame, Аннотированный лист
....
.Аннотированный листинг исходного кода, сгенерированный с использованием `svn blame` [[fig-svn-blame]]
+
-*Use a gatekeeper.* Appoint a _gatekeeper_ to monitor FreeBSD development, to keep an eye out for changes that could potentially impact your products.
+*Используйте привратника.* Назначьте _привратника_ для отслеживания разработки FreeBSD, чтобы следить за изменениями, которые могут потенциально повлиять на ваши продукты.
+
-*Report bugs upstream.* If you notice bug in the FreeBSD code that you are using, file a https://www.FreeBSD.org/support/bugreports/[bug report]. This step helps ensure that you do not have to fix the bug the next time you take a code drop from upstream.
+*Сообщайте об ошибках в вышестоящий проект.* Если вы заметили ошибку в коде FreeBSD, который используете, заполните https://www.FreeBSD.org/support/bugreports/[отчёт об ошибке].
+Этот шаг помогает гарантировать, что вам не придётся исправлять ошибку в следующий раз, когда вы получите обновление кода из вышестоящего проекта.
Используйте преимущества разработки релизов FreeBSD::
Используйте код из ветви разработки -STABLE FreeBSD. Эти ветви разработки официально поддерживаются инженерной командой выпуска и командой безопасности FreeBSD и содержат проверенный код.
-Пожертвовуйте код для снижения затрат::
+Пожертвуйте код для снижения затрат::
Основная часть затрат, связанных с разработкой продуктов, приходится на их поддержку. Пожертвовав некритичный код проекту, вы получаете выгоду в виде гораздо более широкого распространения вашего кода, чем это было бы возможно иначе. В свою очередь, это приводит к выявлению большего количества ошибок и уязвимостей безопасности, а также к обнаружению и исправлению аномалий производительности.
-Получайте поддержку эффективно::
+Получайте эффективную поддержку::
Для продуктов с жёсткими сроками рекомендуется нанять или заключить консультационное соглашение с разработчиком или компанией, имеющими опыт работы с FreeBSD. {freebsd-jobs} является полезным каналом связи для поиска специалистов. Проект FreeBSD поддерживает link:https://www.FreeBSD.org/commercial/consult_bycat/[галерею консультантов и консалтинговых компаний], занимающихся работой с FreeBSD. http://www.bsdcertification.org/[Группа сертификации BSD] предлагает сертификацию для всех основных ОС, производных от BSD.
+
Для менее критичных задач вы можете обратиться за помощью в link:https://lists.freebsd.org/[списки рассылки проекта]. Полезное руководство о том, как правильно задавать вопросы, приведено в crossref:building-products[Ray2004,"Как правильно задавать вопросы"].
diff --git a/documentation/content/ru/articles/building-products/_index.po b/documentation/content/ru/articles/building-products/_index.po
index 1cd929d1ad..06e304eb3e 100644
--- a/documentation/content/ru/articles/building-products/_index.po
+++ b/documentation/content/ru/articles/building-products/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-09-21 12:20+0300\n"
-"PO-Revision-Date: 2025-09-05 04:45+0000\n"
+"POT-Creation-Date: 2024-12-29 08:30-0500\n"
+"PO-Revision-Date: 2025-10-29 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/articlesbuilding-products_index/ru/>\n"
@@ -18,7 +18,7 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/articles/building-products/_index.adoc:1
#, no-wrap
msgid "How FreeBSD can help you build a better product"
@@ -128,22 +128,10 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/building-products/_index.adoc:75
-#, fuzzy
-#| msgid ""
-#| "*Caveat Reader.* The author believes that the characteristics of the "
-#| "FreeBSD Project listed in this article were substantially true at the "
-#| "time the article was conceived and written (2005).\n"
-#| "However, the reader should keep in mind that the practices and processes "
-#| "used by open-source communities can change over time, and that the "
-#| "information in this article should therefore be taken as indicative "
-#| "rather than normative.\n"
-msgid ""
-"*Caveat Reader.* The author believes that the characteristics of the FreeBSD "
-"Project listed in this article were substantially true at the time the "
-"article was conceived and written (2005). However, the reader should keep "
-"in mind that the practices and processes used by open-source communities can "
-"change over time, and that the information in this article should therefore "
-"be taken as indicative rather than normative."
+#, no-wrap
+msgid ""
+"*Caveat Reader.* The author believes that the characteristics of the FreeBSD Project listed in this article were substantially true at the time the article was conceived and written (2005).\n"
+"However, the reader should keep in mind that the practices and processes used by open-source communities can change over time, and that the information in this article should therefore be taken as indicative rather than normative.\n"
msgstr ""
"*Предупреждение для читателя.* Автор считает, что перечисленные в этой "
"статье характеристики проекта FreeBSD были в основном верны на момент "
@@ -365,12 +353,11 @@ msgid ""
"components in their products include a shorter time to market, lower "
"development costs and lower development risks."
msgstr ""
-"crossref:building-products[GoldGab2005,\"Инновации происходят в другом "
-"месте: открытое ПО как бизнес-стратегия\"] подробно рассматривает бизнес-"
-"причины использования открытого ПО. Для организаций преимущества "
-"использования компонентов FreeBSD в своих продуктах включают сокращение "
-"времени выхода на рынок, снижение затрат на разработку и уменьшение рисков "
-"разработки."
+"crossref:building-products[GoldGab2005,\"Инновации происходят в другом месте:"
+" открытое ПО как бизнес-стратегия\"] подробно рассматривает бизнес-причины "
+"использования открытого ПО. Для организаций преимущества использования "
+"компонентов FreeBSD в своих продуктах включают сокращение времени выхода на "
+"рынок, снижение затрат на разработку и уменьшение рисков разработки."
#. type: Title ===
#: documentation/content/en/articles/building-products/_index.adoc:119
@@ -487,7 +474,7 @@ msgid ""
"There are many full-fledged development environments in the {numports}-"
"strong collection of applications ported and packaged with FreeBSD."
msgstr ""
-"В обширной коллекции портированных и упакованных приложений FreeBSD, "
+"В обширной коллекции портированных приложений и пакетов FreeBSD, "
"насчитывающей {numports} элементов, доступно множество полноценных сред "
"разработки."
@@ -537,8 +524,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/building-products/_index.adoc:155
msgid ""
-"A complete system that can cross-host itself for link:https://"
-"www.FreeBSD.org/platforms/[many architectures:]"
+"A complete system that can cross-host itself for link:https://www.FreeBSD."
+"org/platforms/[many architectures:]"
msgstr ""
"Полная система, способная самостоятельно осуществлять кросс-хостинг для "
"link:https://www.FreeBSD.org/platforms/[множества архитектур:]"
@@ -574,8 +561,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/building-products/_index.adoc:159
msgid ""
-"Security features: Mandatory Access Control (man:mac[9]), jails "
-"(man:jail[2]), ACLs, and in-kernel cryptographic device support."
+"Security features: Mandatory Access Control (man:mac[9]), jails (man:"
+"jail[2]), ACLs, and in-kernel cryptographic device support."
msgstr ""
"Безопасность: Принудительное управление доступом (man:mac[9]), клетки "
"(man:jail[2]), ACL и поддержка криптографических устройств в ядре."
@@ -615,9 +602,13 @@ msgid ""
"supports soft updates, snapshots and very large filesystem sizes (16TB per\n"
"\t\tfilesystem) crossref:building-products[McKu1999,\"Soft Updates: A Technique for Eliminating Most Synchronous Writes in the Fast Filesystem\"].\n"
msgstr ""
-"FreeBSD поддерживает множество файловых систем, а его родная файловая система UFS2\n"
-"поддерживает мягкие обновления, снимки и очень большие размеры файловых систем (16TB на\n"
-"файловую систему) crossref:building-products[McKu1999,\"Soft Updates: A Technique for Eliminating Most Synchronous Writes in the Fast Filesystem\"].\n"
+"FreeBSD поддерживает множество файловых систем, а его родная файловая "
+"система UFS2\n"
+"поддерживает мягкие обновления, снимки и очень большие размеры файловых "
+"систем (16TB на\n"
+"файловую систему) crossref:building-products[McKu1999,\"Soft Updates: A "
+"Technique for Eliminating Most Synchronous Writes in the Fast Filesystem\"]."
+"\n"
#. type: Plain text
#: documentation/content/en/articles/building-products/_index.adoc:169
@@ -656,8 +647,8 @@ msgid ""
"jargon) to the source base."
msgstr ""
"Существует два основных типа участников FreeBSD: обычные пользователи "
-"FreeBSD и разработчики с правом записи (известные в жаргоне как "
-"_коммиттеры_) в исходную базу."
+"FreeBSD и разработчики с правом записи (известные в жаргоне как _коммиттеры_)"
+" в исходную базу."
#. type: Plain text
#: documentation/content/en/articles/building-products/_index.adoc:180
@@ -670,8 +661,8 @@ msgid ""
"them learn the ropes."
msgstr ""
"В первой группе участвуют тысячи разработчиков; подавляющее большинство "
-"вкладов в FreeBSD поступает от участников этой группы. Права на коммит "
-"(доступ на запись) в репозиторий предоставляются тем, кто регулярно вносит "
+"вкладов в FreeBSD поступает от участников этой группы. Права на коммит ("
+"доступ на запись) в репозиторий предоставляются тем, кто регулярно вносит "
"вклад в проект. Права на коммит связаны с дополнительными обязанностями, и "
"новым коммиттерам назначаются наставники, чтобы помочь им освоиться."
@@ -706,8 +697,8 @@ msgid ""
"responsibilities for committers."
msgstr ""
"В FreeBSD нет \"корпоративных\" коммиттеров. Отдельные коммиттеры обязаны "
-"нести ответственность за изменения, которые они вносят в код. В extref:"
-"{committers-guide}[Руководстве коммиттера FreeBSD] crossref:building-"
+"нести ответственность за изменения, которые они вносят в код. В extref"
+":{committers-guide}[Руководстве коммиттера FreeBSD] crossref:building-"
"products[ComGuide,\"Руководство коммиттера\"] описаны правила и обязанности "
"коммиттеров."
@@ -766,8 +757,8 @@ msgid ""
"_-RELEASE_ branches are maintained by the FreeBSD security team. Only bug "
"fixes for critical issues are permitted onto -RELEASE branches."
msgstr ""
-"Ветви _-RELEASE_ поддерживаются командой безопасности FreeBSD. На ветви "
-"-RELEASE допускаются только исправления ошибок для критических проблем."
+"Ветви _-RELEASE_ поддерживаются командой безопасности FreeBSD. На ветви -"
+"RELEASE допускаются только исправления ошибок для критических проблем."
#. type: Block title
#: documentation/content/en/articles/building-products/_index.adoc:205
@@ -803,8 +794,8 @@ msgstr ""
"Архитектуры машин разделены на «уровни»: архитектуры _Уровня 1_ полностью "
"поддерживаются командами разработки выпусков и безопасности проекта, "
"архитектуры _Уровня 2_ поддерживаются по мере возможностей, а "
-"экспериментальные архитектуры составляют _Уровень 3_. Список extref:"
-"{committers-guide}[поддерживаемых архитектур, archs] является частью "
+"экспериментальные архитектуры составляют _Уровень 3_. Список extref"
+":{committers-guide}[поддерживаемых архитектур, archs] является частью "
"коллекции документации FreeBSD."
#. type: Plain text
@@ -815,8 +806,8 @@ msgid ""
"dates laid down in the road map are not deadlines; FreeBSD is released when "
"its code and documentation are ready."
msgstr ""
-"Команда разработки релизов публикует link:https://www.FreeBSD.org/releng/"
-"[дорожную карту] будущих выпусков FreeBSD на веб-сайте проекта. Указанные в "
+"Команда разработки релизов публикует link:https://www.FreeBSD.org/releng/["
+"дорожную карту] будущих выпусков FreeBSD на веб-сайте проекта. Указанные в "
"дорожной карте даты не являются крайними сроками; FreeBSD выпускается, когда "
"его код и документация готовы."
@@ -881,8 +872,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/building-products/_index.adoc:232
msgid ""
-"The goals of the FreeBSD project are crossref:building-"
-"products[Hub1994,\"Contributing to the FreeBSD Project\"]:"
+"The goals of the FreeBSD project are crossref:building-products[Hub1994,"
+"\"Contributing to the FreeBSD Project\"]:"
msgstr ""
"Цели проекта FreeBSD описаны в crossref:building-products[Hub1994,\"Участие "
"в проекте FreeBSD\"]:"
@@ -905,18 +896,18 @@ msgstr "Сделать нашу работу доступной для всех
#: documentation/content/en/articles/building-products/_index.adoc:237
msgid ""
"FreeBSD enjoys an open and transparent working culture. Nearly all "
-"discussion in the project happens by email, on link:https://"
-"lists.freebsd.org/[public mailing lists] that are also archived for "
-"posterity. The project's policies are link:https://www.FreeBSD.org/internal/"
-"policies/[documented] and maintained under revision control. Participation "
-"in the project is open to all."
+"discussion in the project happens by email, on link:https://lists.freebsd."
+"org/[public mailing lists] that are also archived for posterity. The "
+"project's policies are link:https://www.FreeBSD.org/internal/policies/"
+"[documented] and maintained under revision control. Participation in the "
+"project is open to all."
msgstr ""
"FreeBSD придерживается открытой и прозрачной рабочей культуры. Почти все "
-"обсуждения в проекте происходят по электронной почте на link:https://"
-"lists.freebsd.org/[публичных списках рассылки], которые также архивируются "
-"для потомков. Политики проекта link:https://www.FreeBSD.org/internal/"
-"policies/[документированы] и поддерживаются в системе контроля версий. "
-"Участие в проекте открыто для всех."
+"обсуждения в проекте происходят по электронной почте на link:https://lists."
+"freebsd.org/[публичных списках рассылки], которые также архивируются для "
+"потомков. Политики проекта link:https://www.FreeBSD.org/internal/policies/"
+"[документированы] и поддерживаются в системе контроля версий. Участие в "
+"проекте открыто для всех."
#. type: Title ===
#: documentation/content/en/articles/building-products/_index.adoc:239
@@ -946,23 +937,13 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/building-products/_index.adoc:251
-#, fuzzy
-#| msgid ""
-#| "*Motivation.* Most contributions to FreeBSD are done voluntarily without\n"
-#| "monetary rewards entering the picture. The factors that motivate "
-#| "individuals are\n"
-#| "complex, ranging from altruism, to an interest in solving the kinds of "
-#| "problems\n"
-#| "that FreeBSD attempts to solve. In this environment, \"elegance is never\n"
-#| "optional\"crossref:building-products[Nor1993,\"Tutorial on Good Lisp "
-#| "Programming Style\"].\n"
-msgid ""
-"*Motivation.* Most contributions to FreeBSD are done voluntarily without "
-"monetary rewards entering the picture. The factors that motivate individuals "
-"are complex, ranging from altruism, to an interest in solving the kinds of "
-"problems that FreeBSD attempts to solve. In this environment, \"elegance is "
-"never optional\"crossref:building-products[Nor1993,\"Tutorial on Good Lisp "
-"Programming Style\"]."
+#, no-wrap
+msgid ""
+"*Motivation.* Most contributions to FreeBSD are done voluntarily without\n"
+"monetary rewards entering the picture. The factors that motivate individuals are\n"
+"complex, ranging from altruism, to an interest in solving the kinds of problems\n"
+"that FreeBSD attempts to solve. In this environment, \"elegance is never\n"
+"optional\"crossref:building-products[Nor1993,\"Tutorial on Good Lisp Programming Style\"].\n"
msgstr ""
"*Мотивация.* Большинство вкладов в FreeBSD делается добровольно,\n"
"без денежного вознаграждения. Факторы, мотивирующие людей, сложны и\n"
@@ -974,21 +955,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/building-products/_index.adoc:253
-#, fuzzy
-#| msgid ""
-#| "*The Long Term View.* FreeBSD traces its roots back nearly twenty years "
-#| "to the work of the Computer Science Research Group at the University of "
-#| "California Berkeley.footnote:[FreeBSD's source repository contains a "
-#| "history of the project since its inception, and there are CDROMs "
-#| "available that contain earlier code from the CSRG.] A number of the "
-#| "original CSRG developers remain associated with the project.\n"
-msgid ""
-"*The Long Term View.* FreeBSD traces its roots back nearly twenty years to "
-"the work of the Computer Science Research Group at the University of "
-"California Berkeley.footnote:[FreeBSD's source repository contains a history "
-"of the project since its inception, and there are CDROMs available that "
-"contain earlier code from the CSRG.] A number of the original CSRG "
-"developers remain associated with the project."
+#, no-wrap
+msgid "*The Long Term View.* FreeBSD traces its roots back nearly twenty years to the work of the Computer Science Research Group at the University of California Berkeley.footnote:[FreeBSD's source repository contains a history of the project since its inception, and there are CDROMs available that contain earlier code from the CSRG.] A number of the original CSRG developers remain associated with the project.\n"
msgstr ""
"*Долгосрочная перспектива.* FreeBSD ведёт свою историю почти двадцать лет "
"назад, к работе Исследовательской группы по информатике (Computer Science "
@@ -1000,32 +968,20 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/building-products/_index.adoc:255
msgid ""
-"The project values long-term perspectives crossref:building-"
-"products[Nor2001,\"Teach Yourself Programming in Ten Years\"]. A frequent "
-"acronym encountered in the project is DTRT, which stands for \"Do The Right "
-"Thing\"."
+"The project values long-term perspectives crossref:building-products[Nor2001,"
+"\"Teach Yourself Programming in Ten Years\"]. A frequent acronym encountered "
+"in the project is DTRT, which stands for \"Do The Right Thing\"."
msgstr ""
-"Проект ценит долгосрочные перспективы crossref:building-"
-"products[Nor2001,\"Научись программировать за десять лет\"]. Часто "
-"встречающаяся в проекте аббревиатура — DTRT, что означает «Do The Right "
-"Thing» (сделай правильно)."
+"Проект ценит долгосрочные перспективы crossref:building-products[Nor2001,"
+"\"Научись программировать за десять лет\"]. Часто встречающаяся в проекте "
+"аббревиатура — DTRT, что означает «Do The Right Thing» (сделай правильно)."
#. type: Plain text
#: documentation/content/en/articles/building-products/_index.adoc:258
-#, fuzzy
-#| msgid ""
-#| "*Development Processes.* Computer programs are tools for communication: "
-#| "at one level programmers communicate their intentions using a precise "
-#| "notation to a tool (a compiler) that translates their instructions to "
-#| "executable code.\n"
-#| "At another level, the same notation is used for communication of intent "
-#| "between two programmers.\n"
-msgid ""
-"*Development Processes.* Computer programs are tools for communication: at "
-"one level programmers communicate their intentions using a precise notation "
-"to a tool (a compiler) that translates their instructions to executable "
-"code. At another level, the same notation is used for communication of "
-"intent between two programmers."
+#, no-wrap
+msgid ""
+"*Development Processes.* Computer programs are tools for communication: at one level programmers communicate their intentions using a precise notation to a tool (a compiler) that translates their instructions to executable code.\n"
+"At another level, the same notation is used for communication of intent between two programmers.\n"
msgstr ""
"*Процессы разработки.* Компьютерные программы — это инструменты для общения: "
"на одном уровне программисты передают свои намерения, используя точную "
@@ -1114,16 +1070,10 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/building-products/_index.adoc:290
-#, fuzzy
-#| msgid ""
-#| "*Communication Channels.* FreeBSD's contributors are spread across the "
-#| "world.\n"
-#| "Email (and to a lesser extent, IRC) is the preferred means of "
-#| "communication in the project.\n"
+#, no-wrap
msgid ""
-"*Communication Channels.* FreeBSD's contributors are spread across the "
-"world. Email (and to a lesser extent, IRC) is the preferred means of "
-"communication in the project."
+"*Communication Channels.* FreeBSD's contributors are spread across the world.\n"
+"Email (and to a lesser extent, IRC) is the preferred means of communication in the project.\n"
msgstr ""
"*Каналы связи.* Участники проекта FreeBSD живут в разных уголках мира.\n"
"Электронная почта (и в меньшей степени IRC) — это предпочтительные способы "
@@ -1156,28 +1106,13 @@ msgid ""
"Setup processes that help in tracking the development of FreeBSD. For "
"example:"
msgstr ""
-"Настройка процессов, которые помогают отслеживать разработку FreeBSD. "
+"Настройте процессы, которые помогают отслеживать разработку FreeBSD. "
"Например:"
#. type: Plain text
#: documentation/content/en/articles/building-products/_index.adoc:300
-#, fuzzy
-#| msgid ""
-#| "*Track FreeBSD source code.* The project makes it easy to mirror its SVN "
-#| "repository using extref:{committers-guide}[svnsync, svn-advanced-use-"
-#| "setting-up-svnsync]. Having the complete history of the source is useful "
-#| "when debugging complex problems and offers valuable insight into the "
-#| "intentions of the original developers. Use a capable source control "
-#| "system that allows you to easily merge changes between the upstream "
-#| "FreeBSD code base and your own in-house code.\n"
-msgid ""
-"*Track FreeBSD source code.* The project makes it easy to mirror its SVN "
-"repository using extref:{committers-guide}[svnsync, svn-advanced-use-setting-"
-"up-svnsync]. Having the complete history of the source is useful when "
-"debugging complex problems and offers valuable insight into the intentions "
-"of the original developers. Use a capable source control system that allows "
-"you to easily merge changes between the upstream FreeBSD code base and your "
-"own in-house code."
+#, no-wrap
+msgid "*Track FreeBSD source code.* The project makes it easy to mirror its SVN repository using extref:{committers-guide}[svnsync, svn-advanced-use-setting-up-svnsync]. Having the complete history of the source is useful when debugging complex problems and offers valuable insight into the intentions of the original developers. Use a capable source control system that allows you to easily merge changes between the upstream FreeBSD code base and your own in-house code.\n"
msgstr ""
"*Отслеживание исходного кода FreeBSD.* Проект упрощает зеркалирование своего "
"SVN-репозитория с помощью extref:{committers-guide}[svnsync, svn-advanced-"
@@ -1200,10 +1135,10 @@ msgstr ""
"crossref:building-products[fig-svn-blame, Аннотированный листинг исходного "
"кода, сгенерированный с помощью `svn blame`] показывает часть "
"аннотированного листинга файла, на который ссылается журнал изменений в "
-"crossref:building-products[fig-change-log, Пример записи в журнале "
-"изменений]. Происхождение каждой строки исходного кода чётко видно. "
-"Аннотированные листинги, показывающие историю каждого файла, входящего в "
-"состав FreeBSD, https://svnweb.freebsd.org/[доступны в интернете]."
+"crossref:building-products[fig-change-log, Пример записи в журнале изменений]"
+". Происхождение каждой строки исходного кода чётко видно. Аннотированные "
+"листинги, показывающие историю каждого файла, входящего в состав FreeBSD, "
+"https://svnweb.freebsd.org/[доступны в интернете]."
#. type: delimited block . 4
#: documentation/content/en/articles/building-products/_index.adoc:309
@@ -1229,36 +1164,40 @@ msgid ""
"176465 bde 2008-02-22 07:55:14 -0800 (Fri, 22 Feb 2008) \n"
" 2116 jkh 1994-08-19 02:40:01 -0700 (Fri, 19 Aug 1994) #include \"math.h\"\n"
msgstr ""
-"176410 bde 2008-02-19 07:42:46 -0800 (Tue, 19 Feb 2008) #include <sys/cdefs.h>\n"
-"176410 bde 2008-02-19 07:42:46 -0800 (Tue, 19 Feb 2008) __FBSDID(\"$FreeBSD$\");\n"
+"176410 bde 2008-02-19 07:42:46 -0800 (Tue, 19 Feb 2008) #include <sys/"
+"cdefs.h>\n"
+"176410 bde 2008-02-19 07:42:46 -0800 (Tue, 19 Feb 2008) __FBSDID(\""
+"$FreeBSD$\");\n"
" 2116 jkh 1994-08-19 02:40:01 -0700 (Fri, 19 Aug 1994) \n"
-" 2116 jkh 1994-08-19 02:40:01 -0700 (Fri, 19 Aug 1994) /* __ieee754_rem_pio2f(x,y)\n"
+" 2116 jkh 1994-08-19 02:40:01 -0700 (Fri, 19 Aug 1994) /* "
+"__ieee754_rem_pio2f(x,y)\n"
" 8870 rgrimes 1995-05-29 22:51:47 -0700 (Mon, 29 May 1995) *\n"
-"176552 bde 2008-02-25 05:33:20 -0800 (Mon, 25 Feb 2008) * return the remainder of x rem pi/2 in *y\n"
-"176552 bde 2008-02-25 05:33:20 -0800 (Mon, 25 Feb 2008) * use double precision for everything except passing x\n"
-"152535 bde 2005-11-16 18:20:04 -0800 (Wed, 16 Nov 2005) * use __kernel_rem_pio2() for large x\n"
+"176552 bde 2008-02-25 05:33:20 -0800 (Mon, 25 Feb 2008) * return the "
+"remainder of x rem pi/2 in *y\n"
+"176552 bde 2008-02-25 05:33:20 -0800 (Mon, 25 Feb 2008) * use double "
+"precision for everything except passing x\n"
+"152535 bde 2005-11-16 18:20:04 -0800 (Wed, 16 Nov 2005) * use "
+"__kernel_rem_pio2() for large x\n"
" 2116 jkh 1994-08-19 02:40:01 -0700 (Fri, 19 Aug 1994) */\n"
" 2116 jkh 1994-08-19 02:40:01 -0700 (Fri, 19 Aug 1994) \n"
-"176465 bde 2008-02-22 07:55:14 -0800 (Fri, 22 Feb 2008) #include <float.h>\n"
+"176465 bde 2008-02-22 07:55:14 -0800 (Fri, 22 Feb 2008) #include "
+"<float.h>\n"
"176465 bde 2008-02-22 07:55:14 -0800 (Fri, 22 Feb 2008) \n"
-" 2116 jkh 1994-08-19 02:40:01 -0700 (Fri, 19 Aug 1994) #include \"math.h\"\n"
+" 2116 jkh 1994-08-19 02:40:01 -0700 (Fri, 19 Aug 1994) #include "
+"\"math.h\"\n"
#. type: Block title
#: documentation/content/en/articles/building-products/_index.adoc:324
#, no-wrap
msgid "An annotated source listing generated using `svn blame` [[fig-svn-blame]]"
-msgstr "Аннотированный листинг исходного кода, сгенерированный с использованием `svn blame` [[fig-svn-blame]]"
+msgstr ""
+"Аннотированный листинг исходного кода, сгенерированный с использованием `svn "
+"blame` [[fig-svn-blame]]"
#. type: Plain text
#: documentation/content/en/articles/building-products/_index.adoc:327
-#, fuzzy
-#| msgid ""
-#| "*Use a gatekeeper.* Appoint a _gatekeeper_ to monitor FreeBSD "
-#| "development, to keep an eye out for changes that could potentially impact "
-#| "your products.\n"
-msgid ""
-"*Use a gatekeeper.* Appoint a _gatekeeper_ to monitor FreeBSD development, "
-"to keep an eye out for changes that could potentially impact your products."
+#, no-wrap
+msgid "*Use a gatekeeper.* Appoint a _gatekeeper_ to monitor FreeBSD development, to keep an eye out for changes that could potentially impact your products.\n"
msgstr ""
"*Используйте привратника.* Назначьте _привратника_ для отслеживания "
"разработки FreeBSD, чтобы следить за изменениями, которые могут потенциально "
@@ -1266,18 +1205,10 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/building-products/_index.adoc:330
-#, fuzzy
-#| msgid ""
-#| "*Report bugs upstream.* If you notice bug in the FreeBSD code that you "
-#| "are using, file a https://www.FreeBSD.org/support/bugreports/[bug "
-#| "report].\n"
-#| "This step helps ensure that you do not have to fix the bug the next time "
-#| "you take a code drop from upstream.\n"
-msgid ""
-"*Report bugs upstream.* If you notice bug in the FreeBSD code that you are "
-"using, file a https://www.FreeBSD.org/support/bugreports/[bug report]. This "
-"step helps ensure that you do not have to fix the bug the next time you take "
-"a code drop from upstream."
+#, no-wrap
+msgid ""
+"*Report bugs upstream.* If you notice bug in the FreeBSD code that you are using, file a https://www.FreeBSD.org/support/bugreports/[bug report].\n"
+"This step helps ensure that you do not have to fix the bug the next time you take a code drop from upstream.\n"
msgstr ""
"*Сообщайте об ошибках в вышестоящий проект.* Если вы заметили ошибку в коде "
"FreeBSD, который используете, заполните https://www.FreeBSD.org/support/"
@@ -1306,7 +1237,7 @@ msgstr ""
#: documentation/content/en/articles/building-products/_index.adoc:334
#, no-wrap
msgid "Donate code to reduce costs"
-msgstr "Пожертвовуйте код для снижения затрат"
+msgstr "Пожертвуйте код для снижения затрат"
#. type: Plain text
#: documentation/content/en/articles/building-products/_index.adoc:338
@@ -1328,7 +1259,7 @@ msgstr ""
#: documentation/content/en/articles/building-products/_index.adoc:339
#, no-wrap
msgid "Get support effectively"
-msgstr "Получайте поддержку эффективно"
+msgstr "Получайте эффективную поддержку"
#. type: Plain text
#: documentation/content/en/articles/building-products/_index.adoc:344
@@ -1353,15 +1284,15 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/building-products/_index.adoc:348
msgid ""
-"For less critical needs, you can ask for help on the link:https://"
-"lists.freebsd.org/[project mailing lists]. A useful guide to follow when "
-"asking for help is given in crossref:building-products[Ray2004,\"How to ask "
+"For less critical needs, you can ask for help on the link:https://lists."
+"freebsd.org/[project mailing lists]. A useful guide to follow when asking "
+"for help is given in crossref:building-products[Ray2004,\"How to ask "
"questions the smart way\"]."
msgstr ""
-"Для менее критичных задач вы можете обратиться за помощью в link:https://"
-"lists.freebsd.org/[списки рассылки проекта]. Полезное руководство о том, как "
-"правильно задавать вопросы, приведено в crossref:building-"
-"products[Ray2004,\"Как правильно задавать вопросы\"]."
+"Для менее критичных задач вы можете обратиться за помощью в "
+"link:https://lists.freebsd.org/[списки рассылки проекта]. Полезное "
+"руководство о том, как правильно задавать вопросы, приведено в crossref"
+":building-products[Ray2004,\"Как правильно задавать вопросы\"]."
#. type: Labeled list
#: documentation/content/en/articles/building-products/_index.adoc:348
@@ -1413,8 +1344,8 @@ msgstr ""
"поддержать разработчика, который уже занимается связанной проблемой. Помощь "
"может варьироваться от пожертвования оборудования до прямой финансовой "
"поддержки. В некоторых странах пожертвования проекту FreeBSD имеют налоговые "
-"льготы. У проекта есть специальный link:https://www.FreeBSD.org/donations/"
-"[представитель по пожертвованиям], который помогает донорам. Также проект "
+"льготы. У проекта есть специальный link:https://www.FreeBSD.org/donations/["
+"представитель по пожертвованиям], который помогает донорам. Также проект "
"поддерживает веб-страницу, где разработчики link:https://www.FreeBSD.org/"
"donations/wantlist/[указывают свои потребности]."
diff --git a/documentation/content/ru/articles/committers-guide/_index.adoc b/documentation/content/ru/articles/committers-guide/_index.adoc
index fdc0635660..6c7a971f9d 100644
--- a/documentation/content/ru/articles/committers-guide/_index.adoc
+++ b/documentation/content/ru/articles/committers-guide/_index.adoc
@@ -4,7 +4,7 @@ authors:
author: 'The FreeBSD Documentation Project'
copyright: '1999-2022 The FreeBSD Documentation Project'
description: 'Вводная информация для коммиттеров FreeBSD'
-tags: "[\"FreeBSD Committer's Guide\", \"Guide\", \"Community\"]"
+tags: ["FreeBSD Committer's Guide", "Guide", "Community"]
title: 'Руководство коммиттера'
trademarks: ["freebsd", "coverity", "git", "github", "gitlab", "ibm", "intel", "general"]
weight: 25
@@ -1293,9 +1293,13 @@ freefall% gen-gitconfig.sh
===== Как отслеживать -current и -stable, имея только одну копию репозитория?
-**Q:** Although disk space is not a huge issue, it's more efficient to use only one copy of the repository. With SVN mirroring, I could checkout multiple trees from the same repository. How do I do this with Git?
+**В:** Хотя место на диске не является большой проблемой, эффективнее использовать только одну копию репозитория.
+При зеркалировании SVN я мог извлекать несколько деревьев из одного и того же репозитория.
+Как мне сделать это с помощью Git?
-**A:** You can use Git worktrees. There's a number of ways to do this, but the simplest way is to use a clone to track -current, and a worktree to track stable releases. While using a 'bare repository' has been put forward as a way to cope, it's more complicated and will not be documented here.
+**О:** Вы можете использовать рабочие деревья Git.
+Существует несколько способов сделать это, но самый простой — использовать клон для отслеживания -current и рабочее дерево для отслеживания стабильных выпусков.
+Хотя использование «голого (bare) репозитория» предлагалось как способ справиться с этим, это более сложно и здесь документироваться не будет.
Сначала необходимо клонировать репозиторий FreeBSD, здесь показано клонирование в `freebsd-current` для избежания путаницы. `$URL` — это любой зеркальный сервер, который работает для вас наилучшим образом:
@@ -1333,9 +1337,9 @@ freefall% gen-gitconfig.sh
===== Ой! Я закоммитил в `main` вместо другой ветки.
-**Q:** From time to time, I goof up and mistakenly commit to the `main` branch. What do I do?
+**В:** Время от времени я ошибаюсь и по ошибке делаю коммит в ветку `main`. Что мне делать?
-**A:** First, don't panic.
+**О:** Во-первых, не паникуйте.
Во-вторых, не отправляйте (push) изменения. На самом деле, можно исправить почти всё, если изменения не были отправлены. Все ответы в этом разделе предполагают, что отправки не произошло.
@@ -1350,9 +1354,12 @@ freefall% gen-gitconfig.sh
===== Ой! Я закоммитил что-то не в ту ветку!
-**Q:** I was working on feature on the `wilma` branch, but accidentally committed a change relevant to the `fred` branch in 'wilma'. What do I do?
+**В:** Я работал над функцией в ветке `wilma`, но случайно сделал коммит изменению, относящемуся к ветке `fred`, в 'wilma'.
+Что мне делать?
-**A:** The answer is similar to the previous one, but with cherry picking. This assumes there's only one commit on wilma, but will generalize to more complicated situations. It also assumes that it's the last commit on wilma (hence using wilma in the `git cherry-pick` command), but that too can be generalized.
+**О:** Ответ аналогичен предыдущему, но с использованием выборочного применением коммитов (cherry-pick).
+Предполагается, что в ветке wilma имеется всего один коммит, однако подход можно обобщить и для более сложных ситуаций.
+Также предполагается, что это последний коммит в ветке wilma (отсюда использование wilma в команде `git cherry-pick`), но и это можно обобщить.
[source, shell]
....
@@ -1373,13 +1380,21 @@ freefall% gen-gitconfig.sh
% git rebase -i main wilma # удалить скопированное изменение
....
-**Q:** But what if I want to commit a few changes to `main`, but keep the rest in `wilma` for some reason?
+**В:** Но что, если я хочу сделать коммит нескольким изменениям в `main`, но оставить остальные в `wilma` по какой-то причине?
-**A:** The same technique above also works if you are wanting to 'land' parts of the branch you are working on into `main` before the rest of the branch is ready (say you noticed an unrelated typo, or fixed an incidental bug). You can cherry pick those changes into `main`, then push to the parent repository. Once you've done that, cleanup couldn't be simpler: just `git rebase -i`. Git will notice you've done this and skip the common changes automatically (even if you had to change the commit message or tweak the commit slightly). There's no need to switch back to wilma to adjust it: just rebase!
+**О:** Тот же метод, описанный выше, также работает, если вы хотите «приземлить» части ветки, над которой работаете, в `main` до того, как вся ветка будет готова (скажем, вы заметили несвязанную опечатку или исправили случайную ошибку).
+Вы можете выборочно применить (cherry-pick) эти изменения в `main`, а затем отправить их в родительский репозиторий.
+После того, как вы это сделаете, очистка не может быть проще: просто выполните `git rebase -i`.
+Git заметит, что вы это сделали, и автоматически пропустит общие изменения (даже если вам пришлось изменить сообщение коммита или слегка подкорректировать коммит).
+Нет необходимости переключаться обратно на wilma, чтобы её поправить: просто делайте rebase!
-**Q:** I want to split off some changes from branch `wilma` into branch `fred`
+**В:** Я хочу выделить некоторые изменения из ветки `wilma` в ветку `fred`
-**A:** The more general answer would be the same as the previous. You'd checkout/create the `fred` branch, cherry pick the changes you want from `wilma` one at a time, then rebase `wilma` to remove those changes you cherry picked. `git rebase -i main wilma` will toss you into an editor, and remove the `pick` lines that correspond to the commits you copied to `fred`. If all goes well, and there are no conflicts, you're done. If not, you'll need to resolve the conflicts as you go.
+**О:** Более общий ответ будет таким же, как и предыдущий.
+Вы должны выгрузить(checkout)/создать ветку `fred`, выборочно применить (cherry-pick) нужные изменения из ветки `wilma` по одному, а затем перебазировать (rebase) `wilma`, чтобы удалить те изменения, которые вы выборочно применили.
+`git rebase -i main wilma` перенесёт вас в редактор, где нужно удалить строки `pick`, соответствующие коммитам, которые вы скопировали в `fred`.
+Если всё пройдёт хорошо и не будет конфликтов, вы закончили.
+Если нет, вам нужно будет разрешать конфликты по мере их появления.
Другой способ сделать это — выгрузить `wilma`, а затем создать ветку `fred`, указывающую на ту же точку в дереве. Затем вы можете выполнить `git rebase -i` для обеих этих веток, выбирая изменения, которые вы хотите видеть в `fred` или `wilma`, оставляя строки с `pick` и удаляя остальные в редакторе. Некоторые предпочитают создать тег/ветку с названием `pre-split` перед началом, на случай если что-то пойдет не так при разделении. Вы можете отменить это следующей последовательностью:
@@ -1393,9 +1408,11 @@ freefall% gen-gitconfig.sh
Последний шаг необязателен. Если вы собираетесь повторить попытку разделения, его можно пропустить.
-**Q:** But I did things as I read along and didn't see your advice at the end to create a branch, and now `fred` and `wilma` are all screwed up. How do I find what `wilma` was before I started. I don't know how many times I moved things around.
+**В:** Но я делал всё по мере прочтения и не увидел ваш совет в конце создать ветку, и теперь `fred` и `wilma` полностью испорчены.
+Как мне найти, чем `wilma` была до того, как я начал.
+Я не знаю, сколько раз я всё переставлял.
-**A:** All is not lost. You can figure out it, so long as it hasn't been too long, or too many commits (hundreds).
+**О:** Не всё потеряно. Вы можете разобраться с этим, если прошло не слишком много времени или не было сделано слишком много коммитов (сотни).
Итак, я создал ветку wilma и закоммитил в неё пару изменений, затем решил разделить её на fred и wilma. Ничего странного при этом не произошло, но предположим, что произошло. Способ посмотреть, что вы сделали, — это использовать `git reflog`:
@@ -1417,7 +1434,7 @@ a6a5094 (fred) HEAD@{4}: rebase -i (pick): Encourage contributions
Здесь мы видим изменения, которые я внес. Вы можете использовать это, чтобы понять, где что-то пошло не так. Я лишь укажу на несколько моментов. Первый из них — HEAD@{X} является 'коммитоподобной' сущностью, поэтому вы можете использовать это в качестве аргумента команды. Хотя если эта команда вносит что-либо в репозиторий, номера X изменяются. Вы также можете использовать хэш (первый столбец).
-Далее, 'Encourage contributions' был последним коммитом, который я сделал в `wilma` перед тем, как решил разделить всё. Вы также можете видеть, что тот же хэш присутствует, когда я создал ветку `fred` для этого. Я начал с перебазирования `fred`, и вы видите 'начало', каждый шаг и 'завершение' этого процесса. Хотя нам это здесь не нужно, вы можете точно понять, что произошло. К счастью, чтобы исправить это, вы можете выполнить шаги из предыдущего ответа, но с хэшом `869cbd3` вместо `pre-split`. Хотя это кажется немного многословным, это легко запомнить, поскольку вы делаете одно действие за раз. Вы также можете последовательно применить команды одну за другой:
+Далее, 'Encourage contributions' был последним коммитом, который я сделал в `wilma` перед тем, как решил разделить всё. Вы также можете видеть, что тот же хэш присутствует, когда я создал ветку `fred` для этого. Я начал с перебазирования `fred`, и вы видите 'начало', каждый шаг и 'завершение' этого процесса. Хотя нам это здесь не нужно, вы можете точно понять, что произошло. К счастью, чтобы исправить это, вы можете выполнить шаги из предыдущего ответа, но с хэшем `869cbd3` вместо `pre-split`. Хотя это кажется немного многословным, это легко запомнить, поскольку вы делаете одно действие за раз. Вы также можете последовательно применить команды одну за другой:
[source, shell]
....
@@ -1450,9 +1467,10 @@ HEAD is now at 869cbd3 Encourage contributions
===== Ой! Я выполнил `git pull`, и это создало коммит слияния, что мне делать?
-**Q:** I was on autopilot and did a `git pull` for my development tree and that created a merge commit on `main`. How do I recover?
+**В:** Я действовал на автопилоте и сделал `git pull` для своего дерева разработки, что создало коммит слияния в `main`.
+Как мне восстановиться?
-**A:** This can happen when you invoke the pull with your development branch checked out.
+**О:** Это может произойти, когда вы выполняете извлечение (checkout) с выбранной веткой разработки.
Многие разработчики используют `git pull --rebase`, чтобы избежать этой ситуации.
@@ -1473,9 +1491,10 @@ git reset --hard HEAD^1
Кроме того, команда `git pull --rebase` на этом этапе перебазирует ваши изменения из ветки 'main' на последнюю версию 'freebsd/main'.
-**Q:** But I also need to fix my `main` branch. How do I do that?
+**В:** Но мне также нужно исправить мою ветку `main`. Как мне это сделать?
-**A:** Git keeps track of the remote repository branches in a `freebsd/` namespace. To fix your `main` branch, just make it point to the remote's `main`:
+**О:** Git отслеживает ветки удалённого репозитория в пространстве имён `freebsd/`.
+Чтобы исправить вашу ветку `main`, просто заставьте её указывать на удалённую ветку `main`:
[source, shell]
....
@@ -1486,9 +1505,10 @@ git branch -f main freebsd/main
===== Смешивание и сопоставление веток
-**Q:** So I have two branches `worker` and `async` that I'd like to combine into one branch called `feature` while maintaining the commits in both.
+**В:** Итак, у меня есть две ветки `worker` и `async`, которые я хочу объединить в одну ветку под названием `feature`
+с сохранением коммитов в обеих.
-**A:** This is a job for cherry pick.
+**О:** Это задача для выборочного применения (cherry-pick).
[source, shell]
....
@@ -1499,9 +1519,10 @@ git branch -f main freebsd/main
Теперь у вас есть новая ветка под названием `feature`. Эта ветка объединяет коммиты из обеих веток. Вы можете далее работать с ней с помощью `git rebase`.
-**Q:** I have a branch called `driver` and I'd like to break it up into `kernel` and `userland` so I can evolve them separately and commit each branch as it becomes ready.
+**В:** У меня есть ветка под названием `driver`, и я хочу разделить её на `kernel` и `userland`, чтобы развивать их отдельно и коммитить каждую ветку по мере её готовности.
-**A:** This takes a little bit of prep work, but `git rebase` will do the heavy lifting here.
+**О:** Это требует небольшой подготовительной работы, но `git rebase`
+выполнит здесь основную часть работы.
[source, shell]
....
@@ -1526,9 +1547,11 @@ git branch -f main freebsd/main
и сделайте то же самое, что вы сделали с веткой `kernel `.
-**Q:** Oh great! I followed the above and forgot a commit in the `kernel` branch. How do I recover?
+**В:** Отлично! Я выполнил указанные выше шаги и забыл сделать коммит в ветке `kernel`.
+Как мне восстановиться?
-**A:** You can use the `driver` branch to find the hash of the commit is missing and cherry pick it.
+**О:** Вы можете использовать ветку `driver`, чтобы найти хэш коммита, который отсутствует, и
+выборочно применить его (cherry-pick).
[source, shell]
....
@@ -1537,9 +1560,13 @@ git branch -f main freebsd/main
% git cherry-pick $HASH
....
-**Q:** OK. I have the same situation as the above, but my commits are all mixed up. I need parts of one commit to go to one branch and the rest to go to the other. In fact, I have several. Your rebase method to select sounds tricky.
+**В:** Хорошо. У меня такая же ситуация, как и выше, но мои коммиты все перемешаны.
+Мне нужно, чтобы части одного коммита попали в одну ветку, а остальные — в другую.
+На самом деле, у меня их несколько.
+Ваш метод перебазирования с выбором кажется сложным.
-**A:** In this situation, you'd be better off to curate the original branch to separate out the commits, and then use the above method to split the branch.
+**О:** В этой ситуации вам лучше обработать исходную ветку, чтобы отделить
+коммиты, а затем использовать вышеуказанный метод для разделения ветки.
Итак, предположим, что есть всего один коммит с чистым деревом. Вы можете использовать либо `git rebase` со строкой `edit`, либо это с коммитом на острие. В любом случае шаги одинаковы. Первое, что нам нужно сделать, — это откатиться на один коммит назад, оставив изменения незакоммиченными в дереве:
@@ -1563,15 +1590,17 @@ git add -i foo/bar.c
===== Присоединение к организации FreeBSD на GitHub.
-**Q:** How do I join the FreeBSD GitHub organization?
+**В:** Как присоединиться к организации FreeBSD на GitHub?
-**A:** Please see https://wiki.freebsd.org/GitHub#Joining_the_Organisation[our GitHub Wiki Info] page for details. Briefly, all FreeBSD committers may join. Those who are not committers who request joining will be considered on a case by case basis.
+**О:** Подробности смотрите на странице https://wiki.freebsd.org/GitHub#Joining_the_Organisation[нашей вики GitHub].
+Вкратце, присоединиться могут все коммиттеры FreeBSD.
+Лица, не являющиеся коммиттерами, которые запрашивают присоединение, будут рассматриваться в индивидуальном порядке.
==== Клонирование и зеркалирование
-**Q:** I'd like to mirror the entire Git repository, how do I do that?
+**В:** Я хочу создать полную зеркальную копию репозитория Git, как мне это сделать?
-**A:** If all you want to do is mirror, then
+**О:** Если вам нужно только зеркалирование, то
[source, shell]
....
@@ -1595,9 +1624,10 @@ git add -i foo/bar.c
Второй недостаток заключается в том, что Git обычно перезаписывает ссылки из вышестоящего репозитория (названия веток, теги и т.д.) , чтобы ваши локальные ссылки могли изменяться независимо от вышестоящего репозитория. Это означает, что вы потеряете изменения, если будете коммитить в свой репозиторий куда-либо, кроме веток приватных проектов.
-**Q:** So what can I do instead?
+**В:** Так что же я могу сделать вместо этого?
-**A:** Well, you can stuff all of the upstream repository's refs into a private namespace in your local repository. Git clones everything via a 'refspec' and the default refspec is:
+**О:** Ну, вы можете поместить все ссылки (refs) вышестоящего репозитория в приватное пространство имён вашего локального репозитория.
+Git клонирует всё через 'refspec', и refspec по умолчанию выглядит так:
[source, shell]
....
@@ -1784,7 +1814,7 @@ Author: github-user <38923459+github-user@users.noreply.github.com>
[[commit-steps]]
[.procedure]
====
-*Steps for New Committers*
+*Шаги для новых коммиттеров*
. Добавить автора
+
@@ -1845,7 +1875,7 @@ Author: github-user <38923459+github-user@users.noreply.github.com>
Если ваша система электронной почты использует SPF со строгими правилами, вам следует исключить `mx2.FreeBSD.org` из проверок SPF.
======
+
-Из-за высокой нагрузки, которую обработка СПАМа создает на центральных почтовых серверах, обрабатывающих почтовые рассылки, фронтенд-сервер выполняет базовые проверки и может отбрасывать некоторые сообщения на их основе. В настоящее время единственной активной проверкой является наличие корректной DNS-информации для подключающегося хоста, но это может измениться. Некоторые пользователи связывают эти проверки с ложным отбрасыванием легитимной почты. Для отключения данных проверок для вашей почты создайте файл с именем [.filename]#~/.spam_lover# на `freefall.FreeBSD.org`.
+Из-за высокой нагрузки, которую обработка спама создает на центральных почтовых серверах, обрабатывающих почтовые рассылки, фронтенд-сервер выполняет базовые проверки и может отбрасывать некоторые сообщения на их основе. В настоящее время единственной активной проверкой является наличие корректной DNS-информации для подключающегося хоста, но это может измениться. Некоторые пользователи связывают эти проверки с ложным отбрасыванием легитимной почты. Для отключения данных проверок для вашей почты создайте файл с именем [.filename]#~/.spam_lover# на `freefall.FreeBSD.org`.
+
[NOTE]
======
@@ -2018,7 +2048,7 @@ example@freebsd.org:smtp.freebsd.org::587
* Все нетривиальные изменения должны быть проверены перед их фиксацией в репозитории.
* Рецензирование может проводиться по электронной почте, в Bugzilla, в Phabricator или с помощью другого механизма. По возможности рецензирование должно быть публичным.
* Разработчик, ответственный за изменение кода, также обязан вносить все необходимые изменения, связанные с проверкой.
-* Рецензирование кода может быть итеративным процессом, который продолжается до тех пор, пока патч не будет готов к коммиту. В частности, после отправки патча на рецензирование, он должен получить явное подтверждение "выглядит хорошо" перед коммитом. Оно должно быть явным, и это может принимать любую форму, которая имеет смысл для метода резензирования.
+* Рецензирование кода может быть итеративным процессом, который продолжается до тех пор, пока патч не будет готов к коммиту. В частности, после отправки патча на рецензирование, он должен получить явное подтверждение "выглядит хорошо" перед коммитом. Оно должно быть явным, и это может принимать любую форму, которая имеет смысл для метода рецензирования.
* Тайм-ауты не являются заменой проверке.
Иногда проверка кода занимает больше времени, чем хотелось бы, особенно для большого по объему функционала. Принятые способы ускорить проверку ваших патчей:
@@ -2222,7 +2252,7 @@ Approved by: re (имя-пользователя)
|Если коммиту должно быть сделано слияние в подмножество стабильных веток, укажите названия веток.
|`MFH:`
-|Если коммиту должено быть сделано слияние в квартальную ветку портов, укажите квартальную ветку. Например, `2021Q2`.
+|Если коммиту должно быть сделано слияние в квартальную ветку портов, укажите квартальную ветку. Например, `2021Q2`.
|`Relnotes:`
|Если изменение является кандидатом для включения в примечания к выпуску следующей версии из ветки, установите значение `yes`.
@@ -2523,11 +2553,9 @@ doceng — это группа, ответственная за инфрастр
`{so}`::
`{so-name}` — это link:https://www.FreeBSD.org/security/[ответственный за безопасность FreeBSD], который курирует работу `{security-officer}`.
-{committers-name}::
-{dev-src-all}, {dev-ports-all} and {dev-doc-all} are the mailing lists that the version control system uses to send commit messages to. _Never_ send email directly to these lists. Only send replies to this list when they are short and are directly related to a commit.
+{committers-name}:: {dev-src-all}, {dev-ports-all} и {dev-doc-all} — это списки рассылки, которые система управления версиями использует для отправки сообщений о коммитах. _Никогда_ не отправляйте письма напрямую в эти списки. Отправляйте ответы в этот список только в том случае, если они короткие и непосредственно связаны с коммитом.
-{developers-name}::
-All committers are subscribed to -developers. This list was created to be a forum for the committers "community" issues. Examples are Core voting, announcements, etc.
+{developers-name}:: Все коммиттеры подписаны на список рассылки -developers. Этот список был создан для обсуждения вопросов, связанных с сообществом коммиттеров. Примеры включают голосования Core, объявления и т.д.
+
`{developers-name}` предназначен исключительно для использования коммиттерами FreeBSD. Для разработки FreeBSD коммиттеры должны иметь возможность открыто обсуждать вопросы, которые будут решены до их публичного объявления. Откровенные обсуждения работы в процессе не подходят для открытой публикации и могут навредить FreeBSD.
+
@@ -2721,7 +2749,7 @@ FreeBSD — это _открытый_ проект. Это означает, ч
[[archs]]
== Поддержка множественных архитектур
-FreeBSD — это высокопортативная операционная система, предназначенная для работы на множестве различных типов аппаратных архитектур. Поддержание четкого разделения между машинно-зависимым (MD) и машинно-независимым (MI) кодом, а также минимизация MD-кода являются важной частью нашей стратегии по сохранению гибкости в отношении текущих тенденций в аппаратном обеспечении. Каждая новая аппаратная архитектура, поддерживаемая FreeBSD, существенно увеличивает затраты на поддержку кода, инструментальных средств и инжиниринг выпусков. Это также значительно повышает стоимость эффективного тестирования изменений в ядре. Таким образом, существует серьезная мотивация для разграничения уровней поддержки различных архитектур, оставаясь при этом сильными в нескольких ключевых архитектурах, которые рассматриваются как «целевая аудитория» FreeBSD.
+FreeBSD — это высокопортативная операционная система, предназначенная для работы на множестве различных типов аппаратных архитектур. Поддержание четкого разделения между машинозависимым (MD) и машинонезависимым (MI) кодом, а также минимизация MD-кода являются важной частью нашей стратегии по сохранению гибкости в отношении текущих тенденций в аппаратном обеспечении. Каждая новая аппаратная архитектура, поддерживаемая FreeBSD, существенно увеличивает затраты на поддержку кода, инструментальных средств и управление выпусками. Это также значительно повышает стоимость эффективного тестирования изменений в ядре. Таким образом, существует серьезная мотивация для разграничения уровней поддержки различных архитектур, оставаясь при этом сильными в нескольких ключевых архитектурах, которые рассматриваются как «целевая аудитория» FreeBSD.
=== Заявление об общих намерениях
@@ -2966,7 +2994,7 @@ FreeBSD — это высокопортативная операционная
[[ports-qa-new-category-how]]
==== Какова процедура создания новой категории?
-Пожалуйста, ознакомьтесь с extref:{porters-handbook}makefiles/[Предложение новой категории, proposing-categories] в Руководстве портера. После выполнения этой процедуры и назначения PR в группе — {portmgr}, решение об одобрении принимается ими. Если решение положительное, их обязанностью является:
+Пожалуйста, ознакомьтесь с extref:{porters-handbook}makefiles/[Предложение новой категории, proposing-categories] в Руководстве FreeBSD по созданию портов. После выполнения этой процедуры и назначения PR в группе — {portmgr}, решение об одобрении принимается ими. Если решение положительное, их обязанностью является:
[.procedure]
====
@@ -2998,7 +3026,7 @@ FreeBSD — это высокопортативная операционная
. После этого можно зафиксировать обновлённый файл [.filename]#ports/Makefile#, чтобы подключить новую категорию к сборке, а также сделать коммит изменениям в файле [.filename]#Makefile# для старой категории или категорий.
. Добавьте соответствующие записи в [.filename]#ports/MOVED#.
. Обновите документацию, изменив:
-** extref:{porters-handbook}makefiles/[список категорий, porting-categories] в Руководстве портера
+** extref:{porters-handbook}makefiles/[список категорий, porting-categories] в Руководстве FreeBSD по созданию портов
+
. Только после того, как все вышеперечисленное будет выполнено и больше никто не сообщает о проблемах с новыми портами, старые порты следует удалить из их прежних мест в репозитории.
====
@@ -3007,7 +3035,7 @@ FreeBSD — это высокопортативная операционная
Это намного проще, чем физическая категория. Требуется всего несколько изменений:
-* extref:{porters-handbook}makefiles/[список категорий, porting-categories] в Руководстве портера
+* extref:{porters-handbook}makefiles/[список категорий, porting-categories] в Руководстве FreeBSD по созданию портов
[[ports-qa-misc-questions]]
=== Разные вопросы
diff --git a/documentation/content/ru/articles/committers-guide/_index.po b/documentation/content/ru/articles/committers-guide/_index.po
index 4061142175..3fdd1f69a3 100644
--- a/documentation/content/ru/articles/committers-guide/_index.po
+++ b/documentation/content/ru/articles/committers-guide/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-09-18 21:42+0300\n"
-"PO-Revision-Date: 2025-09-18 04:45+0000\n"
+"POT-Creation-Date: 2025-08-17 20:53+0100\n"
+"PO-Revision-Date: 2025-10-30 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/articlescommitters-guide_index/ru/>\n"
@@ -18,7 +18,7 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/articles/committers-guide/_index.adoc:1
#, no-wrap
msgid "Introductory information for FreeBSD committers"
@@ -224,8 +224,10 @@ msgid ""
"man:ssh[1] is required to connect to the project hosts. For more information,\n"
"\tsee crossref:committers-guide[ssh.guide, SSH Quick-Start Guide].\n"
msgstr ""
-"Для подключения к хостам проекта требуется man:ssh[1]. Дополнительную информацию\n"
-"можно найти в crossref:committers-guide[ssh.guide, Руководстве по быстрому началу работы с SSH].\n"
+"Для подключения к хостам проекта требуется man:ssh[1]. Дополнительную "
+"информацию\n"
+"можно найти в crossref:committers-guide[ssh.guide, Руководстве по быстрому "
+"началу работы с SSH].\n"
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:105
@@ -287,8 +289,8 @@ msgstr "Создание ключа"
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:122
msgid ""
-"Existing keys can be used, but should be checked with "
-"[.filename]#documentation/tools/checkkey.sh# first. In this case, make sure "
+"Existing keys can be used, but should be checked with [."
+"filename]#documentation/tools/checkkey.sh# first. In this case, make sure "
"the key has a FreeBSD user ID."
msgstr ""
"Существующие ключи можно использовать, но сначала их следует проверить с "
@@ -308,16 +310,15 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:129
msgid ""
-"Install [.filename]#security/gnupg#. Enter these lines in "
-"[.filename]#~/.gnupg/gpg.conf# to set minimum acceptable defaults for "
-"signing and new key preferences (see the link:https://www.gnupg.org/"
-"documentation/manuals/gnupg/GPG-Options.html[GnuPG options documentation] "
-"for more details):"
+"Install [.filename]#security/gnupg#. Enter these lines in [.filename]#~/."
+"gnupg/gpg.conf# to set minimum acceptable defaults for signing and new key "
+"preferences (see the link:https://www.gnupg.org/documentation/manuals/gnupg/"
+"GPG-Options.html[GnuPG options documentation] for more details):"
msgstr ""
-"Установите [.filename]#security/gnupg#. Добавьте следующие строки в "
-"[.filename]#~/.gnupg/gpg.conf#, чтобы задать минимально приемлемые настройки "
-"для подписи и предпочтений новых ключей (подробнее см. в link:https://"
-"www.gnupg.org/documentation/manuals/gnupg/GPG-Options.html[документации по "
+"Установите [.filename]#security/gnupg#. Добавьте следующие строки в [."
+"filename]#~/.gnupg/gpg.conf#, чтобы задать минимально приемлемые настройки "
+"для подписи и предпочтений новых ключей (подробнее см. в link:https://www."
+"gnupg.org/documentation/manuals/gnupg/GPG-Options.html[документации по "
"опциям GnuPG]):"
#. type: delimited block . 4
@@ -469,20 +470,20 @@ msgstr ""
"После ввода адреса электронной почты запрашивается парольная фраза. Методы "
"создания безопасной парольной фразы вызывают споры. Вместо того чтобы "
"предлагать один способ, вот несколько ссылок на сайты, описывающие различные "
-"методы: https://world.std.com/~reinhold/diceware.html[], https://"
-"www.iusmentis.com/security/passphrasefaq/[], https://xkcd.com/936/[], "
-"https://en.wikipedia.org/wiki/Passphrase[]."
+"методы: https://world.std.com/~reinhold/diceware.html[], https://www."
+"iusmentis.com/security/passphrasefaq/[], https://xkcd.com/936/[], https://en."
+"wikipedia.org/wiki/Passphrase[]."
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:190
msgid ""
"Protect the private key and passphrase. If either the private key or "
-"passphrase may have been compromised or disclosed, immediately notify "
-"mailto:accounts@FreeBSD.org[accounts@FreeBSD.org] and revoke the key."
+"passphrase may have been compromised or disclosed, immediately notify mailto:"
+"accounts@FreeBSD.org[accounts@FreeBSD.org] and revoke the key."
msgstr ""
"Защитите закрытый ключ и парольную фразу. Если закрытый ключ или парольная "
-"фраза могли быть скомпрометированы или раскрыты, немедленно уведомите "
-"mailto:accounts@FreeBSD.org[accounts@FreeBSD.org] и отзовите ключ."
+"фраза могли быть скомпрометированы или раскрыты, немедленно уведомите mailto:"
+"accounts@FreeBSD.org[accounts@FreeBSD.org] и отзовите ключ."
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:193
@@ -542,11 +543,11 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:216
msgid ""
-"A Kerberos password can also be set manually by logging into "
-"`freefall.FreeBSD.org` and running:"
+"A Kerberos password can also be set manually by logging into `freefall."
+"FreeBSD.org` and running:"
msgstr ""
-"Пароль Kerberos также можно установить вручную, войдя в "
-"`freefall.FreeBSD.org` и выполнив:"
+"Пароль Kerberos также можно установить вручную, войдя в `freefall.FreeBSD."
+"org` и выполнив:"
#. type: delimited block . 4
#: documentation/content/en/articles/committers-guide/_index.adoc:220
@@ -564,9 +565,8 @@ msgid ""
msgstr ""
"Если ранее не использовались аутентифицированные через Kerberos службы "
"кластера FreeBSD.org, будет отображено сообщение `Client unknown`. Эта "
-"ошибка означает, что сначала необходимо использовать метод `ssh "
-"kpasswd.freebsd.org`, показанный выше, для инициализации учётной записи "
-"Kerberos."
+"ошибка означает, что сначала необходимо использовать метод `ssh kpasswd."
+"freebsd.org`, показанный выше, для инициализации учётной записи Kerberos."
#. type: Title ==
#: documentation/content/en/articles/committers-guide/_index.adoc:229
@@ -714,13 +714,13 @@ msgstr "Политика активности коммиттеров в друг
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:266
msgid ""
-"All committers may modify [.filename]#src/share/misc/committers-*.dot#, "
-"[.filename]#src/usr.bin/calendar/calendars/calendar.freebsd#, and "
-"[.filename]#ports/astro/xearth/files#."
+"All committers may modify [.filename]#src/share/misc/committers-*.dot#, [."
+"filename]#src/usr.bin/calendar/calendars/calendar.freebsd#, and [."
+"filename]#ports/astro/xearth/files#."
msgstr ""
-"Все коммиттеры могут изменять файлы [.filename]#src/share/misc/committers-"
-"*.dot#, [.filename]#src/usr.bin/calendar/calendars/calendar.freebsd# и "
-"[.filename]#ports/astro/xearth/files#."
+"Все коммиттеры могут изменять файлы [.filename]#src/share/misc/committers-*."
+"dot#, [.filename]#src/usr.bin/calendar/calendars/calendar.freebsd# и [."
+"filename]#ports/astro/xearth/files#."
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:267
@@ -730,8 +730,8 @@ msgid ""
"comment fixes without approval from a src committer, subject to the normal "
"care and tending of commits."
msgstr ""
-"Документационные коммиттеры могут вносить изменения в документацию в файлы "
-"[.filename]#src#, такие как руководства, README, базы данных fortune, "
+"Документационные коммиттеры могут вносить изменения в документацию в файлы [."
+"filename]#src#, такие как руководства, README, базы данных fortune, "
"календарные файлы и исправления комментариев, без одобрения коммиттера src, "
"при условии соблюдения обычных правил и внимания к коммитам."
@@ -901,9 +901,9 @@ msgstr "Основы Git"
msgid ""
"When one searches for \"Git Primer\" a number of good ones come up. Daniel "
"Miessler's link:https://danielmiessler.com/study/git/[A git primer] and "
-"Willie Willus' link:https://gist.github.com/williewillus/"
-"068e9a8543de3a7ef80adb2938657b6b[Git - Quick Primer] are both good "
-"overviews. The Git book is also complete, but much longer https://git-"
+"Willie Willus' link:https://gist.github.com/"
+"williewillus/068e9a8543de3a7ef80adb2938657b6b[Git - Quick Primer] are both "
+"good overviews. The Git book is also complete, but much longer https://git-"
"scm.com/book/en/v2. There is also this website https://dangitgit.com/ for "
"common traps and pitfalls of Git, in case you need guidance to fix things "
"up. Finally, an introduction link:https://eagain.net/articles/git-for-"
@@ -915,11 +915,11 @@ msgstr ""
"git/[Введение в Git] и Вилли Виллуса link:https://gist.github.com/"
"williewillus/068e9a8543de3a7ef80adb2938657b6b[Git - Краткое введение] "
"являются хорошими обзорами. Книга по Git также полная, но гораздо длиннее: "
-"https://git-scm.com/book/en/v2. Также обратите внимание на сайт https://"
-"dangitgit.com/, посвящённый распространённым ловушкам и подводным камням "
-"Git, на случай, если вам нужно исправить ошибки. Наконец, введение, "
-"link:https://eagain.net/articles/git-for-computer-scientists/"
-"[ориентированное на компьютерных учёных], оказалось полезным для некоторых в "
+"https://git-scm.com/book/en/v2. Также обратите внимание на сайт "
+"https://dangitgit.com/, посвящённый распространённым ловушкам и подводным "
+"камням Git, на случай, если вам нужно исправить ошибки. Наконец, введение, "
+"link:https://eagain.net/articles/git-for-computer-scientists/["
+"ориентированное на компьютерных учёных], оказалось полезным для некоторых в "
"объяснении мировоззрения Git."
#. type: Plain text
@@ -1112,8 +1112,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:392
msgid ""
-"Again, note that `gitrepo.freebsd.org` has been canonicalized to "
-"`repo.freebsd.org`."
+"Again, note that `gitrepo.freebsd.org` has been canonicalized to `repo."
+"freebsd.org`."
msgstr ""
"Еще раз обратите внимание, что `gitrepo.freebsd.org` является псевдонимом "
"для `repo.freebsd.org`."
@@ -1215,11 +1215,11 @@ msgstr "git worktree add -b admin ../${repo}-admin internal/admin\n"
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:440
msgid ""
-"For browsing `internal/admin` branch on web: `https://cgit.freebsd.org/$"
-"{repo}/log/?h=internal/admin`"
+"For browsing `internal/admin` branch on web: `https://cgit.freebsd.org/"
+"${repo}/log/?h=internal/admin`"
msgstr ""
-"Для просмотра ветки `internal/admin` в веб-интерфейсе: `https://"
-"cgit.freebsd.org/${repo}/log/?h=internal/admin`"
+"Для просмотра ветки `internal/admin` в веб-интерфейсе: `https://cgit.freebsd."
+"org/${repo}/log/?h=internal/admin`"
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:442
@@ -1278,8 +1278,8 @@ msgid ""
"For FreeBSD-RELEASE, release engineering branch names include `releng/12.4` "
"and `releng/13.2`."
msgstr ""
-"Для FreeBSD-RELEASE, названия веток разработки выпусков включают `releng/"
-"12.4` и `releng/13.2`."
+"Для FreeBSD-RELEASE, названия веток разработки выпусков включают `releng/12."
+"4` и `releng/13.2`."
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:466
@@ -1333,10 +1333,10 @@ msgid ""
"the latest information on where to get FreeBSD sources. $URL below can be "
"obtained from that page."
msgstr ""
-"Пожалуйста, обратитесь к разделу crossref:committers-"
-"guide[admin,Административные детали] для получения актуальной информации о "
-"том, где взять исходные коды FreeBSD. Значение $URL ниже можно получить с "
-"этой страницы."
+"Пожалуйста, обратитесь к разделу crossref:committers-guide["
+"admin,Административные детали] для получения актуальной информации о том, "
+"где взять исходные коды FreeBSD. Значение $URL ниже можно получить с этой "
+"страницы."
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:481
@@ -1382,14 +1382,14 @@ msgid ""
"will create a deep clone. `branch` should be one of the branches listed in "
"the previous section. If no `branch` is given: the default (`main`) will be "
"used. If no `<directory>` is given: the name of the new directory will "
-"match the name of the repo ([.filename]#doc#, [.filename]#ports# or "
-"[.filename]#src#)."
+"match the name of the repo ([.filename]#doc#, [.filename]#ports# or [."
+"filename]#src#)."
msgstr ""
"создаст полную копию. `branch` должна быть одной из веток, перечисленных в "
"предыдущем разделе. Если параметр `branch` не указан: будет использоваться "
"ветка по умолчанию (`main`). Если параметр `<directory>` не указан: имя "
-"нового каталога будет соответствовать имени репозитория ([.filename]#doc#, "
-"[.filename]#ports# или [.filename]#src#)."
+"нового каталога будет соответствовать имени репозитория ([.filename]#doc#, [."
+"filename]#ports# или [.filename]#src#)."
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:499
@@ -1503,11 +1503,11 @@ msgid ""
"MYKERNEL under sys/${ARCH}/conf with your changes against GENERIC. To have "
"MYKERNEL disregarded by Git, it can be added to .git/info/exclude."
msgstr ""
-"Если вы хотите собрать собственное ядро, в extref:{handbook}"
-"kernelconfig[разделе конфигурации ядра, kernelconfig] руководства FreeBSD "
-"рекомендуется создать файл MYKERNEL в sys/${ARCH}/conf с вашими изменениями "
-"на основе GENERIC. Чтобы Git игнорировал MYKERNEL, его можно добавить в .git/"
-"info/exclude."
+"Если вы хотите собрать собственное ядро, в extref:{handbook}kernelconfig["
+"разделе конфигурации ядра, kernelconfig] руководства FreeBSD рекомендуется "
+"создать файл MYKERNEL в sys/${ARCH}/conf с вашими изменениями на основе "
+"GENERIC. Чтобы Git игнорировал MYKERNEL, его можно добавить в .git/info/"
+"exclude."
#. type: Title =====
#: documentation/content/en/articles/committers-guide/_index.adoc:539
@@ -1931,14 +1931,14 @@ msgstr ""
#: documentation/content/en/articles/committers-guide/_index.adoc:692
msgid ""
"The cgit repository web interface for use with web browsers is at https://"
-"cgit.FreeBSD.org/ports/ . The production Git repository is at https://"
-"git.FreeBSD.org/ports.git and at ssh://anongit@git.FreeBSD.org/ports.git (or "
+"cgit.FreeBSD.org/ports/ . The production Git repository is at https://git."
+"FreeBSD.org/ports.git and at ssh://anongit@git.FreeBSD.org/ports.git (or "
"anongit@git.FreeBSD.org:ports.git)."
msgstr ""
-"Веб-интерфейс cgit для работы в браузере доступен по адресу https://"
-"cgit.FreeBSD.org/ports/ . Рабочий репозиторий Git находится по адресу "
-"https://git.FreeBSD.org/ports.git и ssh://anongit@git.FreeBSD.org/ports.git "
-"(или `anongit@git.FreeBSD.org:ports.git`)."
+"Веб-интерфейс cgit для работы в браузере доступен по адресу https://cgit."
+"FreeBSD.org/ports/ . Рабочий репозиторий Git находится по адресу https://git."
+"FreeBSD.org/ports.git и ssh://anongit@git.FreeBSD.org/ports.git (или "
+"`anongit@git.FreeBSD.org:ports.git`)."
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:696
@@ -1961,9 +1961,9 @@ msgstr "Форматы сообщений коммитов"
#: documentation/content/en/articles/committers-guide/_index.adoc:702
msgid ""
"A hook is available in the ports repository to help you write up your commit "
-"messages in https://cgit.freebsd.org/ports/tree/.hooks/prepare-commit-"
-"msg[.hooks/prepare-commit-message]. It can be enabled by running ``git "
-"config --add core.hooksPath .hooks``."
+"messages in https://cgit.freebsd.org/ports/tree/.hooks/prepare-commit-msg[."
+"hooks/prepare-commit-message]. It can be enabled by running ``git config --"
+"add core.hooksPath .hooks``."
msgstr ""
"В репозитории портов доступен перехватчик, который помогает оформлять "
"сообщения коммитов в https://cgit.freebsd.org/ports/tree/.hooks/prepare-"
@@ -2136,8 +2136,8 @@ msgid ""
"at a newer location on the parent branch. We will cover the most common "
"scenarios that arise using it."
msgstr ""
-"В дополнение к слиянию, Git поддерживает концепцию «перебазирования» "
-"(rebase), которая позволяет избежать этих проблем. Команда `git rebase` "
+"В дополнение к слиянию, Git поддерживает концепцию «перебазирования» (rebase)"
+", которая позволяет избежать этих проблем. Команда `git rebase` "
"воспроизводит все коммиты ветки в конце родительской ветки. Мы рассмотрим "
"наиболее распространённые сценарии, возникающие при её использовании."
@@ -2278,8 +2278,8 @@ msgid ""
"Once you are done with the above, you have to move the commits to ls.c "
"forward from the old version of FreeBSD to the newer one."
msgstr ""
-"После завершения вышеуказанных действий необходимо перенести коммиты для "
-"`ls.c` со старой версии FreeBSD на новую."
+"После завершения вышеуказанных действий необходимо перенести коммиты для `ls."
+"c` со старой версии FreeBSD на новую."
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:821
@@ -2448,9 +2448,10 @@ msgid ""
"this guide."
msgstr ""
"Для более подробного ознакомления с этой темой, см. довольно обширное "
-"руководство по адресу: https://www.freecodecamp.org/news/the-ultimate-guide-"
-"to-git-merge-and-git-rebase/. Этот ресурс будет полезен для решения проблем, "
-"которые возникают нечасто, но слишком специфичны для данного руководства."
+"руководство по адресу: https://www.freecodecamp.org/news/"
+"the-ultimate-guide-to-git-merge-and-git-rebase/. Этот ресурс будет полезен "
+"для решения проблем, которые возникают нечасто, но слишком специфичны для "
+"данного руководства."
#. type: Title =====
#: documentation/content/en/articles/committers-guide/_index.adoc:880
@@ -2539,8 +2540,8 @@ msgstr "Краткое содержание"
#: documentation/content/en/articles/committers-guide/_index.adoc:911
msgid ""
"MFC workflow can be summarized as `git cherry-pick -x` plus `git commit --"
-"amend` to adjust the commit message. For multiple commits, use `git rebase "
-"-i` to squash them together and edit the commit message."
+"amend` to adjust the commit message. For multiple commits, use `git rebase -"
+"i` to squash them together and edit the commit message."
msgstr ""
"Рабочий процесс MFC можно обобщить как `git cherry-pick -x` плюс `git commit "
"--amend` для корректировки сообщения коммита. Для нескольких коммитов "
@@ -2567,8 +2568,8 @@ msgstr ""
#: documentation/content/en/articles/committers-guide/_index.adoc:922
msgid ""
"For MFC commits, for example a vendor import, you would need to specify one "
-"parent for cherry-pick purposes. Normally, that would be the \"first "
-"parent\" of the branch you are cherry-picking from, so:"
+"parent for cherry-pick purposes. Normally, that would be the \"first parent"
+"\" of the branch you are cherry-picking from, so:"
msgstr ""
"Для коммитов MFC, например, импорта от вендора, вам потребуется указать "
"одного родителя для целей выборочного применения (cherry-pick). Обычно это "
@@ -2601,8 +2602,8 @@ msgid ""
"due to losing the commit race, use `git pull --rebase` and try to push again."
msgstr ""
"После завершения выборочного применения выполните отправку с помощью `git "
-"push`. Если возникнет ошибка из-за проигрыша в гонке коммитов, используйте "
-"`git pull --rebase` и повторите попытку отправки."
+"push`. Если возникнет ошибка из-за проигрыша в гонке коммитов, используйте `"
+"git pull --rebase` и повторите попытку отправки."
#. type: Title ====
#: documentation/content/en/articles/committers-guide/_index.adoc:934
@@ -2688,7 +2689,8 @@ msgstr ""
"% for h in $HASH_LIST; do git cherry-pick -x $h; done\n"
"% git rebase -i stable/X\n"
"# отметить каждый коммит после первого как 'squash'\n"
-"# При необходимости обновить сообщение коммита, чтобы отразить все его элементы.\n"
+"# При необходимости обновить сообщение коммита, чтобы отразить все его "
+"элементы.\n"
"# Обязательно сохранить строки \"cherry picked from\".\n"
"% git push freebsd HEAD:stable/X\n"
@@ -2775,8 +2777,8 @@ msgid ""
"pickup the proper parent. Just do:"
msgstr ""
"Бывают, надеюсь, редкие случаи, когда возможно, что ветка `main` была "
-"объединена в обратном порядке скриптом преобразования. Если это произойдет "
-"(а мы пока таких случаев не обнаружили), вам следует изменить указанное выше "
+"объединена в обратном порядке скриптом преобразования. Если это произойдет ("
+"а мы пока таких случаев не обнаружили), вам следует изменить указанное выше "
"на `-m 2`, чтобы выбрать правильного родителя. Просто выполните:"
#. type: delimited block . 4
@@ -2949,8 +2951,8 @@ msgid ""
"to work around these difficulties and is working on automated tooling to "
"take advantage of this."
msgstr ""
-"Git предоставляет встроенную поддержку этого через команды `git cherry` и "
-"`git log --cherry`. Эти команды сравнивают исходные различия коммитов (но не "
+"Git предоставляет встроенную поддержку этого через команды `git cherry` и `"
+"git log --cherry`. Эти команды сравнивают исходные различия коммитов (но не "
"другие метаданные, такие как сообщения журнала), чтобы определить, идентичны "
"ли два коммита. Это хорошо работает, когда каждый коммит из `main` "
"переносится как отдельный коммит в стабильную ветку, но перестаёт работать, "
@@ -3338,8 +3340,8 @@ msgid ""
"Now you need to update the mtree in FreeBSD. The sources live in `contrib/"
"mtree` since it is upstream software."
msgstr ""
-"Теперь вам нужно обновить mtree в FreeBSD. Исходные коды находятся в "
-"`contrib/mtree`, так как это программное обеспечение из внешних источников."
+"Теперь вам нужно обновить mtree в FreeBSD. Исходные коды находятся в `"
+"contrib/mtree`, так как это программное обеспечение из внешних источников."
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1179
@@ -3379,8 +3381,8 @@ msgid ""
"were conflicts, you would need to fix them before committing. Include "
"details about the changes being merged in the merge commit message."
msgstr ""
-"Это создаст коммит слияния поддерева `contrib/mtree` с локальной веткой "
-"`vendor/NetBSD/mtree`. Изучите разницу (diff) между результатом слияния и "
+"Это создаст коммит слияния поддерева `contrib/mtree` с локальной веткой `"
+"vendor/NetBSD/mtree`. Изучите разницу (diff) между результатом слияния и "
"содержимым вышестоящей ветки. Если слияние сократило наши локальные "
"изменения до более тривиальных различий, таких как изменения пустых строк "
"или отступов, попробуйте исправить локальные изменения, чтобы уменьшить "
@@ -3442,7 +3444,9 @@ msgstr ""
#: documentation/content/en/articles/committers-guide/_index.adoc:1216
#, no-wrap
msgid "Rebasing your change against latest FreeBSD source tree"
-msgstr "Перебазирование ваших изменений относительно последней версии исходного дерева FreeBSD"
+msgstr ""
+"Перебазирование ваших изменений относительно последней версии исходного "
+"дерева FreeBSD"
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1219
@@ -3558,8 +3562,8 @@ msgid ""
"Commit the results with the prior commit message (the example assumes "
"there's only one merge on the XXX branch)."
msgstr ""
-"Сделайте коммит полученному результату с предыдущим сообщением коммита "
-"(пример предполагает, что в ветке XXX была только одна операция слияния)."
+"Сделайте коммит полученному результату с предыдущим сообщением коммита ("
+"пример предполагает, что в ветке XXX была только одна операция слияния)."
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1238
@@ -3642,7 +3646,9 @@ msgstr ""
#: documentation/content/en/articles/committers-guide/_index.adoc:1262
#, no-wrap
msgid "% git checkout -B YYY freebsd/main # Create new throw-away YYY branch if starting over is just going to be easier\n"
-msgstr "% git checkout -B YYY freebsd/main # Создать новую временную ветку YYY, если начать заново будет проще\n"
+msgstr ""
+"% git checkout -B YYY freebsd/main # Создать новую временную ветку YYY, если "
+"начать заново будет проще\n"
#. type: Title ====
#: documentation/content/en/articles/committers-guide/_index.adoc:1264
@@ -3723,8 +3729,8 @@ msgid ""
"commit with the commit message always at XXX~1 to make committing easier."
msgstr ""
"Если вы попытались выполнить отправку из предыдущего раздела и она "
-"завершилась неудачей, то вам следует выполнить следующие действия для "
-"«повторного выполнения» операций. Эта последовательность сохраняет коммит с "
+"завершилась неудачей, то вам следует выполнить следующие действия для «"
+"повторного выполнения» операций. Эта последовательность сохраняет коммит с "
"сообщением о коммите всегда на позиции XXX~1 для упрощения коммита."
#. type: delimited block . 4
@@ -3738,12 +3744,16 @@ msgid ""
"% git checkout XXX .\t\t# XXX branch has the conflict resolution\n"
"% git commit -c XXX~1\t\t# -c reuses the commit message from commit before rebase\n"
msgstr ""
-"% git checkout -B XXX YYY\t# recreate that throw-away-branch XXX and switch to it\n"
+"% git checkout -B XXX YYY\t# recreate that throw-away-branch XXX and switch "
+"to it\n"
"% git merge freebsd/main\t# Merge the changes and resolve conflicts\n"
-"% git checkout -B YYY freebsd/main # Recreate new throw-away YYY branch for redo\n"
-"% git subtree merge -P contrib/mtree vendor/NetBSD/mtree # Redo subtree merge\n"
+"% git checkout -B YYY freebsd/main # Recreate new throw-away YYY branch for "
+"redo\n"
+"% git subtree merge -P contrib/mtree vendor/NetBSD/mtree # Redo subtree "
+"merge\n"
"% git checkout XXX .\t\t# XXX branch has the conflict resolution\n"
-"% git commit -c XXX~1\t\t# -c reuses the commit message from commit before rebase\n"
+"% git commit -c XXX~1\t\t# -c reuses the commit message from commit before "
+"rebase\n"
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1301
@@ -4164,8 +4174,8 @@ msgstr ""
"Это вызовет интерактивный экран для изменения настроек по умолчанию. Пока "
"просто выйдите из редактора. Всё должно примениться автоматически. Если нет, "
"то вам потребуется разрешить различия. https://docs.github.com/en/free-pro-"
-"team@latest/github/using-git/resolving-merge-conflicts-after-a-git-"
-"rebase[Документация GitHub] может помочь вам в этом процессе."
+"team@latest/github/using-git/resolving-merge-conflicts-after-a-git-rebase["
+"Документация GitHub] может помочь вам в этом процессе."
#. type: Title =====
#: documentation/content/en/articles/committers-guide/_index.adoc:1460
@@ -4186,7 +4196,8 @@ msgstr ""
#: documentation/content/en/articles/committers-guide/_index.adoc:1467
#, no-wrap
msgid "% git remote set-url --push freebsd ssh://git@gitrepo.freebsd.org/src.git\n"
-msgstr "% git remote set-url --push freebsd ssh://git@gitrepo.freebsd.org/src.git\n"
+msgstr ""
+"% git remote set-url --push freebsd ssh://git@gitrepo.freebsd.org/src.git\n"
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1471
@@ -4333,9 +4344,9 @@ msgstr "Поиск ревизии Subversion"
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1527
msgid ""
-"You'll need to make sure that you've fetched the notes (see the "
-"crossref:committers-guide[git-mini-daily-use, Daily use]for details). Once "
-"you have these, notes will show up in the git log command like so:"
+"You'll need to make sure that you've fetched the notes (see the crossref:"
+"committers-guide[git-mini-daily-use, Daily use]for details). Once you have "
+"these, notes will show up in the git log command like so:"
msgstr ""
"Вам нужно убедиться, что вы получили (fetch) примечания (подробности "
"смотрите в разделе crossref:committers-guide[git-mini-daily-use, Ежедневное "
@@ -4411,17 +4422,11 @@ msgstr "Как отслеживать -current и -stable, имея только
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1561
-#, fuzzy
-#| msgid ""
-#| "**Q:** Although disk space is not a huge issue, it's more efficient to "
-#| "use only one copy of the repository.\n"
-#| "With SVN mirroring, I could checkout multiple trees from the same "
-#| "repository.\n"
-#| "How do I do this with Git?\n"
-msgid ""
-"**Q:** Although disk space is not a huge issue, it's more efficient to use "
-"only one copy of the repository. With SVN mirroring, I could checkout "
-"multiple trees from the same repository. How do I do this with Git?"
+#, no-wrap
+msgid ""
+"**Q:** Although disk space is not a huge issue, it's more efficient to use only one copy of the repository.\n"
+"With SVN mirroring, I could checkout multiple trees from the same repository.\n"
+"How do I do this with Git?\n"
msgstr ""
"**В:** Хотя место на диске не является большой проблемой, эффективнее "
"использовать только одну копию репозитория.\n"
@@ -4431,18 +4436,11 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1565
-#, fuzzy
-#| msgid ""
-#| "**A:** You can use Git worktrees.\n"
-#| "There's a number of ways to do this, but the simplest way is to use a "
-#| "clone to track -current, and a worktree to track stable releases.\n"
-#| "While using a 'bare repository' has been put forward as a way to cope, "
-#| "it's more complicated and will not be documented here.\n"
-msgid ""
-"**A:** You can use Git worktrees. There's a number of ways to do this, but "
-"the simplest way is to use a clone to track -current, and a worktree to "
-"track stable releases. While using a 'bare repository' has been put forward "
-"as a way to cope, it's more complicated and will not be documented here."
+#, no-wrap
+msgid ""
+"**A:** You can use Git worktrees.\n"
+"There's a number of ways to do this, but the simplest way is to use a clone to track -current, and a worktree to track stable releases.\n"
+"While using a 'bare repository' has been put forward as a way to cope, it's more complicated and will not be documented here.\n"
msgstr ""
"**О:** Вы можете использовать рабочие деревья Git.\n"
"Существует несколько способов сделать это, но самый простой — использовать "
@@ -4466,7 +4464,9 @@ msgstr ""
#: documentation/content/en/articles/committers-guide/_index.adoc:1572
#, no-wrap
msgid "% git clone -o freebsd --config remote.freebsd.fetch='+refs/notes/*:refs/notes/*' $URL freebsd-current\n"
-msgstr "% git clone -o freebsd --config remote.freebsd.fetch='+refs/notes/*:refs/notes/*' $URL freebsd-current\n"
+msgstr ""
+"% git clone -o freebsd --config remote.freebsd.fetch='+refs/notes/*:refs/"
+"notes/*' $URL freebsd-current\n"
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1575
@@ -4551,22 +4551,16 @@ msgstr "Ой! Я закоммитил в `main` вместо другой вет
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1605
-#, fuzzy
-#| msgid ""
-#| "**Q:** From time to time, I goof up and mistakenly commit to the `main` "
-#| "branch. What do I do?\n"
-msgid ""
-"**Q:** From time to time, I goof up and mistakenly commit to the `main` "
-"branch. What do I do?"
+#, no-wrap
+msgid "**Q:** From time to time, I goof up and mistakenly commit to the `main` branch. What do I do?\n"
msgstr ""
"**В:** Время от времени я ошибаюсь и по ошибке делаю коммит в ветку `main`. "
"Что мне делать?\n"
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1607
-#, fuzzy
-#| msgid "**A:** First, don't panic.\n"
-msgid "**A:** First, don't panic."
+#, no-wrap
+msgid "**A:** First, don't panic.\n"
msgstr "**О:** Во-первых, не паникуйте.\n"
#. type: Plain text
@@ -4608,14 +4602,10 @@ msgstr "Ой! Я закоммитил что-то не в ту ветку!"
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1625
-#, fuzzy
-#| msgid ""
-#| "**Q:** I was working on feature on the `wilma` branch, but accidentally "
-#| "committed a change relevant to the `fred` branch in 'wilma'.\n"
-#| "What do I do?\n"
+#, no-wrap
msgid ""
-"**Q:** I was working on feature on the `wilma` branch, but accidentally "
-"committed a change relevant to the `fred` branch in 'wilma'. What do I do?"
+"**Q:** I was working on feature on the `wilma` branch, but accidentally committed a change relevant to the `fred` branch in 'wilma'.\n"
+"What do I do?\n"
msgstr ""
"**В:** Я работал над функцией в ветке `wilma`, но случайно сделал коммит "
"изменению, относящемуся к ветке `fred`, в 'wilma'.\n"
@@ -4623,20 +4613,11 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1629
-#, fuzzy
-#| msgid ""
-#| "**A:** The answer is similar to the previous one, but with cherry "
-#| "picking.\n"
-#| "This assumes there's only one commit on wilma, but will generalize to "
-#| "more complicated situations.\n"
-#| "It also assumes that it's the last commit on wilma (hence using wilma in "
-#| "the `git cherry-pick` command), but that too can be generalized.\n"
-msgid ""
-"**A:** The answer is similar to the previous one, but with cherry picking. "
-"This assumes there's only one commit on wilma, but will generalize to more "
-"complicated situations. It also assumes that it's the last commit on wilma "
-"(hence using wilma in the `git cherry-pick` command), but that too can be "
-"generalized."
+#, no-wrap
+msgid ""
+"**A:** The answer is similar to the previous one, but with cherry picking.\n"
+"This assumes there's only one commit on wilma, but will generalize to more complicated situations.\n"
+"It also assumes that it's the last commit on wilma (hence using wilma in the `git cherry-pick` command), but that too can be generalized.\n"
msgstr ""
"**О:** Ответ аналогичен предыдущему, но с использованием выборочного "
"применением коммитов (cherry-pick).\n"
@@ -4687,43 +4668,21 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1650
-#, fuzzy
-#| msgid ""
-#| "**Q:** But what if I want to commit a few changes to `main`, but keep the "
-#| "rest in `wilma` for some reason?\n"
-msgid ""
-"**Q:** But what if I want to commit a few changes to `main`, but keep the "
-"rest in `wilma` for some reason?"
+#, no-wrap
+msgid "**Q:** But what if I want to commit a few changes to `main`, but keep the rest in `wilma` for some reason?\n"
msgstr ""
"**В:** Но что, если я хочу сделать коммит нескольким изменениям в `main`, но "
"оставить остальные в `wilma` по какой-то причине?\n"
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1656
-#, fuzzy
-#| msgid ""
-#| "**A:** The same technique above also works if you are wanting to 'land' "
-#| "parts of the branch you are working on into `main` before the rest of the "
-#| "branch is ready (say you noticed an unrelated typo, or fixed an "
-#| "incidental bug).\n"
-#| "You can cherry pick those changes into `main`, then push to the parent "
-#| "repository.\n"
-#| "Once you've done that, cleanup couldn't be simpler: just `git rebase "
-#| "-i`.\n"
-#| "Git will notice you've done this and skip the common changes "
-#| "automatically (even if you had to change the commit message or tweak the "
-#| "commit slightly).\n"
-#| "There's no need to switch back to wilma to adjust it: just rebase!\n"
-msgid ""
-"**A:** The same technique above also works if you are wanting to 'land' "
-"parts of the branch you are working on into `main` before the rest of the "
-"branch is ready (say you noticed an unrelated typo, or fixed an incidental "
-"bug). You can cherry pick those changes into `main`, then push to the "
-"parent repository. Once you've done that, cleanup couldn't be simpler: just "
-"`git rebase -i`. Git will notice you've done this and skip the common "
-"changes automatically (even if you had to change the commit message or tweak "
-"the commit slightly). There's no need to switch back to wilma to adjust it: "
-"just rebase!"
+#, no-wrap
+msgid ""
+"**A:** The same technique above also works if you are wanting to 'land' parts of the branch you are working on into `main` before the rest of the branch is ready (say you noticed an unrelated typo, or fixed an incidental bug).\n"
+"You can cherry pick those changes into `main`, then push to the parent repository.\n"
+"Once you've done that, cleanup couldn't be simpler: just `git rebase -i`.\n"
+"Git will notice you've done this and skip the common changes automatically (even if you had to change the commit message or tweak the commit slightly).\n"
+"There's no need to switch back to wilma to adjust it: just rebase!\n"
msgstr ""
"**О:** Тот же метод, описанный выше, также работает, если вы хотите "
"«приземлить» части ветки, над которой работаете, в `main` до того, как вся "
@@ -4733,44 +4692,28 @@ msgstr ""
"отправить их в родительский репозиторий.\n"
"После того, как вы это сделаете, очистка не может быть проще: просто "
"выполните `git rebase -i`.\n"
-"Git заметит, что вы это сделали, и автоматически пропустит общие изменения "
-"(даже если вам пришлось изменить сообщение коммита или слегка "
+"Git заметит, что вы это сделали, и автоматически пропустит общие изменения ("
+"даже если вам пришлось изменить сообщение коммита или слегка "
"подкорректировать коммит).\n"
"Нет необходимости переключаться обратно на wilma, чтобы её поправить: просто "
"делайте rebase!\n"
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1658
-#, fuzzy
-#| msgid ""
-#| "**Q:** I want to split off some changes from branch `wilma` into branch "
-#| "`fred`\n"
-msgid ""
-"**Q:** I want to split off some changes from branch `wilma` into branch "
-"`fred`"
+#, no-wrap
+msgid "**Q:** I want to split off some changes from branch `wilma` into branch `fred`\n"
msgstr ""
"**В:** Я хочу выделить некоторые изменения из ветки `wilma` в ветку `fred`\n"
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1664
-#, fuzzy
-#| msgid ""
-#| "**A:** The more general answer would be the same as the previous.\n"
-#| "You'd checkout/create the `fred` branch, cherry pick the changes you want "
-#| "from `wilma` one at a time, then rebase `wilma` to remove those changes "
-#| "you cherry picked.\n"
-#| "`git rebase -i main wilma` will toss you into an editor, and remove the "
-#| "`pick` lines that correspond to the commits you copied to `fred`.\n"
-#| "If all goes well, and there are no conflicts, you're done.\n"
-#| "If not, you'll need to resolve the conflicts as you go.\n"
-msgid ""
-"**A:** The more general answer would be the same as the previous. You'd "
-"checkout/create the `fred` branch, cherry pick the changes you want from "
-"`wilma` one at a time, then rebase `wilma` to remove those changes you "
-"cherry picked. `git rebase -i main wilma` will toss you into an editor, and "
-"remove the `pick` lines that correspond to the commits you copied to "
-"`fred`. If all goes well, and there are no conflicts, you're done. If not, "
-"you'll need to resolve the conflicts as you go."
+#, no-wrap
+msgid ""
+"**A:** The more general answer would be the same as the previous.\n"
+"You'd checkout/create the `fred` branch, cherry pick the changes you want from `wilma` one at a time, then rebase `wilma` to remove those changes you cherry picked.\n"
+"`git rebase -i main wilma` will toss you into an editor, and remove the `pick` lines that correspond to the commits you copied to `fred`.\n"
+"If all goes well, and there are no conflicts, you're done.\n"
+"If not, you'll need to resolve the conflicts as you go.\n"
msgstr ""
"**О:** Более общий ответ будет таким же, как и предыдущий.\n"
"Вы должны выгрузить(checkout)/создать ветку `fred`, выборочно применить "
@@ -4826,17 +4769,11 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1684
-#, fuzzy
-#| msgid ""
-#| "**Q:** But I did things as I read along and didn't see your advice at the "
-#| "end to create a branch, and now `fred` and `wilma` are all screwed up.\n"
-#| "How do I find what `wilma` was before I started.\n"
-#| "I don't know how many times I moved things around.\n"
-msgid ""
-"**Q:** But I did things as I read along and didn't see your advice at the "
-"end to create a branch, and now `fred` and `wilma` are all screwed up. How "
-"do I find what `wilma` was before I started. I don't know how many times I "
-"moved things around."
+#, no-wrap
+msgid ""
+"**Q:** But I did things as I read along and didn't see your advice at the end to create a branch, and now `fred` and `wilma` are all screwed up.\n"
+"How do I find what `wilma` was before I started.\n"
+"I don't know how many times I moved things around.\n"
msgstr ""
"**В:** Но я делал всё по мере прочтения и не увидел ваш совет в конце "
"создать ветку, и теперь `fred` и `wilma` полностью испорчены.\n"
@@ -4845,13 +4782,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1686
-#, fuzzy
-#| msgid ""
-#| "**A:** All is not lost. You can figure out it, so long as it hasn't been "
-#| "too long, or too many commits (hundreds).\n"
-msgid ""
-"**A:** All is not lost. You can figure out it, so long as it hasn't been too "
-"long, or too many commits (hundreds)."
+#, no-wrap
+msgid "**A:** All is not lost. You can figure out it, so long as it hasn't been too long, or too many commits (hundreds).\n"
msgstr ""
"**О:** Не всё потеряно. Вы можете разобраться с этим, если прошло не слишком "
"много времени или не было сделано слишком много коммитов (сотни).\n"
@@ -4887,7 +4819,8 @@ msgid ""
"%\n"
msgstr ""
"% git reflog\n"
-"6ff9c25 (HEAD -> wilma) HEAD@{0}: rebase -i (finish): returning to refs/heads/wilma\n"
+"6ff9c25 (HEAD -> wilma) HEAD@{0}: rebase -i (finish): returning to refs/"
+"heads/wilma\n"
"6ff9c25 (HEAD -> wilma) HEAD@{1}: rebase -i (start): checkout main\n"
"869cbd3 HEAD@{2}: rebase -i (start): checkout wilma\n"
"a6a5094 (fred) HEAD@{3}: rebase -i (finish): returning to refs/heads/fred\n"
@@ -4933,7 +4866,7 @@ msgstr ""
"перебазирования `fred`, и вы видите 'начало', каждый шаг и 'завершение' "
"этого процесса. Хотя нам это здесь не нужно, вы можете точно понять, что "
"произошло. К счастью, чтобы исправить это, вы можете выполнить шаги из "
-"предыдущего ответа, но с хэшом `869cbd3` вместо `pre-split`. Хотя это "
+"предыдущего ответа, но с хэшем `869cbd3` вместо `pre-split`. Хотя это "
"кажется немного многословным, это легко запомнить, поскольку вы делаете одно "
"действие за раз. Вы также можете последовательно применить команды одну за "
"другой:"
@@ -5015,18 +4948,15 @@ msgstr ""
#: documentation/content/en/articles/committers-guide/_index.adoc:1755
#, no-wrap
msgid "Ooops! I did a `git pull` and it created a merge commit, what do I do?"
-msgstr "Ой! Я выполнил `git pull`, и это создало коммит слияния, что мне делать?"
+msgstr ""
+"Ой! Я выполнил `git pull`, и это создало коммит слияния, что мне делать?"
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1759
-#, fuzzy
-#| msgid ""
-#| "**Q:** I was on autopilot and did a `git pull` for my development tree "
-#| "and that created a merge commit on `main`.\n"
-#| "How do I recover?\n"
+#, no-wrap
msgid ""
-"**Q:** I was on autopilot and did a `git pull` for my development tree and "
-"that created a merge commit on `main`. How do I recover?"
+"**Q:** I was on autopilot and did a `git pull` for my development tree and that created a merge commit on `main`.\n"
+"How do I recover?\n"
msgstr ""
"**В:** Я действовал на автопилоте и сделал `git pull` для своего дерева "
"разработки, что создало коммит слияния в `main`.\n"
@@ -5034,13 +4964,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1761
-#, fuzzy
-#| msgid ""
-#| "**A:** This can happen when you invoke the pull with your development "
-#| "branch checked out.\n"
-msgid ""
-"**A:** This can happen when you invoke the pull with your development branch "
-"checked out."
+#, no-wrap
+msgid "**A:** This can happen when you invoke the pull with your development branch checked out.\n"
msgstr ""
"**О:** Это может произойти, когда вы выполняете извлечение (checkout) с "
"выбранной веткой разработки.\n"
@@ -5099,26 +5024,20 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1784
-#, fuzzy
-#| msgid "**Q:** But I also need to fix my `main` branch. How do I do that?\n"
-msgid "**Q:** But I also need to fix my `main` branch. How do I do that?"
+#, no-wrap
+msgid "**Q:** But I also need to fix my `main` branch. How do I do that?\n"
msgstr ""
"**В:** Но мне также нужно исправить мою ветку `main`. Как мне это сделать?\n"
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1787
-#, fuzzy
-#| msgid ""
-#| "**A:** Git keeps track of the remote repository branches in a `freebsd/` "
-#| "namespace.\n"
-#| "To fix your `main` branch, just make it point to the remote's `main`:\n"
-msgid ""
-"**A:** Git keeps track of the remote repository branches in a `freebsd/` "
-"namespace. To fix your `main` branch, just make it point to the remote's "
-"`main`:"
-msgstr ""
-"**О:** Git отслеживает ветки удалённого репозитория в пространстве имён "
-"`freebsd/`.\n"
+#, no-wrap
+msgid ""
+"**A:** Git keeps track of the remote repository branches in a `freebsd/` namespace.\n"
+"To fix your `main` branch, just make it point to the remote's `main`:\n"
+msgstr ""
+"**О:** Git отслеживает ветки удалённого репозитория в пространстве имён `"
+"freebsd/`.\n"
"Чтобы исправить вашу ветку `main`, просто заставьте её указывать на "
"удалённую ветку `main`:\n"
@@ -5149,14 +5068,10 @@ msgstr "Смешивание и сопоставление веток"
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1801
-#, fuzzy
-#| msgid ""
-#| "**Q:** So I have two branches `worker` and `async` that I'd like to "
-#| "combine into one branch called `feature`\n"
-#| "while maintaining the commits in both.\n"
+#, no-wrap
msgid ""
-"**Q:** So I have two branches `worker` and `async` that I'd like to combine "
-"into one branch called `feature` while maintaining the commits in both."
+"**Q:** So I have two branches `worker` and `async` that I'd like to combine into one branch called `feature`\n"
+"while maintaining the commits in both.\n"
msgstr ""
"**В:** Итак, у меня есть две ветки `worker` и `async`, которые я хочу "
"объединить в одну ветку под названием `feature`\n"
@@ -5164,9 +5079,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1803
-#, fuzzy
-#| msgid "**A:** This is a job for cherry pick.\n"
-msgid "**A:** This is a job for cherry pick."
+#, no-wrap
+msgid "**A:** This is a job for cherry pick.\n"
msgstr "**О:** Это задача для выборочного применения (cherry-pick).\n"
#. type: delimited block . 4
@@ -5193,15 +5107,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1816
-#, fuzzy
-#| msgid ""
-#| "**Q:** I have a branch called `driver` and I'd like to break it up into "
-#| "`kernel` and `userland` so I can evolve them separately and commit each "
-#| "branch as it becomes ready.\n"
-msgid ""
-"**Q:** I have a branch called `driver` and I'd like to break it up into "
-"`kernel` and `userland` so I can evolve them separately and commit each "
-"branch as it becomes ready."
+#, no-wrap
+msgid "**Q:** I have a branch called `driver` and I'd like to break it up into `kernel` and `userland` so I can evolve them separately and commit each branch as it becomes ready.\n"
msgstr ""
"**В:** У меня есть ветка под названием `driver`, и я хочу разделить её на "
"`kernel` и `userland`, чтобы развивать их отдельно и коммитить каждую ветку "
@@ -5209,14 +5116,10 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1819
-#, fuzzy
-#| msgid ""
-#| "**A:** This takes a little bit of prep work, but `git rebase` will do the "
-#| "heavy\n"
-#| "lifting here.\n"
+#, no-wrap
msgid ""
-"**A:** This takes a little bit of prep work, but `git rebase` will do the "
-"heavy lifting here."
+"**A:** This takes a little bit of prep work, but `git rebase` will do the heavy\n"
+"lifting here.\n"
msgstr ""
"**О:** Это требует небольшой подготовительной работы, но `git rebase`\n"
"выполнит здесь основную часть работы.\n"
@@ -5276,14 +5179,10 @@ msgstr "и сделайте то же самое, что вы сделали с
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1847
-#, fuzzy
-#| msgid ""
-#| "**Q:** Oh great! I followed the above and forgot a commit in the `kernel` "
-#| "branch.\n"
-#| "How do I recover?\n"
+#, no-wrap
msgid ""
-"**Q:** Oh great! I followed the above and forgot a commit in the `kernel` "
-"branch. How do I recover?"
+"**Q:** Oh great! I followed the above and forgot a commit in the `kernel` branch.\n"
+"How do I recover?\n"
msgstr ""
"**В:** Отлично! Я выполнил указанные выше шаги и забыл сделать коммит в "
"ветке `kernel`.\n"
@@ -5291,14 +5190,10 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1850
-#, fuzzy
-#| msgid ""
-#| "**A:** You can use the `driver` branch to find the hash of the commit is "
-#| "missing and\n"
-#| "cherry pick it.\n"
+#, no-wrap
msgid ""
-"**A:** You can use the `driver` branch to find the hash of the commit is "
-"missing and cherry pick it."
+"**A:** You can use the `driver` branch to find the hash of the commit is missing and\n"
+"cherry pick it.\n"
msgstr ""
"**О:** Вы можете использовать ветку `driver`, чтобы найти хэш коммита, "
"который отсутствует, и\n"
@@ -5318,19 +5213,12 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1862
-#, fuzzy
-#| msgid ""
-#| "**Q:** OK. I have the same situation as the above, but my commits are all "
-#| "mixed up.\n"
-#| "I need parts of one commit to go to one branch and the rest to go to the "
-#| "other.\n"
-#| "In fact, I have several.\n"
-#| "Your rebase method to select sounds tricky.\n"
-msgid ""
-"**Q:** OK. I have the same situation as the above, but my commits are all "
-"mixed up. I need parts of one commit to go to one branch and the rest to go "
-"to the other. In fact, I have several. Your rebase method to select sounds "
-"tricky."
+#, no-wrap
+msgid ""
+"**Q:** OK. I have the same situation as the above, but my commits are all mixed up.\n"
+"I need parts of one commit to go to one branch and the rest to go to the other.\n"
+"In fact, I have several.\n"
+"Your rebase method to select sounds tricky.\n"
msgstr ""
"**В:** Хорошо. У меня такая же ситуация, как и выше, но мои коммиты все "
"перемешаны.\n"
@@ -5341,15 +5229,10 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1865
-#, fuzzy
-#| msgid ""
-#| "**A:** In this situation, you'd be better off to curate the original "
-#| "branch to separate\n"
-#| "out the commits, and then use the above method to split the branch.\n"
-msgid ""
-"**A:** In this situation, you'd be better off to curate the original branch "
-"to separate out the commits, and then use the above method to split the "
-"branch."
+#, no-wrap
+msgid ""
+"**A:** In this situation, you'd be better off to curate the original branch to separate\n"
+"out the commits, and then use the above method to split the branch.\n"
msgstr ""
"**О:** В этой ситуации вам лучше обработать исходную ветку, чтобы отделить\n"
"коммиты, а затем использовать вышеуказанный метод для разделения ветки.\n"
@@ -5396,8 +5279,8 @@ msgstr ""
"укладываются по границам файлов. В этом случае вы можете просто выполнить "
"обычный `git add` для файлов в каждой группе, а затем сделать `git commit`. "
"Примечание: при этом вы потеряете сообщение коммита при выполнении сброса, "
-"поэтому если оно вам по какой-то причине нужно, следует сохранить копию "
-"(хотя `git log $HASH` может его восстановить)."
+"поэтому если оно вам по какой-то причине нужно, следует сохранить копию ("
+"хотя `git log $HASH` может его восстановить)."
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1884
@@ -5438,25 +5321,17 @@ msgstr "Присоединение к организации FreeBSD на GitHub
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1898
-#, fuzzy
-#| msgid "**Q:** How do I join the FreeBSD GitHub organization?\n"
-msgid "**Q:** How do I join the FreeBSD GitHub organization?"
+#, no-wrap
+msgid "**Q:** How do I join the FreeBSD GitHub organization?\n"
msgstr "**В:** Как присоединиться к организации FreeBSD на GitHub?\n"
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1902
-#, fuzzy
-#| msgid ""
-#| "**A:** Please see https://wiki.freebsd.org/"
-#| "GitHub#Joining_the_Organisation[our GitHub Wiki Info] page for details.\n"
-#| "Briefly, all FreeBSD committers may join.\n"
-#| "Those who are not committers who request joining will be considered on a "
-#| "case by case basis.\n"
-msgid ""
-"**A:** Please see https://wiki.freebsd.org/"
-"GitHub#Joining_the_Organisation[our GitHub Wiki Info] page for details. "
-"Briefly, all FreeBSD committers may join. Those who are not committers who "
-"request joining will be considered on a case by case basis."
+#, no-wrap
+msgid ""
+"**A:** Please see https://wiki.freebsd.org/GitHub#Joining_the_Organisation[our GitHub Wiki Info] page for details.\n"
+"Briefly, all FreeBSD committers may join.\n"
+"Those who are not committers who request joining will be considered on a case by case basis.\n"
msgstr ""
"**О:** Подробности смотрите на странице https://wiki.freebsd.org/"
"GitHub#Joining_the_Organisation[нашей вики GitHub].\n"
@@ -5472,19 +5347,16 @@ msgstr "Клонирование и зеркалирование"
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1906
-#, fuzzy
-#| msgid ""
-#| "**Q:** I'd like to mirror the entire Git repository, how do I do that?\n"
-msgid "**Q:** I'd like to mirror the entire Git repository, how do I do that?"
+#, no-wrap
+msgid "**Q:** I'd like to mirror the entire Git repository, how do I do that?\n"
msgstr ""
"**В:** Я хочу создать полную зеркальную копию репозитория Git, как мне это "
"сделать?\n"
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1908
-#, fuzzy
-#| msgid "**A:** If all you want to do is mirror, then\n"
-msgid "**A:** If all you want to do is mirror, then"
+#, no-wrap
+msgid "**A:** If all you want to do is mirror, then\n"
msgstr "**О:** Если вам нужно только зеркалирование, то\n"
#. type: delimited block . 4
@@ -5555,22 +5427,16 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1936
-#, fuzzy
-#| msgid "**Q:** So what can I do instead?\n"
-msgid "**Q:** So what can I do instead?"
+#, no-wrap
+msgid "**Q:** So what can I do instead?\n"
msgstr "**В:** Так что же я могу сделать вместо этого?\n"
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1939
-#, fuzzy
-#| msgid ""
-#| "**A:** Well, you can stuff all of the upstream repository's refs into a "
-#| "private namespace in your local repository.\n"
-#| "Git clones everything via a 'refspec' and the default refspec is:\n"
+#, no-wrap
msgid ""
-"**A:** Well, you can stuff all of the upstream repository's refs into a "
-"private namespace in your local repository. Git clones everything via a "
-"'refspec' and the default refspec is:"
+"**A:** Well, you can stuff all of the upstream repository's refs into a private namespace in your local repository.\n"
+"Git clones everything via a 'refspec' and the default refspec is:\n"
msgstr ""
"**О:** Ну, вы можете поместить все ссылки (refs) вышестоящего репозитория в "
"приватное пространство имён вашего локального репозитория.\n"
@@ -5682,8 +5548,8 @@ msgid ""
"above]."
msgstr ""
"Прежде чем начать, убедитесь, что ваш локальный репозиторий Git актуален и "
-"имеет правильно настроенные источники, как показано в разделе "
-"crossref:committers-guide[keeping_current,выше]."
+"имеет правильно настроенные источники, как показано в разделе crossref"
+":committers-guide[keeping_current,выше]."
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:1984
@@ -5738,8 +5604,8 @@ msgid ""
"With this in place you can create a branch crossref:committers-"
"guide[keeping_a_local_branch,as shown above]."
msgstr ""
-"В этом репозитории вы можете создать ветку crossref:committers-"
-"guide[keeping_a_local_branch,как показано выше]."
+"В этом репозитории вы можете создать ветку crossref:committers-guide["
+"keeping_a_local_branch,как показано выше]."
#. type: delimited block . 4
#: documentation/content/en/articles/committers-guide/_index.adoc:2004
@@ -5753,8 +5619,8 @@ msgid ""
"Make whatever modifications you wish in your branch. Build, test, and once "
"you're ready to collaborate with others it's time to push your changes into "
"your hosted branch. Before you can push you'll have to set the appropriate "
-"upstream, as Git will tell you the first time you try to push to your "
-"+github+ remote:"
+"upstream, as Git will tell you the first time you try to push to your +github"
+"+ remote:"
msgstr ""
"Вносите любые изменения в своей ветке. Собирайте, тестируйте, и как только "
"будете готовы к совместной работе с другими, настанет время отправить свои "
@@ -5814,14 +5680,16 @@ msgstr ""
"Compressing objects: 100% (12202/12202), done.\n"
"Writing objects: 100% (20180/20180), 56.25 MiB | 13.15 MiB/s, done.\n"
"Total 20180 (delta 11316), reused 12972 (delta 7770), pack-reused 0\n"
-"remote: Resolving deltas: 100% (11316/11316), completed with 247 local objects.\n"
+"remote: Resolving deltas: 100% (11316/11316), completed with 247 local "
+"objects.\n"
"remote:\n"
"remote: Create a pull request for 'gnn-feature' on GitHub by visiting:\n"
"remote: https://github.com/gvnn3/freebsd-src/pull/new/gnn-feature\n"
"remote:\n"
"To github.com:gvnn3/freebsd-src.git\n"
" * [new branch] gnn-feature -> gnn-feature\n"
-"Branch 'gnn-feature' set up to track remote branch 'gnn-feature' from 'github'.\n"
+"Branch 'gnn-feature' set up to track remote branch 'gnn-feature' from "
+"'github'.\n"
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:2040
@@ -5960,8 +5828,8 @@ msgstr ""
"создают ветку; выборочно применяют изменения из запроса на принятие "
"изменений; тестируют их; корректируют сообщения коммитов; и выполняют "
"слияние перемоткой (fast-forward) обратно в `main`. Номер PR ниже обозначен "
-"как `$PR`. При корректировке сообщения добавьте `Pull Request: https://"
-"github.com/freebsd-src/pull/$PR`. Все запросы на принятие изменений, "
+"как `$PR`. При корректировке сообщения добавьте `Pull Request: https://github"
+".com/freebsd-src/pull/$PR`. Все запросы на принятие изменений, "
"зафиксированные в репозитории FreeBSD, должны быть проверены как минимум "
"одним человеком. Это не обязательно должен быть тот, кто их фиксирует, но в "
"этом случае тот, кто фиксирует, должен доверять компетентности других "
@@ -6015,7 +5883,8 @@ msgid ""
"% git push freebsd --push-option=confirm-author\n"
msgstr ""
"% git fetch github pull/$PR/head:staging\n"
-"% git rebase -i main staging\t# to move the staging branch forward, adjust commit message here\n"
+"% git rebase -i main staging\t# to move the staging branch forward, adjust "
+"commit message here\n"
"<do testing here, as needed>\n"
"% git checkout main\n"
"% git pull --ff-only\t\t# to get the latest if time has passed\n"
@@ -6204,9 +6073,8 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:2174
-#, fuzzy
-#| msgid "*Steps for New Committers*\n"
-msgid "*Steps for New Committers*"
+#, no-wrap
+msgid "*Steps for New Committers*\n"
msgstr "*Шаги для новых коммиттеров*\n"
#. type: delimited block = 4
@@ -6280,10 +6148,10 @@ msgid ""
"addkey.sh#) to make this easier. See the https://cgit.freebsd.org/doc/plain/"
"documentation/static/pgpkeys/README[README] file for more information."
msgstr ""
-"`{des}` написал сценарий оболочки ([.filename]#doc/documentation/tools/"
-"addkey.sh#) для упрощения этого процесса. Для получения дополнительной "
-"информации обратитесь к файлу https://cgit.freebsd.org/doc/plain/"
-"documentation/static/pgpkeys/README[README]."
+"`{des}` написал сценарий оболочки ([.filename]#doc/documentation/tools/addkey"
+".sh#) для упрощения этого процесса. Для получения дополнительной информации "
+"обратитесь к файлу https://cgit.freebsd.org/doc/plain/documentation/static/"
+"pgpkeys/README[README]."
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:2191
@@ -6310,16 +6178,15 @@ msgid ""
"It is very important to have a current PGP/GnuPG key in the repository. The "
"key may be required for positive identification of a committer. For example, "
"the `{admins}` might need it for account recovery. A complete keyring of "
-"`FreeBSD.org` users is available for download from link:https://"
-"docs.FreeBSD.org/pgpkeys/pgpkeys.txt[https://docs.FreeBSD.org/pgpkeys/"
-"pgpkeys.txt]."
+"`FreeBSD.org` users is available for download from link:https://docs.FreeBSD."
+"org/pgpkeys/pgpkeys.txt[https://docs.FreeBSD.org/pgpkeys/pgpkeys.txt]."
msgstr ""
"Очень важно иметь актуальный PGP/GnuPG ключ в репозитории. Ключ может "
"потребоваться для подтверждения личности коммиттера. Например, `{admins}` "
"используют его для восстановления учетной записи. Полный набор ключей "
-"пользователей `FreeBSD.org` доступен для скачивания по ссылке link:https://"
-"docs.FreeBSD.org/pgpkeys/pgpkeys.txt[https://docs.FreeBSD.org/pgpkeys/"
-"pgpkeys.txt]."
+"пользователей `FreeBSD.org` доступен для скачивания по ссылке "
+"link:https://docs.FreeBSD.org/pgpkeys/pgpkeys.txt[https://docs.FreeBSD.org/"
+"pgpkeys/pgpkeys.txt]."
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:2199
@@ -6361,9 +6228,9 @@ msgid ""
msgstr ""
"См. crossref:committers-guide[kerberos-ldap, Kerberos и LDAP веб-пароль для "
"кластера FreeBSD] для генерации или настройки учётной записи Kerberos для "
-"использования с другими сервисами FreeBSD, такими как link:https://"
-"bugs.freebsd.org/bugzilla/[база данных отслеживания ошибок] (вы получаете "
-"учётную запись для отслеживания ошибок как часть этого шага)."
+"использования с другими сервисами FreeBSD, такими как link:https://bugs."
+"freebsd.org/bugzilla/[база данных отслеживания ошибок] (вы получаете учётную "
+"запись для отслеживания ошибок как часть этого шага)."
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:2207
@@ -6381,10 +6248,10 @@ msgid ""
msgstr ""
"Учётная запись link:https://wiki.freebsd.org[FreeBSD Wiki] — учётная запись "
"на вики позволяет делиться проектами и идеями. Те, у кого ещё нет учётной "
-"записи, могут следовать инструкциям на странице link:https://"
-"wiki.freebsd.org/Wiki/About[Wiki/About], чтобы её получить. Свяжитесь с "
-"mailto:wiki-admin@FreeBSD.org[wiki-admin@FreeBSD.org], если вам нужна помощь "
-"с вашей учётной записью на Вики."
+"записи, могут следовать инструкциям на странице link:https://wiki.freebsd."
+"org/Wiki/About[Wiki/About], чтобы её получить. Свяжитесь с mailto:wiki-"
+"admin@FreeBSD.org[wiki-admin@FreeBSD.org], если вам нужна помощь с вашей "
+"учётной записью на Вики."
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:2212
@@ -6395,15 +6262,15 @@ msgstr "Необязательно: Обновить информацию в В
#: documentation/content/en/articles/committers-guide/_index.adoc:2214
msgid ""
"Wiki Information - After gaining access to the wiki, some people add entries "
-"to the https://wiki.freebsd.org/HowWeGotHere[How We Got Here], https://"
-"wiki.freebsd.org/IRC/Nicknames[IRC Nicks], https://wiki.freebsd.org/"
-"Community/Dogs[Dogs of FreeBSD], and or https://wiki.freebsd.org/Community/"
-"Cats[Cats of FreeBSD] pages."
+"to the https://wiki.freebsd.org/HowWeGotHere[How We Got Here], https://wiki."
+"freebsd.org/IRC/Nicknames[IRC Nicks], https://wiki.freebsd.org/Community/"
+"Dogs[Dogs of FreeBSD], and or https://wiki.freebsd.org/Community/Cats[Cats "
+"of FreeBSD] pages."
msgstr ""
"Информация в вики — получив доступ к вики, некоторые добавляют записи на "
-"страницы https://wiki.freebsd.org/HowWeGotHere[Как мы сюда попали], https://"
-"wiki.freebsd.org/IRC/Nicknames[IRC-псевдонимы], https://wiki.freebsd.org/"
-"Community/Dogs[Собаки FreeBSD] и/или https://wiki.freebsd.org/Community/"
+"страницы https://wiki.freebsd.org/HowWeGotHere[Как мы сюда попали], "
+"https://wiki.freebsd.org/IRC/Nicknames[IRC-псевдонимы], https://wiki.freebsd."
+"org/Community/Dogs[Собаки FreeBSD] и/или https://wiki.freebsd.org/Community/"
"Cats[Кошки FreeBSD]."
#. type: Plain text
@@ -6414,15 +6281,15 @@ msgstr "Необязательно: Обновить порты с личной
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:2217
msgid ""
-"[.filename]#ports/astro/xearth/files/freebsd.committers.markers# and "
-"[.filename]#src/usr.bin/calendar/calendars/calendar.freebsd# - Some people "
-"add entries for themselves to these files to show where they are located or "
-"the date of their birthday."
+"[.filename]#ports/astro/xearth/files/freebsd.committers.markers# and [."
+"filename]#src/usr.bin/calendar/calendars/calendar.freebsd# - Some people add "
+"entries for themselves to these files to show where they are located or the "
+"date of their birthday."
msgstr ""
-"[.filename]#ports/astro/xearth/files/freebsd.committers.markers# и "
-"[.filename]#src/usr.bin/calendar/calendars/calendar.freebsd# — Некоторые "
-"люди добавляют в эти файлы записи о себе, чтобы указать своё местоположение "
-"или дату своего дня рождения."
+"[.filename]#ports/astro/xearth/files/freebsd.committers.markers# и [."
+"filename]#src/usr.bin/calendar/calendars/calendar.freebsd# — Некоторые люди "
+"добавляют в эти файлы записи о себе, чтобы указать своё местоположение или "
+"дату своего дня рождения."
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:2218
@@ -6487,8 +6354,8 @@ msgstr ""
#. type: delimited block = 6
#: documentation/content/en/articles/committers-guide/_index.adoc:2234
msgid ""
-"If your e-mail system uses SPF with strict rules, you should exclude "
-"`mx2.FreeBSD.org` from SPF checks."
+"If your e-mail system uses SPF with strict rules, you should exclude `mx2."
+"FreeBSD.org` from SPF checks."
msgstr ""
"Если ваша система электронной почты использует SPF со строгими правилами, "
"вам следует исключить `mx2.FreeBSD.org` из проверок SPF."
@@ -6501,18 +6368,18 @@ msgid ""
"checks and will drop some messages based on these checks. At the moment "
"proper DNS information for the connecting host is the only check in place "
"but that may change. Some people blame these checks for bouncing valid "
-"email. To have these checks turned off for your email, create a file named "
-"[.filename]#~/.spam_lover# on `freefall.FreeBSD.org`."
+"email. To have these checks turned off for your email, create a file named [."
+"filename]#~/.spam_lover# on `freefall.FreeBSD.org`."
msgstr ""
-"Из-за высокой нагрузки, которую обработка СПАМа создает на центральных "
+"Из-за высокой нагрузки, которую обработка спама создает на центральных "
"почтовых серверах, обрабатывающих почтовые рассылки, фронтенд-сервер "
"выполняет базовые проверки и может отбрасывать некоторые сообщения на их "
"основе. В настоящее время единственной активной проверкой является наличие "
"корректной DNS-информации для подключающегося хоста, но это может "
"измениться. Некоторые пользователи связывают эти проверки с ложным "
"отбрасыванием легитимной почты. Для отключения данных проверок для вашей "
-"почты создайте файл с именем [.filename]#~/.spam_lover# на "
-"`freefall.FreeBSD.org`."
+"почты создайте файл с именем [.filename]#~/.spam_lover# на `freefall.FreeBSD."
+"org`."
#. type: delimited block = 6
#: documentation/content/en/articles/committers-guide/_index.adoc:2241
@@ -6598,8 +6465,8 @@ msgid ""
"A header will be appended with the SASL username: (`Authenticated sender: "
"_username_`)."
msgstr ""
-"Будет добавлен заголовок сообщения с именем пользователя SASL: "
-"(`Authenticated sender: _имя_пользователя_`)."
+"Будет добавлен заголовок сообщения с именем пользователя SASL: (`"
+"Authenticated sender: _имя_пользователя_`)."
#. type: delimited block = 6
#: documentation/content/en/articles/committers-guide/_index.adoc:2268
@@ -6613,7 +6480,9 @@ msgstr ""
#: documentation/content/en/articles/committers-guide/_index.adoc:2272
#, no-wrap
msgid "Using a Local MTA to Forward Emails to the FreeBSD.org SMTP Service"
-msgstr "Использование локального MTA для пересылки электронной почты в SMTP-сервис FreeBSD.org"
+msgstr ""
+"Использование локального MTA для пересылки электронной почты в SMTP-сервис "
+"FreeBSD.org"
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:2275
@@ -6633,9 +6502,9 @@ msgstr "Использование Postfix"
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:2282
msgid ""
-"To tell a local Postfix instance that anything from "
-"`_yourusername_@FreeBSD.org` should be forwarded to the FreeBSD.org servers, "
-"add this to your [.filename]#main.cf#:"
+"To tell a local Postfix instance that anything from `_yourusername_@FreeBSD."
+"org` should be forwarded to the FreeBSD.org servers, add this to your [."
+"filename]#main.cf#:"
msgstr ""
"Чтобы сообщить локальному экземпляру Postfix, что любое письмо от "
"`_вашеимяпользователя_@FreeBSD.org` должно быть перенаправлено на серверы "
@@ -6651,7 +6520,8 @@ msgid ""
"smtp_sasl_password_maps = hash:/usr/local/etc/postfix/sasl_passwd\n"
"smtp_use_tls = yes\n"
msgstr ""
-"sender_dependent_relayhost_maps = hash:/usr/local/etc/postfix/relayhost_maps\n"
+"sender_dependent_relayhost_maps = hash:/usr/local/etc/postfix/"
+"relayhost_maps\n"
"smtp_sasl_auth_enable = yes\n"
"smtp_sasl_security_options = noanonymous\n"
"smtp_sasl_password_maps = hash:/usr/local/etc/postfix/sasl_passwd\n"
@@ -6691,8 +6561,8 @@ msgstr "[smtp.freebsd.org]:587 вашеимяпользователя:
#: documentation/content/en/articles/committers-guide/_index.adoc:2307
msgid ""
"If the email server is used by other people, you may want to prevent them "
-"from sending e-mails from your address. To achieve this, add this to your "
-"[.filename]#main.cf#:"
+"from sending e-mails from your address. To achieve this, add this to your [."
+"filename]#main.cf#:"
msgstr ""
"Если почтовый сервер используется другими людьми, вы можете захотеть "
"предотвратить отправку ими писем с вашего адреса. Для достижения этой цели "
@@ -6756,8 +6626,10 @@ msgid ""
"action \"freebsd\" relay host smtp+tls://freebsd@smtp.freebsd.org:587 auth <secrets>\n"
"match from any auth yourlocalusername mail-from \"_yourusername_@freebsd.org\" for any action \"freebsd\"\n"
msgstr ""
-"action \"freebsd\" relay host smtp+tls://freebsd@smtp.freebsd.org:587 auth <secrets>\n"
-"match from any auth вашеимялокальногопользователя mail-from \"_вашеимяпользователя_@freebsd.org\" for any action \"freebsd\"\n"
+"action \"freebsd\" relay host smtp+tls://freebsd@smtp.freebsd.org:587 auth "
+"<secrets>\n"
+"match from any auth вашеимялокальногопользователя mail-from "
+"\"_вашеимяпользователя_@freebsd.org\" for any action \"freebsd\"\n"
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:2338
@@ -6796,7 +6668,8 @@ msgid ""
" to FreeBSD.org servers, add this to Exim [.filename]#configuration#:\n"
msgstr ""
"Чтобы направить локальный экземпляр Exim для пересылки всей почты от\n"
-"`_example_@FreeBSD.org` на серверы FreeBSD.org, добавьте это в [.filename]#конфигурацию# Exim:\n"
+"`_example_@FreeBSD.org` на серверы FreeBSD.org, добавьте это в [."
+"filename]#конфигурацию# Exim:\n"
#. type: delimited block . 4
#: documentation/content/en/articles/committers-guide/_index.adoc:2363
@@ -6912,15 +6785,15 @@ msgstr ""
#: documentation/content/en/articles/committers-guide/_index.adoc:2407
msgid ""
"When the mentor decides that a mentee has learned the ropes and is ready to "
-"commit on their own, the mentor announces it with a commit to "
-"[.filename]#mentors#. This file is in the [.filename]#admin# orphan branch "
-"of each repository. Detailed information on how to access these branches "
-"can be found in crossref:committers-guide[admin-branch, \"admin\" branch]."
+"commit on their own, the mentor announces it with a commit to [."
+"filename]#mentors#. This file is in the [.filename]#admin# orphan branch of "
+"each repository. Detailed information on how to access these branches can "
+"be found in crossref:committers-guide[admin-branch, \"admin\" branch]."
msgstr ""
"Когда наставник решает, что подопечный освоил основы и готов к "
"самостоятельной фиксации изменений, наставник объявляет об этом, выполняя "
-"коммит в [.filename]#mentors#. Этот файл находится в сиротской ветке "
-"[.filename]#admin# каждого репозитория. Подробная информация о том, как "
+"коммит в [.filename]#mentors#. Этот файл находится в сиротской ветке [."
+"filename]#admin# каждого репозитория. Подробная информация о том, как "
"получить доступ к этим веткам, доступна в crossref:committers-guide[admin-"
"branch, ветке \"admin\"]."
@@ -6940,8 +6813,8 @@ msgid ""
"review:"
msgstr ""
"Рецензирование кода — один из способов повышения качества программного "
-"обеспечения. Следующие рекомендации применимы к коммитам в ветку `main` (-"
-"CURRENT) репозитория `src`. Другие ветки, а также деревья `ports` и `docs` "
+"обеспечения. Следующие рекомендации применимы к коммитам в ветку `main` "
+"(-CURRENT) репозитория `src`. Другие ветки, а также деревья `ports` и `docs` "
"имеют собственные политики проверки и рецензирования, но данные рекомендации "
"в целом применимы к коммитам, требующим рецензии:"
@@ -6986,7 +6859,7 @@ msgstr ""
"до тех пор, пока патч не будет готов к коммиту. В частности, после отправки "
"патча на рецензирование, он должен получить явное подтверждение \"выглядит "
"хорошо\" перед коммитом. Оно должно быть явным, и это может принимать любую "
-"форму, которая имеет смысл для метода резензирования."
+"форму, которая имеет смысл для метода рецензирования."
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:2420
@@ -7270,7 +7143,8 @@ msgstr ""
#: documentation/content/en/articles/committers-guide/_index.adoc:2490
#, no-wrap
msgid "Prefix the subject line with a component, if applicable"
-msgstr "Добавьте к строке темы префикс с указанием компонента, если это применимо"
+msgstr ""
+"Добавьте к строке темы префикс с указанием компонента, если это применимо"
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:2494
@@ -7449,7 +7323,8 @@ msgstr ""
#: documentation/content/en/articles/committers-guide/_index.adoc:2545
#, no-wrap
msgid "Consider whether parts of the commit message could be code comments instead"
-msgstr "Подумайте, можно ли части сообщения коммита оформить как комментарии в коде"
+msgstr ""
+"Подумайте, можно ли части сообщения коммита оформить как комментарии в коде"
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:2548
@@ -7573,7 +7448,10 @@ msgstr "`PR:`"
#: documentation/content/en/articles/committers-guide/_index.adoc:2580
#, no-wrap
msgid "The problem report (if any) which is affected (typically, by being closed) by this commit. Multiple PRs may be specified on one line, separated by commas or spaces."
-msgstr "Номер отчета о проблеме (если есть), на который влияет данный коммит (обычно путем закрытия). Можно указать несколько номеров PR в одной строке, разделяя их запятыми или пробелами."
+msgstr ""
+"Номер отчета о проблеме (если есть), на который влияет данный коммит (обычно "
+"путем закрытия). Можно указать несколько номеров PR в одной строке, разделяя "
+"их запятыми или пробелами."
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:2581
@@ -7589,7 +7467,8 @@ msgid ""
"Typically used when there is no PR, for example if the issue was reported on\n"
"a mailing list."
msgstr ""
-"Имя и адрес электронной почты лица, сообщившего о проблеме; для разработчиков — только имя пользователя в кластере FreeBSD.\n"
+"Имя и адрес электронной почты лица, сообщившего о проблеме; для "
+"разработчиков — только имя пользователя в кластере FreeBSD.\n"
"Обычно используется, когда нет PR, например, если проблема была сообщена в\n"
"почтовой рассылке."
@@ -7607,7 +7486,9 @@ msgstr ""
#: documentation/content/en/articles/committers-guide/_index.adoc:2589
#, no-wrap
msgid "This has been deprecated with git; submitted patches should have the author set by using `git commit --author` with a full name and valid email."
-msgstr "Это устарело в git; отправляемые патчи должны указывать автора с помощью `git commit --author` с указанием полного имени и действительного email."
+msgstr ""
+"Это устарело в git; отправляемые патчи должны указывать автора с помощью `"
+"git commit --author` с указанием полного имени и действительного email."
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:2590
@@ -7633,7 +7514,12 @@ msgid ""
"Reviewed by: Full Name <valid@email> (maintainer)\n"
"...."
msgstr ""
-"Имя и адрес электронной почты человека или людей, которые проверили изменение; для разработчиков достаточно указать имя пользователя в кластере FreeBSD. Если патч был отправлен в список рассылки для проверки и получил положительный отзыв, то укажите только название списка. Если рецензент не является участником проекта, укажите имя, электронную почту и, если это порт, внешнюю роль, например, сопровождающего:\n"
+"Имя и адрес электронной почты человека или людей, которые проверили "
+"изменение; для разработчиков достаточно указать имя пользователя в кластере "
+"FreeBSD. Если патч был отправлен в список рассылки для проверки и получил "
+"положительный отзыв, то укажите только название списка. Если рецензент не "
+"является участником проекта, укажите имя, электронную почту и, если это "
+"порт, внешнюю роль, например, сопровождающего:\n"
"\n"
"Проверено разработчиком:\n"
"[source,shell]\n"
@@ -7657,7 +7543,9 @@ msgstr "`Tested by:`"
#: documentation/content/en/articles/committers-guide/_index.adoc:2608
#, no-wrap
msgid "The name and e-mail address of the person or people that tested the change; for developers, just the username on the FreeBSD cluster."
-msgstr "Имя и адрес электронной почты человека или людей, которые проверили изменение; для разработчиков — просто имя пользователя в кластере FreeBSD."
+msgstr ""
+"Имя и адрес электронной почты человека или людей, которые проверили "
+"изменение; для разработчиков — просто имя пользователя в кластере FreeBSD."
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:2609
@@ -7672,8 +7560,13 @@ msgid ""
"The name and e-mail address of the person or people that contributed to the patch by providing meaningful feedback; for developers, just the username on the FreeBSD cluster.\n"
"Typically used to credit those who did not explicitly review, test, or approve the change, but nevertheless contributed to the discussion surrounding the change, which led to improvements and a better understanding of its impact on the FreeBSD project."
msgstr ""
-"Имя и адрес электронной почты человека или людей, которые внесли вклад в исправление, предоставив содержательную обратную связь; для разработчиков — просто имя пользователя в кластере FreeBSD.\n"
-"Обычно используется для упоминания тех, кто не проводил явного рецензирования, тестирования или одобрения изменения, но тем не менее участвовал в обсуждении, связанном с изменением, что привело к улучшениям и лучшему пониманию его влияния на проект FreeBSD."
+"Имя и адрес электронной почты человека или людей, которые внесли вклад в "
+"исправление, предоставив содержательную обратную связь; для разработчиков — "
+"просто имя пользователя в кластере FreeBSD.\n"
+"Обычно используется для упоминания тех, кто не проводил явного "
+"рецензирования, тестирования или одобрения изменения, но тем не менее "
+"участвовал в обсуждении, связанном с изменением, что привело к улучшениям и "
+"лучшему пониманию его влияния на проект FreeBSD."
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:2613
@@ -7709,24 +7602,29 @@ msgid ""
"Approved by: re (username)\n"
"...."
msgstr ""
-"Имя и адрес электронной почты лица или лиц, утвердивших изменение; для разработчиков — просто имя пользователя в кластере FreeBSD.\n"
+"Имя и адрес электронной почты лица или лиц, утвердивших изменение; для "
+"разработчиков — просто имя пользователя в кластере FreeBSD.\n"
"\n"
"Есть несколько случаев, когда утверждение является обычной практикой:\n"
"\n"
"* когда новый коммиттер находится под наставничеством\n"
"* коммиты в область дерева, указанную в файле LOCKS (src)\n"
"* во время цикла выпуска\n"
-"* коммиты в репозиторий, где у вас нет права на коммит (например, коммиттер src делает коммит в docs)\n"
+"* коммиты в репозиторий, где у вас нет права на коммит (например, коммиттер "
+"src делает коммит в docs)\n"
"* коммиты в порт, поддерживаемый кем-то другим\n"
"\n"
-"Во время наставничества получите одобрение наставника перед коммитом. Укажите имя пользователя наставника в этом поле и отметьте, что он является наставником:\n"
+"Во время наставничества получите одобрение наставника перед коммитом. "
+"Укажите имя пользователя наставника в этом поле и отметьте, что он является "
+"наставником:\n"
"\n"
"[source,shell]\n"
"....\n"
"Approved by: имя-пользователя-наставника (mentor)\n"
"....\n"
"\n"
-"Если коммиты были утверждены командой, укажите название команды, за которым в скобках следует имя пользователя утверждающего. Например:\n"
+"Если коммиты были утверждены командой, укажите название команды, за которым "
+"в скобках следует имя пользователя утверждающего. Например:\n"
"\n"
"[source,shell]\n"
"....\n"
@@ -7743,7 +7641,9 @@ msgstr "`Obtained from:`"
#: documentation/content/en/articles/committers-guide/_index.adoc:2642
#, no-wrap
msgid "The name of the project (if any) from which the code was obtained. Do not use this line for the name of an individual person."
-msgstr "Название проекта (если есть), из которого был получен код. Не используйте эту строку для указания имени отдельного человека."
+msgstr ""
+"Название проекта (если есть), из которого был получен код. Не используйте "
+"эту строку для указания имени отдельного человека."
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:2643
@@ -7758,8 +7658,12 @@ msgid ""
"The Git short hash and the title line of a commit that is fixed by this change as returned by `git log -n 1 --pretty=format:'%h (\"%s\")' GIT-COMMIT-HASH`.\n"
"We include the commit title so that the referenced commit can be located even in the case that a future VCS migration invalidates hash references."
msgstr ""
-"Короткий хэш Git и заголовок коммита, который исправлен этим изменением, как возвращается командой `git log -n 1 --pretty=format:'%h (\"%s\")' GIT-COMMIT-HASH`.\n"
-"Мы включаем заголовок коммита, чтобы можно было найти указанный коммит даже в случае, если будущая миграция системы контроля версий сделает ссылки по хэшу недействительными."
+"Короткий хэш Git и заголовок коммита, который исправлен этим изменением, как "
+"возвращается командой `git log -n 1 --pretty=format:'%h (\"%s\")' GIT-COMMIT-"
+"HASH`.\n"
+"Мы включаем заголовок коммита, чтобы можно было найти указанный коммит даже "
+"в случае, если будущая миграция системы контроля версий сделает ссылки по "
+"хэшу недействительными."
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:2647
@@ -7771,7 +7675,10 @@ msgstr "`MFC after:`"
#: documentation/content/en/articles/committers-guide/_index.adoc:2649
#, no-wrap
msgid "To receive an e-mail reminder to MFC at a later date, specify the number of days, weeks, or months after which an MFC is planned."
-msgstr "Чтобы получить напоминание по электронной почте о запланированном MFC через определенное время, укажите количество дней, недель или месяцев, после которых планируется выполнить MFC."
+msgstr ""
+"Чтобы получить напоминание по электронной почте о запланированном MFC через "
+"определенное время, укажите количество дней, недель или месяцев, после "
+"которых планируется выполнить MFC."
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:2650
@@ -7783,7 +7690,9 @@ msgstr "`MFC to:`"
#: documentation/content/en/articles/committers-guide/_index.adoc:2652
#, no-wrap
msgid "If the commit should be merged to a subset of stable branches, specify the branch names."
-msgstr "Если коммиту должно быть сделано слияние в подмножество стабильных веток, укажите названия веток."
+msgstr ""
+"Если коммиту должно быть сделано слияние в подмножество стабильных веток, "
+"укажите названия веток."
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:2653
@@ -7795,7 +7704,9 @@ msgstr "`MFH:`"
#: documentation/content/en/articles/committers-guide/_index.adoc:2655
#, no-wrap
msgid "If the commit is to be merged into a ports quarterly branch name, specify the quarterly branch. For example `2021Q2`."
-msgstr "Если коммиту должено быть сделано слияние в квартальную ветку портов, укажите квартальную ветку. Например, `2021Q2`."
+msgstr ""
+"Если коммиту должно быть сделано слияние в квартальную ветку портов, укажите "
+"квартальную ветку. Например, `2021Q2`."
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:2656
@@ -7807,7 +7718,9 @@ msgstr "`Relnotes:`"
#: documentation/content/en/articles/committers-guide/_index.adoc:2658
#, no-wrap
msgid "If the change is a candidate for inclusion in the release notes for the next release from the branch, set to `yes`."
-msgstr "Если изменение является кандидатом для включения в примечания к выпуску следующей версии из ветки, установите значение `yes`."
+msgstr ""
+"Если изменение является кандидатом для включения в примечания к выпуску "
+"следующей версии из ветки, установите значение `yes`."
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:2659
@@ -7819,7 +7732,10 @@ msgstr "`Security:`"
#: documentation/content/en/articles/committers-guide/_index.adoc:2661
#, no-wrap
msgid "If the change is related to a security vulnerability or security exposure, include one or more references or a description of the issue. If possible, include a VuXML URL or a CVE ID."
-msgstr "Если изменение связано с уязвимостью или угрозой безопасности, укажите одну или несколько ссылок либо описание проблемы. По возможности включите URL VuXML или идентификатор CVE."
+msgstr ""
+"Если изменение связано с уязвимостью или угрозой безопасности, укажите одну "
+"или несколько ссылок либо описание проблемы. По возможности включите URL "
+"VuXML или идентификатор CVE."
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:2662
@@ -7831,7 +7747,14 @@ msgstr "`Event:`"
#: documentation/content/en/articles/committers-guide/_index.adoc:2664
#, no-wrap
msgid "The description for the event where this commit was made. If this is a recurring event, add the year or even the month to it. For example, this could be `FooBSDcon 2019`. The idea behind this line is to put recognition to conferences, gatherings, and other types of meetups and to show that these are useful to have. Please do not use the `Sponsored by:` line for this as that is meant for organizations sponsoring certain features or developers working on them."
-msgstr "Описание события, в рамках которого был выполнен этот коммит. Если это повторяющееся событие, добавьте год или даже месяц. Например, это может быть `FooBSDcon 2019`. Идея этой строки — отдать должное конференциям, встречам и другим подобным мероприятиям, а также показать, что их проведение полезно. Пожалуйста, не используйте строку `Sponsored by:` для этого, так как она предназначена для организаций, спонсирующих определённые функции, или разработчиков, работающих над ними."
+msgstr ""
+"Описание события, в рамках которого был выполнен этот коммит. Если это "
+"повторяющееся событие, добавьте год или даже месяц. Например, это может быть "
+"`FooBSDcon 2019`. Идея этой строки — отдать должное конференциям, встречам и "
+"другим подобным мероприятиям, а также показать, что их проведение полезно. "
+"Пожалуйста, не используйте строку `Sponsored by:` для этого, так как она "
+"предназначена для организаций, спонсирующих определённые функции, или "
+"разработчиков, работающих над ними."
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:2665
@@ -7843,7 +7766,16 @@ msgstr "`Sponsored by:`"
#: documentation/content/en/articles/committers-guide/_index.adoc:2667
#, no-wrap
msgid "Sponsoring organizations for this change, if any. Separate multiple organizations with commas. If only a portion of the work was sponsored, or different amounts of sponsorship were provided to different authors, please give appropriate credit in parentheses after each sponsor name. For example, `Example.com (alice, code refactoring), Wormulon (bob), Momcorp (cindy)` shows that Alice was sponsored by Example.com to do code refactoring, while Wormulon sponsored Bob's work and Momcorp sponsored Cindy's work. Other authors were either not sponsored or chose not to list sponsorship."
-msgstr "Организации, спонсировавшие это изменение (если есть). Разделяйте несколько организаций запятыми. Если только часть работы была спонсирована или разные суммы спонсорской поддержки были предоставлены разным авторам, укажите соответствующую информацию в скобках после каждого имени спонсора. Например, `Example.com (alice, code refactoring), Wormulon (bob), Momcorp (cindy)` показывает, что Alice была спонсирована Example.com для рефакторинга кода, в то время как Wormulon спонсировал работу Bob, а Momcorp спонсировал работу Cindy. Другие авторы либо не были спонсированы, либо решили не указывать спонсорство."
+msgstr ""
+"Организации, спонсировавшие это изменение (если есть). Разделяйте несколько "
+"организаций запятыми. Если только часть работы была спонсирована или разные "
+"суммы спонсорской поддержки были предоставлены разным авторам, укажите "
+"соответствующую информацию в скобках после каждого имени спонсора. Например, "
+"`Example.com (alice, code refactoring), Wormulon (bob), Momcorp (cindy)` "
+"показывает, что Alice была спонсирована Example.com для рефакторинга кода, в "
+"то время как Wormulon спонсировал работу Bob, а Momcorp спонсировал работу "
+"Cindy. Другие авторы либо не были спонсированы, либо решили не указывать "
+"спонсорство."
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:2668
@@ -7859,8 +7791,11 @@ msgid ""
"It should include the entire URL to the pull request, as these often act as code reviews for the code.\n"
"For example: `https://github.com/freebsd/freebsd-src/pull/745`"
msgstr ""
-"Это изменение было отправлено как запрос на принятие изменений (pull request) или запрос на слияние (merge request) в один из публичных Git-репозиториев FreeBSD только для чтения.\n"
-"Оно должно включать полный URL запроса на включение изменений, так как они часто выполняют роль рецензий кода.\n"
+"Это изменение было отправлено как запрос на принятие изменений (pull request)"
+" или запрос на слияние (merge request) в один из публичных Git-репозиториев "
+"FreeBSD только для чтения.\n"
+"Оно должно включать полный URL запроса на включение изменений, так как они "
+"часто выполняют роль рецензий кода.\n"
"Например: `https://github.com/freebsd/freebsd-src/pull/745`"
#. type: Table
@@ -7877,7 +7812,9 @@ msgid ""
"GitHub has a detailed description of the Co-authored-by trailer at https://docs.github.com/en/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors."
msgstr ""
"Имя и адрес электронной почты дополнительного автора коммита.\n"
-"GitHub содержит подробное описание трейлера Co-authored-by по адресу https://docs.github.com/en/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors."
+"GitHub содержит подробное описание трейлера Co-authored-by по адресу "
+"https://docs.github.com/en/pull-requests/committing-changes-to-your-project/"
+"creating-and-editing-commits/creating-a-commit-with-multiple-authors."
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:2677
@@ -7889,7 +7826,8 @@ msgstr "`Signed-off-by:`"
#: documentation/content/en/articles/committers-guide/_index.adoc:2679
#, no-wrap
msgid "ID certifies compliance with https://developercertificate.org/"
-msgstr "ID подтверждает соответствие требованиям https://developercertificate.org/"
+msgstr ""
+"ID подтверждает соответствие требованиям https://developercertificate.org/"
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:2680
@@ -7901,7 +7839,9 @@ msgstr "`Differential Revision:`"
#: documentation/content/en/articles/committers-guide/_index.adoc:2682
#, no-wrap
msgid "The full URL of the Phabricator review. This line __must be the last line__. For example: `https://reviews.freebsd.org/D1708`."
-msgstr "Полный URL обзора в Phabricator. Эта строка __должна быть последней строкой__. Например: `https://reviews.freebsd.org/D1708`."
+msgstr ""
+"Полный URL обзора в Phabricator. Эта строка __должна быть последней "
+"строкой__. Например: `https://reviews.freebsd.org/D1708`."
#. type: Block title
#: documentation/content/en/articles/committers-guide/_index.adoc:2684
@@ -8001,8 +7941,7 @@ msgstr "Журнал изменений для коммита, вносящег
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:2739
msgid "Committing some code based on work done in the OpenBSD project."
-msgstr ""
-"Коммит некоторого кода на основе работы, выполненной в проекте OpenBSD."
+msgstr "Коммит некоторого кода на основе работы, выполненной в проекте OpenBSD."
#. type: delimited block . 4
#: documentation/content/en/articles/committers-guide/_index.adoc:2745
@@ -8014,7 +7953,9 @@ msgstr "Obtained from:\tOpenBSD\n"
#: documentation/content/en/articles/committers-guide/_index.adoc:2749
#, no-wrap
msgid "Commit Log for a Change to FreeBSD-CURRENT with a Planned Commit to FreeBSD-STABLE to Follow at a Later Date."
-msgstr "Журнал коммитов для правки в FreeBSD-CURRENT с запланированным коммитом в FreeBSD-STABLE в последующее время."
+msgstr ""
+"Журнал коммитов для правки в FreeBSD-CURRENT с запланированным коммитом в "
+"FreeBSD-STABLE в последующее время."
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:2754
@@ -8102,18 +8043,17 @@ msgstr "Предпочтительная лицензия для новых фа
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:2795
msgid ""
-"The FreeBSD Project's full license policy can be found at link:https://"
-"www.FreeBSD.org/internal/software-license/[https://www.FreeBSD.org/internal/"
+"The FreeBSD Project's full license policy can be found at link:https://www."
+"FreeBSD.org/internal/software-license/[https://www.FreeBSD.org/internal/"
"software-license]. The rest of this section is intended to help you get "
"started. As a rule, when in doubt, ask. It is much easier to give advice "
"than to fix the source tree."
msgstr ""
"Полная политика лицензирования проекта FreeBSD доступна по ссылке "
-"link:https://www.FreeBSD.org/internal/software-license/[https://"
-"www.FreeBSD.org/internal/software-license]. Остальная часть этого раздела "
-"предназначена для того, чтобы помочь вам начать работу. Как правило, если "
-"сомневаетесь — спрашивайте. Дать совет гораздо проще, чем исправлять дерево "
-"исходного кода."
+"link:https://www.FreeBSD.org/internal/software-license/[https://www.FreeBSD."
+"org/internal/software-license]. Остальная часть этого раздела предназначена "
+"для того, чтобы помочь вам начать работу. Как правило, если сомневаетесь — "
+"спрашивайте. Дать совет гораздо проще, чем исправлять дерево исходного кода."
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:2797
@@ -8189,15 +8129,15 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:2834
msgid ""
-"The FreeBSD project strongly discourages the so-called \"advertising "
-"clause\" in new code. Due to the large number of contributors to the "
-"FreeBSD project, complying with this clause for many commercial vendors has "
-"become difficult. If you have code in the tree with the advertising clause, "
-"please consider removing it. In fact, please consider using the above "
-"license for your code."
+"The FreeBSD project strongly discourages the so-called \"advertising clause"
+"\" in new code. Due to the large number of contributors to the FreeBSD "
+"project, complying with this clause for many commercial vendors has become "
+"difficult. If you have code in the tree with the advertising clause, please "
+"consider removing it. In fact, please consider using the above license for "
+"your code."
msgstr ""
-"Проект FreeBSD настоятельно не рекомендует использовать так называемую "
-"«рекламную оговорку» в новом коде. Из-за большого числа участников проекта "
+"Проект FreeBSD настоятельно не рекомендует использовать так называемую «"
+"рекламную оговорку» в новом коде. Из-за большого числа участников проекта "
"FreeBSD соблюдение этой оговорки стало затруднительным для многих "
"коммерческих вендоров. Если ваш код в дереве содержит рекламную оговорку, "
"пожалуйста, рассмотрите возможность её удаления. Более того, пожалуйста, "
@@ -8394,10 +8334,10 @@ msgstr ""
"руководствоваться следует дословным текстом лицензии. Проект старается "
"следовать https://spdx.github.io/spdx-spec/v2.2.2/[Спецификации SPDX, версия "
"2.2]. Инструкцию, как помечать исходные файлы, и допустимые алгебраические "
-"выражения можно найти в https://spdx.github.io/spdx-spec/v2.2.2/SPDX-license-"
-"expressions/[Приложении D] и https://spdx.github.io/spdx-spec/v2.2.2/using-"
-"SPDX-short-identifiers-in-source-files/[Приложении E]. Проект берет "
-"идентификаторы из списка допустимых https://spdx.org/licenses/[кратких "
+"выражения можно найти в https://spdx.github.io/spdx-spec/v2.2.2/"
+"SPDX-license-expressions/[Приложении D] и https://spdx.github.io/spdx-spec/v2"
+".2.2/using-SPDX-short-identifiers-in-source-files/[Приложении E]. Проект "
+"берет идентификаторы из списка допустимых https://spdx.org/licenses/[кратких "
"лицензионных идентификаторов] SPDX. Проект использует только тег _SPDX-"
"License-Identifier_."
@@ -8433,11 +8373,11 @@ msgstr ""
"особой необходимости согласовывать действия с другими коммиттерами перед "
"внесением изменений. Это же относится и к исправлению ошибок в явно "
"заброшенных частях системы (к сожалению, такие области существуют). При "
-"изменении частей системы, которые поддерживаются (формально или "
-"неформально), рассмотрите возможность запроса рецензирования, как это делал "
-"бы разработчик до получения прав коммиттера. Для портов свяжитесь с "
-"сопровождающим, указанным в переменной `MAINTAINER` в файле "
-"[.filename]#Makefile#."
+"изменении частей системы, которые поддерживаются (формально или неформально)"
+", рассмотрите возможность запроса рецензирования, как это делал бы "
+"разработчик до получения прав коммиттера. Для портов свяжитесь с "
+"сопровождающим, указанным в переменной `MAINTAINER` в файле [."
+"filename]#Makefile#."
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:2896
@@ -8712,8 +8652,8 @@ msgid ""
"Phabricator[Phabricator wiki page] for details."
msgstr ""
"Проект FreeBSD использует https://reviews.freebsd.org[Phabricator] для "
-"запросов на рецензирование кода. Подробности можно найти на https://"
-"wiki.freebsd.org/Phabricator[странице Phabricator в вики]."
+"запросов на рецензирование кода. Подробности можно найти на https://wiki."
+"freebsd.org/Phabricator[странице Phabricator в вики]."
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:2982
@@ -8802,20 +8742,20 @@ msgid ""
"website and documentation on the FTP site is up to date with respect to the "
"Subversion tree. It is not a conflict resolution body. The vast majority "
"of documentation related discussion takes place on the {freebsd-doc}. More "
-"details regarding the doceng team can be found in its https://"
-"www.FreeBSD.org/internal/doceng/[charter]. Committers interested in "
-"contributing to the documentation should familiarize themselves with the "
-"extref:{fdp-primer}[Documentation Project Primer]."
+"details regarding the doceng team can be found in its https://www.FreeBSD."
+"org/internal/doceng/[charter]. Committers interested in contributing to the "
+"documentation should familiarize themselves with the extref:{fdp-primer}"
+"[Documentation Project Primer]."
msgstr ""
"doceng — это группа, ответственная за инфраструктуру сборки документации, "
"утверждение новых коммиттеров документации и обеспечение актуальности веб-"
"сайта FreeBSD и документации на FTP-сайте в соответствии с деревом "
"Subversion. Она не является органом по разрешению конфликтов. Подавляющее "
"большинство обсуждений, связанных с документацией, происходит в рассылке "
-"{freebsd-doc}. Подробнее о команде doceng можно узнать в её https://"
-"www.FreeBSD.org/internal/doceng/[уставе]. Коммиттеры, заинтересованные в "
-"работе над документацией, должны ознакомиться с руководством extref:{fdp-"
-"primer}[Проект документации FreeBSD: введение для новых участников]."
+"{freebsd-doc}. Подробнее о команде doceng можно узнать в её https://www."
+"FreeBSD.org/internal/doceng/[уставе]. Коммиттеры, заинтересованные в работе "
+"над документацией, должны ознакомиться с руководством extref:{fdp-primer}["
+"Проект документации FreeBSD: введение для новых участников]."
#. type: Labeled list
#: documentation/content/en/articles/committers-guide/_index.adoc:3009
@@ -8856,26 +8796,13 @@ msgstr ""
"`{so-name}` — это link:https://www.FreeBSD.org/security/[ответственный за "
"безопасность FreeBSD], который курирует работу `{security-officer}`."
-#. type: Labeled list
-#: documentation/content/en/articles/committers-guide/_index.adoc:3018
-#, no-wrap
-msgid "{committers-name}"
-msgstr ""
-
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:3022
-#, fuzzy
-#| msgid ""
-#| "{committers-name}:: {dev-src-all}, {dev-ports-all} and {dev-doc-all} are "
-#| "the mailing lists that the version control system uses to send commit "
-#| "messages to. _Never_ send email directly to these lists. Only send "
-#| "replies to this list when they are short and are directly related to a "
-#| "commit."
-msgid ""
-"{dev-src-all}, {dev-ports-all} and {dev-doc-all} are the mailing lists that "
-"the version control system uses to send commit messages to. _Never_ send "
-"email directly to these lists. Only send replies to this list when they are "
-"short and are directly related to a commit."
+msgid ""
+"{committers-name}:: {dev-src-all}, {dev-ports-all} and {dev-doc-all} are the "
+"mailing lists that the version control system uses to send commit messages "
+"to. _Never_ send email directly to these lists. Only send replies to this "
+"list when they are short and are directly related to a commit."
msgstr ""
"{committers-name}:: {dev-src-all}, {dev-ports-all} и {dev-doc-all} — это "
"списки рассылки, которые система управления версиями использует для отправки "
@@ -8883,24 +8810,12 @@ msgstr ""
"Отправляйте ответы в этот список только в том случае, если они короткие и "
"непосредственно связаны с коммитом."
-#. type: Labeled list
-#: documentation/content/en/articles/committers-guide/_index.adoc:3023
-#, fuzzy, no-wrap
-#| msgid "Developers"
-msgid "{developers-name}"
-msgstr "Разработчики"
-
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:3027
-#, fuzzy
-#| msgid ""
-#| "{developers-name}:: All committers are subscribed to -developers. This "
-#| "list was created to be a forum for the committers \"community\" issues. "
-#| "Examples are Core voting, announcements, etc."
msgid ""
-"All committers are subscribed to -developers. This list was created to be a "
-"forum for the committers \"community\" issues. Examples are Core voting, "
-"announcements, etc."
+"{developers-name}:: All committers are subscribed to -developers. This list "
+"was created to be a forum for the committers \"community\" issues. Examples "
+"are Core voting, announcements, etc."
msgstr ""
"{developers-name}:: Все коммиттеры подписаны на список рассылки -developers. "
"Этот список был создан для обсуждения вопросов, связанных с сообществом "
@@ -8998,16 +8913,16 @@ msgstr "Поддерживаются только ключи ECDSA, Ed25519 ил
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:3054
msgid ""
-"Send your public key ([.filename]#$HOME/.ssh/id_ecdsa.pub#, "
-"[.filename]#$HOME/.ssh/id_ed25519.pub#, or [.filename]#$HOME/.ssh/"
-"id_rsa.pub#) to the person setting you up as a committer so it can be put "
-"into [.filename]#yourlogin# in [.filename]#/etc/ssh-keys/# on `freefall`."
+"Send your public key ([.filename]#$HOME/.ssh/id_ecdsa.pub#, [.filename]#"
+"$HOME/.ssh/id_ed25519.pub#, or [.filename]#$HOME/.ssh/id_rsa.pub#) to the "
+"person setting you up as a committer so it can be put into [."
+"filename]#yourlogin# in [.filename]#/etc/ssh-keys/# on `freefall`."
msgstr ""
-"Отправьте ваш открытый ключ ([.filename]#$HOME/.ssh/id_ecdsa.pub#, "
-"[.filename]#$HOME/.ssh/id_ed25519.pub# или [.filename]#$HOME/.ssh/"
-"id_rsa.pub#) человеку, который настраивает вас как коммиттера, чтобы его "
-"можно было добавить в [.filename]#yourlogin# в [.filename]#/etc/ssh-keys/# "
-"на `freefall`."
+"Отправьте ваш открытый ключ ([.filename]#$HOME/.ssh/id_ecdsa.pub#, [."
+"filename]#$HOME/.ssh/id_ed25519.pub# или [.filename]#$HOME/.ssh/id_rsa.pub#) "
+"человеку, который настраивает вас как коммиттера, чтобы его можно было "
+"добавить в [.filename]#yourlogin# в [.filename]#/etc/ssh-keys/# на "
+"`freefall`."
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:3059
@@ -9026,8 +8941,8 @@ msgstr ""
#: documentation/content/en/articles/committers-guide/_index.adoc:3061
msgid "Test with a simple remote command: `ssh freefall.FreeBSD.org ls /usr`."
msgstr ""
-"Проверка с помощью простой удалённой команды: `ssh freefall.FreeBSD.org ls /"
-"usr`."
+"Проверка с помощью простой удалённой команды: `ssh freefall.FreeBSD.org ls "
+"/usr`."
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:3063
@@ -9059,8 +8974,8 @@ msgstr "Доступность Coverity(R) для коммиттеров FreeBSD
msgid ""
"All FreeBSD developers can obtain access to Coverity analysis results of all "
"FreeBSD Project software. All who are interested in obtaining access to the "
-"analysis results of the automated Coverity runs, can sign up at http://"
-"scan.coverity.com/[Coverity Scan]."
+"analysis results of the automated Coverity runs, can sign up at http://scan."
+"coverity.com/[Coverity Scan]."
msgstr ""
"Все разработчики FreeBSD могут получить доступ к результатам анализа "
"Coverity для всего программного обеспечения проекта FreeBSD. Все, кто "
@@ -9078,11 +8993,11 @@ msgid ""
"Wiki access list."
msgstr ""
"В вики FreeBSD есть мини-руководство для разработчиков, которые "
-"заинтересованы в работе с отчетами анализа Coverity(R): https://"
-"wiki.freebsd.org/CoverityPrevent[https://wiki.freebsd.org/CoverityPrevent]. "
-"Обратите внимание, что это мини-руководство доступно только разработчикам "
-"FreeBSD, поэтому если вы не можете открыть эту страницу, вам нужно будет "
-"попросить добавить вас в соответствующий список доступа к вики."
+"заинтересованы в работе с отчетами анализа Coverity(R): https://wiki.freebsd."
+"org/CoverityPrevent[https://wiki.freebsd.org/CoverityPrevent]. Обратите "
+"внимание, что это мини-руководство доступно только разработчикам FreeBSD, "
+"поэтому если вы не можете открыть эту страницу, вам нужно будет попросить "
+"добавить вас в соответствующий список доступа к вики."
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:3076
@@ -9112,8 +9027,8 @@ msgid ""
"the _Code of Conduct_ specific to committers."
msgstr ""
"Все участники проекта FreeBSD должны соблюдать _Кодекс поведения_, доступный "
-"по ссылке link:https://www.FreeBSD.org/internal/code-of-conduct/[https://"
-"www.FreeBSD.org/internal/code-of-conduct]. Как коммиттеры, вы представляете "
+"по ссылке link:https://www.FreeBSD.org/internal/code-of-conduct/[https://www."
+"FreeBSD.org/internal/code-of-conduct]. Как коммиттеры, вы представляете "
"публичное лицо проекта, и ваше поведение оказывает существенное влияние на "
"его общественное восприятие. Это руководство расширяет разделы _Кодекса "
"поведения_, относящиеся к коммиттерам."
@@ -9139,8 +9054,8 @@ msgstr "Обсудите любые значительные изменения
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:3088
msgid ""
-"Respect existing maintainers (if listed in the `MAINTAINER` field in "
-"[.filename]#Makefile# or in [.filename]#MAINTAINER# in the top-level "
+"Respect existing maintainers (if listed in the `MAINTAINER` field in [."
+"filename]#Makefile# or in [.filename]#MAINTAINER# in the top-level "
"directory)."
msgstr ""
"Уважайте существующих сопровождающих (если они указаны в поле `MAINTAINER` в "
@@ -9245,15 +9160,15 @@ msgid ""
msgstr ""
"Как уже отмечалось, нарушение некоторых из этих правил может стать "
"основанием для временного лишения прав на коммиты или, при повторных "
-"нарушениях, для их постоянного отзыва. Отдельные члены Основной Команды "
-"(Core Team) имеют право временно приостановить права на коммиты до тех пор, "
-"пока основная команда в полном составе не рассмотрит вопрос. В случае "
-"«чрезвычайной ситуации» (например, если коммиттер наносит ущерб "
-"репозиторию), временное лишение прав может также быть осуществлено "
-"хранителями репозитория. Только Основная Команда 2/3 большинства голосов "
-"имеет право приостановить права на коммиты сроком более чем на неделю или "
-"отозвать их полностью. Это правило существует не для того, чтобы сделать "
-"основную команду сборищем жестоких диктаторов, которые могут избавляться от "
+"нарушениях, для их постоянного отзыва. Отдельные члены Основной Команды ("
+"Core Team) имеют право временно приостановить права на коммиты до тех пор, "
+"пока основная команда в полном составе не рассмотрит вопрос. В случае «"
+"чрезвычайной ситуации» (например, если коммиттер наносит ущерб репозиторию), "
+"временное лишение прав может также быть осуществлено хранителями "
+"репозитория. Только Основная Команда 2/3 большинства голосов имеет право "
+"приостановить права на коммиты сроком более чем на неделю или отозвать их "
+"полностью. Это правило существует не для того, чтобы сделать основную "
+"команду сборищем жестоких диктаторов, которые могут избавляться от "
"коммиттеров так же легко, как от пустых банок из-под газировки, а чтобы дать "
"проекту своего рода предохранительный клапан. Если кто-то выходит из-под "
"контроля, важно иметь возможность немедленно принять меры, а не быть "
@@ -9396,9 +9311,8 @@ msgid ""
"Consider the points raised under crossref:committers-guide[respect,Respect "
"other committers] and apply them also to contributors."
msgstr ""
-"Учитывайте моменты, поднятые в разделе crossref:committers-"
-"guide[respect,Уважайте других коммиттеров], и применяйте их также к "
-"контрибьюторам."
+"Учитывайте моменты, поднятые в разделе crossref:committers-guide["
+"respect,Уважайте других коммиттеров], и применяйте их также к контрибьюторам."
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:3152
@@ -9593,8 +9507,8 @@ msgstr ""
"сложную ситуацию. Если человек, отправляющий гневное сообщение, хотя бы "
"проявил такт и отправил его лично, проявите такт и вы — оставьте это в "
"тайне. Если вы чувствуете, что другой разработчик относится к вам "
-"несправедливо, и это причиняет вам страдания, обратитесь к Основной команде "
-"(Core team), а не выносите это на публику. Основная команда постарается "
+"несправедливо, и это причиняет вам страдания, обратитесь к Основной команде ("
+"Core team), а не выносите это на публику. Основная команда постарается "
"выступить в роли миротворцев и вернуть ситуацию в разумное русло. Если спор "
"касается изменений в кодовой базе и участники не могут прийти к согласию, "
"основная команда может назначить третью сторону, устраивающую всех, для "
@@ -9642,9 +9556,9 @@ msgstr ""
"предполагает, что знает правильный способ что-то сделать. Если вы не делали "
"этого раньше, велика вероятность, что вы на самом деле не знаете, как у нас "
"принято делать, и вам действительно нужно сначала спросить, иначе вы "
-"рискуете полностью опозориться на публике. Нет ничего постыдного в вопросе "
-"«как, черт возьми, это сделать?» Мы уже знаем, что вы умный человек; иначе "
-"вы не были бы коммиттером."
+"рискуете полностью опозориться на публике. Нет ничего постыдного в вопросе «"
+"как, черт возьми, это сделать?» Мы уже знаем, что вы умный человек; иначе вы "
+"не были бы коммиттером."
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:3205
@@ -9670,20 +9584,20 @@ msgstr ""
"работу другой архитектуры, обязательно протестируйте его на всех "
"поддерживаемых архитектурах. Пожалуйста, убедитесь, что ваше изменение "
"работает для crossref:committers-guide[compilers,поддерживаемых инструментов "
-"сборки]. Пожалуйста, обратитесь к https://www.FreeBSD.org/internal/"
-"[Внутренней странице FreeBSD] для получения списка доступных ресурсов. По "
+"сборки]. Пожалуйста, обратитесь к https://www.FreeBSD.org/internal/["
+"Внутренней странице FreeBSD] для получения списка доступных ресурсов. По "
"мере добавления других архитектур в список поддерживаемых платформ FreeBSD "
"будут предоставлены соответствующие общие ресурсы для тестирования."
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:3208
msgid ""
-"Contributed software is anything under the [.filename]#src/contrib#, "
-"[.filename]#src/crypto#, or [.filename]#src/sys/contrib# trees."
+"Contributed software is anything under the [.filename]#src/contrib#, [."
+"filename]#src/crypto#, or [.filename]#src/sys/contrib# trees."
msgstr ""
"Предоставленное программное обеспечение — это всё, что находится в деревьях "
-"каталогов [.filename]#src/contrib#, [.filename]#src/crypto# или "
-"[.filename]#src/sys/contrib#."
+"каталогов [.filename]#src/contrib#, [.filename]#src/crypto# или [.filename]#"
+"src/sys/contrib#."
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:3213
@@ -9850,8 +9764,8 @@ msgid ""
"The FreeBSD base system also supports various versions of Clang and GCC as "
"out-of-tree compilers. For large or risky changes, committers should do a "
"test build with a supported version of GCC. Out of tree compilers are "
-"available as packages. GCC compilers are available as `${TARGET_ARCH}-gcc$"
-"{VERSION}` packages, such as package:devel/freebsd-gcc14@aarch64[aarch64-"
+"available as packages. GCC compilers are available as `${TARGET_ARCH}-gcc"
+"${VERSION}` packages, such as package:devel/freebsd-gcc14@aarch64[aarch64-"
"gcc14]. Clang compilers are available as `llvm${VERSION}` packages, such as "
"package:devel/llvm18[llvm18]. The project runs automated CI jobs to build "
"everything with these compilers. Committers are expected to fix the jobs "
@@ -9860,16 +9774,16 @@ msgid ""
"example `CROSS_TOOLCHAIN=aarch64-gcc14` or `CROSS_TOOLCHAIN=llvm18`. For "
"universe or tinderbox builds, `USE_GCC_TOOLCHAINS=gcc${VERSION}` builds all "
"architectures using the appropriate GCC compiler packages. For universe or "
-"tinderbox builds using an out-of-tree Clang, pass `CROSS_TOOLCHAIN=llvm$"
-"{VERSION}`. Note that while all architectures in the base system can be "
+"tinderbox builds using an out-of-tree Clang, pass `CROSS_TOOLCHAIN=llvm"
+"${VERSION}`. Note that while all architectures in the base system can be "
"compiled by Clang, only a few architectures can be fully built by GCC."
msgstr ""
"Базовая система FreeBSD также поддерживает различные версии Clang и GCC в "
"качестве компиляторов, не входящих в дерево исходного кода. Для крупных или "
"рискованных изменений коммиттеры должны выполнить тестовую сборку с "
"поддерживаемой версией GCC. Компиляторы, не входящие в дерево исходного "
-"кода, доступны в виде пакетов. Компиляторы GCC доступны в виде пакетов `$"
-"{TARGET_ARCH}-gcc${VERSION}`, например package:devel/freebsd-"
+"кода, доступны в виде пакетов. Компиляторы GCC доступны в виде пакетов "
+"`${TARGET_ARCH}-gcc${VERSION}`, например package:devel/freebsd-"
"gcc14@aarch64[aarch64-gcc14]. Компиляторы Clang доступны в виде пакетов "
"`llvm${VERSION}`, например package:devel/llvm18[llvm18]. Проект запускает "
"автоматизированные задачи CI для сборки всего с использованием этих "
@@ -10037,8 +9951,8 @@ msgid ""
"references are correct and that the man page has all of the appropriate "
"`MLINKS` installed."
msgstr ""
-"Для страниц руководства запустите package:sysutils/manck[] и "
-"package:textproc/igor[] на странице руководства, чтобы проверить, что все "
+"Для страниц руководства запустите package:sysutils/manck[] и package:"
+"textproc/igor[] на странице руководства, чтобы проверить, что все "
"перекрестные ссылки и ссылки на файлы корректны, а также что страница "
"руководства имеет все необходимые `MLINKS`."
@@ -10058,8 +9972,8 @@ msgstr ""
"— это любое изменение, которое не меняет функциональность кода. Смешивание "
"изменений затрудняет понимание изменений функциональности при запросе "
"различий между версиями, что может скрыть новые ошибки. Не включайте "
-"изменения пробелов вместе с изменениями содержимого в коммитах для "
-"[.filename]#doc/#. Лишний шум в различиях значительно усложняет работу "
+"изменения пробелов вместе с изменениями содержимого в коммитах для [."
+"filename]#doc/#. Лишний шум в различиях значительно усложняет работу "
"переводчиков. Вместо этого вносите исправления стиля или пробелов в "
"отдельных коммитах, явно обозначенных как таковые в сообщении коммита."
@@ -10095,8 +10009,8 @@ msgid ""
"The option, utility, or interface is preserved until the next major (point "
"zero) release."
msgstr ""
-"Опция, утилита или интерфейс сохраняются до следующего мажорного (точка-"
-"ноль) релиза."
+"Опция, утилита или интерфейс сохраняются до следующего мажорного (точка-ноль)"
+" релиза."
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:3322
@@ -10316,16 +10230,16 @@ msgid ""
msgstr ""
"FreeBSD — это высокопортативная операционная система, предназначенная для "
"работы на множестве различных типов аппаратных архитектур. Поддержание "
-"четкого разделения между машинно-зависимым (MD) и машинно-независимым (MI) "
+"четкого разделения между машинозависимым (MD) и машинонезависимым (MI) "
"кодом, а также минимизация MD-кода являются важной частью нашей стратегии по "
"сохранению гибкости в отношении текущих тенденций в аппаратном обеспечении. "
"Каждая новая аппаратная архитектура, поддерживаемая FreeBSD, существенно "
-"увеличивает затраты на поддержку кода, инструментальных средств и инжиниринг "
-"выпусков. Это также значительно повышает стоимость эффективного тестирования "
-"изменений в ядре. Таким образом, существует серьезная мотивация для "
-"разграничения уровней поддержки различных архитектур, оставаясь при этом "
-"сильными в нескольких ключевых архитектурах, которые рассматриваются как "
-"«целевая аудитория» FreeBSD."
+"увеличивает затраты на поддержку кода, инструментальных средств и управление "
+"выпусками. Это также значительно повышает стоимость эффективного "
+"тестирования изменений в ядре. Таким образом, существует серьезная мотивация "
+"для разграничения уровней поддержки различных архитектур, оставаясь при этом "
+"сильными в нескольких ключевых архитектурах, которые рассматриваются как «"
+"целевая аудитория» FreeBSD."
#. type: Title ===
#: documentation/content/en/articles/committers-guide/_index.adoc:3373
@@ -10650,8 +10564,8 @@ msgid ""
"Dedicated hardware in one of the FreeBSD clusters for package building "
"(either natively or via qemu-user)."
msgstr ""
-"Выделенное оборудование в одном из кластеров FreeBSD для сборки пакетов "
-"(нативно или через qemu-user)."
+"Выделенное оборудование в одном из кластеров FreeBSD для сборки пакетов ("
+"нативно или через qemu-user)."
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:3432
@@ -10976,17 +10890,17 @@ msgstr "Как добавить новый порт?"
#: documentation/content/en/articles/committers-guide/_index.adoc:3503
msgid ""
"Adding a port to the tree is relatively simple. Once the port is ready to be "
-"added, as explained later crossref:committers-guide[ports-qa-add-new-"
-"extra,here], you need to add the port's directory entry in the category's "
-"[.filename]#Makefile#. In this [.filename]#Makefile#, ports are listed in "
+"added, as explained later crossref:committers-guide[ports-qa-add-new-extra,"
+"here], you need to add the port's directory entry in the category's [."
+"filename]#Makefile#. In this [.filename]#Makefile#, ports are listed in "
"alphabetical order and added to the `SUBDIR` variable, like this:"
msgstr ""
"Добавление порта в дерево относительно просто. Как только порт готов к "
"добавлению, как описано далее crossref:committers-guide[ports-qa-add-new-"
-"extra,здесь], необходимо добавить запись каталога порта в "
-"[.filename]#Makefile# соответствующей категории. В этом "
-"[.filename]#Makefile# порты перечислены в алфавитном порядке и добавлены в "
-"переменную `SUBDIR`, например:"
+"extra,здесь], необходимо добавить запись каталога порта в [."
+"filename]#Makefile# соответствующей категории. В этом [.filename]#Makefile# "
+"порты перечислены в алфавитном порядке и добавлены в переменную `SUBDIR`, "
+"например:"
#. type: delimited block . 4
#: documentation/content/en/articles/committers-guide/_index.adoc:3507
@@ -11049,9 +10963,9 @@ msgid ""
"handbook}testing[poudriere, testing-poudriere] sections."
msgstr ""
"В главе extref:{porters-handbook}testing[Руководства портировщика по "
-"тестированию] содержатся более подробные инструкции. См. разделы extref:"
-"{porters-handbook}testing[Portclippy / Portfmt, testing-portclippy] и extref:"
-"{porters-handbook}testing[poudriere, testing-poudriere]."
+"тестированию] содержатся более подробные инструкции. См. разделы extref"
+":{porters-handbook}testing[Portclippy / Portfmt, testing-portclippy] и extref"
+":{porters-handbook}testing[poudriere, testing-poudriere]."
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:3530
@@ -11089,10 +11003,9 @@ msgid ""
"poudriere] to test the new port is not possible, the bare minimum of testing "
"includes this sequence:"
msgstr ""
-"Если по какой-то причине использование extref:{porters-handbook}"
-"testing[poudriere, testing-poudriere] для тестирования нового порта "
-"невозможно, минимальный набор тестирования включает следующую "
-"последовательность:"
+"Если по какой-то причине использование extref:{porters-handbook}testing["
+"poudriere, testing-poudriere] для тестирования нового порта невозможно, "
+"минимальный набор тестирования включает следующую последовательность:"
#. type: delimited block . 4
#: documentation/content/en/articles/committers-guide/_index.adoc:3549
@@ -11187,8 +11100,8 @@ msgstr "Удалите файлы и каталог порта с помощью
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:3577
msgid ""
-"Remove the `SUBDIR` listing of the port in the parent directory "
-"[.filename]#Makefile#."
+"Remove the `SUBDIR` listing of the port in the parent directory [."
+"filename]#Makefile#."
msgstr ""
"Удалите указание `SUBDIR` для порта в [.filename]#Makefile# родительского "
"каталога."
@@ -11227,16 +11140,16 @@ msgstr "Как переместить порт в новое место?"
#: documentation/content/en/articles/committers-guide/_index.adoc:3591
msgid ""
"Perform a thorough check of the ports collection for any dependencies on the "
-"old port location/name, and update them. Running `grep` on "
-"[.filename]#INDEX# is not enough because some ports have dependencies "
-"enabled by compile-time options. A full man:git-grep[1] of the ports "
-"collection is recommended."
+"old port location/name, and update them. Running `grep` on [."
+"filename]#INDEX# is not enough because some ports have dependencies enabled "
+"by compile-time options. A full man:git-grep[1] of the ports collection is "
+"recommended."
msgstr ""
"Выполните тщательную проверку коллекции портов на наличие зависимостей от "
-"старого расположения или имени порта и обновите их. Запуск `grep` по файлу "
-"[.filename]#INDEX# недостаточен, поскольку некоторые порты имеют "
-"зависимости, включённые через параметры компиляции. Рекомендуется выполнить "
-"полный поиск с помощью man:git-grep[1] по коллекции портов."
+"старого расположения или имени порта и обновите их. Запуск `grep` по файлу [."
+"filename]#INDEX# недостаточен, поскольку некоторые порты имеют зависимости, "
+"включённые через параметры компиляции. Рекомендуется выполнить полный поиск "
+"с помощью man:git-grep[1] по коллекции портов."
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:3592
@@ -11342,7 +11255,9 @@ msgstr "Квартальные ветки"
#: documentation/content/en/articles/committers-guide/_index.adoc:3628
#, no-wrap
msgid "What is the procedure to request authorization for merging a commit to the quarterly branch?"
-msgstr "Какова процедура получения разрешения на слияние коммита с квартальной веткой?"
+msgstr ""
+"Какова процедура получения разрешения на слияние коммита с квартальной "
+"веткой?"
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:3631
@@ -11416,10 +11331,10 @@ msgid ""
"or not to approve it. If they do, it is their responsibility to:"
msgstr ""
"Пожалуйста, ознакомьтесь с extref:{porters-handbook}makefiles/[Предложение "
-"новой категории, proposing-categories] в Руководстве портера. После "
-"выполнения этой процедуры и назначения PR в группе — {portmgr}, решение об "
-"одобрении принимается ими. Если решение положительное, их обязанностью "
-"является:"
+"новой категории, proposing-categories] в Руководстве FreeBSD по созданию "
+"портов. После выполнения этой процедуры и назначения PR в группе — {portmgr}"
+", решение об одобрении принимается ими. Если решение положительное, их "
+"обязанностью является:"
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:3660
@@ -11431,11 +11346,11 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:3661
msgid ""
-"Update the `VALID_CATEGORIES` definition in [.filename]#ports/Mk/"
-"bsd.port.mk#."
+"Update the `VALID_CATEGORIES` definition in [.filename]#ports/Mk/bsd.port."
+"mk#."
msgstr ""
-"Обновите определение `VALID_CATEGORIES` в файле [.filename]#ports/Mk/"
-"bsd.port.mk#."
+"Обновите определение `VALID_CATEGORIES` в файле [.filename]#ports/Mk/bsd.port"
+".mk#."
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:3662
@@ -11489,8 +11404,8 @@ msgstr ""
#. type: delimited block = 6
#: documentation/content/en/articles/committers-guide/_index.adoc:3678
msgid ""
-"If you want to be really thorough, now might be a good time to run "
-"man:portlint[1]."
+"If you want to be really thorough, now might be a good time to run man:"
+"portlint[1]."
msgstr ""
"Если вы хотите быть действительно тщательным, сейчас может быть подходящее "
"время запустить man:portlint[1]."
@@ -11508,8 +11423,8 @@ msgstr ""
"использует запись `CATEGORIES` каждого порта для создания его `PKGORIGIN`, "
"который служит для связи установленных пакетов с директорией порта, из "
"которого они были собраны. Если эта запись неверна, такие распространённые "
-"инструменты для работы с портами, как man:pkg-version[8] и "
-"man:portupgrade[1], не будут работать."
+"инструменты для работы с портами, как man:pkg-version[8] и man:portupgrade[1]"
+", не будут работать."
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:3683
@@ -11551,11 +11466,11 @@ msgstr ""
#: documentation/content/en/articles/committers-guide/_index.adoc:3685
msgid ""
"Once this is done, you can commit the updated [.filename]#ports/Makefile# to "
-"connect the new category to the build and also commit the "
-"[.filename]#Makefile# changes for the old category or categories."
+"connect the new category to the build and also commit the [."
+"filename]#Makefile# changes for the old category or categories."
msgstr ""
-"После этого можно зафиксировать обновлённый файл [.filename]#ports/"
-"Makefile#, чтобы подключить новую категорию к сборке, а также сделать коммит "
+"После этого можно зафиксировать обновлённый файл [.filename]#ports/Makefile#"
+", чтобы подключить новую категорию к сборке, а также сделать коммит "
"изменениям в файле [.filename]#Makefile# для старой категории или категорий."
#. type: Plain text
@@ -11576,7 +11491,7 @@ msgid ""
"Porter's Handbook"
msgstr ""
"extref:{porters-handbook}makefiles/[список категорий, porting-categories] в "
-"Руководстве портера"
+"Руководстве FreeBSD по созданию портов"
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:3690
@@ -11615,7 +11530,9 @@ msgstr "Разные вопросы"
#: documentation/content/en/articles/committers-guide/_index.adoc:3702
#, no-wrap
msgid "Are there changes that can be committed without asking the maintainer for approval?"
-msgstr "Существуют ли изменения, которые можно зафиксировать без запроса одобрения у сопровождающего?"
+msgstr ""
+"Существуют ли изменения, которые можно зафиксировать без запроса одобрения у "
+"сопровождающего?"
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:3705
@@ -11681,12 +11598,12 @@ msgstr ""
#: documentation/content/en/articles/committers-guide/_index.adoc:3723
msgid ""
"Reports for all the package builds (official, experimental, and non-"
-"regression) are aggregated at link:pkg-status.FreeBSD.org[pkg-"
-"status.FreeBSD.org]."
+"regression) are aggregated at link:pkg-status.FreeBSD.org[pkg-status.FreeBSD."
+"org]."
msgstr ""
"Отчеты по всем сборкам пакетов (официальные, экспериментальные и без "
-"регрессии) агрегируются на link:pkg-status.FreeBSD.org[pkg-"
-"status.FreeBSD.org]."
+"регрессии) агрегируются на link:pkg-status.FreeBSD.org[pkg-status.FreeBSD."
+"org]."
#. type: Title ====
#: documentation/content/en/articles/committers-guide/_index.adoc:3725
@@ -11713,14 +11630,14 @@ msgstr "Есть ли другие файлы, которые мне нельз
#: documentation/content/en/articles/committers-guide/_index.adoc:3734
msgid ""
"Any file directly under [.filename]#ports/#, or any file under a "
-"subdirectory that starts with an uppercase letter ([.filename]#Mk/#, "
-"[.filename]#Tools/#, etc.). In particular, the {portmgr} is very protective "
+"subdirectory that starts with an uppercase letter ([.filename]#Mk/#, [."
+"filename]#Tools/#, etc.). In particular, the {portmgr} is very protective "
"of [.filename]#ports/Mk/bsd.port*.mk# so do not commit changes to those "
"files unless you want to face their wrath."
msgstr ""
"Любой файл непосредственно в [.filename]#ports/# или любой файл в "
-"подкаталоге, название которого начинается с заглавной буквы ([.filename]#Mk/"
-"#, [.filename]#Tools/# и т.д.). В частности, {portmgr} очень ревностно "
+"подкаталоге, название которого начинается с заглавной буквы ([.filename]#Mk/#"
+", [.filename]#Tools/# и т.д.). В частности, {portmgr} очень ревностно "
"относится к [.filename]#ports/Mk/bsd.port*.mk#, поэтому не вносите изменения "
"в эти файлы, если не хотите навлечь на себя их гнев."
@@ -11728,7 +11645,9 @@ msgstr ""
#: documentation/content/en/articles/committers-guide/_index.adoc:3736
#, no-wrap
msgid "What is the proper procedure for updating the checksum for a port distfile when the file changes without a version change?"
-msgstr "Как правильно обновить контрольную сумму для distfile порта, если файл изменился без изменения версии?"
+msgstr ""
+"Как правильно обновить контрольную сумму для distfile порта, если файл "
+"изменился без изменения версии?"
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:3740
@@ -11755,7 +11674,9 @@ msgstr ""
#: documentation/content/en/articles/committers-guide/_index.adoc:3742
#, no-wrap
msgid "How can an experimental test build of the ports tree (exp-run) be requested?"
-msgstr "Как можно запросить экспериментальную тестовую сборку дерева портов (exp-run)?"
+msgstr ""
+"Как можно запросить экспериментальную тестовую сборку дерева портов (exp-"
+"run)?"
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:3746
@@ -11805,8 +11726,8 @@ msgid ""
msgstr ""
"Если вверху написано «Показать дополнительные поля (Show Advanced Fields)», "
"нажмите на это. Теперь будет написано «Скрыть дополнительные поля (Hide "
-"Advanced Fields)». Станут доступны многие новые поля. Если уже написано "
-"«Скрыть дополнительные поля», ничего делать не нужно."
+"Advanced Fields)». Станут доступны многие новые поля. Если уже написано «"
+"Скрыть дополнительные поля», ничего делать не нужно."
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:3756
@@ -11893,8 +11814,8 @@ msgstr "crossref:committers-guide[conventions-everyone, Для всех]"
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:3777
msgid ""
-"Get your mentor to add you to the \"Additional Contributors\" "
-"([.filename]#doc/shared/contrib-additional.adoc#), if you are not already "
+"Get your mentor to add you to the \"Additional Contributors\" ([."
+"filename]#doc/shared/contrib-additional.adoc#), if you are not already "
"listed there."
msgstr ""
"Попросите вашего наставника добавить вас в список \"Дополнительные "
@@ -11948,15 +11869,17 @@ msgstr ""
#: documentation/content/en/articles/committers-guide/_index.adoc:3795
#, no-wrap
msgid "How do I access people.FreeBSD.org to put up personal or project information?"
-msgstr "Как получить доступ к people.FreeBSD.org для размещения личной или проектной информации?"
+msgstr ""
+"Как получить доступ к people.FreeBSD.org для размещения личной или проектной "
+"информации?"
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:3799
msgid ""
-"`people.FreeBSD.org` is the same as `freefall.FreeBSD.org`. Just create a "
-"[.filename]#public_html# directory. Anything you place in that directory "
-"will automatically be visible under https://people.FreeBSD.org/[https://"
-"people.FreeBSD.org/]."
+"`people.FreeBSD.org` is the same as `freefall.FreeBSD.org`. Just create a [."
+"filename]#public_html# directory. Anything you place in that directory will "
+"automatically be visible under https://people.FreeBSD.org/[https://people."
+"FreeBSD.org/]."
msgstr ""
"`people.FreeBSD.org` — это то же самое, что и `freefall.FreeBSD.org`. Просто "
"создайте каталог [.filename]#public_html#. Всё, что вы поместите в этот "
@@ -11972,17 +11895,18 @@ msgstr "Где хранятся архивы списков рассылки?"
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:3803
msgid ""
-"The mailing lists are archived under [.filename]#/local/mail# on "
-"`freefall.FreeBSD.org`."
+"The mailing lists are archived under [.filename]#/local/mail# on `freefall."
+"FreeBSD.org`."
msgstr ""
-"Списки рассылки архивируются в [.filename]#/local/mail# на "
-"`freefall.FreeBSD.org`."
+"Списки рассылки архивируются в [.filename]#/local/mail# на `freefall.FreeBSD."
+"org`."
#. type: Title ===
#: documentation/content/en/articles/committers-guide/_index.adoc:3804
#, no-wrap
msgid "I would like to mentor a new committer. What process do I need to follow?"
-msgstr "Я хочу стать наставником нового коммиттера. Какой процесс мне нужно пройти?"
+msgstr ""
+"Я хочу стать наставником нового коммиттера. Какой процесс мне нужно пройти?"
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:3807
@@ -12082,13 +12006,13 @@ msgstr ""
#: documentation/content/en/articles/committers-guide/_index.adoc:3836
msgid ""
"rsync.net offers a free-forever 500 GB account to FreeBSD developers. Simply "
-"sign up at https://www.rsync.net/freebsd.html[https://www.rsync.net/"
-"freebsd.html] using your `@freebsd.org` address to receive this free account."
+"sign up at https://www.rsync.net/freebsd.html[https://www.rsync.net/freebsd."
+"html] using your `@freebsd.org` address to receive this free account."
msgstr ""
"rsync.net предоставляет бесплатный аккаунт на 500 ГБ навсегда разработчикам "
-"FreeBSD. Просто зарегистрируйтесь по адресу https://www.rsync.net/"
-"freebsd.html[https://www.rsync.net/freebsd.html], используя ваш адрес "
-"`@freebsd.org`, чтобы получить этот бесплатный аккаунт."
+"FreeBSD. Просто зарегистрируйтесь по адресу https://www.rsync.net/freebsd."
+"html[https://www.rsync.net/freebsd.html], используя ваш адрес `@freebsd.org`"
+", чтобы получить этот бесплатный аккаунт."
#~ msgid "https://ci.freebsd.org[Jenkins]"
#~ msgstr "https://ci.freebsd.org[Jenkins]"
diff --git a/documentation/content/ru/articles/contributing/_index.adoc b/documentation/content/ru/articles/contributing/_index.adoc
index 605ac4d6b9..9197476f65 100644
--- a/documentation/content/ru/articles/contributing/_index.adoc
+++ b/documentation/content/ru/articles/contributing/_index.adoc
@@ -1,10 +1,10 @@
---
authors:
- -
+ -
author: 'Jordan Hubbard'
- -
+ -
author: 'Sam Lawrance'
- -
+ -
author: 'Mark Linimon'
description: 'Как внести вклад в проект FreeBSD'
tags: ["Contributing", "FreeBSD", "Non-Programmer Tasks", "Programmer Tasks"]
@@ -194,7 +194,7 @@ https://wiki.freebsd.org/IdeasPage[Список проектов и идей Fre
В случае значительного вклада в виде большого объёма работы или добавления важной новой функции в FreeBSD, почти всегда необходимо либо отправить изменения в виде tar-файлов, либо загрузить их на веб- или FTP-сайт для доступа других людей. Если у вас нет доступа к веб- или FTP-сайту, запросите на соответствующем списке рассылки FreeBSD, чтобы кто-то разместил изменения для вас.
-При работе с большими объемами кода неизбежно возникает деликатная тема авторских прав. FreeBSD предпочитает свободные лицензии, такие как BSD или ISC. Копилефтные лицензии, например GPLv2, иногда допускаются. Полный список можно найти на странице link:https://www.FreeBSD.org/internal/software-license/[политики лицензирования основной команды].
+При работе с большими объемами кода неизбежно возникает деликатная тема авторских прав. FreeBSD предпочитает свободные лицензии, такие как BSD или ISC. Коплефтные лицензии, например GPLv2, иногда допускаются. Полный список можно найти на странице link:https://www.FreeBSD.org/internal/software-license/[политики лицензирования основной команды].
=== Деньги или Оборудование
@@ -264,19 +264,24 @@ USA
Как сопровождающему, вам потребуется управлять следующими задачами:
-* **Новые версии программного обеспечения и обновления.** Новые версии и обновления существующего портированного программного обеспечения появляются постоянно, и их необходимо включать в Коллекцию портов, чтобы обеспечить актуальное ПО.
+* *Новые версии программного обеспечения и обновления.* Новые версии и обновления существующего портированного программного обеспечения появляются постоянно, и их необходимо включать в Коллекцию портов, чтобы обеспечить актуальное ПО.
* *Изменения в зависимостях.* Если в зависимостях вашего порта были внесены значительные изменения, возможно, его потребуется обновить, чтобы он продолжал работать корректно.
* *Изменения, затрагивающие зависимые порты.* Если другие порты зависят от порта, который вы поддерживаете, изменения в вашем порте могут потребовать согласования с другими сопровождающими.
-* *Взаимодействие с другими пользователями, сопровождающими и разработчиками.* Часть обязанностей сопровождающего включает в себя поддержку. От вас не ожидают предоставления общей поддержки (но мы приветствуем это, если вы решите её оказывать). Ваша задача — быть точкой координации по вопросам, связанным с вашими портами, специфичным для FreeBSD.
+* *Взаимодействие с другими пользователями, сопровождающими и разработчиками.* Часть обязанностей сопровождающего включает в себя поддержку.
+ От вас не ожидают предоставления общей поддержки (но мы приветствуем это, если вы решите её оказывать). Ваша задача — быть точкой координации по вопросам, связанным с вашими портами, специфичным для FreeBSD.
-* *Поиск ошибок.* Порт может быть подвержен ошибкам, специфичным для FreeBSD. Вам потребуется исследовать, находить и исправлять эти ошибки при их поступлении. Ещё лучше тщательно тестировать порт для выявления проблем до их попадания в Коллекцию портов.
+* *Поиск ошибок.* Порт может быть подвержен ошибкам, специфичным для FreeBSD.
+ Вам потребуется исследовать, находить и исправлять эти ошибки при их поступлении.
+ Ещё лучше тщательно тестировать порт для выявления проблем до их попадания в Коллекцию портов.
-* *Изменения в инфраструктуре и политике портов.* Иногда обновляются системы, используемые для сборки портов и пакетов, или появляются новые рекомендации, влияющие на инфраструктуру. Вам следует учитывать эти изменения, если ваши порты затронуты и требуют обновления.
+* *Изменения в инфраструктуре и политике портов.* Иногда обновляются системы, используемые для сборки портов и пакетов, или появляются новые рекомендации, влияющие на инфраструктуру.
+ Вам следует учитывать эти изменения, если ваши порты затронуты и требуют обновления.
-* *Изменения в базовой системе.* FreeBSD находится в постоянной разработке. Изменения в программном обеспечении, библиотеках, ядре или даже изменения политики могут вызвать каскадные требования к изменениям в портах.
+* *Изменения в базовой системе.* FreeBSD находится в постоянной разработке.
+ Изменения в программном обеспечении, библиотеках, ядре или даже изменения политики могут вызвать каскадные требования к изменениям в портах.
==== Обязанности сопровождающего
@@ -312,7 +317,7 @@ USA
+
[NOTE]
======
-Пожалуйста, не отправляйте архив man:shar[1] всего порта; вместо этого используйте man:git-format-patch[1] или man:diff[1] `-ruN`. Таким образом, коммиттеры смогут гораздо проще увидеть, какие именно изменения были внесены. Раздел extref:{porters-handbook}[Обновление, port-upgrading] в Руководстве портера содержит дополнительную информацию.
+Пожалуйста, не отправляйте архив man:shar[1] всего порта; вместо этого используйте man:git-format-patch[1] или man:diff[1] `-ruN`. Таким образом, коммиттеры смогут гораздо проще увидеть, какие именно изменения были внесены. Раздел extref:{porters-handbook}[Обновление, port-upgrading] в Руководстве FreeBSD по созданию портов содержит дополнительную информацию.
======
. Ждите
+
diff --git a/documentation/content/ru/articles/contributing/_index.po b/documentation/content/ru/articles/contributing/_index.po
index 118ab6104d..cbc6e46b2f 100644
--- a/documentation/content/ru/articles/contributing/_index.po
+++ b/documentation/content/ru/articles/contributing/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-01 20:43+0300\n"
-"PO-Revision-Date: 2025-09-05 04:45+0000\n"
+"POT-Creation-Date: 2024-12-29 08:30-0500\n"
+"PO-Revision-Date: 2025-10-30 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/articlescontributing_index/ru/>\n"
@@ -18,7 +18,7 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/articles/contributing/_index.adoc:1
#, no-wrap
msgid "How to contribute to the FreeBSD Project"
@@ -103,11 +103,11 @@ msgid ""
"in almost any area, can almost certainly help the project."
msgstr ""
"Проект FreeBSD отвечает за целостную операционную среду, а не только за ядро "
-"или несколько разрозненных утилит. Таким образом, наши списки "
-"[.filename]#TODO# охватывают очень широкий спектр задач: от документации, "
-"бета-тестирования и презентаций до установщика системы и "
-"высокоспециализированных видов разработки ядра. Люди с любым уровнем "
-"навыков, практически в любой области, почти наверняка могут помочь проекту."
+"или несколько разрозненных утилит. Таким образом, наши списки [."
+"filename]#TODO# охватывают очень широкий спектр задач: от документации, бета-"
+"тестирования и презентаций до установщика системы и высокоспециализированных "
+"видов разработки ядра. Люди с любым уровнем навыков, практически в любой "
+"области, почти наверняка могут помочь проекту."
#. type: Plain text
#: documentation/content/en/articles/contributing/_index.adoc:78
@@ -230,8 +230,8 @@ msgid ""
msgstr ""
"Большинство перечисленных здесь задач может потребовать значительных "
"временных затрат, глубоких знаний о ядре FreeBSD или того и другого. Однако, "
-"есть также множество полезных задач, подходящих для \"хакеров выходного "
-"дня\"."
+"есть также множество полезных задач, подходящих для \"хакеров выходного дня\""
+"."
#. type: Plain text
#: documentation/content/en/articles/contributing/_index.adoc:111
@@ -260,12 +260,12 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/contributing/_index.adoc:115
msgid ""
-"If you know of any bug fixes which have been successfully applied to "
-"-CURRENT but have not been merged into -STABLE after a decent interval "
+"If you know of any bug fixes which have been successfully applied to -"
+"CURRENT but have not been merged into -STABLE after a decent interval "
"(normally a couple of weeks), send the committer a polite reminder."
msgstr ""
-"Если вам известны исправления ошибок, которые были успешно применены в "
-"-CURRENT, но не были перенесены в -STABLE в течение разумного срока (обычно "
+"Если вам известны исправления ошибок, которые были успешно применены в -"
+"CURRENT, но не были перенесены в -STABLE в течение разумного срока (обычно "
"пары недель), отправьте коммиттеру вежливое напоминание."
#. type: Plain text
@@ -291,8 +291,8 @@ msgid ""
msgstr ""
"Соберите дерево исходников (или только его часть) с включенными "
"дополнительными предупреждениями и устраните эти предупреждения. Список "
-"предупреждений при сборке также можно найти в нашем https://"
-"ci.freebsd.org[CI], выбрав сборку и отметив \"LLVM/Clang Warnings\"."
+"предупреждений при сборке также можно найти в нашем https://ci.freebsd."
+"org[CI], выбрав сборку и отметив \"LLVM/Clang Warnings\"."
#. type: Plain text
#: documentation/content/en/articles/contributing/_index.adoc:120
@@ -441,8 +441,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/contributing/_index.adoc:155
msgid ""
-"If you have created or adopted a port, be aware of "
-"crossref:contributing[maintain-port, The challenge for port maintainers]."
+"If you have created or adopted a port, be aware of crossref:"
+"contributing[maintain-port, The challenge for port maintainers]."
msgstr ""
"Если вы создали или адаптировали порт, обратите внимание на раздел "
"crossref:contributing[maintain-port, Задача для сопровождающих портов]."
@@ -450,8 +450,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/contributing/_index.adoc:156
msgid ""
-"When you are looking for a quick challenge you could "
-"crossref:contributing[fix-broken, Finding and fixing a broken port]."
+"When you are looking for a quick challenge you could crossref:"
+"contributing[fix-broken, Finding and fixing a broken port]."
msgstr ""
"Если вы ищете быстрый вызов, вы можете crossref:contributing[fix-broken, "
"Найти и исправить сломанный порт]."
@@ -560,8 +560,8 @@ msgid ""
"message[commit log guide]."
msgstr ""
"Каждое логическое изменение — это отдельный коммит в рамках pull request. "
-"Сообщения коммитов для каждого изменения должны соответствовать extref:"
-"{committers-guide}#commit-log-message[руководству по оформлению логов "
+"Сообщения коммитов для каждого изменения должны соответствовать extref"
+":{committers-guide}#commit-log-message[руководству по оформлению логов "
"коммитов]."
#. type: Plain text
@@ -604,8 +604,8 @@ msgid ""
"Certificate of Origin]."
msgstr ""
"Коммиты должны включать одну или несколько строк `Signed-off-by:` с полным "
-"именем и адресом электронной почты, подтверждающими https://"
-"developercertificate.org/[Сертификат происхождения разработчика]."
+"именем и адресом электронной почты, подтверждающими "
+"https://developercertificate.org/[Сертификат происхождения разработчика]."
#. type: Plain text
#: documentation/content/en/articles/contributing/_index.adoc:197
@@ -635,8 +635,8 @@ msgstr ""
msgid ""
"Pull requests submitted to the ports repository may or may not see action, "
"based on the whims of developers. For now, you will have a better "
-"experience if you follow the ports submission process "
-"crossref:contributing[ports-contributing, Contributing to ports]."
+"experience if you follow the ports submission process crossref:"
+"contributing[ports-contributing, Contributing to ports]."
msgstr ""
"Запросы на включение изменений, отправленные в репозиторий портов, могут "
"быть обработаны или проигнорированы, в зависимости от настроения "
@@ -667,8 +667,8 @@ msgid ""
"prior to uploading them."
msgstr ""
"Если вы обнаружили ошибку или хотите отправить конкретное изменение, "
-"пожалуйста, сообщите об этом, используя https://bugs.FreeBSD.org/submit/"
-"[форму отправки отчёта об ошибках]. Постарайтесь заполнить каждое поле "
+"пожалуйста, сообщите об этом, используя https://bugs.FreeBSD.org/submit/["
+"форму отправки отчёта об ошибках]. Постарайтесь заполнить каждое поле "
"отчёта. Если патчи не превышают 65 КБ, включите их непосредственно в отчёт. "
"Если патч подходит для применения к исходному дереву, укажите `[PATCH]` в "
"кратком описании отчёта. При включении патчей _не_ используйте копирование и "
@@ -850,8 +850,8 @@ msgid ""
msgstr ""
"Если ваше изменение носит потенциально чувствительный характер, например, "
"если вы не уверены в вопросах авторского права, регулирующих его дальнейшее "
-"распространение, то вам следует отправить его напрямую по адресу {core-"
-"email}, а не подавать как отчёт об ошибке. Письмо на {core-email} достигает "
+"распространение, то вам следует отправить его напрямую по адресу {core-email}"
+", а не подавать как отчёт об ошибке. Письмо на {core-email} достигает "
"гораздо меньшей группы людей, которые выполняют большую часть повседневной "
"работы над FreeBSD. Обратите внимание, что эта группа также _очень занята_, "
"поэтому вам следует писать им только в случае действительной необходимости."
@@ -901,9 +901,9 @@ msgid ""
msgstr ""
"При работе с большими объемами кода неизбежно возникает деликатная тема "
"авторских прав. FreeBSD предпочитает свободные лицензии, такие как BSD или "
-"ISC. Копилефтные лицензии, например GPLv2, иногда допускаются. Полный список "
-"можно найти на странице link:https://www.FreeBSD.org/internal/software-"
-"license/[политики лицензирования основной команды]."
+"ISC. Коплефтные лицензии, например GPLv2, иногда допускаются. Полный список "
+"можно найти на странице link:https://www.FreeBSD.org/internal/"
+"software-license/[политики лицензирования основной команды]."
#. type: Title ===
#: documentation/content/en/articles/contributing/_index.adoc:275
@@ -972,9 +972,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/contributing/_index.adoc:299
msgid ""
-"The FreeBSD Foundation is also able to accept https://"
-"www.freebsdfoundation.org/donate/[online donations] through various payment "
-"options."
+"The FreeBSD Foundation is also able to accept https://www.freebsdfoundation."
+"org/donate/[online donations] through various payment options."
msgstr ""
"Фонд FreeBSD также принимает https://www.freebsdfoundation.org/donate/"
"[онлайн-пожертвования] через различные варианты оплаты."
@@ -982,14 +981,14 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/contributing/_index.adoc:302
msgid ""
-"More information about the FreeBSD Foundation can be found in https://"
-"people.FreeBSD.org/~jdp/foundation/announcement.html[The FreeBSD Foundation "
-"-- an Introduction]. To contact the Foundation by email, write to "
-"mailto:info@FreeBSDFoundation.org[info@FreeBSDFoundation.org]."
+"More information about the FreeBSD Foundation can be found in https://people."
+"FreeBSD.org/~jdp/foundation/announcement.html[The FreeBSD Foundation -- an "
+"Introduction]. To contact the Foundation by email, write to mailto:"
+"info@FreeBSDFoundation.org[info@FreeBSDFoundation.org]."
msgstr ""
-"Дополнительная информация о Фонде FreeBSD доступна по ссылке https://"
-"people.FreeBSD.org/~jdp/foundation/announcement.html[Фонд FreeBSD — "
-"введение]. Чтобы связаться с Фондом по электронной почте, напишите на "
+"Дополнительная информация о Фонде FreeBSD доступна по ссылке https://people."
+"FreeBSD.org/~jdp/foundation/announcement.html[Фонд FreeBSD — введение]. "
+"Чтобы связаться с Фондом по электронной почте, напишите на "
"mailto:info@FreeBSDFoundation.org[info@FreeBSDFoundation.org]."
#. type: Title ====
@@ -1052,19 +1051,17 @@ msgid ""
msgstr ""
"Неподдерживаемые порты имеют параметр `MAINTAINER`, установленный в "
"`ports@FreeBSD.org`. Многие неподдерживаемые порты могут иметь ожидающие "
-"обновления, это можно увидеть на https://portscout.freebsd.org/"
-"ports@freebsd.org.html[сканере дистрибутивных файлов портов FreeBSD]."
+"обновления, это можно увидеть на https://portscout.freebsd.org/ports@freebsd."
+"org.html[сканере дистрибутивных файлов портов FreeBSD]."
#. type: Plain text
#: documentation/content/en/articles/contributing/_index.adoc:325
msgid ""
-"On https://portsfallout.com/fallout?"
-"port=&maintainer=ports%40FreeBSD.org[PortsFallout] can be seen a list of "
-"unmaintained ports with errors."
+"On https://portsfallout.com/fallout?port=&maintainer=ports%40FreeBSD."
+"org[PortsFallout] can be seen a list of unmaintained ports with errors."
msgstr ""
-"На https://portsfallout.com/fallout?"
-"port=&maintainer=ports%40FreeBSD.org[PortsFallout] можно увидеть список "
-"неподдерживаемых портов с ошибками."
+"На https://portsfallout.com/fallout?port=&maintainer=ports%40FreeBSD."
+"org[PortsFallout] можно увидеть список неподдерживаемых портов с ошибками."
#. type: Plain text
#: documentation/content/en/articles/contributing/_index.adoc:328
@@ -1082,19 +1079,17 @@ msgstr ""
msgid ""
"You can find out whether or not a port has dependencies or secondary ports "
"by looking at a primary index of ports called [.filename]#INDEX#. (The name "
-"of the file varies by release of FreeBSD; for instance, "
-"[.filename]#INDEX-13#.) Some ports have conditional dependencies that are "
-"not included in a default [.filename]#INDEX# build. We expect you to be "
-"able to recognize such ports by looking through other ports' "
-"[.filename]#Makefile#'s."
+"of the file varies by release of FreeBSD; for instance, [."
+"filename]#INDEX-13#.) Some ports have conditional dependencies that are not "
+"included in a default [.filename]#INDEX# build. We expect you to be able to "
+"recognize such ports by looking through other ports' [.filename]#Makefile#'s."
msgstr ""
"Вы можете узнать, есть ли у порта зависимости или вторичные порты, посмотрев "
"в основной индекс портов под названием [.filename]#INDEX#. (Имя файла может "
-"различаться в зависимости от версии FreeBSD; например, "
-"[.filename]#INDEX-13#.) Некоторые порты имеют условные зависимости, которые "
-"не включены в стандартную сборку [.filename]#INDEX#. Мы ожидаем, что вы "
-"сможете распознать такие порты, просмотрев [.filename]#Makefile# других "
-"портов."
+"различаться в зависимости от версии FreeBSD; например, [."
+"filename]#INDEX-13#.) Некоторые порты имеют условные зависимости, которые не "
+"включены в стандартную сборку [.filename]#INDEX#. Мы ожидаем, что вы сможете "
+"распознать такие порты, просмотрев [.filename]#Makefile# других портов."
#. type: Title ====
#: documentation/content/en/articles/contributing/_index.adoc:333
@@ -1111,9 +1106,9 @@ msgid ""
"you can comfortably handle._"
msgstr ""
"Убедитесь, что вы понимаете раздел crossref:contributing[maintain-port, "
-"Задача для сопровождающих портов]. Также прочитайте extref:{porters-handbook}"
-"[Руководство FreeBSD по созданию портов]. _Пожалуйста, не берите на себя "
-"больше, чем вам комфортно выполнять._"
+"Задача для сопровождающих портов]. Также прочитайте extref:{porters-"
+"handbook}[Руководство FreeBSD по созданию портов]. _Пожалуйста, не берите на "
+"себя больше, чем вам комфортно выполнять._"
#. type: Plain text
#: documentation/content/en/articles/contributing/_index.adoc:344
@@ -1200,15 +1195,8 @@ msgstr "Как сопровождающему, вам потребуется у
#. type: Plain text
#: documentation/content/en/articles/contributing/_index.adoc:367
-#, fuzzy
-#| msgid ""
-#| "*New software versions and updates.* New versions and updates of existing "
-#| "ported software become available all the time, and these need to be "
-#| "incorporated into the Ports Collection to provide up-to-date software.\n"
-msgid ""
-"*New software versions and updates.* New versions and updates of existing "
-"ported software become available all the time, and these need to be "
-"incorporated into the Ports Collection to provide up-to-date software."
+#, no-wrap
+msgid "*New software versions and updates.* New versions and updates of existing ported software become available all the time, and these need to be incorporated into the Ports Collection to provide up-to-date software.\n"
msgstr ""
"*Новые версии программного обеспечения и обновления.* Новые версии и "
"обновления существующего портированного программного обеспечения появляются "
@@ -1217,15 +1205,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/contributing/_index.adoc:369
-#, fuzzy
-#| msgid ""
-#| "*Changes to dependencies.* If significant changes are made to the "
-#| "dependencies of your port, it may need to be updated so that it will "
-#| "continue to work correctly.\n"
-msgid ""
-"*Changes to dependencies.* If significant changes are made to the "
-"dependencies of your port, it may need to be updated so that it will "
-"continue to work correctly."
+#, no-wrap
+msgid "*Changes to dependencies.* If significant changes are made to the dependencies of your port, it may need to be updated so that it will continue to work correctly.\n"
msgstr ""
"*Изменения в зависимостях.* Если в зависимостях вашего порта были внесены "
"значительные изменения, возможно, его потребуется обновить, чтобы он "
@@ -1233,15 +1214,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/contributing/_index.adoc:371
-#, fuzzy
-#| msgid ""
-#| "*Changes affecting dependent ports.* If other ports depend on a port that "
-#| "you maintain, changes to your port may require coordination with other "
-#| "maintainers.\n"
-msgid ""
-"*Changes affecting dependent ports.* If other ports depend on a port that "
-"you maintain, changes to your port may require coordination with other "
-"maintainers."
+#, no-wrap
+msgid "*Changes affecting dependent ports.* If other ports depend on a port that you maintain, changes to your port may require coordination with other maintainers.\n"
msgstr ""
"*Изменения, затрагивающие зависимые порты.* Если другие порты зависят от "
"порта, который вы поддерживаете, изменения в вашем порте могут потребовать "
@@ -1249,19 +1223,10 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/contributing/_index.adoc:374
-#, fuzzy
-#| msgid ""
-#| "*Interaction with other users, maintainers and developers.* Part of being "
-#| "a maintainer is taking on a support role.\n"
-#| "You are not expected to provide general support (but we welcome it if you "
-#| "choose to do so). What you should provide is a point of coordination for "
-#| "FreeBSD-specific issues regarding your ports.\n"
-msgid ""
-"*Interaction with other users, maintainers and developers.* Part of being a "
-"maintainer is taking on a support role. You are not expected to provide "
-"general support (but we welcome it if you choose to do so). What you should "
-"provide is a point of coordination for FreeBSD-specific issues regarding "
-"your ports."
+#, no-wrap
+msgid ""
+"*Interaction with other users, maintainers and developers.* Part of being a maintainer is taking on a support role.\n"
+"You are not expected to provide general support (but we welcome it if you choose to do so). What you should provide is a point of coordination for FreeBSD-specific issues regarding your ports.\n"
msgstr ""
"*Взаимодействие с другими пользователями, сопровождающими и разработчиками.* "
"Часть обязанностей сопровождающего включает в себя поддержку.\n"
@@ -1271,19 +1236,11 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/contributing/_index.adoc:378
-#, fuzzy
-#| msgid ""
-#| "*Bug hunting.* A port may be affected by bugs which are specific to "
-#| "FreeBSD.\n"
-#| "You will need to investigate, find, and fix these bugs when they are "
-#| "reported.\n"
-#| "Thoroughly testing a port to identify problems before they make their way "
-#| "into the Ports Collection is even better.\n"
-msgid ""
-"*Bug hunting.* A port may be affected by bugs which are specific to "
-"FreeBSD. You will need to investigate, find, and fix these bugs when they "
-"are reported. Thoroughly testing a port to identify problems before they "
-"make their way into the Ports Collection is even better."
+#, no-wrap
+msgid ""
+"*Bug hunting.* A port may be affected by bugs which are specific to FreeBSD.\n"
+"You will need to investigate, find, and fix these bugs when they are reported.\n"
+"Thoroughly testing a port to identify problems before they make their way into the Ports Collection is even better.\n"
msgstr ""
"*Поиск ошибок.* Порт может быть подвержен ошибкам, специфичным для FreeBSD.\n"
"Вам потребуется исследовать, находить и исправлять эти ошибки при их "
@@ -1293,18 +1250,10 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/contributing/_index.adoc:381
-#, fuzzy
-#| msgid ""
-#| "*Changes to ports infrastructure and policy.* Occasionally the systems "
-#| "that are used to build ports and packages are updated or a new "
-#| "recommendation affecting the infrastructure is made.\n"
-#| "You should be aware of these changes in case your ports are affected and "
-#| "require updating.\n"
-msgid ""
-"*Changes to ports infrastructure and policy.* Occasionally the systems that "
-"are used to build ports and packages are updated or a new recommendation "
-"affecting the infrastructure is made. You should be aware of these changes "
-"in case your ports are affected and require updating."
+#, no-wrap
+msgid ""
+"*Changes to ports infrastructure and policy.* Occasionally the systems that are used to build ports and packages are updated or a new recommendation affecting the infrastructure is made.\n"
+"You should be aware of these changes in case your ports are affected and require updating.\n"
msgstr ""
"*Изменения в инфраструктуре и политике портов.* Иногда обновляются системы, "
"используемые для сборки портов и пакетов, или появляются новые рекомендации, "
@@ -1314,15 +1263,10 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/contributing/_index.adoc:384
-#, fuzzy
-#| msgid ""
-#| "*Changes to the base system.* FreeBSD is under constant development.\n"
-#| "Changes to software, libraries, the kernel or even policy changes can "
-#| "cause flow-on change requirements to ports.\n"
+#, no-wrap
msgid ""
-"*Changes to the base system.* FreeBSD is under constant development. "
-"Changes to software, libraries, the kernel or even policy changes can cause "
-"flow-on change requirements to ports."
+"*Changes to the base system.* FreeBSD is under constant development.\n"
+"Changes to software, libraries, the kernel or even policy changes can cause flow-on change requirements to ports.\n"
msgstr ""
"*Изменения в базовой системе.* FreeBSD находится в постоянной разработке.\n"
"Изменения в программном обеспечении, библиотеках, ядре или даже изменения "
@@ -1432,9 +1376,9 @@ msgstr ""
#: documentation/content/en/articles/contributing/_index.adoc:418
msgid ""
"Make sure your port's dependencies are complete. The recommended way of "
-"doing this is by installing your own ports tinderbox. See "
-"crossref:contributing[resources, Resources for ports maintainers and "
-"contributors] for more information."
+"doing this is by installing your own ports tinderbox. See crossref:"
+"contributing[resources, Resources for ports maintainers and contributors] "
+"for more information."
msgstr ""
"Убедитесь, что зависимости вашего порта полные. Рекомендуемый способ сделать "
"это — установить собственный tinderbox для портов. Дополнительную информацию "
@@ -1453,9 +1397,9 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/contributing/_index.adoc:422
msgid ""
-"Verify your port using man:portlint[1] as a guide. See "
-"crossref:contributing[resources, Resources for ports maintainers and "
-"contributors] for important information about using portlint."
+"Verify your port using man:portlint[1] as a guide. See crossref:"
+"contributing[resources, Resources for ports maintainers and contributors] "
+"for important information about using portlint."
msgstr ""
"Проверьте ваш порт, используя man:portlint[1] в качестве помощника. См. "
"crossref:contributing[resources, Ресурсы для сопровождающих и участников "
@@ -1475,8 +1419,8 @@ msgstr ""
"портах. Если это так, согласуйте изменения с их сопровождающими. Это "
"особенно важно, если ваше обновление изменяет версию разделяемой библиотеки; "
"в этом случае, как минимум, зависимые порты должны получить увеличение "
-"`PORTREVISION`, чтобы автоматизированные инструменты, такие как "
-"package:ports-mgmt/poudriere[], могли их обновить."
+"`PORTREVISION`, чтобы автоматизированные инструменты, такие как package"
+":ports-mgmt/poudriere[], могли их обновить."
#. type: Plain text
#: documentation/content/en/articles/contributing/_index.adoc:427
@@ -1510,7 +1454,7 @@ msgstr ""
"используйте man:git-format-patch[1] или man:diff[1] `-ruN`. Таким образом, "
"коммиттеры смогут гораздо проще увидеть, какие именно изменения были "
"внесены. Раздел extref:{porters-handbook}[Обновление, port-upgrading] в "
-"Руководстве портера содержит дополнительную информацию."
+"Руководстве FreeBSD по созданию портов содержит дополнительную информацию."
#. type: Plain text
#: documentation/content/en/articles/contributing/_index.adoc:438
@@ -1527,8 +1471,8 @@ msgid ""
msgstr ""
"На каком-то этапе коммиттер рассмотрит ваш PR. Это может занять минуты, а "
"может и одну-две недели — так что проявите терпение. Если это займет больше "
-"времени, обратитесь за помощью в почтовые рассылки ({freebsd-ports}), IRC: "
-"#bsdports на EFNet или #freebsd-ports на Libera, например."
+"времени, обратитесь за помощью в почтовые рассылки ({freebsd-ports}), IRC: #"
+"bsdports на EFNet или #freebsd-ports на Libera, например."
#. type: Plain text
#: documentation/content/en/articles/contributing/_index.adoc:443
@@ -1585,8 +1529,8 @@ msgid ""
"release of each stable branch (since the ABIs are not supposed to change) "
"but if you can run the branch, that is even better."
msgstr ""
-"FreeBSD гарантирует работоспособность Коллекции портов только в ветках `-"
-"STABLE`. Теоретически можно обойтись использованием последних выпусков "
+"FreeBSD гарантирует работоспособность Коллекции портов только в ветках "
+"`-STABLE`. Теоретически можно обойтись использованием последних выпусков "
"каждой стабильной ветки (поскольку ABI не должны меняться), но если есть "
"возможность использовать саму ветку, это ещё лучше."
@@ -1599,8 +1543,8 @@ msgid ""
"architecture running native. It is completely fair to ask for help if you "
"do not have one of these machines."
msgstr ""
-"Поскольку большинство установок FreeBSD работают на PC-совместимых машинах "
-"(так называемая архитектура `i386`), мы ожидаем, что порт будет работать на "
+"Поскольку большинство установок FreeBSD работают на PC-совместимых машинах ("
+"так называемая архитектура `i386`), мы ожидаем, что порт будет работать на "
"этой архитектуре. Мы предпочитаем, чтобы порты также работали на архитектуре "
"`amd64` в нативном режиме. Совершенно допустимо попросить о помощи, если у "
"вас нет одной из таких машин."
@@ -1643,9 +1587,9 @@ msgid ""
"portscout.FreeBSD.org[distfiles scanner] to see if any of the port which are "
"failing to build are out of date."
msgstr ""
-"Проверьте свою почту на наличие писем от `pkg-fallout@FreeBSD.org` и http://"
-"portscout.FreeBSD.org[сканера distfiles], чтобы узнать, не устарели ли какие-"
-"либо порты, которые не собираются."
+"Проверьте свою почту на наличие писем от `pkg-fallout@FreeBSD.org` и "
+"http://portscout.FreeBSD.org[сканера distfiles], чтобы узнать, не устарели "
+"ли какие-либо порты, которые не собираются."
#. type: Plain text
#: documentation/content/en/articles/contributing/_index.adoc:478
@@ -1676,8 +1620,8 @@ msgstr "Логи сборки"
#. type: Plain text
#: documentation/content/en/articles/contributing/_index.adoc:485
msgid ""
-"The commands and options used to build the port (including options set in "
-"[.filename]#/etc/make.conf#)"
+"The commands and options used to build the port (including options set in [."
+"filename]#/etc/make.conf#)"
msgstr ""
"Команды и параметры, используемые для сборки порта (включая параметры, "
"установленные в [.filename]#/etc/make.conf#)"
@@ -1686,8 +1630,7 @@ msgstr ""
#: documentation/content/en/articles/contributing/_index.adoc:486
msgid ""
"A list of packages installed on their system as shown by man:pkg-info[8]"
-msgstr ""
-"Список пакетов, установленных в системе, как показано в man:pkg-info[8]"
+msgstr "Список пакетов, установленных в системе, как показано в man:pkg-info[8]"
#. type: Plain text
#: documentation/content/en/articles/contributing/_index.adoc:487
@@ -1799,9 +1742,9 @@ msgid ""
"search/[Problem Report database]. Bugs may also be reported directly to you "
"by users."
msgstr ""
-"Ошибки могут быть сообщены вам по электронной почте через https://"
-"bugs.FreeBSD.org/search/[базу данных отчетов о проблемах]. Также "
-"пользователи могут сообщать об ошибках напрямую вам."
+"Ошибки могут быть сообщены вам по электронной почте через https://bugs."
+"FreeBSD.org/search/[базу данных отчетов о проблемах]. Также пользователи "
+"могут сообщать об ошибках напрямую вам."
#. type: Plain text
#: documentation/content/en/articles/contributing/_index.adoc:524
@@ -2018,8 +1961,8 @@ msgid ""
"for you in the future :-)."
msgstr ""
"Если вы сможете дать им почувствовать, что их вклад ценится (а так и должно "
-"быть), у вас будет больше шансов убедить их сделать для вас больше в "
-"будущем :-)."
+"быть), у вас будет больше шансов убедить их сделать для вас больше в будущем "
+":-)."
#. type: Title ===
#: documentation/content/en/articles/contributing/_index.adoc:582
@@ -2161,11 +2104,11 @@ msgid ""
"on your own ports or use it to find ports that need their `MASTER_SITES` "
"updated."
msgstr ""
-"Сканер дистрибутивных файлов портов FreeBSD (portscout) http://"
-"portscout.FreeBSD.org[FreeBSD Ports distfile scanner (portscout)] может "
-"показать вам порты, для которых дистрибутивные файлы недоступны для "
-"загрузки. Вы можете проверить свои собственные порты или использовать его "
-"для поиска портов, которым требуется обновление `MASTER_SITES`."
+"Сканер дистрибутивных файлов портов FreeBSD (portscout) http://portscout."
+"FreeBSD.org[FreeBSD Ports distfile scanner (portscout)] может показать вам "
+"порты, для которых дистрибутивные файлы недоступны для загрузки. Вы можете "
+"проверить свои собственные порты или использовать его для поиска портов, "
+"которым требуется обновление `MASTER_SITES`."
#. type: delimited block = 4
#: documentation/content/en/articles/contributing/_index.adoc:628
@@ -2193,8 +2136,8 @@ msgstr ""
"соответствия вашего порта многим важным стилистическим и функциональным "
"рекомендациям. portlint — это простое эвристическое приложение, поэтому его "
"следует использовать __только в качестве ориентира__. Если portlint "
-"предлагает изменения, которые кажутся необоснованными, обратитесь к extref:"
-"{porters-handbook}[Руководству портировщика] или попросите совета."
+"предлагает изменения, которые кажутся необоснованными, обратитесь к extref"
+":{porters-handbook}[Руководству портировщика] или попросите совета."
#. type: delimited block = 4
#: documentation/content/en/articles/contributing/_index.adoc:637
@@ -2205,8 +2148,8 @@ msgid ""
"ports-bugs} and the {svn-ports-head} may also be of interest."
msgstr ""
"{freebsd-ports} предназначен для общих обсуждений, связанных с портами. Это "
-"хорошее место для поиска помощи. Вы можете link:https://lists.freebsd.org/"
-"[subscribe, читать и искать в архивах списка]. Также может быть полезно "
+"хорошее место для поиска помощи. Вы можете link:https://lists.freebsd.org/["
+"subscribe, читать и искать в архивах списка]. Также может быть полезно "
"ознакомиться с архивами {freebsd-ports-bugs} и {svn-ports-head}."
#. type: delimited block = 4
diff --git a/documentation/content/ru/articles/contributors/_index.adoc b/documentation/content/ru/articles/contributors/_index.adoc
index 47929df034..9b05ab3cc7 100644
--- a/documentation/content/ru/articles/contributors/_index.adoc
+++ b/documentation/content/ru/articles/contributors/_index.adoc
@@ -60,9 +60,7 @@ endif::[]
[.abstract-title]
Аннотация
-В этой статье перечислены люди и организации, внесшие вклад в FreeBSD. Чтобы
-увидеть текущий список коммиттеров FreeBSD, можно ознакомиться со следующим
-разделом: crossref:contributors[staff-committers, список].
+В этой статье перечислены люди и организации, внесшие вклад в FreeBSD. Чтобы увидеть текущий список коммиттеров FreeBSD, можно ознакомиться со следующим разделом: crossref:contributors[staff-committers, список].
'''
@@ -71,11 +69,7 @@ toc::[]
[[staff-committers]]
== Разработчики FreeBSD
-Этот список, включающий всех членов Основной Команды (Core Team), содержит
-имена всех, у кого есть права на коммит в одном или нескольких из трёх
-деревьев исходников (doc, ports и src). Текущий состав основной команды
-можно посмотреть на
-link:https://www.freebsd.org/administration/#t-core[странице администрации].
+Этот список, включающий всех членов Основной Команды (Core Team), содержит имена всех, у кого есть права на коммит в одном или нескольких из трёх деревьев исходников (doc, ports и src). Текущий состав основной команды можно посмотреть на link:https://www.freebsd.org/administration/#t-core[странице администрации].
(в алфавитном порядке по фамилии):
@@ -84,8 +78,7 @@ include::{include-contrib-committers}[]
[[contrib-corealumni]]
== Бывшие участники основной команды (Core Team)
-Следующие люди были членами основной команды FreeBSD в указанные периоды. Мы
-благодарим их за прошлые усилия на благо проекта FreeBSD.
+Следующие люди были членами основной команды FreeBSD в указанные периоды. Мы благодарим их за прошлые усилия на благо проекта FreeBSD.
_В приблизительном обратном хронологическом порядке:_
@@ -94,8 +87,7 @@ include::{include-contrib-corealumni}[]
[[contrib-develalumni]]
== Бывшие участники команды разработчиков
-Следующие люди были членами команды разработчиков FreeBSD в указанные
-периоды. Мы благодарим их за прошлые усилия на благо проекта FreeBSD.
+Следующие люди были членами команды разработчиков FreeBSD в указанные периоды. Мы благодарим их за прошлые усилия на благо проекта FreeBSD.
_В приблизительном обратном хронологическом порядке:_
@@ -104,8 +96,7 @@ include::{include-contrib-develalumni}[]
[[contrib-portmgralumni]]
== Команда управления портами: бывшие участники
-Следующие люди были членами команды portmgr FreeBSD в указанные периоды. Мы
-благодарим их за прошлые усилия на службе проекта FreeBSD.
+Следующие люди были членами команды portmgr FreeBSD в указанные периоды. Мы благодарим их за прошлые усилия на службе проекта FreeBSD.
_В приблизительном обратном хронологическом порядке:_
@@ -114,8 +105,7 @@ include::{include-contrib-portmgralumni}[]
[[contrib-develinmemoriam]]
== Команда разработчиков: Памяти ушедших
-В течение многих лет существования проекта FreeBSD, к сожалению, некоторые
-из наших разработчиков ушли из жизни. Вот несколько воспоминаний.
+В течение многих лет существования проекта FreeBSD, к сожалению, некоторые из наших разработчиков ушли из жизни. Вот несколько воспоминаний.
_В приблизительном обратном хронологическом порядке их ухода:_
@@ -124,16 +114,9 @@ include::{include-path}contrib-develinmemoriam.adoc[]
[[contrib-derived]]
== Участники разработки производного программного обеспечения
-Это программное обеспечение изначально было получено из релиза 386BSD 0.1
-Уильяма Ф. Джолитца, хотя почти ни один из оригинальных фрагментов кода,
-специфичных для 386BSD, не сохранился. Данное программное обеспечение было
-практически полностью переработано на основе релиза 4.4BSD-Lite,
-предоставленного Исследовательской группой компьютерных наук (CSRG)
-Калифорнийского университета в Беркли и связанными с ней академическими
-участниками.
+Это программное обеспечение изначально было получено из релиза 386BSD 0.1 Уильяма Ф. Джолитца, хотя почти ни один из оригинальных фрагментов кода, специфичных для 386BSD, не сохранился. Данное программное обеспечение было практически полностью переработано на основе релиза 4.4BSD-Lite, предоставленного Исследовательской группой компьютерных наук (CSRG) Калифорнийского университета в Беркли и связанными с ней академическими участниками.
-В FreeBSD также включены части NetBSD и OpenBSD, поэтому мы хотели бы
-поблагодарить всех участников разработки NetBSD и OpenBSD за их труд.
+В FreeBSD также включены части NetBSD и OpenBSD, поэтому мы хотели бы поблагодарить всех участников разработки NetBSD и OpenBSD за их труд.
[[contrib-additional]]
== Дополнительные участники проекта FreeBSD
@@ -152,13 +135,9 @@ include::{include-contrib-386bsd}[]
[[donors]]
== Галерея доноров
-Фонд FreeBSD благодарит
-https://freebsdfoundation.org/our-donors/donors/[финансовых доноров и
-доноров оборудования].
+Фонд FreeBSD благодарит https://freebsdfoundation.org/our-donors/donors/[финансовых доноров и доноров оборудования].
-https://www.freebsd.org/donations/[FreeBSD Donations Liaison] включает
-https://www.freebsd.org/donations/donors/[список пожертвованного
-оборудования].
+https://www.freebsd.org/donations/[FreeBSD Donations Liaison] включает https://www.freebsd.org/donations/donors/[список пожертвованного оборудования].
Проект FreeBSD благодарит всех предоставивших помощь!
@@ -169,29 +148,19 @@ https://www.freebsd.org/donations/donors/[список пожертвованн
=== Участники проекта центрального сервера
-Следующие частные лица и компании сделали возможным для проекта FreeBSD
-создание нового центрального серверного оборудования, которое в определённый
-момент заменило `freefall.FreeBSD.org`, пожертвовав следующие компоненты:
-
-* {mbarkah} и его работодатель, http://www.hemi.com/[Hemisphere Online],
- пожертвовали процессор _Pentium Pro (P6) 200 МГц_.
-* http://www.asacomputers.com/[ASA Computers] подарили _материнскую плату Tyan
- 1662_.
-* Джо МакГакин <mailto:joe@via.net[joe@via.net]> из http://www.via.net/[ViaNet
- Communications] пожертвовал _контроллер Ethernet от Kingston_.
-* Джек О'Нил <mailto:jack@diamond.xtalwind.net[jack@diamond.xtalwind.net]>
- пожертвовал _SCSI-контроллер NCR 53C875_.
-* Ульф Циммерманн <mailto:ulf@Alameda.net[ulf@Alameda.net]> из
- http://www.Alameda.net/[Alameda Networks] пожертвовал _128 МБ памяти_, _4 ГБ
- жёсткого диска и корпус_.
+Следующие частные лица и компании сделали возможным для проекта FreeBSD создание нового центрального серверного оборудования, которое в определённый момент заменило `freefall.FreeBSD.org`, пожертвовав следующие компоненты:
+
+* {mbarkah} и его работодатель, http://www.hemi.com/[Hemisphere Online], пожертвовали процессор _Pentium Pro (P6) 200 МГц_.
+* http://www.asacomputers.com/[ASA Computers] подарили _материнскую плату Tyan 1662_.
+* Джо МакГакин <mailto:joe@via.net[joe@via.net]> из http://www.via.net/[ViaNet Communications] пожертвовал _контроллер Ethernet от Kingston_.
+* Джек О'Нил <mailto:jack@diamond.xtalwind.net[jack@diamond.xtalwind.net]> пожертвовал _SCSI-контроллер NCR 53C875_.
+* Ульф Циммерманн <mailto:ulf@Alameda.net[ulf@Alameda.net]> из http://www.Alameda.net/[Alameda Networks] пожертвовал _128 МБ памяти_, _4 ГБ жёсткого диска и корпус_.
=== Прямое финансирование
-Следующие частные лица и компании щедро внесли прямые финансовые вклады в
-проект:
+Следующие частные лица и компании щедро внесли прямые финансовые вклады в проект:
-* Annelise Anderson
- <mailto:andrsn@hoover.stanford.edu[andrsn@hoover.stanford.edu]>.
+* Annelise Anderson <mailto:andrsn@hoover.stanford.edu[andrsn@hoover.stanford.edu]>.
* {dillon}.
* http://www.bluemountain.com/[Blue Mountain Arts].
* http://www.epilogue.com/[Epilogue Technology Corporation].
@@ -202,82 +171,35 @@ https://www.freebsd.org/donations/donors/[список пожертвованн
* Josef C. Grosch <mailto:joeg@truenorth.org[joeg@truenorth.org]>.
* Robert T. Morris.
* {chuckr}.
-* Кеннет П. Стокс <mailto:ken@stox.sa.enteract.com[ken@stox.sa.enteract.com]>
- из http://www.imagescape.com/[Imaginary Landscape, LLC.].
+* Кеннет П. Стокс <mailto:ken@stox.sa.enteract.com[ken@stox.sa.enteract.com]> из http://www.imagescape.com/[Imaginary Landscape, LLC.].
* Dmitry S. Kohmanyuk <mailto:dk@dog.farm.org[dk@dog.farm.org]>.
-* http://www.cdrom.co.jp/[Laser5] из Японии (часть прибыли от продаж их
- различных FreeBSD CDROM идет на поддержку проекта).
-* http://www.mmjp.or.jp/fuki/[Fuki Shuppan Publishing Co.] пожертвовала часть
- прибыли от книги _Hajimete no FreeBSD_ (FreeBSD, начало работы) проектам
- FreeBSD и XFree86.
-* http://www.ascii.co.jp/[ASCII Corp.] пожертвовала часть прибыли от
- нескольких книг, связанных с FreeBSD, проекту FreeBSD.
-* http://www.yokogawa.co.jp/[Yokogawa Electric Corp] щедро предоставила
- значительное финансирование проекту FreeBSD.
+* http://www.cdrom.co.jp/[Laser5] из Японии (часть прибыли от продаж их различных FreeBSD CDROM идет на поддержку проекта).
+* http://www.mmjp.or.jp/fuki/[Fuki Shuppan Publishing Co.] пожертвовала часть прибыли от книги _Hajimete no FreeBSD_ (FreeBSD, начало работы) проектам FreeBSD и XFree86.
+* http://www.ascii.co.jp/[ASCII Corp.] пожертвовала часть прибыли от нескольких книг, связанных с FreeBSD, проекту FreeBSD.
+* http://www.yokogawa.co.jp/[Yokogawa Electric Corp] щедро предоставила значительное финансирование проекту FreeBSD.
* http://www.buffnet.net/[BuffNET].
* http://www.pacificsolutions.com/[Pacific Solutions].
-* http://www.siemens.de/[Siemens AG] via Andre Albsmeier
- <mailto:andre.albsmeier@mchp.siemens.de[andre.albsmeier@mchp.siemens.de]>.
+* http://www.siemens.de/[Siemens AG] via Andre Albsmeier <mailto:andre.albsmeier@mchp.siemens.de[andre.albsmeier@mchp.siemens.de]>.
* Chris Silva <mailto:ras@interaccess.com[ras@interaccess.com]>.
=== Участники разработки аппаратного обеспечения
-Следующие частные лица и компании любезно предоставили оборудование для
-тестирования и разработки/поддержки драйверов устройств:
-
-* BSDi за предоставление систем Pentium P5-90 и 486/DX2-66 EISA/VL, которые
- используются в нашей разработке, не говоря уже о сетевом доступе и других
- пожертвованиях аппаратных ресурсов.
-* http://www.compaq.com[Compaq] пожертвовал FreeBSD Project разнообразные
- системы Alpha. Среди множества щедрых пожертвований — 4 AlphaStation DS10,
- AlphaServer DS20, AlphaServer 2100, AlphaServer 4100, 8 персональных рабочих
- станций с частотой 500 МГц, 4 персональные рабочие станции с частотой 433
- МГц и многое другое! Эти машины используются для сборки релизов, создания
- пакетов, разработки SMP и общей разработки архитектуры Alpha.
-* TRW Financial Systems, Inc. предоставила 130 ПК, три файловых сервера по 68
- ГБ, двенадцать сетей Ethernet, два маршрутизатора и коммутатор ATM для
- отладки кода бездисковой системы
-* Дермот МакДоннелл предоставил привод CDROM Toshiba XM3401B, который в
- настоящее время используется в _freefall_.
-* Чак Роби <mailto:chuckr@glue.umd.edu[chuckr@glue.umd.edu]> предоставил свой
- потоковый накопитель на гибких дисках для экспериментальной работы.
-* Ларри Альтной <mailto:larry@alr.com[larry@alr.com],> и {wilko} предоставили
- стримеры Wangtek и Archive QIC-02 для улучшения драйвера [.filename]#wt#.
-* Эрнст Винтер (http://berklix.org/ewinter/[Умер]) предоставил проекту
- дисковод на 2,88 МБ. Надеемся, это усилит внимание к необходимости
- переписать драйвер для дискет.
-* http://www.tekram.com/[Tekram Technologies] предоставили по одному
- экземпляру своих SCSI-адаптеров DC-390, DC-390U и DC-390F FAST и ULTRA для
- регрессионного тестирования драйверов NCR и AMD с их картами. Также их стоит
- похвалить за предоставление исходных кодов драйверов для свободных
- операционных систем на их FTP-сервере
- link:ftp://ftp.tekram.com/scsi/FreeBSD/[ftp://ftp.tekram.com/scsi/FreeBSD/].
-* Ларри М. Аугустин предоставил не только SCSI-карту Symbios Sym8751S, но и
- набор технической документации, включая руководство по предстоящему чипу
- Sym53c895 с поддержкой Ultra-2 и LVD, а также последнюю версию руководства
- по программированию с информацией о безопасном использовании расширенных
- функций новейших SCSI-чипов Symbios. Большое спасибо!
-* {kuku} пожертвовал FX120 12-скоростной Mitsumi CD-ROM привод для разработки
- драйвера IDE CD-ROM.
-* Mike Tancsa <mailto:mike@sentex.ca[mike@sentex.ca]> пожертвовал четыре
- различные PCI-карты ATM для расширения поддержки этих карт, а также для
- помощи в разработке стека netatm ATM.
+Следующие частные лица и компании любезно предоставили оборудование для тестирования и разработки/поддержки драйверов устройств:
+
+* BSDi за предоставление систем Pentium P5-90 и 486/DX2-66 EISA/VL, которые используются в нашей разработке, не говоря уже о сетевом доступе и других пожертвованиях аппаратных ресурсов.
+* http://www.compaq.com[Compaq] пожертвовал FreeBSD Project разнообразные системы Alpha. Среди множества щедрых пожертвований — 4 AlphaStation DS10, AlphaServer DS20, AlphaServer 2100, AlphaServer 4100, 8 персональных рабочих станций с частотой 500 МГц, 4 персональные рабочие станции с частотой 433 МГц и многое другое! Эти машины используются для сборки релизов, создания пакетов, разработки SMP и общей разработки архитектуры Alpha.
+* TRW Financial Systems, Inc. предоставила 130 ПК, три файловых сервера по 68 ГБ, двенадцать сетей Ethernet, два маршрутизатора и коммутатор ATM для отладки кода бездисковой системы
+* Дермот МакДоннелл предоставил привод CDROM Toshiba XM3401B, который в настоящее время используется в _freefall_.
+* Чак Роби <mailto:chuckr@glue.umd.edu[chuckr@glue.umd.edu]> предоставил свой потоковый накопитель на гибких дисках для экспериментальной работы.
+* Ларри Альтной <mailto:larry@alr.com[larry@alr.com],> и {wilko} предоставили стримеры Wangtek и Archive QIC-02 для улучшения драйвера [.filename]#wt#.
+* Эрнст Винтер (http://berklix.org/ewinter/[Умер]) предоставил проекту дисковод на 2,88 МБ. Надеемся, это усилит внимание к необходимости переписать драйвер для дискет.
+* http://www.tekram.com/[Tekram Technologies] предоставили по одному экземпляру своих SCSI-адаптеров DC-390, DC-390U и DC-390F FAST и ULTRA для регрессионного тестирования драйверов NCR и AMD с их картами. Также их стоит похвалить за предоставление исходных кодов драйверов для свободных операционных систем на их FTP-сервере link:ftp://ftp.tekram.com/scsi/FreeBSD/[ftp://ftp.tekram.com/scsi/FreeBSD/].
+* Ларри М. Аугустин предоставил не только SCSI-карту Symbios Sym8751S, но и набор технической документации, включая руководство по предстоящему чипу Sym53c895 с поддержкой Ultra-2 и LVD, а также последнюю версию руководства по программированию с информацией о безопасном использовании расширенных функций новейших SCSI-чипов Symbios. Большое спасибо!
+* {kuku} пожертвовал FX120 12-скоростной Mitsumi CD-ROM привод для разработки драйвера IDE CD-ROM.
+* Mike Tancsa <mailto:mike@sentex.ca[mike@sentex.ca]> пожертвовал четыре различные PCI-карты ATM для расширения поддержки этих карт, а также для помощи в разработке стека netatm ATM.
=== Особые участники
-* http://www.osd.bsdi.com/[BSDi] (ранее Walnut Creek CDROM) пожертвовали
- больше, чем мы можем выразить (подробности см. в разделе 'О проекте FreeBSD'
- extref:{handbook}[FreeBSD Handbook]). В частности, мы хотели бы
- поблагодарить их за первоначальное оборудование, использованное для
- `freefall.FreeBSD.org`, нашей основной машины разработки, и для
- `thud.FreeBSD.org`, тестовой и сборочной системы. Мы также благодарны им за
- финансирование различных участников на протяжении многих лет и
- предоставление неограниченного доступа к их T1-подключению к Интернету.
-* Компания http://www.interface-business.de/[interface business GmbH, Дрезден]
- терпеливо поддерживала {joerg}, который часто отдавал предпочтение работе с
- FreeBSD вместо оплачиваемой работы и использовал их (довольно дорогое)
- интернет-подключение EUnet, когда его личное соединение становилось слишком
- медленным или ненадежным для работы.
-* http://www.bsdi.com/[Berkeley Software Design, Inc.] предоставила свой код
- эмулятора DOS для остального мира BSD, который используется в команде
- `doscmd`.
+* http://www.osd.bsdi.com/[BSDi] (ранее Walnut Creek CDROM) пожертвовали больше, чем мы можем выразить (подробности см. в разделе 'О проекте FreeBSD' extref:{handbook}[FreeBSD Handbook]). В частности, мы хотели бы поблагодарить их за первоначальное оборудование, использованное для `freefall.FreeBSD.org`, нашей основной машины разработки, и для `thud.FreeBSD.org`, тестовой и сборочной системы. Мы также благодарны им за финансирование различных участников на протяжении многих лет и предоставление неограниченного доступа к их T1-подключению к Интернету.
+* Компания http://www.interface-business.de/[interface business GmbH, Дрезден] терпеливо поддерживала {joerg}, который часто отдавал предпочтение работе с FreeBSD вместо оплачиваемой работы и использовал их (довольно дорогое) интернет-подключение EUnet, когда его личное соединение становилось слишком медленным или ненадежным для работы.
+* http://www.bsdi.com/[Berkeley Software Design, Inc.] предоставила свой код эмулятора DOS для остального мира BSD, который используется в команде `doscmd`.
diff --git a/documentation/content/ru/articles/contributors/_index.po b/documentation/content/ru/articles/contributors/_index.po
index d8e9eed000..8127fae338 100644
--- a/documentation/content/ru/articles/contributors/_index.po
+++ b/documentation/content/ru/articles/contributors/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-09-22 20:54+0300\n"
+"POT-Creation-Date: 2024-09-14 14:59-0300\n"
"PO-Revision-Date: 2025-08-11 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,7 +18,7 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/articles/contributors/_index.adoc:1
#, no-wrap
msgid "A list of organizations and individuals who have contributed to FreeBSD"
@@ -70,8 +70,8 @@ msgstr ""
"Этот список, включающий всех членов Основной Команды (Core Team), содержит "
"имена всех, у кого есть права на коммит в одном или нескольких из трёх "
"деревьев исходников (doc, ports и src). Текущий состав основной команды "
-"можно посмотреть на link:https://www.freebsd.org/administration/#t-"
-"core[странице администрации]."
+"можно посмотреть на link:https://www.freebsd.org/administration/#t-core["
+"странице администрации]."
#. type: Plain text
#: documentation/content/en/articles/contributors/_index.adoc:78
@@ -216,8 +216,8 @@ msgid ""
"The FreeBSD Foundation thanks https://freebsdfoundation.org/our-donors/"
"donors/[financial and in-kind donors]."
msgstr ""
-"Фонд FreeBSD благодарит https://freebsdfoundation.org/our-donors/donors/"
-"[финансовых доноров и доноров оборудования]."
+"Фонд FreeBSD благодарит https://freebsdfoundation.org/our-donors/donors/["
+"финансовых доноров и доноров оборудования]."
#. type: Plain text
#: documentation/content/en/articles/contributors/_index.adoc:149
@@ -251,8 +251,8 @@ msgstr "Участники проекта центрального сервер
#: documentation/content/en/articles/contributors/_index.adoc:160
msgid ""
"The following individuals and businesses made it possible for the FreeBSD "
-"Project to build a new central server machine, which has replaced "
-"`freefall.FreeBSD.org` at one point, by donating the following items:"
+"Project to build a new central server machine, which has replaced `freefall."
+"FreeBSD.org` at one point, by donating the following items:"
msgstr ""
"Следующие частные лица и компании сделали возможным для проекта FreeBSD "
"создание нового центрального серверного оборудования, которое в определённый "
@@ -297,13 +297,13 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/contributors/_index.adoc:166
msgid ""
-"Ulf Zimmermann <mailto:ulf@Alameda.net[ulf@Alameda.net]> of http://"
-"www.Alameda.net/[Alameda Networks] donated _128MB of memory_, a _4 Gb disk "
-"drive and the case_."
+"Ulf Zimmermann <mailto:ulf@Alameda.net[ulf@Alameda.net]> of http://www."
+"Alameda.net/[Alameda Networks] donated _128MB of memory_, a _4 Gb disk drive "
+"and the case_."
msgstr ""
-"Ульф Циммерманн <mailto:ulf@Alameda.net[ulf@Alameda.net]> из http://"
-"www.Alameda.net/[Alameda Networks] пожертвовал _128 МБ памяти_, _4 ГБ "
-"жёсткого диска и корпус_."
+"Ульф Циммерманн <mailto:ulf@Alameda.net[ulf@Alameda.net]> из http://www."
+"Alameda.net/[Alameda Networks] пожертвовал _128 МБ памяти_, _4 ГБ жёсткого "
+"диска и корпус_."
#. type: Title ===
#: documentation/content/en/articles/contributors/_index.adoc:167
@@ -323,11 +323,11 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/contributors/_index.adoc:172
msgid ""
-"Annelise Anderson "
-"<mailto:andrsn@hoover.stanford.edu[andrsn@hoover.stanford.edu]>."
+"Annelise Anderson <mailto:andrsn@hoover.stanford.edu[andrsn@hoover.stanford."
+"edu]>."
msgstr ""
-"Annelise Anderson "
-"<mailto:andrsn@hoover.stanford.edu[andrsn@hoover.stanford.edu]>."
+"Annelise Anderson <mailto:andrsn@hoover.stanford.edu[andrsn@hoover.stanford."
+"edu]>."
#. type: Plain text
#: documentation/content/en/articles/contributors/_index.adoc:173
@@ -446,11 +446,11 @@ msgstr "http://www.pacificsolutions.com/[Pacific Solutions]."
#. type: Plain text
#: documentation/content/en/articles/contributors/_index.adoc:191
msgid ""
-"http://www.siemens.de/[Siemens AG] via Andre Albsmeier "
-"<mailto:andre.albsmeier@mchp.siemens.de[andre.albsmeier@mchp.siemens.de]>."
+"http://www.siemens.de/[Siemens AG] via Andre Albsmeier <mailto:andre."
+"albsmeier@mchp.siemens.de[andre.albsmeier@mchp.siemens.de]>."
msgstr ""
-"http://www.siemens.de/[Siemens AG] via Andre Albsmeier "
-"<mailto:andre.albsmeier@mchp.siemens.de[andre.albsmeier@mchp.siemens.de]>."
+"http://www.siemens.de/[Siemens AG] via Andre Albsmeier <mailto:andre."
+"albsmeier@mchp.siemens.de[andre.albsmeier@mchp.siemens.de]>."
#. type: Plain text
#: documentation/content/en/articles/contributors/_index.adoc:192
@@ -556,8 +556,8 @@ msgid ""
"DC-390U and DC-390F FAST and ULTRA SCSI host adapter cards for regression "
"testing of the NCR and AMD drivers with their cards. They are also to be "
"applauded for making driver sources for free operating systems available "
-"from their FTP server link:ftp://ftp.tekram.com/scsi/FreeBSD/[ftp://"
-"ftp.tekram.com/scsi/FreeBSD/]."
+"from their FTP server link:ftp://ftp.tekram.com/scsi/FreeBSD/[ftp://ftp."
+"tekram.com/scsi/FreeBSD/]."
msgstr ""
"http://www.tekram.com/[Tekram Technologies] предоставили по одному "
"экземпляру своих SCSI-адаптеров DC-390, DC-390U и DC-390F FAST и ULTRA для "
@@ -613,20 +613,20 @@ msgid ""
"http://www.osd.bsdi.com/[BSDi] (formerly Walnut Creek CDROM) has donated "
"almost more than we can say (see the 'About the FreeBSD Project' section of "
"the extref:{handbook}[FreeBSD Handbook] for more details). In particular, we "
-"would like to thank them for the original hardware used for "
-"`freefall.FreeBSD.org`, our primary development machine, and for "
-"`thud.FreeBSD.org`, a testing and build box. We are also indebted to them "
-"for funding various contributors over the years and providing us with "
-"unrestricted use of their T1 connection to the Internet."
+"would like to thank them for the original hardware used for `freefall."
+"FreeBSD.org`, our primary development machine, and for `thud.FreeBSD.org`, a "
+"testing and build box. We are also indebted to them for funding various "
+"contributors over the years and providing us with unrestricted use of their "
+"T1 connection to the Internet."
msgstr ""
"http://www.osd.bsdi.com/[BSDi] (ранее Walnut Creek CDROM) пожертвовали "
"больше, чем мы можем выразить (подробности см. в разделе 'О проекте FreeBSD' "
"extref:{handbook}[FreeBSD Handbook]). В частности, мы хотели бы "
-"поблагодарить их за первоначальное оборудование, использованное для "
-"`freefall.FreeBSD.org`, нашей основной машины разработки, и для "
-"`thud.FreeBSD.org`, тестовой и сборочной системы. Мы также благодарны им за "
-"финансирование различных участников на протяжении многих лет и "
-"предоставление неограниченного доступа к их T1-подключению к Интернету."
+"поблагодарить их за первоначальное оборудование, использованное для `freefall"
+".FreeBSD.org`, нашей основной машины разработки, и для `thud.FreeBSD.org`, "
+"тестовой и сборочной системы. Мы также благодарны им за финансирование "
+"различных участников на протяжении многих лет и предоставление "
+"неограниченного доступа к их T1-подключению к Интернету."
#. type: Plain text
#: documentation/content/en/articles/contributors/_index.adoc:213
diff --git a/documentation/content/ru/articles/contributors/contrib-develinmemoriam.adoc b/documentation/content/ru/articles/contributors/contrib-develinmemoriam.adoc
index 83f5904632..70014c9511 100644
--- a/documentation/content/ru/articles/contributors/contrib-develinmemoriam.adoc
+++ b/documentation/content/ru/articles/contributors/contrib-develinmemoriam.adoc
@@ -1,181 +1,81 @@
* Майк Карелс (2016 - 2024; RIP 2024)
+
-Майк Карелс, изначально аспирант по микробиологии в Калифорнийском
-университете в Беркли (UCB), проявил интерес к компьютерам в соседней
-лаборатории, что привело к полной смене его карьеры. В начале 1980-х он
-присоединился к Исследовательской группе компьютерных систем (CSRG) в
-UCB. Там его вклад стал ключевым в разработке и улучшении реализации
-TCP/UDP/IP в BSD Unix, включая API интерфейса сокетов — один из наиболее
-широко используемых интерфейсов программирования приложений в истории
-Интернета.
-+
-В течение следующих нескольких лет он продолжал помогать в подготовке
-выпусков Berkeley Software Distribution для 4.3BSD, 4.3BSD-Tahoe,
-4.3BSD-Reno, Networking Release 1 и Networking Release 2. В это время он был
-одним из авторов книги "The Design and Implementation of the 4.3BSD Unix
-Operating System" — важного труда в области компьютеров и операционных
-систем, опубликованного в 1989 году.
-+
-После ухода из CSRG он стал одним из основателей BSD Incorporated (BSDi),
-одного из первых поставщиков программного обеспечения BSD Unix в исходных и
-бинарных форматах. Майк оставался верен своему делу, несмотря на
-многочисленные организационные изменения в Walnut Creek CDROM, Wind River
-Systems, Secure Computing, McAfee, Intel Security и Forcepoint.
-+
-В 1994 году, по случаю 25-летия Unix, ассоциация USENIX удостоила Майка
-включения в Колоду карт Unix — набор игральных карт с изображениями пионеров
-раннего сообщества Unix. Он значится как Семёрка пик.
-+
-Он также участвовал в проекте FreeBSD и внес значительный вклад в его
-развитие на протяжении многих лет, включая дополнения к подсистеме sysctl и
-фреймворку Mandatory Access Control (MAC), в итоге получив право на коммиты
-в src. После выхода на пенсию он активно помогал с инженерингом выпусков
-FreeBSD и был избран в состав основной команды незадолго до своей внезапной
-кончины по пути домой с конференции BSDCan 2024. Всего годом ранее он
-представил увлекательный ретроспективный доклад о своей работе с BSD на
-BSDCan 2023, который можно посмотреть на YouTube:
-https://www.youtube.com/watch?v=XSziyKlG1ws.
-+
-Майк запомнился как выдающийся инженер-программист, терпеливый, скромный и
-отзывчивый к тем, кому требовалась помощь. Он наслаждался музыкой,
-фотографией и природой, а также проводил время с семьёй. Страница памяти
-Майка доступна по адресу
-https://www.gearty-delmore.com/obituaries/michael-mike-karels.
+Майк Карелс, изначально аспирант по микробиологии в Калифорнийском университете в Беркли (UCB), проявил интерес к компьютерам в соседней лаборатории, что привело к полной смене его карьеры. В начале 1980-х он присоединился к Исследовательской группе компьютерных систем (CSRG) в UCB. Там его вклад стал ключевым в разработке и улучшении реализации TCP/UDP/IP в BSD Unix, включая API интерфейса сокетов — один из наиболее широко используемых интерфейсов программирования приложений в истории Интернета.
++
+В течение следующих нескольких лет он продолжал помогать в подготовке выпусков Berkeley Software Distribution для 4.3BSD, 4.3BSD-Tahoe, 4.3BSD-Reno, Networking Release 1 и Networking Release 2. В это время он был одним из авторов книги "The Design and Implementation of the 4.3BSD Unix Operating System" — важного труда в области компьютеров и операционных систем, опубликованного в 1989 году.
++
+После ухода из CSRG он стал одним из основателей BSD Incorporated (BSDi), одного из первых поставщиков программного обеспечения BSD Unix в исходных и бинарных форматах. Майк оставался верен своему делу, несмотря на многочисленные организационные изменения в Walnut Creek CDROM, Wind River Systems, Secure Computing, McAfee, Intel Security и Forcepoint.
++
+В 1994 году, по случаю 25-летия Unix, ассоциация USENIX удостоила Майка включения в Колоду карт Unix — набор игральных карт с изображениями пионеров раннего сообщества Unix. Он значится как Семёрка пик.
++
+Он также участвовал в проекте FreeBSD и внес значительный вклад в его развитие на протяжении многих лет, включая дополнения к подсистеме sysctl и фреймворку Mandatory Access Control (MAC), в итоге получив право на коммиты в src. После выхода на пенсию он активно помогал с управлением выпусками FreeBSD и был избран в состав основной команды незадолго до своей внезапной кончины по пути домой с конференции BSDCan 2024. Всего годом ранее он представил увлекательный ретроспективный доклад о своей работе с BSD на BSDCan 2023, который можно посмотреть на YouTube: https://www.youtube.com/watch?v=XSziyKlG1ws.
++
+Майк запомнился как выдающийся инженер-программист, терпеливый, скромный и отзывчивый к тем, кому требовалась помощь. Он наслаждался музыкой, фотографией и природой, а также проводил время с семьёй. Страница памяти Майка доступна по адресу https://www.gearty-delmore.com/obituaries/michael-mike-karels.
* Ханс Петтер Селаски (2010 - 2023; RIP 2023)
+
-Сообщество FreeBSD вспоминает Ханса Петтера Селаски, который скончался в
-Лиллесанде, Норвегия, 23 июня 2023 года в возрасте 41 года. Ханс был
-невероятно талантливым и добрым человеком, внесшим множество ценных вкладов
-в FreeBSD. Он наиболее известен за переработку и поддержку стека USB и
-пакета webcamd, который обеспечивает современные телеконференции в
-FreeBSD. В последнее время он работал в Mellanox (ныне Nvidia), поддерживая
-их серию высокоскоростных сетевых карт ConnectX в FreeBSD. Работа Ханса
-включала значительный вклад в фреймворк TLS ядра, а также поддержку оффлоада
-отправки и приема kTLS на сетевых картах в драйвере mce(4).
-+
-Одним из примеров улучшения была его идея сортировки входящих TCP-пакетов с
-использованием предоставленных NIC идентификаторов потоков RSS, чтобы
-представить LRO все пакеты из одного TCP-соединения подряд. Эта идея была
-ключевой для возможности Netflix обслуживать 100 Гбит/с видеотрафика с одной
-машины.
-+
-Вне FreeBSD, у Ханса были увлечения музыкой и математикой. Он активно
-участвовал в жизни своей церкви и помогал команде, занимающейся звуком. Он
-был любящим и заботливым дядей для своих племянников и племянниц. Он любил
-животных, особенно своего кота Пумбу.
-+
-Более полная версия воспоминаний доступна по ссылке:
-link:https://forums.freebsd.org/threads/in-memoriam-hans-petter-william-sirevag-selasky.89697/[на
-этой странице форума FreeBSD].
+Сообщество FreeBSD вспоминает Ханса Петтера Селаски, который скончался в Лиллесанде, Норвегия, 23 июня 2023 года в возрасте 41 года. Ханс был невероятно талантливым и добрым человеком, внесшим множество ценных вкладов в FreeBSD. Он наиболее известен за переработку и поддержку стека USB и пакета webcamd, который обеспечивает современные телеконференции в FreeBSD. В последнее время он работал в Mellanox (ныне Nvidia), поддерживая их серию высокоскоростных сетевых карт ConnectX в FreeBSD. Работа Ханса включала значительный вклад в фреймворк TLS ядра, а также поддержку оффлоада отправки и приема kTLS на сетевых картах в драйвере mce(4).
++
+Одним из примеров улучшения была его идея сортировки входящих TCP-пакетов с использованием предоставленных NIC идентификаторов потоков RSS, чтобы представить LRO все пакеты из одного TCP-соединения подряд. Эта идея была ключевой для возможности Netflix обслуживать 100 Гбит/с видеотрафика с одной машины.
++
+Вне FreeBSD, у Ханса были увлечения музыкой и математикой. Он активно участвовал в жизни своей церкви и помогал команде, занимающейся звуком. Он был любящим и заботливым дядей для своих племянников и племянниц. Он любил животных, особенно своего кота Пумбу.
++
+Более полная версия воспоминаний доступна по ссылке: link:https://forums.freebsd.org/threads/in-memoriam-hans-petter-william-sirevag-selasky.89697/[на этой странице форума FreeBSD].
* Брюс Д. Эванс (1991 - 2019; RIP 2019)
+
Брюс был гигантом программирования, для которого FreeBSD стал домом.
+
-До FreeBSD и Linux была Minix, игрушечная «unix», написанная Энди
-Таненбаумом, выпущенная в 1987 году, продававшаяся с полными исходниками на
-трёх дискетах за $99.
+До FreeBSD и Linux была Minix, игрушечная «unix», написанная Энди Таненбаумом, выпущенная в 1987 году, продававшаяся с полными исходниками на трёх дискетах за $99.
+
Брюс портировал Minix на i386 около 1989 года.
+
-Линус Торвальдс использовал Minix/386 для разработки собственного ядра, и
-Брюс был первым, кого он поблагодарил в анонсе релиза.
+Линус Торвальдс использовал Minix/386 для разработки собственного ядра, и Брюс был первым, кого он поблагодарил в анонсе релиза.
+
-Когда Билл Джолитц выпустил 386BSD 0.1 в 1992 году, Брюс был указан как
-участник.
+Когда Билл Джолитц выпустил 386BSD 0.1 в 1992 году, Брюс был указан как участник.
+
-Брюс был одним из основателей проекта FreeBSD и входил в состав core.0, но
-он никогда не был пристрастным, и на протяжении многих лет множество других
-проектов получали пользу от его патчей, советов и мудрости.
+Брюс был одним из основателей проекта FreeBSD и входил в состав core.0, но он никогда не был пристрастным, и на протяжении многих лет множество других проектов получали пользу от его патчей, советов и мудрости.
+
-Рецензии кода от Брюса были трех видов: "мягкие", "брюсифицированные" и
-"брюсификация", но они никогда не были личными: всегда речь шла только о
-коде, ошибках, небрежном мышлении, упущенном историческом контексте,
-неоднозначных стандартах — и о нарушениях style(9).
+Рецензии кода от Брюса были трех видов: "мягкие", "брюсифицированные" и "брюсификация", но они никогда не были личными: всегда речь шла только о коде, ошибках, небрежном мышлении, упущенном историческом контексте, неоднозначных стандартах — и о нарушениях style(9).
+
-Поскольку Брюс провёл больше рецензий кода, чем кто-либо в истории проекта
-FreeBSD, журналы коммитов скрывают истинный масштаб его влияния, пока вы не
-обратите внимание на «Submitted by», «Reviewed by» и «Pointed out by».
+Поскольку Брюс провёл больше рецензий кода, чем кто-либо в истории проекта FreeBSD, журналы коммитов скрывают истинный масштаб его влияния, пока вы не обратите внимание на «Submitted by», «Reviewed by» и «Pointed out by».
+
Глухой на ухо, Брюс не посещал конференции.
+
-Заметным исключением стал BSDcon в 1999 году в Калифорнии, где его коллеги
-по основной команде встретили его фразой "Мы недостойны!" в стиле "Мир
-Уэйна".
+Заметным исключением стал BSDcon в 1999 году в Калифорнии, где его коллеги по основной команде встретили его фразой "Мы недостойны!" в стиле "Мир Уэйна".
+
Двадцать лет спустя мы всё ещё не достойны.
* Курт Лидл (2015 - 2019; RIP 2019)
+
-Курт впервые познакомился с BSD, когда это был ещё проект в Университете
-Калифорнии в Беркли. Вскоре после того, как в Мэриленде стали доступны
-персонализированные номерные знаки, он получил «BSDWZRD».
+Курт впервые познакомился с BSD, когда это был ещё проект в Университете Калифорнии в Беркли. Вскоре после того, как в Мэриленде стали доступны персонализированные номерные знаки, он получил «BSDWZRD».
+
-Он начал вносить вклад в FreeBSD вскоре после создания проекта. Он стал
-коммиттером исходного кода FreeBSD в октябре 2015 года.
+Он начал вносить вклад в FreeBSD вскоре после создания проекта. Он стал коммиттером исходного кода FreeBSD в октябре 2015 года.
+
-Наиболее известным проектом Курта в FreeBSD был man:blacklistd[8], который
-блокирует и освобождает порты по требованию для защиты от злоупотреблений
-типа DoS. Он также внес множество других исправлений ошибок и улучшений в
-DTrace, загрузчики и другие компоненты инфраструктуры FreeBSD.
+Наиболее известным проектом Курта в FreeBSD был man:blacklistd[8], который блокирует и освобождает порты по требованию для защиты от злоупотреблений типа DoS. Он также внес множество других исправлений ошибок и улучшений в DTrace, загрузчики и другие компоненты инфраструктуры FreeBSD.
+
-Предыдущие работы включали игру XTank, авторство в RFC 2516
-https://tools.ietf.org/html/rfc2516["Метод передачи PPP через Ethernet
-(PPPoE)"], а также доклад на конференции USENIX
-https://www.usenix.org/conference/usenix-winter-1994-technical-conference/drinking-firehose-multicast-usenet-news["Пить
-из пожарного шланга: Multicast USENET News"].
+Предыдущие работы включали игру XTank, авторство в RFC 2516 https://tools.ietf.org/html/rfc2516["Метод передачи PPP через Ethernet (PPPoE)"], а также доклад на конференции USENIX https://www.usenix.org/conference/usenix-winter-1994-technical-conference/drinking-firehose-multicast-usenet-news["Пить из пожарного шланга: Multicast USENET News"].
* Фрэнк Дурда IV (1995 - 2003; RIP 2018)
+
-Фрэнк участвовал в проекте с самых ранних дней, внося код в линейку 1.x,
-прежде чем стал коммиттером.
+Фрэнк участвовал в проекте с самых ранних дней, внося код в линейку 1.x, прежде чем стал коммиттером.
* Андрей А. Чернов (1993 - 2017; RIP 2017)
+
-Вклад Андрея в FreeBSD невозможно переоценить. Участвуя в проекте долгое
-время, он затронул практически все области.
+Вклад Андрея в FreeBSD невозможно переоценить. Участвуя в проекте долгое время, он затронул практически все области.
* Юрген Лок (2006 - 2015; RIP 2015)
+
-Юрген внес множество вкладов в FreeBSD, включая работу над libvirt,
-графическим стеком и QEMU. Вклад Юргена и его готовность помочь были высоко
-оценены людьми по всему миру. Эта работа продолжает улучшать жизнь тысяч
-людей каждый день.
+Юрген внес множество вкладов в FreeBSD, включая работу над libvirt, графическим стеком и QEMU. Вклад Юргена и его готовность помочь были высоко оценены людьми по всему миру. Эта работа продолжает улучшать жизнь тысяч людей каждый день.
* {alexbl} (2006 - 2011; RIP 2012)
+
-http://www.legacy.com/obituaries/sfgate/obituary.aspx?pid=159801494[Александр]
-был наиболее известен как крупный вкладчик в порты Python для FreeBSD, один
-из основателей {python}, а также своей работой над XMMS2.
+http://www.legacy.com/obituaries/sfgate/obituary.aspx?pid=159801494[Александр] был наиболее известен как крупный вкладчик в порты Python для FreeBSD, один из основателей {python}, а также своей работой над XMMS2.
* {jb} (1997 - 2009; RIP 2009)
+
-http://hub.opensolaris.org/bin/view/Community+Group+ogb/In+Memoriam[Джон]
-внес значительный вклад в FreeBSD, наиболее известным из которых является
-импорт кода man:dtrace[1]. Уникальное чувство юмора Джона и его
-прямолинейность либо раздражали окружающих, либо быстро делали его
-друзьями. В конце жизни он переехал в сельскую местность и пытался жить с
-минимальным воздействием на планету, продолжая при этом работать в сфере
-высоких технологий.
+http://hub.opensolaris.org/bin/view/Community+Group+ogb/In+Memoriam[Джон] внес значительный вклад в FreeBSD, наиболее известным из которых является импорт кода man:dtrace[1]. Уникальное чувство юмора Джона и его прямолинейность либо раздражали окружающих, либо быстро делали его друзьями. В конце жизни он переехал в сельскую местность и пытался жить с минимальным воздействием на планету, продолжая при этом работать в сфере высоких технологий.
* {jmz} (1994 - 2009; RIP 2009)
+
-http://www.obs-besancon.fr/article.php3?id_article=323[Жан-Марк] был
-астрофизиком, внесшим значительный вклад в моделирование атмосфер как
-планет, так и комет в http://www.obs-besancon.fr/[Обсерватории Безансона] в
-Безансоне, Франция. Там он участвовал в разработке и создании триканального
-спектрометра Vega, который изучал комету Галлея. Он также долгое время был
-участником разработки FreeBSD.
+http://www.obs-besancon.fr/article.php3?id_article=323[Жан-Марк] был астрофизиком, внесшим значительный вклад в моделирование атмосфер как планет, так и комет в http://www.obs-besancon.fr/[Обсерватории Безансона] в Безансоне, Франция. Там он участвовал в разработке и создании триканального спектрометра Vega, который изучал комету Галлея. Он также долгое время был участником разработки FreeBSD.
* {itojun} (1997 - 2001; RIP 2008)
+
-Известный всем как http://astralblue.livejournal.com/350702.html[itojun],
-Дзюн-итиро Хагино был ведущим исследователем в http://www.kame.net/[проекте
-KAME], целью которого было предоставление технологий IPv6 и IPsec в свободно
-распространяемой форме. Большая часть этого кода была включена в
-FreeBSD. Без его усилий состояние IPv6 в Интернете было бы совсем другим.
+Известный всем как http://astralblue.livejournal.com/350702.html[itojun], Дзюн-итиро Хагино был ведущим исследователем в http://www.kame.net/[проекте KAME], целью которого было предоставление технологий IPv6 и IPsec в свободно распространяемой форме. Большая часть этого кода была включена в FreeBSD. Без его усилий состояние IPv6 в Интернете было бы совсем другим.
* {cg} (1999 - 2005; RIP 2005)
+
-http://www.dbsi.org/cam/[Кэмерон] был уникальным человеком, который внёс
-вклад в проект, несмотря на серьёзные физические ограничения. Он отвечал за
-полную переработку нашей звуковой системы в конце 1990-х. Многие из тех, кто
-с ним переписывался, даже не догадывались о его ограниченной подвижности
-благодаря его жизнерадостному духу и готовности помогать другим.
+http://www.dbsi.org/cam/[Кэмерон] был уникальным человеком, который внёс вклад в проект, несмотря на серьёзные физические ограничения. Он отвечал за полную переработку нашей звуковой системы в конце 1990-х. Многие из тех, кто с ним переписывался, даже не догадывались о его ограниченной подвижности благодаря его жизнерадостному духу и готовности помогать другим.
* {alane} (2002 - 2003; RIP 2003)
+
-http://freebsd.kde.org/memoriam/alane.php[Алан] был одним из основных
-участников группы KDE на FreeBSD. Кроме того, он поддерживал множество
-других сложных и трудоёмких портов, таких как autoconf, CUPS и python. Путь
-Алана не был лёгким, но его страсть к FreeBSD и преданность высокому
-качеству программирования завоевали ему множество друзей.
+http://freebsd.kde.org/memoriam/alane.php[Алан] был одним из основных участников группы KDE на FreeBSD. Кроме того, он поддерживал множество других сложных и трудоёмких портов, таких как autoconf, CUPS и python. Путь Алана не был лёгким, но его страсть к FreeBSD и преданность высокому качеству программирования завоевали ему множество друзей.
diff --git a/documentation/content/ru/articles/contributors/contrib-develinmemoriam.po b/documentation/content/ru/articles/contributors/contrib-develinmemoriam.po
index c00bb8d5f2..9106cb2571 100644
--- a/documentation/content/ru/articles/contributors/contrib-develinmemoriam.po
+++ b/documentation/content/ru/articles/contributors/contrib-develinmemoriam.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
"POT-Creation-Date: 2025-03-28 20:31-0400\n"
-"PO-Revision-Date: 2025-09-05 04:45+0000\n"
+"PO-Revision-Date: 2025-10-29 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/articlescontributorscontrib-develinmemoriam/ru/>\n"
@@ -103,7 +103,7 @@ msgstr ""
"Он также участвовал в проекте FreeBSD и внес значительный вклад в его "
"развитие на протяжении многих лет, включая дополнения к подсистеме sysctl и "
"фреймворку Mandatory Access Control (MAC), в итоге получив право на коммиты "
-"в src. После выхода на пенсию он активно помогал с инженерингом выпусков "
+"в src. После выхода на пенсию он активно помогал с управлением выпусками "
"FreeBSD и был избран в состав основной команды незадолго до своей внезапной "
"кончины по пути домой с конференции BSDCan 2024. Всего годом ранее он "
"представил увлекательный ретроспективный доклад о своей работе с BSD на "
diff --git a/documentation/content/ru/articles/explaining-bsd/_index.adoc b/documentation/content/ru/articles/explaining-bsd/_index.adoc
index b40a42288f..58234dedf0 100644
--- a/documentation/content/ru/articles/explaining-bsd/_index.adoc
+++ b/documentation/content/ru/articles/explaining-bsd/_index.adoc
@@ -111,7 +111,7 @@ __Некоторые из них базируются на коде GNU, а не
Огромное число людей со всего мира участвуют в совершенствовании BSD. Все они разделены на три группы:
-* _Контрибуторы_ пишут код или документацию. Они не могут добавлять или изменять код непосредственно в дереве исходников проекта. Это привилегия особым образом зарегистрированных разработчиков, или __коммиттеров (committers)__, которые просматривают и тестируют присылаемый им код и включают его в дерево.
+* _Контрибьюторы_ пишут код или документацию. Они не могут добавлять или изменять код непосредственно в дереве исходников проекта. Это привилегия особым образом зарегистрированных разработчиков, или __коммиттеров (committers)__, которые просматривают и тестируют присылаемый им код и включают его в дерево.
* _Коммиттеры_ являются разработчиками, которые имеют доступ на запись в дерево исходных кодов проекта. Чтобы стать коммиттером, человек должен проявить себя в той области, в которой он хочет работать.
+
Каждый коммиттер по своему собственному усмотрению решает, нужно ли ему подтверждение правильности планируемых изменений от других разработчиков или нет. В общем случае опытный коммиттер может вносить очевидно выгодные изменения ни с кем не советуясь. К примеру, коммиттер проекта документации может исправлять опечатки или грамматические ошибки в документах без предварительного согласования. Напротив, далеко идущие или просто сложные изменения настоятельно рекомендуется представлять к обсуждению перед окончательным внесением в дерево. Бывают крайние случаи, когда член Core Team, выполняющий функцию архитектора проекта, может санкционировать немедленную отмену или _откат_ каких-то изменений в дереве. Все коммиттеры обязательно получают уведомление о каждом изменении в дереве по электронной почте, так что их невозможно сохранить в тайне.
diff --git a/documentation/content/ru/articles/explaining-bsd/_index.po b/documentation/content/ru/articles/explaining-bsd/_index.po
index c5938f02f5..1eb428c949 100644
--- a/documentation/content/ru/articles/explaining-bsd/_index.po
+++ b/documentation/content/ru/articles/explaining-bsd/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-01 00:44+0300\n"
-"PO-Revision-Date: 2025-07-05 04:45+0000\n"
+"POT-Creation-Date: 2023-09-09 18:13-0300\n"
+"PO-Revision-Date: 2025-10-30 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/articlesexplaining-bsd_index/ru/>\n"
@@ -18,7 +18,7 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/articles/explaining-bsd/_index.adoc:1
#, no-wrap
msgid "Brief explanation about BSD"
@@ -260,8 +260,8 @@ msgstr ""
"цельной операционной системой: около 20% кода ядра отсутствовало. Один из "
"членов CSRG, William F. Jolitz, дописал недостающий код и опубликовал "
"результат в начале 1992 года под именем __386BSD__. В то же самое время "
-"другая группа бывших членов CSRG организовала коммерческую компанию http://"
-"www.bsdi.com/[Berkeley Software Design Inc.] и выпустила бета-версию "
+"другая группа бывших членов CSRG организовала коммерческую компанию "
+"http://www.bsdi.com/[Berkeley Software Design Inc.] и выпустила бета-версию "
"операционной системы http://www.bsdi.com/[BSD/386], которая базировалась на "
"том же самом коде. Позже это название было изменено на BSD/OS."
@@ -275,9 +275,9 @@ msgid ""
"people started early in the year, and the first version of FreeBSD was not "
"ready until the end of the year. In the meantime, the code base had "
"diverged sufficiently to make it difficult to merge. In addition, the "
-"projects had different aims, as we will see below. In 1996, http://"
-"www.OpenBSD.org/[OpenBSD] split off from NetBSD, and in 2003, http://"
-"www.dragonflybsd.org/[DragonFlyBSD] split off from FreeBSD."
+"projects had different aims, as we will see below. In 1996, http://www."
+"OpenBSD.org/[OpenBSD] split off from NetBSD, and in 2003, http://www."
+"dragonflybsd.org/[DragonFlyBSD] split off from FreeBSD."
msgstr ""
"386BSD так никогда и не стала полноценной операционной системой. Зато в 1993 "
"году из неё выделились два проекта: http://www.NetBSD.org/[NetBSD] и "
@@ -287,8 +287,8 @@ msgstr ""
"версия FreeBSD была готова только к его концу. Время шло, и технические "
"различия возрастали. Вдобавок проекты поставили перед собой разные цели, как "
"будет показано ниже. В 1996 году от NetBSD отделился ещё один проект - "
-"http://www.OpenBSD.org/[OpenBSD], а в 2003 году от FreeBSD отделилась http://"
-"www.dragonflybsd.org/[DragonFlyBSD]."
+"http://www.OpenBSD.org/[OpenBSD], а в 2003 году от FreeBSD отделилась "
+"http://www.dragonflybsd.org/[DragonFlyBSD]."
#. type: Title ==
#: documentation/content/en/articles/explaining-bsd/_index.adoc:113
@@ -416,8 +416,8 @@ msgid ""
"of any version."
msgstr ""
"Ядра BSD используют Open Source модель разработки. Каждый проект "
-"поддерживает публично доступное _дерево исходников_ с помощью http://"
-"www.cvshome.org/[Concurrent Versions System] (CVS). Это дерево содержит "
+"поддерживает публично доступное _дерево исходников_ с помощью http://www."
+"cvshome.org/[Concurrent Versions System] (CVS). Это дерево содержит "
"абсолютно весь исходный код проекта, а также документацию и вспомогательные "
"файлы. CVS позволяет пользователям получить копию дерева любой версии "
"системы."
@@ -439,7 +439,7 @@ msgid ""
"system, it must be reviewed and checked in by a registered developer, known "
"as a __committer__."
msgstr ""
-"_Контрибуторы_ пишут код или документацию. Они не могут добавлять или "
+"_Контрибьюторы_ пишут код или документацию. Они не могут добавлять или "
"изменять код непосредственно в дереве исходников проекта. Это привилегия "
"особым образом зарегистрированных разработчиков, или __коммиттеров "
"(committers)__, которые просматривают и тестируют присылаемый им код и "
@@ -685,14 +685,14 @@ msgstr ""
#: documentation/content/en/articles/explaining-bsd/_index.adoc:190
msgid ""
"FreeBSD aims for high performance and ease of use by end users, and is a "
-"favourite of web content providers. It runs on a link:https://"
-"www.FreeBSD.org/platforms/[number of platforms] and has significantly more "
-"users than the other projects."
+"favourite of web content providers. It runs on a link:https://www.FreeBSD."
+"org/platforms/[number of platforms] and has significantly more users than "
+"the other projects."
msgstr ""
"проект FreeBSD нацелен на повышение производительности и простоту в "
"использовании конечными пользователями. FreeBSD очень ценят в среде web-"
-"хостеров. Эта ОС работает на link:https://www.FreeBSD.org/platforms/"
-"[нескольких аппаратных платформах], число пользователей FreeBSD значительно "
+"хостеров. Эта ОС работает на link:https://www.FreeBSD.org/platforms/["
+"нескольких аппаратных платформах], число пользователей FreeBSD значительно "
"превышает число пользователей других проектов."
#. type: Plain text
@@ -703,10 +703,10 @@ msgid ""
"space missions. It is a particularly good choice for running on old non-"
"Intel(R) hardware."
msgstr ""
-"проект NetBSD ставит целью максимальную мобильность (или переносимость) "
-"кода: девиз \"конечно NetBSD работает на этом\". NetBSD поддерживает машины "
-"от крошечных палмтопов до огромных серверов и использовалась NASA в "
-"космических миссиях. Это хороший выбор для старой не-Intel(R) аппаратуры."
+"проект NetBSD ставит целью максимальную мобильность (или переносимость) кода:"
+" девиз \"конечно NetBSD работает на этом\". NetBSD поддерживает машины от "
+"крошечных палмтопов до огромных серверов и использовалась NASA в космических "
+"миссиях. Это хороший выбор для старой не-Intel(R) аппаратуры."
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:192
@@ -804,15 +804,15 @@ msgid ""
"restrictive: binary-only distributions are allowed. This is particularly "
"attractive for embedded applications."
msgstr ""
-"Linux распространяется на условиях лицензии http://www.fsf.org/copyleft/"
-"gpl.html[GNU General Public License] (GPL). Эта лицензия имеет целью "
-"уничтожить программное обеспечение с закрытым исходным кодом. В частности, "
-"любое ПО, базирующееся на продукте, выпущенном на условиях лицензии GPL, "
-"тоже должно поставляться с исходными кодами по первому требованию. http://"
-"www.opensource.org/licenses/bsd-license.html[Лицензия BSD] не накладывает "
-"таких жёстких ограничений: разрешается распространение программного "
-"обеспечения в двоичном виде (binary-only). Этот факт привлекает "
-"разработчиков встроенных (embedded) приложений."
+"Linux распространяется на условиях лицензии http://www.fsf.org/copyleft/gpl."
+"html[GNU General Public License] (GPL). Эта лицензия имеет целью уничтожить "
+"программное обеспечение с закрытым исходным кодом. В частности, любое ПО, "
+"базирующееся на продукте, выпущенном на условиях лицензии GPL, тоже должно "
+"поставляться с исходными кодами по первому требованию. http://www.opensource."
+"org/licenses/bsd-license.html[Лицензия BSD] не накладывает таких жёстких "
+"ограничений: разрешается распространение программного обеспечения в двоичном "
+"виде (binary-only). Этот факт привлекает разработчиков встроенных (embedded) "
+"приложений."
#. type: Title ===
#: documentation/content/en/articles/explaining-bsd/_index.adoc:206
@@ -945,7 +945,9 @@ msgstr ""
#: documentation/content/en/articles/explaining-bsd/_index.adoc:229
#, no-wrap
msgid "Who provides support, service, and training for BSD?"
-msgstr "Кто предоставляет техническую поддержку, обслуживание и обучение для систем BSD?"
+msgstr ""
+"Кто предоставляет техническую поддержку, обслуживание и обучение для систем "
+"BSD?"
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:232
@@ -959,12 +961,12 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:233
msgid ""
-"In addition, each of the projects has a list of consultants for hire: "
-"link:https://www.FreeBSD.org/commercial/consult_bycat/[FreeBSD], http://"
-"www.netbsd.org/gallery/consultants.html[NetBSD], and http://www.openbsd.org/"
+"In addition, each of the projects has a list of consultants for hire: link:"
+"https://www.FreeBSD.org/commercial/consult_bycat/[FreeBSD], http://www."
+"netbsd.org/gallery/consultants.html[NetBSD], and http://www.openbsd.org/"
"support.html[OpenBSD]."
msgstr ""
"Кроме того, каждый из проектов постоянно обновляет список консультантов, "
"которые оказывают поддержку за отдельную плату: link:https://www.FreeBSD.org/"
-"commercial/consult_bycat/[FreeBSD], http://www.NetBSD.org/gallery/"
-"consultants.html[NetBSD] и http://www.OpenBSD.org/support.html[OpenBSD]."
+"commercial/consult_bycat/[FreeBSD], http://www.NetBSD.org/gallery/consultants"
+".html[NetBSD] и http://www.OpenBSD.org/support.html[OpenBSD]."
diff --git a/documentation/content/ru/articles/filtering-bridges/_index.adoc b/documentation/content/ru/articles/filtering-bridges/_index.adoc
index eb58330257..384b3570aa 100644
--- a/documentation/content/ru/articles/filtering-bridges/_index.adoc
+++ b/documentation/content/ru/articles/filtering-bridges/_index.adoc
@@ -82,7 +82,7 @@ options IPFIREWALL
options IPFIREWALL_VERBOSE
....
-Первая строка компилирует поддержку моста, вторая — межсетевой экран, а третья — функции логирования межсетевого экрана.
+Первая строка компилирует поддержку моста, вторая — межсетевой экран, а третья — функции журналирования межсетевого экрана.
Теперь необходимо собрать и установить новое ядро. Подробные инструкции можно найти в разделе extref:{handbook}[Сборка и установка пользовательского ядра, kernelconfig-building] руководства FreeBSD.
@@ -111,7 +111,7 @@ firewall_quiet="YES"
firewall_logging="YES"
....
-Первая строка включит межсетевой экран (и загрузит модуль [.filename]#ipfw.ko#, если он не встроен в ядро), вторая настроит его в режиме `open` (как описано в [.filename]#/etc/rc.firewall#), третья отключит отображение загрузки правил, а четвёртая включит поддержку логирования.
+Первая строка включит межсетевой экран (и загрузит модуль [.filename]#ipfw.ko#, если он не встроен в ядро), вторая настроит его в режиме `open` (как описано в [.filename]#/etc/rc.firewall#), третья отключит отображение загрузки правил, а четвёртая включит поддержку журналирования.
О конфигурации сетевых интерфейсов: наиболее распространённый способ — назначить IP только одной из сетевых карт, но мост будет работать одинаково, даже если оба интерфейса или ни один из них не имеют настроенного IP. В последнем случае (без IP) машина с мостом останется более скрытой, так как будет недоступна из сети: для её настройки потребуется войти с консоли или через третий сетевой интерфейс, отделённый от моста. Иногда во время запуска системы некоторым программам требуется доступ к сети, например, для разрешения доменных имён: в этом случае необходимо назначить IP внешнему интерфейсу (тому, который подключён к интернету, где находится DNS-сервер), так как мост будет активирован в конце процедуры запуска. Это означает, что интерфейс [.filename]#fxp0# (в нашем случае) должен быть указан в разделе ifconfig файла [.filename]#/etc/rc.conf#, тогда как [.filename]#xl0# — нет. Назначение IP обеим сетевым картам не имеет особого смысла, за исключением случаев, когда во время запуска приложения должны получать доступ к сервисам на обоих сегментах Ethernet.
diff --git a/documentation/content/ru/articles/filtering-bridges/_index.po b/documentation/content/ru/articles/filtering-bridges/_index.po
index 5ba8d2a7b8..225877e2c2 100644
--- a/documentation/content/ru/articles/filtering-bridges/_index.po
+++ b/documentation/content/ru/articles/filtering-bridges/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-09-23 18:56+0300\n"
-"PO-Revision-Date: 2025-09-23 04:45+0000\n"
+"POT-Creation-Date: 2024-01-17 20:35-0300\n"
+"PO-Revision-Date: 2025-09-26 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/articlesfiltering-bridges_index/ru/>\n"
@@ -18,11 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/articles/filtering-bridges/_index.adoc:1
#, no-wrap
msgid "Configuring firewalls and filtering on FreeBSD hosts acting as bridges rather than routers"
-msgstr "Настройка межсетевых экранов и фильтрации на хостах FreeBSD, выступающих в роли мостов, а не маршрутизаторов"
+msgstr ""
+"Настройка межсетевых экранов и фильтрации на хостах FreeBSD, выступающих в "
+"роли мостов, а не маршрутизаторов"
#. type: Title =
#: documentation/content/en/articles/filtering-bridges/_index.adoc:1
@@ -200,7 +202,7 @@ msgid ""
"firewall and the third one is the logging functions of the firewall."
msgstr ""
"Первая строка компилирует поддержку моста, вторая — межсетевой экран, а "
-"третья — функции логирования межсетевого экрана."
+"третья — функции журналирования межсетевого экрана."
#. type: Plain text
#: documentation/content/en/articles/filtering-bridges/_index.adoc:100
@@ -226,8 +228,8 @@ msgid ""
"thing to do now is add the following row to [.filename]#/boot/loader.conf#:"
msgstr ""
"Если вы выбрали использование нового и более простого метода установки, "
-"единственное, что нужно сделать сейчас, это добавить следующую строку в "
-"[.filename]#/boot/loader.conf#:"
+"единственное, что нужно сделать сейчас, это добавить следующую строку в [."
+"filename]#/boot/loader.conf#:"
#. type: delimited block . 4
#: documentation/content/en/articles/filtering-bridges/_index.adoc:109
@@ -266,8 +268,8 @@ msgid ""
"configuration will avoid you to remain isolated from the network). Put "
"these lines in [.filename]#/etc/rc.conf#:"
msgstr ""
-"Прежде чем перезагрузиться для загрузки нового ядра или необходимых модулей "
-"(в соответствии с выбранным ранее методом установки), необходимо внести "
+"Прежде чем перезагрузиться для загрузки нового ядра или необходимых модулей ("
+"в соответствии с выбранным ранее методом установки), необходимо внести "
"некоторые изменения в конфигурационный файл [.filename]#/etc/rc.conf#. "
"Правило по умолчанию для межсетевого экрана — отклонять все IP-пакеты. "
"Изначально мы настроим `открытый` межсетевой экран, чтобы проверить его "
@@ -292,16 +294,16 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/filtering-bridges/_index.adoc:131
msgid ""
-"The first row will enable the firewall (and will load the module "
-"[.filename]#ipfw.ko# if it is not compiled in the kernel), the second one to "
+"The first row will enable the firewall (and will load the module [."
+"filename]#ipfw.ko# if it is not compiled in the kernel), the second one to "
"set up it in `open` mode (as explained in [.filename]#/etc/rc.firewall#), "
"the third one to not show rules loading and the fourth one to enable logging "
"support."
msgstr ""
-"Первая строка включит межсетевой экран (и загрузит модуль "
-"[.filename]#ipfw.ko#, если он не встроен в ядро), вторая настроит его в "
-"режиме `open` (как описано в [.filename]#/etc/rc.firewall#), третья отключит "
-"отображение загрузки правил, а четвёртая включит поддержку логирования."
+"Первая строка включит межсетевой экран (и загрузит модуль [.filename]#ipfw."
+"ko#, если он не встроен в ядро), вторая настроит его в режиме `open` (как "
+"описано в [.filename]#/etc/rc.firewall#), третья отключит отображение "
+"загрузки правил, а четвёртая включит поддержку журналирования."
#. type: Plain text
#: documentation/content/en/articles/filtering-bridges/_index.adoc:137
@@ -317,8 +319,8 @@ msgid ""
"interface (the one connected to Internet, where DNS server resides), since "
"the bridge will be activated at the end of the startup procedure. It means "
"that the [.filename]#fxp0# interface (in our case) must be mentioned in the "
-"ifconfig section of the [.filename]#/etc/rc.conf# file, while the "
-"[.filename]#xl0# is not. Assigning an IP to both the network cards does not "
+"ifconfig section of the [.filename]#/etc/rc.conf# file, while the [."
+"filename]#xl0# is not. Assigning an IP to both the network cards does not "
"make much sense, unless, during the start procedure, applications should "
"access to services on both Ethernet segments."
msgstr ""
@@ -357,8 +359,8 @@ msgstr ""
"Чтобы обеспечить связь между двумя хостами, разделёнными мостом, необходимо, "
"чтобы мост передавал ARP-пакеты. Этот протокол не включён в уровень IP, так "
"как он существует только при работе IP поверх Ethernet. Межсетевой экран "
-"FreeBSD фильтрует исключительно на уровне IP, поэтому все не-IP пакеты "
-"(включая ARP) будут передаваться без фильтрации, даже если межсетевой экран "
+"FreeBSD фильтрует исключительно на уровне IP, поэтому все не-IP пакеты ("
+"включая ARP) будут передаваться без фильтрации, даже если межсетевой экран "
"настроен на запрет всего."
#. type: Plain text
@@ -395,9 +397,9 @@ msgid ""
"commands (having the shrewdness to replace the names of the two network "
"interfaces [.filename]#fxp0# and [.filename]#xl0# with your own ones):"
msgstr ""
-"На этом этапе, чтобы включить мост, необходимо выполнить следующие команды "
-"(с учётом замены имён двух сетевых интерфейсов [.filename]#fxp0# и "
-"[.filename]#xl0# на ваши собственные):"
+"На этом этапе, чтобы включить мост, необходимо выполнить следующие команды ("
+"с учётом замены имён двух сетевых интерфейсов [.filename]#fxp0# и [."
+"filename]#xl0# на ваши собственные):"
#. type: delimited block . 4
#: documentation/content/en/articles/filtering-bridges/_index.adoc:159
@@ -472,8 +474,8 @@ msgstr ""
"фильтруемых мостом, можно использовать только команды `pass` или `drop`. "
"Более сложные действия, такие как `divert`, `forward` или `reject`, "
"недоступны. Такие опции всё ещё можно использовать, но только для трафика, "
-"направленного на саму машину моста или исходящего от неё (если у неё есть IP-"
-"адрес)."
+"направленного на саму машину моста или исходящего от неё (если у неё есть "
+"IP-адрес)."
#. type: Plain text
#: documentation/content/en/articles/filtering-bridges/_index.adoc:185
@@ -509,12 +511,12 @@ msgid ""
"Let's look at an example setup. Note first that at the top of [.filename]#/"
"etc/rc.firewall# there are already standard rules for the loopback interface "
"[.filename]#lo0#, so we should not have to care for them anymore. Custom "
-"rules should be put in a separate file (say [.filename]#/etc/"
-"rc.firewall.local#) and loaded at system startup, by modifying the row of "
-"[.filename]#/etc/rc.conf# where we defined the `open` firewall:"
+"rules should be put in a separate file (say [.filename]#/etc/rc.firewall."
+"local#) and loaded at system startup, by modifying the row of [.filename]#/"
+"etc/rc.conf# where we defined the `open` firewall:"
msgstr ""
-"Рассмотрим пример настройки. Обратите внимание, что в начале файла "
-"[.filename]#/etc/rc.firewall# уже есть стандартные правила для loopback-"
+"Рассмотрим пример настройки. Обратите внимание, что в начале файла [."
+"filename]#/etc/rc.firewall# уже есть стандартные правила для loopback-"
"интерфейса (интерфейса обратной петли) [.filename]#lo0#, поэтому нам не "
"нужно о них заботиться. Пользовательские правила следует поместить в "
"отдельный файл (например, [.filename]#/etc/rc.firewall.local#) и загружать "
diff --git a/documentation/content/ru/articles/freebsd-releng/_index.adoc b/documentation/content/ru/articles/freebsd-releng/_index.adoc
index d02aebc780..d26b1ef841 100644
--- a/documentation/content/ru/articles/freebsd-releng/_index.adoc
+++ b/documentation/content/ru/articles/freebsd-releng/_index.adoc
@@ -73,30 +73,17 @@ toc::[]
[[introduction]]
== Введение в процесс разработки релизов FreeBSD
-Разработка FreeBSD следует очень специфичному рабочему процессу. В общем
-случае все изменения в базовой системе FreeBSD вносятся в ветку
-{branchHead}, которая отражает вершину дерева исходного кода.
+Разработка FreeBSD следует очень специфичному рабочему процессу. В общем случае все изменения в базовой системе FreeBSD вносятся в ветку {branchHead}, которая отражает вершину дерева исходного кода.
-После достаточного периода тестирования изменения могут быть объединены в
-ветки {branchStable}. Минимальный срок по умолчанию перед объединением в
-ветки {branchStable} составляет три (3) дня.
+После достаточного периода тестирования изменения могут быть объединены в ветки {branchStable}. Минимальный срок по умолчанию перед объединением в ветки {branchStable} составляет три (3) дня.
-Хотя общее правило предписывает выждать минимум три дня перед слиянием из
-{branchHead}, существуют особые обстоятельства, при которых может
-потребоваться немедленное слияние, например, критическое исправление
-безопасности или исправление ошибки, напрямую блокирующей процесс сборки
-выпуска.
+Хотя общее правило предписывает выждать минимум три дня перед слиянием из {branchHead}, существуют особые обстоятельства, при которых может потребоваться немедленное слияние, например, критическое исправление безопасности или исправление ошибки, напрямую блокирующей процесс сборки выпуска.
-Через несколько месяцев, когда количество изменений в ветке {branchStable}
-значительно увеличилось, наступает время выпуска следующей версии
-FreeBSD. Исторически такие выпуски называются релизами "с точкой".
+Через несколько месяцев, когда количество изменений в ветке {branchStable} значительно увеличилось, наступает время выпуска следующей версии FreeBSD. Исторически такие выпуски называются релизами "с точкой".
-Между выпусками из ветвей {branchStable}, примерно каждые два (2) года,
-выпуск будет создаваться напрямую из {branchHead}. Исторически такие выпуски
-назывались выпуском «точка-ноль (dot-zero)».
+Между выпусками из ветвей {branchStable}, примерно каждые два (2) года, выпуск будет создаваться напрямую из {branchHead}. Исторически такие выпуски назывались выпуском «точка-ноль (dot-zero)».
-Эта статья освещает рабочий процесс и обязанности команды {teamRe} как для
-выпуска "точка-ноль", так и для "промежуточных" выпусков.
+Эта статья освещает рабочий процесс и обязанности команды {teamRe} как для выпуска "точка-ноль", так и для "промежуточных" выпусков.
Следующие разделы этой статьи описывают:
@@ -107,8 +94,7 @@ crossref:freebsd-releng[releng-website, Изменения на веб-сайт
Изменения на веб-сайте в течение цикла выпуска
crossref:freebsd-releng[releng-terms, Терминология выпуска релизов]::
-Терминология и общая информация, такие как "мягкая заморозка кода (code
-slush)" и "заморозка кода (code freeze)", используемые в этом документе.
+Терминология и общая информация, такие как "мягкая заморозка кода (code slush)" и "заморозка кода (code freeze)", используемые в этом документе.
crossref:freebsd-releng[releng-head, Выпуск релиза от {branchHead}]::
Процесс Release Engineering для релиза "точка-ноль".
@@ -117,8 +103,7 @@ crossref:freebsd-releng[releng-stable, Выпуск релиза от {branchSta
Процесс Release Engineering для "точечного" выпуска.
crossref:freebsd-releng[releng-building, Создание установочных носителей FreeBSD]::
-Информация, относящаяся к конкретным процедурам создания установочного
-носителя.
+Информация, относящаяся к конкретным процедурам создания установочного носителя.
crossref:freebsd-releng[releng-mirrors, Публикация установочных носителей FreeBSD на зеркалах проекта]::
Процедуры публикации установочного носителя.
@@ -129,9 +114,7 @@ crossref:freebsd-releng[releng-wrapup, Завершение цикла выпу
[[releng-prep]]
== Общая информация и подготовка
-Примерно за два месяца до начала цикла выпуска команда {teamRe} определяет
-график выпуска. График включает в себя различные этапы цикла выпуска, такие
-как даты заморозки, даты ветвления и даты сборки. Например:
+Примерно за два месяца до начала цикла выпуска команда {teamRe} определяет график выпуска. График включает в себя различные этапы цикла выпуска, такие как даты заморозки, даты ветвления и даты сборки. Например:
[.informaltable]
[cols="1,1", frame="none", options="header"]
@@ -206,157 +189,95 @@ crossref:freebsd-releng[releng-wrapup, Завершение цикла выпу
====
. Мягкая заморозка дерева `doc/` координируется командой {teamDoceng}.
-. Используемая квартальная ветка Ports определяется по дате запланированной
- окончательной сборки `RC`. Новая квартальная ветка создаётся в первый день
- квартала, поэтому этот показатель следует учитывать, принимая во внимание
- этапы цикла выпуска. Квартальная ветка создаётся командой {teamPortmgr}.
+. Используемая квартальная ветка Ports определяется по дате запланированной окончательной сборки `RC`. Новая квартальная ветка создаётся в первый день квартала, поэтому этот показатель следует учитывать, принимая во внимание этапы цикла выпуска. Квартальная ветка создаётся командой {teamPortmgr}.
. Для дерева исходного кода `doc/` tag делается командой {teamDoceng}.
-. Окончательная сборка пакета Ports выполняется командой {teamPortmgr} после
- финальной (или ожидаемой финальной) сборки `RC`.
+. Окончательная сборка пакета Ports выполняется командой {teamPortmgr} после финальной (или ожидаемой финальной) сборки `RC`.
[NOTE]
====
-Если выпуск создаётся из существующей ветки {branchStable}, дату заморозки
-KBI можно исключить, так как KBI уже считается замороженным в устоявшихся
-ветках {branchStable}.
+Если выпуск создаётся из существующей ветки {branchStable}, дату заморозки KBI можно исключить, так как KBI уже считается замороженным в устоявшихся ветках {branchStable}.
====
-При написании графика цикла выпуска необходимо учитывать ряд факторов,
-особенно этапы, на которые целевая дата зависит от предопределенных этапов,
-от которых существует зависимость. Например, тег выпуска коллекции портов
-берется из активной квартальной ветки на момент последнего `RC`. Это
-частично определяет, какая квартальная ветка используется, когда может быть
-создан тег выпуска и какая версия дерева портов используется для финальной
-сборки `RELEASE`.
+При написании графика цикла выпуска необходимо учитывать ряд факторов, особенно этапы, на которые целевая дата зависит от предопределенных этапов, от которых существует зависимость. Например, тег выпуска коллекции портов берется из активной квартальной ветки на момент последнего `RC`. Это частично определяет, какая квартальная ветка используется, когда может быть создан тег выпуска и какая версия дерева портов используется для финальной сборки `RELEASE`.
-После общего согласования расписания команда {teamRe} отправляет расписание
-разработчикам FreeBSD по электронной почте.
+После общего согласования расписания команда {teamRe} отправляет расписание разработчикам FreeBSD по электронной почте.
-Вполне типично, что многие разработчики сообщают команде {teamRe} о
-различных работах в процессе выполнения. В некоторых случаях может быть
-запрошено продление для работы в процессе, а в других случаях может быть
-сделан запрос на "общее одобрение" для определенного подмножества дерева.
+Вполне типично, что многие разработчики сообщают команде {teamRe} о различных работах в процессе выполнения. В некоторых случаях может быть запрошено продление для работы в процессе, а в других случаях может быть сделан запрос на "общее одобрение" для определенного подмножества дерева.
-При таких запросах важно убедиться, что обсуждаются сроки (даже если они
-приблизительные). Для общих одобрений следует четко указать
-продолжительность действия такого одобрения. Например, разработчик FreeBSD
-может запросить общее одобрение с начала периода мягкой заморозки кода до
-начала сборок `RC`.
+При таких запросах важно убедиться, что обсуждаются сроки (даже если они приблизительные). Для общих одобрений следует четко указать продолжительность действия такого одобрения. Например, разработчик FreeBSD может запросить общее одобрение с начала периода мягкой заморозки кода до начала сборок `RC`.
[NOTE]
====
-Для отслеживания общих одобрений команда {teamRe} использует внутренний
-репозиторий, в котором ведется журнал таких запросов. В нем указывается
-область, на которую распространяется общее одобрение, автор(ы), срок
-действия одобрения и причина его выдачи. Например, может быть предоставлено
-общее одобрение для [.filename]#release/doc/# всем членам {teamRe} до
-финального `RC` для обновления примечаний к выпуску и другой связанной с
-выпуском документации.
+Для отслеживания общих одобрений команда {teamRe} использует внутренний репозиторий, в котором ведется журнал таких запросов. В нем указывается область, на которую распространяется общее одобрение, автор(ы), срок действия одобрения и причина его выдачи. Например, может быть предоставлено общее одобрение для [.filename]#release/doc/# всем членам {teamRe} до финального `RC` для обновления примечаний к выпуску и другой связанной с выпуском документации.
====
[NOTE]
====
-Команда {teamRe} также использует этот репозиторий для отслеживания
-ожидающих одобрения запросов, полученных непосредственно перед началом
-различных сборок во время цикла выпуска, при этом Инженер по выпускам
-указывает срок отсечки с помощью электронного письма разработчикам FreeBSD.
+Команда {teamRe} также использует этот репозиторий для отслеживания ожидающих одобрения запросов, полученных непосредственно перед началом различных сборок во время цикла выпуска, при этом Инженер по выпускам указывает срок отсечки с помощью электронного письма разработчикам FreeBSD.
====
-В зависимости от рассматриваемого набора кода и общего влияния этого набора
-кода на FreeBSD в целом, такие запросы могут быть одобрены или отклонены
-командой {teamRe}.
+В зависимости от рассматриваемого набора кода и общего влияния этого набора кода на FreeBSD в целом, такие запросы могут быть одобрены или отклонены командой {teamRe}.
-То же самое относится к расширениям для незавершённых работ. Например,
-незавершённая работа над новым драйвером устройства, который в остальном
-изолирован от остального дерева, может получить расширение. Однако новый
-планировщик может оказаться неосуществимым, особенно если такие значительные
-изменения отсутствуют в другой ветке.
+То же самое относится к расширениям для незавершённых работ. Например, незавершённая работа над новым драйвером устройства, который в остальном изолирован от остального дерева, может получить расширение. Однако новый планировщик может оказаться неосуществимым, особенно если такие значительные изменения отсутствуют в другой ветке.
-Расписание также добавляется на сайт проекта в репозитории `doc/`, в файле
-[.filename]#~/website/content/en/releases/{branchRevision}R/schedule.adoc#.
-Этот файл постоянно обновляется по мере прохождения цикла выпуска.
+Расписание также добавляется на сайт проекта в репозитории `doc/`, в файле [.filename]#~/website/content/en/releases/{branchRevision}R/schedule.adoc#. Этот файл постоянно обновляется по мере прохождения цикла выпуска.
[NOTE]
====
-В большинстве случаев файл [.filename]#schedule.adoc# можно скопировать из
-предыдущего релиза и обновить соответствующим образом.
+В большинстве случаев файл [.filename]#schedule.adoc# можно скопировать из предыдущего релиза и обновить соответствующим образом.
====
-В дополнение к добавлению [.filename]#schedule.adoc# на веб-сайт, файл
-[.filename]#~/shared/releases.adoc# также обновляется, чтобы добавить ссылку
-на расписание на различные подстраницы, а также включить ссылку на
-расписание на главной странице веб-сайта проекта.
+В дополнение к добавлению [.filename]#schedule.adoc# на веб-сайт, файл [.filename]#~/shared/releases.adoc# также обновляется, чтобы добавить ссылку на расписание на различные подстраницы, а также включить ссылку на расписание на главной странице веб-сайта проекта.
-Расписание также доступно по ссылке из файла
-[.filename]#~/website/content/en/releng/_index.adoc#.
+Расписание также доступно по ссылке из файла [.filename]#~/website/content/en/releng/_index.adoc#.
-Примерно за месяц до запланированной "мягкой заморозки кода" команда
-{teamRe} отправляет напоминание разработчикам FreeBSD.
+Примерно за месяц до запланированной "мягкой заморозки кода" команда {teamRe} отправляет напоминание разработчикам FreeBSD.
[[releng-terms]]
== Терминология выпуска релизов
-В этом разделе описана часть терминологии, используемой в остальной части
-данного документа.
+В этом разделе описана часть терминологии, используемой в остальной части данного документа.
[[releng-terms-code-slush]]
=== Мягкая заморозка кода
-Хотя мягкая заморозка кода не является полной заморозкой дерева, команда
-{teamRe} просит отдавать приоритет исправлению ошибок в существующей кодовой
-базе перед добавлением новых функций.
+Хотя мягкая заморозка кода не является полной заморозкой дерева, команда {teamRe} просит отдавать приоритет исправлению ошибок в существующей кодовой базе перед добавлением новых функций.
Мягкая заморозка кода не требует подтверждений коммитов в ветку.
[[releng-terms-code-freeze]]
=== Заморозка кода
-Замораживание кода означает момент времени, когда все коммиты в ветку
-требуют явного одобрения от {teamRe}.
+Замораживание кода означает момент времени, когда все коммиты в ветку требуют явного одобрения от {teamRe}.
-Репозиторий FreeBSD Git содержит несколько хуков для выполнения проверок
-перед тем, как изменения будут зафиксированы в дереве. Один из этих хуков
-проверяет, требуются ли специальные разрешения для фиксации изменений в
-определённой ветке.
+Репозиторий FreeBSD Git содержит несколько хуков для выполнения проверок перед тем, как изменения будут зафиксированы в дереве. Один из этих хуков проверяет, требуются ли специальные разрешения для фиксации изменений в определённой ветке.
-Для обеспечения утверждения коммитов командой {teamRe}, команда Release
-Engineering должна утверждать любые изменения в ветке. В этом случае журнал
-коммитов должен содержать строку `Approved by: re (логин)`, где "логин" —
-это идентификатор утверждающего.
+Для обеспечения утверждения коммитов командой {teamRe}, команда Release Engineering должна утверждать любые изменения в ветке. В этом случае журнал коммитов должен содержать строку `Approved by: re (логин)`, где "логин" — это идентификатор утверждающего.
[NOTE]
====
-Во время заморозки кода участники проекта FreeBSD должны следовать
-link:https://wiki.freebsd.org/Releng/ChangeRequestGuidelines[Рекомендациям
-по запросам изменений].
+Во время заморозки кода участники проекта FreeBSD должны следовать link:https://wiki.freebsd.org/Releng/ChangeRequestGuidelines[Рекомендациям по запросам изменений].
====
[[releng-terms-kbi-freeze]]
=== Замораживание KBI/KPI
-KBI/KPI стабильность подразумевает, что вызов функции в двух разных релизах
-программного обеспечения, реализующего эту функцию, приводит к одинаковому
-конечному состоянию. Вызывающая сторона, будь то процесс, поток или функция,
-ожидает, что функция будет работать определённым образом, в противном случае
-стабильность KBI/KPI на ветке нарушается.
+KBI/KPI стабильность подразумевает, что вызов функции в двух разных релизах программного обеспечения, реализующего эту функцию, приводит к одинаковому конечному состоянию. Вызывающая сторона, будь то процесс, поток или функция, ожидает, что функция будет работать определённым образом, в противном случае стабильность KBI/KPI на ветке нарушается.
[[releng-website]]
== Изменения на веб-сайте в течение цикла выпуска
-Этот раздел описывает изменения на веб-сайте, которые должны происходить по
-мере развития цикла выпуска.
+Этот раздел описывает изменения на веб-сайте, которые должны происходить по мере развития цикла выпуска.
[NOTE]
====
-Файлы, указанные в этом разделе, относятся к ветке `{branchHead}`
-репозитория `doc`.
+Файлы, указанные в этом разделе, относятся к ветке `{branchHead}` репозитория `doc`.
====
[[releng-website-prerelease]]
=== Изменения на веб-сайте перед началом цикла выпуска
-Когда график цикла выпуска становится доступным, эти файлы необходимо
-обновить, чтобы включить различные функции на веб-сайте проекта FreeBSD:
+Когда график цикла выпуска становится доступным, эти файлы необходимо обновить, чтобы включить различные функции на веб-сайте проекта FreeBSD:
[.informaltable]
[cols="1,1", frame="none", options="header"]
@@ -375,10 +296,7 @@ KBI/KPI стабильность подразумевает, что вызов
[[releng-website-beta-rc]]
=== Изменения на веб-сайте в период `BETA` или `RC`
-При переходе от `PRERELEASE` к `BETA` эти файлы необходимо обновить, чтобы
-включить блок "Help Test (Помогите протестировать)" на странице
-загрузки. Все файлы указаны относительно [.filename]#head/# в репозитории
-`doc`:
+При переходе от `PRERELEASE` к `BETA` эти файлы необходимо обновить, чтобы включить блок "Help Test (Помогите протестировать)" на странице загрузки. Все файлы указаны относительно [.filename]#head/# в репозитории `doc`:
[.informaltable]
[cols="1,1", frame="none", options="header"]
@@ -399,58 +317,40 @@ KBI/KPI стабильность подразумевает, что вызов
|Добавьте новую `BETA`, `RC` или финальную `RELEASE` в шаблон
|===
-После создания ветки {branchRelengx} необходимо добавить различные
-документы, связанные с выпуском, в репозиторий `doc/`.
+После создания ветки {branchRelengx} необходимо добавить различные документы, связанные с выпуском, в репозиторий `doc/`.
[NOTE]
====
-Соответствующие документы, связанные с выпусками, находятся в репозитории
-[.filename]#doc# для FreeBSD 12.x и более поздних версий.
+Соответствующие документы, связанные с выпусками, находятся в репозитории [.filename]#doc# для FreeBSD 12.x и более поздних версий.
====
[[releng-ports-beta-rc]]
=== Изменения в портах во время `BETA`, `RC` и финального `RELEASE`
-Для каждой сборки в течение цикла выпуска файлы `MANIFEST`, содержащие
-`SHA256` для различных наборов дистрибутива, таких как `base.txz`,
-`kernel.txz` и других, добавляются в порт
-package:misc/freebsd-release-manifests[]. Это позволяет другим утилитам,
-кроме , таким как package:ports-mgmt/poudriere[], безопасно использовать эти
-наборы дистрибутива, предоставляя механизм для проверки контрольных сумм.
+Для каждой сборки в течение цикла выпуска файлы `MANIFEST`, содержащие `SHA256` для различных наборов дистрибутива, таких как `base.txz`, `kernel.txz` и других, добавляются в порт package:misc/freebsd-release-manifests[]. Это позволяет другим утилитам, кроме , таким как package:ports-mgmt/poudriere[], безопасно использовать эти наборы дистрибутива, предоставляя механизм для проверки контрольных сумм.
[[releng-head]]
== Выпуск релиза от {branchHead}
-Этот раздел описывает общие процедуры цикла выпуска FreeBSD из ветки
-{branchHead}.
+Этот раздел описывает общие процедуры цикла выпуска FreeBSD из ветки {branchHead}.
[[releng-head-builds-alpha]]
=== FreeBSD "`ALPHA`" сборки
-Начиная с цикла выпуска FreeBSD 10.0-RELEASE, было введено понятие сборок
-"`ALPHA`". В отличие от сборок `BETA` и `RC`, сборки `ALPHA` не включены в
-график выпуска FreeBSD.
+Начиная с цикла выпуска FreeBSD 10.0-RELEASE, было введено понятие сборок "`ALPHA`". В отличие от сборок `BETA` и `RC`, сборки `ALPHA` не включены в график выпуска FreeBSD.
-Идея сборок `ALPHA` заключается в предоставлении регулярных сборок FreeBSD
-до создания ветки {branchStable}.
+Идея сборок `ALPHA` заключается в предоставлении регулярных сборок FreeBSD до создания ветки {branchStable}.
Снимки состояния `ALPHA` FreeBSD должны собираться примерно раз в неделю.
-Для первой сборки `ALPHA` значение `BRANCH` в
-[.filename]#sys/conf/newvers.sh# необходимо изменить с `CURRENT` на
-`ALPHA1`. Для последующих сборок `ALPHA` увеличивайте каждое значение
-`ALPHA__N__` на единицу.
+Для первой сборки `ALPHA` значение `BRANCH` в [.filename]#sys/conf/newvers.sh# необходимо изменить с `CURRENT` на `ALPHA1`. Для последующих сборок `ALPHA` увеличивайте каждое значение `ALPHA__N__` на единицу.
-См. crossref:freebsd-releng[releng-building, Сборка установочных носителей
-FreeBSD] для получения информации о сборке образов `ALPHA`.
+См. crossref:freebsd-releng[releng-building, Сборка установочных носителей FreeBSD] для получения информации о сборке образов `ALPHA`.
[[releng-head-branching]]
=== Создание ветки {branchStablex}
-При создании ветки {branchStable} необходимо внести несколько изменений как
-в новой ветке {branchStable}, так и в ветке {branchHead}. Указанные файлы
-относятся к корню репозитория. Чтобы создать новую ветку {branchStablex} в
-Git:
+При создании ветки {branchStable} необходимо внести несколько изменений как в новой ветке {branchStable}, так и в ветке {branchHead}. Указанные файлы относятся к корню репозитория. Чтобы создать новую ветку {branchStablex} в Git:
[NOTE]
====
@@ -559,15 +459,12 @@ a|
[[releng-stable]]
== Выпуск релиза от {branchStable}
-Этот раздел описывает общие процедуры цикла выпуска FreeBSD из установленной
-ветки {branchStable}.
+Этот раздел описывает общие процедуры цикла выпуска FreeBSD из установленной ветки {branchStable}.
[[releng-stable-slush]]
=== Мягкая заморозка кода ветки `stable` FreeBSD
-В рамках подготовки к заморозке кода в ветке `stable` необходимо обновить
-несколько файлов, чтобы отразить официальное начало цикла выпуска. Эти файлы
-находятся в корневом каталоге ветки stable:
+В рамках подготовки к заморозке кода в ветке `stable` необходимо обновить несколько файлов, чтобы отразить официальное начало цикла выпуска. Эти файлы находятся в корневом каталоге ветки stable:
[.informaltable]
[cols="1,1", frame="none", options="header"]
@@ -591,36 +488,21 @@ a|
[[releng-stable-builds-beta]]
=== Сборки FreeBSD `BETA`
-После периода мягкой заморозки следующая фаза цикла выпуска — это заморозка
-кода. На этом этапе все коммиты в стабильную ветку требуют явного одобрения
-от {teamRe}. Это контролируется {git-admin-email}, который управляет
-репозиторием.
+После периода мягкой заморозки следующая фаза цикла выпуска — это заморозка кода. На этом этапе все коммиты в стабильную ветку требуют явного одобрения от {teamRe}. Это контролируется {git-admin-email}, который управляет репозиторием.
[NOTE]
====
-Существует два общих исключения, когда не требуется подтверждение коммита во
-время цикла выпуска. Первое — любые изменения, которые необходимо
-закоммитить инженеру выпуска для продолжения ежедневной работы цикла
-выпуска. Второе — исправления безопасности, которые могут возникнуть во
-время цикла выпуска.
+Существует два общих исключения, когда не требуется подтверждение коммита во время цикла выпуска. Первое — любые изменения, которые необходимо закоммитить инженеру выпуска для продолжения ежедневной работы цикла выпуска. Второе — исправления безопасности, которые могут возникнуть во время цикла выпуска.
====
-После вступления в силу заморозки кода следующая сборка из ветки помечается
-как `BETA1`. Это делается путём изменения значения `BRANCH` в файле
-[.filename]#sys/conf/newvers.sh# с `PRERELEASE` на `BETA1`.
+После вступления в силу заморозки кода следующая сборка из ветки помечается как `BETA1`. Это делается путём изменения значения `BRANCH` в файле [.filename]#sys/conf/newvers.sh# с `PRERELEASE` на `BETA1`.
-После этого начинается первая сборка `BETA`. Последующие сборки `BETA` не
-требуют обновления каких-либо файлов, кроме
-[.filename]#sys/conf/newvers.sh#, с увеличением номера сборки `BETA`.
+После этого начинается первая сборка `BETA`. Последующие сборки `BETA` не требуют обновления каких-либо файлов, кроме [.filename]#sys/conf/newvers.sh#, с увеличением номера сборки `BETA`.
[[releng-stable-branching]]
=== Создание ветки {branchRelengx}
-Когда первая сборка `RC` (Release Candidate) готова к началу, создается
-ветка {branchReleng}. Это многоэтапный процесс, который должен выполняться в
-определенном порядке, чтобы избежать аномалий, таких как пересечения
-значений `__FreeBSD_version`, например. Указанные ниже пути относятся к
-корню репозитория. Порядок коммитов и что нужно изменить:
+Когда первая сборка `RC` (Release Candidate) готова к началу, создается ветка {branchReleng}. Это многоэтапный процесс, который должен выполняться в определенном порядке, чтобы избежать аномалий, таких как пересечения значений `__FreeBSD_version`, например. Указанные ниже пути относятся к корню репозитория. Порядок коммитов и что нужно изменить:
[NOTE]
====
@@ -660,8 +542,7 @@ a|
|Обновите `__FreeBSD_version`
|===
-Затем {git-admin-email} добавляет новых утверждающих для ветки releng, как
-это было сделано для ветки stable.
+Затем {git-admin-email} добавляет новых утверждающих для ветки releng, как это было сделано для ветки stable.
[source, shell, subs="attributes"]
....
@@ -669,53 +550,32 @@ a|
% git commit
....
-Теперь, когда существуют два новых значения `__FreeBSD_version`, также
-обновите файл
-[.filename]#~/documentation/content/en/books/porters-handbook/versions/chapter.adoc#
-в репозитории проекта документации.
+Теперь, когда существуют два новых значения `__FreeBSD_version`, также обновите файл [.filename]#~/documentation/content/en/books/porters-handbook/versions/chapter.adoc# в репозитории проекта документации.
-После завершения первой сборки `RC` и её тестирования ветку {branchStable}
-можно «разморозить» с помощью {git-admin-email}.
+После завершения первой сборки `RC` и её тестирования ветку {branchStable} можно «разморозить» с помощью {git-admin-email}.
-После появления первой версии `RC` необходимо отправить письмо команде
-{teamBugmeister}, чтобы добавить новую версию FreeBSD `-RELEASE` в список
-`versions`, доступный в выпадающем меню трекера ошибок.
+После появления первой версии `RC` необходимо отправить письмо команде {teamBugmeister}, чтобы добавить новую версию FreeBSD `-RELEASE` в список `versions`, доступный в выпадающем меню трекера ошибок.
[[releng-building]]
== Создание установочных носителей FreeBSD
-Этот раздел описывает общие процедуры создания снимков разработки и выпусков
-FreeBSD.
+Этот раздел описывает общие процедуры создания снимков разработки и выпусков FreeBSD.
[[releng-build-scripts]]
=== Скрипты сборки релизов
-До выхода FreeBSD 9.0-RELEASE файл [.filename]#src/release/Makefile# был
-обновлен для поддержки , а скрипт
-[.filename]#src/release/generate-release.sh# был добавлен в качестве обертки
-для автоматизации вызова целей.
+До выхода FreeBSD 9.0-RELEASE файл [.filename]#src/release/Makefile# был обновлен для поддержки , а скрипт [.filename]#src/release/generate-release.sh# был добавлен в качестве обертки для автоматизации вызова целей.
-До выхода FreeBSD 9.2-RELEASE был представлен
-[.filename]#src/release/release.sh#, который, основываясь на
-[.filename]#src/release/generate-release.sh#, включал поддержку указания
-конфигурационных файлов для переопределения различных опций и переменных
-окружения. Поддержка конфигурационных файлов обеспечила возможность
-кросс-сборки каждого архитектурного варианта для релиза путем указания
-отдельного конфигурационного файла для каждого вызова.
+До выхода FreeBSD 9.2-RELEASE был представлен [.filename]#src/release/release.sh#, который, основываясь на [.filename]#src/release/generate-release.sh#, включал поддержку указания конфигурационных файлов для переопределения различных опций и переменных окружения. Поддержка конфигурационных файлов обеспечила возможность кросс-сборки каждого архитектурного варианта для релиза путем указания отдельного конфигурационного файла для каждого вызова.
-В качестве краткого примера использования
-[.filename]#src/release/release.sh# для сборки одного релиза в
-[.filename]#/scratch#:
+В качестве краткого примера использования [.filename]#src/release/release.sh# для сборки одного релиза в [.filename]#/scratch#:
[source, shell, subs="attributes"]
....
# /bin/sh /usr/src/release/release.sh
....
-В качестве краткого примера использования
-[.filename]#src/release/release.sh# для сборки единого кросс-собранного
-выпуска с использованием другого целевого каталога, создайте
-пользовательский [.filename]#release.conf#, содержащий:
+В качестве краткого примера использования [.filename]#src/release/release.sh# для сборки единого кросс-собранного выпуска с использованием другого целевого каталога, создайте пользовательский [.filename]#release.conf#, содержащий:
[.programlisting, subs="attributes"]
....
@@ -733,18 +593,12 @@ KERNEL="GENERIC64"
# /bin/sh /usr/src/release/release.sh -c $HOME/release.conf
....
-См. [.filename]#src/release/release.conf.sample# для получения
-дополнительных сведений и примеров использования.
+См. [.filename]#src/release/release.conf.sample# для получения дополнительных сведений и примеров использования.
[[releng-build-release]]
=== Сборка релизов FreeBSD
-В течение цикла выпуска копии файлов [.filename]#CHECKSUM.SHA512# и
-[.filename]#CHECKSUM.SHA256# для каждой архитектуры сохраняются во
-внутреннем репозитории {teamRe}, а также включаются в различные рассылки с
-объявлениями. Каждый файл [.filename]#MANIFEST#, содержащий хеши
-[.filename]#base.txz#, [.filename]#kernel.txz# и других, также добавляется в
-пакет package:misc/freebsd-release-manifests[] в Коллекции портов.
+В течение цикла выпуска копии файлов [.filename]#CHECKSUM.SHA512# и [.filename]#CHECKSUM.SHA256# для каждой архитектуры сохраняются во внутреннем репозитории {teamRe}, а также включаются в различные рассылки с объявлениями. Каждый файл [.filename]#MANIFEST#, содержащий хеши [.filename]#base.txz#, [.filename]#kernel.txz# и других, также добавляется в пакет package:misc/freebsd-release-manifests[] в Коллекции портов.
В подготовке к сборке выпуска необходимо обновить несколько файлов:
@@ -764,10 +618,7 @@ KERNEL="GENERIC64"
|Замените `__FreeBSD_version` на значение из [.filename]#sys/sys/param.h#
|===
-После сборки окончательного `RELEASE`, ветка {branchRelengx} помечается как
-{tagReleasex}, используя ревизию, из которой был собран
-`RELEASE`. Аналогично созданию веток {branchStablex} и {branchRelengx}, это
-делается с помощью `git tag`. Из корня репозитория:
+После сборки окончательного `RELEASE`, ветка {branchRelengx} помечается как {tagReleasex}, используя ревизию, из которой был собран `RELEASE`. Аналогично созданию веток {branchStablex} и {branchRelengx}, это делается с помощью `git tag`. Из корня репозитория:
[NOTE]
====
@@ -782,73 +633,47 @@ KERNEL="GENERIC64"
[[releng-mirrors]]
== Публикация установочных носителей FreeBSD на зеркалах проекта
-Этот раздел описывает процедуру публикации снимков разработки FreeBSD и
-выпусков на зеркала Проекта.
+Этот раздел описывает процедуру публикации снимков разработки FreeBSD и выпусков на зеркала Проекта.
[[releng-mirrors-staging]]
=== Подготовка образов установочных носителей FreeBSD
-Этап подготовки (staging) снимков и выпусков FreeBSD — это двухэтапный
-процесс:
+Этап подготовки (staging) снимков и выпусков FreeBSD — это двухэтапный процесс:
* Создание структуры каталогов, соответствующей иерархии на `ftp-master`
+
-Если `EVERYTHINGISFINE` определено в конфигурационных файлах сборки,
-[.filename]#main.conf# в случае скриптов сборки, упомянутых выше, это
-происходит автоматически после завершения сборки, создавая структуру
-каталогов в [.filename]#${DESTDIR}/R/ftp-stage# с путями, соответствующими
-ожидаемым на `ftp-master`. Это эквивалентно выполнению следующего в
-директории:
+Если `EVERYTHINGISFINE` определено в конфигурационных файлах сборки, [.filename]#main.conf# в случае скриптов сборки, упомянутых выше, это происходит автоматически после завершения сборки, создавая структуру каталогов в [.filename]#${DESTDIR}/R/ftp-stage# с путями, соответствующими ожидаемым на `ftp-master`. Это эквивалентно выполнению следующего в директории:
+
[source, shell, subs="attributes"]
....
# make -C /usr/src/release -f Makefile.mirrors EVERYTHINGISFINE=1 ftp-stage
....
+
-После сборки каждой архитектуры скрипт [.filename]#thermite.sh# выполнит
-синхронизацию [.filename]#${DESTDIR}/R/ftp-stage# с билда в директории
-[.filename]#/snap/ftp/snapshots# или [.filename]#/snap/ftp/releases# на
-хосте сборки, соответственно.
-* Копирование файлов в промежуточный каталог на `ftp-master` перед
- перемещением файлов в [.filename]#pub/# для начала распространения на
- зеркала Проекта
+После сборки каждой архитектуры скрипт [.filename]#thermite.sh# выполнит синхронизацию [.filename]#${DESTDIR}/R/ftp-stage# с билда в директории [.filename]#/snap/ftp/snapshots# или [.filename]#/snap/ftp/releases# на хосте сборки, соответственно.
+* Копирование файлов в промежуточный каталог на `ftp-master` перед перемещением файлов в [.filename]#pub/# для начала распространения на зеркала Проекта
+
-После завершения всех сборок каталог [.filename]#/snap/ftp/snapshots# (или
-[.filename]#/snap/ftp/releases# для релиза) опрашивается `ftp-master`-ом с
-использованием rsync для передачи в [.filename]#/archive/tmp/snapshots# или
-[.filename]#/archive/tmp/releases#, соответственно.
+После завершения всех сборок каталог [.filename]#/snap/ftp/snapshots# (или [.filename]#/snap/ftp/releases# для релиза) опрашивается `ftp-master`-ом с использованием rsync для передачи в [.filename]#/archive/tmp/snapshots# или [.filename]#/archive/tmp/releases#, соответственно.
+
[NOTE]
====
-На `ftp-master` в инфраструктуре проекта FreeBSD этот шаг требует доступа
-уровня `root`, так как он должен выполняться от имени пользователя
-`archive`.
+На `ftp-master` в инфраструктуре проекта FreeBSD этот шаг требует доступа уровня `root`, так как он должен выполняться от имени пользователя `archive`.
====
[[releng-mirrors-publishing]]
=== Публикация установочных носителей FreeBSD
-Как только образы размещены в [.filename]#/archive/tmp/#, они готовы к
-публикации путем размещения в [.filename]#/archive/pub/FreeBSD#. Для
-уменьшения времени распространения используются жесткие ссылки из
-[.filename]#/archive/tmp# в [.filename]#/archive/pub/FreeBSD#.
+Как только образы размещены в [.filename]#/archive/tmp/#, они готовы к публикации путем размещения в [.filename]#/archive/pub/FreeBSD#. Для уменьшения времени распространения используются жесткие ссылки из [.filename]#/archive/tmp# в [.filename]#/archive/pub/FreeBSD#.
[NOTE]
====
-Для эффективной работы и [.filename]#/archive/tmp#, и
-[.filename]#/archive/pub# должны находиться в одной логической файловой
-системе.
+Для эффективной работы и [.filename]#/archive/tmp#, и [.filename]#/archive/pub# должны находиться в одной логической файловой системе.
====
-Однако есть оговорка: после этого необходимо использовать rsync для
-исправления символических ссылок в
-[.filename]#pub/FreeBSD/snapshots/ISO-IMAGES#, которые будут заменены на
-жёсткие ссылки, что увеличит время распространения.
+Однако есть оговорка: после этого необходимо использовать rsync для исправления символических ссылок в [.filename]#pub/FreeBSD/snapshots/ISO-IMAGES#, которые будут заменены на жёсткие ссылки, что увеличит время распространения.
[NOTE]
====
-Как и на этапе подготовки, это требует доступа уровня `root`, так как данный
-шаг должен быть выполнен от имени пользователя `archive`.
+Как и на этапе подготовки, это требует доступа уровня `root`, так как данный шаг должен быть выполнен от имени пользователя `archive`.
====
Как пользователь `archive`:
@@ -870,52 +695,33 @@ KERNEL="GENERIC64"
[[releng-wrapup-en]]
=== Уведомления об исправлениях после выпуска
-По мере приближения цикла выпуска к завершению часто появляются несколько
-кандидатов в EN (Errata Notice — уведомления об ошибках) для устранения
-проблем, обнаруженных на поздних этапах цикла. После выпуска {teamRe} и
-{teamSecteam} пересматривают изменения, которые не были одобрены до
-финального выпуска, и, в зависимости от масштаба рассматриваемого изменения,
-могут выпустить EN.
+По мере приближения цикла выпуска к завершению часто появляются несколько кандидатов в EN (Errata Notice — уведомления об ошибках) для устранения проблем, обнаруженных на поздних этапах цикла. После выпуска {teamRe} и {teamSecteam} пересматривают изменения, которые не были одобрены до финального выпуска, и, в зависимости от масштаба рассматриваемого изменения, могут выпустить EN.
[NOTE]
====
Фактический процесс выпуска EN обрабатывается командой {teamSecteam}.
====
-Для запроса уведомления об ошибке после завершения цикла выпуска разработчик
-должен заполнить https://www.freebsd.org/security/errata-template.txt[шаблон
-уведомления об ошибке], в частности разделы `Предыстория`, `Описание
-проблемы`, `Последствия` и, если применимо, `Обходное решение`.
+Для запроса уведомления об ошибке после завершения цикла выпуска разработчик должен заполнить https://www.freebsd.org/security/errata-template.txt[шаблон уведомления об ошибке], в частности разделы `Предыстория`, `Описание проблемы`, `Последствия` и, если применимо, `Обходное решение`.
-Заполненный шаблон уведомления об ошибке следует отправить по электронной
-почте вместе с патчем для ветки {branchReleng} или списком ревизий из ветки
-{branchStable}.
+Заполненный шаблон уведомления об ошибке следует отправить по электронной почте вместе с патчем для ветки {branchReleng} или списком ревизий из ветки {branchStable}.
-Для запросов на уведомления об ошибках (Errata Notice), поступающих сразу
-после выпуска, запрос следует отправлять по электронной почте как в
-{teamRe}, так и в {teamSecteam}. После того как ветка {branchReleng}
-передана {teamSecteam}, как описано в
-crossref:freebsd-releng[releng-wrapup-handoff, Передача {teamSecteam}],
-запросы на уведомления об ошибках следует направлять в {teamSecteam}.
+Для запросов на уведомления об ошибках (Errata Notice), поступающих сразу после выпуска, запрос следует отправлять по электронной почте как в {teamRe}, так и в {teamSecteam}. После того как ветка {branchReleng} передана {teamSecteam}, как описано в crossref:freebsd-releng[releng-wrapup-handoff, Передача {teamSecteam}], запросы на уведомления об ошибках следует направлять в {teamSecteam}.
[[releng-wrapup-handoff]]
=== Передача в {teamSecteam}
-Примерно через две недели после выпуска релиза инженер по релизам обновляет
-репозиторий Git, изменяя утверждающего с команды инженеров по релизам на
-офицера безопасности для ветки `{branchRelengx}`.
+Примерно через две недели после выпуска релиза инженер по релизам обновляет репозиторий Git, изменяя утверждающего с команды инженеров по релизам на офицера безопасности для ветки `{branchRelengx}`.
[[releng-eol]]
== Конец срока поддержки выпуска
-Этот раздел описывает файлы, связанные с веб-сайтом, которые необходимо
-обновить, когда выпуск достигает EoL (End-of-Life).
+Этот раздел описывает файлы, связанные с веб-сайтом, которые необходимо обновить, когда выпуск достигает EoL (End-of-Life).
[[releng-eol-website]]
=== Обновления веб-сайта для прекращения поддержки
-Когда выпуск достигает конца жизненного цикла, ссылки на этот выпуск должны
-быть удалены и/или обновлены на веб-сайте:
+Когда выпуск достигает конца жизненного цикла, ссылки на этот выпуск должны быть удалены и/или обновлены на веб-сайте:
[.informaltable]
[cols="1,1", frame="none", options="header"]
diff --git a/documentation/content/ru/articles/freebsd-releng/_index.po b/documentation/content/ru/articles/freebsd-releng/_index.po
index 5b923d0260..4fd7e04a54 100644
--- a/documentation/content/ru/articles/freebsd-releng/_index.po
+++ b/documentation/content/ru/articles/freebsd-releng/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-09-22 22:37+0300\n"
+"POT-Creation-Date: 2024-12-29 08:30-0500\n"
"PO-Revision-Date: 2025-08-08 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,11 +18,16 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/articles/freebsd-releng/_index.adoc:1
#, no-wrap
msgid "Describes the approach used by the FreeBSD release engineering team to make production quality releases of the FreeBSD Operating System. It describes the tools available for those interested in producing customized FreeBSD releases for corporate rollouts or commercial productization"
-msgstr "Описывает подход, используемый командой разработки релизов FreeBSD для создания релизов операционной системы FreeBSD производственного качества. В нем описаны инструменты, доступные тем, кто заинтересован в создании настраиваемых релизов FreeBSD для корпоративного внедрения или коммерческой продуктивизации"
+msgstr ""
+"Описывает подход, используемый командой разработки релизов FreeBSD для "
+"создания релизов операционной системы FreeBSD производственного качества. В "
+"нем описаны инструменты, доступные тем, кто заинтересован в создании "
+"настраиваемых релизов FreeBSD для корпоративного внедрения или коммерческой "
+"продуктивизации"
#. type: Title =
#: documentation/content/en/articles/freebsd-releng/_index.adoc:1
@@ -62,8 +67,8 @@ msgid ""
"which reflects the top of the source tree."
msgstr ""
"Разработка FreeBSD следует очень специфичному рабочему процессу. В общем "
-"случае все изменения в базовой системе FreeBSD вносятся в ветку "
-"{branchHead}, которая отражает вершину дерева исходного кода."
+"случае все изменения в базовой системе FreeBSD вносятся в ветку {branchHead}"
+", которая отражает вершину дерева исходного кода."
#. type: Plain text
#: documentation/content/en/articles/freebsd-releng/_index.adoc:78
@@ -142,7 +147,9 @@ msgstr "Общая информация и подготовка перед на
#: documentation/content/en/articles/freebsd-releng/_index.adoc:94
#, no-wrap
msgid "crossref:freebsd-releng[releng-website, Website Changes During the Release Cycle]"
-msgstr "crossref:freebsd-releng[releng-website, Изменения на веб-сайте в течение цикла выпуска]"
+msgstr ""
+"crossref:freebsd-releng[releng-website, Изменения на веб-сайте в течение "
+"цикла выпуска]"
#. type: Title ==
#: documentation/content/en/articles/freebsd-releng/_index.adoc:96
@@ -192,7 +199,9 @@ msgstr "Процесс Release Engineering для \"точечного\" вып
#: documentation/content/en/articles/freebsd-releng/_index.adoc:106
#, no-wrap
msgid "crossref:freebsd-releng[releng-building, Building FreeBSD Installation Media]"
-msgstr "crossref:freebsd-releng[releng-building, Создание установочных носителей FreeBSD]"
+msgstr ""
+"crossref:freebsd-releng[releng-building, Создание установочных носителей "
+"FreeBSD]"
#. type: Plain text
#: documentation/content/en/articles/freebsd-releng/_index.adoc:108
@@ -206,7 +215,9 @@ msgstr ""
#: documentation/content/en/articles/freebsd-releng/_index.adoc:109
#, no-wrap
msgid "crossref:freebsd-releng[releng-mirrors, Publishing FreeBSD Installation Media to Project Mirrors]"
-msgstr "crossref:freebsd-releng[releng-mirrors, Публикация установочных носителей FreeBSD на зеркалах проекта]"
+msgstr ""
+"crossref:freebsd-releng[releng-mirrors, Публикация установочных носителей "
+"FreeBSD на зеркалах проекта]"
#. type: Plain text
#: documentation/content/en/articles/freebsd-releng/_index.adoc:111
@@ -635,12 +646,11 @@ msgstr ""
#: documentation/content/en/articles/freebsd-releng/_index.adoc:235
msgid ""
"The schedule is also added to the Project website, in the `doc/` repository, "
-"in [.filename]#~/website/content/en/releases/{branchRevision}R/"
-"schedule.adoc#. This file is continuously updated as the release cycle "
-"progresses."
+"in [.filename]#~/website/content/en/releases/{branchRevision}R/schedule."
+"adoc#. This file is continuously updated as the release cycle progresses."
msgstr ""
-"Расписание также добавляется на сайт проекта в репозитории `doc/`, в файле "
-"[.filename]#~/website/content/en/releases/{branchRevision}R/schedule.adoc#. "
+"Расписание также добавляется на сайт проекта в репозитории `doc/`, в файле [."
+"filename]#~/website/content/en/releases/{branchRevision}R/schedule.adoc#. "
"Этот файл постоянно обновляется по мере прохождения цикла выпуска."
#. type: delimited block = 4
@@ -655,13 +665,13 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-releng/_index.adoc:242
msgid ""
-"In addition to adding [.filename]#schedule.adoc# to the website, "
-"[.filename]#~/shared/releases.adoc# is also updated to add the link to the "
+"In addition to adding [.filename]#schedule.adoc# to the website, [."
+"filename]#~/shared/releases.adoc# is also updated to add the link to the "
"schedule to various subpages, as well as enabling the link to the schedule "
"on the Project website index page."
msgstr ""
-"В дополнение к добавлению [.filename]#schedule.adoc# на веб-сайт, файл "
-"[.filename]#~/shared/releases.adoc# также обновляется, чтобы добавить ссылку "
+"В дополнение к добавлению [.filename]#schedule.adoc# на веб-сайт, файл [."
+"filename]#~/shared/releases.adoc# также обновляется, чтобы добавить ссылку "
"на расписание на различные подстраницы, а также включить ссылку на "
"расписание на главной странице веб-сайта проекта."
@@ -763,8 +773,8 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/freebsd-releng/_index.adoc:272
msgid ""
-"During the code freeze, FreeBSD committers are urged to follow the "
-"link:https://wiki.freebsd.org/Releng/ChangeRequestGuidelines[Change Request "
+"During the code freeze, FreeBSD committers are urged to follow the link:"
+"https://wiki.freebsd.org/Releng/ChangeRequestGuidelines[Change Request "
"Guidelines]."
msgstr ""
"Во время заморозки кода участники проекта FreeBSD должны следовать "
@@ -941,8 +951,8 @@ msgid ""
"The relevant release-related documents exist in the [.filename]#doc# "
"repository for FreeBSD 12.x and later."
msgstr ""
-"Соответствующие документы, связанные с выпусками, находятся в репозитории "
-"[.filename]#doc# для FreeBSD 12.x и более поздних версий."
+"Соответствующие документы, связанные с выпусками, находятся в репозитории [."
+"filename]#doc# для FreeBSD 12.x и более поздних версий."
#. type: Title ===
#: documentation/content/en/articles/freebsd-releng/_index.adoc:341
@@ -961,11 +971,11 @@ msgid ""
"the checksums can be verified."
msgstr ""
"Для каждой сборки в течение цикла выпуска файлы `MANIFEST`, содержащие "
-"`SHA256` для различных наборов дистрибутива, таких как `base.txz`, "
-"`kernel.txz` и других, добавляются в порт package:misc/freebsd-release-"
-"manifests[]. Это позволяет другим утилитам, кроме , таким как package:ports-"
-"mgmt/poudriere[], безопасно использовать эти наборы дистрибутива, "
-"предоставляя механизм для проверки контрольных сумм."
+"`SHA256` для различных наборов дистрибутива, таких как `base.txz`, `kernel."
+"txz` и других, добавляются в порт package:misc/freebsd-release-manifests[]. "
+"Это позволяет другим утилитам, кроме , таким как package:ports-mgmt/"
+"poudriere[], безопасно использовать эти наборы дистрибутива, предоставляя "
+"механизм для проверки контрольных сумм."
#. type: Title ==
#: documentation/content/en/articles/freebsd-releng/_index.adoc:347
@@ -995,8 +1005,8 @@ msgid ""
"builds was introduced. Unlike the `BETA` and `RC` builds, `ALPHA` builds "
"are not included in the FreeBSD Release schedule."
msgstr ""
-"Начиная с цикла выпуска FreeBSD 10.0-RELEASE, было введено понятие сборок "
-"\"`ALPHA`\". В отличие от сборок `BETA` и `RC`, сборки `ALPHA` не включены в "
+"Начиная с цикла выпуска FreeBSD 10.0-RELEASE, было введено понятие сборок \""
+"`ALPHA`\". В отличие от сборок `BETA` и `RC`, сборки `ALPHA` не включены в "
"график выпуска FreeBSD."
#. type: Plain text
@@ -1021,9 +1031,9 @@ msgid ""
"newvers.sh# needs to be changed from `CURRENT` to `ALPHA1`. For subsequent "
"`ALPHA` builds, increment each `ALPHA__N__` value by one."
msgstr ""
-"Для первой сборки `ALPHA` значение `BRANCH` в [.filename]#sys/conf/"
-"newvers.sh# необходимо изменить с `CURRENT` на `ALPHA1`. Для последующих "
-"сборок `ALPHA` увеличивайте каждое значение `ALPHA__N__` на единицу."
+"Для первой сборки `ALPHA` значение `BRANCH` в [.filename]#sys/conf/newvers."
+"sh# необходимо изменить с `CURRENT` на `ALPHA1`. Для последующих сборок "
+"`ALPHA` увеличивайте каждое значение `ALPHA__N__` на единицу."
#. type: Plain text
#: documentation/content/en/articles/freebsd-releng/_index.adoc:365
@@ -1205,13 +1215,17 @@ msgstr "[.filename]#share/mk/src.opts.mk#"
#: documentation/content/en/articles/freebsd-releng/_index.adoc:428
#, no-wrap
msgid "Move `REPRODUCIBLE_BUILD` from `\\__DEFAULT_NO_OPTIONS` to `__DEFAULT_YES_OPTIONS`"
-msgstr "Переместите `REPRODUCIBLE_BUILD` из `\\__DEFAULT_NO_OPTIONS` в `__DEFAULT_YES_OPTIONS`"
+msgstr ""
+"Переместите `REPRODUCIBLE_BUILD` из `\\__DEFAULT_NO_OPTIONS` в "
+"`__DEFAULT_YES_OPTIONS`"
#. type: Table
#: documentation/content/en/articles/freebsd-releng/_index.adoc:431
#, no-wrap
msgid "Move `LLVM_ASSERTIONS` from `\\__DEFAULT_YES_OPTIONS` to `__DEFAULT_NO_OPTIONS`"
-msgstr "Переместите `LLVM_ASSERTIONS` из `\\__DEFAULT_YES_OPTIONS` в `__DEFAULT_NO_OPTIONS`"
+msgstr ""
+"Переместите `LLVM_ASSERTIONS` из `\\__DEFAULT_YES_OPTIONS` в "
+"`__DEFAULT_NO_OPTIONS`"
#. type: Table
#: documentation/content/en/articles/freebsd-releng/_index.adoc:432
@@ -1223,7 +1237,9 @@ msgstr "[.filename]#libexec/rc/rc.conf#"
#: documentation/content/en/articles/freebsd-releng/_index.adoc:434
#, no-wrap
msgid "Set `dumpdev` from `AUTO` to `NO` (it is configurable via for those that want it enabled by default)"
-msgstr "Установите `dumpdev` с `AUTO` на `NO` (это настраивается для тех, кто хочет включить его по умолчанию)"
+msgstr ""
+"Установите `dumpdev` с `AUTO` на `NO` (это настраивается для тех, кто хочет "
+"включить его по умолчанию)"
#. type: Table
#: documentation/content/en/articles/freebsd-releng/_index.adoc:435
@@ -1254,7 +1270,9 @@ msgstr "Обновите версию FreeBSD"
#: documentation/content/en/articles/freebsd-releng/_index.adoc:452
#, no-wrap
msgid "Update the `BRANCH` value to reflect `CURRENT`, and increment `REVISION`"
-msgstr "Обновите значение `BRANCH`, чтобы оно соответствовало `CURRENT`, и увеличьте `REVISION`"
+msgstr ""
+"Обновите значение `BRANCH`, чтобы оно соответствовало `CURRENT`, и увеличьте "
+"`REVISION`"
#. type: Table
#: documentation/content/en/articles/freebsd-releng/_index.adoc:453
@@ -1444,8 +1462,8 @@ msgid ""
"conf/newvers.sh# from `PRERELEASE` to `BETA1`."
msgstr ""
"После вступления в силу заморозки кода следующая сборка из ветки помечается "
-"как `BETA1`. Это делается путём изменения значения `BRANCH` в файле "
-"[.filename]#sys/conf/newvers.sh# с `PRERELEASE` на `BETA1`."
+"как `BETA1`. Это делается путём изменения значения `BRANCH` в файле [."
+"filename]#sys/conf/newvers.sh# с `PRERELEASE` на `BETA1`."
#. type: Plain text
#: documentation/content/en/articles/freebsd-releng/_index.adoc:525
@@ -1455,8 +1473,8 @@ msgid ""
"conf/newvers.sh#, incrementing the `BETA` build number."
msgstr ""
"После этого начинается первая сборка `BETA`. Последующие сборки `BETA` не "
-"требуют обновления каких-либо файлов, кроме [.filename]#sys/conf/"
-"newvers.sh#, с увеличением номера сборки `BETA`."
+"требуют обновления каких-либо файлов, кроме [.filename]#sys/conf/newvers.sh#"
+", с увеличением номера сборки `BETA`."
#. type: Title ===
#: documentation/content/en/articles/freebsd-releng/_index.adoc:527
@@ -1507,7 +1525,9 @@ msgstr "[.filename]#sys/conf/kern.opts.mk#"
#: documentation/content/en/articles/freebsd-releng/_index.adoc:559
#, no-wrap
msgid "Move `REPRODUCIBLE_BUILD` from `__DEFAULT_NO_OPTIONS` to `__DEFAULT_YES_OPTIONS`"
-msgstr "Переместите `REPRODUCIBLE_BUILD` из `__DEFAULT_NO_OPTIONS` в `__DEFAULT_YES_OPTIONS`"
+msgstr ""
+"Переместите `REPRODUCIBLE_BUILD` из `__DEFAULT_NO_OPTIONS` в "
+"`__DEFAULT_YES_OPTIONS`"
#. type: Table
#: documentation/content/en/articles/freebsd-releng/_index.adoc:560
@@ -1520,7 +1540,9 @@ msgstr "[.filename]#etc/pkg/FreeBSD.conf#"
#: documentation/content/en/articles/freebsd-releng/_index.adoc:565
#, no-wrap
msgid "Replace `latest` with `quarterly` as the default package repository location"
-msgstr "Замените `latest` на `quarterly` в качестве расположения репозитория пакетов по умолчанию"
+msgstr ""
+"Замените `latest` на `quarterly` в качестве расположения репозитория пакетов "
+"по умолчанию"
#. type: Table
#: documentation/content/en/articles/freebsd-releng/_index.adoc:563
@@ -1613,26 +1635,25 @@ msgid ""
"introduced as a wrapper to automate invoking the targets."
msgstr ""
"До выхода FreeBSD 9.0-RELEASE файл [.filename]#src/release/Makefile# был "
-"обновлен для поддержки , а скрипт [.filename]#src/release/generate-"
-"release.sh# был добавлен в качестве обертки для автоматизации вызова целей."
+"обновлен для поддержки , а скрипт [.filename]#src/release/generate-release."
+"sh# был добавлен в качестве обертки для автоматизации вызова целей."
#. type: Plain text
#: documentation/content/en/articles/freebsd-releng/_index.adoc:598
msgid ""
"Prior to FreeBSD 9.2-RELEASE, [.filename]#src/release/release.sh# was "
-"introduced, which heavily based on [.filename]#src/release/generate-"
-"release.sh# included support to specify configuration files to override "
-"various options and environment variables. Support for configuration files "
-"provided support for cross building each architecture for a release by "
-"specifying a separate configuration file for each invocation."
+"introduced, which heavily based on [.filename]#src/release/generate-release."
+"sh# included support to specify configuration files to override various "
+"options and environment variables. Support for configuration files provided "
+"support for cross building each architecture for a release by specifying a "
+"separate configuration file for each invocation."
msgstr ""
-"До выхода FreeBSD 9.2-RELEASE был представлен [.filename]#src/release/"
-"release.sh#, который, основываясь на [.filename]#src/release/generate-"
-"release.sh#, включал поддержку указания конфигурационных файлов для "
-"переопределения различных опций и переменных окружения. Поддержка "
-"конфигурационных файлов обеспечила возможность кросс-сборки каждого "
-"архитектурного варианта для релиза путем указания отдельного "
-"конфигурационного файла для каждого вызова."
+"До выхода FreeBSD 9.2-RELEASE был представлен [.filename]#src/release/release"
+".sh#, который, основываясь на [.filename]#src/release/generate-release.sh#, "
+"включал поддержку указания конфигурационных файлов для переопределения "
+"различных опций и переменных окружения. Поддержка конфигурационных файлов "
+"обеспечила возможность кросс-сборки каждого архитектурного варианта для "
+"релиза путем указания отдельного конфигурационного файла для каждого вызова."
#. type: Plain text
#: documentation/content/en/articles/freebsd-releng/_index.adoc:600
@@ -1640,8 +1661,8 @@ msgid ""
"As a brief example of using [.filename]#src/release/release.sh# to build a "
"single release in [.filename]#/scratch#:"
msgstr ""
-"В качестве краткого примера использования [.filename]#src/release/"
-"release.sh# для сборки одного релиза в [.filename]#/scratch#:"
+"В качестве краткого примера использования [.filename]#src/release/release.sh#"
+" для сборки одного релиза в [.filename]#/scratch#:"
#. type: delimited block . 4
#: documentation/content/en/articles/freebsd-releng/_index.adoc:604
@@ -1656,10 +1677,10 @@ msgid ""
"single, cross-built release using a different target directory, create a "
"custom [.filename]#release.conf# containing:"
msgstr ""
-"В качестве краткого примера использования [.filename]#src/release/"
-"release.sh# для сборки единого кросс-собранного выпуска с использованием "
-"другого целевого каталога, создайте пользовательский "
-"[.filename]#release.conf#, содержащий:"
+"В качестве краткого примера использования [.filename]#src/release/release.sh#"
+" для сборки единого кросс-собранного выпуска с использованием другого "
+"целевого каталога, создайте пользовательский [.filename]#release.conf#, "
+"содержащий:"
#. type: delimited block . 4
#: documentation/content/en/articles/freebsd-releng/_index.adoc:615
@@ -1706,18 +1727,18 @@ msgstr "Сборка релизов FreeBSD"
#. type: Plain text
#: documentation/content/en/articles/freebsd-releng/_index.adoc:631
msgid ""
-"During the release cycle, a copy of [.filename]#CHECKSUM.SHA512# and "
-"[.filename]#CHECKSUM.SHA256# for each architecture are stored in the "
-"{teamRe} internal repository in addition to being included in the various "
-"announcement emails. Each [.filename]#MANIFEST# containing the hashes of "
-"[.filename]#base.txz#, [.filename]#kernel.txz#, etc. are added to "
-"package:misc/freebsd-release-manifests[] in the Ports Collection, as well."
-msgstr ""
-"В течение цикла выпуска копии файлов [.filename]#CHECKSUM.SHA512# и "
-"[.filename]#CHECKSUM.SHA256# для каждой архитектуры сохраняются во "
-"внутреннем репозитории {teamRe}, а также включаются в различные рассылки с "
-"объявлениями. Каждый файл [.filename]#MANIFEST#, содержащий хеши "
-"[.filename]#base.txz#, [.filename]#kernel.txz# и других, также добавляется в "
+"During the release cycle, a copy of [.filename]#CHECKSUM.SHA512# and [."
+"filename]#CHECKSUM.SHA256# for each architecture are stored in the {teamRe} "
+"internal repository in addition to being included in the various "
+"announcement emails. Each [.filename]#MANIFEST# containing the hashes of [."
+"filename]#base.txz#, [.filename]#kernel.txz#, etc. are added to package:misc/"
+"freebsd-release-manifests[] in the Ports Collection, as well."
+msgstr ""
+"В течение цикла выпуска копии файлов [.filename]#CHECKSUM.SHA512# и [."
+"filename]#CHECKSUM.SHA256# для каждой архитектуры сохраняются во внутреннем "
+"репозитории {teamRe}, а также включаются в различные рассылки с "
+"объявлениями. Каждый файл [.filename]#MANIFEST#, содержащий хеши [."
+"filename]#base.txz#, [.filename]#kernel.txz# и других, также добавляется в "
"пакет package:misc/freebsd-release-manifests[] в Коллекции портов."
#. type: Plain text
@@ -1747,7 +1768,8 @@ msgstr "[.filename]#lib/csu/common/crtbrand.S#"
#: documentation/content/en/articles/freebsd-releng/_index.adoc:648
#, no-wrap
msgid "Replace `__FreeBSD_version` with the value in [.filename]#sys/sys/param.h#"
-msgstr "Замените `__FreeBSD_version` на значение из [.filename]#sys/sys/param.h#"
+msgstr ""
+"Замените `__FreeBSD_version` на значение из [.filename]#sys/sys/param.h#"
#. type: Plain text
#: documentation/content/en/articles/freebsd-releng/_index.adoc:653
@@ -1809,15 +1831,15 @@ msgstr "Создание структуры каталогов, соответс
#. type: Plain text
#: documentation/content/en/articles/freebsd-releng/_index.adoc:678
msgid ""
-"If `EVERYTHINGISFINE` is defined in the build configuration files, "
-"[.filename]#main.conf# in the case of the build scripts referenced above, "
-"this happens automatically in the after the build is complete, creating the "
+"If `EVERYTHINGISFINE` is defined in the build configuration files, [."
+"filename]#main.conf# in the case of the build scripts referenced above, this "
+"happens automatically in the after the build is complete, creating the "
"directory structure in [.filename]#${DESTDIR}/R/ftp-stage# with a path "
"structure matching what is expected on `ftp-master`. This is equivalent to "
"running the following in the directly:"
msgstr ""
-"Если `EVERYTHINGISFINE` определено в конфигурационных файлах сборки, "
-"[.filename]#main.conf# в случае скриптов сборки, упомянутых выше, это "
+"Если `EVERYTHINGISFINE` определено в конфигурационных файлах сборки, [."
+"filename]#main.conf# в случае скриптов сборки, упомянутых выше, это "
"происходит автоматически после завершения сборки, создавая структуру "
"каталогов в [.filename]#${DESTDIR}/R/ftp-stage# с путями, соответствующими "
"ожидаемым на `ftp-master`. Это эквивалентно выполнению следующего в "
@@ -1827,20 +1849,21 @@ msgstr ""
#: documentation/content/en/articles/freebsd-releng/_index.adoc:682
#, no-wrap
msgid "# make -C /usr/src/release -f Makefile.mirrors EVERYTHINGISFINE=1 ftp-stage\n"
-msgstr "# make -C /usr/src/release -f Makefile.mirrors EVERYTHINGISFINE=1 ftp-stage\n"
+msgstr ""
+"# make -C /usr/src/release -f Makefile.mirrors EVERYTHINGISFINE=1 ftp-stage\n"
#. type: Plain text
#: documentation/content/en/articles/freebsd-releng/_index.adoc:685
msgid ""
-"After each architecture is built, [.filename]#thermite.sh# will rsync the "
-"[.filename]#${DESTDIR}/R/ftp-stage# from the build to [.filename]#/snap/ftp/"
+"After each architecture is built, [.filename]#thermite.sh# will rsync the [."
+"filename]#${DESTDIR}/R/ftp-stage# from the build to [.filename]#/snap/ftp/"
"snapshots# or [.filename]#/snap/ftp/releases# on the build host, "
"respectively."
msgstr ""
"После сборки каждой архитектуры скрипт [.filename]#thermite.sh# выполнит "
-"синхронизацию [.filename]#${DESTDIR}/R/ftp-stage# с билда в директории "
-"[.filename]#/snap/ftp/snapshots# или [.filename]#/snap/ftp/releases# на "
-"хосте сборки, соответственно."
+"синхронизацию [.filename]#${DESTDIR}/R/ftp-stage# с билда в директории [."
+"filename]#/snap/ftp/snapshots# или [.filename]#/snap/ftp/releases# на хосте "
+"сборки, соответственно."
#. type: Plain text
#: documentation/content/en/articles/freebsd-releng/_index.adoc:686
@@ -1855,15 +1878,15 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-releng/_index.adoc:688
msgid ""
-"Once all builds have finished, [.filename]#/snap/ftp/snapshots#, or "
-"[.filename]#/snap/ftp/releases# for a release, is polled by `ftp-master` "
-"using rsync to [.filename]#/archive/tmp/snapshots# or [.filename]#/archive/"
-"tmp/releases#, respectively."
+"Once all builds have finished, [.filename]#/snap/ftp/snapshots#, or [."
+"filename]#/snap/ftp/releases# for a release, is polled by `ftp-master` using "
+"rsync to [.filename]#/archive/tmp/snapshots# or [.filename]#/archive/tmp/"
+"releases#, respectively."
msgstr ""
-"После завершения всех сборок каталог [.filename]#/snap/ftp/snapshots# (или "
-"[.filename]#/snap/ftp/releases# для релиза) опрашивается `ftp-master`-ом с "
-"использованием rsync для передачи в [.filename]#/archive/tmp/snapshots# или "
-"[.filename]#/archive/tmp/releases#, соответственно."
+"После завершения всех сборок каталог [.filename]#/snap/ftp/snapshots# (или [."
+"filename]#/snap/ftp/releases# для релиза) опрашивается `ftp-master`-ом с "
+"использованием rsync для передачи в [.filename]#/archive/tmp/snapshots# или ["
+".filename]#/archive/tmp/releases#, соответственно."
#. type: delimited block = 4
#: documentation/content/en/articles/freebsd-releng/_index.adoc:692
@@ -1890,8 +1913,8 @@ msgid ""
msgstr ""
"Как только образы размещены в [.filename]#/archive/tmp/#, они готовы к "
"публикации путем размещения в [.filename]#/archive/pub/FreeBSD#. Для "
-"уменьшения времени распространения используются жесткие ссылки из "
-"[.filename]#/archive/tmp# в [.filename]#/archive/pub/FreeBSD#."
+"уменьшения времени распространения используются жесткие ссылки из [."
+"filename]#/archive/tmp# в [.filename]#/archive/pub/FreeBSD#."
#. type: delimited block = 4
#: documentation/content/en/articles/freebsd-releng/_index.adoc:703
@@ -1938,7 +1961,8 @@ msgid ""
msgstr ""
"% cd /archive/tmp/snapshots\n"
"% pax -r -w -l . /archive/pub/FreeBSD/snapshots\n"
-"% /usr/local/bin/rsync -avH /archive/tmp/snapshots/* /archive/pub/FreeBSD/snapshots/\n"
+"% /usr/local/bin/rsync -avH /archive/tmp/snapshots/* /archive/pub/FreeBSD/"
+"snapshots/\n"
#. type: Plain text
#: documentation/content/en/articles/freebsd-releng/_index.adoc:722
@@ -1987,9 +2011,9 @@ msgstr "Фактический процесс выпуска EN обрабаты
#: documentation/content/en/articles/freebsd-releng/_index.adoc:740
msgid ""
"To request an Errata Notice after a release cycle has completed, a developer "
-"should fill out the https://www.freebsd.org/security/errata-"
-"template.txt[Errata Notice template], in particular the `Background`, "
-"`Problem Description`, `Impact`, and if applicable, `Workaround` sections."
+"should fill out the https://www.freebsd.org/security/errata-template."
+"txt[Errata Notice template], in particular the `Background`, `Problem "
+"Description`, `Impact`, and if applicable, `Workaround` sections."
msgstr ""
"Для запроса уведомления об ошибке после завершения цикла выпуска разработчик "
"должен заполнить https://www.freebsd.org/security/errata-template.txt[шаблон "
@@ -2017,10 +2041,10 @@ msgid ""
"{teamSecteam}], Errata Notice requests should be sent to the {teamSecteam}."
msgstr ""
"Для запросов на уведомления об ошибках (Errata Notice), поступающих сразу "
-"после выпуска, запрос следует отправлять по электронной почте как в "
-"{teamRe}, так и в {teamSecteam}. После того как ветка {branchReleng} "
-"передана {teamSecteam}, как описано в crossref:freebsd-releng[releng-wrapup-"
-"handoff, Передача {teamSecteam}], запросы на уведомления об ошибках следует "
+"после выпуска, запрос следует отправлять по электронной почте как в {teamRe}"
+", так и в {teamSecteam}. После того как ветка {branchReleng} передана "
+"{teamSecteam}, как описано в crossref:freebsd-releng[releng-wrapup-handoff, "
+"Передача {teamSecteam}], запросы на уведомления об ошибках следует "
"направлять в {teamSecteam}."
#. type: Title ===
@@ -2099,7 +2123,9 @@ msgstr "[.filename]#~/website/content/en/releases/_index.adoc#"
#: documentation/content/en/articles/freebsd-releng/_index.adoc:774
#, no-wrap
msgid "Move the `u-relXXX-*` variables from the supported release list to the Legacy Releases list."
-msgstr "Переместите переменные `u-relXXX-*` из списка поддерживаемых выпусков в список Устаревших выпусков."
+msgstr ""
+"Переместите переменные `u-relXXX-*` из списка поддерживаемых выпусков в "
+"список Устаревших выпусков."
#. type: Table
#: documentation/content/en/articles/freebsd-releng/_index.adoc:775
@@ -2111,7 +2137,9 @@ msgstr "[.filename]#~/website/content/en/releng/_index.adoc#"
#: documentation/content/en/articles/freebsd-releng/_index.adoc:777
#, no-wrap
msgid "Update the appropriate releng branch to reflect the branch is no longer supported."
-msgstr "Обновите соответствующую ветку releng, чтобы отразить, что ветка больше не поддерживается."
+msgstr ""
+"Обновите соответствующую ветку releng, чтобы отразить, что ветка больше не "
+"поддерживается."
#. type: Table
#: documentation/content/en/articles/freebsd-releng/_index.adoc:778
diff --git a/documentation/content/ru/articles/freebsd-status-report-process/_index.adoc b/documentation/content/ru/articles/freebsd-status-report-process/_index.adoc
index 483c34855b..649aad240f 100644
--- a/documentation/content/ru/articles/freebsd-status-report-process/_index.adoc
+++ b/documentation/content/ru/articles/freebsd-status-report-process/_index.adoc
@@ -22,134 +22,78 @@ trademarks: ["freebsd", "git", "github", "general"]
toc::[]
-Отчеты о состоянии FreeBSD публикуются ежеквартально и предоставляют широкой
-общественности обзор происходящего в проекте. Они часто дополняются
-специальными отчетами с встреч разработчиков. Поскольку это одна из самых
-заметных форм коммуникации, они очень важны.
+Отчеты о состоянии FreeBSD публикуются ежеквартально и предоставляют широкой общественности обзор происходящего в проекте. Они часто дополняются специальными отчетами с встреч разработчиков. Поскольку это одна из самых заметных форм коммуникации, они очень важны.
-На протяжении этого документа, а также в других материалах, связанных с
-отчётами о состоянии FreeBSD, выражение _отчёт о состоянии_ используется как
-для обозначения документа, публикуемого ежеквартально, так и для отдельных
-записей, содержащихся в нём.
+На протяжении этого документа, а также в других материалах, связанных с отчётами о состоянии FreeBSD, выражение _отчёт о состоянии_ используется как для обозначения документа, публикуемого ежеквартально, так и для отдельных записей, содержащихся в нём.
== Инструкции для авторов
-Этот раздел содержит рекомендации по написанию записей в отчетах о
-состоянии. Также приведены инструкции по отправке ваших записей.
+Этот раздел содержит рекомендации по написанию записей в отчетах о состоянии. Также приведены инструкции по отправке ваших записей.
-_Не беспокойтесь, если вы не являетесь носителем английского языка. Команда
-mailto:status@FreeBSD.org[status team] проверит ваши записи на орфографию и
-грамматику и исправит их за вас._
+_Не беспокойтесь, если вы не являетесь носителем английского языка. Команда mailto:status@FreeBSD.org[status team] проверит ваши записи на орфографию и грамматику и исправит их за вас._
=== Представьте свою работу
_Не предполагайте, что человек, читающий отчёт, знает о вашем проекте._
-Отчеты о состоянии имеют широкое распространение. Они часто становятся
-одними из главных новостей на веб-сайте FreeBSD и являются одним из первых
-материалов, которые прочитают люди, желающие узнать немного о том, что такое
-FreeBSD. Рассмотрим следующий пример:
+Отчеты о состоянии имеют широкое распространение. Они часто становятся одними из главных новостей на веб-сайте FreeBSD и являются одним из первых материалов, которые прочитают люди, желающие узнать немного о том, что такое FreeBSD. Рассмотрим следующий пример:
....
abc(4) support was added, including frobnicator compatibility.
....
-Читающий это, если он знаком с руководствами UNIX, поймет, что `abc(4)` —
-это какое-то устройство. Но почему это должно волновать читателя? Что это за
-устройство? Сравните с этой версией:
+Читающий это, если он знаком с руководствами UNIX, поймет, что `abc(4)` — это какое-то устройство. Но почему это должно волновать читателя? Что это за устройство? Сравните с этой версией:
....
A new driver, abc(4), was added to the tree, bringing support for
Yoyodyne's range of Frobnicator network interfaces.
....
-Теперь читатель знает, что `abc` — это драйвер сетевого интерфейса. Даже
-если они не используют продукты Yoyodyne, вы сообщили, что поддержка сетевых
-устройств в FreeBSD улучшается.
+Теперь читатель знает, что `abc` — это драйвер сетевого интерфейса. Даже если они не используют продукты Yoyodyne, вы сообщили, что поддержка сетевых устройств в FreeBSD улучшается.
=== Покажите важность вашей работы
-_Отчеты о состоянии нужны не только для того, чтобы сообщать всем о
-выполненных задачах, но и для объяснения причин их выполнения._
+_Отчеты о состоянии нужны не только для того, чтобы сообщать всем о выполненных задачах, но и для объяснения причин их выполнения._
-Продолжим предыдущий пример. Почему интересно, что мы теперь поддерживаем
-карты Yoyodyne Frobnicator? Они широко распространены? Они используются в
-каком-то конкретном популярном устройстве? Они применяются в определенной
-нише, где FreeBSD имеет (или хотела бы иметь) присутствие? Это самые быстрые
-сетевые карты на планете? В отчетах о состоянии часто встречаются такие
-фразы:
+Продолжим предыдущий пример. Почему интересно, что мы теперь поддерживаем карты Yoyodyne Frobnicator? Они широко распространены? Они используются в каком-то конкретном популярном устройстве? Они применяются в определенной нише, где FreeBSD имеет (или хотела бы иметь) присутствие? Это самые быстрые сетевые карты на планете? В отчетах о состоянии часто встречаются такие фразы:
....
We imported Cyberdyne Systems T800 into the tree.
....
-И затем они останавливаются. Возможно, читатель — ярый поклонник Cyberdyne и
-знает, какие захватывающие новые функции предлагает T800. Это
-маловероятно. Гораздо вероятнее, что они смутно слышали о том, что вы
-импортировали (особенно в дерево портов: помните, что там есть ещё более 35
-000 других элементов...). Перечислите некоторые новые функции или
-исправления ошибок. Объясните, почему хорошо, что у нас появилась новая
-версия.
+И затем они останавливаются. Возможно, читатель — ярый поклонник Cyberdyne и знает, какие захватывающие новые функции предлагает T800. Это маловероятно. Гораздо вероятнее, что они смутно слышали о том, что вы импортировали (особенно в дерево портов: помните, что там есть ещё более 35 000 других элементов...). Перечислите некоторые новые функции или исправления ошибок. Объясните, почему хорошо, что у нас появилась новая версия.
=== Расскажите нам что-то новое
_Не используйте повторно одни и те же пункты отчёта о состоянии._
-Имейте в виду, что отчеты о состоянии — это не просто отчеты о состоянии
-проекта, это отчеты об изменении состояния проекта. Если проект
-продолжается, уделите пару предложений его представлению, но затем
-сосредоточьтесь в отчете на новой работе. Какой прогресс был достигнут с
-момента последнего отчета? Что осталось сделать? Когда он, вероятно, будет
-завершен (или, если "завершение" не совсем применимо, когда он будет готов
-для более широкого использования, тестирования, развертывания в производстве
-и так далее)?
+Имейте в виду, что отчеты о состоянии — это не просто отчеты о состоянии проекта, это отчеты об изменении состояния проекта. Если проект продолжается, уделите пару предложений его представлению, но затем сосредоточьтесь в отчете на новой работе. Какой прогресс был достигнут с момента последнего отчета? Что осталось сделать? Когда он, вероятно, будет завершен (или, если "завершение" не совсем применимо, когда он будет готов для более широкого использования, тестирования, развертывания в производстве и так далее)?
=== Спонсорство
_Не забывайте о ваших спонсорах._
-Если вы или ваш проект получили спонсорскую поддержку, стипендию от
-кого-либо или вы уже работали подрядчиком или сотрудником компании,
-пожалуйста, укажите это. Спонсоры всегда ценят, когда их благодарят за
-финансирование, но также им выгодно показать, что они активно поддерживают
-Проект таким образом. И последнее, но не менее важное: это помогает FreeBSD
-узнать больше о своих важных потребителях.
+Если вы или ваш проект получили спонсорскую поддержку, стипендию от кого-либо или вы уже работали подрядчиком или сотрудником компании, пожалуйста, укажите это. Спонсоры всегда ценят, когда их благодарят за финансирование, но также им выгодно показать, что они активно поддерживают Проект таким образом. И последнее, но не менее важное: это помогает FreeBSD узнать больше о своих важных потребителях.
=== Открытые вопросы
_Если требуется помощь, укажите это явно!_
-Нужна ли помощь с чем-то? Есть ли задачи, которые могут выполнить другие
-люди? Существует два способа использования раздела открытых пунктов в отчете
-о состоянии: для запроса помощи или для быстрого обзора объема оставшейся
-работы. Если над проектом уже работает достаточное количество людей или он
-находится в таком состоянии, что добавление новых участников не ускорит его,
-то лучше использовать второй вариант. Укажите крупные рабочие задачи,
-которые находятся в процессе выполнения, и, возможно, обозначьте, кто над
-каждой из них работает.
+Нужна ли помощь с чем-то? Есть ли задачи, которые могут выполнить другие люди? Существует два способа использования раздела открытых пунктов в отчете о состоянии: для запроса помощи или для быстрого обзора объема оставшейся работы. Если над проектом уже работает достаточное количество людей или он находится в таком состоянии, что добавление новых участников не ускорит его, то лучше использовать второй вариант. Укажите крупные рабочие задачи, которые находятся в процессе выполнения, и, возможно, обозначьте, кто над каждой из них работает.
-Перечислите задачи с достаточной детализацией, чтобы люди могли понять,
-смогут ли они их выполнить, и предложите им связаться с вами.
+Перечислите задачи с достаточной детализацией, чтобы люди могли понять, смогут ли они их выполнить, и предложите им связаться с вами.
=== Представьте ваш отчёт
Доступны следующие методы для отправки ваших отчетов:
-* отправить ссылку link:https://reviews.freebsd.org/[Phabricator review] и
- добавить группу _status_ в список рецензентов. Вы должны разместить свои
- отчёты в соответствующем подкаталоге `doc/website/content/en/status/`
- (создайте его, если он отсутствует);
+* отправить ссылку link:https://reviews.freebsd.org/[Phabricator review] и добавить группу _status_ в список рецензентов. Вы должны разместить свои отчёты в соответствующем подкаталоге `doc/website/content/en/status/` (создайте его, если он отсутствует);
-* отправить запрос на включение изменений (pull request) в репозиторий
- документации через link:https://github.com/freebsd/freebsd-doc[его зеркало
- на GitHub]. Вы должны размещать свои отчёты в соответствующем подкаталоге
- `doc/website/content/en/status` (создайте его, если он отсутствует);
+* отправить запрос на включение изменений (pull request) в репозиторий документации через link:https://github.com/freebsd/freebsd-doc[его зеркало на GitHub]. Вы должны размещать свои отчёты в соответствующем подкаталоге `doc/website/content/en/status` (создайте его, если он отсутствует);
-* отправить письмо на адрес status-submissions@FreeBSD.org, приложив ваш
- отчет.
+* отправить письмо на адрес status-submissions@FreeBSD.org, приложив ваш отчет.
-Доступен link:https://www.FreeBSD.org/status/report-sample.adoc[шаблон
-отчёта в формате AsciiDoc].
+Доступен link:https://www.FreeBSD.org/status/report-sample.adoc[шаблон отчёта в формате AsciiDoc].
== Инструкции для редакторов
@@ -180,29 +124,11 @@ _Если требуется помощь, укажите это явно!_
=== Сроки
-Отчеты всегда принимаются командой статуса, но основной процесс сбора
-происходит в последний месяц каждого квартала, то есть в марте, июне,
-сентябре и декабре. В эти месяцы будут отправляться явные запросы на
-статусные отчеты. Месяцы январь, апрель, июль и октябрь посвящены сбору
-отчетов, представленных в предыдущем квартале; это может включать ожидание
-запоздавших отправлений. Публикация статусных отчетов происходит в те же
-месяцы, как только отчеты будут готовы.
-
-Все отправленные отчёты могут быть продлены по ссылке
-link:mailto:status-submissions@FreeBSD.org[электронной почте команды
-статуса] вплоть до продлённого срока, который составляет 8 дней после
-окончания квартала. Записи от
-link:https://www.freebsd.org/administration/#t-portmgr[команды управления
-портами] по умолчанию используют продлённый заголовок из-за пересечения
-отчётов о статусе и квартальных веток портов.
-
-Проверка представленных отчетов людьми, не входящими в команду статуса,
-должна быть в основном завершена к середине января/апреля/июля/октября (срок
-для сторонней отложенной проверки). То есть, за исключением опечаток или
-других незначительных правок, команда статуса должна быть готова начать сбор
-представленных материалов вскоре после 15-го числа. Отметим, что это не
-полный заморозка, и команда статуса все еще может принимать проверки в этот
-период.
+Отчеты всегда принимаются командой статуса, но основной процесс сбора происходит в последний месяц каждого квартала, то есть в марте, июне, сентябре и декабре. В эти месяцы будут отправляться явные запросы на статусные отчеты. Месяцы январь, апрель, июль и октябрь посвящены сбору отчетов, представленных в предыдущем квартале; это может включать ожидание запоздавших отправлений. Публикация статусных отчетов происходит в те же месяцы, как только отчеты будут готовы.
+
+Все отправленные отчёты могут быть продлены по ссылке link:mailto:status-submissions@FreeBSD.org[электронной почте команды статуса] вплоть до продлённого срока, который составляет 8 дней после окончания квартала. Записи от link:https://www.freebsd.org/administration/#t-portmgr[команды управления портами] по умолчанию используют продлённый заголовок из-за пересечения отчётов о статусе и квартальных веток портов.
+
+Проверка представленных отчетов людьми, не входящими в команду статуса, должна быть в основном завершена к середине января/апреля/июля/октября (срок для сторонней отложенной проверки). То есть, за исключением опечаток или других незначительных правок, команда статуса должна быть готова начать сбор представленных материалов вскоре после 15-го числа. Отметим, что это не полный заморозка, и команда статуса все еще может принимать проверки в этот период.
[cols="1,2,2,2,2"]
|===
@@ -249,30 +175,17 @@ link:https://www.freebsd.org/administration/#t-portmgr[команды управ
Запросы отчетов о состоянии отправляются следующим получателям:
-* link:https://lists.freebsd.org/subscription/freebsd-status-calls[почтовая
- рассылка freebsd-status-calls@FreeBSD.org];
-* всем авторам последних отчетов о состоянии (у них могут быть обновления или
- дополнительные улучшения);
+* link:https://lists.freebsd.org/subscription/freebsd-status-calls[почтовая рассылка freebsd-status-calls@FreeBSD.org];
+* всем авторам последних отчетов о состоянии (у них могут быть обновления или дополнительные улучшения);
* и, в зависимости от времени года,
** Различные организаторы конференций:
*** link:mailto:secretary@asiabsdcon.org[AsiaBSDCon] в марте (первый квартал);
*** link:mailto:info@bsdcan.org[BSDCan] в мае (второй квартал);
** Различные участники конференции:
- *** ЕвроBSDcon в сентябре - октябре (третий-четвертый квартал); организация
- ЕвроBSDcon не заинтересована в написании отчетов для FreeBSD — по крайней
- мере, не была заинтересована в октябре 2019 года: причина в том, что
- конференция не ориентирована конкретно на FreeBSD. Следовательно, отчеты об
- этом мероприятии следует запрашивать у участников сообщества FreeBSD,
- которые присутствовали на нем.
- ** Google Summer of Code: link:mailto:soc-students@FreeBSD.org[студенты] и их
- link:mailto:soc-mentors@FreeBSD.org[наставники].
-
-Самый простой способ отправки запросов на отчеты о состоянии — использовать
-скрипт
-link:https://cgit.freebsd.org/doc/tree/tools/sendcalls/sendcalls[[.filename]#sendcalls#
-на Perl] из каталога [.filename]#tools/sendcalls# git репозитория
-документации. Скрипт автоматически отправляет запросы всем указанным
-получателям. Его также можно использовать через задание cron, например:
+ *** ЕвроBSDcon в сентябре - октябре (третий-четвертый квартал); организация ЕвроBSDcon не заинтересована в написании отчетов для FreeBSD — по крайней мере, не была заинтересована в октябре 2019 года: причина в том, что конференция не ориентирована конкретно на FreeBSD. Следовательно, отчеты об этом мероприятии следует запрашивать у участников сообщества FreeBSD, которые присутствовали на нем.
+ ** Google Summer of Code: link:mailto:soc-students@FreeBSD.org[студенты] и их link:mailto:soc-mentors@FreeBSD.org[наставники].
+
+Самый простой способ отправки запросов на отчеты о состоянии — использовать скрипт link:https://cgit.freebsd.org/doc/tree/tools/sendcalls/sendcalls[[.filename]#sendcalls# на Perl] из каталога [.filename]#tools/sendcalls# git репозитория документации. Скрипт автоматически отправляет запросы всем указанным получателям. Его также можно использовать через задание cron, например:
....
0 0 1,15,24 3,6,9,12 * cd ~/doc/tools/sendcalls && git pull && ./sendcalls -s 'Lorenzo Salvadore'
@@ -280,46 +193,26 @@ link:https://cgit.freebsd.org/doc/tree/tools/sendcalls/sendcalls[[.filename]#sen
[IMPORTANT]
====
-Если вы отвечаете за рассылку запросов отчетов о состоянии и используете
-задание cron, пожалуйста, запускайте его на freefall и подписывайте своим
-именем, чтобы в случае возникновения проблем можно было определить, кто
-настроил задание cron. Также, в качестве дополнительной меры
-предосторожности, обновите приведенный выше пример, указав свое имя.
+Если вы отвечаете за рассылку запросов отчетов о состоянии и используете задание cron, пожалуйста, запускайте его на freefall и подписывайте своим именем, чтобы в случае возникновения проблем можно было определить, кто настроил задание cron. Также, в качестве дополнительной меры предосторожности, обновите приведенный выше пример, указав свое имя.
====
-Также может быть полезно объявить сбор отчетов на форумах, как это
-link:https://forums.freebsd.org/threads/call-for-freebsd-2014q4-october-december-status-reports.49812/[делалось
-ранее].
+Также может быть полезно объявить сбор отчетов на форумах, как это link:https://forums.freebsd.org/threads/call-for-freebsd-2014q4-october-december-status-reports.49812/[делалось ранее].
=== Построение отчета
-Отправленные отчеты проверяются и объединяются в соответствующем подкаталоге
-[.filename]#doc/website/content/en/status/# по мере поступления. Пока отчеты
-обновляются, люди вне команды статуса также могут просматривать отдельные
-записи и предлагать исправления.
+Отправленные отчеты проверяются и объединяются в соответствующем подкаталоге [.filename]#doc/website/content/en/status/# по мере поступления. Пока отчеты обновляются, люди вне команды статуса также могут просматривать отдельные записи и предлагать исправления.
-Обычно последним шагом в процессе проверки содержания является написание
-введения в файле с названием [.filename]#intro.adoc#: хорошее введение можно
-написать только после того, как собраны все отчеты. По возможности, полезно
-попросить разных людей написать введение, чтобы добавить разнообразия:
-разные люди привнесут разные точки зрения и помогут сохранить его свежим.
+Обычно последним шагом в процессе проверки содержания является написание введения в файле с названием [.filename]#intro.adoc#: хорошее введение можно написать только после того, как собраны все отчеты. По возможности, полезно попросить разных людей написать введение, чтобы добавить разнообразия: разные люди привнесут разные точки зрения и помогут сохранить его свежим.
-После того как все отчеты и введение готовы, необходимо создать файл
-[.filename]#_index.adoc#: это файл, в котором отчеты распределяются по
-различным категориям и сортируются.
+После того как все отчеты и введение готовы, необходимо создать файл [.filename]#_index.adoc#: это файл, в котором отчеты распределяются по различным категориям и сортируются.
=== Публикация отчета
Когда все файлы отчета о состоянии готовы, пришло время опубликовать его.
-Сначала редактируется файл
-[.filename]#doc/website/content/en/status/_index.adoc#: обновляется
-следующая дата отчёта и добавляется ссылка на новый отчёт. Затем изменения
-отправляются в репозиторий, и команда статуса проверяет, что всё работает
-как ожидалось.
+Сначала редактируется файл [.filename]#doc/website/content/en/status/_index.adoc#: обновляется следующая дата отчёта и добавляется ссылка на новый отчёт. Затем изменения отправляются в репозиторий, и команда статуса проверяет, что всё работает как ожидалось.
-Затем запись новости для главной страницы сайта добавляется в
-[.filename]#doc/website/data/ru/news/news.toml#.
+Затем запись новости для главной страницы сайта добавляется в [.filename]#doc/website/data/ru/news/news.toml#.
Вот пример записи новостей:
....
@@ -329,40 +222,24 @@ title = "October-December 2020 Status Report"
description = "The <a href=\"https://www.FreeBSD.org/status/report-2020-10-2020-12.html\">October to December 2020 Status Report</a> is now available with 42 entries."
....
-После создания HTML-версии отчёта и её публикации в сети используется
-man:w3m[1] для преобразования веб-сайта в простой текст, например:
+После создания HTML-версии отчёта и её публикации в сети используется man:w3m[1] для преобразования веб-сайта в простой текст, например:
....
% w3m -cols 80 -dump https://www.FreeBSD.org/status/report-2021-01-2021-03/ > /tmp/report-2021-01-2021-03.txt
....
-man:w3m[1] имеет полную поддержку юникода. Опция `-dump` просто выводит
-текстовое представление HTML-кода, из которого затем можно удалить несколько
-элементов, а `-cols` гарантирует, что всё будет перенесено на 80 колонок.
+man:w3m[1] имеет полную поддержку Юникода. Опция `-dump` просто выводит текстовое представление HTML-кода, из которого затем можно удалить несколько элементов, а `-cols` гарантирует, что всё будет перенесено на 80 колонок.
Ссылка на сформированный отчет добавляется между введением и первой записью.
-Переключив способ доставки (отчёт должен быть в тексте письма, а не в
-приложении) и убедившись, что его кодировка в UTF-8, вы получаете
-окончательно готовый к отправке отчёт.
+Переключив способ доставки (отчёт должен быть в тексте письма, а не в приложении) и убедившись, что его кодировка в UTF-8, вы получаете окончательно готовый к отправке отчёт.
-Отправляются два письма, оба с темой в формате `FreeBSD Status Report -
-<First/Second/Third/Fourth> Quarter <year>`:
+Отправляются два письма, оба с темой в формате `FreeBSD Status Report - <First/Second/Third/Fourth> Quarter <year>`:
-* одно для
- link:https://lists.freebsd.org/subscription/freebsd-announce[freebsd-announce@FreeBSD.org];
+* одно для link:https://lists.freebsd.org/subscription/freebsd-announce[freebsd-announce@FreeBSD.org];
[IMPORTANT]
====
-Это письмо должно быть одобрено, поэтому если вы отвечаете за отправку этого
-письма, убедитесь, что кто-то сделает это одобрение (напишите
-link:mailto:postmaster@FreeBSD.org[постмастеру], если одобрение займет много
-времени).
+Это письмо должно быть одобрено, поэтому если вы отвечаете за отправку этого письма, убедитесь, что кто-то сделает это одобрение (напишите link:mailto:postmaster@FreeBSD.org[постмастеру], если одобрение займет много времени).
====
-* одно на
- link:https://lists.freebsd.org/subscription/freebsd-hackers[freebsd-hackers@FreeBSD.org],
- которому добавьте
- link:https://lists.freebsd.org/subscription/freebsd-current[freebsd-current@FreeBSD.org]
- и
- link:https://lists.freebsd.org/subscription/freebsd-stable[freebsd-stable@FreeBSD.org]
- в копию (CC) и `developers@FreeBSD.org` в скрытую копию (BCC).
+* одно на link:https://lists.freebsd.org/subscription/freebsd-hackers[freebsd-hackers@FreeBSD.org], которому добавьте link:https://lists.freebsd.org/subscription/freebsd-current[freebsd-current@FreeBSD.org] и link:https://lists.freebsd.org/subscription/freebsd-stable[freebsd-stable@FreeBSD.org] в копию (CC) и `developers@FreeBSD.org` в скрытую копию (BCC).
diff --git a/documentation/content/ru/articles/freebsd-status-report-process/_index.po b/documentation/content/ru/articles/freebsd-status-report-process/_index.po
index 6d02cf0295..3ae73c4e83 100644
--- a/documentation/content/ru/articles/freebsd-status-report-process/_index.po
+++ b/documentation/content/ru/articles/freebsd-status-report-process/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-09-22 21:02+0300\n"
-"PO-Revision-Date: 2025-08-02 04:45+0000\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
+"PO-Revision-Date: 2025-10-29 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/articlesfreebsd-status-report-process_index/ru/>\n"
@@ -18,7 +18,7 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:1
#, no-wrap
msgid "Instructions for both writers and editors of status reports"
@@ -98,8 +98,7 @@ msgstr "Представьте свою работу"
#: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:40
msgid ""
"_Do not assume that the person reading the report knows about your project._"
-msgstr ""
-"_Не предполагайте, что человек, читающий отчёт, знает о вашем проекте._"
+msgstr "_Не предполагайте, что человек, читающий отчёт, знает о вашем проекте._"
#. type: Plain text
#: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:44
@@ -201,8 +200,8 @@ msgid ""
msgstr ""
"И затем они останавливаются. Возможно, читатель — ярый поклонник Cyberdyne и "
"знает, какие захватывающие новые функции предлагает T800. Это маловероятно. "
-"Гораздо вероятнее, что они смутно слышали о том, что вы импортировали "
-"(особенно в дерево портов: помните, что там есть ещё более 35 000 других "
+"Гораздо вероятнее, что они смутно слышали о том, что вы импортировали ("
+"особенно в дерево портов: помните, что там есть ещё более 35 000 других "
"элементов...). Перечислите некоторые новые функции или исправления ошибок. "
"Объясните, почему хорошо, что у нас появилась новая версия."
@@ -326,8 +325,8 @@ msgid ""
msgstr ""
"отправить ссылку link:https://reviews.freebsd.org/[Phabricator review] и "
"добавить группу _status_ в список рецензентов. Вы должны разместить свои "
-"отчёты в соответствующем подкаталоге `doc/website/content/en/status/` "
-"(создайте его, если он отсутствует);"
+"отчёты в соответствующем подкаталоге `doc/website/content/en/status/` ("
+"создайте его, если он отсутствует);"
#. type: Plain text
#: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:124
@@ -339,8 +338,8 @@ msgid ""
msgstr ""
"отправить запрос на включение изменений (pull request) в репозиторий "
"документации через link:https://github.com/freebsd/freebsd-doc[его зеркало "
-"на GitHub]. Вы должны размещать свои отчёты в соответствующем подкаталоге "
-"`doc/website/content/en/status` (создайте его, если он отсутствует);"
+"на GitHub]. Вы должны размещать свои отчёты в соответствующем подкаталоге `"
+"doc/website/content/en/status` (создайте его, если он отсутствует);"
#. type: Plain text
#: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:126
@@ -384,13 +383,17 @@ msgstr "link:https://www.FreeBSD.org/status/[https://www.FreeBSD.org/status/]"
#: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:141
#, no-wrap
msgid "Status reports archived GitHub repository (was used for reports from 2017Q4 to 2022Q4):"
-msgstr "Отчеты о статусе архивированного репозитория GitHub (использовались для отчетов с 2017Q4 по 2022Q4):"
+msgstr ""
+"Отчеты о статусе архивированного репозитория GitHub (использовались для "
+"отчетов с 2017Q4 по 2022Q4):"
#. type: Table
#: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:143
#, no-wrap
msgid "link:https://www.github.com/freebsd/freebsd-quarterly[https://github.com/freebsd/freebsd-quarterly]"
-msgstr "link:https://www.github.com/freebsd/freebsd-quarterly[https://github.com/freebsd/freebsd-quarterly]"
+msgstr ""
+"link:https://www.github.com/freebsd/freebsd-quarterly[https://github.com/"
+"freebsd/freebsd-quarterly]"
#. type: Table
#: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:144
@@ -414,7 +417,8 @@ msgstr "Адрес электронной почты для отправки о
#: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:149
#, no-wrap
msgid "link:mailto:status-submissions@FreeBSD.org[status-submissions@FreeBSD.org]"
-msgstr "link:mailto:status-submissions@FreeBSD.org[status-submissions@FreeBSD.org]"
+msgstr ""
+"link:mailto:status-submissions@FreeBSD.org[status-submissions@FreeBSD.org]"
#. type: Table
#: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:150
@@ -426,7 +430,9 @@ msgstr "Список рассылки для получения запросов
#: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:152
#, no-wrap
msgid "link:https://lists.freebsd.org/subscription/freebsd-status-calls[freebsd-status-calls@FreeBSD.org]"
-msgstr "link:https://lists.freebsd.org/subscription/freebsd-status-calls[freebsd-status-calls@FreeBSD.org]"
+msgstr ""
+"link:https://lists.freebsd.org/subscription/freebsd-status-calls[freebsd-"
+"status-calls@FreeBSD.org]"
#. type: Table
#: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:153
@@ -438,7 +444,9 @@ msgstr "Страница команды статуса в Phabricator"
#: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:154
#, no-wrap
msgid "link:https://reviews.freebsd.org/project/profile/88/[https://reviews.freebsd.org/project/88/]"
-msgstr "link:https://reviews.freebsd.org/project/profile/88/[https://reviews.freebsd.org/project/88/]"
+msgstr ""
+"link:https://reviews.freebsd.org/project/profile/88/[https://reviews.freebsd."
+"org/project/88/]"
#. type: Title ===
#: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:156
@@ -795,17 +803,19 @@ msgid ""
"recipients. It can also be used through a cron job, for example:"
msgstr ""
"Самый простой способ отправки запросов на отчеты о состоянии — использовать "
-"скрипт link:https://cgit.freebsd.org/doc/tree/tools/sendcalls/"
-"sendcalls[[.filename]#sendcalls# на Perl] из каталога [.filename]#tools/"
-"sendcalls# git репозитория документации. Скрипт автоматически отправляет "
-"запросы всем указанным получателям. Его также можно использовать через "
-"задание cron, например:"
+"скрипт link:https://cgit.freebsd.org/doc/tree/tools/sendcalls/sendcalls[[."
+"filename]#sendcalls# на Perl] из каталога [.filename]#tools/sendcalls# git "
+"репозитория документации. Скрипт автоматически отправляет запросы всем "
+"указанным получателям. Его также можно использовать через задание cron, "
+"например:"
#. type: delimited block . 4
#: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:233
#, no-wrap
msgid "0 0 1,15,24 3,6,9,12 * cd ~/doc/tools/sendcalls && git pull && ./sendcalls -s 'Lorenzo Salvadore'\n"
-msgstr "0 0 1,15,24 3,6,9,12 * cd ~/doc/tools/sendcalls && git pull && ./sendcalls -s 'Lorenzo Salvadore'\n"
+msgstr ""
+"0 0 1,15,24 3,6,9,12 * cd ~/doc/tools/sendcalls && "
+"git pull && ./sendcalls -s 'Lorenzo Salvadore'\n"
#. type: delimited block = 4
#: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:239
@@ -875,8 +885,8 @@ msgid ""
"[.filename]#_index.adoc# file needs to be created: this is the file in which "
"the reports are distributed into the various categories and sorted."
msgstr ""
-"После того как все отчеты и введение готовы, необходимо создать файл "
-"[.filename]#_index.adoc#: это файл, в котором отчеты распределяются по "
+"После того как все отчеты и введение готовы, необходимо создать файл [."
+"filename]#_index.adoc#: это файл, в котором отчеты распределяются по "
"различным категориям и сортируются."
#. type: Title ===
@@ -900,9 +910,9 @@ msgid ""
"is then pushed on the repository and the status team checks that everythings "
"works as expected."
msgstr ""
-"Сначала редактируется файл [.filename]#doc/website/content/en/status/"
-"_index.adoc#: обновляется следующая дата отчёта и добавляется ссылка на "
-"новый отчёт. Затем изменения отправляются в репозиторий, и команда статуса "
+"Сначала редактируется файл [.filename]#doc/website/content/en/status/_index."
+"adoc#: обновляется следующая дата отчёта и добавляется ссылка на новый "
+"отчёт. Затем изменения отправляются в репозиторий, и команда статуса "
"проверяет, что всё работает как ожидалось."
#. type: Plain text
@@ -911,8 +921,8 @@ msgid ""
"Then the news entry for the main website page is added to [.filename]#doc/"
"website/data/en/news/news.toml#."
msgstr ""
-"Затем запись новости для главной страницы сайта добавляется в "
-"[.filename]#doc/website/data/ru/news/news.toml#."
+"Затем запись новости для главной страницы сайта добавляется в [.filename]#"
+"doc/website/data/ru/news/news.toml#."
#. type: Plain text
#: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:263
@@ -931,7 +941,9 @@ msgstr ""
"[[news]]\n"
"date = \"2021-01-16\"\n"
"title = \"October-December 2020 Status Report\"\n"
-"description = \"The <a href=\\\"https://www.FreeBSD.org/status/report-2020-10-2020-12.html\\\">October to December 2020 Status Report</a> is now available with 42 entries.\"\n"
+"description = \"The <a href=\\\"https://www.FreeBSD.org/status/"
+"report-2020-10-2020-12.html\\\">October to December 2020 Status Report</a> "
+"is now available with 42 entries.\"\n"
#. type: Plain text
#: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:271
@@ -946,7 +958,9 @@ msgstr ""
#: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:273
#, no-wrap
msgid "% w3m -cols 80 -dump https://www.FreeBSD.org/status/report-2021-01-2021-03/ > /tmp/report-2021-01-2021-03.txt\n"
-msgstr "% w3m -cols 80 -dump https://www.FreeBSD.org/status/report-2021-01-2021-03/ > /tmp/report-2021-01-2021-03.txt\n"
+msgstr ""
+"% w3m -cols 80 -dump https://www.FreeBSD.org/status/report-2021-01-2021-03/ "
+"> /tmp/report-2021-01-2021-03.txt\n"
#. type: Plain text
#: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:276
@@ -955,7 +969,7 @@ msgid ""
"rendering of the HTML code that can then have a few elements snipped, while "
"`-cols` ensures that everything is wrapped to 80 columns."
msgstr ""
-"man:w3m[1] имеет полную поддержку юникода. Опция `-dump` просто выводит "
+"man:w3m[1] имеет полную поддержку Юникода. Опция `-dump` просто выводит "
"текстовое представление HTML-кода, из которого затем можно удалить несколько "
"элементов, а `-cols` гарантирует, что всё будет перенесено на 80 колонок."
@@ -983,8 +997,8 @@ msgid ""
"Two emails are sent, both with subject in the format `FreeBSD Status Report "
"- <First/Second/Third/Fourth> Quarter <year>`:"
msgstr ""
-"Отправляются два письма, оба с темой в формате `FreeBSD Status Report - "
-"<First/Second/Third/Fourth> Quarter <year>`:"
+"Отправляются два письма, оба с темой в формате `FreeBSD Status Report - <"
+"First/Second/Third/Fourth> Quarter <year>`:"
#. type: Plain text
#: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:284
@@ -992,8 +1006,8 @@ msgid ""
"one to link:https://lists.freebsd.org/subscription/freebsd-announce[freebsd-"
"announce@FreeBSD.org];"
msgstr ""
-"одно для link:https://lists.freebsd.org/subscription/freebsd-"
-"announce[freebsd-announce@FreeBSD.org];"
+"одно для link:https://lists.freebsd.org/subscription/freebsd-announce"
+"[freebsd-announce@FreeBSD.org];"
#. type: delimited block = 4
#: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:288
@@ -1018,6 +1032,7 @@ msgid ""
msgstr ""
"одно на link:https://lists.freebsd.org/subscription/freebsd-hackers[freebsd-"
"hackers@FreeBSD.org], которому добавьте link:https://lists.freebsd.org/"
-"subscription/freebsd-current[freebsd-current@FreeBSD.org] и link:https://"
-"lists.freebsd.org/subscription/freebsd-stable[freebsd-stable@FreeBSD.org] в "
-"копию (CC) и `developers@FreeBSD.org` в скрытую копию (BCC)."
+"subscription/freebsd-current[freebsd-current@FreeBSD.org] и "
+"link:https://lists.freebsd.org/subscription/freebsd-stable[freebsd-"
+"stable@FreeBSD.org] в копию (CC) и `developers@FreeBSD.org` в скрытую копию "
+"(BCC)."
diff --git a/documentation/content/ru/articles/gjournal-desktop/_index.adoc b/documentation/content/ru/articles/gjournal-desktop/_index.adoc
index 835a0489ec..7851477951 100644
--- a/documentation/content/ru/articles/gjournal-desktop/_index.adoc
+++ b/documentation/content/ru/articles/gjournal-desktop/_index.adoc
@@ -43,7 +43,7 @@ endif::[]
[.abstract-title]
Аннотация
-Журналируемая файловая система использует лог для записи всех транзакций, происходящих в файловой системе, который также сохраняет ее целостность в случае краха системы или пропадания питания. Несмотря на то, что всё еще возможна потеря несохранённых изменений файлов, журналирование почти полностью исключает возможность повреждения структуры файловой системы, вызванное непредвиденным остановом работы. Журналирование также сокращает до минимума время, необходимое для проверки файловой системы после отказа. Несмотря на то, что в используемой FreeBSD файловой системе UFS нет поддержки журналирования, новый класс системы GEOM в FreeBSD 7._X_ может быть использован для ведения независимого от файловой системы журналирования. Эта статья объясняет, как реализовать журналирование UFS для типичного настольного компьютера.
+Журналируемая файловая система использует журнал для записи всех транзакций, происходящих в файловой системе, который также сохраняет ее целостность в случае краха системы или пропадания питания. Несмотря на то, что всё еще возможна потеря несохранённых изменений файлов, журналирование почти полностью исключает возможность повреждения структуры файловой системы, вызванное непредвиденным остановом работы. Журналирование также сокращает до минимума время, необходимое для проверки файловой системы после отказа. Несмотря на то, что в используемой FreeBSD файловой системе UFS нет поддержки журналирования, новый класс системы GEOM в FreeBSD 7._X_ может быть использован для ведения независимого от файловой системы журналирования. Эта статья объясняет, как реализовать журналирование UFS для типичного настольного компьютера.
'''
diff --git a/documentation/content/ru/articles/gjournal-desktop/_index.po b/documentation/content/ru/articles/gjournal-desktop/_index.po
index 7ba3ff77c7..63cb74a06d 100644
--- a/documentation/content/ru/articles/gjournal-desktop/_index.po
+++ b/documentation/content/ru/articles/gjournal-desktop/_index.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
"POT-Creation-Date: 2024-12-29 08:30-0500\n"
-"PO-Revision-Date: 2025-07-05 04:45+0000\n"
+"PO-Revision-Date: 2025-09-26 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/articlesgjournal-desktop_index/ru/>\n"
@@ -45,7 +45,7 @@ msgid ""
"This article explains how to implement UFS journaling on a typical desktop "
"PC scenario."
msgstr ""
-"Журналируемая файловая система использует лог для записи всех транзакций, "
+"Журналируемая файловая система использует журнал для записи всех транзакций, "
"происходящих в файловой системе, который также сохраняет ее целостность в "
"случае краха системы или пропадания питания. Несмотря на то, что всё еще "
"возможна потеря несохранённых изменений файлов, журналирование почти "
diff --git a/documentation/content/ru/articles/leap-seconds/_index.adoc b/documentation/content/ru/articles/leap-seconds/_index.adoc
index 438e79d1f5..0d6e27a483 100644
--- a/documentation/content/ru/articles/leap-seconds/_index.adoc
+++ b/documentation/content/ru/articles/leap-seconds/_index.adoc
@@ -42,90 +42,51 @@ toc::[]
[[leapseconds-definition]]
== Введение
-_Секунда координации_ (високосная секунда) — это односекундная
-корректировка, вносимая в определённые моменты года в UTC для синхронизации
-атомных шкал времени с вариациями вращения Земли. В этой статье описано, как
-FreeBSD взаимодействует с секундами координации.
+_Секунда координации_ (високосная секунда) — это односекундная корректировка, вносимая в определённые моменты года в UTC для синхронизации атомных шкал времени с вариациями вращения Земли. В этой статье описано, как FreeBSD взаимодействует с секундами координации.
-На момент написания следующая високосная секунда будет добавлена 2015-Jun-30
-23:59:60 UTC. Эта високосная секунда выпадет на рабочий день для Северной и
-Южной Америки, а также для региона Азии/Тихоокеанского региона.
+На момент написания следующая високосная секунда будет добавлена 2015-Jun-30 23:59:60 UTC. Эта високосная секунда выпадет на рабочий день для Северной и Южной Америки, а также для региона Азии/Тихоокеанского региона.
-Секунды координации объявляются
-https://www.iers.org/IERS/EN/Home/home_node.html[IERS] в
-https://datacenter.iers.org/data/latestVersion/16_BULLETIN_C16.txt[Бюллетене
-C].
+Секунды координации объявляются https://www.iers.org/IERS/EN/Home/home_node.html[IERS] в https://datacenter.iers.org/data/latestVersion/16_BULLETIN_C16.txt[Бюллетене C].
-Стандартное поведение високосной секунды описано в
-https://datatracker.ietf.org/doc/html/rfc7164#section-3[RFC 7164]. Также
-см. man:time2posix[3].
+Стандартное поведение високосной секунды описано в https://datatracker.ietf.org/doc/html/rfc7164#section-3[RFC 7164]. Также см. man:time2posix[3].
[[leapseconds-posix]]
== Обработка високосных секунд по умолчанию в FreeBSD
-Самый простой способ обработки високосных секунд — использование правил
-времени POSIX, которые FreeBSD использует по умолчанию, в сочетании с
-extref:{handbook}[NTP, network-ntp]. Когда man:ntpd[8] работает и время
-синхронизировано с вышестоящими серверами NTP, которые корректно
-обрабатывают високосные секунды, високосная секунда приведёт к
-автоматическому повтору последней секунды дня в системном времени. Другие
-корректировки не требуются.
+Самый простой способ обработки високосных секунд — использование правил времени POSIX, которые FreeBSD использует по умолчанию, в сочетании с extref:{handbook}[NTP, network-ntp]. Когда man:ntpd[8] работает и время синхронизировано с вышестоящими серверами NTP, которые корректно обрабатывают високосные секунды, високосная секунда приведёт к автоматическому повтору последней секунды дня в системном времени. Другие корректировки не требуются.
-Если вышестоящие серверы NTP не обрабатывают високосные секунды корректно,
-man:ntpd[8] изменит время на одну секунду после того, как ошибочный
-вышестоящий сервер заметит это и изменит своё время.
+Если вышестоящие серверы NTP не обрабатывают високосные секунды корректно, man:ntpd[8] изменит время на одну секунду после того, как ошибочный вышестоящий сервер заметит это и изменит своё время.
-Если NTP не используется, после високосной секунды потребуется ручная
-корректировка системных часов.
+Если NTP не используется, после високосной секунды потребуется ручная корректировка системных часов.
[[leapseconds-cautions]]
== Предупреждения
-Високосные секунды добавляются одновременно по всему миру: в полночь по
-UTC. В Японии это середина утра, в Тихоокеанском регионе — середина дня, в
-Америке — поздний вечер, а в Европе — ночь.
+Високосные секунды добавляются одновременно по всему миру: в полночь по UTC. В Японии это середина утра, в Тихоокеанском регионе — середина дня, в Америке — поздний вечер, а в Европе — ночь.
-Мы полагаем и ожидаем, что FreeBSD, при условии предоставления корректного и
-стабильного сервиса NTP, будет работать как задумано во время этой секунды
-координации, как это происходило во время предыдущих.
+Мы полагаем и ожидаем, что FreeBSD, при условии предоставления корректного и стабильного сервиса NTP, будет работать как задумано во время этой секунды координации, как это происходило во время предыдущих.
-Однако мы предупреждаем, что практически ни одно приложение никогда не
-запрашивало у ядра информацию о високосных секундах. Наш опыт показывает,
-что, как и задумано, високосные секунды по сути являются повторением
-секунды, предшествующей високосной, и это становится неожиданностью для
-большинства программистов.
+Однако мы предупреждаем, что практически ни одно приложение никогда не запрашивало у ядра информацию о високосных секундах. Наш опыт показывает, что, как и задумано, високосные секунды по сути являются повторением секунды, предшествующей високосной, и это становится неожиданностью для большинства программистов.
-Другие операционные системы и компьютеры могут обрабатывать високосную
-секунду иначе, чем FreeBSD, а системы без корректной и стабильной службы NTP
-вообще не будут знать о високосных секундах.
+Другие операционные системы и компьютеры могут обрабатывать високосную секунду иначе, чем FreeBSD, а системы без корректной и стабильной службы NTP вообще не будут знать о високосных секундах.
-Нередко компьютеры выходят из строя из-за високосных секунд, и опыт показал,
-что значительная часть всех публичных NTP-серверов может обрабатывать и
-объявлять високосную секунду неправильно.
+Нередко компьютеры выходят из строя из-за високосных секунд, и опыт показал, что значительная часть всех публичных NTP-серверов может обрабатывать и объявлять високосную секунду неправильно.
-Пожалуйста, постарайтесь убедиться, что из-за секунды координации не
-произойдет ничего ужасного.
+Пожалуйста, постарайтесь убедиться, что из-за секунды координации не произойдет ничего ужасного.
[[leapseconds-testing]]
== Тестирование
-Возможно проверить, будет ли использована секунда координации. Из-за
-особенностей NTP, проверка может работать до 24 часов до введения секунды
-координации. Некоторые крупные источники эталонных часов объявляют о
-секундах координации всего за час до события. Запрос к демону NTP:
+Возможно проверить, будет ли использована секунда координации. Из-за особенностей NTP, проверка может работать до 24 часов до введения секунды координации. Некоторые крупные источники эталонных часов объявляют о секундах координации всего за час до события. Запрос к демону NTP:
[source, shell]
....
% ntpq -c 'rv 0 leap'
....
-Вывод, включающий `leap_add_sec`, указывает на корректную поддержку секунды
-координации. До 24 часов перед наступлением секунды координации или после её
-прохождения будет отображаться `leap_none`.
+Вывод, включающий `leap_add_sec`, указывает на корректную поддержку секунды координации. До 24 часов перед наступлением секунды координации или после её прохождения будет отображаться `leap_none`.
[[leapseconds-conclusion]]
== Заключение
-На практике секунды координации обычно не представляют проблемы в
-FreeBSD. Мы надеемся, что этот обзор поможет прояснить, чего ожидать и как
-сделать обработку секунды координации более гладкой.
+На практике секунды координации обычно не представляют проблемы в FreeBSD. Мы надеемся, что этот обзор поможет прояснить, чего ожидать и как сделать обработку секунды координации более гладкой.
diff --git a/documentation/content/ru/articles/leap-seconds/_index.po b/documentation/content/ru/articles/leap-seconds/_index.po
index 8a1952b384..f730bbfc51 100644
--- a/documentation/content/ru/articles/leap-seconds/_index.po
+++ b/documentation/content/ru/articles/leap-seconds/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-09-22 22:32+0300\n"
-"PO-Revision-Date: 2025-09-16 04:45+0000\n"
+"POT-Creation-Date: 2022-02-01 09:21-0300\n"
+"PO-Revision-Date: 2025-09-23 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/articlesleap-seconds_index/ru/>\n"
@@ -18,11 +18,12 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/articles/leap-seconds/_index.adoc:1
#, no-wrap
msgid "A short description of how leap seconds are handled on FreeBSD"
-msgstr "Краткое описание обработки високосных секунд (секунд координации) в FreeBSD"
+msgstr ""
+"Краткое описание обработки високосных секунд (секунд координации) в FreeBSD"
#. type: Title =
#: documentation/content/en/articles/leap-seconds/_index.adoc:1
@@ -68,13 +69,13 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/leap-seconds/_index.adoc:52
msgid ""
-"Leap seconds are announced by https://www.iers.org/IERS/EN/Home/"
-"home_node.html[IERS] on https://datacenter.iers.org/data/latestVersion/"
-"16_BULLETIN_C16.txt[Bulletin C]."
+"Leap seconds are announced by https://www.iers.org/IERS/EN/Home/home_node."
+"html[IERS] on https://datacenter.iers.org/data/latestVersion/16_BULLETIN_C16."
+"txt[Bulletin C]."
msgstr ""
-"Секунды координации объявляются https://www.iers.org/IERS/EN/Home/"
-"home_node.html[IERS] в https://datacenter.iers.org/data/latestVersion/"
-"16_BULLETIN_C16.txt[Бюллетене C]."
+"Секунды координации объявляются https://www.iers.org/IERS/EN/Home/home_node."
+"html[IERS] в https://datacenter.iers.org/data/latestVersion/16_BULLETIN_C16."
+"txt[Бюллетене C]."
#. type: Plain text
#: documentation/content/en/articles/leap-seconds/_index.adoc:55
@@ -82,9 +83,8 @@ msgid ""
"Standard leap second behavior is described in https://datatracker.ietf.org/"
"doc/html/rfc7164#section-3[RFC 7164]. Also see man:time2posix[3]."
msgstr ""
-"Стандартное поведение високосной секунды описано в https://"
-"datatracker.ietf.org/doc/html/rfc7164#section-3[RFC 7164]. Также см. "
-"man:time2posix[3]."
+"Стандартное поведение високосной секунды описано в https://datatracker.ietf."
+"org/doc/html/rfc7164#section-3[RFC 7164]. Также см. man:time2posix[3]."
#. type: Title ==
#: documentation/content/en/articles/leap-seconds/_index.adoc:57
@@ -103,8 +103,8 @@ msgid ""
"adjustments are necessary."
msgstr ""
"Самый простой способ обработки високосных секунд — использование правил "
-"времени POSIX, которые FreeBSD использует по умолчанию, в сочетании с extref:"
-"{handbook}[NTP, network-ntp]. Когда man:ntpd[8] работает и время "
+"времени POSIX, которые FreeBSD использует по умолчанию, в сочетании с "
+"extref:{handbook}[NTP, network-ntp]. Когда man:ntpd[8] работает и время "
"синхронизировано с вышестоящими серверами NTP, которые корректно "
"обрабатывают високосные секунды, високосная секунда приведёт к "
"автоматическому повтору последней секунды дня в системном времени. Другие "
@@ -113,9 +113,9 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/leap-seconds/_index.adoc:64
msgid ""
-"If the upstream NTP servers do not handle leap seconds correctly, "
-"man:ntpd[8] will step the time by one second after the errant upstream "
-"server has noticed and stepped itself."
+"If the upstream NTP servers do not handle leap seconds correctly, man:"
+"ntpd[8] will step the time by one second after the errant upstream server "
+"has noticed and stepped itself."
msgstr ""
"Если вышестоящие серверы NTP не обрабатывают високосные секунды корректно, "
"man:ntpd[8] изменит время на одну секунду после того, как ошибочный "
diff --git a/documentation/content/ru/articles/license-guide/_index.adoc b/documentation/content/ru/articles/license-guide/_index.adoc
index d36b20a8db..920a7fccfb 100644
--- a/documentation/content/ru/articles/license-guide/_index.adoc
+++ b/documentation/content/ru/articles/license-guide/_index.adoc
@@ -46,15 +46,9 @@ toc::[]
[[pref-license]]
== Предпочтительная лицензия для новых файлов
-Оставшаяся часть этого раздела предназначена для того, чтобы помочь вам
-разобраться. Как правило, если сомневаетесь, спрашивайте. Получить совет
-гораздо проще, чем исправлять дерево исходного кода. Проект FreeBSD
-использует как явные лицензии (где дословный текст лицензии воспроизводится
-в каждом файле), так и отделённые лицензии (где тег в файле указывает
-лицензию, как описано в этом документе).
+Оставшаяся часть этого раздела предназначена для того, чтобы помочь вам разобраться. Как правило, если сомневаетесь, спрашивайте. Получить совет гораздо проще, чем исправлять дерево исходного кода. Проект FreeBSD использует как явные лицензии (где дословный текст лицензии воспроизводится в каждом файле), так и отделённые лицензии (где тег в файле указывает лицензию, как описано в этом документе).
-Проект FreeBSD использует следующий текст в качестве предпочтительной
-лицензии:
+Проект FreeBSD использует следующий текст в качестве предпочтительной лицензии:
[.programlisting]
....
@@ -65,136 +59,55 @@ toc::[]
*/
....
-Проект FreeBSD не разрешает использование «рекламного условия»footnote:[прим
-перев: требование указания первоначального автора при всех изменениях кода]
-в новом коде. Из-за большого числа участников проекта FreeBSD соблюдение
-этого условия стало затруднительным для многих коммерческих
-поставщиков. Если у вас есть код в дереве с рекламным условием, пожалуйста,
-рассмотрите возможность перехода на лицензию без него. Новые вклады в
-FreeBSD должны использовать лицензию BSD-2-Clause.
-
-Проект FreeBSD не поощряет полностью новые лицензии и вариации стандартных
-лицензий. Новые лицензии требуют одобрения {core-email} для размещения в
-основном репозитории. В прошлом нестандартные лицензии вызывали больше
-проблем, чем стандартные. Плохая проработка нестандартных лицензий часто
-приводит к непредвиденным последствиям, поэтому они вряд ли будут одобрены
-{core-email}. Проект FreeBSD стандартизируется на лицензии BSD-2-Clause, как
-опубликовано SPDX.
-
-В дополнение, политика проекта требует, чтобы код, лицензированный под
-некоторыми не-BSD лицензиями, размещался в определённых разделах
-репозитория. Для некоторых лицензий компиляция должна быть условной или
-отключена по умолчанию. Например, код в статической части ядра GENERIC
-должен быть лицензирован под BSD или аналогичными лицензиями. Программное
-обеспечение под лицензиями GPL, APSL, CDDL и т.п. не должно компилироваться
-в статическое ядро GENERIC. Однако код с такими лицензиями может
-использоваться в предварительно скомпилированных модулях.
-
-Разработчикам напоминают, что в открытом исходном коде правильное понимание
-«открытости» так же важно, как и правильное понимание «исходного
-кода». Неправильное обращение с интеллектуальной собственностью имеет
-серьёзные последствия. Любые вопросы или опасения следует немедленно
-направлять по адресу {core-email}.
+Проект FreeBSD не разрешает использование «рекламного условия»footnote:[прим перев: требование указания первоначального автора при всех изменениях кода] в новом коде. Из-за большого числа участников проекта FreeBSD соблюдение этого условия стало затруднительным для многих коммерческих поставщиков. Если у вас есть код в дереве с рекламным условием, пожалуйста, рассмотрите возможность перехода на лицензию без него. Новые вклады в FreeBSD должны использовать лицензию BSD-2-Clause.
+
+Проект FreeBSD не поощряет полностью новые лицензии и вариации стандартных лицензий. Новые лицензии требуют одобрения {core-email} для размещения в основном репозитории. В прошлом нестандартные лицензии вызывали больше проблем, чем стандартные. Плохая проработка нестандартных лицензий часто приводит к непредвиденным последствиям, поэтому они вряд ли будут одобрены {core-email}. Проект FreeBSD стандартизируется на лицензии BSD-2-Clause, как опубликовано SPDX.
+
+В дополнение, политика проекта требует, чтобы код, лицензированный под некоторыми не-BSD лицензиями, размещался в определённых разделах репозитория. Для некоторых лицензий компиляция должна быть условной или отключена по умолчанию. Например, код в статической части ядра GENERIC должен быть лицензирован под BSD или аналогичными лицензиями. Программное обеспечение под лицензиями GPL, APSL, CDDL и т.п. не должно компилироваться в статическое ядро GENERIC. Однако код с такими лицензиями может использоваться в предварительно скомпилированных модулях.
+
+Разработчикам напоминают, что в открытом исходном коде правильное понимание «открытости» так же важно, как и правильное понимание «исходного кода». Неправильное обращение с интеллектуальной собственностью имеет серьёзные последствия. Любые вопросы или опасения следует немедленно направлять по адресу {core-email}.
[[license-policy]]
== Политика лицензирования программного обеспечения
-В следующих разделах подробно изложены политики лицензирования программного
-обеспечения проекта. В основном мы ожидаем, что разработчики прочитают,
-поймут и будут использовать разделы выше, чтобы применять соответствующие
-лицензии к своим вкладам. Остальная часть этого документа подробно описывает
-философскую основу политик, а также сами политики. Как всегда, если текст
-ниже вызывает затруднения или вам нужна помощь в применении этих политик,
-пожалуйста, обратитесь к {core-email}.
+В следующих разделах подробно изложены политики лицензирования программного обеспечения проекта. В основном мы ожидаем, что разработчики прочитают, поймут и будут использовать разделы выше, чтобы применять соответствующие лицензии к своим вкладам. Остальная часть этого документа подробно описывает философскую основу политик, а также сами политики. Как всегда, если текст ниже вызывает затруднения или вам нужна помощь в применении этих политик, пожалуйста, обратитесь к {core-email}.
=== Руководящие принципы
-Проект FreeBSD ставит своей целью создание полноценной операционной системы
-под лицензией BSD, позволяющей пользователям системы создавать производные
-продукты без ограничений или дополнительных лицензионных обязательств. Мы
-приветствуем и высоко ценим вклад в виде изменений и дополнений под
-лицензией BSD с двумя пунктами, а также призываем другие проекты с открытым
-исходным кодом принимать эту лицензию. Использование лицензии BSD является
-ключевым для поощрения внедрения передовых технологий операционных систем и
-во многих значимых случаях играло решающую роль в широком распространении
-новых технологий.
-
-Мы, однако, признаем, что существуют веские причины для включения в исходное
-дерево FreeBSD программного обеспечения с другими лицензиями.
-
-Мы требуем, чтобы программное обеспечение, лицензированное под некоторыми
-не-BSD лицензиями, было тщательно изолировано в дереве исходного кода, чтобы
-оно не могло загрязнять компоненты, доступные только под BSD. Такое
-осторожное управление способствует ясности лицензирования и облегчает
-создание производных продуктов, доступных только под BSD.
-
-Если не сделано специального исключения, существующие компоненты с лицензией
-BSD не могут быть заменены на программное обеспечение с более
-ограничительной лицензией. Мы призываем разработчиков FreeBSD и сторонних
-разработчиков стремиться к перелицензированию, двойному лицензированию или
-перереализации критических компонентов под лицензией BSD. Это облегчит их
-более полную интеграцию в операционную систему FreeBSD.
+Проект FreeBSD ставит своей целью создание полноценной операционной системы под лицензией BSD, позволяющей пользователям системы создавать производные продукты без ограничений или дополнительных лицензионных обязательств. Мы приветствуем и высоко ценим вклад в виде изменений и дополнений под лицензией BSD с двумя пунктами, а также призываем другие проекты с открытым исходным кодом принимать эту лицензию. Использование лицензии BSD является ключевым для поощрения внедрения передовых технологий операционных систем и во многих значимых случаях играло решающую роль в широком распространении новых технологий.
+
+Мы, однако, признаем, что существуют веские причины для включения в исходное дерево FreeBSD программного обеспечения с другими лицензиями.
+
+Мы требуем, чтобы программное обеспечение, лицензированное под некоторыми не-BSD лицензиями, было тщательно изолировано в дереве исходного кода, чтобы оно не могло загрязнять компоненты, доступные только под BSD. Такое осторожное управление способствует ясности лицензирования и облегчает создание производных продуктов, доступных только под BSD.
+
+Если не сделано специального исключения, существующие компоненты с лицензией BSD не могут быть заменены на программное обеспечение с более ограничительной лицензией. Мы призываем разработчиков FreeBSD и сторонних разработчиков стремиться к перелицензированию, двойному лицензированию или перереализации критических компонентов под лицензией BSD. Это облегчит их более полную интеграцию в операционную систему FreeBSD.
=== Политика
-* Импорт нового программного обеспечения, лицензированного под любыми
- лицензиями, кроме лицензии BSD и подобных лицензий BSD (как определено
- ниже), требует предварительного одобрения от FreeBSD Core Team. Запросы на
- импорт должны включать:
-** Список новых возможностей или исправлений ошибок, которые содержит новая
- версия или патчи, вместе с доказательствами того, что эти возможности нужны
- нашим пользователям. Идеальными формами доказательств являются PR (запросы
- на включение изменений) или ссылки на обсуждения в почтовых рассылках.
-** Этот процесс должен использоваться для всех импортов программного
- обеспечения, а не только для тех, которые требуют проверки Core Team. Сам
- факт существования новой версии не является оправданием для импорта
- программного обеспечения в исходные коды или порты.
-** Список ветвей FreeBSD, которые могут быть затронуты. Расширение области
- применения требует нового запроса и одобрения от основной команды FreeBSD.
-
-* Лицензия Apache 2.0 допустима для использования в некоторых
- случаях. Основная команда должна одобрить импорт новых компонентов,
- лицензированных по лицензии Apache, или изменение лицензии существующих
- компонентов на лицензию Apache.
+* Импорт нового программного обеспечения, лицензированного под любыми лицензиями, кроме лицензии BSD и подобных лицензий BSD (как определено ниже), требует предварительного одобрения от FreeBSD Core Team. Запросы на импорт должны включать:
+** Список новых возможностей или исправлений ошибок, которые содержит новая версия или патчи, вместе с доказательствами того, что эти возможности нужны нашим пользователям. Идеальными формами доказательств являются PR (запросы на включение изменений) или ссылки на обсуждения в почтовых рассылках.
+** Этот процесс должен использоваться для всех импортов программного обеспечения, а не только для тех, которые требуют проверки Core Team. Сам факт существования новой версии не является оправданием для импорта программного обеспечения в исходные коды или порты.
+** Список ветвей FreeBSD, которые могут быть затронуты. Расширение области применения требует нового запроса и одобрения от основной команды FreeBSD.
+
+* Лицензия Apache 2.0 допустима для использования в некоторых случаях. Основная команда должна одобрить импорт новых компонентов, лицензированных по лицензии Apache, или изменение лицензии существующих компонентов на лицензию Apache.
** Данная лицензия одобрена для следующих компонентов:
*** Инструментарий LLVM и (с исключениями LLVM) компоненты времени выполнения.
-* Лицензия BSD+Patent License допустима для использования в некоторых
- случаях. Основная команда (Core Team) должна одобрить импорт новых
- компонентов, лицензированных по BSD+Patent License, или изменение лицензии
- существующих компонентов на BSD+Patent License.
+* Лицензия BSD+Patent License допустима для использования в некоторых случаях. Основная команда (Core Team) должна одобрить импорт новых компонентов, лицензированных по BSD+Patent License, или изменение лицензии существующих компонентов на BSD+Patent License.
** Данная лицензия одобрена для следующих компонентов:
*** Код, основанный на EDK2, связанный с функциональностью UEFI
-* Общая лицензия на разработку и распространение (CDDL) допустима для
- использования в некоторых случаях. Основная команда должна одобрить импорт
- новых компонентов с лицензией CDDL или изменение лицензии существующих
- компонентов на CDDL.
+* Общая лицензия на разработку и распространение (CDDL) допустима для использования в некоторых случаях. Основная команда должна одобрить импорт новых компонентов с лицензией CDDL или изменение лицензии существующих компонентов на CDDL.
** Данная лицензия одобрена для следующих компонентов:
*** DTrace
*** Файловая система ZFS, включая поддержку в ядре и пользовательские утилиты
-* Исторически фраза "All Rights Reserved." включалась во все уведомления об
- авторских правах. Все релизы BSD содержали её, чтобы соответствовать
- требованиям
- https://en.wikipedia.org/wiki/Buenos_Aires_Convention[Буэнос-Айресской
- конвенции 1910 года] в Америке. После ратификации
- https://en.wikipedia.org/wiki/Berne_Convention[Бернской конвенции] в 2000
- году Никарагуа, Буэнос-Айресская конвенция — и эта фраза — устарели. В связи
- с этим проект FreeBSD рекомендует опускать эту фразу в новом коде и
- призывает текущих правообладателей удалить её. В 2018 году проект обновил
- свои шаблоны, убрав её.
-* Изначально многие элементы в дереве FreeBSD были помечены лицензией
- BSD-2-Clause-FreeBSD. Однако SPDX объявил эту лицензию устаревшей как
- вариант, и текст устаревшего тега в SPDX отличается от стандартной лицензии
- FreeBSD настолько, что его не следует использовать. Проводится проверка его
- текущего использования.
+* Исторически фраза "All Rights Reserved." включалась во все уведомления об авторских правах. Все релизы BSD содержали её, чтобы соответствовать требованиям https://en.wikipedia.org/wiki/Buenos_Aires_Convention[Буэнос-Айресской конвенции 1910 года] в Америке. После ратификации https://en.wikipedia.org/wiki/Berne_Convention[Бернской конвенции] в 2000 году Никарагуа, Буэнос-Айресская конвенция — и эта фраза — устарели. В связи с этим проект FreeBSD рекомендует опускать эту фразу в новом коде и призывает текущих правообладателей удалить её. В 2018 году проект обновил свои шаблоны, убрав её.
+* Изначально многие элементы в дереве FreeBSD были помечены лицензией BSD-2-Clause-FreeBSD. Однако SPDX объявил эту лицензию устаревшей как вариант, и текст устаревшего тега в SPDX отличается от стандартной лицензии FreeBSD настолько, что его не следует использовать. Проводится проверка его текущего использования.
==== Допустимые лицензии
-Следующие лицензии считаются допустимыми лицензиями в стиле BSD для целей
-данной Политики. Отклонения или использование любых других лицензий должны
-быть согласованы с основной командой (Core Team) FreeBSD:
+Следующие лицензии считаются допустимыми лицензиями в стиле BSD для целей данной Политики. Отклонения или использование любых других лицензий должны быть согласованы с основной командой (Core Team) FreeBSD:
* Версия лицензии BSD с 2 пунктами
@@ -238,210 +151,77 @@ BSD не могут быть заменены на программное обе
....
== Лицензия набора программного обеспечения (Software Collection License)
-Проект FreeBSD лицензирует свою подборку программного обеспечения, как
-описано в [.filename]#COPYRIGHT#, по лицензии BSD-2-Clause. Данная лицензия
-не заменяет лицензии отдельных файлов, которые описаны ниже. Файлы, не
-имеющие явной лицензии, распространяются по лицензии BSD-2-Clause.
+Проект FreeBSD лицензирует свою подборку программного обеспечения, как описано в [.filename]#COPYRIGHT#, по лицензии BSD-2-Clause. Данная лицензия не заменяет лицензии отдельных файлов, которые описаны ниже. Файлы, не имеющие явной лицензии, распространяются по лицензии BSD-2-Clause.
== Расположение файла лицензии
-Для соответствия стандарту https://reuse.software/[REUSE Software] насколько
-это возможно, все файлы лицензий будут храниться в каталоге
-[.filename]#LICENSES/# репозитория. В этом корневом каталоге есть три
-подкаталога. Подкаталог [.filename]#LICENSES/text/# содержит в отдельном
-виде тексты всех лицензий, разрешённых в комплекте программного обеспечения
-FreeBSD. Эти файлы сохраняются с использованием идентификатора
-SPDX-License-Identifier с добавлением .txt. Подкаталог
-[.filename]#LICENSES/exceptions/# содержит тексты всех исключений,
-разрешённых в отдельном виде в комплекте программного обеспечения
-FreeBSD. Эти файлы сохраняются с использованием идентификатора исключения с
-добавлением .txt. Подкаталог [.filename]#LICENSES/other/# содержит в
-отдельном виде файлы лицензий, упомянутые в выражениях
-SPDX-License-Identifier, но не разрешённые в качестве отдельных
-лицензий. Все такие файлы должны присутствовать в комплекте программного
-обеспечения FreeBSD хотя бы один раз и должны быть удалены, когда удаляется
-последний файл, ссылающийся на них. Лицензии, для которых нет подходящего
-соответствия в SPDX, должны находиться в [.filename]#LICENSES/other/# и
-иметь имя файла, начинающееся с LicenseRef-, за которым следует уникальная
-строка идентификатора. В настоящее время такие файлы не выявлены, но если
-они появятся, их полный список будет приведён здесь.
-
-Проект FreeBSD в настоящее время не использует файлы `DEP5`, описанные в
-стандарте `REUSE Software`. Проект FreeBSD ещё не пометил все файлы в дереве
-в соответствии с этим стандартом, как описано далее в этом документе. Проект
-FreeBSD пока не включил эти файлы в свои репозитории, поскольку данная
-политика ещё находится в процессе разработки.
+Для соответствия стандарту https://reuse.software/[REUSE Software] насколько это возможно, все файлы лицензий будут храниться в каталоге [.filename]#LICENSES/# репозитория. В этом корневом каталоге есть три подкаталога. Подкаталог [.filename]#LICENSES/text/# содержит в отдельном виде тексты всех лицензий, разрешённых в комплекте программного обеспечения FreeBSD. Эти файлы сохраняются с использованием идентификатора SPDX-License-Identifier с добавлением .txt. Подкаталог [.filename]#LICENSES/exceptions/# содержит тексты всех исключений, разрешённых в отдельном виде в комплекте программного обеспечения FreeBSD. Эти файлы сохраняются с использованием идентификатора исключения с добавлением .txt. Подкаталог [.filename]#LICENSES/other/# содержит в отдельном виде файлы лицензий, упомянутые в выражениях SPDX-License-Identifier, но не разрешённые в качестве отдельных лицензий. Все такие файлы должны присутствовать в комплекте программного обеспечения FreeBSD хотя бы один раз и должны быть удалены, когда удаляется последний файл, ссылающийся на них. Лицензии, для которых нет подходящего соответствия в SPDX, должны находиться в [.filename]#LICENSES/other/# и иметь имя файла, начинающееся с LicenseRef-, за которым следует уникальная строка идентификатора. В настоящее время такие файлы не выявлены, но если они появятся, их полный список будет приведён здесь.
+
+Проект FreeBSD в настоящее время не использует файлы `DEP5`, описанные в стандарте `REUSE Software`. Проект FreeBSD ещё не пометил все файлы в дереве в соответствии с этим стандартом, как описано далее в этом документе. Проект FreeBSD пока не включил эти файлы в свои репозитории, поскольку данная политика ещё находится в процессе разработки.
[[individual-files]]
== Лицензии индивидуальных файлов
-Каждый отдельный файл в комплекте программного обеспечения FreeBSD имеет
-собственное авторское право и лицензию. Способ их обозначения варьируется и
-описан в этом разделе.
-
-Уведомление об авторских правах указывает, кто заявляет о законных авторских
-правах на файл. Они предоставляются проектом по принципу наилучших
-усилий. Поскольку авторские права могут быть юридически переданы, текущий
-правообладатель может отличаться от указанного в файле.
-
-Лицензия — это юридический документ между автором и пользователями
-программного обеспечения, который предоставляет разрешение на использование
-защищённых авторским правом частей программного обеспечения на определённых
-условиях, изложенных в лицензии. В коллекции программного обеспечения
-FreeBSD лицензии могут быть выражены одним из двух способов. Лицензии могут
-быть явно указаны в файле. Когда лицензионное разрешение явно указано в
-файле, этот файл может использоваться, копироваться и изменяться в
-соответствии с данной лицензией. Лицензии также могут быть выражены
-косвенно, когда текст лицензии находится в другом месте. Для этой цели
-проект использует идентификаторы лицензий Software Package Data Exchange
-(SPDX), как описано в следующих подразделах. Идентификаторы лицензий SPDX
-управляются рабочей группой SPDX в Linux Foundation и были согласованы
-партнёрами по отрасли, поставщиками инструментов и юридическими
-командами. Для получения дополнительной информации см. https://spdx.org/ и
-следующие разделы о том, как проект FreeBSD их использует.
-
-Сущности, которые вносят исправления и улучшения в комплект программного
-обеспечения без явного лицензирования, соглашаются лицензировать эти
-изменения на условиях, применимых к изменённым файлам. Политика проекта, в
-соответствии с отраслевой практикой, включает уведомление об авторских
-правах только от значительных участников для файлов в коллекции.
+Каждый отдельный файл в комплекте программного обеспечения FreeBSD имеет собственное авторское право и лицензию. Способ их обозначения варьируется и описан в этом разделе.
+
+Уведомление об авторских правах указывает, кто заявляет о законных авторских правах на файл. Они предоставляются проектом по принципу наилучших усилий. Поскольку авторские права могут быть юридически переданы, текущий правообладатель может отличаться от указанного в файле.
+
+Лицензия — это юридический документ между автором и пользователями программного обеспечения, который предоставляет разрешение на использование защищённых авторским правом частей программного обеспечения на определённых условиях, изложенных в лицензии. В коллекции программного обеспечения FreeBSD лицензии могут быть выражены одним из двух способов. Лицензии могут быть явно указаны в файле. Когда лицензионное разрешение явно указано в файле, этот файл может использоваться, копироваться и изменяться в соответствии с данной лицензией. Лицензии также могут быть выражены косвенно, когда текст лицензии находится в другом месте. Для этой цели проект использует идентификаторы лицензий Software Package Data Exchange (SPDX), как описано в следующих подразделах. Идентификаторы лицензий SPDX управляются рабочей группой SPDX в Linux Foundation и были согласованы партнёрами по отрасли, поставщиками инструментов и юридическими командами. Для получения дополнительной информации см. https://spdx.org/ и следующие разделы о том, как проект FreeBSD их использует.
+
+Сущности, которые вносят исправления и улучшения в комплект программного обеспечения без явного лицензирования, соглашаются лицензировать эти изменения на условиях, применимых к изменённым файлам. Политика проекта, в соответствии с отраслевой практикой, включает уведомление об авторских правах только от значительных участников для файлов в коллекции.
В комплекте программного обеспечения FreeBSD существует четыре типа файлов:
. Файлы, содержащие только явное уведомление об авторских правах и лицензию.
-. Файлы, содержащие как явное уведомление об авторских правах и лицензии, так
- и тег SPDX-License-Identifier.
-. Файлы, содержащие только уведомление об авторских правах и тег
- SPDX-License-Identifier, но без явного указания лицензии.
-. Файлы, в которых отсутствует какое-либо указание на авторские права или
- лицензию.
+. Файлы, содержащие как явное уведомление об авторских правах и лицензии, так и тег SPDX-License-Identifier.
+. Файлы, содержащие только уведомление об авторских правах и тег SPDX-License-Identifier, но без явного указания лицензии.
+. Файлы, в которых отсутствует какое-либо указание на авторские права или лицензию.
=== Только авторские права и лицензия
-Многие файлы в коллекции программного обеспечения FreeBSD содержат как
-уведомление об авторских правах, так и явную лицензию в самом файле. В таких
-случаях применяется лицензия, указанная в файле.
+Многие файлы в коллекции программного обеспечения FreeBSD содержат как уведомление об авторских правах, так и явную лицензию в самом файле. В таких случаях применяется лицензия, указанная в файле.
=== Авторские права и лицензия с выражением SPDX-License-Identifier
-Некоторые файлы в коллекции программного обеспечения FreeBSD содержат
-заявление об авторских правах, тег SPDX-License-Identifier и явную
-лицензию. Явная лицензия имеет приоритет над тегом
-SPDX-License-Identifier. Тег SPDX-License-Identifier представляет собой
-наилучшую попытку проекта охарактеризовать лицензию, но является лишь
-информационным полем для автоматизированных
-инструментов. См. crossref:license-guide[expressions,Выражения
-SPDX-License-Identifier] для интерпретации выражения.
+Некоторые файлы в коллекции программного обеспечения FreeBSD содержат заявление об авторских правах, тег SPDX-License-Identifier и явную лицензию. Явная лицензия имеет приоритет над тегом SPDX-License-Identifier. Тег SPDX-License-Identifier представляет собой наилучшую попытку проекта охарактеризовать лицензию, но является лишь информационным полем для автоматизированных инструментов. См. crossref:license-guide[expressions,Выражения SPDX-License-Identifier] для интерпретации выражения.
=== Только уведомление об авторских правах и выражение SPDX-License-Identifier.
-Некоторые файлы в дереве содержат отдельные лицензии. Эти файлы содержат
-только уведомление об авторских правах и выражение SPDX-License-Identifier,
-но не содержат явной лицензии. См. crossref:license-guide[expressions,
-Выражения SPDX-License-Identifier] для интерпретации выражения. Примечание:
-выражения, разрешенные для отдельных лицензий проектом, являются
-подмножеством выражений, используемых в информационных целях или
-определенных стандартом.
-
-Лицензия для файлов, содержащих только SPDX-License-Identifier, должна
-толковаться как
-
-. Начните лицензию с уведомления об авторских правах из файла. Включите всех
- правообладателей.
-. Для каждого подвыражения скопируйте текст лицензии из
- [.filename]#LICENSE/text/`id`.txt#. Если присутствуют исключения, добавьте
- их из [.filename]#src/share/license/exceptions/`id`.txt#. Выражения
- SPDX-License-Identifier должны интерпретироваться в соответствии со
- стандартом SPDX.
-
-Где `id` — это короткий идентификатор лицензии SPDX из столбца `Identifier`
-на страницах https://spdx.org/licenses/[Идентификаторы SPDX] или
-https://spdx.org/licenses/exceptions-index.html[исключения лицензий]. Если в
-каталоге [.filename]#LICENSE/# нет файла, то такая лицензия или исключение
-не могут быть указаны как отдельная лицензия в этом разделе.
-
-При чтении текста лицензии, отделенного от файла, необходимо учитывать ряд
-аспектов, чтобы отделенная лицензия имела смысл.
-
-. Любая ссылка на уведомление об авторских правах должна относиться к
- уведомлению, составленному из лицензированного файла, а не из любого
- уведомления об авторских правах в самом тексте файла лицензии. Многие файлы
- SPDX содержат примеры уведомлений об авторских правах, которые понимаются
- исключительно как образцы.
-. Когда в тексте лицензии упоминаются названия организаций, они должны
- интерпретироваться как относящиеся к списку всех правообладателей, указанных
- в уведомлениях об авторских правах лицензированного файла. Например,
- лицензия BSD-4-clause содержит фразу "Этот продукт включает программное
- обеспечение, разработанное организацией". Фраза 'организацией' должна быть
- заменена на правообладателей.
-. Когда SPDX предлагает варианты лицензии, подразумевается, что лицензия в
- файле [.filename]#LICENSE/# представляет точную версию выбранной
- лицензии. Стандарт SPDX существует для сопоставления семейств лицензий, и
- эти варианты помогают сопоставлять похожие лицензии, которые организация
- SPDX считает юридически идентичными.
-
-Для лицензий с небольшими вариациями в тексте SPDX предоставляет
-рекомендации по их сопоставлению. Эти рекомендации здесь не
-актуальны. Участники, желающие использовать вариант лицензии SPDX, который
-не содержится дословно в [.filename]#LICENSE/#, не могут использовать
-отдельный вариант и должны явно указать лицензию.
+Некоторые файлы в дереве содержат отдельные лицензии. Эти файлы содержат только уведомление об авторских правах и выражение SPDX-License-Identifier, но не содержат явной лицензии. См. crossref:license-guide[expressions, Выражения SPDX-License-Identifier] для интерпретации выражения. Примечание: выражения, разрешенные для отдельных лицензий проектом, являются подмножеством выражений, используемых в информационных целях или определенных стандартом.
+
+Лицензия для файлов, содержащих только SPDX-License-Identifier, должна толковаться как
+
+. Начните лицензию с уведомления об авторских правах из файла. Включите всех правообладателей.
+. Для каждого подвыражения скопируйте текст лицензии из [.filename]#LICENSE/text/`id`.txt#. Если присутствуют исключения, добавьте их из [.filename]#src/share/license/exceptions/`id`.txt#. Выражения SPDX-License-Identifier должны интерпретироваться в соответствии со стандартом SPDX.
+
+Где `id` — это короткий идентификатор лицензии SPDX из столбца `Identifier` на страницах https://spdx.org/licenses/[Идентификаторы SPDX] или https://spdx.org/licenses/exceptions-index.html[исключения лицензий]. Если в каталоге [.filename]#LICENSE/# нет файла, то такая лицензия или исключение не могут быть указаны как отдельная лицензия в этом разделе.
+
+При чтении текста лицензии, отделенного от файла, необходимо учитывать ряд аспектов, чтобы отделенная лицензия имела смысл.
+
+. Любая ссылка на уведомление об авторских правах должна относиться к уведомлению, составленному из лицензированного файла, а не из любого уведомления об авторских правах в самом тексте файла лицензии. Многие файлы SPDX содержат примеры уведомлений об авторских правах, которые понимаются исключительно как образцы.
+. Когда в тексте лицензии упоминаются названия организаций, они должны интерпретироваться как относящиеся к списку всех правообладателей, указанных в уведомлениях об авторских правах лицензированного файла. Например, лицензия BSD-4-clause содержит фразу "Этот продукт включает программное обеспечение, разработанное организацией". Фраза 'организацией' должна быть заменена на правообладателей.
+. Когда SPDX предлагает варианты лицензии, подразумевается, что лицензия в файле [.filename]#LICENSE/# представляет точную версию выбранной лицензии. Стандарт SPDX существует для сопоставления семейств лицензий, и эти варианты помогают сопоставлять похожие лицензии, которые организация SPDX считает юридически идентичными.
+
+Для лицензий с небольшими вариациями в тексте SPDX предоставляет рекомендации по их сопоставлению. Эти рекомендации здесь не актуальны. Участники, желающие использовать вариант лицензии SPDX, который не содержится дословно в [.filename]#LICENSE/#, не могут использовать отдельный вариант и должны явно указать лицензию.
=== Файлы без указания авторских прав или любой лицензионной отметки
-Некоторые файлы не могут содержать подходящих комментариев. В таких случаях
-лицензия может быть найдена в [.filename]#file.ext.license#. Например, файл
-с именем [.filename]#foo.jpg# может иметь лицензию в
-[.filename]#foo.jpg.license#, следуя соглашениям REUSE Software.
+Некоторые файлы не могут содержать подходящих комментариев. В таких случаях лицензия может быть найдена в [.filename]#file.ext.license#. Например, файл с именем [.filename]#foo.jpg# может иметь лицензию в [.filename]#foo.jpg.license#, следуя соглашениям REUSE Software.
-Файлы, созданные проектом, в которых отсутствует уведомление об авторских
-правах, считаются подпадающими под общие положения об авторских правах и
-лицензировании в файле [.filename]#COPYRIGHT#. Это означает, что либо файл
-представляет собой простое изложение фактов, не охраняемых законом об
-авторских правах, либо его содержание настолько тривиально, что не требует
-оформления явной лицензии.
+Файлы, созданные проектом, в которых отсутствует уведомление об авторских правах, считаются подпадающими под общие положения об авторских правах и лицензировании в файле [.filename]#COPYRIGHT#. Это означает, что либо файл представляет собой простое изложение фактов, не охраняемых законом об авторских правах, либо его содержание настолько тривиально, что не требует оформления явной лицензии.
-Файлы, которые не имеют маркировки и содержат значительное количество
-материала, защищенного авторским правом, или которые автор считает
-неправильно промаркированными, должны быть доведены до сведения основной
-команды (Core Team) FreeBSD. Проект FreeBSD строго придерживается политики
-соблюдения всех соответствующих лицензий.
+Файлы, которые не имеют маркировки и содержат значительное количество материала, защищенного авторским правом, или которые автор считает неправильно промаркированными, должны быть доведены до сведения основной команды (Core Team) FreeBSD. Проект FreeBSD строго придерживается политики соблюдения всех соответствующих лицензий.
-В будущем все подобные файлы будут явно помечены или следовать соглашению
-REUSE Software о файлах с расширением [.filename]#.license#.
+В будущем все подобные файлы будут явно помечены или следовать соглашению REUSE Software о файлах с расширением [.filename]#.license#.
[[expressions]]
=== Выражения SPDX-License-Identifier
-'SPDX License expression' используется в двух контекстах в коллекции
-программного обеспечения FreeBSD. Во-первых, его полная форма применяется
-для файлов, которые содержат явные заявления о лицензии внутри файла, а
-также обобщающее выражение SPDX-License-Identifier. В этом контексте может
-быть использована вся мощь этих выражений. Во-вторых, в ограниченной форме,
-описанной выше, оно используется для обозначения фактической лицензии для
-данного файла. Во втором контексте проектом разрешено только подмножество
-этого выражения.
-
-`Лицензионные под-выражения SPDX` — это либо короткий идентификатор лицензии
-из https://spdx.org/licenses/[Список лицензий SPDX], либо комбинация двух
-таких идентификаторов, разделённых "WITH", если применяется
-https://spdx.org/licenses/exceptions-index.html[исключение из
-лицензии]. Если применяются несколько лицензий, выражение состоит из
-подвыражений, разделённых ключевыми словами "AND", "OR" и окружённых
-символами "(", ")". Полное описание выражений доступно в
-https://spdx.github.io/spdx-spec/appendix-IV-SPDX-license-expressions/[спецификации]
-и имеет приоритет в случае противоречий с упрощённым изложением этого
-раздела.
-
-Некоторые идентификаторы лицензий, такие как [L]GPL, предоставляют
-возможность использовать только указанную версию или любую более позднюю
-версию. SPDX определяет суффикс `-or-later` для обозначения этой версии
-лицензии или более поздней версии. Суффикс `-only` означает только указанную
-версию файла. Существует старая конвенция, согласно которой отсутствие
-суффикса (что означает то же, что и новый суффикс '-only', но люди путают
-это с `-or-later`). Кроме того, добавление суффикса `+` подразумевало
-значение `-or-later`. В новых файлах FreeBSD не следует использовать эти две
-конвенции. Старые файлы, использующие эту конвенцию, следует преобразовать
-соответствующим образом.
+'SPDX License expression' используется в двух контекстах в коллекции программного обеспечения FreeBSD. Во-первых, его полная форма применяется для файлов, которые содержат явные заявления о лицензии внутри файла, а также обобщающее выражение SPDX-License-Identifier. В этом контексте может быть использована вся мощь этих выражений. Во-вторых, в ограниченной форме, описанной выше, оно используется для обозначения фактической лицензии для данного файла. Во втором контексте проектом разрешено только подмножество этого выражения.
+
+`Лицензионные под-выражения SPDX` — это либо короткий идентификатор лицензии из https://spdx.org/licenses/[Список лицензий SPDX], либо комбинация двух таких идентификаторов, разделённых "WITH", если применяется https://spdx.org/licenses/exceptions-index.html[исключение из лицензии]. Если применяются несколько лицензий, выражение состоит из подвыражений, разделённых ключевыми словами "AND", "OR" и окружённых символами "(", ")". Полное описание выражений доступно в https://spdx.github.io/spdx-spec/appendix-IV-SPDX-license-expressions/[спецификации] и имеет приоритет в случае противоречий с упрощённым изложением этого раздела.
+
+Некоторые идентификаторы лицензий, такие как [L]GPL, предоставляют возможность использовать только указанную версию или любую более позднюю версию. SPDX определяет суффикс `-or-later` для обозначения этой версии лицензии или более поздней версии. Суффикс `-only` означает только указанную версию файла. Существует старая конвенция, согласно которой отсутствие суффикса (что означает то же, что и новый суффикс '-only', но люди путают это с `-or-later`). Кроме того, добавление суффикса `+` подразумевало значение `-or-later`. В новых файлах FreeBSD не следует использовать эти две конвенции. Старые файлы, использующие эту конвенцию, следует преобразовать соответствующим образом.
[.programlisting]
....
@@ -449,30 +229,23 @@ https://spdx.github.io/spdx-spec/appendix-IV-SPDX-license-expressions/[спец
// SPDX-License-Identifier: LGPL-2.1-or-later
....
-`WITH` следует использовать, когда требуется модификатор лицензии. В проекте
-FreeBSD ряд файлов из LLVM имеют исключение из лицензии Apache 2.0:
+`WITH` следует использовать, когда требуется модификатор лицензии. В проекте FreeBSD ряд файлов из LLVM имеют исключение из лицензии Apache 2.0:
[.programlisting]
....
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
....
-https://spdx.org/licenses/exceptions-index.html[Теги исключений] управляются
-SPDX. Исключения лицензий могут применяться только к определённым лицензиям,
-как указано в исключении.
+https://spdx.org/licenses/exceptions-index.html[Теги исключений] управляются SPDX. Исключения лицензий могут применяться только к определённым лицензиям, как указано в исключении.
-`OR` следует использовать, если файл предлагает выбор лицензии и одна
-лицензия выбрана. Например, некоторые файлы `dtsi` доступны под двойными
-лицензиями:
+`OR` следует использовать, если файл предлагает выбор лицензии и одна лицензия выбрана. Например, некоторые файлы `dtsi` доступны под двойными лицензиями:
[.programlisting]
....
// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
....
-`AND` следует использовать, если файл имеет несколько лицензий, условия
-которых применяются к использованию файла. Например, если код был
-заимствован из нескольких проектов, каждый со своей собственной лицензией:
+`AND` следует использовать, если файл имеет несколько лицензий, условия которых применяются к использованию файла. Например, если код был заимствован из нескольких проектов, каждый со своей собственной лицензией:
[.programlisting]
....
diff --git a/documentation/content/ru/articles/license-guide/_index.po b/documentation/content/ru/articles/license-guide/_index.po
index 46d19f93b4..94b548d4e6 100644
--- a/documentation/content/ru/articles/license-guide/_index.po
+++ b/documentation/content/ru/articles/license-guide/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-09-22 18:52+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-08-05 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,7 +18,7 @@ msgstr ""
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.17\n"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/articles/license-guide/_index.adoc:1
#, no-wrap
msgid "FreeBSD Licensing Policy"
@@ -259,9 +259,9 @@ msgid ""
"of the FreeBSD Core Team. Requests for import must include:"
msgstr ""
"Импорт нового программного обеспечения, лицензированного под любыми "
-"лицензиями, кроме лицензии BSD и подобных лицензий BSD (как определено "
-"ниже), требует предварительного одобрения от FreeBSD Core Team. Запросы на "
-"импорт должны включать:"
+"лицензиями, кроме лицензии BSD и подобных лицензий BSD (как определено ниже)"
+", требует предварительного одобрения от FreeBSD Core Team. Запросы на импорт "
+"должны включать:"
#. type: Plain text
#: documentation/content/en/articles/license-guide/_index.adoc:114
@@ -377,8 +377,8 @@ msgstr ""
"Исторически фраза \"All Rights Reserved.\" включалась во все уведомления об "
"авторских правах. Все релизы BSD содержали её, чтобы соответствовать "
"требованиям https://en.wikipedia.org/wiki/Buenos_Aires_Convention[Буэнос-"
-"Айресской конвенции 1910 года] в Америке. После ратификации https://"
-"en.wikipedia.org/wiki/Berne_Convention[Бернской конвенции] в 2000 году "
+"Айресской конвенции 1910 года] в Америке. После ратификации https://en."
+"wikipedia.org/wiki/Berne_Convention[Бернской конвенции] в 2000 году "
"Никарагуа, Буэнос-Айресская конвенция — и эта фраза — устарели. В связи с "
"этим проект FreeBSD рекомендует опускать эту фразу в новом коде и призывает "
"текущих правообладателей удалить её. В 2018 году проект обновил свои "
@@ -392,8 +392,8 @@ msgid ""
"text of the obsolete tag differs enough from the standard FreeBSD license "
"that it shouldn't be used. A review of its current use is ongoing."
msgstr ""
-"Изначально многие элементы в дереве FreeBSD были помечены лицензией BSD-2-"
-"Clause-FreeBSD. Однако SPDX объявил эту лицензию устаревшей как вариант, и "
+"Изначально многие элементы в дереве FreeBSD были помечены лицензией BSD-2"
+"-Clause-FreeBSD. Однако SPDX объявил эту лицензию устаревшей как вариант, и "
"текст устаревшего тега в SPDX отличается от стандартной лицензии FreeBSD "
"настолько, что его не следует использовать. Проводится проверка его текущего "
"использования."
@@ -532,25 +532,24 @@ msgid ""
"been identified, but if they are, a full list will appear here."
msgstr ""
"Для соответствия стандарту https://reuse.software/[REUSE Software] насколько "
-"это возможно, все файлы лицензий будут храниться в каталоге "
-"[.filename]#LICENSES/# репозитория. В этом корневом каталоге есть три "
-"подкаталога. Подкаталог [.filename]#LICENSES/text/# содержит в отдельном "
-"виде тексты всех лицензий, разрешённых в комплекте программного обеспечения "
-"FreeBSD. Эти файлы сохраняются с использованием идентификатора SPDX-License-"
-"Identifier с добавлением .txt. Подкаталог [.filename]#LICENSES/exceptions/# "
-"содержит тексты всех исключений, разрешённых в отдельном виде в комплекте "
+"это возможно, все файлы лицензий будут храниться в каталоге [.filename]#"
+"LICENSES/# репозитория. В этом корневом каталоге есть три подкаталога. "
+"Подкаталог [.filename]#LICENSES/text/# содержит в отдельном виде тексты всех "
+"лицензий, разрешённых в комплекте программного обеспечения FreeBSD. Эти "
+"файлы сохраняются с использованием идентификатора SPDX-License-Identifier с "
+"добавлением .txt. Подкаталог [.filename]#LICENSES/exceptions/# содержит "
+"тексты всех исключений, разрешённых в отдельном виде в комплекте "
"программного обеспечения FreeBSD. Эти файлы сохраняются с использованием "
-"идентификатора исключения с добавлением .txt. Подкаталог "
-"[.filename]#LICENSES/other/# содержит в отдельном виде файлы лицензий, "
-"упомянутые в выражениях SPDX-License-Identifier, но не разрешённые в "
-"качестве отдельных лицензий. Все такие файлы должны присутствовать в "
-"комплекте программного обеспечения FreeBSD хотя бы один раз и должны быть "
-"удалены, когда удаляется последний файл, ссылающийся на них. Лицензии, для "
-"которых нет подходящего соответствия в SPDX, должны находиться в "
-"[.filename]#LICENSES/other/# и иметь имя файла, начинающееся с LicenseRef-, "
-"за которым следует уникальная строка идентификатора. В настоящее время такие "
-"файлы не выявлены, но если они появятся, их полный список будет приведён "
-"здесь."
+"идентификатора исключения с добавлением .txt. Подкаталог [.filename]#"
+"LICENSES/other/# содержит в отдельном виде файлы лицензий, упомянутые в "
+"выражениях SPDX-License-Identifier, но не разрешённые в качестве отдельных "
+"лицензий. Все такие файлы должны присутствовать в комплекте программного "
+"обеспечения FreeBSD хотя бы один раз и должны быть удалены, когда удаляется "
+"последний файл, ссылающийся на них. Лицензии, для которых нет подходящего "
+"соответствия в SPDX, должны находиться в [.filename]#LICENSES/other/# и "
+"иметь имя файла, начинающееся с LicenseRef-, за которым следует уникальная "
+"строка идентификатора. В настоящее время такие файлы не выявлены, но если "
+"они появятся, их полный список будет приведён здесь."
#. type: Plain text
#: documentation/content/en/articles/license-guide/_index.adoc:211
@@ -722,15 +721,15 @@ msgstr ""
"Явная лицензия имеет приоритет над тегом SPDX-License-Identifier. Тег SPDX-"
"License-Identifier представляет собой наилучшую попытку проекта "
"охарактеризовать лицензию, но является лишь информационным полем для "
-"автоматизированных инструментов. См. crossref:license-"
-"guide[expressions,Выражения SPDX-License-Identifier] для интерпретации "
-"выражения."
+"автоматизированных инструментов. См. crossref:license-guide["
+"expressions,Выражения SPDX-License-Identifier] для интерпретации выражения."
#. type: Title ===
#: documentation/content/en/articles/license-guide/_index.adoc:253
#, no-wrap
msgid "Only Copyright and SPDX-License-Identifier expression."
-msgstr "Только уведомление об авторских правах и выражение SPDX-License-Identifier."
+msgstr ""
+"Только уведомление об авторских правах и выражение SPDX-License-Identifier."
#. type: Plain text
#: documentation/content/en/articles/license-guide/_index.adoc:259
@@ -791,10 +790,10 @@ msgid ""
"a detached license under this section."
msgstr ""
"Где `id` — это короткий идентификатор лицензии SPDX из столбца `Identifier` "
-"на страницах https://spdx.org/licenses/[Идентификаторы SPDX] или https://"
-"spdx.org/licenses/exceptions-index.html[исключения лицензий]. Если в "
-"каталоге [.filename]#LICENSE/# нет файла, то такая лицензия или исключение "
-"не могут быть указаны как отдельная лицензия в этом разделе."
+"на страницах https://spdx.org/licenses/[Идентификаторы SPDX] или https://spdx"
+".org/licenses/exceptions-index.html[исключения лицензий]. Если в каталоге [."
+"filename]#LICENSE/# нет файла, то такая лицензия или исключение не могут "
+"быть указаны как отдельная лицензия в этом разделе."
#. type: Plain text
#: documentation/content/en/articles/license-guide/_index.adoc:272
@@ -882,8 +881,8 @@ msgid ""
msgstr ""
"Некоторые файлы не могут содержать подходящих комментариев. В таких случаях "
"лицензия может быть найдена в [.filename]#file.ext.license#. Например, файл "
-"с именем [.filename]#foo.jpg# может иметь лицензию в "
-"[.filename]#foo.jpg.license#, следуя соглашениям REUSE Software."
+"с именем [.filename]#foo.jpg# может иметь лицензию в [.filename]#foo.jpg."
+"license#, следуя соглашениям REUSE Software."
#. type: Plain text
#: documentation/content/en/articles/license-guide/_index.adoc:293
@@ -965,11 +964,11 @@ msgid ""
msgstr ""
"`Лицензионные под-выражения SPDX` — это либо короткий идентификатор лицензии "
"из https://spdx.org/licenses/[Список лицензий SPDX], либо комбинация двух "
-"таких идентификаторов, разделённых \"WITH\", если применяется https://"
-"spdx.org/licenses/exceptions-index.html[исключение из лицензии]. Если "
-"применяются несколько лицензий, выражение состоит из подвыражений, "
-"разделённых ключевыми словами \"AND\", \"OR\" и окружённых символами \"(\", "
-"\")\". Полное описание выражений доступно в https://spdx.github.io/spdx-spec/"
+"таких идентификаторов, разделённых \"WITH\", если применяется https://spdx."
+"org/licenses/exceptions-index.html[исключение из лицензии]. Если применяются "
+"несколько лицензий, выражение состоит из подвыражений, разделённых ключевыми "
+"словами \"AND\", \"OR\" и окружённых символами \"(\", \")\". Полное описание "
+"выражений доступно в https://spdx.github.io/spdx-spec/"
"appendix-IV-SPDX-license-expressions/[спецификации] и имеет приоритет в "
"случае противоречий с упрощённым изложением этого раздела."
diff --git a/documentation/content/ru/articles/linux-emulation/_index.adoc b/documentation/content/ru/articles/linux-emulation/_index.adoc
index 9d60209b00..322804579b 100644
--- a/documentation/content/ru/articles/linux-emulation/_index.adoc
+++ b/documentation/content/ru/articles/linux-emulation/_index.adoc
@@ -443,9 +443,9 @@ if (__predict_true(p->p_sysent != &elf_Linux(R)_sysvec))
* `fhold` - ссылается на обработчик файла
[[md]]
-== Слой эмуляции Linux(R) - машинно-зависимая часть
+== Слой эмуляции Linux(R) - машинозависимая часть
-В этом разделе рассматривается реализация слоя эмуляции Linux(R) в операционной системе FreeBSD. Сначала описывается машинно-зависимая часть, рассказывающая о том, как и где реализовано взаимодействие между пользовательским пространством и ядром. Рассматриваются системные вызовы, сигналы, ptrace, ловушки и исправление стека. Эта часть посвящена архитектуре i386, но написана в общем виде, поэтому другие архитектуры не должны сильно отличаться. Следующая часть — машинно-независимая часть Linuxulator. Этот раздел охватывает только i386 и обработку ELF. A.OUT устарел и не поддерживается.
+В этом разделе рассматривается реализация слоя эмуляции Linux(R) в операционной системе FreeBSD. Сначала описывается машинозависимая часть, рассказывающая о том, как и где реализовано взаимодействие между пользовательским пространством и ядром. Рассматриваются системные вызовы, сигналы, ptrace, ловушки и исправление стека. Эта часть посвящена архитектуре i386, но написана в общем виде, поэтому другие архитектуры не должны сильно отличаться. Следующая часть — машинонезависимая часть Linuxulator. Этот раздел охватывает только i386 и обработку ELF. A.OUT устарел и не поддерживается.
[[syscall-handling]]
=== Обработка системных вызовов
@@ -576,9 +576,9 @@ translate_traps(int signal, int trap_code)
Эмуляционный слой Linux(R) на i386 также поддерживает бинарные файлы Linux(R) в формате A.OUT. Почти всё, что описано в предыдущих разделах, должно быть реализовано для поддержки A.OUT (кроме перевода ловушек и отправки сигналов). Поддержка бинарных файлов A.OUT больше не поддерживается, в частности, эмуляция 2.6 с ними не работает, но это не вызывает никаких проблем, так как linux-base в портах, вероятно, вообще не поддерживает бинарные файлы A.OUT. Эта поддержка, скорее всего, будет удалена в будущем. Большая часть кода, необходимого для загрузки бинарных файлов Linux(R) A.OUT, находится в файле [.filename]#imgact_linux.c#.
[[mi]]
-== Слой эмуляции Linux(R) - машино-независимая часть
+== Слой эмуляции Linux(R) - машинонезависимая часть
-В этом разделе рассматривается машинно-независимая часть Linuxulator. Он охватывает инфраструктуру эмуляции, необходимую для эмуляции Linux(R) 2.6, реализацию thread local storage (TLS) (на i386) и фьютексы. Затем мы кратко обсуждаем некоторые системные вызовы.
+В этом разделе рассматривается машинонезависимая часть Linuxulator. Он охватывает инфраструктуру эмуляции, необходимую для эмуляции Linux(R) 2.6, реализацию thread local storage (TLS) (на i386) и фьютексы. Затем мы кратко обсуждаем некоторые системные вызовы.
[[nptl-desc]]
=== Описание NPTL
@@ -713,7 +713,7 @@ mov %edx,%gs:0x10
[[tls-i386]]
===== i386
-Загрузка TLS для текущего потока происходит путем вызова `set_thread_area`, тогда как загрузка TLS для второго процесса в `clone` выполняется в отдельном блоке в `clone`. Эти две функции очень похожи. Единственное различие заключается в фактической загрузке сегмента GDT, которая происходит при следующем переключении контекста для вновь созданного процесса, в то время как `set_thread_area` должен загрузить его напрямую. Код в основном делает следующее. Он копирует дескриптор сегмента в формате Linux(R) из пользовательского пространства. Код проверяет номер дескриптора, но поскольку он различается между FreeBSD и Linux(R), мы немного имитируем его. Мы поддерживаем только индексы 6, 3 и -1. Число 6 — это оригинальный номер Linux(R), 3 — оригинальный номер FreeBSD, а -1 означает авто-выбор. Затем мы устанавливаем номер дескриптора на константу 3 и копируем его обратно в пользовательское пространство. Мы полагаемся на то, что процесс в пользовательском пространстве использует номер из дескриптора, но это работает в большинстве случаев (никогда не встречалось ситуации, когда это не срабатывало), так как процесс в пользовательском пространстве обычно передает 1. Затем мы преобразуем дескриптор из формата Linux(R) в машинно-зависимую форму (т.е. независимую от операционной системы) и копируем его в дескриптор сегмента, определенный FreeBSD. Наконец, мы можем загрузить его. Мы назначаем дескриптор PCB потока (блок управления процессом) и загружаем сегмент `%gs` с помощью `load_gs`. Эта загрузка должна выполняться в критической секции, чтобы ничто не могло нас прервать. Случай `CLONE_SETTLS` работает точно так же, только загрузка с помощью `load_gs` не выполняется. Сегмент, используемый для этого (сегмент номер 3), разделяется между процессами FreeBSD и Linux(R), поэтому слой эмуляции Linux(R) не добавляет накладных расходов по сравнению с обычным FreeBSD.
+Загрузка TLS для текущего потока происходит путем вызова `set_thread_area`, тогда как загрузка TLS для второго процесса в `clone` выполняется в отдельном блоке в `clone`. Эти две функции очень похожи. Единственное различие заключается в фактической загрузке сегмента GDT, которая происходит при следующем переключении контекста для вновь созданного процесса, в то время как `set_thread_area` должен загрузить его напрямую. Код в основном делает следующее. Он копирует дескриптор сегмента в формате Linux(R) из пользовательского пространства. Код проверяет номер дескриптора, но поскольку он различается между FreeBSD и Linux(R), мы немного имитируем его. Мы поддерживаем только индексы 6, 3 и -1. Число 6 — это оригинальный номер Linux(R), 3 — оригинальный номер FreeBSD, а -1 означает авто-выбор. Затем мы устанавливаем номер дескриптора на константу 3 и копируем его обратно в пользовательское пространство. Мы полагаемся на то, что процесс в пользовательском пространстве использует номер из дескриптора, но это работает в большинстве случаев (никогда не встречалось ситуации, когда это не срабатывало), так как процесс в пользовательском пространстве обычно передает 1. Затем мы преобразуем дескриптор из формата Linux(R) в машинозависимую форму (т.е. независимую от операционной системы) и копируем его в дескриптор сегмента, определенный FreeBSD. Наконец, мы можем загрузить его. Мы назначаем дескриптор PCB потока (блок управления процессом) и загружаем сегмент `%gs` с помощью `load_gs`. Эта загрузка должна выполняться в критической секции, чтобы ничто не могло нас прервать. Случай `CLONE_SETTLS` работает точно так же, только загрузка с помощью `load_gs` не выполняется. Сегмент, используемый для этого (сегмент номер 3), разделяется между процессами FreeBSD и Linux(R), поэтому слой эмуляции Linux(R) не добавляет накладных расходов по сравнению с обычным FreeBSD.
[[tls-amd64]]
===== amd64
diff --git a/documentation/content/ru/articles/linux-emulation/_index.po b/documentation/content/ru/articles/linux-emulation/_index.po
index 0296103bc0..cb02ba5937 100644
--- a/documentation/content/ru/articles/linux-emulation/_index.po
+++ b/documentation/content/ru/articles/linux-emulation/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-13 23:41+0300\n"
-"PO-Revision-Date: 2025-10-03 04:45+0000\n"
+"POT-Creation-Date: 2024-01-17 20:35-0300\n"
+"PO-Revision-Date: 2025-10-29 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/articleslinux-emulation_index/ru/>\n"
@@ -18,13 +18,14 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/articles/linux-emulation/_index.adoc:1
#, no-wrap
msgid "A technical description about the internals of the Linux emulation layer in FreeBSD"
-msgstr "Техническое описание внутреннего устройства слоя эмуляции Linux в FreeBSD"
+msgstr ""
+"Техническое описание внутреннего устройства слоя эмуляции Linux в FreeBSD"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/articles/linux-emulation/_index.adoc:1
#, no-wrap
msgid "Linux® emulation in FreeBSD"
@@ -36,12 +37,12 @@ msgstr "Эмуляция Linux® в FreeBSD"
msgid "Linux(R) emulation in FreeBSD"
msgstr "Эмуляция Linux(R) в FreeBSD"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:44
msgid "Abstract"
msgstr "Аннотация"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:54
msgid ""
"This masters thesis deals with updating the Linux(R) emulation layer (the so "
@@ -58,8 +59,8 @@ msgid ""
"We, the emulation development team, are working on making the Linux(R) 2.6 "
"emulation the default emulation layer in FreeBSD."
msgstr ""
-"Эта магистерская диссертация посвящена обновлению слоя эмуляции Linux(R) "
-"(так называемого _Linuxulator_). Задача состояла в обновлении слоя для "
+"Эта магистерская диссертация посвящена обновлению слоя эмуляции Linux(R) ("
+"так называемого _Linuxulator_). Задача состояла в обновлении слоя для "
"соответствия функциональности Linux(R) 2.6. В качестве эталонной реализации "
"было выбрано ядро Linux(R) 2.6.16. Концепция основана на реализации NetBSD. "
"Большая часть работы была выполнена летом 2006 года в рамках программы "
@@ -73,7 +74,7 @@ msgstr ""
"разработчиков эмуляции, работаем над тем, чтобы сделать эмуляцию Linux(R) "
"2.6 стандартным слоем эмуляции в FreeBSD."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:56
msgid "'''"
msgstr "'''"
@@ -84,7 +85,7 @@ msgstr "'''"
msgid "Introduction"
msgstr "Введение"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:67
msgid ""
"In the last few years the open source UNIX(R) based operating systems "
@@ -111,7 +112,7 @@ msgstr ""
"пользователей. Это приводит к ситуации, когда для Linux(R) доступно "
"множество проприетарных программ, которые не поддерживают FreeBSD."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:69
msgid ""
"Naturally, a need for the ability to run Linux(R) binaries on a FreeBSD "
@@ -122,7 +123,7 @@ msgstr ""
"бинарников в системе FreeBSD, и именно этому посвящена данная работа: "
"эмуляции ядра Linux(R) в операционной системе FreeBSD."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:72
msgid ""
"During the Summer of 2006 Google Inc. sponsored a project which focused on "
@@ -141,7 +142,7 @@ msgstr ""
msgid "A look inside..."
msgstr "Взгляд изнутри..."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:80
msgid ""
"In this section we are going to describe every operating system in "
@@ -163,7 +164,7 @@ msgstr ""
msgid "What is UNIX(R)"
msgstr "Что такое UNIX(R)"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:94
msgid ""
"UNIX(R) is an operating system with a long history that has influenced "
@@ -194,8 +195,8 @@ msgstr ""
"идеи были использованы многими другими операционными системами по всему "
"миру, образовав так называемые UNIX(R)-подобные операционные системы. В наши "
"дни наиболее влиятельными из них являются Linux(R), Solaris и, возможно (в "
-"некоторой степени), FreeBSD. Существуют корпоративные производные UNIX(R) "
-"(AIX, HP-UX и т. д.), но они всё больше мигрируют на упомянутые системы. "
+"некоторой степени), FreeBSD. Существуют корпоративные производные UNIX(R) ("
+"AIX, HP-UX и т. д.), но они всё больше мигрируют на упомянутые системы. "
"Давайте подведём итог типичным характеристикам UNIX(R)."
#. type: Title ====
@@ -206,7 +207,7 @@ msgstr ""
msgid "Technical details"
msgstr "Технические детали"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:104
msgid ""
"Every running program constitutes a process that represents a state of the "
@@ -233,7 +234,7 @@ msgstr ""
msgid "Communication between kernel and user space process"
msgstr "Обмен данными между ядром и пользовательским процессом"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:114
msgid ""
"Common UNIX(R) API defines a syscall as a way to issue commands from a user "
@@ -255,7 +256,7 @@ msgstr ""
"различными способами (зависит от реализации). Системные вызовы являются "
"синхронными."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:118
msgid ""
"Another possible way to communicate is by using a _trap_. Traps occur "
@@ -264,8 +265,8 @@ msgid ""
"reaction like sending a _signal_ (division by zero)."
msgstr ""
"Еще один возможный способ взаимодействия — использование _прерывания_. "
-"Прерывания происходят асинхронно после возникновения определенного события "
-"(деление на ноль, ошибка страницы и т.д.). Прерывание может быть прозрачным "
+"Прерывания происходят асинхронно после возникновения определенного события ("
+"деление на ноль, ошибка страницы и т.д.). Прерывание может быть прозрачным "
"для процесса (ошибка страницы) или привести к реакции, например, отправке "
"_сигнала_ (деление на ноль)."
@@ -275,7 +276,7 @@ msgstr ""
msgid "Communication between processes"
msgstr "Обмен данными между процессами"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:125
msgid ""
"There are other APIs (System V IPC, shared memory etc.) but the single most "
@@ -296,7 +297,7 @@ msgstr ""
msgid "Process management"
msgstr "Управление процессами"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:137
msgid ""
"Kernel instances are processed first in the system (so called init). Every "
@@ -326,7 +327,7 @@ msgstr ""
msgid "Thread management"
msgstr "Управление потоками"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:145
msgid ""
"Traditional UNIX(R) does not define any API nor implementation for "
@@ -343,7 +344,7 @@ msgstr ""
"всей группы потоков в один процесс с управлением потоками в пользовательском "
"пространстве (потоки 1:N). Сравнение основных особенностей каждого подхода:"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:147
msgid "1:1 threading"
msgstr "Потоки 1:1"
@@ -372,7 +373,7 @@ msgstr "нет необходимости в обёртке системных
msgid "can utilize multiple CPUs"
msgstr "может использовать несколько процессоров"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:154
msgid "1:N threading"
msgstr "Потоки 1:N"
@@ -403,7 +404,7 @@ msgstr "не может использовать более одного CPU"
msgid "What is FreeBSD?"
msgstr "Что такое FreeBSD?"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:169
msgid ""
"The FreeBSD project is one of the oldest open source operating systems "
@@ -425,7 +426,7 @@ msgstr ""
"своё имя благодаря либеральной лицензии. Другая группа создала операционную "
"систему NetBSD с другими целями. Мы сосредоточимся на FreeBSD."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:174
msgid ""
"FreeBSD is a modern UNIX(R)-based operating system with all the features of "
@@ -445,42 +446,42 @@ msgstr ""
"UNIX(R)-подобных операционных систем. По состоянию на декабрь 2006 года и "
"разработку 7-CURRENT поддерживаются следующие функции эмуляции:"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:176
msgid "FreeBSD/i386 emulation on FreeBSD/amd64"
msgstr "Совместимость FreeBSD/i386 на FreeBSD/amd64"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:177
msgid "FreeBSD/i386 emulation on FreeBSD/ia64"
msgstr "FreeBSD/i386 эмуляция на FreeBSD/ia64"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:178
msgid "Linux(R)-emulation of Linux(R) operating system on FreeBSD"
msgstr "Эмуляция Linux(R) операционной системы Linux(R) на FreeBSD"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:179
msgid "NDIS-emulation of Windows networking drivers interface"
msgstr "NDIS-эмуляция интерфейса сетевых драйверов Windows"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:180
msgid "NetBSD-emulation of NetBSD operating system"
msgstr "NetBSD-эмуляция операционной системы NetBSD"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:181
msgid "PECoff-support for PECoff FreeBSD executables"
msgstr "Поддержка PECoff для исполняемых файлов FreeBSD в формате PECoff"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:182
msgid "SVR4-emulation of System V revision 4 UNIX(R)"
msgstr "Эмуляция SVR4 System V revision 4 UNIX(R)"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:185
msgid ""
"Actively developed emulations are the Linux(R) layer and various FreeBSD-on-"
@@ -491,7 +492,7 @@ msgstr ""
"FreeBSD-on-FreeBSD. Остальные в настоящее время не должны работать корректно "
"или быть пригодными к использованию."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:195
msgid ""
"FreeBSD is traditional flavor of UNIX(R) in the sense of dividing the run of "
@@ -518,7 +519,7 @@ msgstr ""
msgid "System entries"
msgstr "Системные записи"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:204
msgid ""
"FreeBSD has an abstraction called an execution class loader, which is a "
@@ -535,8 +536,8 @@ msgstr ""
"которая является прослойкой в системном вызове man:execve[2]. Она использует "
"структуру `sysentvec`, описывающую ABI исполняемого файла. Эта структура "
"содержит такие элементы, как таблицу преобразования errno, таблицу "
-"преобразования сигналов, различные функции для обработки системных вызовов "
-"(исправление стека, создание дампов памяти и т.д.). Каждый ABI, который ядро "
+"преобразования сигналов, различные функции для обработки системных вызовов ("
+"исправление стека, создание дампов памяти и т.д.). Каждый ABI, который ядро "
"FreeBSD поддерживает, должен определять эту структуру, так как она "
"используется в дальнейшем в коде обработки системных вызовов и в некоторых "
"других местах. Системные вызовы обрабатываются обработчиками прерываний, где "
@@ -550,7 +551,7 @@ msgstr ""
msgid "Syscalls"
msgstr "Системные вызовы"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:209
msgid ""
"Syscalls on FreeBSD are issued by executing interrupt `0x80` with register "
@@ -560,7 +561,7 @@ msgstr ""
"установленным в регистре `%eax` номером нужного системного вызова и "
"аргументами, переданными через стек."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:215
msgid ""
"When a process issues an interrupt `0x80`, the `int0x80` syscall trap "
@@ -602,7 +603,7 @@ msgstr ""
msgid "Traps"
msgstr "Ловушки (trap)"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:224
msgid ""
"Handling of traps in FreeBSD is similar to the handling of syscalls. "
@@ -629,7 +630,7 @@ msgstr ""
msgid "Exits"
msgstr "Выходы"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:230
msgid ""
"Exits from kernel to userspace happen using the assembler routine `doreti` "
@@ -648,7 +649,7 @@ msgstr ""
msgid "UNIX(R) primitives"
msgstr "Примитивы UNIX(R)"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:238
msgid ""
"FreeBSD operating system adheres to the traditional UNIX(R) scheme, where "
@@ -665,7 +666,7 @@ msgstr ""
"осуществляется с помощью линейного поиска в пространстве PID. Каждый поток в "
"процессе получает тот же номер PID в результате вызова man:getpid[2]."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:249
msgid ""
"There are currently two ways to implement threading in FreeBSD. The first "
@@ -700,7 +701,7 @@ msgstr ""
"обработка этого идентификатора внутренняя для библиотеки и не может быть "
"использована напрямую."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:257
msgid ""
"As stated previously there are two implementations of threading in FreeBSD. "
@@ -734,7 +735,7 @@ msgstr ""
msgid "What is Linux(R)"
msgstr "Что такое Linux(R)"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:263
msgid ""
"Linux(R) is a UNIX(R)-like kernel originally developed by Linus Torvalds, "
@@ -751,7 +752,7 @@ msgstr ""
"разработки, полной поддержкой оборудования и моделью организации по принципу "
"\"доброжелательного диктатора\"."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:267
msgid ""
"Linux(R) development started in 1991 as a hobbyist project at University of "
@@ -767,7 +768,7 @@ msgstr ""
"в общем, всё необходимое. Также присутствуют высокоуровневые функции, такие "
"как виртуализация и т. д."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:270
msgid ""
"As of 2006 Linux(R) seems to be the most widely used open source operating "
@@ -783,7 +784,7 @@ msgstr ""
"доступна только в бинарном виде, поэтому перекомпиляция для других "
"операционных систем невозможна."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:275
msgid ""
"Most of the Linux(R) development happens in a Git version control system. "
@@ -802,12 +803,12 @@ msgstr ""
"обозначает мажорную версию, в которую добавляются или изменяются функции, а "
"D — минорную версию, предназначенную только для исправления ошибок."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:277
msgid "More information can be obtained from [3]."
msgstr "Дополнительную информацию можно получить из [3]."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:286
msgid ""
"Linux(R) follows the traditional UNIX(R) scheme of dividing the run of a "
@@ -822,7 +823,7 @@ msgstr ""
"осуществляется только одним способом. Далее описание относится к Linux(R) "
"2.6 на архитектуре i386(TM). Эта информация взята из [2]."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:296
msgid ""
"Syscalls in Linux(R) are performed (in userspace) using `syscallX` macros "
@@ -849,37 +850,37 @@ msgstr ""
"предполагает передачу параметров системного вызова через регистры, как "
"показано здесь:"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:298
msgid "parameter -> `%ebx`"
msgstr "параметр -> `%ebx`"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:299
msgid "parameter -> `%ecx`"
msgstr "параметр -> `%ecx`"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:300
msgid "parameter -> `%edx`"
msgstr "параметр -> `%edx`"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:301
msgid "parameter -> `%esi`"
msgstr "параметр -> `%esi`"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:302
msgid "parameter -> `%edi`"
msgstr "параметр -> `%edi`"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:303
msgid "parameter -> `%ebp`"
msgstr "параметр -> `%ebp`"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:305
msgid ""
"There are some exceptions to this, where Linux(R) uses different calling "
@@ -888,18 +889,18 @@ msgstr ""
"Существуют некоторые исключения из этого правила, где Linux(R) использует "
"другие соглашения о вызовах (наиболее примечателен системный вызов `clone`)."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:310
msgid ""
"The trap handlers are introduced in [.filename]#arch/i386/kernel/traps.c# "
"and most of these handlers live in [.filename]#arch/i386/kernel/entry.S#, "
"where handling of the traps happens."
msgstr ""
-"Обработчики ловушек представлены в файле [.filename]#arch/i386/kernel/"
-"traps.c#, а большинство этих обработчиков находятся в [.filename]#arch/i386/"
-"kernel/entry.S#, где происходит обработка ловушек."
+"Обработчики ловушек представлены в файле [.filename]#arch/i386/kernel/traps."
+"c#, а большинство этих обработчиков находятся в [.filename]#arch/i386/kernel/"
+"entry.S#, где происходит обработка ловушек."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:316
msgid ""
"Return from the syscall is managed by syscall man:exit[3], which checks for "
@@ -915,13 +916,13 @@ msgstr ""
"восстанавливаются из стека, а процесс возвращается в пользовательское "
"пространство."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:327
msgid ""
"In the 2.6 version, the Linux(R) operating system redefined some of the "
"traditional UNIX(R) primitives, notably PID, TID and thread. PID is defined "
-"not to be unique for every process, so for some processes (threads) "
-"man:getppid[2] returns the same value. Unique identification of process is "
+"not to be unique for every process, so for some processes (threads) man:"
+"getppid[2] returns the same value. Unique identification of process is "
"provided by TID. This is because _NPTL_ (New POSIX(R) Thread Library) "
"defines threads to be normal processes (so called 1:1 threading). Spawning "
"a new process in Linux(R) 2.6 happens using the `clone` syscall (fork "
@@ -935,83 +936,83 @@ msgstr ""
"определяется не как уникальный для каждого процесса, поэтому для некоторых "
"процессов (потоков) man:getppid[2] возвращает одинаковое значение. "
"Уникальная идентификация процесса обеспечивается TID. Это связано с тем, что "
-"_NPTL_ (New POSIX(R) Thread Library) определяет потоки как обычные процессы "
-"(так называемая модель 1:1). Создание нового процесса в Linux(R) 2.6 "
+"_NPTL_ (New POSIX(R) Thread Library) определяет потоки как обычные процессы ("
+"так называемая модель 1:1). Создание нового процесса в Linux(R) 2.6 "
"происходит с использованием системного вызова `clone` (варианты fork "
"перереализованы с его использованием). Этот системный вызов clone определяет "
"набор флагов, которые влияют на поведение процесса клонирования в отношении "
"реализации потоков. Семантика немного размыта, так как нет единого флага, "
"указывающего системному вызову создать поток."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:329
msgid "Implemented clone flags are:"
msgstr "Реализованные флаги клонирования:"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:331
msgid "`CLONE_VM` - processes share their memory space"
msgstr "`CLONE_VM` - процессы разделяют общее адресное пространство"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:332
msgid "`CLONE_FS` - share umask, cwd and namespace"
msgstr ""
"`CLONE_FS` — совместно использовать umask, текущий рабочий каталог и "
"пространство имён"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:333
msgid "`CLONE_FILES` - share open files"
msgstr "`CLONE_FILES` - совместно использовать открытые файлы"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:334
msgid "`CLONE_SIGHAND` - share signal handlers and blocked signals"
msgstr ""
"`CLONE_SIGHAND` - разделять обработчики сигналов и заблокированные сигналы"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:335
msgid "`CLONE_PARENT` - share parent"
msgstr "`CLONE_PARENT` - использовать один процесс к качестве родительского"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:336
msgid "`CLONE_THREAD` - be thread (further explanation below)"
msgstr "`CLONE_THREAD` — быть потоком (дальнейшие пояснения ниже)"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:337
msgid "`CLONE_NEWNS` - new namespace"
msgstr "`CLONE_NEWNS` - новое пространство имен"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:338
msgid "`CLONE_SYSVSEM` - share SysV undo structures"
msgstr "`CLONE_SYSVSEM` - совместное использование структур отмены SysV"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:339
msgid "`CLONE_SETTLS` - setup TLS at supplied address"
msgstr "`CLONE_SETTLS` - настройка TLS по указанному адресу"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:340
msgid "`CLONE_PARENT_SETTID` - set TID in the parent"
msgstr "`CLONE_PARENT_SETTID` - установить TID в родителе"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:341
msgid "`CLONE_CHILD_CLEARTID` - clear TID in the child"
msgstr "`CLONE_CHILD_CLEARTID` - очистить TID в дочернем процессе"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:342
msgid "`CLONE_CHILD_SETTID` - set TID in the child"
msgstr "`CLONE_CHILD_SETTID` - установить TID в дочернем процессе"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:348
msgid ""
"`CLONE_PARENT` sets the real parent to the parent of the caller. This is "
@@ -1033,7 +1034,7 @@ msgstr ""
"флагов `CLONE_*_*TID` устанавливает/сбрасывает предоставленный пользователем "
"адрес в TID или 0."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:352
msgid ""
"As you can see the `CLONE_THREAD` does most of the work and does not seem to "
@@ -1052,7 +1053,7 @@ msgstr ""
"разделение, так как glibc не использует его, и только ручное использование "
"clone позволяет программисту получить доступ к этим возможностям."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:355
msgid ""
"For non-threaded programs the PID and TID are the same. For threaded "
@@ -1067,7 +1068,7 @@ msgstr ""
"родительский процесс общий для всех процессов, образующих эту поточную "
"программу."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:357
msgid ""
"The code that implements man:pthread_create[3] in NPTL defines the clone "
@@ -1271,8 +1272,8 @@ msgstr ""
msgid ""
"The same goes with the UNIX(R) API. Most programs can live with a very "
"limited set of syscalls working. Those syscalls tend to be the oldest ones "
-"(man:read[2]/man:write[2], man:fork[2] family, man:signal[3] handling, "
-"man:exit[3], man:socket[2] API) hence it is easy to emulate because their "
+"(man:read[2]/man:write[2], man:fork[2] family, man:signal[3] handling, man:"
+"exit[3], man:socket[2] API) hence it is easy to emulate because their "
"semantics is shared among all UNIX(R)es, which exist todays."
msgstr ""
"То же самое касается UNIX(R) API. Большинство программ могут работать с "
@@ -1485,10 +1486,10 @@ msgstr ""
"Атомарные операции реализуются через набор функций, выполняющих простые "
"арифметические действия над операндами в памяти атомарным образом по "
"отношению к внешним событиям (прерываниям, вытеснению и т. д.). Атомарные "
-"операции могут гарантировать атомарность только для небольших типов данных "
-"(порядка величины типа `.long` в архитектуре C), поэтому их следует редко "
-"использовать напрямую в конечном коде, разве что для очень простых операций "
-"(например, установки флага в битовой карте). На самом деле довольно просто и "
+"операции могут гарантировать атомарность только для небольших типов данных ("
+"порядка величины типа `.long` в архитектуре C), поэтому их следует редко "
+"использовать напрямую в конечном коде, разве что для очень простых операций ("
+"например, установки флага в битовой карте). На самом деле довольно просто и "
"часто можно допустить семантическую ошибку, полагаясь только на атомарные "
"операции (обычно называемые lock-less). Ядро FreeBSD предоставляет способ "
"выполнения атомарных операций в сочетании с барьерами памяти. Барьеры памяти "
@@ -1519,8 +1520,8 @@ msgid ""
"even something like a spin-mutex is deprecated. Using the refcount "
"interface for structures, where a mutex is already used is often wrong since "
"we should probably close the reference counter in some already protected "
-"paths. A manpage discussing refcount does not exist currently, just check "
-"[.filename]#sys/refcount.h# for an overview of the existing API."
+"paths. A manpage discussing refcount does not exist currently, just check [."
+"filename]#sys/refcount.h# for an overview of the existing API."
msgstr ""
"Счетчики ссылок (refcounts) — это интерфейсы для работы с подсчетом ссылок. "
"Они реализованы с использованием атомарных операций и предназначены для "
@@ -1672,8 +1673,8 @@ msgstr ""
"указанное рядом с типом блокировки), ему запрещено захватывать блокировки "
"более высоких уровней, так как это нарушит заданную семантику пути. "
"Например, если поток удерживает блокирующую блокировку (уровень 2), ему "
-"разрешено захватывать спин-блокировку (уровень 1), но не спящую блокировку "
-"(уровень 3), поскольку блокирующие блокировки предназначены для защиты более "
+"разрешено захватывать спин-блокировку (уровень 1), но не спящую блокировку ("
+"уровень 3), поскольку блокирующие блокировки предназначены для защиты более "
"коротких путей, чем спящие блокировки (однако эти правила не касаются "
"атомарных операций или барьеров планирования)."
@@ -1975,11 +1976,11 @@ msgstr "namei"
msgid ""
"The man:namei[9] routine is a central entry point to pathname lookup and "
"translation. It traverses the path point by point from the starting point "
-"to the end point using lookup function, which is internal to VFS. The "
-"man:namei[9] syscall can cope with symlinks, absolute and relative paths. "
-"When a path is looked up using man:namei[9] it is inputed to the name cache. "
-"This behavior can be suppressed. This routine is used all over the kernel "
-"and its performance is very critical."
+"to the end point using lookup function, which is internal to VFS. The man:"
+"namei[9] syscall can cope with symlinks, absolute and relative paths. When "
+"a path is looked up using man:namei[9] it is inputed to the name cache. This "
+"behavior can be suppressed. This routine is used all over the kernel and "
+"its performance is very critical."
msgstr ""
"Функция man:namei[9] является центральной точкой входа для поиска и "
"преобразования путей. Она проходит по пути шаг за шагом от начальной до "
@@ -2111,7 +2112,7 @@ msgstr "`fhold` - ссылается на обработчик файла"
#: documentation/content/en/articles/linux-emulation/_index.adoc:658
#, no-wrap
msgid "Linux(R) emulation layer -MD part"
-msgstr "Слой эмуляции Linux(R) - машинно-зависимая часть"
+msgstr "Слой эмуляции Linux(R) - машинозависимая часть"
#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:666
@@ -2126,12 +2127,12 @@ msgid ""
"is obsolete and untested."
msgstr ""
"В этом разделе рассматривается реализация слоя эмуляции Linux(R) в "
-"операционной системе FreeBSD. Сначала описывается машинно-зависимая часть, "
+"операционной системе FreeBSD. Сначала описывается машинозависимая часть, "
"рассказывающая о том, как и где реализовано взаимодействие между "
"пользовательским пространством и ядром. Рассматриваются системные вызовы, "
"сигналы, ptrace, ловушки и исправление стека. Эта часть посвящена "
"архитектуре i386, но написана в общем виде, поэтому другие архитектуры не "
-"должны сильно отличаться. Следующая часть — машинно-независимая часть "
+"должны сильно отличаться. Следующая часть — машинонезависимая часть "
"Linuxulator. Этот раздел охватывает только i386 и обработку ELF. A.OUT "
"устарел и не поддерживается."
@@ -2149,11 +2150,11 @@ msgid ""
"a Linux(R) process running on FreeBSD issues a syscall, the general syscall "
"routine calls linux prepsyscall routine for the Linux(R) ABI."
msgstr ""
-"Обработка системных вызовов в основном реализована в файле "
-"[.filename]#linux_sysvec.c#, который покрывает большинство процедур, "
-"указанных в структуре `sysentvec`. Когда процесс Linux(R), выполняющийся на "
-"FreeBSD, делает системный вызов, общая процедура обработки системных вызовов "
-"вызывает linux prepsyscall для ABI Linux(R)."
+"Обработка системных вызовов в основном реализована в файле [."
+"filename]#linux_sysvec.c#, который покрывает большинство процедур, указанных "
+"в структуре `sysentvec`. Когда процесс Linux(R), выполняющийся на FreeBSD, "
+"делает системный вызов, общая процедура обработки системных вызовов вызывает "
+"linux prepsyscall для ABI Linux(R)."
#. type: Title ====
#: documentation/content/en/articles/linux-emulation/_index.adoc:674
@@ -2175,11 +2176,10 @@ msgstr ""
"Linux(R) передает аргументы системных вызовов через регистры (поэтому на "
"i386 ограничено 6 параметрами), тогда как FreeBSD использует стек. "
"Подпрограмма Linux(R) `prepsyscall` должна копировать параметры из регистров "
-"в стек. Порядок регистров следующий: `%ebx`, `%ecx`, `%edx`, `%esi`, "
-"`%edi`, `%ebp`. Однако это верно только для _большинства_ системных "
-"вызовов. Некоторые (особенно `clone`) используют другой порядок, но это, к "
-"счастью, легко исправить, добавив фиктивный параметр в прототип "
-"`linux_clone`."
+"в стек. Порядок регистров следующий: `%ebx`, `%ecx`, `%edx`, `%esi`, `%edi`"
+", `%ebp`. Однако это верно только для _большинства_ системных вызовов. "
+"Некоторые (особенно `clone`) используют другой порядок, но это, к счастью, "
+"легко исправить, добавив фиктивный параметр в прототип `linux_clone`."
#. type: Title ====
#: documentation/content/en/articles/linux-emulation/_index.adoc:683
@@ -2239,14 +2239,14 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:708
msgid ""
-"From [.filename]#syscalls.master# a script generates three files: "
-"[.filename]#linux_syscall.h#, [.filename]#linux_proto.h# and "
-"[.filename]#linux_sysent.c#. The [.filename]#linux_syscall.h# contains "
+"From [.filename]#syscalls.master# a script generates three files: [."
+"filename]#linux_syscall.h#, [.filename]#linux_proto.h# and [."
+"filename]#linux_sysent.c#. The [.filename]#linux_syscall.h# contains "
"definitions of syscall names and their numerical value, e.g.:"
msgstr ""
-"Из файла [.filename]#syscalls.master# скрипт генерирует три файла: "
-"[.filename]#linux_syscall.h#, [.filename]#linux_proto.h# и "
-"[.filename]#linux_sysent.c#. Файл [.filename]#linux_syscall.h# содержит "
+"Из файла [.filename]#syscalls.master# скрипт генерирует три файла: [."
+"filename]#linux_syscall.h#, [.filename]#linux_proto.h# и [."
+"filename]#linux_sysent.c#. Файл [.filename]#linux_syscall.h# содержит "
"определения имен системных вызовов и их числовых значений, например:"
#. type: delimited block . 4
@@ -2304,7 +2304,8 @@ msgid ""
"{ AS(close_args), (sy_call_t *)close, AUE_CLOSE, NULL, 0, 0 }, /* 6 = close */\n"
msgstr ""
"{ 0, (sy_call_t *)linux_fork, AUE_FORK, NULL, 0, 0 }, /* 2 = linux_fork */\n"
-"{ AS(close_args), (sy_call_t *)close, AUE_CLOSE, NULL, 0, 0 }, /* 6 = close */\n"
+"{ AS(close_args), (sy_call_t *)close, AUE_CLOSE, NULL, 0, 0 }, /* 6 = close "
+"*/\n"
#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:737
@@ -2345,8 +2346,8 @@ msgstr ""
"Слой эмуляции Linux(R) не является полным, так как некоторые системные "
"вызовы реализованы неправильно, а некоторые не реализованы вовсе. В слое "
"эмуляции используется механизм для пометки нереализованных системных вызовов "
-"с помощью макроса `DUMMY`. Эти заглушки находятся в файле "
-"[.filename]#linux_dummy.c# в форме `DUMMY(syscall);`, которые затем "
+"с помощью макроса `DUMMY`. Эти заглушки находятся в файле [."
+"filename]#linux_dummy.c# в форме `DUMMY(syscall);`, которые затем "
"преобразуются в различные вспомогательные файлы системных вызовов, а их "
"реализация сводится к выводу сообщения о том, что данный системный вызов не "
"реализован. Прототип `UNIMPL` не используется, потому что мы хотим иметь "
@@ -2470,8 +2471,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:788
msgid ""
-"Linux(R) emulation in FreeBSD implements the man:ptrace[2] facility in "
-"[.filename]#linux_ptrace.c#. The routines for converting registers between "
+"Linux(R) emulation in FreeBSD implements the man:ptrace[2] facility in [."
+"filename]#linux_ptrace.c#. The routines for converting registers between "
"Linux(R) and FreeBSD and the actual man:ptrace[2] syscall emulation "
"syscall. The syscall is a long switch block that implements its counterpart "
"in FreeBSD for every man:ptrace[2] command. The man:ptrace[2] commands are "
@@ -2481,16 +2482,16 @@ msgid ""
"(native) man:ptrace[2] syscall, a copyout must be done to preserve Linux(R) "
"semantics."
msgstr ""
-"Эмуляция Linux(R) в FreeBSD реализует механизм man:ptrace[2] в файле "
-"[.filename]#linux_ptrace.c#. Функции для преобразования регистров между "
+"Эмуляция Linux(R) в FreeBSD реализует механизм man:ptrace[2] в файле [."
+"filename]#linux_ptrace.c#. Функции для преобразования регистров между "
"Linux(R) и FreeBSD и фактический системный вызов эмуляции man:ptrace[2]. "
"Системный вызов представляет собой длинный блок switch, который реализует "
-"свой аналог в FreeBSD для каждой команды man:ptrace[2]. Команды "
-"man:ptrace[2] в основном одинаковы между Linux(R) и FreeBSD, поэтому обычно "
-"требуется лишь небольшая модификация. Например, `PT_GETREGS` в Linux(R) "
-"работает с непосредственными данными, в то время как FreeBSD использует "
-"указатель на данные, поэтому после выполнения (нативного) системного вызова "
-"man:ptrace[2] необходимо выполнить copyout для сохранения семантики Linux(R)."
+"свой аналог в FreeBSD для каждой команды man:ptrace[2]. Команды man:ptrace[2]"
+" в основном одинаковы между Linux(R) и FreeBSD, поэтому обычно требуется "
+"лишь небольшая модификация. Например, `PT_GETREGS` в Linux(R) работает с "
+"непосредственными данными, в то время как FreeBSD использует указатель на "
+"данные, поэтому после выполнения (нативного) системного вызова man:ptrace[2] "
+"необходимо выполнить copyout для сохранения семантики Linux(R)."
#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:792
@@ -2617,24 +2618,24 @@ msgid ""
"especially the 2.6 emulation does not work with it but this does not cause "
"any problem, as the linux-base in ports probably do not support A.OUT "
"binaries at all. This support will probably be removed in future. Most of "
-"the stuff necessary for loading Linux(R) A.OUT binaries is in "
-"[.filename]#imgact_linux.c# file."
-msgstr ""
-"Эмуляционный слой Linux(R) на i386 также поддерживает бинарные файлы "
-"Linux(R) в формате A.OUT. Почти всё, что описано в предыдущих разделах, "
-"должно быть реализовано для поддержки A.OUT (кроме перевода ловушек и "
-"отправки сигналов). Поддержка бинарных файлов A.OUT больше не "
-"поддерживается, в частности, эмуляция 2.6 с ними не работает, но это не "
-"вызывает никаких проблем, так как linux-base в портах, вероятно, вообще не "
-"поддерживает бинарные файлы A.OUT. Эта поддержка, скорее всего, будет "
-"удалена в будущем. Большая часть кода, необходимого для загрузки бинарных "
-"файлов Linux(R) A.OUT, находится в файле [.filename]#imgact_linux.c#."
+"the stuff necessary for loading Linux(R) A.OUT binaries is in [."
+"filename]#imgact_linux.c# file."
+msgstr ""
+"Эмуляционный слой Linux(R) на i386 также поддерживает бинарные файлы Linux(R)"
+" в формате A.OUT. Почти всё, что описано в предыдущих разделах, должно быть "
+"реализовано для поддержки A.OUT (кроме перевода ловушек и отправки сигналов)"
+". Поддержка бинарных файлов A.OUT больше не поддерживается, в частности, "
+"эмуляция 2.6 с ними не работает, но это не вызывает никаких проблем, так как "
+"linux-base в портах, вероятно, вообще не поддерживает бинарные файлы A.OUT. "
+"Эта поддержка, скорее всего, будет удалена в будущем. Большая часть кода, "
+"необходимого для загрузки бинарных файлов Linux(R) A.OUT, находится в файле ["
+".filename]#imgact_linux.c#."
#. type: Title ==
#: documentation/content/en/articles/linux-emulation/_index.adoc:842
#, no-wrap
msgid "Linux(R) emulation layer -MI part"
-msgstr "Слой эмуляции Linux(R) - машино-независимая часть"
+msgstr "Слой эмуляции Linux(R) - машинонезависимая часть"
#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:847
@@ -2644,7 +2645,7 @@ msgid ""
"thread local storage (TLS) implementation (on i386) and futexes. Then we "
"talk briefly about some syscalls."
msgstr ""
-"В этом разделе рассматривается машинно-независимая часть Linuxulator. Он "
+"В этом разделе рассматривается машинонезависимая часть Linuxulator. Он "
"охватывает инфраструктуру эмуляции, необходимую для эмуляции Linux(R) 2.6, "
"реализацию thread local storage (TLS) (на i386) и фьютексы. Затем мы кратко "
"обсуждаем некоторые системные вызовы."
@@ -2738,27 +2739,27 @@ msgstr "Определение эмуляции 2.6 во время выполн
#: documentation/content/en/articles/linux-emulation/_index.adoc:883
msgid ""
"The Linux(R) emulation layer in FreeBSD supports runtime setting of the "
-"emulated version. This is done via man:sysctl[8], namely "
-"`compat.linux.osrelease`. Setting this man:sysctl[8] affects runtime "
-"behavior of the emulation layer. When set to 2.6.x it sets the value of "
-"`linux_use_linux26` while setting to something else keeps it unset. This "
-"variable (plus per-prison variables of the very same kind) determines "
-"whether 2.6 infrastructure (mainly PID mangling) is used in the code or "
-"not. The version setting is done system-wide and this affects all Linux(R) "
+"emulated version. This is done via man:sysctl[8], namely `compat.linux."
+"osrelease`. Setting this man:sysctl[8] affects runtime behavior of the "
+"emulation layer. When set to 2.6.x it sets the value of `linux_use_linux26` "
+"while setting to something else keeps it unset. This variable (plus per-"
+"prison variables of the very same kind) determines whether 2.6 "
+"infrastructure (mainly PID mangling) is used in the code or not. The "
+"version setting is done system-wide and this affects all Linux(R) "
"processes. The man:sysctl[8] should not be changed when running any "
"Linux(R) binary as it might harm things."
msgstr ""
"Слой эмуляции Linux(R) в FreeBSD поддерживает динамическую настройку "
-"эмулируемой версии. Это выполняется с помощью man:sysctl[8], а именно "
-"`compat.linux.osrelease`. Установка этого man:sysctl[8] влияет на поведение "
-"слоя эмуляции во время выполнения. При установке значения 2.6.x "
-"устанавливается переменная `linux_use_linux26`, а при установке другого "
-"значения она остаётся сброшенной. Эта переменная (а также аналогичные "
-"переменные для каждой клетки) определяет, используется ли в коде "
-"инфраструктура 2.6 (в основном, преобразование PID). Настройка версии "
-"применяется глобально для всей системы и влияет на все процессы Linux(R). Не "
-"следует изменять man:sysctl[8] во время выполнения любого бинарного файла "
-"Linux(R), так как это может привести к проблемам."
+"эмулируемой версии. Это выполняется с помощью man:sysctl[8], а именно `compat"
+".linux.osrelease`. Установка этого man:sysctl[8] влияет на поведение слоя "
+"эмуляции во время выполнения. При установке значения 2.6.x устанавливается "
+"переменная `linux_use_linux26`, а при установке другого значения она "
+"остаётся сброшенной. Эта переменная (а также аналогичные переменные для "
+"каждой клетки) определяет, используется ли в коде инфраструктура 2.6 (в "
+"основном, преобразование PID). Настройка версии применяется глобально для "
+"всей системы и влияет на все процессы Linux(R). Не следует изменять "
+"man:sysctl[8] во время выполнения любого бинарного файла Linux(R), так как "
+"это может привести к проблемам."
#. type: Title ====
#: documentation/content/en/articles/linux-emulation/_index.adoc:885
@@ -2776,8 +2777,8 @@ msgid ""
"other words a process. For single-threaded process the PID equals the TGID."
msgstr ""
"Семантика потоков в Linux(R) немного запутанная и использует совершенно "
-"другую терминологию по сравнению с FreeBSD. Процесс в Linux(R) состоит из "
-"`struct task`, включающей два поля идентификаторов — PID и TGID. PID — это "
+"другую терминологию по сравнению с FreeBSD. Процесс в Linux(R) состоит из `"
+"struct task`, включающей два поля идентификаторов — PID и TGID. PID — это "
"_не_ идентификатор процесса, а идентификатор потока. TGID идентифицирует "
"группу потоков, другими словами, процесс. Для однопоточного процесса PID "
"равен TGID."
@@ -2882,8 +2883,8 @@ msgid ""
msgstr ""
"PID используется для идентификации процесса FreeBSD, к которому присоединена "
"эта структура. `child_se_tid` и `child_clear_tid` используются для "
-"копирования адреса TID при завершении и создании процесса. Указатель "
-"`shared` указывает на структуру, разделяемую между потоками. Переменная "
+"копирования адреса TID при завершении и создании процесса. Указатель `shared`"
+" указывает на структуру, разделяемую между потоками. Переменная "
"`pdeath_signal` определяет сигнал завершения родительского процесса, а "
"указатель `threads` используется для связывания этой структуры со списком "
"потоков. Структура `linux_emuldata_shared` выглядит следующим образом:"
@@ -3005,8 +3006,8 @@ msgid ""
"The `clone` syscall is the way threads are created in Linux(R). The syscall "
"prototype looks like this:"
msgstr ""
-"`clone` — это системный вызов, с помощью которого создаются потоки в "
-"Linux(R). Прототип системного вызова выглядит следующим образом:"
+"`clone` — это системный вызов, с помощью которого создаются потоки в Linux(R)"
+". Прототип системного вызова выглядит следующим образом:"
#. type: delimited block . 4
#: documentation/content/en/articles/linux-emulation/_index.adoc:977
@@ -3072,10 +3073,10 @@ msgid ""
"the functionality later in the code. At this point we copy out the PID to "
"the address specified by `parent_tidptr`. The setting of process stack is "
"done by simply rewriting thread frame `%esp` register (`%rsp` on amd64). "
-"Next part is setting up TLS for the newly created process. After this "
-"man:vfork[2] semantics might be emulated and finally the newly created "
-"process is put on a run queue and copying out its PID to the parent process "
-"via `clone` return value is done."
+"Next part is setting up TLS for the newly created process. After this man:"
+"vfork[2] semantics might be emulated and finally the newly created process "
+"is put on a run queue and copying out its PID to the parent process via "
+"`clone` return value is done."
msgstr ""
"Системный вызов продолжает выполнение, устанавливая соответствующие флаги в "
"зависимости от переданных аргументов. Например, `CLONE_VM` преобразуется в "
@@ -3103,9 +3104,9 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:1004
msgid ""
-"The `clone` syscall is able and in fact is used for emulating classic "
-"man:fork[2] and man:vfork[2] syscalls. Newer glibc in a case of 2.6 kernel "
-"uses `clone` to implement man:fork[2] and man:vfork[2] syscalls."
+"The `clone` syscall is able and in fact is used for emulating classic man:"
+"fork[2] and man:vfork[2] syscalls. Newer glibc in a case of 2.6 kernel uses "
+"`clone` to implement man:fork[2] and man:vfork[2] syscalls."
msgstr ""
"Системный вызов `clone` способен и фактически используется для эмуляции "
"классических системных вызовов man:fork[2] и man:vfork[2]. Более новые "
@@ -3131,9 +3132,9 @@ msgid ""
msgstr ""
"Блокировка реализована на уровне подсистем, поскольку не ожидается высокой "
"конкуренции за эти ресурсы. Существует две блокировки: `emul_lock`, "
-"используемая для защиты манипуляций с `linux_emuldata`, и "
-"`emul_shared_lock`, используемая для манипуляций с `linux_emuldata_shared`. "
-"`emul_lock` представляет собой неспящий блокирующий мьютекс, в то время как "
+"используемая для защиты манипуляций с `linux_emuldata`, и `emul_shared_lock`"
+", используемая для манипуляций с `linux_emuldata_shared`. `emul_lock` "
+"представляет собой неспящий блокирующий мьютекс, в то время как "
"`emul_shared_lock` — это спящий блокирующий `sx_lock`. Благодаря блокировке "
"на уровне подсистем мы можем объединять некоторые блокировки, поэтому "
"em_find предлагает доступ без блокировки."
@@ -3165,30 +3166,30 @@ msgid ""
"their own data. Sometimes there is a need for process-wide data specific to "
"a given thread. Imagine a name of the thread in execution or something like "
"that. The traditional UNIX(R) threading API, pthreads provides a way to do "
-"it via man:pthread_key_create[3], man:pthread_setspecific[3] and "
-"man:pthread_getspecific[3] where a thread can create a key to the thread "
-"local data and using man:pthread_getspecific[3] or "
-"man:pthread_getspecific[3] to manipulate those data. You can easily see "
-"that this is not the most comfortable way this could be accomplished. So "
-"various producers of C/C++ compilers introduced a better way. They defined "
-"a new modifier keyword thread that specifies that a variable is thread "
-"specific. A new method of accessing such variables was developed as well "
-"(at least on i386). The pthreads method tends to be implemented in "
-"userspace as a trivial lookup table. The performance of such a solution is "
-"not very good. So the new method uses (on i386) segment registers to "
-"address a segment, where TLS area is stored so the actual accessing of a "
-"thread variable is just appending the segment register to the address thus "
-"addressing via it. The segment registers are usually `%gs` and `%fs` acting "
-"like segment selectors. Every thread has its own area where the thread "
-"local data are stored and the segment must be loaded on every context "
-"switch. This method is very fast and used almost exclusively in the whole "
-"i386 UNIX(R) world. Both FreeBSD and Linux(R) implement this approach and "
-"it yields very good results. The only drawback is the need to reload the "
-"segment on every context switch which can slowdown context switches. "
-"FreeBSD tries to avoid this overhead by using only 1 segment descriptor for "
-"this while Linux(R) uses 3. Interesting thing is that almost nothing uses "
-"more than 1 descriptor (only Wine seems to use 2) so Linux(R) pays this "
-"unnecessary price for context switches."
+"it via man:pthread_key_create[3], man:pthread_setspecific[3] and man:"
+"pthread_getspecific[3] where a thread can create a key to the thread local "
+"data and using man:pthread_getspecific[3] or man:pthread_getspecific[3] to "
+"manipulate those data. You can easily see that this is not the most "
+"comfortable way this could be accomplished. So various producers of C/C++ "
+"compilers introduced a better way. They defined a new modifier keyword "
+"thread that specifies that a variable is thread specific. A new method of "
+"accessing such variables was developed as well (at least on i386). The "
+"pthreads method tends to be implemented in userspace as a trivial lookup "
+"table. The performance of such a solution is not very good. So the new "
+"method uses (on i386) segment registers to address a segment, where TLS area "
+"is stored so the actual accessing of a thread variable is just appending the "
+"segment register to the address thus addressing via it. The segment "
+"registers are usually `%gs` and `%fs` acting like segment selectors. Every "
+"thread has its own area where the thread local data are stored and the "
+"segment must be loaded on every context switch. This method is very fast "
+"and used almost exclusively in the whole i386 UNIX(R) world. Both FreeBSD "
+"and Linux(R) implement this approach and it yields very good results. The "
+"only drawback is the need to reload the segment on every context switch "
+"which can slowdown context switches. FreeBSD tries to avoid this overhead "
+"by using only 1 segment descriptor for this while Linux(R) uses 3. "
+"Interesting thing is that almost nothing uses more than 1 descriptor (only "
+"Wine seems to use 2) so Linux(R) pays this unnecessary price for context "
+"switches."
msgstr ""
"В компьютерных науках потоки (threads) — это сущности внутри процесса, "
"которые могут планироваться независимо друг от друга. Потоки в процессе "
@@ -3220,8 +3221,8 @@ msgstr ""
"необходимость перезагружать сегмент при каждом переключении контекста, что "
"может замедлять переключения. FreeBSD пытается минимизировать эти накладные "
"расходы, используя только 1 дескриптор сегмента, в то время как Linux® "
-"использует 3. Интересно, что почти ничто не использует больше 1 дескриптора "
-"(только Wine, кажется, использует 2), поэтому Linux® платит эту "
+"использует 3. Интересно, что почти ничто не использует больше 1 дескриптора ("
+"только Wine, кажется, использует 2), поэтому Linux® платит эту "
"необязательную цену при переключении контекстов."
#. type: Title ====
@@ -3243,9 +3244,9 @@ msgstr ""
"Архитектура i386 реализует так называемые сегменты. Сегмент — это описание "
"области памяти. Он включает базовый адрес (начало) области памяти, её конец "
"(границу), тип, защиту и т.д. Доступ к памяти, описываемой сегментом, может "
-"осуществляться с использованием регистров селекторов сегментов (`%cs`, "
-"`%ds`, `%ss`, `%es`, `%fs`, `%gs`). Например, предположим, что у нас есть "
-"сегмент с базовым адресом 0x1234 и длиной, а также следующий код:"
+"осуществляться с использованием регистров селекторов сегментов (`%cs`, `%ds`"
+", `%ss`, `%es`, `%fs`, `%gs`). Например, предположим, что у нас есть сегмент "
+"с базовым адресом 0x1234 и длиной, а также следующий код:"
#. type: delimited block . 4
#: documentation/content/en/articles/linux-emulation/_index.adoc:1053
@@ -3293,8 +3294,8 @@ msgid ""
"entry. We exploit this in the emulation and in fact depend on it."
msgstr ""
"Существует два основных способа настройки TLS в Linux(R). Он может быть "
-"настроен при клонировании процесса с использованием системного вызова "
-"`clone` или с помощью вызова `set_thread_area`. Когда процесс передает флаг "
+"настроен при клонировании процесса с использованием системного вызова `clone`"
+" или с помощью вызова `set_thread_area`. Когда процесс передает флаг "
"`CLONE_SETTLS` в `clone`, ядро ожидает, что память, на которую указывает "
"регистр `%esi`, будет содержать пользовательское представление сегмента в "
"Linux(R), которое преобразуется в машинное представление сегмента и "
@@ -3360,16 +3361,16 @@ msgstr ""
"пользовательском пространстве использует номер из дескриптора, но это "
"работает в большинстве случаев (никогда не встречалось ситуации, когда это "
"не срабатывало), так как процесс в пользовательском пространстве обычно "
-"передает 1. Затем мы преобразуем дескриптор из формата Linux(R) в машинно-"
-"зависимую форму (т.е. независимую от операционной системы) и копируем его в "
-"дескриптор сегмента, определенный FreeBSD. Наконец, мы можем загрузить его. "
-"Мы назначаем дескриптор PCB потока (блок управления процессом) и загружаем "
-"сегмент `%gs` с помощью `load_gs`. Эта загрузка должна выполняться в "
-"критической секции, чтобы ничто не могло нас прервать. Случай `CLONE_SETTLS` "
-"работает точно так же, только загрузка с помощью `load_gs` не выполняется. "
-"Сегмент, используемый для этого (сегмент номер 3), разделяется между "
-"процессами FreeBSD и Linux(R), поэтому слой эмуляции Linux(R) не добавляет "
-"накладных расходов по сравнению с обычным FreeBSD."
+"передает 1. Затем мы преобразуем дескриптор из формата Linux(R) в "
+"машинозависимую форму (т.е. независимую от операционной системы) и копируем "
+"его в дескриптор сегмента, определенный FreeBSD. Наконец, мы можем загрузить "
+"его. Мы назначаем дескриптор PCB потока (блок управления процессом) и "
+"загружаем сегмент `%gs` с помощью `load_gs`. Эта загрузка должна выполняться "
+"в критической секции, чтобы ничто не могло нас прервать. Случай "
+"`CLONE_SETTLS` работает точно так же, только загрузка с помощью `load_gs` не "
+"выполняется. Сегмент, используемый для этого (сегмент номер 3), разделяется "
+"между процессами FreeBSD и Linux(R), поэтому слой эмуляции Linux(R) не "
+"добавляет накладных расходов по сравнению с обычным FreeBSD."
#. type: Title =====
#: documentation/content/en/articles/linux-emulation/_index.adoc:1097
@@ -3391,8 +3392,8 @@ msgstr ""
"Реализация amd64 аналогична реализации i386, но изначально не использовался "
"32-битный дескриптор сегмента для этой цели (поэтому даже нативные "
"пользователи 32-битного TLS не работали), поэтому нам пришлось добавить "
-"такой сегмент и реализовать его загрузку при каждом переключении контекста "
-"(когда установлен флаг, сигнализирующий о использовании 32-битного режима). "
+"такой сегмент и реализовать его загрузку при каждом переключении контекста ("
+"когда установлен флаг, сигнализирующий о использовании 32-битного режима). "
"Кроме этого, загрузка TLS точно такая же, только номера сегментов "
"отличаются, а формат дескриптора и загрузка немного различаются."
@@ -3537,7 +3538,9 @@ msgstr "Системный вызов futex выглядит следующим
#: documentation/content/en/articles/linux-emulation/_index.adoc:1150
#, no-wrap
msgid "int futex(void *uaddr, int op, int val, struct timespec *timeout, void *uaddr2, int val3);\n"
-msgstr "int futex(void *uaddr, int op, int val, struct timespec *timeout, void *uaddr2, int val3);\n"
+msgstr ""
+"int futex(void *uaddr, int op, int val, struct timespec *timeout, void *"
+"uaddr2, int val3);\n"
#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:1153
@@ -3869,9 +3872,9 @@ msgid ""
"futex. This cooperates with `futex_sleep`."
msgstr ""
"Пробуждение потока, ожидающего на фьютексе, выполняется в функции "
-"`futex_wake`. Сначала в этой функции мы имитируем странное поведение "
-"Linux(R), где пробуждаются N потоков для всех операций, за исключением того, "
-"что операции REQUEUE выполняются на N+1 потоках. Однако обычно это не имеет "
+"`futex_wake`. Сначала в этой функции мы имитируем странное поведение Linux(R)"
+", где пробуждаются N потоков для всех операций, за исключением того, что "
+"операции REQUEUE выполняются на N+1 потоках. Однако обычно это не имеет "
"значения, так как мы пробуждаем все потоки. Далее в функции в цикле мы "
"пробуждаем n потоков, после чего проверяем, есть ли новый фьютекс для "
"перестановки. Если есть, мы переставляем до n2 потоков на новый futex. Это "
@@ -3889,8 +3892,8 @@ msgid ""
"The `FUTEX_WAKE_OP` operation is quite complicated. First we obtain two "
"futexes at addresses `uaddr` and `uaddr2` then we perform the atomic "
"operation using `val3` and `uaddr2`. Then `val` waiters on the first futex "
-"is woken up and if the atomic operation condition holds we wake up `val2` "
-"(i.e. `timeout`) waiter on the second futex."
+"is woken up and if the atomic operation condition holds we wake up `val2` (i."
+"e. `timeout`) waiter on the second futex."
msgstr ""
"Операция `FUTEX_WAKE_OP` довольно сложна. Сначала мы получаем два фьютекса "
"по адресам `uaddr` и `uaddr2`, затем выполняем атомарную операцию с "
@@ -4022,7 +4025,8 @@ msgstr ""
"openat(123, /tmp/bah\\, flags, mode)\t/* opens /tmp/bah */\n"
"openat(123, bah\\, flags, mode)\t\t/* opens /tmp/foo/bah */\n"
"openat(AT_FDWCWD, bah\\, flags, mode)\t/* opens /tmp/bah */\n"
-"openat(stdio, bah\\, flags, mode)\t/* returns error because stdio is not a directory */\n"
+"openat(stdio, bah\\, flags, mode)\t/* returns error because stdio is not a "
+"directory */\n"
#. type: Plain text
#: documentation/content/en/articles/linux-emulation/_index.adoc:1331
@@ -4166,8 +4170,8 @@ msgstr ""
"обработчика. Существуют небольшие проблемы с этим подходом, поскольку "
"Linux(R) не всегда последовательно использует разделение на наборы, поэтому "
"иногда ioctls для другого набора оказываются внутри набора, к которому они "
-"не должны принадлежать (например, SCSI generic ioctls внутри набора cdrom и "
-"т.д.). В настоящее время FreeBSD реализует не так много ioctls Linux(R) (по "
+"не должны принадлежать (например, SCSI generic ioctls внутри набора cdrom и т"
+".д.). В настоящее время FreeBSD реализует не так много ioctls Linux(R) (по "
"сравнению с NetBSD, например), но планируется перенести их из NetBSD. "
"Тенденция такова, что ioctls Linux(R) используются даже в родных драйверах "
"FreeBSD для упрощения портирования приложений."
diff --git a/documentation/content/ru/articles/linux-users/_index.adoc b/documentation/content/ru/articles/linux-users/_index.adoc
index 26b7765144..46c2b04b67 100644
--- a/documentation/content/ru/articles/linux-users/_index.adoc
+++ b/documentation/content/ru/articles/linux-users/_index.adoc
@@ -43,8 +43,7 @@ endif::[]
[.abstract-title]
Аннотация
-Этот документ предназначен для быстрого ознакомления с основами FreeBSD
-пользователей Linux(R) среднего и продвинутого уровня.
+Этот документ предназначен для быстрого ознакомления с основами FreeBSD пользователей Linux(R) среднего и продвинутого уровня.
'''
@@ -53,44 +52,23 @@ toc::[]
[[intro]]
== Введение
-В этом документе освещаются некоторые технические различия между FreeBSD и
-Linux(R), чтобы пользователи Linux(R) среднего и продвинутого уровней могли
-быстро ознакомиться с основами FreeBSD.
+В этом документе освещаются некоторые технические различия между FreeBSD и Linux(R), чтобы пользователи Linux(R) среднего и продвинутого уровней могли быстро ознакомиться с основами FreeBSD.
-Этот документ предполагает, что FreeBSD уже установлена. Для получения
-помощи по процессу установки обратитесь к главе extref:{handbook}[Установка
-FreeBSD, bsdinstall] Руководства FreeBSD.
+Этот документ предполагает, что FreeBSD уже установлена. Для получения помощи по процессу установки обратитесь к главе extref:{handbook}[Установка FreeBSD, bsdinstall] Руководства FreeBSD.
[[shells]]
== Стандартная оболочка
-Пользователи Linux(R) часто удивляются, обнаружив, что Bash не является
-оболочкой по умолчанию в FreeBSD. На самом деле, Bash не включён в
-стандартную установку. Вместо этого используется совместимая с Bourne shell
-оболочка man:sh[1] в качестве оболочки пользователя по умолчанию. Оболочка
-root — это man:tcsh[1] по умолчанию в FreeBSD 13 и более ранних версиях и
-man:sh[1] в FreeBSD 14 и позднее. Оболочка man:sh[1] очень похожа на Bash,
-но имеет гораздо меньший набор возможностей. Как правило, скрипты,
-написанные для man:sh[1], будут работать в Bash, но обратное не всегда
-верно.
-
-Однако Bash и другие оболочки доступны для установки через
-extref:{handbook}[Коллекцию портов и пакетов FreeBSD, ports].
-
-После установки другой оболочки используйте man:chsh[1], чтобы изменить
-оболочку пользователя по умолчанию. Рекомендуется оставить оболочку
-пользователя `root` без изменений, поскольку оболочки, не входящие в базовую
-поставку, устанавливаются в [.filename]#/usr/local/bin#. В случае
-возникновения проблемы файловая система, в которой находится
-[.filename]#/usr/local/bin#, может быть не смонтирована. В такой ситуации у
-`root` не будет доступа к своей оболочке по умолчанию, что помешает ему
-войти в систему и устранить проблему.
+Пользователи Linux(R) часто удивляются, обнаружив, что Bash не является оболочкой по умолчанию в FreeBSD. На самом деле, Bash не включён в стандартную установку. Вместо этого используется совместимая с Bourne shell оболочка man:sh[1] в качестве оболочки пользователя по умолчанию. Оболочка root — это man:tcsh[1] по умолчанию в FreeBSD 13 и более ранних версиях и man:sh[1] в FreeBSD 14 и позднее. Оболочка man:sh[1] очень похожа на Bash, но имеет гораздо меньший набор возможностей. Как правило, скрипты, написанные для man:sh[1], будут работать в Bash, но обратное не всегда верно.
+
+Однако Bash и другие оболочки доступны для установки через extref:{handbook}[Коллекцию портов и пакетов FreeBSD, ports].
+
+После установки другой оболочки используйте man:chsh[1], чтобы изменить оболочку пользователя по умолчанию. Рекомендуется оставить оболочку пользователя `root` без изменений, поскольку оболочки, не входящие в базовую поставку, устанавливаются в [.filename]#/usr/local/bin#. В случае возникновения проблемы файловая система, в которой находится [.filename]#/usr/local/bin#, может быть не смонтирована. В такой ситуации у `root` не будет доступа к своей оболочке по умолчанию, что помешает ему войти в систему и устранить проблему.
[[software]]
== Пакеты и порты: установка программ в FreeBSD
-FreeBSD предоставляет два метода установки приложений: бинарные пакеты и
-скомпилированные порты. Каждый метод имеет свои преимущества:
+FreeBSD предоставляет два метода установки приложений: бинарные пакеты и скомпилированные порты. Каждый метод имеет свои преимущества:
.Бинарные пакеты
* Быстрая установка по сравнению с компиляцией крупных приложений.
@@ -101,49 +79,30 @@ FreeBSD предоставляет два метода установки при
* Возможность настройки параметров установки.
* Могут быть применены пользовательские патчи.
-Если установка приложения не требует дополнительной собственной настройки,
-достаточно установить пакет. Собирайте порт, если приложению требуется
-изменение параметров, заданных в пакетах по умолчанию. При необходимости
-собственный пакет можно собрать из портов с помощью `make package`.
+Если установка приложения не требует дополнительной собственной настройки, достаточно установить пакет. Собирайте порт, если приложению требуется изменение параметров, заданных в пакетах по умолчанию. При необходимости собственный пакет можно собрать из портов с помощью `make package`.
-Полный список всех доступных портов и пакетов можно найти
-https://ports.freebsd.org[здесь].
+Полный список всех доступных портов и пакетов можно найти https://ports.freebsd.org[здесь].
[[packages]]
=== Пакеты
-Пакеты — это предварительно скомпилированные приложения, эквиваленты файлов
-[.filename]#.deb# в системах на основе Debian/Ubuntu и файлов
-[.filename]#.rpm# в системах на основе Red Hat/Fedora. Пакеты
-устанавливаются с помощью `pkg`. Например, следующая команда устанавливает
-Apache 2.4:
+Пакеты — это предварительно скомпилированные приложения, эквиваленты файлов [.filename]#.deb# в системах на основе Debian/Ubuntu и файлов [.filename]#.rpm# в системах на основе Red Hat/Fedora. Пакеты устанавливаются с помощью `pkg`. Например, следующая команда устанавливает Apache 2.4:
[source, shell]
....
# pkg install apache24
....
-Для получения дополнительной информации о пакетах обратитесь к разделу 4.4
-Руководства FreeBSD: extref:{handbook}ports/[Использование pkg для
-управления бинарными пакетами, pkgng-intro].
+Для получения дополнительной информации о пакетах обратитесь к разделу 4.4 Руководства FreeBSD: extref:{handbook}ports/[Использование pkg для управления бинарными пакетами, pkgng-intro].
[[ports]]
=== Порты
-Коллекция портов FreeBSD — это набор [.filename]#Makefile# и патчей,
-специально адаптированных для установки приложений из исходного кода в
-FreeBSD. При установке порта система загрузит исходный код, применит
-необходимые патчи, скомпилирует код и установит приложение вместе с
-требуемыми зависимостями.
+Коллекция портов FreeBSD — это набор [.filename]#Makefile# и патчей, специально адаптированных для установки приложений из исходного кода в FreeBSD. При установке порта система загрузит исходный код, применит необходимые патчи, скомпилирует код и установит приложение вместе с требуемыми зависимостями.
-Коллекция портов, иногда называемая деревом портов, может быть установлена в
-[.filename]#/usr/ports# с помощью
-link:{handbook}mirrors/#git[Git]. Подробные инструкции по установке
-Коллекции портов можно найти в extref:{handbook}ports/[разделе 4.5.1,
-ports-using-installation-methods] Руководства FreeBSD.
+Коллекция портов, иногда называемая деревом портов, может быть установлена в [.filename]#/usr/ports# с помощью link:{handbook}mirrors/#git[Git]. Подробные инструкции по установке Коллекции портов можно найти в extref:{handbook}ports/[разделе 4.5.1, ports-using-installation-methods] Руководства FreeBSD.
-Для сборки порта перейдите в его каталог и запустите процесс сборки. В
-следующем примере устанавливается Apache 2.4 из коллекции портов:
+Для сборки порта перейдите в его каталог и запустите процесс сборки. В следующем примере устанавливается Apache 2.4 из коллекции портов:
[source, shell]
....
@@ -151,9 +110,7 @@ ports-using-installation-methods] Руководства FreeBSD.
# make install clean
....
-Преимущество использования портов для установки программного обеспечения
-заключается в возможности настройки параметров установки. В этом примере
-указано, что также должен быть установлен модуль mod_ldap:
+Преимущество использования портов для установки программного обеспечения заключается в возможности настройки параметров установки. В этом примере указано, что также должен быть установлен модуль mod_ldap:
[source, shell]
....
@@ -161,48 +118,20 @@ ports-using-installation-methods] Руководства FreeBSD.
# make WITH_LDAP="YES" install clean
....
-Обратитесь к extref:{handbook}ports/[Использование коллекции портов,
-ports-using] для получения дополнительной информации.
+Обратитесь к extref:{handbook}ports/[Использование коллекции портов, ports-using] для получения дополнительной информации.
[[startup]]
== Загрузка системы
-Многие дистрибутивы Linux(R) используют систему инициализации SysV, тогда
-как FreeBSD использует традиционный BSD-стиль man:init[8]. В BSD-стиле
-man:init[8] нет уровней запуска (run-levels), и файл
-[.filename]#/etc/inittab# отсутствует. Вместо этого запуск системы
-управляется сценариями man:rc[8]. При загрузке системы [.filename]#/etc/rc#
-читает [.filename]#/etc/rc.conf# и [.filename]#/etc/defaults/rc.conf#, чтобы
-определить, какие службы должны быть запущены. Указанные службы затем
-запускаются путем выполнения соответствующих сценариев инициализации,
-расположенных в [.filename]#/etc/rc.d/# и
-[.filename]#/usr/local/etc/rc.d/#. Эти сценарии аналогичны сценариям,
-расположенным в [.filename]#/etc/init.d/# в системах Linux(R).
-
-Скрипты, расположенные в [.filename]#/etc/rc.d/#, предназначены для
-приложений, входящих в "базовую" систему, таких как man:cron[8], man:sshd[8]
-и man:syslog[3]. Скрипты в [.filename]#/usr/local/etc/rc.d/# предназначены
-для пользовательских приложений, таких как Apache и Squid.
-
-Поскольку FreeBSD разрабатывается как полноценная операционная система,
-пользовательские приложения не считаются частью «базовой»
-системы. Пользовательские приложения обычно устанавливаются с помощью
-extref:{handbook}ports/[Пакетов или Портов, ports-using]. Чтобы отделить их
-от базовой системы, пользовательские приложения устанавливаются в
-[.filename]#/usr/local/#. Таким образом, исполняемые файлы пользовательских
-приложений находятся в [.filename]#/usr/local/bin/#, конфигурационные файлы
-— в [.filename]#/usr/local/etc/# и так далее.
-
-Сервисы включаются путем добавления соответствующей записи в файл
-[.filename]#/etc/rc.conf#. Системные параметры по умолчанию находятся в
-файле [.filename]#/etc/defaults/rc.conf#, а настройки по умолчанию
-переопределяются параметрами из файла [.filename]#/etc/rc.conf#. Подробнее о
-доступных параметрах можно узнать в man:rc.conf[5]. При установке
-дополнительных приложений ознакомьтесь с сообщением установки, чтобы
-определить, как включить связанные сервисы.
-
-Следующие записи в [.filename]#/etc/rc.conf# включают man:sshd[8],
-активируют Apache 2.4 и указывают, что Apache должен запускаться с SSL.
+Многие дистрибутивы Linux(R) используют систему инициализации SysV, тогда как FreeBSD использует традиционный BSD-стиль man:init[8]. В BSD-стиле man:init[8] нет уровней запуска (run-levels), и файл [.filename]#/etc/inittab# отсутствует. Вместо этого запуск системы управляется сценариями man:rc[8]. При загрузке системы [.filename]#/etc/rc# читает [.filename]#/etc/rc.conf# и [.filename]#/etc/defaults/rc.conf#, чтобы определить, какие службы должны быть запущены. Указанные службы затем запускаются путем выполнения соответствующих сценариев инициализации, расположенных в [.filename]#/etc/rc.d/# и [.filename]#/usr/local/etc/rc.d/#. Эти сценарии аналогичны сценариям, расположенным в [.filename]#/etc/init.d/# в системах Linux(R).
+
+Скрипты, расположенные в [.filename]#/etc/rc.d/#, предназначены для приложений, входящих в "базовую" систему, таких как man:cron[8], man:sshd[8] и man:syslog[3]. Скрипты в [.filename]#/usr/local/etc/rc.d/# предназначены для пользовательских приложений, таких как Apache и Squid.
+
+Поскольку FreeBSD разрабатывается как полноценная операционная система, пользовательские приложения не считаются частью «базовой» системы. Пользовательские приложения обычно устанавливаются с помощью extref:{handbook}ports/[Пакетов или Портов, ports-using]. Чтобы отделить их от базовой системы, пользовательские приложения устанавливаются в [.filename]#/usr/local/#. Таким образом, исполняемые файлы пользовательских приложений находятся в [.filename]#/usr/local/bin/#, конфигурационные файлы — в [.filename]#/usr/local/etc/# и так далее.
+
+Сервисы включаются путем добавления соответствующей записи в файл [.filename]#/etc/rc.conf#. Системные параметры по умолчанию находятся в файле [.filename]#/etc/defaults/rc.conf#, а настройки по умолчанию переопределяются параметрами из файла [.filename]#/etc/rc.conf#. Подробнее о доступных параметрах можно узнать в man:rc.conf[5]. При установке дополнительных приложений ознакомьтесь с сообщением установки, чтобы определить, как включить связанные сервисы.
+
+Следующие записи в [.filename]#/etc/rc.conf# включают man:sshd[8], активируют Apache 2.4 и указывают, что Apache должен запускаться с SSL.
[.programlisting]
....
@@ -213,8 +142,7 @@ apache24_enable="YES"
apache24_flags="-DSSL"
....
-После включения службы в [.filename]#/etc/rc.conf# её можно запустить без
-перезагрузки системы:
+После включения службы в [.filename]#/etc/rc.conf# её можно запустить без перезагрузки системы:
[source, shell]
....
@@ -222,8 +150,7 @@ apache24_flags="-DSSL"
# service apache24 start
....
-Если служба не была включена, её можно запустить из командной строки с
-помощью `onestart`:
+Если служба не была включена, её можно запустить из командной строки с помощью `onestart`:
[source, shell]
....
@@ -233,10 +160,7 @@ apache24_flags="-DSSL"
[[network]]
== Настройка сети
-Вместо общего идентификатора _ethX_, который используется в Linux(R) для
-обозначения сетевого интерфейса, FreeBSD использует имя драйвера с
-последующим числом. Следующий вывод из man:ifconfig[8] показывает два
-сетевых интерфейса Intel(R) Pro 1000 ([.filename]#em0# и [.filename]#em1#):
+Вместо общего идентификатора _ethX_, который используется в Linux(R) для обозначения сетевого интерфейса, FreeBSD использует имя драйвера с последующим числом. Следующий вывод из man:ifconfig[8] показывает два сетевых интерфейса Intel(R) Pro 1000 ([.filename]#em0# и [.filename]#em1#):
[source, shell]
....
@@ -255,10 +179,7 @@ em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
status: active
....
-IP-адрес может быть назначен интерфейсу с помощью man:ifconfig[8]. Чтобы
-настройки сохранялись после перезагрузки, конфигурация IP должна быть
-указана в [.filename]#/etc/rc.conf#. Следующие записи в
-[.filename]#/etc/rc.conf# задают имя хоста, IP-адрес и шлюз по умолчанию:
+IP-адрес может быть назначен интерфейсу с помощью man:ifconfig[8]. Чтобы настройки сохранялись после перезагрузки, конфигурация IP должна быть указана в [.filename]#/etc/rc.conf#. Следующие записи в [.filename]#/etc/rc.conf# задают имя хоста, IP-адрес и шлюз по умолчанию:
[.programlisting]
....
@@ -278,17 +199,13 @@ ifconfig_em0="DHCP"
[[firewall]]
== Firewall
-FreeBSD не использует Linux(R) IPTABLES для своего межсетевого
-экрана. Вместо этого FreeBSD предлагает выбор из трёх межсетевых экранов на
-уровне ядра:
+FreeBSD не использует Linux(R) IPTABLES для своего межсетевого экрана. Вместо этого FreeBSD предлагает выбор из трёх межсетевых экранов на уровне ядра:
* extref:{handbook}[PF, firewalls-pf]
* extref:{handbook}[IPFILTER, firewalls-ipf]
* extref:{handbook}[IPFW, firewalls-ipfw]
-PF разработан проектом OpenBSD и портирован в FreeBSD. PF был создан как
-замена для IPFILTER, и его синтаксис схож с синтаксисом IPFILTER. PF может
-использоваться совместно с man:altq[4] для обеспечения функций QoS.
+PF разработан проектом OpenBSD и портирован в FreeBSD. PF был создан как замена для IPFILTER, и его синтаксис схож с синтаксисом IPFILTER. PF может использоваться совместно с man:altq[4] для обеспечения функций QoS.
Этот пример записи PF разрешает входящий SSH:
@@ -297,10 +214,7 @@ PF разработан проектом OpenBSD и портирован в Free
pass in on $ext_if inet proto tcp from any to ($ext_if) port 22
....
-IPFILTER — это приложение для межсетевого экрана, разработанное Дарреном
-Ридом. Оно не является специфичным для FreeBSD и было портировано на
-несколько операционных систем, включая NetBSD, OpenBSD, SunOS, HP/UX и
-Solaris.
+IPFILTER — это приложение для межсетевого экрана, разработанное Дарреном Ридом. Оно не является специфичным для FreeBSD и было портировано на несколько операционных систем, включая NetBSD, OpenBSD, SunOS, HP/UX и Solaris.
Синтаксис IPFILTER для разрешения входящего SSH:
@@ -309,10 +223,7 @@ Solaris.
pass in on $ext_if proto tcp from any to any port = 22
....
-IPFW — это межсетевой экран, разработанный и поддерживаемый FreeBSD. Он
-может быть использован совместно с man:dummynet[4] для обеспечения
-возможностей управления трафиком и имитации различных типов сетевых
-соединений.
+IPFW — это межсетевой экран, разработанный и поддерживаемый FreeBSD. Он может быть использован совместно с man:dummynet[4] для обеспечения возможностей управления трафиком и имитации различных типов сетевых соединений.
Синтаксис IPFW для разрешения входящего SSH будет следующим:
@@ -324,25 +235,15 @@ ipfw add allow tcp from any to me 22 in via $ext_if
[[updates]]
== Обновление FreeBSD
-Существует два метода обновления системы FreeBSD: из исходного кода или
-бинарные обновления.
+Существует два метода обновления системы FreeBSD: из исходного кода или бинарные обновления.
-Обновление из исходного кода — это наиболее сложный метод обновления, но он
-предоставляет наибольшую гибкость. Процесс включает синхронизацию локальной
-копии исходного кода FreeBSD с репозиторием FreeBSD Git. После того как
-локальный исходный код обновлён, можно скомпилировать новую версию ядра и
-пользовательского пространства.
+Обновление из исходного кода — это наиболее сложный метод обновления, но он предоставляет наибольшую гибкость. Процесс включает синхронизацию локальной копии исходного кода FreeBSD с репозиторием FreeBSD Git. После того как локальный исходный код обновлён, можно скомпилировать новую версию ядра и пользовательского пространства.
-Двоичные обновления аналогичны использованию `yum` или `apt-get` для
-обновления системы Linux(R). В FreeBSD, man:freebsd-update[8] может быть
-использован для получения и установки новых двоичных обновлений. Эти
-обновления могут быть запланированы с помощью man:cron[8].
+Двоичные обновления аналогичны использованию `yum` или `apt-get` для обновления системы Linux(R). В FreeBSD, man:freebsd-update[8] может быть использован для получения и установки новых двоичных обновлений. Эти обновления могут быть запланированы с помощью man:cron[8].
[NOTE]
====
-При использовании man:cron[8] для планирования обновлений используйте
-`freebsd-update cron` в man:crontab[1], чтобы снизить вероятность
-одновременного скачивания обновлений большим количеством машин:
+При использовании man:cron[8] для планирования обновлений используйте `freebsd-update cron` в man:crontab[1], чтобы снизить вероятность одновременного скачивания обновлений большим количеством машин:
[.programlisting]
....
@@ -351,20 +252,14 @@ ipfw add allow tcp from any to me 22 in via $ext_if
====
-Для получения дополнительной информации об обновлениях исходного кода и
-бинарных обновлениях обратитесь к extref:{handbook}cutting-edge/[главе об
-обновлениях, updating-upgrading-freebsdupdate] в Руководстве FreeBSD.
+Для получения дополнительной информации об обновлениях исходного кода и бинарных обновлениях обратитесь к extref:{handbook}cutting-edge/[главе об обновлениях, updating-upgrading-freebsdupdate] в Руководстве FreeBSD.
[[procfs]]
== procfs: ушёл, но не забыт
-В некоторых дистрибутивах Linux(R) можно посмотреть файл
-[.filename]#/proc/sys/net/ipv4/ip_forward#, чтобы определить, включена ли
-IP-маршрутизация. В FreeBSD вместо этого используется man:sysctl[8] для
-просмотра этого и других системных параметров.
+В некоторых дистрибутивах Linux(R) можно посмотреть файл [.filename]#/proc/sys/net/ipv4/ip_forward#, чтобы определить, включена ли IP-маршрутизация. В FreeBSD вместо этого используется man:sysctl[8] для просмотра этого и других системных параметров.
-Например, используйте следующую команду, чтобы определить, включена ли
-IP-переадресация в системе FreeBSD:
+Например, используйте следующую команду, чтобы определить, включена ли IP-переадресация в системе FreeBSD:
[source, shell]
....
@@ -379,16 +274,14 @@ net.inet.ip.forwarding: 0
% sysctl -a | more
....
-Если приложению требуется procfs, добавьте следующую запись в
-[.filename]#/etc/fstab#:
+Если приложению требуется procfs, добавьте следующую запись в [.filename]#/etc/fstab#:
[source, shell]
....
proc /proc procfs rw,noauto 0 0
....
-Добавление `noauto` предотвратит автоматическое монтирование
-[.filename]#/proc# при загрузке.
+Добавление `noauto` предотвратит автоматическое монтирование [.filename]#/proc# при загрузке.
Чтобы подключить файловую систему без перезагрузки:
@@ -441,6 +334,4 @@ proc /proc procfs rw,noauto 0 0
[[conclusion]]
== Заключение
-Этот документ предоставил обзор FreeBSD. Для более детального изучения этих
-тем, а также многих других, не рассмотренных в данном документе, обратитесь
-к extref:{handbook}[Руководству FreeBSD].
+Этот документ предоставил обзор FreeBSD. Для более детального изучения этих тем, а также многих других, не рассмотренных в данном документе, обратитесь к extref:{handbook}[Руководству FreeBSD].
diff --git a/documentation/content/ru/articles/linux-users/_index.po b/documentation/content/ru/articles/linux-users/_index.po
index a0bd6f4469..f431c57919 100644
--- a/documentation/content/ru/articles/linux-users/_index.po
+++ b/documentation/content/ru/articles/linux-users/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-09-22 19:04+0300\n"
+"POT-Creation-Date: 2024-09-14 14:59-0300\n"
"PO-Revision-Date: 2025-08-06 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,13 +18,15 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/articles/linux-users/_index.adoc:1
#, no-wrap
msgid "This document is intended to quickly familiarize intermediate to advanced Linux® users with the basics of FreeBSD."
-msgstr "Этот документ предназначен для быстрого ознакомления с основами FreeBSD пользователей Linux® среднего и продвинутого уровня."
+msgstr ""
+"Этот документ предназначен для быстрого ознакомления с основами FreeBSD "
+"пользователей Linux® среднего и продвинутого уровня."
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/articles/linux-users/_index.adoc:1
#, no-wrap
msgid "FreeBSD Quickstart Guide for Linux® Users"
@@ -115,8 +117,8 @@ msgid ""
"However, Bash and other shells are available for installation using the "
"FreeBSD extref:{handbook}[Packages and Ports Collection, ports]."
msgstr ""
-"Однако Bash и другие оболочки доступны для установки через extref:{handbook}"
-"[Коллекцию портов и пакетов FreeBSD, ports]."
+"Однако Bash и другие оболочки доступны для установки через extref:{handbook}["
+"Коллекцию портов и пакетов FreeBSD, ports]."
#. type: Plain text
#: documentation/content/en/articles/linux-users/_index.adoc:75
@@ -210,8 +212,8 @@ msgid ""
"A complete list of all available ports and packages can be found https://"
"ports.freebsd.org[here]."
msgstr ""
-"Полный список всех доступных портов и пакетов можно найти https://"
-"ports.freebsd.org[здесь]."
+"Полный список всех доступных портов и пакетов можно найти https://ports."
+"freebsd.org[здесь]."
#. type: Title ===
#: documentation/content/en/articles/linux-users/_index.adoc:98
@@ -222,16 +224,15 @@ msgstr "Пакеты"
#. type: Plain text
#: documentation/content/en/articles/linux-users/_index.adoc:103
msgid ""
-"Packages are pre-compiled applications, the FreeBSD equivalents of "
-"[.filename]#.deb# files on Debian/Ubuntu based systems and [.filename]#.rpm# "
+"Packages are pre-compiled applications, the FreeBSD equivalents of [."
+"filename]#.deb# files on Debian/Ubuntu based systems and [.filename]#.rpm# "
"files on Red Hat/Fedora based systems. Packages are installed using `pkg`. "
"For example, the following command installs Apache 2.4:"
msgstr ""
-"Пакеты — это предварительно скомпилированные приложения, эквиваленты файлов "
-"[.filename]#.deb# в системах на основе Debian/Ubuntu и файлов "
-"[.filename]#.rpm# в системах на основе Red Hat/Fedora. Пакеты "
-"устанавливаются с помощью `pkg`. Например, следующая команда устанавливает "
-"Apache 2.4:"
+"Пакеты — это предварительно скомпилированные приложения, эквиваленты файлов ["
+".filename]#.deb# в системах на основе Debian/Ubuntu и файлов [.filename]#."
+"rpm# в системах на основе Red Hat/Fedora. Пакеты устанавливаются с помощью "
+"`pkg`. Например, следующая команда устанавливает Apache 2.4:"
#. type: delimited block . 4
#: documentation/content/en/articles/linux-users/_index.adoc:107
@@ -276,8 +277,8 @@ msgid ""
msgstr ""
"Коллекция портов, иногда называемая деревом портов, может быть установлена в "
"[.filename]#/usr/ports# с помощью link:{handbook}mirrors/#git[Git]. "
-"Подробные инструкции по установке Коллекции портов можно найти в extref:"
-"{handbook}ports/[разделе 4.5.1, ports-using-installation-methods] "
+"Подробные инструкции по установке Коллекции портов можно найти в "
+"extref:{handbook}ports/[разделе 4.5.1, ports-using-installation-methods] "
"Руководства FreeBSD."
#. type: Plain text
@@ -341,13 +342,13 @@ msgid ""
"Many Linux(R) distributions use the SysV init system, whereas FreeBSD uses "
"the traditional BSD-style man:init[8]. Under the BSD-style man:init[8], "
"there are no run-levels and [.filename]#/etc/inittab# does not exist. "
-"Instead, startup is controlled by man:rc[8] scripts. At system boot, "
-"[.filename]#/etc/rc# reads [.filename]#/etc/rc.conf# and [.filename]#/etc/"
+"Instead, startup is controlled by man:rc[8] scripts. At system boot, [."
+"filename]#/etc/rc# reads [.filename]#/etc/rc.conf# and [.filename]#/etc/"
"defaults/rc.conf# to determine which services are to be started. The "
"specified services are then started by running the corresponding service "
"initialization scripts located in [.filename]#/etc/rc.d/# and [.filename]#/"
-"usr/local/etc/rc.d/#. These scripts are similar to the scripts located in "
-"[.filename]#/etc/init.d/# on Linux(R) systems."
+"usr/local/etc/rc.d/#. These scripts are similar to the scripts located in [."
+"filename]#/etc/init.d/# on Linux(R) systems."
msgstr ""
"Многие дистрибутивы Linux(R) используют систему инициализации SysV, тогда "
"как FreeBSD использует традиционный BSD-стиль man:init[8]. В BSD-стиле "
@@ -356,8 +357,8 @@ msgstr ""
"man:rc[8]. При загрузке системы [.filename]#/etc/rc# читает [.filename]#/etc/"
"rc.conf# и [.filename]#/etc/defaults/rc.conf#, чтобы определить, какие "
"службы должны быть запущены. Указанные службы затем запускаются путем "
-"выполнения соответствующих сценариев инициализации, расположенных в "
-"[.filename]#/etc/rc.d/# и [.filename]#/usr/local/etc/rc.d/#. Эти сценарии "
+"выполнения соответствующих сценариев инициализации, расположенных в [."
+"filename]#/etc/rc.d/# и [.filename]#/usr/local/etc/rc.d/#. Эти сценарии "
"аналогичны сценариям, расположенным в [.filename]#/etc/init.d/# в системах "
"Linux(R)."
@@ -365,9 +366,9 @@ msgstr ""
#: documentation/content/en/articles/linux-users/_index.adoc:150
msgid ""
"The scripts found in [.filename]#/etc/rc.d/# are for applications that are "
-"part of the \"base\" system, such as man:cron[8], man:sshd[8], and "
-"man:syslog[3]. The scripts in [.filename]#/usr/local/etc/rc.d/# are for "
-"user-installed applications such as Apache and Squid."
+"part of the \"base\" system, such as man:cron[8], man:sshd[8], and man:"
+"syslog[3]. The scripts in [.filename]#/usr/local/etc/rc.d/# are for user-"
+"installed applications such as Apache and Squid."
msgstr ""
"Скрипты, расположенные в [.filename]#/etc/rc.d/#, предназначены для "
"приложений, входящих в \"базовую\" систему, таких как man:cron[8], "
@@ -388,31 +389,31 @@ msgid ""
msgstr ""
"Поскольку FreeBSD разрабатывается как полноценная операционная система, "
"пользовательские приложения не считаются частью «базовой» системы. "
-"Пользовательские приложения обычно устанавливаются с помощью extref:"
-"{handbook}ports/[Пакетов или Портов, ports-using]. Чтобы отделить их от "
-"базовой системы, пользовательские приложения устанавливаются в [.filename]#/"
-"usr/local/#. Таким образом, исполняемые файлы пользовательских приложений "
-"находятся в [.filename]#/usr/local/bin/#, конфигурационные файлы — в "
-"[.filename]#/usr/local/etc/# и так далее."
+"Пользовательские приложения обычно устанавливаются с помощью "
+"extref:{handbook}ports/[Пакетов или Портов, ports-using]. Чтобы отделить их "
+"от базовой системы, пользовательские приложения устанавливаются в [."
+"filename]#/usr/local/#. Таким образом, исполняемые файлы пользовательских "
+"приложений находятся в [.filename]#/usr/local/bin/#, конфигурационные файлы —"
+" в [.filename]#/usr/local/etc/# и так далее."
#. type: Plain text
#: documentation/content/en/articles/linux-users/_index.adoc:160
msgid ""
"Services are enabled by adding an entry for the service in [.filename]#/etc/"
-"rc.conf#. The system defaults are found in [.filename]#/etc/defaults/"
-"rc.conf# and these default settings are overridden by settings in "
-"[.filename]#/etc/rc.conf#. Refer to man:rc.conf[5] for more information "
-"about the available entries. When installing additional applications, "
-"review the application's install message to determine how to enable any "
-"associated services."
-msgstr ""
-"Сервисы включаются путем добавления соответствующей записи в файл "
-"[.filename]#/etc/rc.conf#. Системные параметры по умолчанию находятся в "
-"файле [.filename]#/etc/defaults/rc.conf#, а настройки по умолчанию "
-"переопределяются параметрами из файла [.filename]#/etc/rc.conf#. Подробнее о "
-"доступных параметрах можно узнать в man:rc.conf[5]. При установке "
-"дополнительных приложений ознакомьтесь с сообщением установки, чтобы "
-"определить, как включить связанные сервисы."
+"rc.conf#. The system defaults are found in [.filename]#/etc/defaults/rc."
+"conf# and these default settings are overridden by settings in [.filename]#/"
+"etc/rc.conf#. Refer to man:rc.conf[5] for more information about the "
+"available entries. When installing additional applications, review the "
+"application's install message to determine how to enable any associated "
+"services."
+msgstr ""
+"Сервисы включаются путем добавления соответствующей записи в файл [."
+"filename]#/etc/rc.conf#. Системные параметры по умолчанию находятся в файле ["
+".filename]#/etc/defaults/rc.conf#, а настройки по умолчанию переопределяются "
+"параметрами из файла [.filename]#/etc/rc.conf#. Подробнее о доступных "
+"параметрах можно узнать в man:rc.conf[5]. При установке дополнительных "
+"приложений ознакомьтесь с сообщением установки, чтобы определить, как "
+"включить связанные сервисы."
#. type: Plain text
#: documentation/content/en/articles/linux-users/_index.adoc:162
@@ -528,14 +529,14 @@ msgstr ""
#: documentation/content/en/articles/linux-users/_index.adoc:213
msgid ""
"An IP address can be assigned to an interface using man:ifconfig[8]. To "
-"remain persistent across reboots, the IP configuration must be included in "
-"[.filename]#/etc/rc.conf#. The following [.filename]#/etc/rc.conf# entries "
+"remain persistent across reboots, the IP configuration must be included in [."
+"filename]#/etc/rc.conf#. The following [.filename]#/etc/rc.conf# entries "
"specify the hostname, IP address, and default gateway:"
msgstr ""
"IP-адрес может быть назначен интерфейсу с помощью man:ifconfig[8]. Чтобы "
"настройки сохранялись после перезагрузки, конфигурация IP должна быть "
-"указана в [.filename]#/etc/rc.conf#. Следующие записи в [.filename]#/etc/"
-"rc.conf# задают имя хоста, IP-адрес и шлюз по умолчанию:"
+"указана в [.filename]#/etc/rc.conf#. Следующие записи в [.filename]#/etc/rc."
+"conf# задают имя хоста, IP-адрес и шлюз по умолчанию:"
#. type: delimited block . 4
#: documentation/content/en/articles/linux-users/_index.adoc:219
@@ -743,8 +744,8 @@ msgstr "procfs: ушёл, но не забыт"
#: documentation/content/en/articles/linux-users/_index.adoc:301
msgid ""
"In some Linux(R) distributions, one could look at [.filename]#/proc/sys/net/"
-"ipv4/ip_forward# to determine if IP forwarding is enabled. In FreeBSD, "
-"man:sysctl[8] is instead used to view this and other system settings."
+"ipv4/ip_forward# to determine if IP forwarding is enabled. In FreeBSD, man:"
+"sysctl[8] is instead used to view this and other system settings."
msgstr ""
"В некоторых дистрибутивах Linux(R) можно посмотреть файл [.filename]#/proc/"
"sys/net/ipv4/ip_forward#, чтобы определить, включена ли IP-маршрутизация. В "
@@ -802,8 +803,8 @@ msgid ""
"Including `noauto` will prevent [.filename]#/proc# from being automatically "
"mounted at boot."
msgstr ""
-"Добавление `noauto` предотвратит автоматическое монтирование [.filename]#/"
-"proc# при загрузке."
+"Добавление `noauto` предотвратит автоматическое монтирование [."
+"filename]#/proc# при загрузке."
#. type: Plain text
#: documentation/content/en/articles/linux-users/_index.adoc:327
diff --git a/documentation/content/ru/articles/mailing-list-faq/_index.adoc b/documentation/content/ru/articles/mailing-list-faq/_index.adoc
index 9f94d5c88a..44d4113493 100644
--- a/documentation/content/ru/articles/mailing-list-faq/_index.adoc
+++ b/documentation/content/ru/articles/mailing-list-faq/_index.adoc
@@ -106,7 +106,7 @@ toc::[]
* Письма должны соответствовать уставу списка рассылки.
* Личные нападки недопустимы. Как ответственные участники сетевого сообщества, мы должны придерживаться высоких стандартов поведения.
-* Спам не разрешён. Нарушители данного правила будут забаненны.
+* Спам не разрешён. Нарушители данного правила будут забанены.
=== Что считается хорошим этикетом при посылке писем в списки рассылки?
diff --git a/documentation/content/ru/articles/mailing-list-faq/_index.po b/documentation/content/ru/articles/mailing-list-faq/_index.po
index 4db5d5b21f..9766b97a19 100644
--- a/documentation/content/ru/articles/mailing-list-faq/_index.po
+++ b/documentation/content/ru/articles/mailing-list-faq/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-09-30 21:16+0300\n"
-"PO-Revision-Date: 2025-09-30 04:45+0000\n"
+"POT-Creation-Date: 2025-05-01 19:57-0300\n"
+"PO-Revision-Date: 2025-10-29 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/articlesmailing-list-faq_index/ru/>\n"
@@ -18,11 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/articles/mailing-list-faq/_index.adoc:1
#, no-wrap
msgid "How to best use the mailing lists, such as how to help avoid frequently-repeated discussions"
-msgstr "Как оптимально использовать почтовые рассылки, в том числе как избежать часто повторяющихся обсуждений"
+msgstr ""
+"Как оптимально использовать почтовые рассылки, в том числе как избежать "
+"часто повторяющихся обсуждений"
#. type: Title =
#: documentation/content/en/articles/mailing-list-faq/_index.adoc:1
@@ -53,8 +55,8 @@ msgstr ""
"сервере FreeBSD]. Вы можете получить данную статью в виде одного большого "
"link:.[HTML] файла, используя HTTP протокол или в виде простого текста, "
"форматов PostScript, PDF, и других с https://download.freebsd.org/doc/[FTP "
-"сервера FreeBSD]. Возможно вы захотите link:https://www.FreeBSD.org/search/"
-"[Найти FAQ]."
+"сервера FreeBSD]. Возможно вы захотите link:https://www.FreeBSD.org/search/["
+"Найти FAQ]."
#. type: Plain text
#: documentation/content/en/articles/mailing-list-faq/_index.adoc:51
@@ -126,8 +128,8 @@ msgid ""
msgstr ""
"Это зависит от регламента каждой конкретной рассылки. Некоторые списки "
"больше ориентированы на разработчиков, некоторые - на всё сообщество FreeBSD "
-"в целом. Актуальную информацию смотрите по ссылке: link:https://"
-"lists.FreeBSD.org/[этот список]."
+"в целом. Актуальную информацию смотрите по ссылке: link:https://lists.FreeBSD"
+".org/[этот список]."
#. type: Plain text
#: documentation/content/en/articles/mailing-list-faq/_index.adoc:75
@@ -233,10 +235,9 @@ msgid ""
"https://lists.freebsd.org/pipermail[mailman archive] and link:https://"
"lists.freebsd.org/archives[mlmmj archive] directly."
msgstr ""
-"Да. Архивы со всеми письмами с 1994 года доступны link:https://mail-"
-"archive.freebsd.org/mail/[здесь]. Вот ссылки на https://lists.freebsd.org/"
-"pipermail[архив mailman] и link:https://lists.freebsd.org/archives[архив "
-"mlmmj]."
+"Да. Архивы со всеми письмами с 1994 года доступны link:https://mail-archive."
+"freebsd.org/mail/[здесь]. Вот ссылки на https://lists.freebsd.org/pipermail["
+"архив mailman] и link:https://lists.freebsd.org/archives[архив mlmmj]."
#. type: Title ===
#: documentation/content/en/articles/mailing-list-faq/_index.adoc:104
@@ -288,8 +289,8 @@ msgid ""
msgstr ""
"Вы уже сделали важный шаг, решив прочитать эту статью. Если вы новичок во "
"FreeBSD, то сначала ознакомьтесь с программным обеспечением и связанной с "
-"нею документацией, включающей множество extref:https://www.FreeBSD.org/docs/"
-"[книг и статьей]. Могут быть интересными: extref:{faq}[Часто задаваемые "
+"нею документацией, включающей множество extref:https://www.FreeBSD.org/docs/["
+"книг и статьей]. Могут быть интересными: extref:{faq}[Часто задаваемые "
"вопросы по FreeBSD (FAQ)], extref:{handbook}[Руководство по FreeBSD], и "
"статьи extref:{freebsd-questions-article}[Как работать со списком рассылки "
"FreeBSD-questions с максимальной отдачей], extref:{explaining-bsd}[Что такое "
@@ -338,7 +339,7 @@ msgstr ""
msgid ""
"Spam is not allowed, ever. The mailing lists are actively processed to ban "
"offenders to this rule."
-msgstr "Спам не разрешён. Нарушители данного правила будут забаненны."
+msgstr "Спам не разрешён. Нарушители данного правила будут забанены."
#. type: Title ===
#: documentation/content/en/articles/mailing-list-faq/_index.adoc:131
@@ -368,11 +369,11 @@ msgid ""
msgstr ""
"Пожалуйста, обращайте внимание на тот факт, что пропускная способность "
"ограничена. Не каждый читает почту через высокоскоростное соединение. Если "
-"вы отправляете содержимое какого-нибудь файла, например "
-"[.filename]#config.log# или объёмную трассировку стека, то, пожалуйста, "
-"размещайте его на каком-нибудь веб-сайте и присылайте просто ссылку на него. "
-"Помните, что такие сообщения будут заархивированны, и это просто добавит "
-"ненужные байты к архиву."
+"вы отправляете содержимое какого-нибудь файла, например [.filename]#config."
+"log# или объёмную трассировку стека, то, пожалуйста, размещайте его на каком-"
+"нибудь веб-сайте и присылайте просто ссылку на него. Помните, что такие "
+"сообщения будут заархивированны, и это просто добавит ненужные байты к "
+"архиву."
#. type: Plain text
#: documentation/content/en/articles/mailing-list-faq/_index.adoc:136
@@ -491,8 +492,8 @@ msgstr ""
"трудно, и здесь легко сделать ошибку. Чтобы послать содержимое файлов "
"протоколов, сделайте копию файла и воспользуйтесь редактором для того, чтобы "
"обрезать информацию, оставив только относящуюся к делу, либо скопируйте и "
-"вставьте текст в ваше сообщение. В случае вывода программ, таких, как "
-"`dmesg`, перенаправьте вывод в файл и включите его в письмо. Например,"
+"вставьте текст в ваше сообщение. В случае вывода программ, таких, как `dmesg`"
+", перенаправьте вывод в файл и включите его в письмо. Например,"
#. type: delimited block . 4
#: documentation/content/en/articles/mailing-list-faq/_index.adoc:154
@@ -521,15 +522,17 @@ msgstr ""
"операции отрицательно сказываются на формате строк. Особенно это стоит "
"учесть при посылке содержимого файлов [.filename]#Makefile#, где `tab` "
"является важным символом. Это довольно часто встречающаяся проблема в "
-"link:https://www.FreeBSD.org/support/[ базе данных сообщений об ошибках]. В "
-"[.filename]#Makefile# символы tab меняются на пробелы, или раздражающие "
-"`=3B` escape последовательности."
+"link:https://www.FreeBSD.org/support/[ базе данных сообщений об ошибках]. В ["
+".filename]#Makefile# символы tab меняются на пробелы, или раздражающие `=3B` "
+"escape последовательности."
#. type: Title ===
#: documentation/content/en/articles/mailing-list-faq/_index.adoc:159
#, no-wrap
msgid "What are the special etiquette consideration when replying to an existing posting on the mailing lists?"
-msgstr "Каких правил этикета стоит придерживаться при ответе на уже существующее сообщение?"
+msgstr ""
+"Каких правил этикета стоит придерживаться при ответе на уже существующее "
+"сообщение?"
#. type: Plain text
#: documentation/content/en/articles/mailing-list-faq/_index.adoc:162
diff --git a/documentation/content/ru/articles/port-mentor-guidelines/_index.adoc b/documentation/content/ru/articles/port-mentor-guidelines/_index.adoc
index bc304f10bc..ea67ccf0b1 100644
--- a/documentation/content/ru/articles/port-mentor-guidelines/_index.adoc
+++ b/documentation/content/ru/articles/port-mentor-guidelines/_index.adoc
@@ -86,7 +86,7 @@ toc::[]
Не существует определённого правила, по которому кандидат считается готовым; это может быть комбинация количества поданных PR, количества поддерживаемых портов, частоты обновлений портов и/или уровня участия в определённой области интересов, такой как GNOME, KDE, Gecko или других.
-Кандидат должен практически не допускать тайм-aутов, оперативно реагировать на запросы и в целом оказывать помощь в поддержке своих портов.
+Кандидат должен практически не допускать тайм-аутов, оперативно реагировать на запросы и в целом оказывать помощь в поддержке своих портов.
Должна быть история вовлечённости, так как общеизвестно, что обучение коммиттера требует времени и усилий. Длительное участие в проекте и наблюдение за процессами предполагают накопление знаний. Слишком часто мы видели, как сопровождающий отправляет несколько PR, появляется в IRC и спрашивает, когда ему дадут право на коммит.
diff --git a/documentation/content/ru/articles/port-mentor-guidelines/_index.po b/documentation/content/ru/articles/port-mentor-guidelines/_index.po
index b9e70a556e..2d68c74b42 100644
--- a/documentation/content/ru/articles/port-mentor-guidelines/_index.po
+++ b/documentation/content/ru/articles/port-mentor-guidelines/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-09-24 18:29+0300\n"
-"PO-Revision-Date: 2025-09-05 04:45+0000\n"
+"POT-Creation-Date: 2022-02-01 09:21-0300\n"
+"PO-Revision-Date: 2025-10-29 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/articlesport-mentor-guidelines_index/ru/>\n"
@@ -18,7 +18,7 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/articles/port-mentor-guidelines/_index.adoc:1
#, no-wrap
msgid "Port Mentor Guidelines for FreeBSD Mentors"
@@ -137,8 +137,8 @@ msgstr ""
msgid ""
"A rookie mentor can benefit from the experience of a senior committer/mentor."
msgstr ""
-"Наставник для новичков может получить пользу от опыта старшего коммиттера/"
-"наставника."
+"Наставник для новичков может получить пользу от опыта старшего "
+"коммиттера/наставника."
#. type: Plain text
#: documentation/content/en/articles/port-mentor-guidelines/_index.adoc:68
@@ -203,9 +203,9 @@ msgid ""
"overview of these things to be an effective part of the community (and avoid "
"as many rookie mistakes as possible)."
msgstr ""
-"Мы ожидаем, что наставники убедятся, что их подопечные прочитали extref:"
-"{porters-handbook}[Руководство портировщика], extref:{pr-guidelines}"
-"[руководство по обработке PR] и extref:{committers-guide}[Руководство "
+"Мы ожидаем, что наставники убедятся, что их подопечные прочитали extref"
+":{porters-handbook}[Руководство портировщика], extref:{pr-guidelines}["
+"руководство по обработке PR] и extref:{committers-guide}[Руководство "
"коммиттера]. Хотя и не обязательно запоминать все детали, каждый коммиттер "
"должен иметь общее представление об этих вещах, чтобы быть эффективной "
"частью сообщества (и избежать как можно больше ошибок новичка)."
@@ -235,7 +235,7 @@ msgid ""
"A candidate should have almost no timeouts, be responsive to requests, and "
"generally helpful in supporting their ports."
msgstr ""
-"Кандидат должен практически не допускать тайм-aутов, оперативно реагировать "
+"Кандидат должен практически не допускать тайм-аутов, оперативно реагировать "
"на запросы и в целом оказывать помощь в поддержке своих портов."
#. type: Plain text
@@ -297,10 +297,10 @@ msgstr "Продолжительность наставничества"
#. type: Plain text
#: documentation/content/en/articles/port-mentor-guidelines/_index.adoc:114
msgid ""
-"As the trust level develops and grows, the mentee may be granted "
-"\"implicit\" commit rights. This can include trivial changes to a "
-"[.filename]#Makefile#, [.filename]#pkg-descr# etc. Similarly, it may "
-"include `PORTVERSION` updates that do not include `plist` changes. Other "
+"As the trust level develops and grows, the mentee may be granted \"implicit"
+"\" commit rights. This can include trivial changes to a [."
+"filename]#Makefile#, [.filename]#pkg-descr# etc. Similarly, it may include "
+"`PORTVERSION` updates that do not include `plist` changes. Other "
"circumstances may be formulated at the discretion of the Mentor. However, "
"during the period of mentorship, a port version bump that affects dependent "
"ports should be checked by a mentor."
@@ -364,14 +364,14 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/port-mentor-guidelines/_index.adoc:132
msgid ""
-"Some reprobate, whose name shall be withheld, made the https://"
-"lists.freebsd.org/pipermail/cvs-ports/2007-September/134614.html[first "
-"recorded co-mentor commit]. Similar co-mentor commits have also been "
-"spotted in the src tree. Does this make it right? Does this make it wrong? "
-"It seems to be part of the evolution of how things are done."
+"Some reprobate, whose name shall be withheld, made the https://lists.freebsd."
+"org/pipermail/cvs-ports/2007-September/134614.html[first recorded co-mentor "
+"commit]. Similar co-mentor commits have also been spotted in the src tree. "
+"Does this make it right? Does this make it wrong? It seems to be part of the "
+"evolution of how things are done."
msgstr ""
-"Один \"ответственный\" участник, чьё имя мы опустим, сделал https://"
-"lists.freebsd.org/pipermail/cvs-ports/2007-September/134614.html[первый "
+"Один \"ответственный\" участник, чьё имя мы опустим, сделал https://lists."
+"freebsd.org/pipermail/cvs-ports/2007-September/134614.html[первый "
"зарегистрированный коммит с сонаставником]. Подобные коммиты с со-менторами "
"также были замечены в дереве src. Делает ли это их правильными? Делает ли "
"это их неправильными? Похоже, это часть эволюции того, как всё устроено."
diff --git a/documentation/content/ru/articles/pr-guidelines/_index.adoc b/documentation/content/ru/articles/pr-guidelines/_index.adoc
index 10c764f08a..67798176ef 100644
--- a/documentation/content/ru/articles/pr-guidelines/_index.adoc
+++ b/documentation/content/ru/articles/pr-guidelines/_index.adoc
@@ -95,7 +95,7 @@ analyzed (проанализировано)::
feedback (обратная связь)::
Дальнейшая работа требует дополнительной информации от инициатора или сообщества; возможно, информации относительно предлагаемого решения.
-patched (исправленно)::
+patched (исправлено)::
Патч был закоммичен, но что-то (MFC или, возможно, подтверждение от автора) ещё ожидается.
suspended (приостановлено)::
diff --git a/documentation/content/ru/articles/pr-guidelines/_index.po b/documentation/content/ru/articles/pr-guidelines/_index.po
index b2d979b520..813a346f5b 100644
--- a/documentation/content/ru/articles/pr-guidelines/_index.po
+++ b/documentation/content/ru/articles/pr-guidelines/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-03 18:14+0300\n"
-"PO-Revision-Date: 2025-10-03 04:45+0000\n"
+"POT-Creation-Date: 2024-12-29 08:30-0500\n"
+"PO-Revision-Date: 2025-10-29 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/articlespr-guidelines_index/ru/>\n"
@@ -18,11 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/articles/pr-guidelines/_index.adoc:1
#, no-wrap
msgid "These guidelines describe recommended handling practices for FreeBSD Problem Reports (PRs)."
-msgstr "Эти рекомендации описывают рекомендуемые методы обработки отчётов о проблемах FreeBSD (PR — Problem Reports)."
+msgstr ""
+"Эти рекомендации описывают рекомендуемые методы обработки отчётов о "
+"проблемах FreeBSD (PR — Problem Reports)."
#. type: Title =
#: documentation/content/en/articles/pr-guidelines/_index.adoc:1
@@ -272,7 +274,7 @@ msgstr ""
#: documentation/content/en/articles/pr-guidelines/_index.adoc:102
#, no-wrap
msgid "patched"
-msgstr "patched (исправленно)"
+msgstr "patched (исправлено)"
#. type: Plain text
#: documentation/content/en/articles/pr-guidelines/_index.adoc:104
@@ -866,7 +868,9 @@ msgstr "freebsd-atm"
#: documentation/content/en/articles/pr-guidelines/_index.adoc:251
#, no-wrap
msgid "problem with embedded or small-footprint FreeBSD systems (e.g., NanoBSD/PicoBSD/FreeBSD-arm)"
-msgstr "проблема со встроенными или компактными системами FreeBSD (например, NanoBSD/PicoBSD/FreeBSD-arm)"
+msgstr ""
+"проблема со встроенными или компактными системами FreeBSD (например, NanoBSD/"
+"PicoBSD/FreeBSD-arm)"
#. type: Table
#: documentation/content/en/articles/pr-guidelines/_index.adoc:253
@@ -1452,9 +1456,9 @@ msgid ""
"findings and try to find someone to assign it to. Set the state to "
"\"analyzed\" if appropriate."
msgstr ""
-"Если PR содержит достаточно деталей, попробуйте воспроизвести проблему в `-"
-"CURRENT` и `-STABLE`. Если удастся, отправьте уточнение с вашими находками и "
-"попытайтесь найти, кому можно назначить задачу. Установите состояние "
+"Если PR содержит достаточно деталей, попробуйте воспроизвести проблему в "
+"`-CURRENT` и `-STABLE`. Если удастся, отправьте уточнение с вашими находками "
+"и попытайтесь найти, кому можно назначить задачу. Установите состояние "
"\"analyzed\" (проанализировано), если это уместно."
#. type: Plain text
@@ -1490,8 +1494,8 @@ msgid ""
"yourself?) to do it. Set the state to \"patched\" and assign it to whomever "
"will do the MFC."
msgstr ""
-"Если PR описывает ошибку, которая, как вам известно, исправлена в `-"
-"CURRENT`, но не в `-STABLE`, попытайтесь выяснить, когда планируется перенос "
+"Если PR описывает ошибку, которая, как вам известно, исправлена в `-CURRENT`"
+", но не в `-STABLE`, попытайтесь выяснить, когда планируется перенос "
"исправления (MFC), или найдите кого-то (возможно, себя?), кто сможет это "
"сделать. Установите статус \"patched\" и назначьте задачу тому, кто займётся "
"переносом исправления (MFC)."
diff --git a/documentation/content/ru/articles/rc-scripting/_index.adoc b/documentation/content/ru/articles/rc-scripting/_index.adoc
index 0f34f38d22..ee0af4b070 100644
--- a/documentation/content/ru/articles/rc-scripting/_index.adoc
+++ b/documentation/content/ru/articles/rc-scripting/_index.adoc
@@ -63,7 +63,7 @@ toc::[]
Основные идеи, лежащие в основе BSD [.filename]#rc.d#, — это _тонкая модульность_ и __повторное использование кода__. _Тонкая модульность_ означает, что каждая базовая «служба», такая как системный демон или примитивная задача запуска, получает собственный сценарий man:sh[1], способный запустить службу, остановить её, перезагрузить или проверить её состояние. Конкретное действие выбирается аргументом командной строки, переданным в сценарий. Сценарий [.filename]#/etc/rc# по-прежнему управляет запуском системы, но теперь он просто вызывает небольшие сценарии один за другим с аргументом `start`. Также легко выполнять задачи завершения работы, запуская тот же набор сценариев с аргументом `stop`, что и делает [.filename]#/etc/rc.shutdown#. Обратите внимание, насколько это близко следует Unix-подходу, где используется набор небольших специализированных инструментов, каждый из которых выполняет свою задачу наилучшим образом. _Повторное использование кода_ означает, что общие операции реализованы как функции man:sh[1] и собраны в [.filename]#/etc/rc.subr#. Теперь типичный сценарий может состоять всего из нескольких строк кода man:sh[1]. Наконец, важной частью инфраструктуры [.filename]#rc.d# является man:rcorder[8], который помогает [.filename]#/etc/rc# упорядоченно запускать небольшие сценарии с учётом зависимостей между ними. Он также может помочь [.filename]#/etc/rc.shutdown#, поскольку правильный порядок завершения работы противоположен порядку запуска.
-Дизайн BSD [.filename]#rc.d# описан в crossref:rc-scripting[lukem, оригинальной статье Люка Мьюберна], а компоненты [.filename]#rc.d# подробно документированы в crossref:rc-scripting[manpages, соответствующих руководствах]. Однако новичку в [.filename]#rc.d# может быть неочевидно, как связать многочисленные элементы вместе, чтобы создать хорошо структурированный скрипт для конкретной задачи. Поэтому в этой статье будет предпринята попытка описать [.filename]#rc.d# с другого ракурса. В ней будет показано, какие функции следует использовать в ряде типичных случаев и почему. Обратите внимание, что это не руководство, поскольку наша цель — не предоставление готовых рецептов, а демонстрация нескольких простых способов входа в мир [.filename]#rc.d#. Также эта статья не заменяет соответствующие руководства. Не стесняйтесь обращаться к ним для получения более формальной и полной документации во время чтения этой статьи.
+Дизайн BSD [.filename]#rc.d# описан в crossref:rc-scripting[lukem, оригинальной статье Люка Мьюберна], а компоненты [.filename]#rc.d# подробно документированы в crossref:rc-scripting[manpages, соответствующих страницах Справочника]. Однако новичку в [.filename]#rc.d# может быть неочевидно, как связать многочисленные элементы вместе, чтобы создать хорошо структурированный скрипт для конкретной задачи. Поэтому в этой статье будет предпринята попытка описать [.filename]#rc.d# с другого ракурса. В ней будет показано, какие функции следует использовать в ряде типичных случаев и почему. Обратите внимание, что это не руководство HowTo, поскольку наша цель — не предоставление готовых рецептов, а демонстрация нескольких простых способов входа в мир [.filename]#rc.d#. Также эта статья не заменяет соответствующие страниц Справочника. Не стесняйтесь обращаться к ним для получения более формальной и полной документации во время чтения этой статьи.
Для понимания этой статьи есть предварительные требования. Прежде всего, вы должны быть знакомы с языком написания сценариев man:sh[1], чтобы освоить [.filename]#rc.d#. Кроме того, вы должны знать, как система выполняет задачи запуска и завершения работы пользовательского пространства, что описано в man:rc[8].
diff --git a/documentation/content/ru/articles/rc-scripting/_index.po b/documentation/content/ru/articles/rc-scripting/_index.po
index eb6e3fab38..38632d1c84 100644
--- a/documentation/content/ru/articles/rc-scripting/_index.po
+++ b/documentation/content/ru/articles/rc-scripting/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:17+0300\n"
-"PO-Revision-Date: 2025-09-27 04:45+0000\n"
+"POT-Creation-Date: 2024-09-14 15:00-0300\n"
+"PO-Revision-Date: 2025-10-29 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/articlesrc-scripting_index/ru/>\n"
@@ -18,11 +18,12 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/articles/rc-scripting/_index.adoc:1
#, no-wrap
msgid "A guide to writing new rc.d scripts and understanding those already written"
-msgstr "Руководство по написанию новых rc.d-скриптов и пониманию уже существующих"
+msgstr ""
+"Руководство по написанию новых rc.d-скриптов и пониманию уже существующих"
#. type: Title =
#: documentation/content/en/articles/rc-scripting/_index.adoc:1
@@ -31,12 +32,12 @@ msgstr "Руководство по написанию новых rc.d-скри
msgid "Practical rc.d scripting in BSD"
msgstr "Практическое руководство по написанию rc.d скриптов в BSD"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:45
msgid "Abstract"
msgstr "Аннотация"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:49
msgid ""
"Beginners may find it difficult to relate the facts from the formal "
@@ -50,12 +51,12 @@ msgstr ""
"Новичкам может быть сложно соотнести факты из официальной документации по "
"фреймворку [.filename]#rc.d# в BSD с практическими задачами написания "
"скриптов для [.filename]#rc.d#. В этой статье мы рассмотрим несколько "
-"типичных случаев возрастающей сложности, покажем возможности "
-"[.filename]#rc.d#, подходящие для каждого случая, и обсудим, как они "
-"работают. Такое рассмотрение должно дать ориентиры для дальнейшего изучения "
-"устройства и эффективного применения [.filename]#rc.d#."
+"типичных случаев возрастающей сложности, покажем возможности [.filename]#rc."
+"d#, подходящие для каждого случая, и обсудим, как они работают. Такое "
+"рассмотрение должно дать ориентиры для дальнейшего изучения устройства и "
+"эффективного применения [.filename]#rc.d#."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:51
msgid "'''"
msgstr "'''"
@@ -66,7 +67,7 @@ msgstr "'''"
msgid "Introduction"
msgstr "Введение"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:61
msgid ""
"The historical BSD had a monolithic startup script, [.filename]#/etc/rc#. "
@@ -82,10 +83,10 @@ msgstr ""
"пользовательского пространства, необходимые для многопользовательского "
"режима: проверку и монтирование файловых систем, настройку сети, запуск "
"демонов и так далее. Точный список задач не был одинаковым в каждой системе; "
-"администраторам требовалось его настраивать. За редкими исключениями, "
-"[.filename]#/etc/rc# приходилось изменять, и настоящим хакерам это нравилось."
+"администраторам требовалось его настраивать. За редкими исключениями, [."
+"filename]#/etc/rc# приходилось изменять, и настоящим хакерам это нравилось."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:67
msgid ""
"The real problem with the monolithic approach was that it provided no "
@@ -100,8 +101,8 @@ msgid ""
"make the system admin's life easier."
msgstr ""
"Основная проблема монолитного подхода заключалась в том, что он не "
-"предоставлял контроля над отдельными компонентами, запускаемыми из "
-"[.filename]#/etc/rc#. Например, [.filename]#/etc/rc# не мог перезапустить "
+"предоставлял контроля над отдельными компонентами, запускаемыми из [."
+"filename]#/etc/rc#. Например, [.filename]#/etc/rc# не мог перезапустить "
"отдельный демон. Администратору системы приходилось вручную находить процесс "
"демона, завершать его, ждать, пока он действительно завершится, затем искать "
"в [.filename]#/etc/rc# нужные флаги и, наконец, вводить полную командную "
@@ -111,7 +112,7 @@ msgstr ""
"с тем, для чего скрипты вообще предназначены: облегчать жизнь администратору "
"системы."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:74
msgid ""
"Later there was an attempt to split out some parts of [.filename]#/etc/rc# "
@@ -120,27 +121,27 @@ msgid ""
"did allow for accessing the network from single-user mode, but it did not "
"integrate well into the automatic startup process because parts of its code "
"needed to interleave with actions essentially unrelated to networking. That "
-"was why [.filename]#/etc/netstart# mutated into [.filename]#/etc/"
-"rc.network#. The latter was no longer an ordinary script; it comprised of "
+"was why [.filename]#/etc/netstart# mutated into [.filename]#/etc/rc."
+"network#. The latter was no longer an ordinary script; it comprised of "
"large, tangled man:sh[1] functions called from [.filename]#/etc/rc# at "
"different stages of system startup. However, as the startup tasks grew "
"diverse and sophisticated, the \"quasi-modular\" approach became even more "
"of a drag than the monolithic [.filename]#/etc/rc# had been."
msgstr ""
-"Позже была предпринята попытка разделить некоторые части [.filename]#/etc/"
-"rc# для возможности отдельного запуска наиболее важных подсистем. Известным "
+"Позже была предпринята попытка разделить некоторые части [.filename]#/etc/rc#"
+" для возможности отдельного запуска наиболее важных подсистем. Известным "
"примером стал [.filename]#/etc/netstart#, предназначенный для настройки "
"сети. Это позволяло получить доступ к сети в однопользовательском режиме, но "
"плохо интегрировалось в автоматический процесс запуска, так как части его "
"кода требовалось переплетаться с действиями, по сути не связанными с сетью. "
-"Именно поэтому [.filename]#/etc/netstart# превратился в [.filename]#/etc/"
-"rc.network#. Последний больше не был обычным скриптом; он состоял из "
-"больших, запутанных функций man:sh[1], вызываемых из [.filename]#/etc/rc# на "
-"разных этапах загрузки системы. Однако по мере того, как задачи при запуске "
+"Именно поэтому [.filename]#/etc/netstart# превратился в [.filename]#/etc/rc."
+"network#. Последний больше не был обычным скриптом; он состоял из больших, "
+"запутанных функций man:sh[1], вызываемых из [.filename]#/etc/rc# на разных "
+"этапах загрузки системы. Однако по мере того, как задачи при запуске "
"становились разнообразнее и сложнее, \"квазимодульный\" подход стал ещё "
"большей обузой, чем монолитный [.filename]#/etc/rc#."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:82
msgid ""
"Without a clean and well-designed framework, the startup scripts had to bend "
@@ -164,15 +165,15 @@ msgstr ""
"Вскоре мы узнаем больше о компонентах системы [.filename]#rc.d# и увидим, "
"как вызываются отдельные скрипты."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:93
msgid ""
"The basic ideas behind BSD [.filename]#rc.d# are _fine modularity_ and "
"__code reuse__. _Fine modularity_ means that each basic \"service\" such as "
"a system daemon or primitive startup task gets its own man:sh[1] script able "
"to start the service, stop it, reload it, check its status. A particular "
-"action is chosen by the command-line argument to the script. The "
-"[.filename]#/etc/rc# script still drives system startup, but now it merely "
+"action is chosen by the command-line argument to the script. The [."
+"filename]#/etc/rc# script still drives system startup, but now it merely "
"invokes the smaller scripts one by one with the `start` argument. It is "
"easy to perform shutdown tasks as well by running the same set of scripts "
"with the `stop` argument, which is done by [.filename]#/etc/rc.shutdown#. "
@@ -195,65 +196,65 @@ msgstr ""
"переданным в сценарий. Сценарий [.filename]#/etc/rc# по-прежнему управляет "
"запуском системы, но теперь он просто вызывает небольшие сценарии один за "
"другим с аргументом `start`. Также легко выполнять задачи завершения работы, "
-"запуская тот же набор сценариев с аргументом `stop`, что и делает "
-"[.filename]#/etc/rc.shutdown#. Обратите внимание, насколько это близко "
-"следует Unix-подходу, где используется набор небольших специализированных "
+"запуская тот же набор сценариев с аргументом `stop`, что и делает [."
+"filename]#/etc/rc.shutdown#. Обратите внимание, насколько это близко следует "
+"Unix-подходу, где используется набор небольших специализированных "
"инструментов, каждый из которых выполняет свою задачу наилучшим образом. "
"_Повторное использование кода_ означает, что общие операции реализованы как "
"функции man:sh[1] и собраны в [.filename]#/etc/rc.subr#. Теперь типичный "
"сценарий может состоять всего из нескольких строк кода man:sh[1]. Наконец, "
"важной частью инфраструктуры [.filename]#rc.d# является man:rcorder[8], "
"который помогает [.filename]#/etc/rc# упорядоченно запускать небольшие "
-"сценарии с учётом зависимостей между ними. Он также может помочь "
-"[.filename]#/etc/rc.shutdown#, поскольку правильный порядок завершения "
-"работы противоположен порядку запуска."
+"сценарии с учётом зависимостей между ними. Он также может помочь [."
+"filename]#/etc/rc.shutdown#, поскольку правильный порядок завершения работы "
+"противоположен порядку запуска."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:101
msgid ""
"The BSD [.filename]#rc.d# design is described in crossref:rc-"
-"scripting[lukem, the original article by Luke Mewburn], and the "
-"[.filename]#rc.d# components are documented in great detail in crossref:rc-"
+"scripting[lukem, the original article by Luke Mewburn], and the [."
+"filename]#rc.d# components are documented in great detail in crossref:rc-"
"scripting[manpages, the respective manual pages]. However, it might not "
"appear obvious to an [.filename]#rc.d# newbie how to tie the numerous bits "
"and pieces together to create a well-styled script for a particular task. "
-"Therefore this article will try a different approach to describe "
-"[.filename]#rc.d#. It will show which features should be used in a number "
-"of typical cases, and why. Note that this is not a how-to document because "
-"our aim is not at giving ready-made recipes, but at showing a few easy "
-"entrances into the [.filename]#rc.d# realm. Neither is this article a "
-"replacement for the relevant manual pages. Do not hesitate to refer to them "
-"for more formal and complete documentation while reading this article."
+"Therefore this article will try a different approach to describe [."
+"filename]#rc.d#. It will show which features should be used in a number of "
+"typical cases, and why. Note that this is not a how-to document because our "
+"aim is not at giving ready-made recipes, but at showing a few easy entrances "
+"into the [.filename]#rc.d# realm. Neither is this article a replacement for "
+"the relevant manual pages. Do not hesitate to refer to them for more formal "
+"and complete documentation while reading this article."
msgstr ""
"Дизайн BSD [.filename]#rc.d# описан в crossref:rc-scripting[lukem, "
"оригинальной статье Люка Мьюберна], а компоненты [.filename]#rc.d# подробно "
-"документированы в crossref:rc-scripting[manpages, соответствующих "
-"руководствах]. Однако новичку в [.filename]#rc.d# может быть неочевидно, как "
+"документированы в crossref:rc-scripting[manpages, соответствующих страницах "
+"Справочника]. Однако новичку в [.filename]#rc.d# может быть неочевидно, как "
"связать многочисленные элементы вместе, чтобы создать хорошо "
"структурированный скрипт для конкретной задачи. Поэтому в этой статье будет "
"предпринята попытка описать [.filename]#rc.d# с другого ракурса. В ней будет "
"показано, какие функции следует использовать в ряде типичных случаев и "
-"почему. Обратите внимание, что это не руководство, поскольку наша цель — не "
-"предоставление готовых рецептов, а демонстрация нескольких простых способов "
-"входа в мир [.filename]#rc.d#. Также эта статья не заменяет соответствующие "
-"руководства. Не стесняйтесь обращаться к ним для получения более формальной "
-"и полной документации во время чтения этой статьи."
+"почему. Обратите внимание, что это не руководство HowTo, поскольку наша цель "
+"— не предоставление готовых рецептов, а демонстрация нескольких простых "
+"способов входа в мир [.filename]#rc.d#. Также эта статья не заменяет "
+"соответствующие страниц Справочника. Не стесняйтесь обращаться к ним для "
+"получения более формальной и полной документации во время чтения этой статьи."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:105
msgid ""
"There are prerequisites to understanding this article. First of all, you "
-"should be familiar with the man:sh[1] scripting language to master "
-"[.filename]#rc.d#. In addition, you should know how the system performs "
+"should be familiar with the man:sh[1] scripting language to master [."
+"filename]#rc.d#. In addition, you should know how the system performs "
"userland startup and shutdown tasks, which is described in man:rc[8]."
msgstr ""
"Для понимания этой статьи есть предварительные требования. Прежде всего, вы "
-"должны быть знакомы с языком написания сценариев man:sh[1], чтобы освоить "
-"[.filename]#rc.d#. Кроме того, вы должны знать, как система выполняет задачи "
+"должны быть знакомы с языком написания сценариев man:sh[1], чтобы освоить [."
+"filename]#rc.d#. Кроме того, вы должны знать, как система выполняет задачи "
"запуска и завершения работы пользовательского пространства, что описано в "
"man:rc[8]."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:108
msgid ""
"This article focuses on the FreeBSD branch of [.filename]#rc.d#. "
@@ -262,9 +263,9 @@ msgid ""
"stay similar in their aspects visible to script authors."
msgstr ""
"Эта статья посвящена ветке FreeBSD в [.filename]#rc.d#. Тем не менее, она "
-"может быть полезна и разработчикам NetBSD, потому что две ветки BSD "
-"[.filename]#rc.d# не только разделяют одинаковый дизайн, но и остаются "
-"схожими в аспектах, видимых авторам скриптов."
+"может быть полезна и разработчикам NetBSD, потому что две ветки BSD [."
+"filename]#rc.d# не только разделяют одинаковый дизайн, но и остаются схожими "
+"в аспектах, видимых авторам скриптов."
#. type: Title ==
#: documentation/content/en/articles/rc-scripting/_index.adoc:110
@@ -272,7 +273,7 @@ msgstr ""
msgid "Outlining the task"
msgstr "Обрисовка задачи"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:114
msgid ""
"A little consideration before starting `$EDITOR` will not hurt. To write a "
@@ -283,12 +284,12 @@ msgstr ""
"хорошо продуманный скрипт [.filename]#rc.d# для системной службы, сначала "
"нужно ответить на следующие вопросы:"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:116
msgid "Is the service mandatory or optional?"
msgstr "Является ли служба обязательной или опциональной?"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:117
msgid ""
"Will the script serve a single program, e.g., a daemon, or perform more "
@@ -297,12 +298,12 @@ msgstr ""
"Будет ли скрипт обслуживать одну программу, например, демон, или выполнять "
"более сложные действия?"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:118
msgid "Which other services will our service depend on, and vice versa?"
msgstr "От каких других служб зависит наша служба, и наоборот?"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:120
msgid ""
"From the examples that follow we will see why it is important to know the "
@@ -316,7 +317,7 @@ msgstr ""
msgid "A dummy script"
msgstr "Примитивный скрипт"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:125
msgid ""
"The following script just emits a message each time the system boots up:"
@@ -477,9 +478,9 @@ msgid ""
"script _must_ set `name` before it calls man:rc.subr[8] functions."
msgstr ""
"&#10124; [[name-var]]Обязательная переменная `name` определяет имя нашего "
-"скрипта. Она требуется man:rc.subr[8]. То есть, каждый скрипт в "
-"[.filename]#rc.d# _должен_ установить `name` перед вызовом функций "
-"man:rc.subr[8]."
+"скрипта. Она требуется man:rc.subr[8]. То есть, каждый скрипт в [."
+"filename]#rc.d# _должен_ установить `name` перед вызовом функций man:rc."
+"subr[8]."
#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:191
@@ -528,23 +529,23 @@ msgid ""
"particular, `start`, `stop`, and other arguments to an [.filename]#rc.d# "
"script are handled this way. A method is a man:sh[1] expression stored in a "
"variable named `argument_cmd`, where _argument_ corresponds to what can be "
-"specified on the script's command line. We will see later how "
-"man:rc.subr[8] provides default methods for the standard arguments."
-msgstr ""
-"&#10125; Основная идея man:rc.subr[8] заключается в том, что скрипт "
-"[.filename]#rc.d# предоставляет обработчики (или методы) для вызова "
-"man:rc.subr[8]. В частности, аргументы `start`, `stop` и другие, "
-"передаваемые в скрипт [.filename]#rc.d#, обрабатываются таким образом. Метод "
-"представляет собой выражение man:sh[1], сохранённое в переменной с именем "
-"`argument_cmd`, где _argument_ соответствует тому, что может быть указано в "
-"командной строке скрипта. Далее мы увидим, как man:rc.subr[8] предоставляет "
-"стандартные методы для типовых аргументов."
+"specified on the script's command line. We will see later how man:rc."
+"subr[8] provides default methods for the standard arguments."
+msgstr ""
+"&#10125; Основная идея man:rc.subr[8] заключается в том, что скрипт [."
+"filename]#rc.d# предоставляет обработчики (или методы) для вызова man:rc."
+"subr[8]. В частности, аргументы `start`, `stop` и другие, передаваемые в "
+"скрипт [.filename]#rc.d#, обрабатываются таким образом. Метод представляет "
+"собой выражение man:sh[1], сохранённое в переменной с именем `argument_cmd`, "
+"где _argument_ соответствует тому, что может быть указано в командной строке "
+"скрипта. Далее мы увидим, как man:rc.subr[8] предоставляет стандартные "
+"методы для типовых аргументов."
#. type: delimited block = 4
#: documentation/content/en/articles/rc-scripting/_index.adoc:209
msgid ""
-"To make the code in [.filename]#rc.d# more uniform, it is common to use `$"
-"{name}` wherever appropriate. Thus a number of lines can be just copied "
+"To make the code in [.filename]#rc.d# more uniform, it is common to use "
+"`${name}` wherever appropriate. Thus a number of lines can be just copied "
"from one script to another."
msgstr ""
"Чтобы сделать код в [.filename]#rc.d# более единообразным, обычно используют "
@@ -587,14 +588,14 @@ msgstr ""
#: documentation/content/en/articles/rc-scripting/_index.adoc:224
msgid ""
"&#10128; This call to man:rc.subr[8] loads man:rc.conf[5] variables. Our "
-"script makes no use of them yet, but it still is recommended to load "
-"man:rc.conf[5] because there can be man:rc.conf[5] variables controlling "
-"man:rc.subr[8] itself."
+"script makes no use of them yet, but it still is recommended to load man:rc."
+"conf[5] because there can be man:rc.conf[5] variables controlling man:rc."
+"subr[8] itself."
msgstr ""
"&#10128; Этот вызов man:rc.subr[8] загружает переменные man:rc.conf[5]. Наш "
-"скрипт пока их не использует, но всё равно рекомендуется загружать "
-"man:rc.conf[5], потому что могут быть переменные man:rc.conf[5], управляющие "
-"самим man:rc.subr[8]."
+"скрипт пока их не использует, но всё равно рекомендуется загружать man:rc."
+"conf[5], потому что могут быть переменные man:rc.conf[5], управляющие самим "
+"man:rc.subr[8]."
#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:227
@@ -616,8 +617,8 @@ msgstr "Настраиваемый фиктивный скрипт"
#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:239
msgid ""
-"Now let us add some controls to our dummy script. As you may know, "
-"[.filename]#rc.d# scripts are controlled with man:rc.conf[5]. Fortunately, "
+"Now let us add some controls to our dummy script. As you may know, [."
+"filename]#rc.d# scripts are controlled with man:rc.conf[5]. Fortunately, "
"man:rc.subr[8] hides all the complications from us. The following script "
"uses man:rc.conf[5] via man:rc.subr[8] to see whether it is enabled in the "
"first place, and to fetch a message to show at boot time. These two tasks "
@@ -627,15 +628,14 @@ msgid ""
"will do both things in the same script though:"
msgstr ""
"Теперь добавим некоторые элементы управления в наш тестовый скрипт. Как вам "
-"может быть известно, скрипты [.filename]#rc.d# управляются с помощью "
-"man:rc.conf[5]. К счастью, man:rc.subr[8] скрывает от нас все сложности. "
-"Следующий скрипт использует man:rc.conf[5] через man:rc.subr[8], чтобы "
-"проверить, включен ли он вообще, и получить сообщение для отображения во "
-"время загрузки. Эти две задачи на самом деле независимы. С одной стороны, "
-"скрипт [.filename]#rc.d# может просто поддерживать включение и выключение "
-"своего сервиса. С другой стороны, обязательный скрипт [.filename]#rc.d# "
-"может иметь переменные конфигурации. Однако мы реализуем обе возможности в "
-"одном скрипте:"
+"может быть известно, скрипты [.filename]#rc.d# управляются с помощью man:rc."
+"conf[5]. К счастью, man:rc.subr[8] скрывает от нас все сложности. Следующий "
+"скрипт использует man:rc.conf[5] через man:rc.subr[8], чтобы проверить, "
+"включен ли он вообще, и получить сообщение для отображения во время "
+"загрузки. Эти две задачи на самом деле независимы. С одной стороны, скрипт [."
+"filename]#rc.d# может просто поддерживать включение и выключение своего "
+"сервиса. С другой стороны, обязательный скрипт [.filename]#rc.d# может иметь "
+"переменные конфигурации. Однако мы реализуем обе возможности в одном скрипте:"
#. type: delimited block . 4
#: documentation/content/en/articles/rc-scripting/_index.adoc:243
@@ -766,8 +766,8 @@ msgid ""
"knob. The canonical approach to the latter case is shown in the example."
msgstr ""
"&#10124; `run_rc_command` выдаст предупреждение, если переменная `rcvar` "
-"установлена, но указанная переменная-флаг не задана. Если ваш скрипт "
-"[.filename]#rc.d# предназначен для базовой системы, вы должны добавить "
+"установлена, но указанная переменная-флаг не задана. Если ваш скрипт [."
+"filename]#rc.d# предназначен для базовой системы, вы должны добавить "
"значение по умолчанию для флага в [.filename]#/etc/defaults/rc.conf# и "
"задокументировать его в man:rc.conf[5]. В противном случае ваш скрипт должен "
"предоставить значение по умолчанию для флага. Канонический подход для "
@@ -807,11 +807,11 @@ msgid ""
"control an [.filename]#rc.d# script."
msgstr ""
"&#10125; Теперь сообщение, отображаемое при загрузке, больше не жестко "
-"закодировано в скрипте. Оно задается переменной `dummy_msg` в "
-"man:rc.conf[5]. Это простой пример того, как переменные man:rc.conf[5] могут "
-"управлять скриптом в [.filename]#rc.d#."
+"закодировано в скрипте. Оно задается переменной `dummy_msg` в man:rc.conf[5]"
+". Это простой пример того, как переменные man:rc.conf[5] могут управлять "
+"скриптом в [.filename]#rc.d#."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:304
msgid ""
"The names of all man:rc.conf[5] variables used exclusively by our script "
@@ -822,7 +822,7 @@ msgstr ""
"скриптом, _должны_ иметь один и тот же префикс: `${name}_`. Например: "
"`dummy_mode`, `dummy_state_file` и так далее."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:309
msgid ""
"While it is possible to use a shorter name internally, e.g., just `msg`, "
@@ -835,13 +835,13 @@ msgstr ""
"вводимым нашим скриптом, избавит нас от возможных конфликтов с пространством "
"имен man:rc.subr[8]."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:312
msgid ""
"As a rule, [.filename]#rc.d# scripts of the base system need not provide "
"defaults for their man:rc.conf[5] variables because the defaults should be "
-"set in [.filename]#/etc/defaults/rc.conf# instead. On the other hand, "
-"[.filename]#rc.d# scripts for ports should provide the defaults as shown in "
+"set in [.filename]#/etc/defaults/rc.conf# instead. On the other hand, [."
+"filename]#rc.d# scripts for ports should provide the defaults as shown in "
"the example."
msgstr ""
"Как правило, скрипты [.filename]#rc.d# базовой системы не должны "
@@ -850,7 +850,7 @@ msgstr ""
"defaults/rc.conf#. С другой стороны, скрипты [.filename]#rc.d# для портов "
"должны предоставлять значения по умолчанию, как показано в примере."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/articles/rc-scripting/_index.adoc:316
msgid ""
"&#10126; Here we use `dummy_msg` to actually control our script, i.e., to "
@@ -1006,12 +1006,12 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/rc-scripting/_index.adoc:378
msgid ""
-"Of course, man:sh[1] will permit you to set `${name}_program` from "
-"man:rc.conf[5] or the script itself even if `command` is unset. In that "
-"case, the special properties of `${name}_program` are lost, and it becomes "
-"an ordinary variable your script can use for its own purposes. However, the "
-"sole use of `${name}_program` is discouraged because using it together with "
-"`command` became an idiom of [.filename]#rc.d# scripting."
+"Of course, man:sh[1] will permit you to set `${name}_program` from man:rc."
+"conf[5] or the script itself even if `command` is unset. In that case, the "
+"special properties of `${name}_program` are lost, and it becomes an ordinary "
+"variable your script can use for its own purposes. However, the sole use of "
+"`${name}_program` is discouraged because using it together with `command` "
+"became an idiom of [.filename]#rc.d# scripting."
msgstr ""
"Конечно, man:sh[1] позволяет установить `${name}_program` из man:rc.conf[5] "
"или самого скрипта, даже если `command` не задан. В этом случае специальные "
@@ -1067,7 +1067,8 @@ msgstr "pidfile=\"/var/run/${name}.pid\" <.>\n"
#: documentation/content/en/articles/rc-scripting/_index.adoc:404
#, no-wrap
msgid "required_files=\"/etc/${name}.conf /usr/share/misc/${name}.rules\" <.>\n"
-msgstr "required_files=\"/etc/${name}.conf /usr/share/misc/${name}.rules\" <.>\n"
+msgstr ""
+"required_files=\"/etc/${name}.conf /usr/share/misc/${name}.rules\" <.>\n"
#. type: delimited block . 4
#: documentation/content/en/articles/rc-scripting/_index.adoc:406
@@ -1171,10 +1172,10 @@ msgid ""
"`command_args`."
msgstr ""
"&#10122; Дополнительные аргументы для `$command` могут быть переданы в "
-"`command_args`. Они будут добавлены в командную строку после "
-"`$mumbled_flags`. Поскольку итоговая командная строка передаётся в `eval` "
-"для фактического выполнения, перенаправления ввода и вывода могут быть "
-"указаны в `command_args`."
+"`command_args`. Они будут добавлены в командную строку после `$mumbled_flags`"
+". Поскольку итоговая командная строка передаётся в `eval` для фактического "
+"выполнения, перенаправления ввода и вывода могут быть указаны в "
+"`command_args`."
#. type: delimited block = 4
#: documentation/content/en/articles/rc-scripting/_index.adoc:455
@@ -1192,9 +1193,9 @@ msgstr ""
"командной строки, поэтому, скорее всего, окажется после аргументов, "
"указанных в `${name}_flags`; однако большинство команд не распознают "
"параметры с дефисами после обычных аргументов. Лучший способ передать "
-"дополнительные параметры в `$command` — добавить их в начало `${name}"
-"_flags`. Другой способ — изменить `rc_flags` crossref:rc-scripting[rc-flags, "
-"как показано далее]."
+"дополнительные параметры в `$command` — добавить их в начало `${name}_flags`"
+". Другой способ — изменить `rc_flags` crossref:rc-scripting[rc-flags, как "
+"показано далее]."
#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:459
@@ -1312,9 +1313,9 @@ msgid ""
"makes the real job is a good style in most cases, but never let style limit "
"your understanding of what is going on behind the curtain."
msgstr ""
-"Не забывайте, что вы можете вставлять любые допустимые выражения из "
-"man:sh[1] в определяемые вами методы, а также команды pre- и post-. Просто "
-"вызывать функцию, которая выполняет основную работу, — это хороший стиль в "
+"Не забывайте, что вы можете вставлять любые допустимые выражения из man:sh[1]"
+" в определяемые вами методы, а также команды pre- и post-. Просто вызывать "
+"функцию, которая выполняет основную работу, — это хороший стиль в "
"большинстве случаев, но никогда не позволяйте стилю ограничивать ваше "
"понимание того, что происходит за кулисами."
@@ -1404,7 +1405,8 @@ msgid ""
"Usage: /etc/rc.d/mumbled [fast|force|one](start|stop|restart|rcvar|reload|plugh|xyzzy|status|poll)\n"
msgstr ""
"# /etc/rc.d/mumbled\n"
-"Usage: /etc/rc.d/mumbled [fast|force|one](start|stop|restart|rcvar|reload|plugh|xyzzy|status|poll)\n"
+"Usage: /etc/rc.d/mumbled "
+"[fast|force|one](start|stop|restart|rcvar|reload|plugh|xyzzy|status|poll)\n"
#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:537
@@ -1414,8 +1416,8 @@ msgid ""
"commands and shell functions are not always the same thing. For instance, "
"`xyzzy` is not implemented as a function here. In addition, there can be a "
"pre-command and post-command, which should be invoked orderly. So the "
-"proper way for a script to run its own command is by means of "
-"man:rc.subr[8], as shown in the example."
+"proper way for a script to run its own command is by means of man:rc."
+"subr[8], as shown in the example."
msgstr ""
"&#9453; Скрипт может вызывать свои собственные стандартные или нестандартные "
"команды, если это необходимо. Это может выглядеть похоже на вызов функций, "
@@ -1440,9 +1442,9 @@ msgstr ""
"принимает имя переменной в качестве аргумента и возвращает нулевой код "
"выхода только если переменная установлена в `YES`, `TRUE`, `ON` или `1`, без "
"учёта регистра; в противном случае возвращается ненулевой код выхода. В "
-"последнем случае функция проверяет, установлена ли переменная в `NO`, "
-"`FALSE`, `OFF` или `0`, также без учёта регистра; если переменная содержит "
-"что-то иное (т.е. мусор), функция выводит предупреждение."
+"последнем случае функция проверяет, установлена ли переменная в `NO`, `FALSE`"
+", `OFF` или `0`, также без учёта регистра; если переменная содержит что-то "
+"иное (т.е. мусор), функция выводит предупреждение."
#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:545
@@ -1535,7 +1537,7 @@ msgstr ""
"выхода, основной метод не будет выполнен. В свою очередь, `argument_postcmd` "
"не будет вызван, если основной метод возвращает ненулевой код выхода."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:584
msgid ""
"However, man:rc.subr[8] can be instructed from the command line to ignore "
@@ -1552,32 +1554,30 @@ msgstr ""
msgid "Connecting a script to the rc.d framework"
msgstr "Подключение скрипта к инфраструктуре rc.d"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/articles/rc-scripting/_index.adoc:594
msgid ""
-"After a script has been written, it needs to be integrated into "
-"[.filename]#rc.d#. The crucial step is to install the script in "
-"[.filename]#/etc/rc.d# (for the base system) or [.filename]#/usr/local/etc/"
-"rc.d# (for ports). Both [.filename]#bsd.prog.mk# and "
-"[.filename]#bsd.port.mk# provide convenient hooks for that, and usually you "
-"do not have to worry about the proper ownership and mode. System scripts "
-"should be installed from [.filename]#src/libexec/rc/rc.d# through the "
-"[.filename]#Makefile# found there. Port scripts can be installed using "
-"`USE_RC_SUBR` as described extref:{porters-handbook}[in the Porter's "
-"Handbook, rc-scripts]."
+"After a script has been written, it needs to be integrated into [."
+"filename]#rc.d#. The crucial step is to install the script in [.filename]#/"
+"etc/rc.d# (for the base system) or [.filename]#/usr/local/etc/rc.d# (for "
+"ports). Both [.filename]#bsd.prog.mk# and [.filename]#bsd.port.mk# provide "
+"convenient hooks for that, and usually you do not have to worry about the "
+"proper ownership and mode. System scripts should be installed from [."
+"filename]#src/libexec/rc/rc.d# through the [.filename]#Makefile# found "
+"there. Port scripts can be installed using `USE_RC_SUBR` as described "
+"extref:{porters-handbook}[in the Porter's Handbook, rc-scripts]."
msgstr ""
"После написания скрипта его необходимо интегрировать в [.filename]#rc.d#. "
"Ключевой шаг — установка скрипта в [.filename]#/etc/rc.d# (для базовой "
-"системы) или [.filename]#/usr/local/etc/rc.d# (для портов). И "
-"[.filename]#bsd.prog.mk#, и [.filename]#bsd.port.mk# предоставляют удобные "
-"механизмы для этого, и обычно вам не нужно беспокоиться о правильных правах "
-"доступа и режиме. Системные скрипты должны устанавливаться из "
-"[.filename]#src/libexec/rc/rc.d# через [.filename]#Makefile#, находящийся "
-"там. Скрипты портов можно установить с помощью `USE_RC_SUBR`, как описано "
-"extref:{porters-handbook}special/[в Руководстве FreeBSD по созданию портов, "
-"rc-скрипты]."
+"системы) или [.filename]#/usr/local/etc/rc.d# (для портов). И [.filename]#bsd"
+".prog.mk#, и [.filename]#bsd.port.mk# предоставляют удобные механизмы для "
+"этого, и обычно вам не нужно беспокоиться о правильных правах доступа и "
+"режиме. Системные скрипты должны устанавливаться из [.filename]#src/libexec/"
+"rc/rc.d# через [.filename]#Makefile#, находящийся там. Скрипты портов можно "
+"установить с помощью `USE_RC_SUBR`, как описано extref:{porters-handbook}"
+"special/[в Руководстве FreeBSD по созданию портов, rc-скрипты]."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/articles/rc-scripting/_index.adoc:599
msgid ""
"However, we should consider beforehand the place of our script in the system "
@@ -1594,7 +1594,7 @@ msgstr ""
"не требует, он вряд ли сможет запуститься до проверки и монтирования "
"основных файловых систем."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/articles/rc-scripting/_index.adoc:605
msgid ""
"We mentioned man:rcorder[8] already. Now it is time to have a close look at "
@@ -1611,7 +1611,7 @@ msgstr ""
"зависимостях _внутри_ файлов, чтобы каждый файл мог описывать только себя. "
"Файл может содержать следующую информацию:"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/articles/rc-scripting/_index.adoc:607
msgid ""
"the names of the \"conditions\" (which means services to us) it __provides__;"
@@ -1619,17 +1619,17 @@ msgstr ""
"имена \"условий\" (что для нас означает сервисы), которые он "
"__предоставляет__;"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/articles/rc-scripting/_index.adoc:608
msgid "the names of the \"conditions\" it __requires__;"
msgstr "имена \"условий\", которые он __требует__;"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/articles/rc-scripting/_index.adoc:609
msgid "the names of the \"conditions\" this file should run __before__;"
msgstr "имена \"условий\", перед которыми должен выполняться этот файл;"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/articles/rc-scripting/_index.adoc:610
msgid ""
"additional _keywords_ that can be used to select a subset from the whole set "
@@ -1641,13 +1641,13 @@ msgstr ""
"помощью опций для включения или исключения файлов, содержащих указанные "
"ключевые слова.)"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/articles/rc-scripting/_index.adoc:615
msgid ""
"It is no surprise that man:rcorder[8] can handle only text files with a "
-"syntax close to that of man:sh[1]. That is, special lines understood by "
-"man:rcorder[8] look like man:sh[1] comments. The syntax of such special "
-"lines is rather rigid to simplify their processing. See man:rcorder[8] for "
+"syntax close to that of man:sh[1]. That is, special lines understood by man:"
+"rcorder[8] look like man:sh[1] comments. The syntax of such special lines "
+"is rather rigid to simplify their processing. See man:rcorder[8] for "
"details."
msgstr ""
"Неудивительно, что man:rcorder[8] может обрабатывать только текстовые файлы "
@@ -1656,7 +1656,7 @@ msgstr ""
"специальных строк довольно жёсткий, чтобы упростить их обработку. "
"Подробности см. в man:rcorder[8]."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/articles/rc-scripting/_index.adoc:618
msgid ""
"Besides using man:rcorder[8] special lines, a script can insist on its "
@@ -1670,7 +1670,7 @@ msgstr ""
"опциональной и не запускается самостоятельно, потому что системный "
"администратор ошибочно отключил её в man:rc.conf[5]."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/articles/rc-scripting/_index.adoc:620
msgid ""
"With this general knowledge in mind, let us consider the simple daemon "
@@ -1764,26 +1764,26 @@ msgstr ""
#: documentation/content/en/articles/rc-scripting/_index.adoc:666
msgid ""
"&#10123;&#10124; So our script indicates which \"conditions\" provided by "
-"other scripts it depends on. According to the lines, our script asks "
-"man:rcorder[8] to put it after the script(s) providing [.filename]#DAEMON# "
-"and [.filename]#cleanvar#, but before that providing [.filename]#LOGIN#."
+"other scripts it depends on. According to the lines, our script asks man:"
+"rcorder[8] to put it after the script(s) providing [.filename]#DAEMON# and [."
+"filename]#cleanvar#, but before that providing [.filename]#LOGIN#."
msgstr ""
"&#10123;&#10124; Таким образом, наш скрипт указывает, от каких \"условий\", "
"предоставляемых другими скриптами, он зависит. Согласно строкам, наш скрипт "
-"просит man:rcorder[8] разместить его после скрипта(ов), предоставляющих "
-"[.filename]#DAEMON# и [.filename]#cleanvar#, но перед тем, который "
+"просит man:rcorder[8] разместить его после скрипта(ов), предоставляющих [."
+"filename]#DAEMON# и [.filename]#cleanvar#, но перед тем, который "
"предоставляет [.filename]#LOGIN#."
#. type: delimited block = 4
#: documentation/content/en/articles/rc-scripting/_index.adoc:672
msgid ""
"The `BEFORE:` line should not be abused to work around an incomplete "
-"dependency list in the other script. The appropriate case for using "
-"`BEFORE:` is when the other script does not care about ours, but our script "
-"can do its task better if run before the other one. A typical real-life "
-"example is the network interfaces vs. the firewall: While the interfaces do "
-"not depend on the firewall in doing their job, the system security will "
-"benefit from the firewall being ready before there is any network traffic."
+"dependency list in the other script. The appropriate case for using `BEFORE:"
+"` is when the other script does not care about ours, but our script can do "
+"its task better if run before the other one. A typical real-life example is "
+"the network interfaces vs. the firewall: While the interfaces do not depend "
+"on the firewall in doing their job, the system security will benefit from "
+"the firewall being ready before there is any network traffic."
msgstr ""
"Строку `BEFORE:` не следует использовать для обхода неполного списка "
"зависимостей в другом скрипте. Правильный случай для использования `BEFORE:` "
@@ -1798,26 +1798,25 @@ msgstr ""
msgid ""
"Besides conditions corresponding to a single service each, there are meta-"
"conditions and their \"placeholder\" scripts used to ensure that certain "
-"groups of operations are performed before others. These are denoted by "
-"[.filename]#UPPERCASE# names. Their list and purposes can be found in "
-"man:rc[8]."
+"groups of operations are performed before others. These are denoted by [."
+"filename]#UPPERCASE# names. Their list and purposes can be found in man:"
+"rc[8]."
msgstr ""
"Помимо условий, соответствующих отдельным службам, существуют метаусловия и "
"их \"заглушки\" скриптов, используемые для обеспечения выполнения "
-"определённых групп операций в заданном порядке. Они обозначаются именами в "
-"[.filename]#ВЕРХНЕМ РЕГИСТРЕ#. Их список и назначение можно найти в "
-"man:rc[8]."
+"определённых групп операций в заданном порядке. Они обозначаются именами в [."
+"filename]#ВЕРХНЕМ РЕГИСТРЕ#. Их список и назначение можно найти в man:rc[8]."
#. type: delimited block = 4
#: documentation/content/en/articles/rc-scripting/_index.adoc:682
msgid ""
"Keep in mind that putting a service name in the `REQUIRE:` line does not "
"guarantee that the service will actually be running by the time our script "
-"starts. The required service may fail to start or just be disabled in "
-"man:rc.conf[5]. Obviously, man:rcorder[8] cannot track such details, and "
-"man:rc[8] will not do that either. Consequently, the application started by "
-"our script should be able to cope with any required services being "
-"unavailable. In certain cases, we can help it as discussed crossref:rc-"
+"starts. The required service may fail to start or just be disabled in man:"
+"rc.conf[5]. Obviously, man:rcorder[8] cannot track such details, and man:"
+"rc[8] will not do that either. Consequently, the application started by our "
+"script should be able to cope with any required services being unavailable. "
+"In certain cases, we can help it as discussed crossref:rc-"
"scripting[forcedep, below]"
msgstr ""
"Имейте в виду, что указание имени службы в строке `REQUIRE:` не гарантирует, "
@@ -1826,19 +1825,19 @@ msgstr ""
"Очевидно, man:rcorder[8] не может отслеживать такие детали, и man:rc[8] тоже "
"этого не делает. Следовательно, приложение, запускаемое нашим скриптом, "
"должно быть способно обрабатывать ситуации, когда требуемые службы "
-"недоступны. В некоторых случаях мы можем помочь ему, как описано в "
-"crossref:rc-scripting[forcedep, ниже]"
+"недоступны. В некоторых случаях мы можем помочь ему, как описано в crossref"
+":rc-scripting[forcedep, ниже]"
#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:687
msgid ""
"[[keywords]]&#10125; As we remember from the above text, man:rcorder[8] "
-"keywords can be used to select or leave out some scripts. Namely any "
-"man:rcorder[8] consumer can specify through `-k` and `-s` options which "
-"keywords are on the \"keep list\" and \"skip list\", respectively. From all "
-"the files to be dependency sorted, man:rcorder[8] will pick only those "
-"having a keyword from the keep list (unless empty) and not having a keyword "
-"from the skip list."
+"keywords can be used to select or leave out some scripts. Namely any man:"
+"rcorder[8] consumer can specify through `-k` and `-s` options which keywords "
+"are on the \"keep list\" and \"skip list\", respectively. From all the "
+"files to be dependency sorted, man:rcorder[8] will pick only those having a "
+"keyword from the keep list (unless empty) and not having a keyword from the "
+"skip list."
msgstr ""
"[[keywords]]&#10125; Как мы помним из текста выше, ключевые слова "
"man:rcorder[8] могут использоваться для выбора или исключения некоторых "
@@ -1853,8 +1852,8 @@ msgstr ""
#: documentation/content/en/articles/rc-scripting/_index.adoc:690
msgid ""
"In FreeBSD, man:rcorder[8] is used by [.filename]#/etc/rc# and [.filename]#/"
-"etc/rc.shutdown#. These two scripts define the standard list of FreeBSD "
-"[.filename]#rc.d# keywords and their meanings as follows:"
+"etc/rc.shutdown#. These two scripts define the standard list of FreeBSD [."
+"filename]#rc.d# keywords and their meanings as follows:"
msgstr ""
"В FreeBSD, man:rcorder[8] используется [.filename]#/etc/rc# и [.filename]#/"
"etc/rc.shutdown#. Эти два скрипта определяют стандартный список ключевых "
@@ -1886,13 +1885,13 @@ msgstr "nostart"
#: documentation/content/en/articles/rc-scripting/_index.adoc:697
msgid ""
"The service is to be started manually or not started at all. The automatic "
-"startup procedure will ignore the script. In conjunction with the "
-"[.filename]#shutdown# keyword, this can be used to write scripts that do "
+"startup procedure will ignore the script. In conjunction with the [."
+"filename]#shutdown# keyword, this can be used to write scripts that do "
"something only at system shutdown."
msgstr ""
"Служба должна запускаться вручную или не запускаться вовсе. Процедура "
-"автоматического запуска проигнорирует скрипт. В сочетании с ключевым словом "
-"[.filename]#shutdown# это может использоваться для написания скриптов, "
+"автоматического запуска проигнорирует скрипт. В сочетании с ключевым словом ["
+".filename]#shutdown# это может использоваться для написания скриптов, "
"выполняющих действия только при выключении системы."
#. type: Labeled list
@@ -1915,13 +1914,13 @@ msgstr ""
msgid ""
"When the system is going to shut down, [.filename]#/etc/rc.shutdown# runs. "
"It assumes that most [.filename]#rc.d# scripts have nothing to do at that "
-"time. Therefore [.filename]#/etc/rc.shutdown# selectively invokes "
-"[.filename]#rc.d# scripts with the [.filename]#shutdown# keyword, "
-"effectively ignoring the rest of the scripts. For even faster shutdown, "
-"[.filename]#/etc/rc.shutdown# passes the [.filename]#faststop# command to "
-"the scripts it runs so that they skip preliminary checks, e.g., the pidfile "
-"check. As dependent services should be stopped before their prerequisites, "
-"[.filename]#/etc/rc.shutdown# runs the scripts in reverse dependency order. "
+"time. Therefore [.filename]#/etc/rc.shutdown# selectively invokes [."
+"filename]#rc.d# scripts with the [.filename]#shutdown# keyword, effectively "
+"ignoring the rest of the scripts. For even faster shutdown, [.filename]#/"
+"etc/rc.shutdown# passes the [.filename]#faststop# command to the scripts it "
+"runs so that they skip preliminary checks, e.g., the pidfile check. As "
+"dependent services should be stopped before their prerequisites, [."
+"filename]#/etc/rc.shutdown# runs the scripts in reverse dependency order. "
"If writing a real [.filename]#rc.d# script, you should consider whether it "
"is relevant at system shutdown time. E.g., if your script does its work in "
"response to the [.filename]#start# command only, then you need not to "
@@ -1932,17 +1931,17 @@ msgid ""
"special actions to shut down cleanly. A typical example of such a service "
"is a database engine."
msgstr ""
-"Когда система собирается завершить работу, выполняется [.filename]#/etc/"
-"rc.shutdown#. Предполагается, что большинству скриптов [.filename]#rc.d# в "
-"этот момент нечего делать. Поэтому [.filename]#/etc/rc.shutdown# выборочно "
+"Когда система собирается завершить работу, выполняется [.filename]#/etc/rc."
+"shutdown#. Предполагается, что большинству скриптов [.filename]#rc.d# в этот "
+"момент нечего делать. Поэтому [.filename]#/etc/rc.shutdown# выборочно "
"запускает скрипты [.filename]#rc.d# с ключевым словом [.filename]#shutdown#, "
"фактически игнорируя остальные скрипты. Для ещё более быстрого завершения "
"работы [.filename]#/etc/rc.shutdown# передаёт команду [.filename]#faststop# "
"запускаемым скриптам, чтобы они пропускали предварительные проверки, "
"например, проверку pid-файла. Поскольку зависимые службы должны быть "
"остановлены до своих зависимостей, [.filename]#/etc/rc.shutdown# запускает "
-"скрипты в обратном порядке зависимостей. Если вы пишете настоящий скрипт "
-"[.filename]#rc.d#, стоит подумать, актуален ли он во время завершения работы "
+"скрипты в обратном порядке зависимостей. Если вы пишете настоящий скрипт [."
+"filename]#rc.d#, стоит подумать, актуален ли он во время завершения работы "
"системы. Например, если ваш скрипт выполняет свою работу только в ответ на "
"команду [.filename]#start#, то включать это ключевое слово не нужно. Однако "
"если ваш скрипт управляет службой, вероятно, стоит остановить её до того, "
@@ -1981,8 +1980,8 @@ msgstr ""
"демон, `frotz`, был запущен заранее. Однако `frotz` также является "
"опциональным, и man:rcorder[8] ничего не знает о таких деталях. К счастью, "
"наш скрипт имеет доступ ко всем переменным man:rc.conf[5]. Если "
-"`frotz_enable` имеет значение true, мы надеемся на лучшее и полагаемся на "
-"[.filename]#rc.d#, что `frotz` был запущен. В противном случае мы "
+"`frotz_enable` имеет значение true, мы надеемся на лучшее и полагаемся на [."
+"filename]#rc.d#, что `frotz` был запущен. В противном случае мы "
"принудительно проверяем статус `frotz`. Наконец, мы принудительно "
"устанавливаем зависимость от `frotz`, если обнаруживаем, что он не запущен. "
"`force_depend` выдаст предупреждение, так как его следует вызывать только в "
@@ -1998,8 +1997,8 @@ msgstr "Придание большей гибкости скрипту rc.d"
#: documentation/content/en/articles/rc-scripting/_index.adoc:736
msgid ""
"When invoked during startup or shutdown, an [.filename]#rc.d# script is "
-"supposed to act on the entire subsystem it is responsible for. E.g., "
-"[.filename]#/etc/rc.d/netif# should start or stop all network interfaces "
+"supposed to act on the entire subsystem it is responsible for. E.g., [."
+"filename]#/etc/rc.d/netif# should start or stop all network interfaces "
"described by man:rc.conf[5]. Either task can be uniquely indicated by a "
"single command argument such as `start` or `stop`. Between startup and "
"shutdown, [.filename]#rc.d# scripts help the admin to control the running "
@@ -2012,8 +2011,8 @@ msgid ""
"interface name."
msgstr ""
"При вызове во время запуска или завершения работы скрипт [.filename]#rc.d# "
-"должен воздействовать на всю подсистему, за которую он отвечает. Например, "
-"[.filename]#/etc/rc.d/netif# должен запускать или останавливать все сетевые "
+"должен воздействовать на всю подсистему, за которую он отвечает. Например, [."
+"filename]#/etc/rc.d/netif# должен запускать или останавливать все сетевые "
"интерфейсы, описанные в man:rc.conf[5]. Любая из этих задач может быть "
"однозначно указана единственным аргументом команды, таким как `start` или "
"`stop`. Между запуском и завершением работы скрипты [.filename]#rc.d# "
@@ -2022,8 +2021,8 @@ msgstr ""
"может добавить настройки нового сетевого интерфейса в man:rc.conf[5], а "
"затем запустить его, не затрагивая работу существующих интерфейсов. В "
"следующий раз администратору может потребоваться остановить отдельный "
-"сетевой интерфейс. В духе командной строки, соответствующий скрипт "
-"[.filename]#rc.d# требует дополнительного аргумента — имени интерфейса."
+"сетевой интерфейс. В духе командной строки, соответствующий скрипт [."
+"filename]#rc.d# требует дополнительного аргумента — имени интерфейса."
#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:739
@@ -2032,18 +2031,18 @@ msgid ""
"script's methods (within the system limits). Due to that, the changes in "
"the script itself can be minimal."
msgstr ""
-"К счастью, man:rc.subr[8] позволяет передавать любое количество аргументов "
-"(в пределах системных ограничений) методам скрипта. Благодаря этому "
-"изменения в самом скрипте могут быть минимальными."
+"К счастью, man:rc.subr[8] позволяет передавать любое количество аргументов ("
+"в пределах системных ограничений) методам скрипта. Благодаря этому изменения "
+"в самом скрипте могут быть минимальными."
#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:744
msgid ""
"How can man:rc.subr[8] gain access to the extra command-line arguments. "
"Should it just grab them directly? Not by any means. Firstly, an man:sh[1] "
-"function has no access to the positional parameters of its caller, but "
-"man:rc.subr[8] is just a sack of such functions. Secondly, the good manner "
-"of [.filename]#rc.d# dictates that it is for the main script to decide which "
+"function has no access to the positional parameters of its caller, but man:"
+"rc.subr[8] is just a sack of such functions. Secondly, the good manner of [."
+"filename]#rc.d# dictates that it is for the main script to decide which "
"arguments are to be passed to its methods."
msgstr ""
"Как man:rc.subr[8] может получить доступ к дополнительным аргументам "
@@ -2065,10 +2064,10 @@ msgid ""
msgstr ""
"Итак, подход, принятый в man:rc.subr[8], следующий: `run_rc_command` "
"передаёт все свои аргументы, кроме первого, в соответствующий метод в "
-"неизменном виде. Первый, опущенный аргумент — это имя самого метода: "
-"`start`, `stop` и т.д. Он будет удалён с помощью `shift` в `run_rc_command`, "
-"так что то, что было `$2` в оригинальной командной строке, будет "
-"представлено как `$1` в методе, и так далее."
+"неизменном виде. Первый, опущенный аргумент — это имя самого метода: `start`"
+", `stop` и т.д. Он будет удалён с помощью `shift` в `run_rc_command`, так "
+"что то, что было `$2` в оригинальной командной строке, будет представлено "
+"как `$1` в методе, и так далее."
#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:751
@@ -2434,8 +2433,8 @@ msgid ""
"(e.g., set inside man:rc.conf[5]), this needs to be handled by "
"``load_rc_config`` and ``run_rc_command`` instead of inside a precommand."
msgstr ""
-"Если настройка запуска/остановки зависит от переменных из rc-фреймворка "
-"(например, заданных в man:rc.conf[5]), это должно обрабатываться с помощью "
+"Если настройка запуска/остановки зависит от переменных из rc-фреймворка ("
+"например, заданных в man:rc.conf[5]), это должно обрабатываться с помощью "
"``load_rc_config`` и ``run_rc_command``, а не внутри precommand."
#. type: Plain text
@@ -2602,15 +2601,15 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:978
msgid ""
-"&#10122; and &#10123; make sure to set the name variable to the "
-"man:basename[1] of the script name. If the filename is [.filename]#/usr/"
-"local/etc/rc.d/dummy#, name is set to [.filename]#dummy#. This way changing "
-"the filename of the rc script changes automatically the content of the name "
+"&#10122; and &#10123; make sure to set the name variable to the man:"
+"basename[1] of the script name. If the filename is [.filename]#/usr/local/"
+"etc/rc.d/dummy#, name is set to [.filename]#dummy#. This way changing the "
+"filename of the rc script changes automatically the content of the name "
"variable."
msgstr ""
"&#10122; и &#10123; убедитесь, что переменная name установлена в значение "
-"man:basename[1] имени скрипта. Если имя файла — [.filename]#/usr/local/etc/"
-"rc.d/dummy#, то name будет установлено в [.filename]#dummy#. Таким образом, "
+"man:basename[1] имени скрипта. Если имя файла — [.filename]#/usr/local/etc/rc"
+".d/dummy#, то name будет установлено в [.filename]#dummy#. Таким образом, "
"изменение имени rc-скрипта автоматически изменит содержимое переменной name."
#. type: Plain text
@@ -2620,9 +2619,9 @@ msgid ""
"to enable this service based upon the filename of this script. In this "
"example this resolves to dummy_enable."
msgstr ""
-"&#10124; указывает имя переменной, которая используется в "
-"[.filename]#rc.conf# для включения этой службы на основе имени файла этого "
-"скрипта. В данном примере это преобразуется в dummy_enable."
+"&#10124; указывает имя переменной, которая используется в [.filename]#rc."
+"conf# для включения этой службы на основе имени файла этого скрипта. В "
+"данном примере это преобразуется в dummy_enable."
#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:983
@@ -2647,8 +2646,8 @@ msgid ""
"the underscore in front of _dummy_user to make it different from dummy_user "
"which can be set in [.filename]#rc.conf#)."
msgstr ""
-"&#10127; и &#10128; устанавливают переменные, внутренние для скрипта "
-"(обратите внимание на подчёркивание в начале _dummy_user, чтобы отличать её "
+"&#10127; и &#10128; устанавливают переменные, внутренние для скрипта ("
+"обратите внимание на подчёркивание в начале _dummy_user, чтобы отличать её "
"от dummy_user, которая может быть задана в [.filename]#rc.conf#)."
#. type: Plain text
@@ -2693,14 +2692,14 @@ msgid ""
"The above creates an instance of the dummy service with the name dummy_foo. "
"It does not use the config file [.filename]#/usr/local/etc/dummy.cfg# but "
"the config file [.filename]#/usr/local/etc/dummy_foo.cfg# (&#10128;), and it "
-"uses the PID file [.filename]#/var/run/dummy/dummy_foo.pid# instead of "
-"[.filename]#/var/run/dummy/dummy.pid#."
+"uses the PID file [.filename]#/var/run/dummy/dummy_foo.pid# instead of [."
+"filename]#/var/run/dummy/dummy.pid#."
msgstr ""
"Вышеприведенное создает экземпляр службы dummy с именем dummy_foo. Он "
"использует не файл конфигурации [.filename]#/usr/local/etc/dummy.cfg#, а "
"файл конфигурации [.filename]#/usr/local/etc/dummy_foo.cfg# (&#10128;), и "
-"использует PID-файл [.filename]#/var/run/dummy/dummy_foo.pid# вместо "
-"[.filename]#/var/run/dummy/dummy.pid#."
+"использует PID-файл [.filename]#/var/run/dummy/dummy_foo.pid# вместо [."
+"filename]#/var/run/dummy/dummy.pid#."
#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:1012
@@ -2714,8 +2713,8 @@ msgid ""
"update is installed."
msgstr ""
"Сервисы dummy и dummy_foo могут управляться независимо друг от друга, при "
-"этом скрипт запуска обновляется автоматически при обновлении пакета "
-"(благодаря символьной ссылке). Это не обновляет строку REQUIRE, поэтому нет "
+"этом скрипт запуска обновляется автоматически при обновлении пакета ("
+"благодаря символьной ссылке). Это не обновляет строку REQUIRE, поэтому нет "
"простого способа зависеть от конкретного экземпляра. Чтобы зависеть от "
"конкретного экземпляра в порядке запуска, необходимо создать копию вместо "
"использования символьной ссылки. Это предотвращает автоматическое применение "
@@ -2732,14 +2731,14 @@ msgstr "Дополнительная литература"
msgid ""
"[[lukem]]http://www.mewburn.net/luke/papers/rc.d.pdf[The original article by "
"Luke Mewburn] offers a general overview of [.filename]#rc.d# and detailed "
-"rationale for its design decisions. It provides insight on the whole "
-"[.filename]#rc.d# framework and its place in a modern BSD operating system."
+"rationale for its design decisions. It provides insight on the whole [."
+"filename]#rc.d# framework and its place in a modern BSD operating system."
msgstr ""
"[[lukem]]http://www.mewburn.net/luke/papers/rc.d.pdf[Оригинальная статья "
"Люка Мьюберна] предлагает общий обзор [.filename]#rc.d# и подробное "
"обоснование принятых при его проектировании решений. В ней представлено "
-"понимание всего фреймворка [.filename]#rc.d# и его места в современной BSD-"
-"системе."
+"понимание всего фреймворка [.filename]#rc.d# и его места в современной "
+"BSD-системе."
#. type: Plain text
#: documentation/content/en/articles/rc-scripting/_index.adoc:1021
@@ -2763,8 +2762,8 @@ msgid ""
"the [.filename]#/etc/rc.d# scripts were not written by angels, so they might "
"suffer from bugs and suboptimal design decisions. Now you can improve them!"
msgstr ""
-"Основным источником рабочих, жизненных примеров является [.filename]#/etc/"
-"rc.d# в работающей системе. Его содержимое легко и приятно читать, поскольку "
+"Основным источником рабочих, жизненных примеров является [.filename]#/etc/rc."
+"d# в работающей системе. Его содержимое легко и приятно читать, поскольку "
"большинство сложных моментов скрыто глубоко в man:rc.subr[8]. Однако "
"помните, что скрипты в [.filename]#/etc/rc.d# были написаны не ангелами, "
"поэтому они могут содержать ошибки и неоптимальные решения. Теперь вы можете "
diff --git a/documentation/content/ru/articles/serial-uart/_index.adoc b/documentation/content/ru/articles/serial-uart/_index.adoc
index 5b1233a256..9b3e9830dd 100644
--- a/documentation/content/ru/articles/serial-uart/_index.adoc
+++ b/documentation/content/ru/articles/serial-uart/_index.adoc
@@ -114,7 +114,7 @@ USART Universal Synchronous-Asynchronous Receiver/Transmitter — Универс
В стандарте RS232-C сигнал «Marking» (логическая `1`) представлен напряжением от -2 В до -12 В, а сигнал «Spacing» (логический `0`) — напряжением от 0 В до +12 В. Передатчик должен выдавать +12 В или -12 В, а приёмник должен учитывать возможные потери напряжения в длинных кабелях. Некоторые маломощные передатчики (например, в портативных компьютерах) иногда используют только +5 В и -5 В, но эти значения всё ещё допустимы для приёмника RS232-C при условии использования коротких кабелей.
-==== Cигнал Break в RS232-C
+==== Сигнал Break в RS232-C
RS232-C также определяет сигнал под названием `Break`, который вызывается передачей непрерывных значений Spacing (без стартовых или стоповых битов). Когда на линии данных отсутствует напряжение, считается, что линия передает `Break`.
diff --git a/documentation/content/ru/articles/serial-uart/_index.po b/documentation/content/ru/articles/serial-uart/_index.po
index bd93bb319b..229288e632 100644
--- a/documentation/content/ru/articles/serial-uart/_index.po
+++ b/documentation/content/ru/articles/serial-uart/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-09-24 18:35+0300\n"
-"PO-Revision-Date: 2025-08-16 04:45+0000\n"
+"POT-Creation-Date: 2022-02-01 10:28-0300\n"
+"PO-Revision-Date: 2025-10-29 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/articlesserial-uart_index/ru/>\n"
@@ -18,11 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/articles/serial-uart/_index.adoc:1
#, no-wrap
msgid "Detailed information about the use of serial ports and UART with FreeBSD"
-msgstr "Подробная информация об использовании последовательных портов и UART в FreeBSD"
+msgstr ""
+"Подробная информация об использовании последовательных портов и UART в "
+"FreeBSD"
#. type: Title =
#: documentation/content/en/articles/serial-uart/_index.adoc:1
@@ -367,8 +369,8 @@ msgid ""
msgstr ""
"В большинстве компьютерных систем UART подключен к схеме, которая генерирует "
"сигналы, соответствующие спецификации EIA RS232-C. Также существует стандарт "
-"CCITT под названием V.24, который отражает спецификации, включенные в RS232-"
-"C."
+"CCITT под названием V.24, который отражает спецификации, включенные в "
+"RS232-C."
#. type: Title ====
#: documentation/content/en/articles/serial-uart/_index.adoc:130
@@ -380,11 +382,11 @@ msgstr "Назначения битов RS232-C (метки и пробелы)"
#: documentation/content/en/articles/serial-uart/_index.adoc:134
msgid ""
"In RS232-C, a value of `1` is called a `Mark` and a value of `0` is called a "
-"`Space`. When a communication line is idle, the line is said to be "
-"\"Marking\", or transmitting continuous `1` values."
+"`Space`. When a communication line is idle, the line is said to be \"Marking"
+"\", or transmitting continuous `1` values."
msgstr ""
-"В стандарте RS232-C значение `1` называется `Маркер` (Mark), а значение `0` "
-"— `Пробел` (Space). Когда линия связи находится в состоянии покоя, говорят, "
+"В стандарте RS232-C значение `1` называется `Маркер` (Mark), а значение `0` —"
+" `Пробел` (Space). Когда линия связи находится в состоянии покоя, говорят, "
"что она \"маркирует\" (Marking), то есть передаёт непрерывные значения `1`."
#. type: Plain text
@@ -438,7 +440,7 @@ msgstr ""
#: documentation/content/en/articles/serial-uart/_index.adoc:146
#, no-wrap
msgid "RS232-C Break Signal"
-msgstr "Cигнал Break в RS232-C"
+msgstr "Сигнал Break в RS232-C"
#. type: Plain text
#: documentation/content/en/articles/serial-uart/_index.adoc:150
@@ -523,8 +525,8 @@ msgstr ""
"Разрывы не могут быть сгенерированы с перфоленты или из любого другого "
"байтового значения, поскольку байты всегда отправляются со стартовым и "
"стоповым битами. UART обычно способен генерировать непрерывный сигнал "
-"Spacing в ответ на специальную команду от главного управляющего устройства "
-"(процессора передачи)."
+"Spacing в ответ на специальную команду от главного управляющего устройства ("
+"процессора передачи)."
#. type: Title ====
#: documentation/content/en/articles/serial-uart/_index.adoc:170
@@ -545,8 +547,8 @@ msgid ""
msgstr ""
"Спецификация RS232-C определяет два типа оборудования: оконечное "
"оборудование данных (DTE — Data Terminal Equipment) и оборудование передачи "
-"данных (DCE — Data Carrier Equipment). Обычно устройство DTE — это терминал "
-"(или компьютер), а DCE — модем. На другом конце телефонной линии в разговоре "
+"данных (DCE — Data Carrier Equipment). Обычно устройство DTE — это терминал ("
+"или компьютер), а DCE — модем. На другом конце телефонной линии в разговоре "
"принимающий модем также является устройством DCE, а компьютер, подключённый "
"к этому модему, — устройством DTE. Устройство DCE принимает сигналы на тех "
"контактах, на которых устройство DTE передаёт, и наоборот."
@@ -1202,7 +1204,8 @@ msgstr "RSET"
#: documentation/content/en/articles/serial-uart/_index.adoc:343
#, no-wrap
msgid "Receiver Signal Element Timing"
-msgstr "Тактирование элементов сигнала приёмника (Receiver Signal Element Timing)"
+msgstr ""
+"Тактирование элементов сигнала приёмника (Receiver Signal Element Timing)"
#. type: Table
#: documentation/content/en/articles/serial-uart/_index.adoc:344
@@ -1961,7 +1964,9 @@ msgstr "DIP"
#: documentation/content/en/articles/serial-uart/_index.adoc:543
#, no-wrap
msgid "(dual inline package) through hole straight lead type"
-msgstr "(dual inline package — корпус с двусторонним расположением выводов) для сквозного монтажа с прямыми выводами"
+msgstr ""
+"(dual inline package — корпус с двусторонним расположением выводов) для "
+"сквозного монтажа с прямыми выводами"
#. type: Table
#: documentation/content/en/articles/serial-uart/_index.adoc:544
@@ -2027,12 +2032,12 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/serial-uart/_index.adoc:563
msgid ""
-"In internal modems, the modem designer will frequently emulate the 8250A/"
-"16450 with the modem microprocessor, and the emulated UART will frequently "
-"have a hidden buffer consisting of several hundred bytes. Due to the size "
-"of the buffer, these emulations can be as reliable as a 16550A in their "
-"ability to handle high speed data. However, most operating systems will "
-"still report that the UART is only a 8250A or 16450, and may not make "
+"In internal modems, the modem designer will frequently emulate the "
+"8250A/16450 with the modem microprocessor, and the emulated UART will "
+"frequently have a hidden buffer consisting of several hundred bytes. Due to "
+"the size of the buffer, these emulations can be as reliable as a 16550A in "
+"their ability to handle high speed data. However, most operating systems "
+"will still report that the UART is only a 8250A or 16450, and may not make "
"effective use of the extra buffering present in the emulated UART unless "
"special drivers are used."
msgstr ""
@@ -2262,7 +2267,8 @@ msgstr "Rockwell"
#: documentation/content/en/articles/serial-uart/_index.adoc:620
#, no-wrap
msgid "Reference modem with internal 16550 or an emulation (RC144DPi/C3000-25)"
-msgstr "Стандартный модем с внутренним 16550 или его эмуляцией (RC144DPi/C3000-25)"
+msgstr ""
+"Стандартный модем с внутренним 16550 или его эмуляцией (RC144DPi/C3000-25)"
#. type: Table
#: documentation/content/en/articles/serial-uart/_index.adoc:622
@@ -2420,11 +2426,10 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/serial-uart/_index.adoc:665
msgid ""
-"[.filename]#COM1# is located from 0x3f8 to 0x3ff and normally uses IRQ 4. "
-"[.filename]#COM2# is located from 0x2f8 to 0x2ff and normally uses IRQ 3. "
-"[.filename]#COM3# is located from 0x3e8 to 0x3ef and has no standardized "
-"IRQ. [.filename]#COM4# is located from 0x2e8 to 0x2ef and has no "
-"standardized IRQ."
+"[.filename]#COM1# is located from 0x3f8 to 0x3ff and normally uses IRQ 4. [."
+"filename]#COM2# is located from 0x2f8 to 0x2ff and normally uses IRQ 3. [."
+"filename]#COM3# is located from 0x3e8 to 0x3ef and has no standardized IRQ. "
+"[.filename]#COM4# is located from 0x2e8 to 0x2ef and has no standardized IRQ."
msgstr ""
"[.filename]#COM1# находится в диапазоне от 0x3f8 до 0x3ff и обычно "
"использует IRQ 4. [.filename]#COM2# находится в диапазоне от 0x2f8 до 0x2ff "
@@ -2475,7 +2480,8 @@ msgid ""
msgstr ""
"Регистр передачи данных (THR).\n"
"\n"
-"Информация, записанная в этот порт, обрабатывается как слова данных и передается через UART."
+"Информация, записанная в этот порт, обрабатывается как слова данных и "
+"передается через UART."
#. type: Table
#: documentation/content/en/articles/serial-uart/_index.adoc:685
@@ -2493,7 +2499,8 @@ msgid ""
msgstr ""
"Регистр буфера приема (RBR).\n"
"\n"
-"Любые слова данных, полученные UART из последовательного соединения, доступны для чтения хостом через этот порт."
+"Любые слова данных, полученные UART из последовательного соединения, "
+"доступны для чтения хостом через этот порт."
#. type: Table
#: documentation/content/en/articles/serial-uart/_index.adoc:693
@@ -2512,7 +2519,10 @@ msgid ""
msgstr ""
"Младший байт защелки делителя (DLL — Divisor Latch LSB)\n"
"\n"
-"Это значение будет поделено от основного входного тактового сигнала (в IBM PC основной тактовый сигнал равен 1,8432 МГц), и полученный тактовый сигнал будет определять скорость передачи UART. Этот регистр содержит биты с 0 по 7 делителя."
+"Это значение будет поделено от основного входного тактового сигнала (в IBM "
+"PC основной тактовый сигнал равен 1,8432 МГц), и полученный тактовый сигнал "
+"будет определять скорость передачи UART. Этот регистр содержит биты с 0 по 7 "
+"делителя."
#. type: Table
#: documentation/content/en/articles/serial-uart/_index.adoc:700
@@ -2531,7 +2541,10 @@ msgid ""
msgstr ""
"Старший байт защелки делителя (DLH — Divisor Latch MSB)\n"
"\n"
-"Это значение будет разделено от основного входного тактового сигнала (в IBM PC основной тактовый сигнал равен 1,8432 МГц), и полученный тактовый сигнал будет определять скорость передачи данных UART. Этот регистр содержит биты с 8 по 15 делителя."
+"Это значение будет разделено от основного входного тактового сигнала (в IBM "
+"PC основной тактовый сигнал равен 1,8432 МГц), и полученный тактовый сигнал "
+"будет определять скорость передачи данных UART. Этот регистр содержит биты с "
+"8 по 15 делителя."
#. type: Table
#: documentation/content/en/articles/serial-uart/_index.adoc:709
@@ -2557,15 +2570,32 @@ msgid ""
msgstr ""
"Регистр разрешения прерываний (IER) +\n"
"\n"
-"UART 8250/16450/1655 классифицирует события на четыре категории. Каждая категория может быть настроена на генерацию прерывания при возникновении любого из событий. UART 8250/16450/16550 генерирует единый внешний сигнал прерывания независимо от того, сколько событий в разрешённых категориях произошло. Задача главного процессора — обработать прерывание и затем опросить разрешённые категории прерываний (обычно прерывания разрешены для всех категорий), чтобы определить истинную причину(ы) прерывания. +\n"
+"UART 8250/16450/1655 классифицирует события на четыре категории. Каждая "
+"категория может быть настроена на генерацию прерывания при возникновении "
+"любого из событий. UART 8250/16450/16550 генерирует единый внешний сигнал "
+"прерывания независимо от того, сколько событий в разрешённых категориях "
+"произошло. Задача главного процессора — обработать прерывание и затем "
+"опросить разрешённые категории прерываний (обычно прерывания разрешены для "
+"всех категорий), чтобы определить истинную причину(ы) прерывания. +\n"
"Бит 7 -> Зарезервирован, всегда 0. +\n"
"Бит 6 -> Зарезервирован, всегда 0. +\n"
"Бит 5 -> Зарезервирован, всегда 0. +\n"
"Бит 4 -> Зарезервирован, всегда 0. +\n"
-"Бит 3 -> Разрешение прерывания по состоянию модема (EDSSI). Установка этого бита в \"1\" позволяет UART генерировать прерывание при изменении состояния одной или нескольких линий статуса. +\n"
-"Бит 2 -> Разрешение прерывания по состоянию линии приёмника (ELSI). Установка этого бита в \"1\" приводит к генерации прерывания UART при обнаружении ошибки (или сигнала BREAK) во входящих данных. +\n"
-"Бит 1 -> Разрешение прерывания по опустошению регистра передатчика (ETBEI). Установка этого бита в \"1\" приводит к генерации прерывания UART, когда в UART появляется место для одного или более дополнительных символов, предназначенных для передачи. +\n"
-"Бит 0 -> Разрешение прерывания по наличию принятых данных (ERBFI). Установка этого бита в \"1\" приводит к генерации прерывания UART, когда UART принял достаточное количество символов для превышения порога FIFO, или истекло время ожидания FIFO (устаревшие данные), или принят одиночный символ при отключённом FIFO."
+"Бит 3 -> Разрешение прерывания по состоянию модема (EDSSI). Установка этого "
+"бита в \"1\" позволяет UART генерировать прерывание при изменении состояния "
+"одной или нескольких линий статуса. +\n"
+"Бит 2 -> Разрешение прерывания по состоянию линии приёмника (ELSI). "
+"Установка этого бита в \"1\" приводит к генерации прерывания UART при "
+"обнаружении ошибки (или сигнала BREAK) во входящих данных. +\n"
+"Бит 1 -> Разрешение прерывания по опустошению регистра передатчика (ETBEI). "
+"Установка этого бита в \"1\" приводит к генерации прерывания UART, когда в "
+"UART появляется место для одного или более дополнительных символов, "
+"предназначенных для передачи. +\n"
+"Бит 0 -> Разрешение прерывания по наличию принятых данных (ERBFI). Установка "
+"этого бита в \"1\" приводит к генерации прерывания UART, когда UART принял "
+"достаточное количество символов для превышения порога FIFO, или истекло "
+"время ожидания FIFO (устаревшие данные), или принят одиночный символ при "
+"отключённом FIFO."
#. type: Table
#: documentation/content/en/articles/serial-uart/_index.adoc:722
@@ -2601,11 +2631,13 @@ msgid ""
"Bit 1 -> Receiver FIFO Reset. When a \"1\" is written to this bit, the contents of the FIFO are discarded. Any word currently being assembled in the shift register will be received intact. +\n"
"Bit 0 -> 16550 FIFO Enable. When set, both the transmit and receive FIFOs are enabled. Any contents in the holding register, shift registers or FIFOs are lost when FIFOs are enabled or disabled. +"
msgstr ""
-"Регистр управления FIFO (FCR — FIFO Control Register) (Этот порт отсутствует в UART 8250 и 16450.) +\n"
+"Регистр управления FIFO (FCR — FIFO Control Register) (Этот порт отсутствует "
+"в UART 8250 и 16450.) +\n"
"Бит 7 -> Бит триггера приемника #1 +\n"
"Бит 6 -> Бит триггера приемника #0 +\n"
"\n"
-"Эти два бита определяют, при каком количестве данных приемник должен генерировать прерывание, когда FIFO активен. +\n"
+"Эти два бита определяют, при каком количестве данных приемник должен "
+"генерировать прерывание, когда FIFO активен. +\n"
"7 6 Количество слов перед генерацией прерывания +\n"
"0 0 1 +\n"
"0 1 4 +\n"
@@ -2613,10 +2645,18 @@ msgstr ""
"1 1 14 +\n"
"Бит 5 -> Зарезервирован, всегда 0. +\n"
"Бит 4 -> Зарезервирован, всегда 0. +\n"
-"Бит 3 -> Выбор режима DMA. Если бит 0 установлен в \"1\" (FIFO включены), установка этого бита изменяет работу сигналов -RXRDY и -TXRDY с режима 0 на режим 1. +\n"
-"Бит 2 -> Сброс передающего FIFO. При записи \"1\" в этот бит содержимое FIFO очищается. Любое слово, которое передается в данный момент, будет отправлено полностью. Эта функция полезна для прерывания передачи. +\n"
-"Бит 1 -> Сброс приемного FIFO. При записи \"1\" в этот бит содержимое FIFO очищается. Любое слово, которое в данный момент собирается в сдвиговом регистре, будет принято полностью. +\n"
-"Бит 0 -> Включение FIFO 16550. При установке этого бита активируются как передающий, так и приемный FIFO. Любое содержимое в регистре хранения, сдвиговых регистрах или FIFO теряется при включении или отключении FIFO. +"
+"Бит 3 -> Выбор режима DMA. Если бит 0 установлен в \"1\" (FIFO включены), "
+"установка этого бита изменяет работу сигналов -RXRDY и -TXRDY с режима 0 на "
+"режим 1. +\n"
+"Бит 2 -> Сброс передающего FIFO. При записи \"1\" в этот бит содержимое FIFO "
+"очищается. Любое слово, которое передается в данный момент, будет отправлено "
+"полностью. Эта функция полезна для прерывания передачи. +\n"
+"Бит 1 -> Сброс приемного FIFO. При записи \"1\" в этот бит содержимое FIFO "
+"очищается. Любое слово, которое в данный момент собирается в сдвиговом "
+"регистре, будет принято полностью. +\n"
+"Бит 0 -> Включение FIFO 16550. При установке этого бита активируются как "
+"передающий, так и приемный FIFO. Любое содержимое в регистре хранения, "
+"сдвиговых регистрах или FIFO теряется при включении или отключении FIFO. +"
#. type: Table
#: documentation/content/en/articles/serial-uart/_index.adoc:742
@@ -2649,16 +2689,25 @@ msgstr ""
"Бит 6 -> FIFO включены. На UART 8250/16450 этот бит равен нулю. +\n"
"Бит 5 -> Зарезервирован, всегда 0. +\n"
"Бит 4 -> Зарезервирован, всегда 0. +\n"
-"Бит 3 -> Бит идентификатора прерывания №2. На UART 8250/16450 этот бит равен нулю. +\n"
+"Бит 3 -> Бит идентификатора прерывания №2. На UART 8250/16450 этот бит равен "
+"нулю. +\n"
"Бит 2 -> Бит идентификатора прерывания №1 +\n"
-"Бит 1 -> Бит идентификатора прерывания №0.Эти три бита объединяются для указания категории события, вызвавшего текущее прерывание. Эти категории имеют приоритеты, поэтому, если несколько категорий событий происходят одновременно, UART сообщит о более важных событиях первыми, и хост должен обрабатывать события в порядке их поступления. Все события, вызвавшие текущее прерывание, должны быть обработаны до генерации новых прерываний. (Это ограничение архитектуры ПК.) +\n"
+"Бит 1 -> Бит идентификатора прерывания №0.Эти три бита объединяются для "
+"указания категории события, вызвавшего текущее прерывание. Эти категории "
+"имеют приоритеты, поэтому, если несколько категорий событий происходят "
+"одновременно, UART сообщит о более важных событиях первыми, и хост должен "
+"обрабатывать события в порядке их поступления. Все события, вызвавшие "
+"текущее прерывание, должны быть обработаны до генерации новых прерываний. ("
+"Это ограничение архитектуры ПК.) +\n"
"2 1 0 Приоритет Описание +\n"
"0 1 1 Первый Принятая ошибка (OE, PE, BI или FE) +\n"
"0 1 0 Второй Доступны принятые данные +\n"
-"1 1 0 Второй Идентификация уровня триггера (Устаревшие данные в буфере приема) +\n"
+"1 1 0 Второй Идентификация уровня триггера (Устаревшие данные в буфере "
+"приема) +\n"
"0 0 1 Третий Передатчик готов принять больше данных (THRE) +\n"
"0 0 0 Четвертый Изменение состояния модема (-CTS, -DSR, -RI или -DCD) +\n"
-"Бит 0 -> Бит ожидания прерывания. Если этот бит установлен в \"0\", то как минимум одно прерывание ожидает обработки."
+"Бит 0 -> Бит ожидания прерывания. Если этот бит установлен в \"0\", то как "
+"минимум одно прерывание ожидает обработки."
#. type: Table
#: documentation/content/en/articles/serial-uart/_index.adoc:759
@@ -2697,12 +2746,28 @@ msgid ""
"1 1 8 Data Bits +"
msgstr ""
"Регистр управления линией (LCR — Line Control Register) +\n"
-"Бит 7 -> Бит доступа к защелке делителя (DLAB). При установке доступ к регистру передачи/приема данных (THR/RBR) и регистру разрешения прерываний (IER) отключается. Любой доступ к этим портам перенаправляется к регистрам защелки делителя. Установка этого бита, загрузка регистров делителя и сброс DLAB должны выполняться при отключенных прерываниях. +\n"
-"Бит 6 -> Установка прерывания. При установке в \"1\" передатчик начинает передавать непрерывный интервал (Spacing), пока этот бит не будет сброшен в \"0\". Это переопределяет любые передаваемые биты символов. +\n"
-"Бит 5 -> Фиксированный бит четности. При включенной проверке четности установка этого бита приводит к тому, что бит четности всегда будет \"1\" или \"0\" в зависимости от значения бита 4.\n"
-"Бит 4 -> Выбор четности (EPS). При включенной проверке четности и если бит 5 равен \"0\", установка этого бита приводит к использованию и ожиданию четной четности. В противном случае используется нечетная четность. +\n"
-"Бит 3 -> Разрешение проверки четности (PEN). При установке в \"1\" бит четности вставляется между последним битом данных и стоповым битом. UART также ожидает наличие бита четности в принимаемых данных. +\n"
-"Бит 2 -> Количество стоповых битов (STB). Если установлен в \"1\" и используются 5-битные слова данных, передается и ожидается 1.5 стоповых бита в каждом слове данных. Для 6, 7 и 8-битных слов данных передается и ожидается 2 стоповых бита. Если этот бит сброшен в \"0\", используется один стоповый бит в каждом слове данных. +\n"
+"Бит 7 -> Бит доступа к защелке делителя (DLAB). При установке доступ к "
+"регистру передачи/приема данных (THR/RBR) и регистру разрешения прерываний "
+"(IER) отключается. Любой доступ к этим портам перенаправляется к регистрам "
+"защелки делителя. Установка этого бита, загрузка регистров делителя и сброс "
+"DLAB должны выполняться при отключенных прерываниях. +\n"
+"Бит 6 -> Установка прерывания. При установке в \"1\" передатчик начинает "
+"передавать непрерывный интервал (Spacing), пока этот бит не будет сброшен в "
+"\"0\". Это переопределяет любые передаваемые биты символов. +\n"
+"Бит 5 -> Фиксированный бит четности. При включенной проверке четности "
+"установка этого бита приводит к тому, что бит четности всегда будет \"1\" "
+"или \"0\" в зависимости от значения бита 4.\n"
+"Бит 4 -> Выбор четности (EPS). При включенной проверке четности и если бит 5 "
+"равен \"0\", установка этого бита приводит к использованию и ожиданию четной "
+"четности. В противном случае используется нечетная четность. +\n"
+"Бит 3 -> Разрешение проверки четности (PEN). При установке в \"1\" бит "
+"четности вставляется между последним битом данных и стоповым битом. UART "
+"также ожидает наличие бита четности в принимаемых данных. +\n"
+"Бит 2 -> Количество стоповых битов (STB). Если установлен в \"1\" и "
+"используются 5-битные слова данных, передается и ожидается 1.5 стоповых бита "
+"в каждом слове данных. Для 6, 7 и 8-битных слов данных передается и "
+"ожидается 2 стоповых бита. Если этот бит сброшен в \"0\", используется один "
+"стоповый бит в каждом слове данных. +\n"
"Бит 1 -> Бит выбора длины слова #1 (WLSB1) +\n"
"Бит 0 -> Бит выбора длины слова #0 (WLSB0) +\n"
"Вместе эти биты определяют количество битов в каждом слове данных. +\n"
@@ -2736,11 +2801,19 @@ msgstr ""
"Бит 7 -> Зарезервирован, всегда 0. +\n"
"Бит 6 -> Зарезервирован, всегда 0. +\n"
"Бит 5 -> Зарезервирован, всегда 0. +\n"
-"Бит 4 -> Режим петли (Loop-Back). При установке в \"1\" передатчик и приёмник UART соединяются внутри для диагностики. Также выходы управления модемом UART подключаются к его входам: CTS к RTS, DTR к DSR, OUT1 к RI, а OUT2 к DCD. +\n"
-"Бит 3 -> OUT2. Вспомогательный выход, который процессор может установить в высокий или низкий уровень. В адаптере IBM PC (и большинстве клонов) OUT2 используется для отключения сигнала прерывания от UART 8250/16450/16550. +\n"
-"Бит 2 -> OUT1. Вспомогательный выход, который процессор может установить в высокий или низкий уровень. На адаптере IBM PC не используется. +\n"
-"Бит 1 -> Запрос на передачу (RTS). При установке в \"1\" выход линии -RTS UART переходит в низкий уровень (активное состояние). +\n"
-"Бит 0 -> Готовность терминала данных (DTR). При установке в \"1\" выход линии -DTR UART переходит в низкий уровень (активное состояние). +"
+"Бит 4 -> Режим петли (Loop-Back). При установке в \"1\" передатчик и "
+"приёмник UART соединяются внутри для диагностики. Также выходы управления "
+"модемом UART подключаются к его входам: CTS к RTS, DTR к DSR, OUT1 к RI, а "
+"OUT2 к DCD. +\n"
+"Бит 3 -> OUT2. Вспомогательный выход, который процессор может установить в "
+"высокий или низкий уровень. В адаптере IBM PC (и большинстве клонов) OUT2 "
+"используется для отключения сигнала прерывания от UART 8250/16450/16550. +\n"
+"Бит 2 -> OUT1. Вспомогательный выход, который процессор может установить в "
+"высокий или низкий уровень. На адаптере IBM PC не используется. +\n"
+"Бит 1 -> Запрос на передачу (RTS). При установке в \"1\" выход линии -RTS "
+"UART переходит в низкий уровень (активное состояние). +\n"
+"Бит 0 -> Готовность терминала данных (DTR). При установке в \"1\" выход "
+"линии -DTR UART переходит в низкий уровень (активное состояние). +"
#. type: Table
#: documentation/content/en/articles/serial-uart/_index.adoc:789
@@ -2763,14 +2836,29 @@ msgid ""
"Bit 0 -> Data Ready (DR) One or more words are in the receive FIFO that the host may read. A word must be completely received and moved from the shift register into the FIFO (or holding register for 8250/16450 designs) before this bit is set."
msgstr ""
"Регистр состояния линии (LSR — Line Status Register) +\n"
-"Бит 7 -> Ошибка в FIFO приемника. На UART 8250/16450 этот бит равен нулю. Этот бит устанавливается в «1», когда любой из байтов в FIFO имеет одно или несколько из следующих условий ошибки: PE, FE или BI. +\n"
-"Бит 6 -> Передатчик пуст (TEMT). Когда установлен в «1», в FIFO передатчика или сдвиговом регистре передатчика не осталось слов. Передатчик полностью бездействует. +\n"
-"Бит 5 -> Регистр хранения передатчика пуст (THRE). Когда установлен в «1», в FIFO (или регистре хранения) теперь есть место для передачи как минимум одного дополнительного слова. Передатчик может все еще передавать данные, когда этот бит установлен в «1». +\n"
+"Бит 7 -> Ошибка в FIFO приемника. На UART 8250/16450 этот бит равен нулю. "
+"Этот бит устанавливается в «1», когда любой из байтов в FIFO имеет одно или "
+"несколько из следующих условий ошибки: PE, FE или BI. +\n"
+"Бит 6 -> Передатчик пуст (TEMT). Когда установлен в «1», в FIFO передатчика "
+"или сдвиговом регистре передатчика не осталось слов. Передатчик полностью "
+"бездействует. +\n"
+"Бит 5 -> Регистр хранения передатчика пуст (THRE). Когда установлен в «1», в "
+"FIFO (или регистре хранения) теперь есть место для передачи как минимум "
+"одного дополнительного слова. Передатчик может все еще передавать данные, "
+"когда этот бит установлен в «1». +\n"
"Бит 4 -> Прерывание по Break (BI). Приемник обнаружил сигнал Break. +\n"
-"Бит 3 -> Ошибка кадрирования (FE). Обнаружен стартовый бит, но стоповый бит не появился в ожидаемое время. Принятое слово, вероятно, искажено. +\n"
-"Бит 2 -> Ошибка четности (PE). Бит четности для принятого слова был некорректен. +\n"
-"Бит 1 -> Ошибка переполнения (OE). Было получено новое слово, но в буфере приема не было места. Вновь поступившее слово в сдвиговом регистре отбрасывается. На UART 8250/16450 слово в регистре хранения отбрасывается, а вновь поступившее слово помещается в регистр хранения. +\n"
-"Бит 0 -> Данные готовы (DR). Одно или несколько слов находятся в FIFO приемника, которые хост может прочитать. Слово должно быть полностью принято и перемещено из сдвигового регистра в FIFO (или регистр хранения для 8250/16450) до того, как этот бит будет установлен."
+"Бит 3 -> Ошибка кадрирования (FE). Обнаружен стартовый бит, но стоповый бит "
+"не появился в ожидаемое время. Принятое слово, вероятно, искажено. +\n"
+"Бит 2 -> Ошибка четности (PE). Бит четности для принятого слова был "
+"некорректен. +\n"
+"Бит 1 -> Ошибка переполнения (OE). Было получено новое слово, но в буфере "
+"приема не было места. Вновь поступившее слово в сдвиговом регистре "
+"отбрасывается. На UART 8250/16450 слово в регистре хранения отбрасывается, а "
+"вновь поступившее слово помещается в регистр хранения. +\n"
+"Бит 0 -> Данные готовы (DR). Одно или несколько слов находятся в FIFO "
+"приемника, которые хост может прочитать. Слово должно быть полностью принято "
+"и перемещено из сдвигового регистра в FIFO (или регистр хранения для 8250/"
+"16450) до того, как этот бит будет установлен."
#. type: Table
#: documentation/content/en/articles/serial-uart/_index.adoc:801
@@ -2793,14 +2881,24 @@ msgid ""
"Bit 0 -> Delta Clear To Send (DCTS). Set to \"1\" if the -CTS line has changed state one more time since the last time the MSR was read by the host. +"
msgstr ""
"Регистр состояния модема (MSR — Modem Status Register) +\n"
-"Бит 7 -> Обнаружение несущей данных (DCD). Отражает состояние линии DCD на UART. +\n"
+"Бит 7 -> Обнаружение несущей данных (DCD). Отражает состояние линии DCD на "
+"UART. +\n"
"Бит 6 -> Индикатор вызова (RI). Отражает состояние линии RI на UART. +\n"
-"Бит 5 -> Готовность передатчика данных (DSR). Отражает состояние линии DSR на UART. +\n"
+"Бит 5 -> Готовность передатчика данных (DSR). Отражает состояние линии DSR "
+"на UART. +\n"
"Бит 4 -> Готовность к приёму (CTS). Отражает состояние линии CTS на UART. +\n"
-"Бит 3 -> Изменение состояния обнаружения несущей данных (DDCD). Устанавливается в \"1\", если линия -DCD изменила состояние ещё раз с момента последнего чтения MSR хостом. +\n"
-"Бит 2 -> Фронт сигнала вызова (TERI). Устанавливается в \"1\", если линия -RI перешла из низкого уровня в высокий с момента последнего чтения MSR хостом. +\n"
-"Бит 1 -> Изменение состояния готовности передатчика данных (DDSR). Устанавливается в \"1\", если линия -DSR изменила состояние ещё раз с момента последнего чтения MSR хостом. +\n"
-"Бит 0 -> Изменение состояния готовности к приёму (DCTS). Устанавливается в \"1\", если линия -CTS изменила состояние ещё раз с момента последнего чтения MSR хостом. +"
+"Бит 3 -> Изменение состояния обнаружения несущей данных (DDCD). "
+"Устанавливается в \"1\", если линия -DCD изменила состояние ещё раз с "
+"момента последнего чтения MSR хостом. +\n"
+"Бит 2 -> Фронт сигнала вызова (TERI). Устанавливается в \"1\", если линия -"
+"RI перешла из низкого уровня в высокий с момента последнего чтения MSR "
+"хостом. +\n"
+"Бит 1 -> Изменение состояния готовности передатчика данных (DDSR). "
+"Устанавливается в \"1\", если линия -DSR изменила состояние ещё раз с "
+"момента последнего чтения MSR хостом. +\n"
+"Бит 0 -> Изменение состояния готовности к приёму (DCTS). Устанавливается в "
+"\"1\", если линия -CTS изменила состояние ещё раз с момента последнего "
+"чтения MSR хостом. +"
#. type: Table
#: documentation/content/en/articles/serial-uart/_index.adoc:812
@@ -2812,7 +2910,10 @@ msgstr "+0x07"
#: documentation/content/en/articles/serial-uart/_index.adoc:814
#, no-wrap
msgid "Scratch Register (SCR). This register performs no function in the UART. Any value can be written by the host to this location and read by the host later on."
-msgstr "Регистр Scratch (SCR — Scratch Register). Этот регистр не выполняет никакой функции в UART. Хост может записать любое значение в это место и позднее считать его."
+msgstr ""
+"Регистр Scratch (SCR — Scratch Register). Этот регистр не выполняет никакой "
+"функции в UART. Хост может записать любое значение в это место и позднее "
+"считать его."
#. type: Title ===
#: documentation/content/en/articles/serial-uart/_index.adoc:816
@@ -2920,8 +3021,8 @@ msgid ""
"Several multiport cards are supported as well. See the man:sio[4] manual "
"page for detailed technical documentation."
msgstr ""
-"Драйвер [.filename]#sio# обеспечивает поддержку интерфейсов связи EIA "
-"RS-232C (CCITT V.24) на основе NS8250, NS16450, NS16550 и NS16550A. Также "
+"Драйвер [.filename]#sio# обеспечивает поддержку интерфейсов связи EIA RS-"
+"232C (CCITT V.24) на основе NS8250, NS16450, NS16550 и NS16550A. Также "
"поддерживаются несколько многопортовых карт. Подробную техническую "
"документацию смотрите на man:sio[4]."
@@ -3331,11 +3432,11 @@ msgstr "Поддержка дешёвых многоканальных UART-ка
#. type: delimited block = 4
#: documentation/content/en/articles/serial-uart/_index.adoc:991
msgid ""
-"_Contributed by Helge Oldach_ "
-"mailto:hmo@sep.hamburg.com[hmo@sep.hamburg.com], September 1999"
+"_Contributed by Helge Oldach_ mailto:hmo@sep.hamburg.com[hmo@sep.hamburg."
+"com], September 1999"
msgstr ""
-"_Предоставлено Хельге Ольдахом_ "
-"mailto:hmo@sep.hamburg.com[hmo@sep.hamburg.com], сентябрь 1999 года"
+"_Предоставлено Хельге Ольдахом_ mailto:hmo@sep.hamburg.com[hmo@sep.hamburg."
+"com], сентябрь 1999 года"
#. type: delimited block = 4
#: documentation/content/en/articles/serial-uart/_index.adoc:993
@@ -3351,9 +3452,9 @@ msgstr ""
#: documentation/content/en/articles/serial-uart/_index.adoc:997
msgid ""
"Usually the only option to support these kind of boards is to use a distinct "
-"IRQ for each port. For example, if your CPU board has an on-board "
-"[.filename]#COM1# port (aka [.filename]#sio0#-I/O address 0x3F8 and IRQ 4) "
-"and you have an extension board with two UARTs, you will commonly need to "
+"IRQ for each port. For example, if your CPU board has an on-board [."
+"filename]#COM1# port (aka [.filename]#sio0#-I/O address 0x3F8 and IRQ 4) and "
+"you have an extension board with two UARTs, you will commonly need to "
"configure them as [.filename]#COM2# (aka [.filename]#sio1#-I/O address 0x2F8 "
"and IRQ 3), and the third port (aka [.filename]#sio2#) as I/O 0x3E8 and IRQ "
"5. Obviously this is a waste of IRQ resources, as it should be basically "
@@ -3434,20 +3535,19 @@ msgstr ""
msgid ""
"You need to decouple the IRQ drivers for the two UARTs, so that the IRQ line "
"of the board only goes up if (and only if) one of the UARTs asserts a IRQ, "
-"and stays low otherwise. The solution was proposed by Joerg Wunsch "
-"mailto:j@ida.interface-business.de[j@ida.interface-business.de]: To solder "
-"up a wired-or consisting of two diodes (Germanium or Schottky-types strongly "
+"and stays low otherwise. The solution was proposed by Joerg Wunsch mailto:"
+"j@ida.interface-business.de[j@ida.interface-business.de]: To solder up a "
+"wired-or consisting of two diodes (Germanium or Schottky-types strongly "
"preferred) and a 1 kOhm resistor. Here is the schematic, starting from the "
"4 by 3 jumper field above:"
msgstr ""
"Вам необходимо разделить драйверы прерываний для двух UART, чтобы линия "
"прерывания платы поднималась только тогда (и только тогда), когда один из "
"UART вызывает прерывание, и оставалась низкой в противном случае. Решение "
-"было предложено Йоргом Вуншем mailto:j@ida.interface-"
-"business.de[j@ida.interface-business.de]: припаять монтажную схему "
-"\"монтажное ИЛИ\", состоящую из двух диодов (предпочтительно германиевых или "
-"типа Шоттки) и резистора на 1 кОм. Вот схема, начиная с контактного поля 4x3 "
-"выше:"
+"было предложено Йоргом Вуншем mailto:j@ida.interface-business.de[j@ida."
+"interface-business.de]: припаять монтажную схему \"монтажное ИЛИ\", "
+"состоящую из двух диодов (предпочтительно германиевых или типа Шоттки) и "
+"резистора на 1 кОм. Вот схема, начиная с контактного поля 4x3 выше:"
#. type: delimited block . 4
#: documentation/content/en/articles/serial-uart/_index.adoc:1034
@@ -3522,9 +3622,9 @@ msgid ""
"and you surely want a `5` low nibble.) With kernel verbose mode turned on "
"this should yield something similar to this:"
msgstr ""
-"Обратите внимание, что настройка `flags` для [.filename]#sio1# и "
-"[.filename]#sio2# действительно важна; подробности смотрите в man:sio[4]. "
-"(Обычно `2` в атрибуте \"flags\" относится к [.filename]#sio#`2`, который "
+"Обратите внимание, что настройка `flags` для [.filename]#sio1# и [."
+"filename]#sio2# действительно важна; подробности смотрите в man:sio[4]. ("
+"Обычно `2` в атрибуте \"flags\" относится к [.filename]#sio#`2`, который "
"содержит IRQ, и вам наверняка потребуется нижний ниббл `5`.) При включённом "
"режиме подробного вывода ядра это должно дать что-то похожее на следующее:"
@@ -3680,8 +3780,8 @@ msgid ""
"A single machine can have up to 4 host cards. The following host cards are "
"supported:"
msgstr ""
-"Специальные мультипортные карты Specialix SI/XIO и SX используют драйвер "
-"[.filename]#si#. На одной машине может быть установлено до 4 хост-карт. "
+"Специальные мультипортные карты Specialix SI/XIO и SX используют драйвер [."
+"filename]#si#. На одной машине может быть установлено до 4 хост-карт. "
"Поддерживаются следующие хост-карты:"
#. type: delimited block = 4
@@ -3810,18 +3910,18 @@ msgid ""
"The following step, is not necessary if you are using man:devfs[5] in "
"FreeBSD 5._X_."
msgstr ""
-"Следующий шаг не обязателен, если вы используете man:devfs[5] в FreeBSD "
-"5._X_."
+"Следующий шаг не обязателен, если вы используете man:devfs[5] в FreeBSD 5."
+"_X_."
#. type: Plain text
#: documentation/content/en/articles/serial-uart/_index.adoc:1165
msgid ""
-"After rebooting with the new kernel, you need to make the device nodes in "
-"[.filename]#/dev#. The [.filename]#MAKEDEV# script will take care of this "
-"for you. Count how many total ports you have and type:"
+"After rebooting with the new kernel, you need to make the device nodes in [."
+"filename]#/dev#. The [.filename]#MAKEDEV# script will take care of this for "
+"you. Count how many total ports you have and type:"
msgstr ""
-"После перезагрузки с новым ядром необходимо создать файлы устройств в "
-"[.filename]#/dev#. Скрипт [.filename]#MAKEDEV# выполнит эту задачу за вас. "
+"После перезагрузки с новым ядром необходимо создать файлы устройств в [."
+"filename]#/dev#. Скрипт [.filename]#MAKEDEV# выполнит эту задачу за вас. "
"Подсчитайте общее количество портов и введите:"
#. type: delimited block . 4
diff --git a/documentation/content/ru/articles/solid-state/_index.adoc b/documentation/content/ru/articles/solid-state/_index.adoc
index 19d1fada4f..028bc68677 100644
--- a/documentation/content/ru/articles/solid-state/_index.adoc
+++ b/documentation/content/ru/articles/solid-state/_index.adoc
@@ -57,9 +57,9 @@ toc::[]
[[intro]]
== Твердотельные дисковые устройства
-Эта статья будет ограничиваться рассмотрением твердотельных дисковых устройств, которые делаются на основе флэш-памяти. Флэш-память является твердотельным (здесь нет движущихся частей) запоминающим устройством, которое является энергонезависимым (данные остаются в памяти даже после отключения всех источников питания). Флэш-память может быть нечувствительной к сильным физическим воздействиям и достаточно быстра (решения на основе флэш-памяти, описываемые в этой статье, гораздо медленнее, чем диски EIDE для операций записи, и гораздо быстрее их в случае выполнения операций чтения). Одним из очень важных свойств флэш-памяти, различные варианты которого будут рассмотрены далее в этой статье, является то, что каждый сектор имеет ограниченные возможности по перезаписыванию. Вы можете только записывать, стирать и снова записывать на сектор флэш-памяти определенное количество раз до того, как сектор станет полностью неработоспособным. Хотя многие продукты на основе флэш-памяти автоматически перенаправляют испорченные блоки, а некоторые даже распределяют операции записи по всему модулю, фактом является наличие ограничения на количество операций записи, которые могут выполняться с устройством. Современные модули имеют характеристики от 1,000,000 до 10,000,000 циклов записи на сектор. Эти характеристики могут зависеть от температуры рабочей среды.
+Эта статья будет ограничиваться рассмотрением твердотельных дисковых устройств, которые делаются на основе флеш-памяти. Флеш-память является твердотельным (здесь нет движущихся частей) запоминающим устройством, которое является энергонезависимым (данные остаются в памяти даже после отключения всех источников питания). Флеш-память может быть нечувствительной к сильным физическим воздействиям и достаточно быстра (решения на основе флеш-памяти, описываемые в этой статье, гораздо медленнее, чем диски EIDE для операций записи, и гораздо быстрее их в случае выполнения операций чтения). Одним из очень важных свойств флеш-памяти, различные варианты которого будут рассмотрены далее в этой статье, является то, что каждый сектор имеет ограниченные возможности по перезаписыванию. Вы можете только записывать, стирать и снова записывать на сектор флеш-памяти определенное количество раз до того, как сектор станет полностью неработоспособным. Хотя многие продукты на основе флеш-памяти автоматически перенаправляют испорченные блоки, а некоторые даже распределяют операции записи по всему модулю, фактом является наличие ограничения на количество операций записи, которые могут выполняться с устройством. Современные модули имеют характеристики от 1,000,000 до 10,000,000 циклов записи на сектор. Эти характеристики могут зависеть от температуры рабочей среды.
-В частности, мы обсудим компактные модули флэш-памяти, совместимые со стандартом ATA, которые стали весьма популярными в качестве носителя данных для цифровых камер. Особый интерес представляет тот факт, что они соответствуют шине IDE по контактам и совместимы с набором команд ATA. Таким образом, при помощи очень простого и дешевого адаптера такие устройства могут подключаться непосредственно к шине IDE компьютера. Если поступить таким образом, то такие операционные системы, как FreeBSD, распознают диск как обычный винчестер (весьма маленький).
+В частности, мы обсудим компактные модули флеш-памяти, совместимые со стандартом ATA, которые стали весьма популярными в качестве носителя данных для цифровых камер. Особый интерес представляет тот факт, что они соответствуют шине IDE по контактам и совместимы с набором команд ATA. Таким образом, при помощи очень простого и дешевого адаптера такие устройства могут подключаться непосредственно к шине IDE компьютера. Если поступить таким образом, то такие операционные системы, как FreeBSD, распознают диск как обычный винчестер (весьма маленький).
Существуют и другие решения для твердотельных дисков, но их стоимость, безвестность и сравнительная сложность использования выводят их за рамки этой статьи.
@@ -68,7 +68,7 @@ toc::[]
Для тех, кто создает встраиваемую систему FreeBSD, интерес представляют несколько параметров ядра.
-Все встраиваемые системы FreeBSD, которые используют флэш-память в качестве системного диска, заинтересованы в использовании дисков в памяти и файловых систем в памяти. Из-за ограниченного количества циклов записи, которые можно выполнить с флэш-памятью, диск и файловые системы на нем будут, скорее всего, монтироваться в режиме доступа только для чтения. В таком случае файловые системы типа [.filename]#/tmp# и [.filename]#/var# монтируются как файловые системы в памяти для того, чтобы позволить системе создать журналы и обновить счетчики и временные файлы. Файловые системы в памяти являются критическим компонентом успешной работы FreeBSD на твердотельных устройствах.
+Все встраиваемые системы FreeBSD, которые используют флеш-память в качестве системного диска, заинтересованы в использовании дисков в памяти и файловых систем в памяти. Из-за ограниченного количества циклов записи, которые можно выполнить с флеш-памятью, диск и файловые системы на нем будут, скорее всего, монтироваться в режиме доступа только для чтения. В таком случае файловые системы типа [.filename]#/tmp# и [.filename]#/var# монтируются как файловые системы в памяти для того, чтобы позволить системе создать журналы и обновить счетчики и временные файлы. Файловые системы в памяти являются критическим компонентом успешной работы FreeBSD на твердотельных устройствах.
Вы должны удостовериться, что в конфигурационном файле вашего ядра присутствуют следующие строки:
@@ -91,7 +91,7 @@ varsize=8192
Запомните, что по умолчанию это значение указано в секторах.
-Факт использования файловой системы [.filename]#/var# в режиме чтения и записи является важным признаком, так как раздел [.filename]#/# (и любые другие разделы, которые могут находиться на флэш-носителе) должен монтироваться в режиме только для чтения. Вспомните, что в <<intro>> мы касались ограничений флэш-памяти - особенно ограничений, касающихся возможностей записи. Важно не монтировать файловые системы на флэш-носителях в режимах чтения и записи, и важность отказа от файла подкачки не может быть переоценена. Файл подкачки на загруженной системе может пережечь кусок флэш-носителя менее чем за год. Частое журналирование и создание временных файлов приводят к тому же результату. Поэтому, кроме удаления записи `swap` из вашего файла [.filename]#/etc/fstab#, вы должны также изменить поле параметров каждой файловой системы на `ro` таким образом:
+Факт использования файловой системы [.filename]#/var# в режиме чтения и записи является важным признаком, так как раздел [.filename]#/# (и любые другие разделы, которые могут находиться на флеш-носителе) должен монтироваться в режиме только для чтения. Вспомните, что в разделе crossref:solid-state[intro, Твердотельные дисковые устройства] мы касались ограничений флеш-памяти - особенно ограничений, касающихся возможностей записи. Важно не монтировать файловые системы на флеш-носителях в режимах чтения и записи, и важность отказа от файла подкачки не может быть переоценена. Файл подкачки на загруженной системе может пережечь кусок флеш-носителя менее чем за год. Частое журналирование и создание временных файлов приводят к тому же результату. Поэтому, кроме удаления записи `swap` из вашего файла [.filename]#/etc/fstab#, вы должны также изменить поле параметров каждой файловой системы на `ro` таким образом:
[.programlisting]
....
@@ -99,7 +99,7 @@ varsize=8192
/dev/ad0s1a / ufs ro 1 1
....
-В результате этих изменений в среднестатистической системе несколько приложений немедленно перестанут работать. Например, cron не будет нормально запускаться в результате отсутствия таблиц для него в каталоге [.filename]#/var#, созданном [.filename]#/etc/rc.d/var#, а syslog и dhcp будут испытывать проблемы из-за доступа файловой системы только для чтения, а также отсутствия записей в [.filename]#/var#, который был создан скриптом [.filename]#/etc/rc.d/var#. Хотя эти проблемы являются временными и обсуждаются вместе с решением проблем с запуском распространенных программных пакетов, в <<strategies>>.
+В результате этих изменений в среднестатистической системе несколько приложений немедленно перестанут работать. Например, cron не будет нормально запускаться в результате отсутствия таблиц для него в каталоге [.filename]#/var#, созданном [.filename]#/etc/rc.d/var#, а syslog и dhcp будут испытывать проблемы из-за доступа файловой системы только для чтения, а также отсутствия записей в [.filename]#/var#, который был создан скриптом [.filename]#/etc/rc.d/var#. Хотя эти проблемы являются временными и обсуждаются вместе с решением проблем с запуском распространенных программных пакетов в разделе crossref:solid-state[strategies, Стратегии работы с системой для случаев небольших и доступных только для чтения файловых систем].
Важно помнить, что файловая система, которая была смонтирована только для чтения при помощи файла [.filename]#/etc/fstab#, в любой момент может быть сделана доступной по чтению и записи выдачей команды:
@@ -117,18 +117,18 @@ varsize=8192
== Создание файловой системы с нуля
-Так как совместимые с ATA компактные флэш-карты распознаются во FreeBSD как обычные жесткие диски IDE, то теоретически вы можете установить FreeBSD по сети при помощи дискет kern и mfsroot или с компакт-диска.
+Так как совместимые с ATA компактные флеш-карты распознаются во FreeBSD как обычные жесткие диски IDE, то теоретически вы можете установить FreeBSD по сети при помощи дискет kern и mfsroot или с компакт-диска.
-Однако даже маленькая установка FreeBSD при помощи обычных процедур установки может привести к созданию системы размером, превышающим 200 мегабайт. Так как большинство людей используют устройства флэш-памяти меньшего размера (128 мегабайт считается весьма большим - 32 или даже 16 мегабайт используются гораздо чаще), то установка обычным образом не подходит-просто на диске нет места даже для самой минимальной установки.
+Однако даже маленькая установка FreeBSD при помощи обычных процедур установки может привести к созданию системы размером, превышающим 200 мегабайт. Так как большинство людей используют устройства флеш-памяти меньшего размера (128 мегабайт считается весьма большим - 32 или даже 16 мегабайт используются гораздо чаще), то установка обычным образом не подходит-просто на диске нет места даже для самой минимальной установки.
-Самым простым способом обойти это ограничение на объем является установка FreeBSD обычным образом на обычный жесткий диск. После окончания установки, обрежьте операционную систему до размера, который помещается на ваш флэш-носитель, а затем полностью заархивируйте файловую систему. Следующие шаги поведут вас через процесс подготовки части флэш-памяти для вашей заархивированной файловой системы. Запомните, что из-за того, что обычная установка не выполнялась, такие операции, как разбиение на разделы, разметка, создание файловой системы и так далее должны быть выполнены вручную. Кроме дискет kern и mfsroot вам также нужно воспользоваться дискетой fixit.
+Самым простым способом обойти это ограничение на объем является установка FreeBSD обычным образом на обычный жесткий диск. После окончания установки, обрежьте операционную систему до размера, который помещается на ваш флеш-носитель, а затем полностью заархивируйте файловую систему. Следующие шаги поведут вас через процесс подготовки части флеш-памяти для вашей заархивированной файловой системы. Запомните, что из-за того, что обычная установка не выполнялась, такие операции, как разбиение на разделы, разметка, создание файловой системы и так далее должны быть выполнены вручную. Кроме дискет kern и mfsroot вам также нужно воспользоваться дискетой fixit.
[.procedure]
====
-. Разбиение вашего флэш-носителя на разделы
+. Разбиение вашего флеш-носителя на разделы
+
-После загрузки при помощи дискет kern и mfsroot, выберите пункт `custom` из меню установки. Из следующего пункта меню выберите `partition`. В меню работы с разделами вы должны удалить все существующие разделы при помощи клавиши kbd:[d]. После удаления всех имеющихся разделов создайте раздел при помощи клавиши kbd:[c] и согласитесь с предлагаемым по умолчанию размером раздела. Когда вы будете опрошены на предмет типа раздела, удостоверьтесь, что значение типа равно `165`. Теперь запишите эту таблицу разделов на диск, нажав клавишу kbd:[w] (на этом экране эта опция скрыта). Если вы используете компактную флэш-карту, совместимую с ATA, вы должны выбрать FreeBSD Boot Manager. Теперь нажмите клавишу kbd:[q] для выхода из меню работы с разделами. Должно быть выдано еще раз меню для выбора менеджера загрузки - повторите то, что вы выбирали ранее.
-. Создание файловых систем на вашем устройстве флэш-памяти
+После загрузки при помощи дискет kern и mfsroot, выберите пункт `custom` из меню установки. Из следующего пункта меню выберите `partition`. В меню работы с разделами вы должны удалить все существующие разделы при помощи клавиши kbd:[d]. После удаления всех имеющихся разделов создайте раздел при помощи клавиши kbd:[c] и согласитесь с предлагаемым по умолчанию размером раздела. Когда вы будете опрошены на предмет типа раздела, удостоверьтесь, что значение типа равно `165`. Теперь запишите эту таблицу разделов на диск, нажав клавишу kbd:[w] (на этом экране эта опция скрыта). Если вы используете компактную флеш-карту, совместимую с ATA, вы должны выбрать FreeBSD Boot Manager. Теперь нажмите клавишу kbd:[q] для выхода из меню работы с разделами. Должно быть выдано еще раз меню для выбора менеджера загрузки - повторите то, что вы выбирали ранее.
+. Создание файловых систем на вашем устройстве флеш-памяти
+
Выйдите из меню установки custom, и из главного меню установки выберите пункт `fixit`. После входа в режим работы fixit, введите следующую команду:
+
@@ -152,16 +152,16 @@ a: 123456 0 4.2BSD 0 0
# newfs /dev/ad0a
....
-. Размещение вашей файловой системы на флэш-носителе
+. Размещение вашей файловой системы на флеш-носителе
+
-Смонтируйте только что подготовленный флэш-носитель:
+Смонтируйте только что подготовленный флеш-носитель:
+
[source, shell]
....
# mount /dev/ad0a /flash
....
+
-Подключите эту машину к сети, чтобы можно было перенести наш tar-файл и распаковать его в файловую систему на флэш-носителе. Вот пример того, как это можно сделать:
+Подключите эту машину к сети, чтобы можно было перенести наш tar-файл и распаковать его в файловую систему на флеш-носителе. Вот пример того, как это можно сделать:
+
[source, shell]
....
@@ -169,7 +169,7 @@ a: 123456 0 4.2BSD 0 0
# route add default 192.168.0.1
....
+
-Теперь, когда машина находится в сети, перепишите ваш tar-файл. Здесь вы можете столкнуться с некоторой проблемой - если объем вашей флэш-памяти равен, к примеру, 128 мегабайтам, а ваш tar-файл превышает 64 мегабайта, то вы не можете одновременно разместить tar-файл на флэш-носителе и распаковать его - вам не хватит места. Одним из решений этой проблемы, если вы используете FTP, является распаковка файла во время его передачи по FTP. Если вы передаете файл именно так, то вы никогда не получите на диске одновременно архивный файл и его содержимое:
+Теперь, когда машина находится в сети, перепишите ваш tar-файл. Здесь вы можете столкнуться с некоторой проблемой - если объем вашей флеш-памяти равен, к примеру, 128 мегабайтам, а ваш tar-файл превышает 64 мегабайта, то вы не можете одновременно разместить tar-файл на флеш-носителе и распаковать его - вам не хватит места. Одним из решений этой проблемы, если вы используете FTP, является распаковка файла во время его передачи по FTP. Если вы передаете файл именно так, то вы никогда не получите на диске одновременно архивный файл и его содержимое:
+
[source, shell]
....
@@ -183,7 +183,7 @@ ftp> get tarfile.tar "| tar xvf -"
ftp> get tarfile.tar "| zcat | tar xvf -"
....
+
-После того, как вы получили содержимое вашей заархивированной файловой системы на файловой системе флэш-памяти, вы можете размонтировать флэш-память и выполнить перезагрузку:
+После того, как вы получили содержимое вашей заархивированной файловой системы на файловой системе флеш-памяти, вы можете размонтировать флеш-память и выполнить перезагрузку:
+
[source, shell]
....
@@ -198,7 +198,7 @@ ftp> get tarfile.tar "| zcat | tar xvf -"
[[strategies]]
== Стратегии работы с системой для случаев небольших и доступных только для чтения файловых систем
-В <<ro-fs>> было указано, что файловая система [.filename]#/var#, создаваемая скриптом [.filename]#/etc/rc.d/var#, и наличие корневой файловой системы, доступной только для чтения, приводят к проблемам при работе многих распространенных программных пакетов, используемых во FreeBSD. В этой статье будут даны рекомендации по настройке нормальной работы cron и syslog, установке портов и веб-сервера Apache.
+В разделе crossref:solid-state[ro-fs, Подсистема `rc` и файловые системы в режиме только чтения] было указано, что файловая система [.filename]#/var#, создаваемая скриптом [.filename]#/etc/rc.d/var#, и наличие корневой файловой системы, доступной только для чтения, приводят к проблемам при работе многих распространенных программных пакетов, используемых во FreeBSD. В этой статье будут даны рекомендации по настройке нормальной работы cron и syslog, установке портов и веб-сервера Apache.
=== Cron
@@ -218,11 +218,11 @@ ftp> get tarfile.tar "| zcat | tar xvf -"
=== Установка портов
-Перед тем, как обсудить изменения, которые нужно сделать для успешного использования дерева портов, необходимо напомнить о том, что ваши файловые системы на флэш-носителях доступны только для чтения. Поэтому вам нужно временно монтировать их в режиме чтения и записи, используя параметры командной строки, как это показано в crossref:solid-state[ro-fs, Подсистема `rc` и файловые системы в режиме только чтения]. Вы всегда должны перемонтировать эти файловые системы в режим только для чтения после окончания работ - излишние записи на флеш носитель могут значительно сократить его срок эксплуатации.
+Перед тем, как обсудить изменения, которые нужно сделать для успешного использования дерева портов, необходимо напомнить о том, что ваши файловые системы на флеш-носителях доступны только для чтения. Поэтому вам нужно временно монтировать их в режиме чтения и записи, используя параметры командной строки, как это показано в crossref:solid-state[ro-fs, Подсистема `rc` и файловые системы в режиме только чтения]. Вы всегда должны перемонтировать эти файловые системы в режим только для чтения после окончания работ - излишние записи на флеш носитель могут значительно сократить его срок эксплуатации.
-Чтобы можно было войти в каталог с портами и успешно выполнить команду make `install`, необходимо создать каталог для пакаджей в файловой системе, не располагающейся в памяти, где будут храниться пакаджи между перезагрузками. Так как для установки пакаджа в любом случае требуется монтирование ваших файловых систем для чтения и записи, имеет смысл выделить область флэш-носителя также и для записи информации о пакадже.
+Чтобы можно было войти в каталог с портами и успешно выполнить команду make `install`, необходимо создать каталог для пакетов в файловой системе, не располагающейся в памяти, где будут храниться пакеты между перезагрузками. Так как для установки пакета в любом случае требуется монтирование ваших файловых систем для чтения и записи, имеет смысл выделить область флеш-носителя также и для записи информации о пакете.
-Прежде всего создайте каталог с базой данных о пакаджах. Обычно это каталог [.filename]#/var/db/pkg#, но мы не можем разместить базу именно здесь, так как она исчезнет после перезагрузки системы.
+Прежде всего создайте каталог с базой данных о пакетах. Обычно это каталог [.filename]#/var/db/pkg#, но мы не можем разместить базу именно здесь, так как она исчезнет после перезагрузки системы.
[source, shell]
....
@@ -236,16 +236,16 @@ ftp> get tarfile.tar "| zcat | tar xvf -"
# ln -s /etc/pkg /var/db/pkg
....
-Теперь каждый раз при монтировании ваших файловых систем для чтения и записи и установки пакаджа, команда make `install` будет работать, а информация о пакадже будет успешно записана в каталог [.filename]#/etc/pkg# (так как файловая система будет в это время смонтирована для чтения и записи), который всегда будет доступным операционной системе как [.filename]#/var/db/pkg#.
+Теперь каждый раз при монтировании ваших файловых систем для чтения и записи и установки пакета, команда make `install` будет работать, а информация о пакете будет успешно записана в каталог [.filename]#/etc/pkg# (так как файловая система будет в это время смонтирована для чтения и записи), который всегда будет доступным операционной системе как [.filename]#/var/db/pkg#.
=== Веб-сервер Apache
[NOTE]
====
-Шаги, описанные в этой части статьи, необходимо выполнить лишь в том случае, если Apache настроен сохранять свой pid или лог файл вне каталога [.filename]#/var#. С настройками по умолчанию Apache формирует свой pid файл в [.filename]#/var/run/httpd.pid#, а лог файлы - в [.filename]#/var/log#.
+Шаги, описанные в этой части статьи, необходимо выполнить лишь в том случае, если Apache настроен сохранять свой pid или журнал вне каталога [.filename]#/var#. С настройками по умолчанию Apache формирует свой pid файл в [.filename]#/var/run/httpd.pid#, а файлы журналов - в [.filename]#/var/log#.
====
-Далее в статье подразумевается, что Apache сохраняет свои лог файлы в каталог [.filename]#apache_log_dir# вне каталога [.filename]#/var#. Когда этот каталог расположен на файловой системе, смонтированной в режиме только для чтения, Apache не сможет сохранять лог файлы, что в свою очередь может вызывать проблемы в работе веб-сервера. В таком случае необходимо добавить новый каталог к списку каталогов из [.filename]#/etc/rc.d/var# для их создания в каталоге [.filename]#/var# и связать [.filename]#apache_log_dir# с [.filename]#/var/log/apache#. Нужно также задать права доступа и владельца нового каталога.
+Далее в статье подразумевается, что Apache сохраняет свои файлы журналов в каталог [.filename]#apache_log_dir# вне каталога [.filename]#/var#. Когда этот каталог расположен на файловой системе, смонтированной в режиме только для чтения, Apache не сможет сохранять файлы журналов, что в свою очередь может вызывать проблемы в работе веб-сервера. В таком случае необходимо добавить новый каталог к списку каталогов из [.filename]#/etc/rc.d/var# для их создания в каталоге [.filename]#/var# и связать [.filename]#apache_log_dir# с [.filename]#/var/log/apache#. Нужно также задать права доступа и владельца нового каталога.
Сначала добавьте каталог `log/apache` к списку каталогов, создаваемых скриптом [.filename]#/etc/rc.d/var#.
diff --git a/documentation/content/ru/articles/solid-state/_index.po b/documentation/content/ru/articles/solid-state/_index.po
index 12db5644aa..6add6f6eb4 100644
--- a/documentation/content/ru/articles/solid-state/_index.po
+++ b/documentation/content/ru/articles/solid-state/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-09-24 18:41+0300\n"
-"PO-Revision-Date: 2025-07-05 04:45+0000\n"
+"POT-Creation-Date: 2024-12-29 08:30-0500\n"
+"PO-Revision-Date: 2025-10-29 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/articlessolid-state_index/ru/>\n"
@@ -18,7 +18,7 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/articles/solid-state/_index.adoc:1
#, no-wrap
msgid "The use of solid state disk devices in FreeBSD"
@@ -111,19 +111,19 @@ msgid ""
"environment."
msgstr ""
"Эта статья будет ограничиваться рассмотрением твердотельных дисковых "
-"устройств, которые делаются на основе флэш-памяти. Флэш-память является "
+"устройств, которые делаются на основе флеш-памяти. Флеш-память является "
"твердотельным (здесь нет движущихся частей) запоминающим устройством, "
"которое является энергонезависимым (данные остаются в памяти даже после "
-"отключения всех источников питания). Флэш-память может быть нечувствительной "
+"отключения всех источников питания). Флеш-память может быть нечувствительной "
"к сильным физическим воздействиям и достаточно быстра (решения на основе "
-"флэш-памяти, описываемые в этой статье, гораздо медленнее, чем диски EIDE "
+"флеш-памяти, описываемые в этой статье, гораздо медленнее, чем диски EIDE "
"для операций записи, и гораздо быстрее их в случае выполнения операций "
-"чтения). Одним из очень важных свойств флэш-памяти, различные варианты "
+"чтения). Одним из очень важных свойств флеш-памяти, различные варианты "
"которого будут рассмотрены далее в этой статье, является то, что каждый "
"сектор имеет ограниченные возможности по перезаписыванию. Вы можете только "
-"записывать, стирать и снова записывать на сектор флэш-памяти определенное "
+"записывать, стирать и снова записывать на сектор флеш-памяти определенное "
"количество раз до того, как сектор станет полностью неработоспособным. Хотя "
-"многие продукты на основе флэш-памяти автоматически перенаправляют "
+"многие продукты на основе флеш-памяти автоматически перенаправляют "
"испорченные блоки, а некоторые даже распределяют операции записи по всему "
"модулю, фактом является наличие ограничения на количество операций записи, "
"которые могут выполняться с устройством. Современные модули имеют "
@@ -141,7 +141,7 @@ msgid ""
"computer. Once implemented in this manner, operating systems such as "
"FreeBSD see the device as a normal hard disk (albeit small)."
msgstr ""
-"В частности, мы обсудим компактные модули флэш-памяти, совместимые со "
+"В частности, мы обсудим компактные модули флеш-памяти, совместимые со "
"стандартом ATA, которые стали весьма популярными в качестве носителя данных "
"для цифровых камер. Особый интерес представляет тот факт, что они "
"соответствуют шине IDE по контактам и совместимы с набором команд ATA. Таким "
@@ -187,10 +187,10 @@ msgid ""
"counters and temporary files. Memory filesystems are a critical component "
"to a successful solid state FreeBSD implementation."
msgstr ""
-"Все встраиваемые системы FreeBSD, которые используют флэш-память в качестве "
+"Все встраиваемые системы FreeBSD, которые используют флеш-память в качестве "
"системного диска, заинтересованы в использовании дисков в памяти и файловых "
"систем в памяти. Из-за ограниченного количества циклов записи, которые можно "
-"выполнить с флэш-памятью, диск и файловые системы на нем будут, скорее "
+"выполнить с флеш-памятью, диск и файловые системы на нем будут, скорее "
"всего, монтироваться в режиме доступа только для чтения. В таком случае "
"файловые системы типа [.filename]#/tmp# и [.filename]#/var# монтируются как "
"файловые системы в памяти для того, чтобы позволить системе создать журналы "
@@ -210,7 +210,9 @@ msgstr ""
#: documentation/content/en/articles/solid-state/_index.adoc:92
#, no-wrap
msgid "options MD_ROOT # md device usable as a potential root device\n"
-msgstr "options MD_ROOT # md device usable as a potential root device\n"
+msgstr ""
+"options MD_ROOT # md device usable as a potential root "
+"device\n"
#. type: Title ==
#: documentation/content/en/articles/solid-state/_index.adoc:95
@@ -224,16 +226,16 @@ msgid ""
"The post-boot initialization of an embedded FreeBSD system is controlled by "
"[.filename]#/etc/rc.initdiskless#."
msgstr ""
-"Инициализация встраиваемой системы FreeBSD после загрузки управляется "
-"[.filename]#/etc/rc.initdiskless#."
+"Инициализация встраиваемой системы FreeBSD после загрузки управляется [."
+"filename]#/etc/rc.initdiskless#."
#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:102
msgid ""
"[.filename]#/etc/rc.d/var# mounts [.filename]#/var# as a memory filesystem, "
-"makes a configurable list of directories in [.filename]#/var# with the "
-"man:mkdir[1] command, and changes modes on some of those directories. In "
-"the execution of [.filename]#/etc/rc.d/var#, one other [.filename]#rc.conf# "
+"makes a configurable list of directories in [.filename]#/var# with the man:"
+"mkdir[1] command, and changes modes on some of those directories. In the "
+"execution of [.filename]#/etc/rc.d/var#, one other [.filename]#rc.conf# "
"variable comes into play - `varsize`. A [.filename]#/var# partition is "
"created by [.filename]#/etc/rc.d/var# based on the value of this variable in "
"[.filename]#rc.conf#:"
@@ -269,18 +271,19 @@ msgid ""
"the importance of not using a swap file, cannot be overstated. A swap file "
"on a busy system can burn through a piece of flash media in less than one "
"year. Heavy logging or temporary file creation and destruction can do the "
-"same. Therefore, in addition to removing the `swap` entry from your "
-"[.filename]#/etc/fstab#, you should also change the Options field for each "
+"same. Therefore, in addition to removing the `swap` entry from your [."
+"filename]#/etc/fstab#, you should also change the Options field for each "
"filesystem to `ro` as follows:"
msgstr ""
"Факт использования файловой системы [.filename]#/var# в режиме чтения и "
"записи является важным признаком, так как раздел [.filename]#/# (и любые "
-"другие разделы, которые могут находиться на флэш-носителе) должен "
-"монтироваться в режиме только для чтения. Вспомните, что в <<intro>> мы "
-"касались ограничений флэш-памяти - особенно ограничений, касающихся "
-"возможностей записи. Важно не монтировать файловые системы на флэш-носителях "
-"в режимах чтения и записи, и важность отказа от файла подкачки не может быть "
-"переоценена. Файл подкачки на загруженной системе может пережечь кусок флэш-"
+"другие разделы, которые могут находиться на флеш-носителе) должен "
+"монтироваться в режиме только для чтения. Вспомните, что в разделе crossref"
+":solid-state[intro, Твердотельные дисковые устройства] мы касались "
+"ограничений флеш-памяти - особенно ограничений, касающихся возможностей "
+"записи. Важно не монтировать файловые системы на флеш-носителях в режимах "
+"чтения и записи, и важность отказа от файла подкачки не может быть "
+"переоценена. Файл подкачки на загруженной системе может пережечь кусок флеш-"
"носителя менее чем за год. Частое журналирование и создание временных файлов "
"приводят к тому же результату. Поэтому, кроме удаления записи `swap` из "
"вашего файла [.filename]#/etc/fstab#, вы должны также изменить поле "
@@ -293,7 +296,8 @@ msgid ""
"# Device Mountpoint FStype Options Dump Pass#\n"
"/dev/ad0s1a / ufs ro 1 1\n"
msgstr ""
-"# Device Mountpoint FStype Options Dump Pass#\n"
+"# Device Mountpoint FStype Options Dump Pass#"
+"\n"
"/dev/ad0s1a / ufs ro 1 1\n"
#. type: Plain text
@@ -301,23 +305,25 @@ msgstr ""
msgid ""
"A few applications in the average system will immediately begin to fail as a "
"result of this change. For instance, cron will not run properly as a result "
-"of missing cron tabs in the [.filename]#/var# created by [.filename]#/etc/"
-"rc.d/var#, and syslog and dhcp will encounter problems as well as a result "
-"of the read-only filesystem and missing items in the [.filename]#/var# that "
-"[.filename]#/etc/rc.d/var# has created. These are only temporary problems "
+"of missing cron tabs in the [.filename]#/var# created by [.filename]#/etc/rc."
+"d/var#, and syslog and dhcp will encounter problems as well as a result of "
+"the read-only filesystem and missing items in the [.filename]#/var# that [."
+"filename]#/etc/rc.d/var# has created. These are only temporary problems "
"though, and are addressed, along with solutions to the execution of other "
"common software packages in crossref:solid-state[strategies, System "
"Strategies for Small and Read Only Environments]."
msgstr ""
"В результате этих изменений в среднестатистической системе несколько "
"приложений немедленно перестанут работать. Например, cron не будет нормально "
-"запускаться в результате отсутствия таблиц для него в каталоге [.filename]#/"
-"var#, созданном [.filename]#/etc/rc.d/var#, а syslog и dhcp будут испытывать "
-"проблемы из-за доступа файловой системы только для чтения, а также "
-"отсутствия записей в [.filename]#/var#, который был создан скриптом "
-"[.filename]#/etc/rc.d/var#. Хотя эти проблемы являются временными и "
+"запускаться в результате отсутствия таблиц для него в каталоге [."
+"filename]#/var#, созданном [.filename]#/etc/rc.d/var#, а syslog и dhcp будут "
+"испытывать проблемы из-за доступа файловой системы только для чтения, а "
+"также отсутствия записей в [.filename]#/var#, который был создан скриптом [."
+"filename]#/etc/rc.d/var#. Хотя эти проблемы являются временными и "
"обсуждаются вместе с решением проблем с запуском распространенных "
-"программных пакетов, в <<strategies>>."
+"программных пакетов в разделе crossref:solid-state[strategies, Стратегии "
+"работы с системой для случаев небольших и доступных только для чтения "
+"файловых систем]."
#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:130
@@ -361,7 +367,7 @@ msgid ""
"hard drives, you could theoretically install FreeBSD from the network using "
"the kern and mfsroot floppies or from a CD."
msgstr ""
-"Так как совместимые с ATA компактные флэш-карты распознаются во FreeBSD как "
+"Так как совместимые с ATA компактные флеш-карты распознаются во FreeBSD как "
"обычные жесткие диски IDE, то теоретически вы можете установить FreeBSD по "
"сети при помощи дискет kern и mfsroot или с компакт-диска."
@@ -377,7 +383,7 @@ msgid ""
msgstr ""
"Однако даже маленькая установка FreeBSD при помощи обычных процедур "
"установки может привести к созданию системы размером, превышающим 200 "
-"мегабайт. Так как большинство людей используют устройства флэш-памяти "
+"мегабайт. Так как большинство людей используют устройства флеш-памяти "
"меньшего размера (128 мегабайт считается весьма большим - 32 или даже 16 "
"мегабайт используются гораздо чаще), то установка обычным образом не "
"подходит-просто на диске нет места даже для самой минимальной установки."
@@ -397,9 +403,9 @@ msgid ""
msgstr ""
"Самым простым способом обойти это ограничение на объем является установка "
"FreeBSD обычным образом на обычный жесткий диск. После окончания установки, "
-"обрежьте операционную систему до размера, который помещается на ваш флэш-"
+"обрежьте операционную систему до размера, который помещается на ваш флеш-"
"носитель, а затем полностью заархивируйте файловую систему. Следующие шаги "
-"поведут вас через процесс подготовки части флэш-памяти для вашей "
+"поведут вас через процесс подготовки части флеш-памяти для вашей "
"заархивированной файловой системы. Запомните, что из-за того, что обычная "
"установка не выполнялась, такие операции, как разбиение на разделы, "
"разметка, создание файловой системы и так далее должны быть выполнены "
@@ -409,7 +415,7 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/solid-state/_index.adoc:159
msgid "Partitioning Your Flash Media Device"
-msgstr "Разбиение вашего флэш-носителя на разделы"
+msgstr "Разбиение вашего флеш-носителя на разделы"
#. type: delimited block = 4
#: documentation/content/en/articles/solid-state/_index.adoc:169
@@ -434,7 +440,7 @@ msgstr ""
"раздела. Когда вы будете опрошены на предмет типа раздела, удостоверьтесь, "
"что значение типа равно `165`. Теперь запишите эту таблицу разделов на диск, "
"нажав клавишу kbd:[w] (на этом экране эта опция скрыта). Если вы используете "
-"компактную флэш-карту, совместимую с ATA, вы должны выбрать FreeBSD Boot "
+"компактную флеш-карту, совместимую с ATA, вы должны выбрать FreeBSD Boot "
"Manager. Теперь нажмите клавишу kbd:[q] для выхода из меню работы с "
"разделами. Должно быть выдано еще раз меню для выбора менеджера загрузки - "
"повторите то, что вы выбирали ранее."
@@ -442,7 +448,7 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/solid-state/_index.adoc:170
msgid "Creating Filesystems on Your Flash Memory Device"
-msgstr "Создание файловых систем на вашем устройстве флэш-памяти"
+msgstr "Создание файловых систем на вашем устройстве флеш-памяти"
#. type: delimited block = 4
#: documentation/content/en/articles/solid-state/_index.adoc:173
@@ -481,9 +487,9 @@ msgstr "a: 123456 0 4.2BSD 0 0\n"
#: documentation/content/en/articles/solid-state/_index.adoc:190
msgid ""
"Where _123456_ is a number that is exactly the same as the number in the "
-"existing `c:` entry for size. Basically you are duplicating the existing "
-"`c:` line as an `a:` line, making sure that fstype is `4.2BSD`. Save the "
-"file and exit."
+"existing `c:` entry for size. Basically you are duplicating the existing `c:"
+"` line as an `a:` line, making sure that fstype is `4.2BSD`. Save the file "
+"and exit."
msgstr ""
"Здесь _123456_ является числом, в точности совпадающим с тем, что "
"характеризует размер имеющейся записи для `c:`. В общем, вы копируете "
@@ -503,12 +509,12 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:198
msgid "Placing Your Filesystem on the Flash Media"
-msgstr "Размещение вашей файловой системы на флэш-носителе"
+msgstr "Размещение вашей файловой системы на флеш-носителе"
#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:200
msgid "Mount the newly prepared flash media:"
-msgstr "Смонтируйте только что подготовленный флэш-носитель:"
+msgstr "Смонтируйте только что подготовленный флеш-носитель:"
#. type: delimited block . 4
#: documentation/content/en/articles/solid-state/_index.adoc:204
@@ -524,7 +530,7 @@ msgid ""
"is:"
msgstr ""
"Подключите эту машину к сети, чтобы можно было перенести наш tar-файл и "
-"распаковать его в файловую систему на флэш-носителе. Вот пример того, как "
+"распаковать его в файловую систему на флеш-носителе. Вот пример того, как "
"это можно сделать:"
#. type: delimited block . 4
@@ -550,9 +556,9 @@ msgid ""
"file and the tar contents on your disk at the same time:"
msgstr ""
"Теперь, когда машина находится в сети, перепишите ваш tar-файл. Здесь вы "
-"можете столкнуться с некоторой проблемой - если объем вашей флэш-памяти "
+"можете столкнуться с некоторой проблемой - если объем вашей флеш-памяти "
"равен, к примеру, 128 мегабайтам, а ваш tar-файл превышает 64 мегабайта, то "
-"вы не можете одновременно разместить tar-файл на флэш-носителе и распаковать "
+"вы не можете одновременно разместить tar-файл на флеш-носителе и распаковать "
"его - вам не хватит места. Одним из решений этой проблемы, если вы "
"используете FTP, является распаковка файла во время его передачи по FTP. "
"Если вы передаете файл именно так, то вы никогда не получите на диске "
@@ -582,7 +588,7 @@ msgid ""
"filesystem, you can unmount the flash memory and reboot:"
msgstr ""
"После того, как вы получили содержимое вашей заархивированной файловой "
-"системы на файловой системе флэш-памяти, вы можете размонтировать флэш-"
+"системы на файловой системе флеш-памяти, вы можете размонтировать флеш-"
"память и выполнить перезагрузку:"
#. type: delimited block . 4
@@ -614,7 +620,9 @@ msgstr ""
#: documentation/content/en/articles/solid-state/_index.adoc:245
#, no-wrap
msgid "System Strategies for Small and Read Only Environments"
-msgstr "Стратегии работы с системой для случаев небольших и доступных только для чтения файловых систем"
+msgstr ""
+"Стратегии работы с системой для случаев небольших и доступных только для "
+"чтения файловых систем"
#. type: delimited block = 4
#: documentation/content/en/articles/solid-state/_index.adoc:249
@@ -626,7 +634,8 @@ msgid ""
"FreeBSD. In this article, suggestions for successfully running cron, "
"syslog, ports installations, and the Apache web server will be provided."
msgstr ""
-"В <<ro-fs>> было указано, что файловая система [.filename]#/var#, "
+"В разделе crossref:solid-state[ro-fs, Подсистема `rc` и файловые системы в "
+"режиме только чтения] было указано, что файловая система [.filename]#/var#, "
"создаваемая скриптом [.filename]#/etc/rc.d/var#, и наличие корневой файловой "
"системы, доступной только для чтения, приводят к проблемам при работе многих "
"распространенных программных пакетов, используемых во FreeBSD. В этой статье "
@@ -643,14 +652,14 @@ msgstr "Cron"
#: documentation/content/en/articles/solid-state/_index.adoc:253
msgid ""
"Upon boot, [.filename]#/var# gets populated by [.filename]#/etc/rc.d/var# "
-"using the list from [.filename]#/etc/mtree/BSD.var.dist#, so the "
-"[.filename]#cron#, [.filename]#cron/tabs#, [.filename]#at#, and a few other "
+"using the list from [.filename]#/etc/mtree/BSD.var.dist#, so the [."
+"filename]#cron#, [.filename]#cron/tabs#, [.filename]#at#, and a few other "
"standard directories get created."
msgstr ""
"Во время загрузки содержимое каталогa [.filename]#/var# формируется скриптом "
-"[.filename]#/etc/rc.d/var# используя данные из [.filename]#/etc/mtree/"
-"BSD.var.dist#, поэтому в нем создается несколько стандартных каталогов, в "
-"числе которых - [.filename]#cron#, [.filename]#cron/tabs#, [.filename]#at#."
+"[.filename]#/etc/rc.d/var# используя данные из [.filename]#/etc/mtree/BSD.var"
+".dist#, поэтому в нем создается несколько стандартных каталогов, в числе "
+"которых - [.filename]#cron#, [.filename]#cron/tabs#, [.filename]#at#."
#. type: delimited block = 4
#: documentation/content/en/articles/solid-state/_index.adoc:258
@@ -668,18 +677,18 @@ msgid ""
"you copy with [.filename]#/etc/rc.initdiskless#."
msgstr ""
"Однако это не решает проблему с сохранением cron-таблиц между "
-"перезагрузками. Когда система перезагружается, то файловая система "
-"[.filename]#/var#, которая располагается в памяти, будет уничтожена, вместе "
-"со всеми cron-таблицами, которые вы могли там иметь. Поэтому одним из "
-"решений может стать создание cron-таблиц для пользователей, которым они "
-"нужны, монтирование вашей файловой системы [.filename]#/# в режиме чтения и "
-"записи, и копирование этих cron-таблиц в безопасное место, например, в "
-"[.filename]#/etc/tabs#, и последующее добавление строки в конец скрипта "
-"[.filename]#/etc/rc.initdiskless# для копирования этих cron-таблиц в каталог "
-"[.filename]#/var/cron/tabs# после его создания во время инициализации "
-"системы. Вам может также потребоваться добавить строку, которая изменяет "
-"режимы доступа и права на каталоги, которые вы создали, и на файлы, которые "
-"вы скопировали в скрипте [.filename]#/etc/rc.initdiskless#."
+"перезагрузками. Когда система перезагружается, то файловая система [."
+"filename]#/var#, которая располагается в памяти, будет уничтожена, вместе со "
+"всеми cron-таблицами, которые вы могли там иметь. Поэтому одним из решений "
+"может стать создание cron-таблиц для пользователей, которым они нужны, "
+"монтирование вашей файловой системы [.filename]#/# в режиме чтения и записи, "
+"и копирование этих cron-таблиц в безопасное место, например, в [.filename]#/"
+"etc/tabs#, и последующее добавление строки в конец скрипта [.filename]#/etc/"
+"rc.initdiskless# для копирования этих cron-таблиц в каталог [.filename]#/var/"
+"cron/tabs# после его создания во время инициализации системы. Вам может "
+"также потребоваться добавить строку, которая изменяет режимы доступа и права "
+"на каталоги, которые вы создали, и на файлы, которые вы скопировали в "
+"скрипте [.filename]#/etc/rc.initdiskless#."
#. type: Title ===
#: documentation/content/en/articles/solid-state/_index.adoc:259
@@ -692,9 +701,9 @@ msgstr "Syslog"
msgid ""
"[.filename]#syslog.conf# specifies the locations of certain log files that "
"exist in [.filename]#/var/log#. These files are not created by [.filename]#/"
-"etc/rc.d/var# upon system initialization. Therefore, somewhere in "
-"[.filename]#/etc/rc.d/var#, after the section that creates the directories "
-"in [.filename]#/var#, you will need to add something like this:"
+"etc/rc.d/var# upon system initialization. Therefore, somewhere in [."
+"filename]#/etc/rc.d/var#, after the section that creates the directories in "
+"[.filename]#/var#, you will need to add something like this:"
msgstr ""
"В файле [.filename]#syslog.conf# задано местоположение некоторых файлов "
"протоколов, которые имеются в каталоге [.filename]#/var/log#. Эти файлы не "
@@ -733,7 +742,7 @@ msgid ""
msgstr ""
"Перед тем, как обсудить изменения, которые нужно сделать для успешного "
"использования дерева портов, необходимо напомнить о том, что ваши файловые "
-"системы на флэш-носителях доступны только для чтения. Поэтому вам нужно "
+"системы на флеш-носителях доступны только для чтения. Поэтому вам нужно "
"временно монтировать их в режиме чтения и записи, используя параметры "
"командной строки, как это показано в crossref:solid-state[ro-fs, Подсистема "
"`rc` и файловые системы в режиме только чтения]. Вы всегда должны "
@@ -752,22 +761,22 @@ msgid ""
"used for package information to be written to."
msgstr ""
"Чтобы можно было войти в каталог с портами и успешно выполнить команду make "
-"`install`, необходимо создать каталог для пакаджей в файловой системе, не "
-"располагающейся в памяти, где будут храниться пакаджи между перезагрузками. "
-"Так как для установки пакаджа в любом случае требуется монтирование ваших "
-"файловых систем для чтения и записи, имеет смысл выделить область флэш-"
-"носителя также и для записи информации о пакадже."
+"`install`, необходимо создать каталог для пакетов в файловой системе, не "
+"располагающейся в памяти, где будут храниться пакеты между перезагрузками. "
+"Так как для установки пакета в любом случае требуется монтирование ваших "
+"файловых систем для чтения и записи, имеет смысл выделить область флеш-"
+"носителя также и для записи информации о пакете."
#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:283
msgid ""
-"First, create a package database directory. This is normally in "
-"[.filename]#/var/db/pkg#, but we cannot place it there as it will disappear "
+"First, create a package database directory. This is normally in [."
+"filename]#/var/db/pkg#, but we cannot place it there as it will disappear "
"every time the system is booted."
msgstr ""
-"Прежде всего создайте каталог с базой данных о пакаджах. Обычно это каталог "
-"[.filename]#/var/db/pkg#, но мы не можем разместить базу именно здесь, так "
-"как она исчезнет после перезагрузки системы."
+"Прежде всего создайте каталог с базой данных о пакетах. Обычно это каталог [."
+"filename]#/var/db/pkg#, но мы не можем разместить базу именно здесь, так как "
+"она исчезнет после перезагрузки системы."
#. type: delimited block . 4
#: documentation/content/en/articles/solid-state/_index.adoc:287
@@ -800,8 +809,8 @@ msgid ""
"operating system as [.filename]#/var/db/pkg#."
msgstr ""
"Теперь каждый раз при монтировании ваших файловых систем для чтения и записи "
-"и установки пакаджа, команда make `install` будет работать, а информация о "
-"пакадже будет успешно записана в каталог [.filename]#/etc/pkg# (так как "
+"и установки пакета, команда make `install` будет работать, а информация о "
+"пакете будет успешно записана в каталог [.filename]#/etc/pkg# (так как "
"файловая система будет в это время смонтирована для чтения и записи), "
"который всегда будет доступным операционной системе как [.filename]#/var/db/"
"pkg#."
@@ -817,35 +826,35 @@ msgstr "Веб-сервер Apache"
msgid ""
"The steps in this section are only necessary if Apache is set up to write "
"its pid or log information outside of [.filename]#/var#. By default, Apache "
-"keeps its pid file in [.filename]#/var/run/httpd.pid# and its log files in "
-"[.filename]#/var/log#."
+"keeps its pid file in [.filename]#/var/run/httpd.pid# and its log files in [."
+"filename]#/var/log#."
msgstr ""
"Шаги, описанные в этой части статьи, необходимо выполнить лишь в том случае, "
-"если Apache настроен сохранять свой pid или лог файл вне каталога "
-"[.filename]#/var#. С настройками по умолчанию Apache формирует свой pid файл "
-"в [.filename]#/var/run/httpd.pid#, а лог файлы - в [.filename]#/var/log#."
+"если Apache настроен сохранять свой pid или журнал вне каталога [."
+"filename]#/var#. С настройками по умолчанию Apache формирует свой pid файл в "
+"[.filename]#/var/run/httpd.pid#, а файлы журналов - в [.filename]#/var/log#."
#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:310
msgid ""
-"It is now assumed that Apache keeps its log files in a directory "
-"[.filename]#apache_log_dir# outside of [.filename]#/var#. When this "
-"directory lives on a read-only filesystem, Apache will not be able to save "
-"any log files, and may have problems working. If so, it is necessary to add "
-"a new directory to the list of directories in [.filename]#/etc/rc.d/var# to "
-"create in [.filename]#/var#, and to link [.filename]#apache_log_dir# to "
-"[.filename]#/var/log/apache#. It is also necessary to set permissions and "
+"It is now assumed that Apache keeps its log files in a directory [."
+"filename]#apache_log_dir# outside of [.filename]#/var#. When this directory "
+"lives on a read-only filesystem, Apache will not be able to save any log "
+"files, and may have problems working. If so, it is necessary to add a new "
+"directory to the list of directories in [.filename]#/etc/rc.d/var# to create "
+"in [.filename]#/var#, and to link [.filename]#apache_log_dir# to [."
+"filename]#/var/log/apache#. It is also necessary to set permissions and "
"ownership on this new directory."
msgstr ""
-"Далее в статье подразумевается, что Apache сохраняет свои лог файлы в "
+"Далее в статье подразумевается, что Apache сохраняет свои файлы журналов в "
"каталог [.filename]#apache_log_dir# вне каталога [.filename]#/var#. Когда "
"этот каталог расположен на файловой системе, смонтированной в режиме только "
-"для чтения, Apache не сможет сохранять лог файлы, что в свою очередь может "
-"вызывать проблемы в работе веб-сервера. В таком случае необходимо добавить "
-"новый каталог к списку каталогов из [.filename]#/etc/rc.d/var# для их "
-"создания в каталоге [.filename]#/var# и связать [.filename]#apache_log_dir# "
-"с [.filename]#/var/log/apache#. Нужно также задать права доступа и владельца "
-"нового каталога."
+"для чтения, Apache не сможет сохранять файлы журналов, что в свою очередь "
+"может вызывать проблемы в работе веб-сервера. В таком случае необходимо "
+"добавить новый каталог к списку каталогов из [.filename]#/etc/rc.d/var# для "
+"их создания в каталоге [.filename]#/var# и связать [."
+"filename]#apache_log_dir# с [.filename]#/var/log/apache#. Нужно также задать "
+"права доступа и владельца нового каталога."
#. type: Plain text
#: documentation/content/en/articles/solid-state/_index.adoc:312
diff --git a/documentation/content/ru/articles/vinum/_index.adoc b/documentation/content/ru/articles/vinum/_index.adoc
index 1b4f934531..b34c3c0a9e 100644
--- a/documentation/content/ru/articles/vinum/_index.adoc
+++ b/documentation/content/ru/articles/vinum/_index.adoc
@@ -587,7 +587,7 @@ Subdisk root.p1.s0:
Когда всё готово, процесс загрузки можно продолжить, введя `boot -as`, где `-as` указывает ядру запросить корневую файловую систему для монтирования (`-a`) и остановить процесс загрузки в однопользовательском режиме (`-s`), при этом корневая файловая система монтируется в режиме только для чтения. Таким образом, даже если смонтирован только один слой многокомпонентного тома, не возникает риска несогласованности данных между слоями.
-На запрос о корневой файловой системе для монтирования можно ввести любое устройство, содержащее действительную корневую файловую систему. Если [.filename]#/etc/fstab# настроен правильно, по умолчанию должно быть что-то вроде `ufs:/dev/gvinum/root`. Типичным альтернативным выбором может быть что-то вроде `ufs:da0d`, что может быть гипотетическим разделом, содержащим корневую файловую систему до [.filename]#vinum#. Следует быть осторожным, если здесь вводится один из псевдонимов `a` разделов, чтобы он действительно ссылался на поддиски устройства [.filename]#vinum# root, потому что в зеркальной настройке это приведёт к монтированию только одной части зеркального корневого устройства. Если эта файловая система будет позже смонтирована в режиме чтения-записи, необходимо удалить другие плесксы тома [.filename]#vinum# root, так как в противном случае эти плесксы будут содержать несогласованные данные.
+На запрос о корневой файловой системе для монтирования можно ввести любое устройство, содержащее действительную корневую файловую систему. Если [.filename]#/etc/fstab# настроен правильно, по умолчанию должно быть что-то вроде `ufs:/dev/gvinum/root`. Типичным альтернативным выбором может быть что-то вроде `ufs:da0d`, что может быть гипотетическим разделом, содержащим корневую файловую систему до [.filename]#vinum#. Следует быть осторожным, если здесь вводится один из псевдонимов `a` разделов, чтобы он действительно ссылался на поддиски устройства [.filename]#vinum# root, потому что в зеркальной настройке это приведёт к монтированию только одной части зеркального корневого устройства. Если эта файловая система будет позже смонтирована в режиме чтения-записи, необходимо удалить другие плексы тома [.filename]#vinum# root, так как в противном случае эти плексы будут содержать несогласованные данные.
==== Только первичная загрузка Bootstrap
diff --git a/documentation/content/ru/articles/vinum/_index.po b/documentation/content/ru/articles/vinum/_index.po
index 93a1393713..785c4e7350 100644
--- a/documentation/content/ru/articles/vinum/_index.po
+++ b/documentation/content/ru/articles/vinum/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-04 00:14+0300\n"
-"PO-Revision-Date: 2025-08-10 04:45+0000\n"
+"POT-Creation-Date: 2025-01-24 10:22-0300\n"
+"PO-Revision-Date: 2025-10-29 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/articlesvinum_index/ru/>\n"
@@ -18,7 +18,7 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/articles/vinum/_index.adoc:1
#, no-wrap
msgid "The vinum Volume Manager in FreeBSD"
@@ -80,8 +80,8 @@ msgstr ""
"избыточных дисков. Помимо поддержки различных карт и контроллеров для "
"аппаратных систем RAID (Redundant Array of Independent Disks), базовая "
"система FreeBSD включает менеджер томов [.filename]#vinum#, драйвер блочных "
-"устройств, который реализует виртуальные диски и решает эти три проблемы. "
-"[.filename]#vinum# обеспечивает большую гибкость, производительность и "
+"устройств, который реализует виртуальные диски и решает эти три проблемы. [."
+"filename]#vinum# обеспечивает большую гибкость, производительность и "
"надежность по сравнению с традиционными системами хранения данных, а также "
"реализует модели `RAID`-0, `RAID`-1 и `RAID`-5 как по отдельности, так и в "
"комбинации."
@@ -124,11 +124,11 @@ msgstr ""
"extref:{handbook}geom/[архитектуру GEOM, geom-synopsis], сохраняя при этом "
"оригинальные идеи, терминологию и метаданные на диске. Эта переработанная "
"версия называется _gvinum_ (от _GEOM vinum_). Хотя в этой главе используется "
-"термин [.filename]#vinum#, все команды должны выполняться с помощью "
-"`gvinum`. Имя модуля ядра изменилось с оригинального [.filename]#vinum.ko# "
-"на [.filename]#geom_vinum.ko#, а все узлы устройств находятся в [.filename]#/"
-"dev/gvinum# вместо [.filename]#/dev/vinum#. Начиная с FreeBSD 6, "
-"оригинальная реализация [.filename]#vinum# больше не доступна в кодовой базе."
+"термин [.filename]#vinum#, все команды должны выполняться с помощью `gvinum`"
+". Имя модуля ядра изменилось с оригинального [.filename]#vinum.ko# на [."
+"filename]#geom_vinum.ko#, а все узлы устройств находятся в [.filename]#/dev/"
+"gvinum# вместо [.filename]#/dev/vinum#. Начиная с FreeBSD 6, оригинальная "
+"реализация [.filename]#vinum# больше не доступна в кодовой базе."
#. type: Title ==
#: documentation/content/en/articles/vinum/_index.adoc:85
@@ -258,8 +258,8 @@ msgstr ""
"имеет преимущество в том, что диски не требуют каких-либо определённых "
"соотношений размеров. Он хорошо работает, когда доступ к виртуальному диску "
"равномерно распределён по его адресному пространству. Если доступ "
-"сосредоточен на меньшей области, улучшение менее заметно. "
-"crossref:vinum[vinum-concat, Организация методом объединения] иллюстрирует "
+"сосредоточен на меньшей области, улучшение менее заметно. crossref:vinum"
+"[vinum-concat, Организация методом объединения] иллюстрирует "
"последовательность выделения блоков хранения в организации методом "
"объединения."
@@ -397,10 +397,10 @@ msgid ""
"relative block numbers."
msgstr ""
"Альтернативным решением является _четность_, реализованная в уровнях `RAID` "
-"2, 3, 4 и 5. Из них `RAID-5` представляет наибольший интерес. В реализации "
-"[.filename]#vinum# это вариант организации с чередованием, где один блок "
-"каждой полосы выделяется под четность одного из других блоков. В реализации "
-"[.filename]#vinum# плекс `RAID-5` аналогичен плексу с чередованием, за "
+"2, 3, 4 и 5. Из них `RAID-5` представляет наибольший интерес. В реализации [."
+"filename]#vinum# это вариант организации с чередованием, где один блок "
+"каждой полосы выделяется под четность одного из других блоков. В реализации ["
+".filename]#vinum# плекс `RAID-5` аналогичен плексу с чередованием, за "
"исключением того, что он реализует `RAID-5`, включая блок четности в каждую "
"полосу. Как требуется в `RAID-5`, расположение этого блока четности меняется "
"от одной полосы к другой. Числа в блоках данных обозначают относительные "
@@ -701,7 +701,9 @@ msgstr "no"
#: documentation/content/en/articles/vinum/_index.adoc:215
#, no-wrap
msgid "Large data storage with maximum placement flexibility and moderate performance"
-msgstr "Крупное хранилище данных с максимальной гибкостью размещения и умеренной производительностью"
+msgstr ""
+"Крупное хранилище данных с максимальной гибкостью размещения и умеренной "
+"производительностью"
#. type: Table
#: documentation/content/en/articles/vinum/_index.adoc:216
@@ -744,8 +746,8 @@ msgstr ""
"файлов с помощью man:gvinum[8]. [.filename]#vinum# хранит копию своей базы "
"данных конфигурации на каждом _устройстве_ диска, находящемся под его "
"управлением. Эта база данных обновляется при каждом изменении состояния, так "
-"что перезапуск точно восстанавливает состояние каждого объекта "
-"[.filename]#vinum#."
+"что перезапуск точно восстанавливает состояние каждого объекта [."
+"filename]#vinum#."
#. type: Title ===
#: documentation/content/en/articles/vinum/_index.adoc:230
@@ -814,8 +816,8 @@ msgid ""
msgstr ""
"Строка _plex_ определяет плекс. Единственный обязательный параметр — это "
"организация, в данном случае _concat_. Имя не требуется, так как система "
-"автоматически генерирует его из имени тома, добавляя суффикс _.px_, где _x_ "
-"— номер плекса в томе. Таким образом, этот плекс будет называться _myvol.p0_."
+"автоматически генерирует его из имени тома, добавляя суффикс _.px_, где _x_ —"
+" номер плекса в томе. Таким образом, этот плекс будет называться _myvol.p0_."
#. type: Plain text
#: documentation/content/en/articles/vinum/_index.adoc:249
@@ -862,25 +864,30 @@ msgstr ""
#: documentation/content/en/articles/vinum/_index.adoc:263
#, no-wrap
msgid " D a State: up Device /dev/da3h Avail: 2061/2573 MB (80%)\n"
-msgstr " D a State: up Device /dev/da3h Avail: 2061/2573 MB (80%)\n"
+msgstr ""
+" D a State: up Device /dev/da3h Avail: 2061/"
+"2573 MB (80%)\n"
#. type: delimited block . 4
#: documentation/content/en/articles/vinum/_index.adoc:265
#, no-wrap
msgid " V myvol State: up Plexes: 1 Size: 512 MB\n"
-msgstr " V myvol State: up Plexes: 1 Size: 512 MB\n"
+msgstr ""
+" V myvol State: up Plexes: 1 Size: 512 MB\n"
#. type: delimited block . 4
#: documentation/content/en/articles/vinum/_index.adoc:267
#, no-wrap
msgid " P myvol.p0 C State: up Subdisks: 1 Size: 512 MB\n"
-msgstr " P myvol.p0 C State: up Subdisks: 1 Size: 512 MB\n"
+msgstr ""
+" P myvol.p0 C State: up Subdisks: 1 Size: 512 MB\n"
#. type: delimited block . 4
#: documentation/content/en/articles/vinum/_index.adoc:269
#, no-wrap
msgid " S myvol.p0.s0 State: up PO: 0 B Size: 512 MB\n"
-msgstr " S myvol.p0.s0 State: up PO: 0 B Size: 512 MB\n"
+msgstr ""
+" S myvol.p0.s0 State: up PO: 0 B Size: 512 MB\n"
#. type: Plain text
#: documentation/content/en/articles/vinum/_index.adoc:273
@@ -890,8 +897,8 @@ msgid ""
"[.filename]#vinum# Volume]."
msgstr ""
"Этот вывод показывает краткий формат списка man:gvinum[8]. Он представлен "
-"графически в crossref:vinum[vinum-simple-vol, Простой том "
-"[.filename]#vinum#]."
+"графически в crossref:vinum[vinum-simple-vol, Простой том [."
+"filename]#vinum#]."
#. type: Block title
#: documentation/content/en/articles/vinum/_index.adoc:275
@@ -1002,8 +1009,10 @@ msgid ""
"\tD a State: up Device /dev/da3h Avail: 1549/2573 MB (60%)\n"
"\tD b State: up Device /dev/da4h Avail: 2061/2573 MB (80%)\n"
msgstr ""
-"\tD a State: up Device /dev/da3h Avail: 1549/2573 MB (60%)\n"
-"\tD b State: up Device /dev/da4h Avail: 2061/2573 MB (80%)\n"
+"\tD a State: up Device /dev/da3h Avail: 1549/"
+"2573 MB (60%)\n"
+"\tD b State: up Device /dev/da4h Avail: 2061/"
+"2573 MB (80%)\n"
#. type: delimited block . 4
#: documentation/content/en/articles/vinum/_index.adoc:318
@@ -1012,8 +1021,10 @@ msgid ""
" V myvol State: up Plexes: 1 Size: 512 MB\n"
" V mirror State: up Plexes: 2 Size: 512 MB\n"
msgstr ""
-" V myvol State: up Plexes: 1 Size: 512 MB\n"
-" V mirror State: up Plexes: 2 Size: 512 MB\n"
+" V myvol State: up Plexes: 1 Size: 512 "
+"MB\n"
+" V mirror State: up Plexes: 2 Size: 512 "
+"MB\n"
#. type: delimited block . 4
#: documentation/content/en/articles/vinum/_index.adoc:322
@@ -1023,9 +1034,12 @@ msgid ""
" P mirror.p0 C State: up Subdisks: 1 Size: 512 MB\n"
" P mirror.p1 C State: initializing Subdisks: 1 Size: 512 MB\n"
msgstr ""
-" P myvol.p0 C State: up Subdisks: 1 Size: 512 MB\n"
-" P mirror.p0 C State: up Subdisks: 1 Size: 512 MB\n"
-" P mirror.p1 C State: initializing Subdisks: 1 Size: 512 MB\n"
+" P myvol.p0 C State: up Subdisks: 1 Size: 512 "
+"MB\n"
+" P mirror.p0 C State: up Subdisks: 1 Size: 512 "
+"MB\n"
+" P mirror.p1 C State: initializing Subdisks: 1 Size:"
+" 512 MB\n"
#. type: delimited block . 4
#: documentation/content/en/articles/vinum/_index.adoc:326
@@ -1035,9 +1049,12 @@ msgid ""
"\tS mirror.p0.s0 State: up PO: 0 B Size: 512 MB\n"
"\tS mirror.p1.s0 State: empty PO: 0 B Size: 512 MB\n"
msgstr ""
-" S myvol.p0.s0 State: up PO: 0 B Size: 512 MB\n"
-"\tS mirror.p0.s0 State: up PO: 0 B Size: 512 MB\n"
-"\tS mirror.p1.s0 State: empty PO: 0 B Size: 512 MB\n"
+" S myvol.p0.s0 State: up PO: 0 B Size: 512 "
+"MB\n"
+"\tS mirror.p0.s0 State: up PO: 0 B Size: 512 "
+"MB\n"
+"\tS mirror.p1.s0 State: empty PO: 0 B Size: 512 "
+"MB\n"
#. type: Plain text
#: documentation/content/en/articles/vinum/_index.adoc:329
@@ -1123,8 +1140,8 @@ msgid ""
"to [.filename]#vinum#. After processing this definition, the configuration "
"looks like:"
msgstr ""
-"Как и ранее, не нужно определять диски, которые уже известны "
-"[.filename]#vinum#. После обработки этого определения конфигурация выглядит "
+"Как и ранее, не нужно определять диски, которые уже известны [."
+"filename]#vinum#. После обработки этого определения конфигурация выглядит "
"следующим образом:"
#. type: delimited block . 4
@@ -1150,10 +1167,14 @@ msgid ""
" D c State: up Device /dev/da5h Avail: 2445/2573 MB (95%)\n"
" D d State: up Device /dev/da6h Avail: 2445/2573 MB (95%)\n"
msgstr ""
-" D a State: up Device /dev/da3h Avail: 1421/2573 MB (55%)\n"
-" D b State: up Device /dev/da4h Avail: 1933/2573 MB (75%)\n"
-" D c State: up Device /dev/da5h Avail: 2445/2573 MB (95%)\n"
-" D d State: up Device /dev/da6h Avail: 2445/2573 MB (95%)\n"
+" D a State: up Device /dev/da3h Avail: "
+"1421/2573 MB (55%)\n"
+" D b State: up Device /dev/da4h Avail: "
+"1933/2573 MB (75%)\n"
+" D c State: up Device /dev/da5h Avail: "
+"2445/2573 MB (95%)\n"
+" D d State: up Device /dev/da6h Avail: "
+"2445/2573 MB (95%)\n"
#. type: delimited block . 4
#: documentation/content/en/articles/vinum/_index.adoc:374
@@ -1163,9 +1184,12 @@ msgid ""
" V mirror State: up Plexes: 2 Size: 512 MB\n"
" V striped State: up Plexes: 1 Size: 512 MB\n"
msgstr ""
-" V myvol State: up Plexes: 1 Size: 512 MB\n"
-" V mirror State: up Plexes: 2 Size: 512 MB\n"
-" V striped State: up Plexes: 1 Size: 512 MB\n"
+" V myvol State: up Plexes: 1 Size: 512 "
+"MB\n"
+" V mirror State: up Plexes: 2 Size: 512 "
+"MB\n"
+" V striped State: up Plexes: 1 Size: 512 "
+"MB\n"
#. type: delimited block . 4
#: documentation/content/en/articles/vinum/_index.adoc:379
@@ -1176,10 +1200,14 @@ msgid ""
" P mirror.p1 C State: initializing Subdisks: 1 Size: 512 MB\n"
" P striped.p1 State: up Subdisks: 1 Size: 512 MB\n"
msgstr ""
-" P myvol.p0 C State: up Subdisks: 1 Size: 512 MB\n"
-" P mirror.p0 C State: up Subdisks: 1 Size: 512 MB\n"
-" P mirror.p1 C State: initializing Subdisks: 1 Size: 512 MB\n"
-" P striped.p1 State: up Subdisks: 1 Size: 512 MB\n"
+" P myvol.p0 C State: up Subdisks: 1 Size: 512 "
+"MB\n"
+" P mirror.p0 C State: up Subdisks: 1 Size: 512 "
+"MB\n"
+" P mirror.p1 C State: initializing Subdisks: 1 Size:"
+" 512 MB\n"
+" P striped.p1 State: up Subdisks: 1 Size: 512 "
+"MB\n"
#. type: delimited block . 4
#: documentation/content/en/articles/vinum/_index.adoc:387
@@ -1193,13 +1221,20 @@ msgid ""
" S striped.p0.s2 State: up PO: 1024 kB Size: 128 MB\n"
" S striped.p0.s3 State: up PO: 1536 kB Size: 128 MB\n"
msgstr ""
-" S myvol.p0.s0 State: up PO: 0 B Size: 512 MB\n"
-" S mirror.p0.s0 State: up PO: 0 B Size: 512 MB\n"
-" S mirror.p1.s0 State: empty PO: 0 B Size: 512 MB\n"
-" S striped.p0.s0 State: up PO: 0 B Size: 128 MB\n"
-" S striped.p0.s1 State: up PO: 512 kB Size: 128 MB\n"
-" S striped.p0.s2 State: up PO: 1024 kB Size: 128 MB\n"
-" S striped.p0.s3 State: up PO: 1536 kB Size: 128 MB\n"
+" S myvol.p0.s0 State: up PO: 0 B Size: 512 "
+"MB\n"
+" S mirror.p0.s0 State: up PO: 0 B Size: 512 "
+"MB\n"
+" S mirror.p1.s0 State: empty PO: 0 B Size: 512 "
+"MB\n"
+" S striped.p0.s0 State: up PO: 0 B Size: 128 "
+"MB\n"
+" S striped.p0.s1 State: up PO: 512 kB Size: 128 "
+"MB\n"
+" S striped.p0.s2 State: up PO: 1024 kB Size: 128 "
+"MB\n"
+" S striped.p0.s3 State: up PO: 1536 kB Size: 128 "
+"MB\n"
#. type: Block title
#: documentation/content/en/articles/vinum/_index.adoc:390
@@ -1221,8 +1256,8 @@ msgid ""
"position within the plex address space, where the lightest stripes come "
"first and the darkest last."
msgstr ""
-"Этот том представлен на схеме crossref:vinum[vinum-striped-vol, Том "
-"[.filename]#vinum# с чередованием]. Темнота полос указывает на позицию в "
+"Этот том представлен на схеме crossref:vinum[vinum-striped-vol, Том [."
+"filename]#vinum# с чередованием]. Темнота полос указывает на позицию в "
"адресном пространстве плекса, где самые светлые полосы идут первыми, а самые "
"темные — последними."
@@ -1242,8 +1277,8 @@ msgid ""
msgstr ""
"[[vinum-resilience]]При достаточном аппаратном обеспечении можно создать "
"тома, которые демонстрируют как повышенную отказоустойчивость, так и "
-"увеличенную производительность по сравнению со стандартными разделами "
-"UNIX(R). Типичный конфигурационный файл может выглядеть так:"
+"увеличенную производительность по сравнению со стандартными разделами UNIX(R)"
+". Типичный конфигурационный файл может выглядеть так:"
#. type: delimited block . 4
#: documentation/content/en/articles/vinum/_index.adoc:416
@@ -1346,9 +1381,9 @@ msgid ""
"[.filename]#/dev/gvinum#. The configuration shown above would cause "
"[.filename]#vinum# to create the following device nodes:"
msgstr ""
-"Объектам [.filename]#vinum# назначаются узлы устройств в иерархии "
-"[.filename]#/dev/gvinum#. Приведённая выше конфигурация приведёт к тому, что "
-"[.filename]#vinum# создаст следующие узлы устройств:"
+"Объектам [.filename]#vinum# назначаются узлы устройств в иерархии [."
+"filename]#/dev/gvinum#. Приведённая выше конфигурация приведёт к тому, что [."
+"filename]#vinum# создаст следующие узлы устройств:"
#. type: Plain text
#: documentation/content/en/articles/vinum/_index.adoc:440
@@ -1359,11 +1394,10 @@ msgid ""
"[.filename]#/dev/gvinum/striped#, [.filename]#/dev/gvinum/raid5# and "
"[.filename]#/dev/gvinum/raid10#."
msgstr ""
-"Записи устройств для каждого тома. Это основные устройства, используемые "
-"[.filename]#vinum#. Приведённая конфигурация включает устройства "
-"[.filename]#/dev/gvinum/myvol#, [.filename]#/dev/gvinum/mirror#, "
-"[.filename]#/dev/gvinum/striped#, [.filename]#/dev/gvinum/raid5# и "
-"[.filename]#/dev/gvinum/raid10#."
+"Записи устройств для каждого тома. Это основные устройства, используемые [."
+"filename]#vinum#. Приведённая конфигурация включает устройства [.filename]#/"
+"dev/gvinum/myvol#, [.filename]#/dev/gvinum/mirror#, [.filename]#/dev/gvinum/"
+"striped#, [.filename]#/dev/gvinum/raid5# и [.filename]#/dev/gvinum/raid10#."
#. type: Plain text
#: documentation/content/en/articles/vinum/_index.adoc:441
@@ -1418,8 +1452,8 @@ msgid ""
"After processing this file, man:gvinum[8] creates the following structure in "
"[.filename]#/dev/gvinum#:"
msgstr ""
-"После обработки этого файла man:gvinum[8] создает следующую структуру в "
-"[.filename]#/dev/gvinum#:"
+"После обработки этого файла man:gvinum[8] создает следующую структуру в [."
+"filename]#/dev/gvinum#:"
#. type: delimited block . 4
#: documentation/content/en/articles/vinum/_index.adoc:467
@@ -1473,9 +1507,9 @@ msgid ""
"possible to move a drive to a different location and still recognize it "
"automatically. Drive names may be up to 32 characters long."
msgstr ""
-"Хотя рекомендуется не назначать конкретные имена плексам и поддискам, диски "
-"[.filename]#vinum# должны быть именованными. Это позволяет переместить диск "
-"в другое место и по-прежнему автоматически его распознавать. Имена дисков "
+"Хотя рекомендуется не назначать конкретные имена плексам и поддискам, диски ["
+".filename]#vinum# должны быть именованными. Это позволяет переместить диск в "
+"другое место и по-прежнему автоматически его распознавать. Имена дисков "
"могут быть длиной до 32 символов."
#. type: Title ===
@@ -1504,14 +1538,14 @@ msgstr ""
"от дисков UNIX(R), [.filename]#vinum# не разбивает тома на разделы, поэтому "
"они не содержат таблицы разделов. Это потребовало внесения изменений в "
"некоторые утилиты для работы с дисками, в частности, в man:newfs[8], чтобы "
-"они не пытались интерпретировать последнюю букву имени тома "
-"[.filename]#vinum# как идентификатор раздела. Например, имя диска может "
+"они не пытались интерпретировать последнюю букву имени тома [."
+"filename]#vinum# как идентификатор раздела. Например, имя диска может "
"выглядеть как [.filename]#/dev/ad0a# или [.filename]#/dev/da2h#. Эти имена "
-"обозначают первый раздел ([.filename]#a#) на первом (0) IDE-диске "
-"([.filename]#ad#) и восьмой раздел ([.filename]#h#) на третьем (2) SCSI-"
-"диске ([.filename]#da#) соответственно. В отличие от этого, том "
-"[.filename]#vinum# может называться [.filename]#/dev/gvinum/concat#, что не "
-"имеет отношения к имени раздела."
+"обозначают первый раздел ([.filename]#a#) на первом (0) IDE-диске ([."
+"filename]#ad#) и восьмой раздел ([.filename]#h#) на третьем (2) SCSI-диске (["
+".filename]#da#) соответственно. В отличие от этого, том [.filename]#vinum# "
+"может называться [.filename]#/dev/gvinum/concat#, что не имеет отношения к "
+"имени раздела."
#. type: Plain text
#: documentation/content/en/articles/vinum/_index.adoc:494
@@ -1598,19 +1632,32 @@ msgstr ""
"plex name myvol.p1 state up org concat vol myvol\n"
"plex name myvol.p2 state init org striped 512b vol myvol\n"
"plex name bigraid.p0 state initializing org raid5 512b vol bigraid\n"
-"sd name myvol.p0.s0 drive a plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 0b\n"
-"sd name myvol.p0.s1 drive b plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 1048576b\n"
-"sd name myvol.p1.s0 drive c plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 0b\n"
-"sd name myvol.p1.s1 drive d plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 1048576b\n"
-"sd name myvol.p2.s0 drive a plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 0b\n"
-"sd name myvol.p2.s1 drive b plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 524288b\n"
-"sd name myvol.p2.s2 drive c plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1048576b\n"
-"sd name myvol.p2.s3 drive d plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1572864b\n"
-"sd name bigraid.p0.s0 drive a plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 0b\n"
-"sd name bigraid.p0.s1 drive b plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 4194304b\n"
-"sd name bigraid.p0.s2 drive c plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 8388608b\n"
-"sd name bigraid.p0.s3 drive d plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 12582912b\n"
-"sd name bigraid.p0.s4 drive e plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 16777216b\n"
+"sd name myvol.p0.s0 drive a plex myvol.p0 state up len 1048576b driveoffset "
+"265b plexoffset 0b\n"
+"sd name myvol.p0.s1 drive b plex myvol.p0 state up len 1048576b driveoffset "
+"265b plexoffset 1048576b\n"
+"sd name myvol.p1.s0 drive c plex myvol.p1 state up len 1048576b driveoffset "
+"265b plexoffset 0b\n"
+"sd name myvol.p1.s1 drive d plex myvol.p1 state up len 1048576b driveoffset "
+"265b plexoffset 1048576b\n"
+"sd name myvol.p2.s0 drive a plex myvol.p2 state init len 524288b driveoffset "
+"1048841b plexoffset 0b\n"
+"sd name myvol.p2.s1 drive b plex myvol.p2 state init len 524288b driveoffset "
+"1048841b plexoffset 524288b\n"
+"sd name myvol.p2.s2 drive c plex myvol.p2 state init len 524288b driveoffset "
+"1048841b plexoffset 1048576b\n"
+"sd name myvol.p2.s3 drive d plex myvol.p2 state init len 524288b driveoffset "
+"1048841b plexoffset 1572864b\n"
+"sd name bigraid.p0.s0 drive a plex bigraid.p0 state initializing len "
+"4194304b driveoff set 1573129b plexoffset 0b\n"
+"sd name bigraid.p0.s1 drive b plex bigraid.p0 state initializing len "
+"4194304b driveoff set 1573129b plexoffset 4194304b\n"
+"sd name bigraid.p0.s2 drive c plex bigraid.p0 state initializing len "
+"4194304b driveoff set 1573129b plexoffset 8388608b\n"
+"sd name bigraid.p0.s3 drive d plex bigraid.p0 state initializing len "
+"4194304b driveoff set 1573129b plexoffset 12582912b\n"
+"sd name bigraid.p0.s4 drive e plex bigraid.p0 state initializing len "
+"4194304b driveoff set 1573129b plexoffset 16777216b\n"
#. type: Plain text
#: documentation/content/en/articles/vinum/_index.adoc:541
@@ -1627,8 +1674,8 @@ msgstr ""
"именования, что разрешено, но не рекомендуется, а также информация о "
"состояниях. [.filename]#vinum# не хранит сведения о дисках в "
"конфигурационной информации. Он находит диски, сканируя настроенные дисковые "
-"накопители на наличие разделов с меткой [.filename]#vinum#. Это позволяет "
-"[.filename]#vinum# корректно идентифицировать диски, даже если им были "
+"накопители на наличие разделов с меткой [.filename]#vinum#. Это позволяет [."
+"filename]#vinum# корректно идентифицировать диски, даже если им были "
"присвоены разные идентификаторы дисков UNIX(R)."
#. type: Title ====
@@ -1659,9 +1706,9 @@ msgid ""
"most recently and read the configuration from this drive. It then updates "
"the configuration, if necessary, from progressively older drives."
msgstr ""
-"Когда [.filename]#vinum# запускается командой `gvinum start`, "
-"[.filename]#vinum# читает конфигурационную базу данных с одного из дисков "
-"[.filename]#vinum#. В нормальных условиях каждый диск содержит идентичную "
+"Когда [.filename]#vinum# запускается командой `gvinum start`, [."
+"filename]#vinum# читает конфигурационную базу данных с одного из дисков [."
+"filename]#vinum#. В нормальных условиях каждый диск содержит идентичную "
"копию конфигурационной базы данных, поэтому не имеет значения, с какого "
"диска читать. Однако после сбоя [.filename]#vinum# должен определить, какой "
"диск был обновлён последним, и прочитать конфигурацию с этого диска. Затем, "
@@ -1724,7 +1771,9 @@ msgstr ""
#: documentation/content/en/articles/vinum/_index.adoc:564
#, no-wrap
msgid "Starting up [.filename]#vinum# Early Enough for the Root File System"
-msgstr "Запуск [.filename]#vinum# на раннем этапе для обеспечения доступа к корневой файловой системе"
+msgstr ""
+"Запуск [.filename]#vinum# на раннем этапе для обеспечения доступа к корневой "
+"файловой системе"
#. type: Plain text
#: documentation/content/en/articles/vinum/_index.adoc:568
@@ -1749,7 +1798,9 @@ msgstr "geom_vinum_load=\"YES\"\n"
#: documentation/content/en/articles/vinum/_index.adoc:574
#, no-wrap
msgid "Making a [.filename]#vinum#-based Root Volume Accessible to the Bootstrap"
-msgstr "Создание корневого тома на основе [.filename]#vinum#, доступного для загрузчика"
+msgstr ""
+"Создание корневого тома на основе [.filename]#vinum#, доступного для "
+"загрузчика"
#. type: Plain text
#: documentation/content/en/articles/vinum/_index.adoc:579
@@ -1871,8 +1922,8 @@ msgid ""
"[.filename]#ad0s1#."
msgstr ""
"`_devname_` должен быть либо именем диска, например, [.filename]#da0# для "
-"дисков без таблицы разделов, либо именем раздела, например, "
-"[.filename]#ad0s1#."
+"дисков без таблицы разделов, либо именем раздела, например, [."
+"filename]#ad0s1#."
#. type: Plain text
#: documentation/content/en/articles/vinum/_index.adoc:615
@@ -1920,8 +1971,8 @@ msgid ""
"this overlap if the [.filename]#vinum# partition has properly been marked "
"using the `vinum` fstype."
msgstr ""
-"Таким образом, будет создан новый раздел `a`, который перекрывает раздел "
-"[.filename]#vinum# на этом устройстве. `bsdlabel` разрешит это перекрытие "
+"Таким образом, будет создан новый раздел `a`, который перекрывает раздел [."
+"filename]#vinum# на этом устройстве. `bsdlabel` разрешит это перекрытие "
"только в том случае, если раздел [.filename]#vinum# был правильно помечен с "
"использованием типа файловой системы `vinum`."
@@ -1968,8 +2019,8 @@ msgid ""
"this setup is a message like:"
msgstr ""
"При следующей перезагрузке загрузчик должен определить соответствующую "
-"управляющую информацию из новой корневой файловой системы на основе "
-"[.filename]#vinum# и действовать соответствующим образом. В конце процесса "
+"управляющую информацию из новой корневой файловой системы на основе [."
+"filename]#vinum# и действовать соответствующим образом. В конце процесса "
"инициализации ядра, после объявления всех устройств, явным признаком "
"успешного завершения настройки будет сообщение вида:"
@@ -1991,8 +2042,8 @@ msgid ""
"After the [.filename]#vinum# root volume has been set up, the output of "
"`gvinum l -rv root` could look like:"
msgstr ""
-"После настройки корневого тома [.filename]#vinum#, вывод команды `gvinum l "
-"-rv root` может выглядеть следующим образом:"
+"После настройки корневого тома [.filename]#vinum#, вывод команды `gvinum l -"
+"rv root` может выглядеть следующим образом:"
#. type: delimited block . 4
#: documentation/content/en/articles/vinum/_index.adoc:655
@@ -2064,8 +2115,10 @@ msgstr ""
"8 partitions:\n"
"# size offset fstype [fsize bsize bps/cpg]\n"
" a: 245760 281 4.2BSD 2048 16384 0 # (Cyl. 0*- 15*)\n"
-" c: 71771688 0 unused 0 0 # (Cyl. 0 - 4467*)\n"
-" h: 71771672 16 vinum # (Cyl. 0*- 4467*)\n"
+" c: 71771688 0 unused 0 0 # (Cyl. 0 - 4467*)"
+"\n"
+" h: 71771672 16 vinum # (Cyl. 0*- 4467*)"
+"\n"
#. type: Plain text
#: documentation/content/en/articles/vinum/_index.adoc:684
@@ -2124,8 +2177,8 @@ msgid ""
msgstr ""
"Если по какой-либо причине система не продолжает загрузку, процесс можно "
"прервать, нажав kbd:[space] при появлении 10-секундного предупреждения. "
-"Переменную загрузчика `vinum.autostart` можно проверить, введя команду "
-"`show`, и изменить с помощью `set` или `unset`."
+"Переменную загрузчика `vinum.autostart` можно проверить, введя команду `show`"
+", и изменить с помощью `set` или `unset`."
#. type: Plain text
#: documentation/content/en/articles/vinum/_index.adoc:697
@@ -2146,12 +2199,12 @@ msgid ""
"plex volume has been mounted, no data inconsistency between plexes is being "
"risked."
msgstr ""
-"Когда всё готово, процесс загрузки можно продолжить, введя `boot -as`, где `-"
-"as` указывает ядру запросить корневую файловую систему для монтирования (`-"
-"a`) и остановить процесс загрузки в однопользовательском режиме (`-s`), при "
-"этом корневая файловая система монтируется в режиме только для чтения. Таким "
-"образом, даже если смонтирован только один слой многокомпонентного тома, не "
-"возникает риска несогласованности данных между слоями."
+"Когда всё готово, процесс загрузки можно продолжить, введя `boot -as`, где "
+"`-as` указывает ядру запросить корневую файловую систему для монтирования "
+"(`-a`) и остановить процесс загрузки в однопользовательском режиме (`-s`), "
+"при этом корневая файловая система монтируется в режиме только для чтения. "
+"Таким образом, даже если смонтирован только один слой многокомпонентного "
+"тома, не возникает риска несогласованности данных между слоями."
#. type: Plain text
#: documentation/content/en/articles/vinum/_index.adoc:706
@@ -2170,8 +2223,8 @@ msgid ""
"would otherwise carry inconsistent data."
msgstr ""
"На запрос о корневой файловой системе для монтирования можно ввести любое "
-"устройство, содержащее действительную корневую файловую систему. Если "
-"[.filename]#/etc/fstab# настроен правильно, по умолчанию должно быть что-то "
+"устройство, содержащее действительную корневую файловую систему. Если [."
+"filename]#/etc/fstab# настроен правильно, по умолчанию должно быть что-то "
"вроде `ufs:/dev/gvinum/root`. Типичным альтернативным выбором может быть что-"
"то вроде `ufs:da0d`, что может быть гипотетическим разделом, содержащим "
"корневую файловую систему до [.filename]#vinum#. Следует быть осторожным, "
@@ -2179,9 +2232,9 @@ msgstr ""
"ссылался на поддиски устройства [.filename]#vinum# root, потому что в "
"зеркальной настройке это приведёт к монтированию только одной части "
"зеркального корневого устройства. Если эта файловая система будет позже "
-"смонтирована в режиме чтения-записи, необходимо удалить другие плесксы тома "
-"[.filename]#vinum# root, так как в противном случае эти плесксы будут "
-"содержать несогласованные данные."
+"смонтирована в режиме чтения-записи, необходимо удалить другие плексы тома [."
+"filename]#vinum# root, так как в противном случае эти плексы будут содержать "
+"несогласованные данные."
#. type: Title ====
#: documentation/content/en/articles/vinum/_index.adoc:707
@@ -2202,9 +2255,9 @@ msgid ""
msgstr ""
"Если [.filename]#/boot/loader# не загружается, но первичная загрузка всё ещё "
"работает (это видно по одному дефису в левой части экрана сразу после начала "
-"процесса загрузки), можно попытаться прервать первичную загрузку, нажав kbd:"
-"[space]. Это остановит загрузку на extref:{handbook}boot/[втором этапе, boot-"
-"boot1]. Здесь можно попытаться загрузиться с альтернативного раздела, "
+"процесса загрузки), можно попытаться прервать первичную загрузку, нажав "
+"kbd:[space]. Это остановит загрузку на extref:{handbook}boot/[втором этапе, "
+"boot-boot1]. Здесь можно попытаться загрузиться с альтернативного раздела, "
"например, с раздела, содержащего предыдущую корневую файловую систему, "
"которая была перемещена из `a`."
@@ -2226,12 +2279,12 @@ msgid ""
"that was meant to be bootable, the [.filename]#vinum# setup will trash the "
"bootstrap."
msgstr ""
-"Такая ситуация произойдет, если загрузчик был уничтожен при установке "
-"[.filename]#vinum#. К сожалению, [.filename]#vinum# случайно оставляет "
+"Такая ситуация произойдет, если загрузчик был уничтожен при установке [."
+"filename]#vinum#. К сожалению, [.filename]#vinum# случайно оставляет "
"свободными только первые 4 КБ в начале своего раздела перед записью "
"заголовочной информации [.filename]#vinum#. Однако, первая и вторая стадии "
-"загрузчика вместе с bsdlabel требуют 8 КБ. Поэтому, если раздел "
-"[.filename]#vinum# начинается со смещения 0 внутри слайса или диска, который "
+"загрузчика вместе с bsdlabel требуют 8 КБ. Поэтому, если раздел [."
+"filename]#vinum# начинается со смещения 0 внутри слайса или диска, который "
"должен быть загрузочным, установка [.filename]#vinum# повредит загрузчик."
#. type: Plain text
@@ -2248,13 +2301,13 @@ msgid ""
"move the entire [.filename]#vinum# partition by at least 4 KB, to have the "
"[.filename]#vinum# header and the system bootstrap no longer collide."
msgstr ""
-"Аналогично, если описанная выше ситуация была исправлена загрузкой с "
-"\"Fixit\"-носителя, и загрузчик был переустановлен с помощью `bsdlabel -B`, "
-"как описано в extref:{handbook}boot/[этапе два, boot-boot1], загрузчик "
-"повредит заголовок [.filename]#vinum#, и [.filename]#vinum# больше не сможет "
-"найти свои диски. Хотя фактические данные конфигурации [.filename]#vinum# "
-"или данные в томах [.filename]#vinum# не будут повреждены, и можно "
-"восстановить все данные, введя точно такую же конфигурацию "
-"[.filename]#vinum# снова, исправить ситуацию сложно. Необходимо переместить "
-"весь раздел [.filename]#vinum# как минимум на 4 КБ, чтобы заголовок "
-"[.filename]#vinum# и системный загрузчик больше не конфликтовали."
+"Аналогично, если описанная выше ситуация была исправлена загрузкой с \"Fixit"
+"\"-носителя, и загрузчик был переустановлен с помощью `bsdlabel -B`, как "
+"описано в extref:{handbook}boot/[этапе два, boot-boot1], загрузчик повредит "
+"заголовок [.filename]#vinum#, и [.filename]#vinum# больше не сможет найти "
+"свои диски. Хотя фактические данные конфигурации [.filename]#vinum# или "
+"данные в томах [.filename]#vinum# не будут повреждены, и можно восстановить "
+"все данные, введя точно такую же конфигурацию [.filename]#vinum# снова, "
+"исправить ситуацию сложно. Необходимо переместить весь раздел [."
+"filename]#vinum# как минимум на 4 КБ, чтобы заголовок [.filename]#vinum# и "
+"системный загрузчик больше не конфликтовали."
diff --git a/documentation/content/ru/books/arch-handbook/_index.adoc b/documentation/content/ru/books/arch-handbook/_index.adoc
index 7417861a9b..b615f17b1a 100644
--- a/documentation/content/ru/books/arch-handbook/_index.adoc
+++ b/documentation/content/ru/books/arch-handbook/_index.adoc
@@ -1,5 +1,5 @@
---
-add_single_page_link: true
+add_single_page_link: 'true'
authors:
-
author: 'The FreeBSD Documentation Project'
@@ -9,7 +9,7 @@ description: 'Для разработчиков систем FreeBSD. В это
next: books/arch-handbook/parti
params:
path: /books/arch-handbook/
-showBookMenu: true
+showBookMenu: 'true'
tags: ["Arch Handbook", "FreeBSD"]
title: 'Руководство по архитектуре FreeBSD'
trademarks: ["freebsd", "apple", "microsoft", "unix", "general"]
diff --git a/documentation/content/ru/books/arch-handbook/_index.po b/documentation/content/ru/books/arch-handbook/_index.po
index 980f503404..c3bf8aae62 100644
--- a/documentation/content/ru/books/arch-handbook/_index.po
+++ b/documentation/content/ru/books/arch-handbook/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-14 22:43+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-08-16 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,11 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/arch-handbook/_index.adoc:1
#, no-wrap
msgid "For FreeBSD system developers. This book covers the architectural details of many important FreeBSD kernel subsystems"
-msgstr "Для разработчиков систем FreeBSD. В этой книге рассматриваются архитектурные особенности многих важных подсистем ядра FreeBSD"
+msgstr ""
+"Для разработчиков систем FreeBSD. В этой книге рассматриваются архитектурные "
+"особенности многих важных подсистем ядра FreeBSD"
#. type: Title =
#: documentation/content/en/books/arch-handbook/_index.adoc:1
@@ -31,12 +33,12 @@ msgstr "Для разработчиков систем FreeBSD. В этой кн
msgid "FreeBSD Architecture Handbook"
msgstr "Руководство по архитектуре FreeBSD"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/books/arch-handbook/_index.adoc:51
msgid "Abstract"
msgstr "Аннотация"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/books/arch-handbook/_index.adoc:53
msgid ""
"Welcome to the FreeBSD Architecture Handbook. This manual is a _work in "
@@ -50,7 +52,7 @@ msgstr ""
"Если вы хотите помочь в работе над этим проектом, напишите на электронную "
"почту списка рассылки {freebsd-doc}."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/books/arch-handbook/_index.adoc:55
msgid ""
"The latest version of this document is always available from the "
@@ -61,11 +63,11 @@ msgid ""
msgstr ""
"Актуальная версия этого документа всегда доступна на https://www.FreeBSD.org/"
"[официальном веб-сервере FreeBSD]. Его также можно загрузить в различных "
-"форматах и с разными вариантами сжатия с https://download.freebsd.org/doc/"
-"[сервера загрузок FreeBSD] или одного из многочисленных зеркал extref:"
-"{handbook}mirrors/[mirror sites, mirrors]."
+"форматах и с разными вариантами сжатия с https://download.freebsd.org/doc/["
+"сервера загрузок FreeBSD] или одного из многочисленных зеркал "
+"extref:{handbook}mirrors/[mirror sites, mirrors]."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/books/arch-handbook/_index.adoc:56
msgid "'''"
msgstr "'''"
diff --git a/documentation/content/ru/books/arch-handbook/bibliography/_index.adoc b/documentation/content/ru/books/arch-handbook/bibliography/_index.adoc
index 96ff388686..805bac4a4d 100644
--- a/documentation/content/ru/books/arch-handbook/bibliography/_index.adoc
+++ b/documentation/content/ru/books/arch-handbook/bibliography/_index.adoc
@@ -3,7 +3,7 @@ description: 'Библиография Руководства по архите
params:
path: /books/arch-handbook/bibliography/
prev: books/arch-handbook/partiii
-showBookMenu: true
+showBookMenu: 'true'
tags: ["bibliography", "Arch Handbook", "FreeBSD"]
title: Библиография
weight: 20
diff --git a/documentation/content/ru/books/arch-handbook/bibliography/_index.po b/documentation/content/ru/books/arch-handbook/bibliography/_index.po
index c5253e7d57..3caebc93a7 100644
--- a/documentation/content/ru/books/arch-handbook/bibliography/_index.po
+++ b/documentation/content/ru/books/arch-handbook/bibliography/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-14 22:43+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-07-12 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,7 +18,7 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/arch-handbook/bibliography/_index.adoc:1
#, no-wrap
msgid "Bibliography of the FreeBSD Architecture Handbook"
@@ -31,7 +31,7 @@ msgstr "Библиография Руководства по архитекту
msgid "Bibliography"
msgstr "Библиография"
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/arch-handbook/bibliography/_index.adoc:51
msgid ""
"[1] _Marshall Kirk McKusick, Keith Bostic, Michael J Karels, and John S "
diff --git a/documentation/content/ru/books/arch-handbook/book.adoc b/documentation/content/ru/books/arch-handbook/book.adoc
index 22f9cfba0b..4aea684095 100644
--- a/documentation/content/ru/books/arch-handbook/book.adoc
+++ b/documentation/content/ru/books/arch-handbook/book.adoc
@@ -1,5 +1,5 @@
---
-add_split_page_link: true
+add_split_page_link: 'true'
authors:
-
author: 'The FreeBSD Documentation Project'
diff --git a/documentation/content/ru/books/arch-handbook/book.po b/documentation/content/ru/books/arch-handbook/book.po
index a099efa2f7..067584be72 100644
--- a/documentation/content/ru/books/arch-handbook/book.po
+++ b/documentation/content/ru/books/arch-handbook/book.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-14 22:43+0300\n"
+"POT-Creation-Date: 2022-07-07 23:22-0300\n"
"PO-Revision-Date: 2025-08-16 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,11 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/arch-handbook/book.adoc:1
#, no-wrap
msgid "For FreeBSD system developers. This book covers the architectural details of many important FreeBSD kernel subsystems"
-msgstr "Для разработчиков систем FreeBSD. В этой книге рассматриваются архитектурные особенности многих важных подсистем ядра FreeBSD"
+msgstr ""
+"Для разработчиков систем FreeBSD. В этой книге рассматриваются архитектурные "
+"особенности многих важных подсистем ядра FreeBSD"
#. type: Title =
#: documentation/content/en/books/arch-handbook/book.adoc:1
@@ -31,12 +33,12 @@ msgstr "Для разработчиков систем FreeBSD. В этой кн
msgid "FreeBSD Architecture Handbook"
msgstr "Руководство по архитектуре FreeBSD"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/books/arch-handbook/book.adoc:49
msgid "Abstract"
msgstr "Аннотация"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/books/arch-handbook/book.adoc:51
msgid ""
"Welcome to the FreeBSD Architecture Handbook. This manual is a _work in "
@@ -50,22 +52,22 @@ msgstr ""
"Если вы хотите помочь в работе над этим проектом, напишите на электронную "
"почту списка рассылки {freebsd-doc}."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/books/arch-handbook/book.adoc:53
msgid ""
-"The latest version of this document is always available from the "
-"link:https://www.FreeBSD.org/[FreeBSD World Wide Web server]. It may also be "
+"The latest version of this document is always available from the link:"
+"https://www.FreeBSD.org/[FreeBSD World Wide Web server]. It may also be "
"downloaded in a variety of formats and compression options from the https://"
"download.freebsd.org/doc/[FreeBSD download server] or one of the numerous "
"extref:{handbook}[mirror sites, mirrors]."
msgstr ""
"Актуальная версия этого документа всегда доступна на https://www.FreeBSD.org/"
"[официальном веб-сервере FreeBSD]. Его также можно загрузить в различных "
-"форматах и с разными вариантами сжатия с https://download.freebsd.org/doc/"
-"[сервера загрузок FreeBSD] или одного из многочисленных зеркал extref:"
-"{handbook}mirrors/[mirror sites, mirrors]."
+"форматах и с разными вариантами сжатия с https://download.freebsd.org/doc/["
+"сервера загрузок FreeBSD] или одного из многочисленных зеркал "
+"extref:{handbook}mirrors/[mirror sites, mirrors]."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/books/arch-handbook/book.adoc:55
msgid "'''"
msgstr "'''"
diff --git a/documentation/content/ru/books/arch-handbook/boot/_index.adoc b/documentation/content/ru/books/arch-handbook/boot/_index.adoc
index 5b356b42ac..f5a67dedba 100644
--- a/documentation/content/ru/books/arch-handbook/boot/_index.adoc
+++ b/documentation/content/ru/books/arch-handbook/boot/_index.adoc
@@ -4,7 +4,7 @@ next: books/arch-handbook/locking
params:
path: /books/arch-handbook/boot/
prev: books/arch-handbook/parti
-showBookMenu: true
+showBookMenu: 'true'
tags: ["boot", "BIOS", "kernel", "MBR", "FreeBSD"]
title: 'Глава 1. Начальная загрузка и инициализация ядра'
weight: 2
diff --git a/documentation/content/ru/books/arch-handbook/boot/_index.po b/documentation/content/ru/books/arch-handbook/boot/_index.po
index 171dbcf2b3..f013cc2bb5 100644
--- a/documentation/content/ru/books/arch-handbook/boot/_index.po
+++ b/documentation/content/ru/books/arch-handbook/boot/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-14 22:43+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-07-02 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -25,7 +25,7 @@ msgstr ""
msgid "Bootstrapping and Kernel Initialization"
msgstr "Начальная загрузка и инициализация ядра"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:1
#, no-wrap
msgid "Chapter 1. Bootstrapping and Kernel Initialization"
@@ -101,9 +101,9 @@ msgstr ""
"существовать различные типы загрузки в рамках одной архитектуры. Например, "
"список файлов в каталоге [.filename]#stand# показывает большое количество "
"кода, зависящего от архитектуры. Для каждой из поддерживаемых архитектур "
-"существует отдельный каталог. FreeBSD поддерживает стандарт загрузки CSM "
-"(Compatibility Support Module). Таким образом, CSM поддерживается (как с "
-"GPT, так и с MBR разметкой), а также загрузка через UEFI (GPT полностью "
+"существует отдельный каталог. FreeBSD поддерживает стандарт загрузки CSM ("
+"Compatibility Support Module). Таким образом, CSM поддерживается (как с GPT, "
+"так и с MBR разметкой), а также загрузка через UEFI (GPT полностью "
"поддерживается, MBR — в основном). Также поддерживается загрузка файлов с "
"ext2fs, MSDOS, UFS и ZFS. FreeBSD поддерживает функцию загрузочного "
"окружения ZFS, которая позволяет основной ОС передавать детали о том, что "
@@ -124,8 +124,8 @@ msgid ""
"stage is examined in the following sections."
msgstr ""
"Ключ к пониманию этого процесса заключается в том, что он состоит из "
-"последовательных стадий возрастающей сложности. Эти стадии — "
-"[.filename]#boot1#, [.filename]#boot2# и [.filename]#loader# (подробнее см. "
+"последовательных стадий возрастающей сложности. Эти стадии — [."
+"filename]#boot1#, [.filename]#boot2# и [.filename]#loader# (подробнее см. "
"man:boot[8]). Система загрузки выполняет каждую стадию последовательно. "
"Последняя стадия, [.filename]#loader#, отвечает за загрузку ядра FreeBSD. "
"Каждая стадия рассматривается в следующих разделах."
@@ -179,7 +179,9 @@ msgstr ""
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:104
#, no-wrap
msgid "`boot2` footnote:[This prompt will appear if the user presses a key just after selecting an OS to boot at the boot0 stage.]"
-msgstr "`boot2` footnote:[Это приглашение появится, если пользователь нажмет клавишу сразу после выбора ОС для загрузки на этапе boot0.]"
+msgstr ""
+"`boot2` footnote:[Это приглашение появится, если пользователь нажмет клавишу "
+"сразу после выбора ОС для загрузки на этапе boot0.]"
#. type: Table
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:113
@@ -234,7 +236,8 @@ msgstr ""
"Console internal video/keyboard\n"
"(root@releng1.nyi.freebsd.org, Fri Apr 9 04:04:45 UTC 2021)\n"
"Loading /boot/defaults/loader.conf\n"
-"/boot/kernel/kernel text=0xed9008 data=0x117d28+0x176650 syms=[0x8+0x137988+0x8+0x1515f8]\n"
+"/boot/kernel/kernel text=0xed9008 data=0x117d28+0x176650 "
+"syms=[0x8+0x137988+0x8+0x1515f8]\n"
"...."
#. type: Table
@@ -264,9 +267,12 @@ msgstr ""
"Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994\n"
" The Regents of the University of California. All rights reserved.\n"
"FreeBSD is a registered trademark of The FreeBSD Foundation.\n"
-"FreeBSD 13.0-RELEASE 0 releng/13.0-n244733-ea31abc261f: Fri Apr 9 04:04:45 UTC 2021\n"
-" root@releng1.nyi.freebsd.org:/usr/obj/usr/src/i386.i386/sys/GENERIC i386\n"
-"FreeBSD clang version 11.0.1 (git@github.com:llvm/llvm-project.git llvmorg-11.0.1-0-g43ff75f2c3fe)\n"
+"FreeBSD 13.0-RELEASE 0 releng/13.0-n244733-ea31abc261f: Fri Apr 9 04:04:45 "
+"UTC 2021\n"
+" root@releng1.nyi.freebsd.org:/usr/obj/usr/src/i386.i386/sys/GENERIC "
+"i386\n"
+"FreeBSD clang version 11.0.1 (git@github.com:llvm/llvm-project.git llvmorg-11"
+".0.1-0-g43ff75f2c3fe)\n"
"...."
#. type: Title ==
@@ -299,8 +305,8 @@ msgstr ""
"битное значение `0xfffffff0`. Регистр указателя команд (также известный как "
"Счётчик Команд) указывает на код, который должен быть выполнен процессором. "
"Ещё один важный регистр — это 32-битный управляющий регистр `cr0`, и его "
-"значение сразу после перезагрузки равно `0`. Один из битов ``cr0``, бит PE "
-"(Protection Enabled, Защита Включена), указывает, работает ли процессор в 32-"
+"значение сразу после перезагрузки равно `0`. Один из битов ``cr0``, бит PE ("
+"Protection Enabled, Защита Включена), указывает, работает ли процессор в 32-"
"битном защищённом режиме или 16-битном реальном режиме. Поскольку этот бит "
"сброшен при загрузке, процессор запускается в 16-битном реальном режиме. "
"Реальный режим означает, среди прочего, что линейные и физические адреса "
@@ -333,9 +339,9 @@ msgid ""
"jump instruction to the BIOS's POST routines."
msgstr ""
"BIOS (Basic Input Output System) — это микросхема на материнской плате, "
-"которая содержит относительно небольшой объем памяти только для чтения "
-"(ROM). Эта память включает различные низкоуровневые процедуры, специфичные "
-"для оборудования, поставляемого с материнской платой. Процессор сначала "
+"которая содержит относительно небольшой объем памяти только для чтения (ROM)"
+". Эта память включает различные низкоуровневые процедуры, специфичные для "
+"оборудования, поставляемого с материнской платой. Процессор сначала "
"переходит по адресу 0xfffffff0, который фактически находится в памяти BIOS. "
"Обычно по этому адресу содержится инструкция перехода к процедурам POST BIOS."
@@ -370,15 +376,15 @@ msgid ""
"MBR, or Master Boot Record. The remaining sectors on the first track are "
"never used."
msgstr ""
-"Самым последним действием в POST является инструкция `INT 0x19`. Обработчик "
-"`INT 0x19` считывает 512 байт из первого сектора загрузочного устройства в "
+"Самым последним действием в POST является инструкция `INT 0x19`. Обработчик `"
+"INT 0x19` считывает 512 байт из первого сектора загрузочного устройства в "
"память по адресу `0x7c00`. Термин _первый сектор_ происходит из архитектуры "
"жёстких дисков, где магнитная пластина разделена на множество цилиндрических "
"дорожек. Дорожки нумеруются, и каждая дорожка разделена на несколько (обычно "
"64) секторов. Нумерация дорожек начинается с 0, но нумерация секторов "
"начинается с 1. Дорожка 0 находится на внешней стороне магнитной пластины, а "
-"сектор 1, первый сектор, имеет особое назначение. Он также называется MBR "
-"(Master Boot Record) или Главная Загрузочная Запись. Остальные секторы на "
+"сектор 1, первый сектор, имеет особое назначение. Он также называется MBR ("
+"Master Boot Record) или Главная Загрузочная Запись. Остальные секторы на "
"первой дорожке не используются."
#. type: Plain text
@@ -434,8 +440,8 @@ msgid ""
"which is an awesome piece of code written by Robert Nordier."
msgstr ""
"Как упоминалось ранее, мы вызываем прерывание BIOS `INT 0x19` для загрузки "
-"MBR ([.filename]#boot0#) в память по адресу `0x7c00`. Исходный файл для "
-"[.filename]#boot0# можно найти в [.filename]#stand/i386/boot0/boot0.S# — это "
+"MBR ([.filename]#boot0#) в память по адресу `0x7c00`. Исходный файл для [."
+"filename]#boot0# можно найти в [.filename]#stand/i386/boot0/boot0.S# — это "
"впечатляющий фрагмент кода, написанный Робертом Нордье."
#. type: Plain text
@@ -532,8 +538,8 @@ msgstr ""
"дополнительной информации (например, без формата файла ELF). Такой "
"низкоуровневый контроль достигается на этапе компоновки с помощью "
"специальных флагов, передаваемых компоновщику. Например, текстовая секция "
-"программы располагается по адресу `0x600`. На практике это означает, что "
-"[.filename]#boot0# должен быть загружен в память по адресу `0x600` для "
+"программы располагается по адресу `0x600`. На практике это означает, что [."
+"filename]#boot0# должен быть загружен в память по адресу `0x600` для "
"корректной работы."
#. type: Plain text
@@ -550,15 +556,15 @@ msgid ""
"command the linker to start the text section at address `0x600`, and to "
"build the output file \"as is\" (strip out any file formatting):"
msgstr ""
-"Стоит взглянуть на [.filename]#Makefile# для [.filename]#boot0# "
-"([.filename]#stand/i386/boot0/Makefile#), так как он определяет некоторые "
-"аспекты поведения [.filename]#boot0# во время выполнения. Например, если для "
-"ввода-вывода используется терминал, подключённый к последовательному порту "
-"(COM1), необходимо определить макрос `SIO` (`-DSIO`). `-DPXE` включает "
-"загрузку через PXE при нажатии kbd:[F6]. Кроме того, программа определяет "
-"набор _флагов_, которые позволяют дополнительно настроить её поведение. Всё "
-"это проиллюстрировано в [.filename]#Makefile#. Например, обратите внимание "
-"на директивы компоновщика, которые предписывают ему начинать секцию текста с "
+"Стоит взглянуть на [.filename]#Makefile# для [.filename]#boot0# ([.filename]#"
+"stand/i386/boot0/Makefile#), так как он определяет некоторые аспекты "
+"поведения [.filename]#boot0# во время выполнения. Например, если для ввода-"
+"вывода используется терминал, подключённый к последовательному порту (COM1), "
+"необходимо определить макрос `SIO` (`-DSIO`). `-DPXE` включает загрузку "
+"через PXE при нажатии kbd:[F6]. Кроме того, программа определяет набор "
+"_флагов_, которые позволяют дополнительно настроить её поведение. Всё это "
+"проиллюстрировано в [.filename]#Makefile#. Например, обратите внимание на "
+"директивы компоновщика, которые предписывают ему начинать секцию текста с "
"адреса `0x600` и создавать выходной файл \"как есть\" (удаляя любое "
"форматирование файла):"
@@ -720,11 +726,11 @@ msgstr ""
"который указывает `%di`. Это повторяется ещё 255 раз. При каждом повторении "
"оба регистра, исходный и конечный, `%si` и `%di`, увеличиваются на единицу. "
"Таким образом, по завершении копирования 256 слов (512 байт), `%di` имеет "
-"значение `0x600`+`512`= `0x800`, а `%si` — значение `0x7c00`+`512`= "
-"`0x7e00`; таким образом, мы завершили _перемещение_ кода. С момента "
-"последнего обновления этого документа инструкции копирования в коде "
-"изменились, поэтому вместо movsb и stosb были введены movsw и stosw, которые "
-"копируют 2 байта (1 слово) за одну итерацию."
+"значение `0x600`+`512`= `0x800`, а `%si` — значение `0x7c00`+`512`= `0x7e00`;"
+" таким образом, мы завершили _перемещение_ кода. С момента последнего "
+"обновления этого документа инструкции копирования в коде изменились, поэтому "
+"вместо movsb и stosb были введены movsw и stosw, которые копируют 2 байта (1 "
+"слово) за одну итерацию."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:304
@@ -822,8 +828,8 @@ msgid ""
"The next block saves the drive number provided by the BIOS, and calls `putn` "
"to print a new line on the screen."
msgstr ""
-"Следующий блок сохраняет номер диска, предоставленный BIOS, и вызывает "
-"`putn` для вывода новой строки на экран."
+"Следующий блок сохраняет номер диска, предоставленный BIOS, и вызывает `putn`"
+" для вывода новой строки на экран."
#. type: delimited block . 4
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:341
@@ -862,8 +868,8 @@ msgid ""
"not assembled and will not appear in our executable [.filename]#boot0#."
msgstr ""
"Обратите внимание, что мы предполагаем, что `TEST` не определён, поэтому "
-"условный код в нём не собирается и не появится в нашем исполняемом файле "
-"[.filename]#boot0#."
+"условный код в нём не собирается и не появится в нашем исполняемом файле [."
+"filename]#boot0#."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:351
@@ -879,8 +885,8 @@ msgstr ""
"выводит на экран тип раздела для каждой из четырёх записей в таблице "
"разделов. Каждый тип сравнивается со списком известных файловых систем "
"операционных систем. Примерами распознаваемых типов разделов являются NTFS "
-"(Windows(R), ID 0x7), `ext2fs` (Linux(R), ID 0x83) и, конечно же, `ffs`/"
-"`ufs2` (FreeBSD, ID 0xa5). Реализация довольно проста."
+"(Windows(R), ID 0x7), `ext2fs` (Linux(R), ID 0x83) и, конечно же, "
+"`ffs`/`ufs2` (FreeBSD, ID 0xa5). Реализация довольно проста."
#. type: delimited block . 4
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:356
@@ -958,8 +964,8 @@ msgid ""
"chooses to write the changes back to disk."
msgstr ""
"Важно отметить, что флаг активности для каждой записи сбрасывается, поэтому "
-"после сканирования _ни одна_ запись о разделе не активна в нашей копии "
-"[.filename]#boot0# в памяти. Позже флаг активности будет установлен для "
+"после сканирования _ни одна_ запись о разделе не активна в нашей копии [."
+"filename]#boot0# в памяти. Позже флаг активности будет установлен для "
"выбранного раздела. Это гарантирует, что только один активный раздел "
"существует, если пользователь решит записать изменения обратно на диск."
@@ -1129,13 +1135,13 @@ msgstr ""
"значение вычисляется BIOS через RTC (Real Time Clock). Эти часы могут быть "
"настроены на работу с частотой от 2 Гц до 8192 Гц. BIOS устанавливает их на "
"18,2 Гц при запуске. Когда запрос выполнен, 32-битный результат возвращается "
-"BIOS в регистрах `%cx` и `%dx` (младшие байты в `%dx`). Этот результат "
-"(часть `%dx`) копируется в регистр `%di`, и к `%di` добавляется значение "
+"BIOS в регистрах `%cx` и `%dx` (младшие байты в `%dx`). Этот результат ("
+"часть `%dx`) копируется в регистр `%di`, и к `%di` добавляется значение "
"переменной `TICKS`. Эта переменная находится в [.filename]#boot0# по "
"смещению `_TICKS` (отрицательное значение) от регистра `%bp` (который, "
"напомним, указывает на `0x800`). Значение этой переменной по умолчанию — "
-"`0xb6` (182 в десятичной системе). Идея заключается в том, что "
-"[.filename]#boot0# постоянно запрашивает время у BIOS, и когда значение, "
+"`0xb6` (182 в десятичной системе). Идея заключается в том, что [."
+"filename]#boot0# постоянно запрашивает время у BIOS, и когда значение, "
"возвращённое в регистре `%dx`, становится больше значения, хранящегося в "
"`%di`, время истекает и будет сделан выбор по умолчанию. Поскольку RTC "
"тикает 18,2 раза в секунду, это условие выполнится через 10 секунд (это "
@@ -1160,8 +1166,8 @@ msgstr ""
"соответствующую запись раздела в таблице разделов. Этот новый выбор "
"переопределяет предыдущий выбор по умолчанию. Действительно, он становится "
"новым значением по умолчанию. Наконец, устанавливается флаг ACTIVE "
-"выбранного раздела. Если это было разрешено при компиляции, версия "
-"[.filename]#boot0# в памяти с этими изменёнными значениями записывается "
+"выбранного раздела. Если это было разрешено при компиляции, версия [."
+"filename]#boot0# в памяти с этими изменёнными значениями записывается "
"обратно в MBR на диске. Мы оставляем детали этой реализации читателю."
#. type: Plain text
@@ -1170,8 +1176,8 @@ msgid ""
"We now end our study with the last code block from the [.filename]#boot0# "
"program:"
msgstr ""
-"Мы завершаем наше изучение последним блоком кода из программы "
-"[.filename]#boot0#:"
+"Мы завершаем наше изучение последним блоком кода из программы [."
+"filename]#boot0#:"
#. type: delimited block . 4
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:472
@@ -1240,8 +1246,8 @@ msgstr ""
"первого сектора слайса FreeBSD выполняется вызовом `intx13`. Мы "
"предполагаем, что всё прошло успешно, поэтому переход к `beep` не "
"выполняется. В частности, новый прочитанный сектор должен заканчиваться "
-"магической последовательностью `0xaa55`. Наконец, значение в `%si` "
-"(указатель на выбранную таблицу разделов) сохраняется для использования на "
+"магической последовательностью `0xaa55`. Наконец, значение в `%si` ("
+"указатель на выбранную таблицу разделов) сохраняется для использования на "
"следующем этапе, и выполняется переход по адресу `0x7c00`, где начинается "
"выполнение нашего следующего этапа (только что прочитанного блока)."
@@ -1263,8 +1269,8 @@ msgid ""
"MBR ([.filename]#boot0#) was loaded from absolute disk sector one to address "
"`0x7c00`. Execution control was passed to that location."
msgstr ""
-"BIOS выполнил первоначальную инициализацию оборудования, включая POST. MBR "
-"([.filename]#boot0#) был загружен по адресу `0x7c00` из абсолютного сектора "
+"BIOS выполнил первоначальную инициализацию оборудования, включая POST. MBR (["
+".filename]#boot0#) был загружен по адресу `0x7c00` из абсолютного сектора "
"один с диска. Управление выполнением было передано по этому адресу."
#. type: Plain text
@@ -1311,18 +1317,18 @@ msgstr ""
"работали исключительно с секторами диска. Действительно, BIOS загружает "
"самый первый сектор, а [.filename]#boot0# загружает первый сектор раздела "
"FreeBSD. Обе загрузки происходят по адресу `0x7c00`. Мы можем концептуально "
-"представлять эти секторы диска как содержащие файлы [.filename]#boot0# и "
-"[.filename]#boot1#, соответственно, но на самом деле это не совсем верно для "
-"[.filename]#boot1#. Строго говоря, в отличие от [.filename]#boot0#, "
-"[.filename]#boot1# не является частью загрузочных блоков footnote:[Файл /"
-"boot/boot1 существует, но он не записывается в начало раздела FreeBSD. "
-"Вместо этого он объединяется с boot2, формируя файл boot, который "
-"записывается в начало раздела FreeBSD и считывается во время загрузки.]. "
-"Вместо этого, единый полноценный файл [.filename]#boot# ([.filename]#/boot/"
-"boot#) в итоге записывается на диск. Этот файл представляет собой комбинацию "
-"[.filename]#boot1#, [.filename]#boot2# и `Boot Extender` (или BTX). Этот "
-"единый файл превышает размер одного сектора (больше 512 байт). К счастью, "
-"[.filename]#boot1# занимает _ровно_ первые 512 байт этого файла, поэтому, "
+"представлять эти секторы диска как содержащие файлы [.filename]#boot0# и [."
+"filename]#boot1#, соответственно, но на самом деле это не совсем верно для [."
+"filename]#boot1#. Строго говоря, в отличие от [.filename]#boot0#, [."
+"filename]#boot1# не является частью загрузочных блоков footnote:[Файл /boot/"
+"boot1 существует, но он не записывается в начало раздела FreeBSD. Вместо "
+"этого он объединяется с boot2, формируя файл boot, который записывается в "
+"начало раздела FreeBSD и считывается во время загрузки.]. Вместо этого, "
+"единый полноценный файл [.filename]#boot# ([.filename]#/boot/boot#) в итоге "
+"записывается на диск. Этот файл представляет собой комбинацию [."
+"filename]#boot1#, [.filename]#boot2# и `Boot Extender` (или BTX). Этот "
+"единый файл превышает размер одного сектора (больше 512 байт). К счастью, [."
+"filename]#boot1# занимает _ровно_ первые 512 байт этого файла, поэтому, "
"когда [.filename]#boot0# загружает первый сектор раздела FreeBSD (512 байт), "
"он фактически загружает [.filename]#boot1# и передает ему управление."
@@ -1508,7 +1514,8 @@ msgstr ""
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:584
#, no-wrap
msgid "[.filename]#stand/i386/boot2/boot1.S# [[boot-boot2-make-fake-partition]]"
-msgstr "[.filename]#stand/i386/boot2/boot1.S# [[boot-boot2-make-fake-partition]]"
+msgstr ""
+"[.filename]#stand/i386/boot2/boot1.S# [[boot-boot2-make-fake-partition]]"
#. type: Plain text
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:589
@@ -1570,8 +1577,8 @@ msgid ""
"also uses `xread.1`. This mechanism will be discussed in the next section."
msgstr ""
"Напомним, что `%si` указывает на поддельный раздел. Слово footnote:[В "
-"контексте 16-битного реального режима слово — это 2 байта.] по смещению "
-"`0x8` копируется в регистр `%ax`, а слово по смещению `0xa` — в `%cx`. BIOS "
+"контексте 16-битного реального режима слово — это 2 байта.] по смещению `0x8`"
+" копируется в регистр `%ax`, а слово по смещению `0xa` — в `%cx`. BIOS "
"интерпретирует их как младшее 4-байтовое значение, обозначающее LBA для "
"чтения (старшие четыре байта предполагаются нулевыми). Регистр `%bx` "
"содержит адрес памяти, куда будет загружен MBR. Инструкция, помещающая `%cs` "
@@ -1760,8 +1767,8 @@ msgstr ""
"FreeBSD в таблице разделов MBR, поэтому вызов `nread` фактически прочитает "
"секторы в начале этого раздела. Аргумент, переданный в регистре `%dh`, "
"указывает `nread` прочитать 16 секторов диска. Напомним, что первые 512 "
-"байт, или первый сектор слайса FreeBSD, совпадает с программой "
-"[.filename]#boot1#. Также напомним, что файл, записанный в начало слайса "
+"байт, или первый сектор слайса FreeBSD, совпадает с программой [."
+"filename]#boot1#. Также напомним, что файл, записанный в начало слайса "
"FreeBSD, это не [.filename]#/boot/boot1#, а [.filename]#/boot/boot#. Давайте "
"посмотрим на размер этих файлов в файловой системе:"
@@ -1796,13 +1803,13 @@ msgid ""
msgstr ""
"Оба файла [.filename]#boot0# и [.filename]#boot1# имеют размер 512 байт "
"каждый, поэтому они занимают _ровно_ один сектор диска. [.filename]#boot2# "
-"значительно больше, так как содержит как сервер BTX, так и клиент "
-"[.filename]#boot2#. Наконец, файл под названием просто [.filename]#boot# на "
+"значительно больше, так как содержит как сервер BTX, так и клиент [."
+"filename]#boot2#. Наконец, файл под названием просто [.filename]#boot# на "
"512 байт больше, чем [.filename]#boot2#. Этот файл представляет собой "
-"объединение [.filename]#boot1# и [.filename]#boot2#. Как уже отмечалось, "
-"[.filename]#boot0# записывается в самый первый сектор диска (MBR), а "
-"[.filename]#boot# записывается в первый сектор раздела FreeBSD; "
-"[.filename]#boot1# и [.filename]#boot2# _не_ записываются на диск. Команда, "
+"объединение [.filename]#boot1# и [.filename]#boot2#. Как уже отмечалось, [."
+"filename]#boot0# записывается в самый первый сектор диска (MBR), а [."
+"filename]#boot# записывается в первый сектор раздела FreeBSD; [."
+"filename]#boot1# и [.filename]#boot2# _не_ записываются на диск. Команда, "
"используемая для объединения [.filename]#boot1# и [.filename]#boot2# в "
"единый файл [.filename]#boot#, выглядит просто как `cat boot1 boot2 > boot`."
@@ -1819,12 +1826,12 @@ msgid ""
"in the next section."
msgstr ""
"Итак, [.filename]#boot1# занимает ровно первые 512 байт [.filename]#boot#, "
-"и, поскольку [.filename]#boot# записывается в первый сектор слайса FreeBSD, "
-"[.filename]#boot1# полностью помещается в этот первый сектор. Когда `nread` "
-"читает первые 16 секторов слайса FreeBSD, он фактически читает весь файл "
-"[.filename]#boot# footnote:[512*16=8192 байта, ровно размер boot]. Более "
-"подробно о том, как [.filename]#boot# формируется из [.filename]#boot1# и "
-"[.filename]#boot2#, мы увидим в следующем разделе."
+"и, поскольку [.filename]#boot# записывается в первый сектор слайса FreeBSD, ["
+".filename]#boot1# полностью помещается в этот первый сектор. Когда `nread` "
+"читает первые 16 секторов слайса FreeBSD, он фактически читает весь файл [."
+"filename]#boot# footnote:[512*16=8192 байта, ровно размер boot]. Более "
+"подробно о том, как [.filename]#boot# формируется из [.filename]#boot1# и [."
+"filename]#boot2#, мы увидим в следующем разделе."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:713
@@ -1840,10 +1847,10 @@ msgstr ""
"Напомним, что `nread` использует адрес памяти `0x8c00` в качестве буфера "
"передачи для хранения прочитанных секторов. Этот адрес выбран не случайно. "
"Действительно, поскольку [.filename]#boot1# принадлежит первым 512 байтам, "
-"он оказывается в диапазоне адресов `0x8c00`-`0x8dff`. Следующие 512 байт "
-"(диапазон `0x8e00`-`0x8fff`) используются для хранения _bsdlabel_ footnote:"
-"[Исторически известной как disklabel. Если вам когда-либо было интересно, "
-"где FreeBSD хранит эту информацию, она находится в этой области — см. "
+"он оказывается в диапазоне адресов `0x8c00`-`0x8dff`. Следующие 512 байт ("
+"диапазон `0x8e00`-`0x8fff`) используются для хранения _bsdlabel_ footnote:["
+"Исторически известной как disklabel. Если вам когда-либо было интересно, где "
+"FreeBSD хранит эту информацию, она находится в этой области — см. "
"man:bsdlabel[8]]."
#. type: Plain text
@@ -1990,11 +1997,11 @@ msgid ""
"`0x9010`, the entry point of the BTX server."
msgstr ""
"[.filename]#boot1# загружает первые 16 секторов среза FreeBSD по адресу "
-"`0x8c00`. Эти 16 секторов, или 8192 байта, представляют собой весь файл "
-"[.filename]#boot#. Файл является объединением [.filename]#boot1# и "
-"[.filename]#boot2#. [.filename]#boot2#, в свою очередь, содержит сервер BTX "
-"и клиент [.filename]#boot2#. Наконец, выполняется переход по адресу "
-"`0x9010`, точке входа сервера BTX."
+"`0x8c00`. Эти 16 секторов, или 8192 байта, представляют собой весь файл [."
+"filename]#boot#. Файл является объединением [.filename]#boot1# и [."
+"filename]#boot2#. [.filename]#boot2#, в свою очередь, содержит сервер BTX и "
+"клиент [.filename]#boot2#. Наконец, выполняется переход по адресу `0x9010`, "
+"точке входа сервера BTX."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:770
@@ -2006,10 +2013,9 @@ msgid ""
"creates the [.filename]#boot# file:"
msgstr ""
"Прежде чем изучать сервер BTX подробно, давайте рассмотрим, как создается "
-"единый, всеобъемлющий файл [.filename]#boot#. Способ сборки "
-"[.filename]#boot# определен в его [.filename]#Makefile# ([.filename]#stand/"
-"i386/boot2/Makefile#). Рассмотрим правило, которое создает файл "
-"[.filename]#boot#:"
+"единый, всеобъемлющий файл [.filename]#boot#. Способ сборки [.filename]#boot#"
+" определен в его [.filename]#Makefile# ([.filename]#stand/i386/boot2/"
+"Makefile#). Рассмотрим правило, которое создает файл [.filename]#boot#:"
#. type: delimited block . 4
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:775
@@ -2036,8 +2042,8 @@ msgid ""
"simple:"
msgstr ""
"Это говорит нам, что [.filename]#boot1# и [.filename]#boot2# необходимы, и "
-"правило просто объединяет их для создания одного файла с именем "
-"[.filename]#boot#. Правила для создания [.filename]#boot1# также довольно "
+"правило просто объединяет их для создания одного файла с именем [."
+"filename]#boot#. Правила для создания [.filename]#boot1# также довольно "
"просты:"
#. type: delimited block . 4
@@ -2058,7 +2064,8 @@ msgid ""
"\t${LD} ${LD_FLAGS} -e start --defsym ORG=${ORG1} -T ${LDSCRIPT} -o ${.TARGET} boot1.o\n"
msgstr ""
" boot1.out: boot1.o\n"
-"\t${LD} ${LD_FLAGS} -e start --defsym ORG=${ORG1} -T ${LDSCRIPT} -o ${.TARGET} boot1.o\n"
+"\t${LD} ${LD_FLAGS} -e start --defsym ORG=${ORG1} -T ${LDSCRIPT} -o ${."
+"TARGET} boot1.o\n"
#. type: Block title
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:790
@@ -2082,18 +2089,18 @@ msgid ""
"and symbolic information; `-O binary` indicates the output format, that is, "
"a simple, unformatted binary file."
msgstr ""
-"Для применения правила создания [.filename]#boot1# необходимо собрать "
-"[.filename]#boot1.out#. Это, в свою очередь, зависит от наличия "
-"[.filename]#boot1.o#. Последний файл является результатом ассемблирования "
+"Для применения правила создания [.filename]#boot1# необходимо собрать [."
+"filename]#boot1.out#. Это, в свою очередь, зависит от наличия [."
+"filename]#boot1.o#. Последний файл является результатом ассемблирования "
"нашего знакомого [.filename]#boot1.S# без компоновки. Теперь применяется "
-"правило создания [.filename]#boot1.out#. Оно указывает, что "
-"[.filename]#boot1.o# должен быть скомпонован с точкой входа `start` и "
-"начальным адресом `0x7c00`. Наконец, [.filename]#boot1# создается из "
-"[.filename]#boot1.out# применением соответствующего правила. Это команда "
-"[.filename]#objcopy#, применяемая к [.filename]#boot1.out#. Обратите "
-"внимание на флаги, передаваемые [.filename]#objcopy#: `-S` указывает на "
-"удаление всей информации о перемещении и символов; `-O binary` указывает "
-"формат вывода, то есть простой, неформатированный двоичный файл."
+"правило создания [.filename]#boot1.out#. Оно указывает, что [.filename]#boot1"
+".o# должен быть скомпонован с точкой входа `start` и начальным адресом "
+"`0x7c00`. Наконец, [.filename]#boot1# создается из [.filename]#boot1.out# "
+"применением соответствующего правила. Это команда [.filename]#objcopy#, "
+"применяемая к [.filename]#boot1.out#. Обратите внимание на флаги, "
+"передаваемые [.filename]#objcopy#: `-S` указывает на удаление всей "
+"информации о перемещении и символов; `-O binary` указывает формат вывода, то "
+"есть простой, неформатированный двоичный файл."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:801
@@ -2157,7 +2164,8 @@ msgid ""
"\t${LD} ${LD_FLAGS} --defsym ORG=${ORG2} -T ${LDSCRIPT} -o ${.TARGET} ${.ALLSRC}\n"
msgstr ""
" boot2.out: ${BTXCRT} boot2.o sio.o ashldi3.o\n"
-"\t${LD} ${LD_FLAGS} --defsym ORG=${ORG2} -T ${LDSCRIPT} -o ${.TARGET} ${.ALLSRC}\n"
+"\t${LD} ${LD_FLAGS} --defsym ORG=${ORG2} -T ${LDSCRIPT} -o ${.TARGET} ${."
+"ALLSRC}\n"
#. type: delimited block . 4
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:828
@@ -2173,7 +2181,8 @@ msgstr ""
" boot2.h: boot1.out\n"
"\t${NM} -t d ${.ALLSRC} | awk '/([0-9])+ T xread/ \\\n"
"\t { x = $$1 - ORG1; \\\n"
-"\t printf(\"#define XREADORG %#x\\n\", REL1 + x) }' \\\n"
+"\t printf(\"#define XREADORG %#x\\n"
+"\", REL1 + x) }' \\\n"
"\t ORG1=`printf \"%d\" ${ORG1}` \\\n"
"\t REL1=`printf \"%d\" ${REL1}` > ${.TARGET}\n"
@@ -2224,8 +2233,8 @@ msgid ""
msgstr ""
"Отметим, что изначально файл заголовка [.filename]#boot2.h# отсутствует, но "
"его создание зависит от [.filename]#boot1.out#, который у нас уже есть. "
-"Правило его создания немного лаконично, но важно то, что результат, "
-"[.filename]#boot2.h#, выглядит примерно так:"
+"Правило его создания немного лаконично, но важно то, что результат, [."
+"filename]#boot2.h#, выглядит примерно так:"
#. type: delimited block . 4
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:851
@@ -2253,13 +2262,12 @@ msgid ""
msgstr ""
"Напомним, что [.filename]#boot1# был перемещён (т.е. скопирован из `0x7c00` "
"в `0x700`). Это перемещение теперь обретает смысл, потому что, как мы "
-"увидим, сервер BTX освобождает часть памяти, включая область, куда "
-"[.filename]#boot1# был изначально загружен. Однако серверу BTX необходим "
-"доступ к функции `xread` из [.filename]#boot1#; согласно выводу "
-"[.filename]#boot2.h#, эта функция находится по адресу `0x725`. "
-"Действительно, сервер BTX использует функцию `xread` из перемещённого кода "
-"[.filename]#boot1#. Теперь эта функция доступна из клиента "
-"[.filename]#boot2#."
+"увидим, сервер BTX освобождает часть памяти, включая область, куда [."
+"filename]#boot1# был изначально загружен. Однако серверу BTX необходим "
+"доступ к функции `xread` из [.filename]#boot1#; согласно выводу [."
+"filename]#boot2.h#, эта функция находится по адресу `0x725`. Действительно, "
+"сервер BTX использует функцию `xread` из перемещённого кода [."
+"filename]#boot1#. Теперь эта функция доступна из клиента [.filename]#boot2#."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:868
@@ -2284,11 +2292,11 @@ msgstr ""
"выполнения по адресу `0x2000` (${ORG2}). Напомним, что [.filename]#boot2# "
"будет выполняться в пользовательском режиме внутри специального "
"пользовательского сегмента, созданного сервером BTX. Этот сегмент начинается "
-"с адреса `0xa000`. Также помните, что часть [.filename]#boot2# в "
-"[.filename]#boot# была скопирована по адресу `0xc000`, то есть со смещением "
+"с адреса `0xa000`. Также помните, что часть [.filename]#boot2# в [."
+"filename]#boot# была скопирована по адресу `0xc000`, то есть со смещением "
"`0x2000` от начала пользовательского сегмента, поэтому [.filename]#boot2# "
-"будет работать корректно при передаче управления на него. Далее, "
-"[.filename]#boot2.bin# создается из [.filename]#boot2.out# путем удаления "
+"будет работать корректно при передаче управления на него. Далее, [."
+"filename]#boot2.bin# создается из [.filename]#boot2.out# путем удаления "
"символов и информации о формате; boot2.bin представляет собой _сырой_ "
"бинарный файл. Теперь обратите внимание, что файл [.filename]#boot2.ldr# "
"создается как 512-байтный файл, заполненный нулями. Это пространство "
@@ -2306,14 +2314,13 @@ msgid ""
"address `0x9000`. The details can be found in [.filename]#stand/i386/btx/"
"btx/Makefile#."
msgstr ""
-"Теперь, когда у нас есть файлы [.filename]#boot1#, [.filename]#boot2.bin# и "
-"[.filename]#boot2.ldr#, осталось только добавить сервер BTX перед созданием "
-"универсального файла [.filename]#boot#. Сервер BTX находится в "
-"[.filename]#stand/i386/btx/btx#; у него есть собственный "
-"[.filename]#Makefile# со своим набором правил для сборки. Важно отметить, "
-"что он также компилируется как _сырой_ бинарный файл и линкуется для "
-"выполнения по адресу `0x9000`. Подробности можно найти в [.filename]#stand/"
-"i386/btx/btx/Makefile#."
+"Теперь, когда у нас есть файлы [.filename]#boot1#, [.filename]#boot2.bin# и ["
+".filename]#boot2.ldr#, осталось только добавить сервер BTX перед созданием "
+"универсального файла [.filename]#boot#. Сервер BTX находится в [.filename]#"
+"stand/i386/btx/btx#; у него есть собственный [.filename]#Makefile# со своим "
+"набором правил для сборки. Важно отметить, что он также компилируется как "
+"_сырой_ бинарный файл и линкуется для выполнения по адресу `0x9000`. "
+"Подробности можно найти в [.filename]#stand/i386/btx/btx/Makefile#."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:880
@@ -2335,11 +2342,11 @@ msgstr ""
"названием [.filename]#btxld# (исходный код расположен в [.filename]#/usr/src/"
"usr.sbin/btxld#). Некоторые аргументы этой программы включают имя выходного "
"файла ([.filename]#boot#), его точку входа (`0x2000`) и формат файла "
-"(бинарный). Различные файлы окончательно объединяются этой утилитой в файл "
-"[.filename]#boot#, который состоит из [.filename]#boot1#, "
-"[.filename]#boot2#, `bsdlabel` и сервера BTX. Этот файл, занимающий ровно 16 "
-"секторов или 8192 байта, записывается в начало раздела FreeBSD во время "
-"установки. Теперь перейдем к изучению программы сервера BTX."
+"(бинарный). Различные файлы окончательно объединяются этой утилитой в файл [."
+"filename]#boot#, который состоит из [.filename]#boot1#, [.filename]#boot2#, "
+"`bsdlabel` и сервера BTX. Этот файл, занимающий ровно 16 секторов или 8192 "
+"байта, записывается в начало раздела FreeBSD во время установки. Теперь "
+"перейдем к изучению программы сервера BTX."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:883
@@ -2412,12 +2419,11 @@ msgid ""
"has a special header at address range `0x9000-0x900f`, right before its "
"entry point. This header is defined as follows:"
msgstr ""
-"Приступим к изучению фактической реализации. Напомним, что "
-"[.filename]#boot1# выполнил переход на адрес `0x9010` — точку входа сервера "
-"BTX. Прежде чем изучать выполнение программы там, обратите внимание, что "
-"сервер BTX имеет специальный заголовок в диапазоне адресов `0x9000-0x900f`, "
-"непосредственно перед точкой входа. Этот заголовок определён следующим "
-"образом:"
+"Приступим к изучению фактической реализации. Напомним, что [.filename]#boot1#"
+" выполнил переход на адрес `0x9010` — точку входа сервера BTX. Прежде чем "
+"изучать выполнение программы там, обратите внимание, что сервер BTX имеет "
+"специальный заголовок в диапазоне адресов `0x9000-0x900f`, непосредственно "
+"перед точкой входа. Этот заголовок определён следующим образом:"
#. type: delimited block . 4
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:915
@@ -2469,10 +2475,10 @@ msgid ""
msgstr ""
"Обратите внимание, что первые два байта — это `0xeb` и `0xe`. В архитектуре "
"IA-32 эти два байта интерпретируются как относительный переход за заголовок "
-"к точке входа, поэтому теоретически [.filename]#boot1# мог бы перейти сюда "
-"(адрес `0x9000`) вместо адреса `0x9010`. Обратите внимание, что последнее "
-"поле в заголовке BTX — это указатель на точку входа клиента "
-"([.filename]#boot2#)b2. Это поле исправляется во время компоновки."
+"к точке входа, поэтому теоретически [.filename]#boot1# мог бы перейти сюда ("
+"адрес `0x9000`) вместо адреса `0x9010`. Обратите внимание, что последнее "
+"поле в заголовке BTX — это указатель на точку входа клиента ([."
+"filename]#boot2#)b2. Это поле исправляется во время компоновки."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:924
@@ -2759,8 +2765,8 @@ msgstr ""
"только дескрипторы для векторов прерываний `0x30`, `0x31` и `0x32` имеют "
"уровень привилегий 3, такой же, как у клиента [.filename]#boot2#, что "
"означает, что клиент может выполнить программно-генерируемое прерывание к "
-"этим векторам через инструкцию `int` без ошибки (это способ, которым "
-"[.filename]#boot2# использует сервисы, предоставляемые сервером BTX). Также "
+"этим векторам через инструкцию `int` без ошибки (это способ, которым [."
+"filename]#boot2# использует сервисы, предоставляемые сервером BTX). Также "
"обратите внимание, что _только_ программно-генерируемые прерывания защищены "
"от кода, выполняющегося на более низких уровнях привилегий. Аппаратно-"
"генерируемые прерывания и исключения, генерируемые процессором, _всегда_ "
@@ -2931,8 +2937,8 @@ msgid ""
msgstr ""
"Наш последний блок кода отвечает за загрузку TR (Регистра Задач) с "
"селектором сегмента для TSS, который мы создали ранее, и настройку окружения "
-"пользовательского режима перед передачей управления исполнения клиенту "
-"[.filename]#boot2#."
+"пользовательского режима перед передачей управления исполнения клиенту [."
+"filename]#boot2#."
#. type: delimited block . 4
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:1123
@@ -3181,14 +3187,13 @@ msgid ""
msgstr ""
"`boot2` входит в бесконечный цикл, ожидая ввода пользователя, затем вызывает "
"`load()`. Если пользователь ничего не нажимает, цикл прерывается по "
-"таймауту, и `load()` загружает файл по умолчанию ([.filename]#/boot/"
-"loader#). Функции `ino_t lookup(char *filename)` и `int xfsread(ino_t inode, "
-"void *buf, size_t nbyte)` используются для чтения содержимого файла в "
-"память. [.filename]#/boot/loader# — это ELF-бинарный файл, но с заголовком "
-"ELF, перед которым добавлена структура `struct exec` из [.filename]#a.out#. "
-"`load()` анализирует ELF-заголовок загрузчика, загружает содержимое "
-"[.filename]#/boot/loader# в память и передаёт управление на точку входа "
-"загрузчика:"
+"таймауту, и `load()` загружает файл по умолчанию ([.filename]#/boot/loader#)"
+". Функции `ino_t lookup(char *filename)` и `int xfsread(ino_t inode, void *"
+"buf, size_t nbyte)` используются для чтения содержимого файла в память. [."
+"filename]#/boot/loader# — это ELF-бинарный файл, но с заголовком ELF, перед "
+"которым добавлена структура `struct exec` из [.filename]#a.out#. `load()` "
+"анализирует ELF-заголовок загрузчика, загружает содержимое [.filename]#/boot/"
+"loader# в память и передаёт управление на точку входа загрузчика:"
#. type: delimited block . 4
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:1201
@@ -3275,8 +3280,10 @@ msgid ""
"<lots of kernel .o files>\n"
msgstr ""
"/usr/obj/usr/src/i386.i386/sys/GENERIC/kernel.meta:\n"
-"ld -m elf_i386_fbsd -Bdynamic -T /usr/src/sys/conf/ldscript.i386 --build-id=sha1 --no-warn-mismatch \\\n"
-"--warn-common --export-dynamic --dynamic-linker /red/herring -X -o kernel locore.o\n"
+"ld -m elf_i386_fbsd -Bdynamic -T /usr/src/sys/conf/ldscript.i386 --build-"
+"id=sha1 --no-warn-mismatch \\\n"
+"--warn-common --export-dynamic --dynamic-linker /red/herring -X -o kernel "
+"locore.o\n"
"<lots of kernel .o files>\n"
#. type: Plain text
@@ -3312,8 +3319,8 @@ msgid ""
"says that a kernel's entry point is the symbol `btext`. This symbol is "
"defined in [.filename]#locore.s#:"
msgstr ""
-"говорит, что точка входа ядра — это символ `btext`. Этот символ определён в "
-"[.filename]#locore.s#:"
+"говорит, что точка входа ядра — это символ `btext`. Этот символ определён в ["
+".filename]#locore.s#:"
#. type: delimited block . 4
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:1261
@@ -3405,8 +3412,11 @@ msgid ""
"This function determines the booting method, and stores the `struct bootinfo` structure into the kernel memory."
msgstr ""
"Эта процедура разбирает параметры, переданные ядру при загрузке.\n"
-"Ядро могло быть загружено тремя способами: загрузчиком (как описано выше), старыми загрузочными блоками диска или по старой процедуре загрузки без диска.\n"
-"Эта функция определяет метод загрузки и сохраняет структуру `struct bootinfo` в памяти ядра."
+"Ядро могло быть загружено тремя способами: загрузчиком (как описано выше), "
+"старыми загрузочными блоками диска или по старой процедуре загрузки без "
+"диска.\n"
+"Эта функция определяет метод загрузки и сохраняет структуру `struct bootinfo`"
+" в памяти ядра."
#. type: Table
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:1295
@@ -3418,7 +3428,9 @@ msgstr "`identify_cpu`"
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:1296
#, no-wrap
msgid "This function tries to find out what CPU it is running on, storing the value found in a variable `_cpu`."
-msgstr "Эта функция пытается определить, на каком процессоре она выполняется, сохраняя найденное значение в переменной `_cpu`."
+msgstr ""
+"Эта функция пытается определить, на каком процессоре она выполняется, "
+"сохраняя найденное значение в переменной `_cpu`."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:1299
@@ -3970,8 +3982,8 @@ msgid ""
"[.filename]#/usr/include/machine/pcb.h# and has a process's information "
"specific to the i386 architecture, such as registers values."
msgstr ""
-"Структура `struct pcb` является частью структуры proc. Она определена в "
-"[.filename]#/usr/include/machine/pcb.h# и содержит информацию процесса, "
+"Структура `struct pcb` является частью структуры proc. Она определена в [."
+"filename]#/usr/include/machine/pcb.h# и содержит информацию процесса, "
"специфичную для архитектуры i386, такую как значения регистров."
#. type: Title ===
@@ -4059,7 +4071,8 @@ msgstr ""
"\tprintf(\"%s\", (char *)data);\n"
"}\n"
"/* ... skipped ... */\n"
-"SYSINIT(announce, SI_SUB_COPYRIGHT, SI_ORDER_FIRST, print_caddr_t, copyright);\n"
+"SYSINIT(announce, SI_SUB_COPYRIGHT, SI_ORDER_FIRST, print_caddr_t, "
+"copyright);\n"
#. type: Plain text
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:1553
@@ -4096,7 +4109,8 @@ msgstr ""
"/usr/include/sys/kernel.h:\n"
" #define C_SYSINIT(uniquifier, subsystem, order, func, ident) \\\n"
" static struct sysinit uniquifier ## _sys_init = { \\ subsystem, \\\n"
-" order, \\ func, \\ (ident) \\ }; \\ DATA_WSET(sysinit_set,uniquifier ##\n"
+" order, \\ func, \\ (ident) \\ }; \\ DATA_WSET(sysinit_set,uniquifier ##"
+"\n"
" _sys_init);\n"
#. type: delimited block . 4
@@ -4186,8 +4200,8 @@ msgid ""
"By defining a variable of type `struct sysinit` the content of "
"`set.sysinit_set` section will be \"collected\" into that variable:"
msgstr ""
-"Определяя переменную типа `struct sysinit`, содержимое раздела "
-"`set.sysinit_set` будет \"собрано\" в эту переменную:"
+"Определяя переменную типа `struct sysinit`, содержимое раздела `set."
+"sysinit_set` будет \"собрано\" в эту переменную:"
#. type: delimited block . 4
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:1605
@@ -4268,11 +4282,11 @@ msgid ""
"0, the swapper process. The thread0 structure, mentioned before, is used to "
"describe it."
msgstr ""
-"Системный планировщик sysinit определен в файле [.filename]#sys/vm/"
-"vm_glue.c#, а точка входа для этого объекта — `scheduler()`. Эта функция "
-"фактически представляет собой бесконечный цикл и описывает процесс с PID 0, "
-"известный как процесс swapper. Структура thread0, упомянутая ранее, "
-"используется для его описания."
+"Системный планировщик sysinit определен в файле [.filename]#sys/vm/vm_glue.c#"
+", а точка входа для этого объекта — `scheduler()`. Эта функция фактически "
+"представляет собой бесконечный цикл и описывает процесс с PID 0, известный "
+"как процесс swapper. Структура thread0, упомянутая ранее, используется для "
+"его описания."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:1642
@@ -4347,7 +4361,8 @@ msgstr ""
"\tfr.fr_procp = &initproc;\n"
"\terror = fork1(&thread0, &fr);\n"
"\tif (error)\n"
-"\t\tpanic(\"cannot fork init: %d\\n\", error);\n"
+"\t\tpanic(\"cannot fork init: %d\\n"
+"\", error);\n"
"\tKASSERT(initproc->p_pid == 1, (\"create_init: initproc->p_pid != 1\"));\n"
"\t/* divorce init's credentials from the kernel's */\n"
"\tnewcred = crget();\n"
@@ -4371,7 +4386,8 @@ msgstr ""
"\tPROC_UNLOCK(initproc);\n"
"\tsx_xunlock(&proctree_lock);\n"
"\tcrfree(oldcred);\n"
-"\tcpu_fork_kthread_handler(FIRST_THREAD_IN_PROC(initproc), start_init, NULL);\n"
+"\tcpu_fork_kthread_handler(FIRST_THREAD_IN_PROC(initproc), start_init, NULL);"
+"\n"
"}\n"
"SYSINIT(init, SI_SUB_CREATE_INIT, SI_ORDER_FIRST, create_init, NULL);\n"
@@ -4391,8 +4407,8 @@ msgstr ""
"запланирован для выполнения планировщиком, будет вызвана функция "
"`start_init()`. Эта функция определена в [.filename]#init_main.c#. Она "
"пытается загрузить и выполнить бинарный файл [.filename]#init#, сначала "
-"проверяя [.filename]#/sbin/init#, затем [.filename]#/sbin/oinit#, "
-"[.filename]#/sbin/init.bak# и, наконец, [.filename]#/rescue/init#:"
+"проверяя [.filename]#/sbin/init#, затем [.filename]#/sbin/oinit#, [."
+"filename]#/sbin/init.bak# и, наконец, [.filename]#/rescue/init#:"
#. type: delimited block . 4
#: documentation/content/en/books/arch-handbook/boot/_index.adoc:1702
diff --git a/documentation/content/ru/books/arch-handbook/driverbasics/_index.adoc b/documentation/content/ru/books/arch-handbook/driverbasics/_index.adoc
index 74129e845c..80aadc6abf 100644
--- a/documentation/content/ru/books/arch-handbook/driverbasics/_index.adoc
+++ b/documentation/content/ru/books/arch-handbook/driverbasics/_index.adoc
@@ -4,7 +4,7 @@ next: books/arch-handbook/isa
params:
path: /books/arch-handbook/driverbasics/
prev: books/arch-handbook/partii
-showBookMenu: true
+showBookMenu: 'true'
tags: ["writing", "device drivers", "KLD", "FreeBSD"]
title: 'Глава 9. Написание драйверов устройств для FreeBSD'
weight: 11
diff --git a/documentation/content/ru/books/arch-handbook/driverbasics/_index.po b/documentation/content/ru/books/arch-handbook/driverbasics/_index.po
index c02c2b0fa1..2e7bda7aa0 100644
--- a/documentation/content/ru/books/arch-handbook/driverbasics/_index.po
+++ b/documentation/content/ru/books/arch-handbook/driverbasics/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-14 22:43+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-09-23 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -25,7 +25,7 @@ msgstr ""
msgid "Writing FreeBSD Device Drivers"
msgstr "Написание драйверов устройств для FreeBSD"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/arch-handbook/driverbasics/_index.adoc:1
#, no-wrap
msgid "Chapter 9. Writing FreeBSD Device Drivers"
@@ -204,10 +204,12 @@ msgid ""
msgstr ""
"\tswitch (what) {\n"
"\tcase MOD_LOAD: /* kldload */\n"
-"\t\tuprintf(\"Skeleton KLD loaded.\\n\");\n"
+"\t\tuprintf(\"Skeleton KLD loaded.\\n"
+"\");\n"
"\t\tbreak;\n"
"\tcase MOD_UNLOAD:\n"
-"\t\tuprintf(\"Skeleton KLD unloaded.\\n\");\n"
+"\t\tuprintf(\"Skeleton KLD unloaded.\\n"
+"\");\n"
"\t\tbreak;\n"
"\tdefault:\n"
"\t\terr = EOPNOTSUPP;\n"
@@ -520,12 +522,14 @@ msgid ""
msgstr ""
"\t\techomsg = malloc(sizeof(*echomsg), M_ECHOBUF, M_WAITOK |\n"
"\t\t M_ZERO);\n"
-"\t\tprintf(\"Echo device loaded.\\n\");\n"
+"\t\tprintf(\"Echo device loaded.\\n"
+"\");\n"
"\t\tbreak;\n"
"\tcase MOD_UNLOAD:\n"
"\t\tdestroy_dev(echo_dev);\n"
"\t\tfree(echomsg, M_ECHOBUF);\n"
-"\t\tprintf(\"Echo device unloaded.\\n\");\n"
+"\t\tprintf(\"Echo device unloaded.\\n"
+"\");\n"
"\t\tbreak;\n"
"\tdefault:\n"
"\t\terror = EOPNOTSUPP;\n"
@@ -545,7 +549,8 @@ msgid ""
"\tint error = 0;\n"
msgstr ""
"static int\n"
-"echo_open(struct cdev *dev __unused, int oflags __unused, int devtype __unused,\n"
+"echo_open(struct cdev *dev __unused, int oflags __unused, int devtype "
+"__unused,\n"
" struct thread *td __unused)\n"
"{\n"
"\tint error = 0;\n"
@@ -558,7 +563,8 @@ msgid ""
"\treturn (error);\n"
"}\n"
msgstr ""
-"\tuprintf(\"Opened device \\\"echo\\\" successfully.\\n\");\n"
+"\tuprintf(\"Opened device \\\"echo\\\" successfully.\\n"
+"\");\n"
"\treturn (error);\n"
"}\n"
@@ -572,7 +578,8 @@ msgid ""
"{\n"
msgstr ""
"static int\n"
-"echo_close(struct cdev *dev __unused, int fflag __unused, int devtype __unused,\n"
+"echo_close(struct cdev *dev __unused, int fflag __unused, int devtype "
+"__unused,\n"
" struct thread *td __unused)\n"
"{\n"
@@ -584,7 +591,8 @@ msgid ""
"\treturn (0);\n"
"}\n"
msgstr ""
-"\tuprintf(\"Closing device \\\"echo\\\".\\n\");\n"
+"\tuprintf(\"Closing device \\\"echo\\\".\\n"
+"\");\n"
"\treturn (0);\n"
"}\n"
@@ -642,7 +650,8 @@ msgid ""
"\t\tuprintf(\"uiomove failed!\\n\");\n"
msgstr ""
"\tif ((error = uiomove(echomsg->msg, amt, uio)) != 0)\n"
-"\t\tuprintf(\"uiomove failed!\\n\");\n"
+"\t\tuprintf(\"uiomove failed!\\n"
+"\");\n"
#. type: delimited block . 4
#: documentation/content/en/books/arch-handbook/driverbasics/_index.adoc:280
@@ -746,7 +755,8 @@ msgid ""
"}\n"
msgstr ""
"\tif (error != 0)\n"
-"\t\tuprintf(\"Write failed: bad address!\\n\");\n"
+"\t\tuprintf(\"Write failed: bad address!\\n"
+"\");\n"
"\treturn (error);\n"
"}\n"
diff --git a/documentation/content/ru/books/arch-handbook/driverbasics/chapter.adoc b/documentation/content/ru/books/arch-handbook/driverbasics/chapter.adoc
deleted file mode 100644
index d845e849be..0000000000
--- a/documentation/content/ru/books/arch-handbook/driverbasics/chapter.adoc
+++ /dev/null
@@ -1,512 +0,0 @@
----
-title: Глава 9. Написание драйверов устройств для FreeBSD
-authors:
----
-
-[[driverbasics]]
-= Написание драйверов устройств для FreeBSD
-:doctype: book
-:toc: macro
-:toclevels: 1
-:icons: font
-:sectnums:
-:sectnumlevels: 6
-:sectnumoffset: 9
-:partnums:
-:source-highlighter: rouge
-:experimental:
-
-ifdef::env-beastie[]
-ifdef::backend-html5[]
-:imagesdir: ../../../../images/{images-path}
-endif::[]
-ifndef::book[]
-include::shared/authors.adoc[]
-include::shared/mirrors.adoc[]
-include::shared/releases.adoc[]
-include::shared/attributes/attributes-{{% lang %}}.adoc[]
-include::shared/{{% lang %}}/teams.adoc[]
-include::shared/{{% lang %}}/mailing-lists.adoc[]
-include::shared/{{% lang %}}/urls.adoc[]
-toc::[]
-endif::[]
-ifdef::backend-pdf,backend-epub3[]
-include::../../../../../shared/asciidoctor.adoc[]
-endif::[]
-endif::[]
-
-ifndef::env-beastie[]
-toc::[]
-include::../../../../../shared/asciidoctor.adoc[]
-endif::[]
-
-Эту главу написал {murray} на основе множества источников, включая справочную страницу intro(4), которую создал {joerg}.
-
-[[driverbasics-intro]]
-== Введение
-
-Эта глава является кратким введением в процесс написания драйверов устройств для FreeBSD. В этом контексте термин устройство используется в основном для вещей, связанных с оборудованием, относящимся к системе, таких, как диски, печатающие устройства или графические дисплеи с клавиатурами. Драйвер устройства является программной компонентой операционной системы, управляющей некоторым устройством. Имеются также так называемые псевдо-устройства, в случае которых драйвер устройства эмулирует поведение устройства программно, без наличия какой-либо соответствующей аппаратуры. Драйверы устройств могут быть вкомпилированы в систему статически или могут загружаться по требованию при помощи механизма динамического компоновщика ядра `kld`.
-
-Большинство устройств в Unix-подобной операционной системе доступны через файлы устройств (device-nodes), иногда также называемые специальными файлами. В иерархии файловой системы эти файлы обычно находятся в каталоге [.filename]#/dev#. В версиях FreeBSD, более старых, чем 5.0-RELEASE, в которых поддержка man:devfs[5] не интегрирована в систему, каждый файл устройства должен создаваться статически и вне зависимости от наличия соответствующего драйвера устройства. Большинство файлов устройств в системе создаются при помощи команды `MAKEDEV`.
-
-Драйверы устройств могут быть условно разделены на две категории; драйверы символьных и сетевых устройств.
-
-[[driverbasics-kld]]
-== Механизм динамического компоновщика ядра - KLD
-
-Интерфейс kld позволяет системным администраторам динамически добавлять и убирать функциональность из работающей системы. Это позволяет разработчикам драйверов устройств загружать собственные изменения в работающее ядро без постоянных перезагрузок для тестирования изменений.
-
-Для работы с интерфейсом kld используются следующие команды привилегированного режима:
-
-* `kldload` - загружает новый модуль ядра
-* `kldunload` - выгружает модуль ядра
-* `kldstat` - выводит список загруженных в данный момент модулей
-
-Скелет модуля ядра
-
-[.programlisting]
-....
-/*
- * KLD Skeleton
- * Inspired by Andrew Reiter's Daemonnews article
- */
-
-#include <sys/types.h>
-#include <sys/module.h>
-#include <sys/systm.h> /* uprintf */
-#include <sys/errno.h>
-#include <sys/param.h> /* defines used in kernel.h */
-#include <sys/kernel.h> /* types used in module initialization */
-
-/*
- * Load handler that deals with the loading and unloading of a KLD.
- */
-
-static int
-skel_loader(struct module *m, int what, void *arg)
-{
- int err = 0;
-
- switch (what) {
- case MOD_LOAD: /* kldload */
- uprintf("Skeleton KLD loaded.\n");
- break;
- case MOD_UNLOAD:
- uprintf("Skeleton KLD unloaded.\n");
- break;
- default:
- err = EINVAL;
- break;
- }
- return(err);
-}
-
-/* Declare this module to the rest of the kernel */
-
-static moduledata_t skel_mod = {
- "skel",
- skel_loader,
- NULL
-};
-
-DECLARE_MODULE(skeleton, skel_mod, SI_SUB_KLD, SI_ORDER_ANY);
-....
-
-=== Makefile
-
-Во FreeBSD имеются заготовки для включения в make-файлы, которые вы можете использовать для быстрой компиляции собственных дополнений к ядру.
-
-[.programlisting]
-....
-SRCS=skeleton.c
-KMOD=skeleton
-
-.include <bsd.kmod.mk>
-....
-
-Простой запуск команды `make` с этим make-файлом приведет к созданию файла [.filename]#skeleton.ko#, который можно загрузить в вашу систему, набрав:
-
-[source,shell]
-....
-# kldload -v ./skeleton.ko
-....
-
-[[driverbasics-access]]
-== Обращение к драйверу устройства
-
-Unix дает некоторый общий набор системных вызовов для использования в пользовательских приложениях. Когда пользователь обращается к файлу устройства, высокие уровни ядра перенаправляют эти обращения к соответствующему драйверу устройства. Скрипт `/dev/MAKEDEV` создает большинство файлов устройств в вашей системе, однако если вы ведете разработку своего собственного драйвера, то может появиться необходимость в создании собственных файлов устройств при помощи команды `mknod`.
-
-=== Создание статических файлов устройств
-
-Для создания файла устройства команде `mknod` требуется указать четыре аргумента. Вы должны указать имя файла устройства, тип устройства, старшее число устройства и младшее число устройства.
-
-=== Динамические файлы устройств
-
-Файловая система устройств, devfs, предоставляет доступ к пространству имен устройств ядра из глобального пространства имен файловой системы. Это устраняет потенциальную проблемы наличия драйвера без статического файла устройства или файла устройства без установленного драйвера устройства. Devfs все еще находится в разработке, однако она уже достаточно хорошо работает.
-
-[[driverbasics-char]]
-== Символьные устройства
-
-Драйвер символьного устройства передает данные непосредственно в или из процесса пользователя. Это самый распространенный тип драйвера устройства и в дереве исходных текстов имеется достаточно простых примеров таких драйверов.
-
-В этом простом примере псевдо-устройство запоминает какие угодно значения, которые вы в него записываете, и затем может выдавать их назад при чтении из этого устройства. Приведены две версии, одна для FreeBSD 4.X, а другая для FreeBSD 5.X.
-
-.Пример драйвера псевдо-устройства Echo для FreeBSD 4.X
-[example]
-====
-[.programlisting]
-....
-/*
- * Simple `echo' pseudo-device KLD
- *
- * Murray Stokely
- */
-
-#define MIN(a,b) (((a) (b)) ? (a) : (b))
-
-#include sys/types.h
-#include sys/module.h
-#include sys/systm.h /* uprintf */
-#include sys/errno.h
-#include sys/param.h /* defines used in kernel.h */
-#include sys/kernel.h /* types used in module initialization */
-#include sys/conf.h /* cdevsw struct */
-#include sys/uio.h /* uio struct */
-#include sys/malloc.h
-
-#define BUFFERSIZE 256
-
-/* Function prototypes */
-d_open_t echo_open;
-d_close_t echo_close;
-d_read_t echo_read;
-d_write_t echo_write;
-
-/* Character device entry points */
-static struct cdevsw echo_cdevsw = {
- echo_open,
- echo_close,
- echo_read,
- echo_write,
- noioctl,
- nopoll,
- nommap,
- nostrategy,
- "echo",
- 33, /* reserved for lkms - /usr/src/sys/conf/majors */
- nodump,
- nopsize,
- D_TTY,
- -1
-};
-
-struct s_echo {
- char msg[BUFFERSIZE];
- int len;
-} t_echo;
-
-/* vars */
-static dev_t sdev;
-static int len;
-static int count;
-static t_echo *echomsg;
-
-MALLOC_DECLARE(M_ECHOBUF);
-MALLOC_DEFINE(M_ECHOBUF, "echobuffer", "buffer for echo module");
-
-/*
- * This function is called by the kld[un]load(2) system calls to
- * determine what actions to take when a module is loaded or unloaded.
- */
-
-static int
-echo_loader(struct module *m, int what, void *arg)
-{
- int err = 0;
-
- switch (what) {
- case MOD_LOAD: /* kldload */
- sdev = make_dev(echo_cdevsw,
- 0,
- UID_ROOT,
- GID_WHEEL,
- 0600,
- "echo");
- /* kmalloc memory for use by this driver */
- MALLOC(echomsg, t_echo *, sizeof(t_echo), M_ECHOBUF, M_WAITOK);
- printf("Echo device loaded.\n");
- break;
- case MOD_UNLOAD:
- destroy_dev(sdev);
- FREE(echomsg,M_ECHOBUF);
- printf("Echo device unloaded.\n");
- break;
- default:
- err = EINVAL;
- break;
- }
- return(err);
-}
-
-int
-echo_open(dev_t dev, int oflags, int devtype, struct proc *p)
-{
- int err = 0;
-
- uprintf("Opened device \"echo\" successfully.\n");
- return(err);
-}
-
-int
-echo_close(dev_t dev, int fflag, int devtype, struct proc *p)
-{
- uprintf("Closing device \"echo.\"\n");
- return(0);
-}
-
-/*
- * The read function just takes the buf that was saved via
- * echo_write() and returns it to userland for accessing.
- * uio(9)
- */
-
-int
-echo_read(dev_t dev, struct uio *uio, int ioflag)
-{
- int err = 0;
- int amt;
-
- /* How big is this read operation? Either as big as the user wants,
- or as big as the remaining data */
- amt = MIN(uio->uio_resid, (echomsg->len - uio->uio_offset > 0) ? echomsg->len - uio->uio_offset : 0);
- if ((err = uiomove(echomsg->msg + uio->uio_offset,amt,uio)) != 0) {
- uprintf("uiomove failed!\n");
- }
-
- return err;
-}
-
-/*
- * echo_write takes in a character string and saves it
- * to buf for later accessing.
- */
-
-int
-echo_write(dev_t dev, struct uio *uio, int ioflag)
-{
- int err = 0;
-
- /* Copy the string in from user memory to kernel memory */
- err = copyin(uio->uio_iov->iov_base, echomsg->msg, MIN(uio->uio_iov->iov_len,BUFFERSIZE));
-
- /* Now we need to null terminate */
- *(echomsg->msg + MIN(uio->uio_iov->iov_len,BUFFERSIZE)) = 0;
- /* Record the length */
- echomsg->len = MIN(uio->uio_iov->iov_len,BUFFERSIZE);
-
- if (err != 0) {
- uprintf("Write failed: bad address!\n");
- }
-
- count++;
- return(err);
-}
-
-DEV_MODULE(echo,echo_loader,NULL);
-....
-
-====
-
-.Пример драйвера псевдо-устройства Echo для FreeBSD 5.X
-[example]
-====
-[.programlisting]
-....
-/*
- * Simple `echo' pseudo-device KLD
- *
- * Murray Stokely
- *
- * Converted to 5.X by Sren (Xride) Straarup
- */
-
-#include sys/types.h
-#include sys/module.h
-#include sys/systm.h /* uprintf */
-#include sys/errno.h
-#include sys/param.h /* defines used in kernel.h */
-#include sys/kernel.h /* types used in module initialization */
-#include sys/conf.h /* cdevsw struct */
-#include sys/uio.h /* uio struct */
-#include sys/malloc.h
-
-#define BUFFERSIZE 256
-#define CDEV_MAJOR 33
-
-/* Function prototypes */
-static d_open_t echo_open;
-static d_close_t echo_close;
-static d_read_t echo_read;
-static d_write_t echo_write;
-
-/* Character device entry points */
-static struct cdevsw echo_cdevsw = {
- .d_open = echo_open,
- .d_close = echo_close,
- .d_maj = CDEV_MAJOR,
- .d_name = "echo",
- .d_read = echo_read,
- .d_write = echo_write
-};
-
-typedef struct s_echo {
- char msg[BUFFERSIZE];
- int len;
-} t_echo;
-
-/* vars */
-static dev_t echo_dev;
-static int count;
-static t_echo *echomsg;
-
-MALLOC_DECLARE(M_ECHOBUF);
-MALLOC_DEFINE(M_ECHOBUF, "echobuffer", "buffer for echo module");
-
-/*
- * This function is called by the kld[un]load(2) system calls to
- * determine what actions to take when a module is loaded or unloaded.
- */
-
-static int
-echo_loader(struct module *m, int what, void *arg)
-{
- int err = 0;
-
- switch (what) {
- case MOD_LOAD: /* kldload */
- echo_dev = make_dev(echo_cdevsw,
- 0,
- UID_ROOT,
- GID_WHEEL,
- 0600,
- "echo");
- /* kmalloc memory for use by this driver */
- MALLOC(echomsg, t_echo *, sizeof(t_echo), M_ECHOBUF, M_WAITOK);
- printf("Echo device loaded.\n");
- break;
- case MOD_UNLOAD:
- destroy_dev(echo_dev);
- FREE(echomsg,M_ECHOBUF);
- printf("Echo device unloaded.\n");
- break;
- default:
- err = EINVAL;
- break;
- }
- return(err);
-}
-
-static int
-echo_open(dev_t dev, int oflags, int devtype, struct thread *p)
-{
- int err = 0;
-
- uprintf("Opened device \"echo\" successfully.\n");
- return(err);
-}
-
-static int
-echo_close(dev_t dev, int fflag, int devtype, struct thread *p)
-{
- uprintf("Closing device \"echo.\"\n");
- return(0);
-}
-
-/*
- * The read function just takes the buf that was saved via
- * echo_write() and returns it to userland for accessing.
- * uio(9)
- */
-
-static int
-echo_read(dev_t dev, struct uio *uio, int ioflag)
-{
- int err = 0;
- int amt;
-
- /*
- * How big is this read operation? Either as big as the user wants,
- * or as big as the remaining data
- */
- amt = MIN(uio->uio_resid, (echomsg->len - uio->uio_offset > 0) ?
- echomsg->len - uio->uio_offset : 0);
- if ((err = uiomove(echomsg->msg + uio->uio_offset,amt,uio)) != 0) {
- uprintf("uiomove failed!\n");
- }
- return(err);
-}
-
-/*
- * echo_write takes in a character string and saves it
- * to buf for later accessing.
- */
-
-static int
-echo_write(dev_t dev, struct uio *uio, int ioflag)
-{
- int err = 0;
-
- /* Copy the string in from user memory to kernel memory */
- err = copyin(uio->uio_iov->iov_base, echomsg->msg,
- MIN(uio->uio_iov->iov_len,BUFFERSIZE - 1));
-
- /* Now we need to null terminate, then record the length */
- *(echomsg->msg + MIN(uio->uio_iov->iov_len,BUFFERSIZE - 1)) = 0;
- echomsg->len = MIN(uio->uio_iov->iov_len,BUFFERSIZE);
-
- if (err != 0) {
- uprintf("Write failed: bad address!\n");
- }
- count++;
- return(err);
-}
-
-DEV_MODULE(echo,echo_loader,NULL);
-....
-
-====
-
-Для установки этого драйвера во FreeBSD 4.X сначала вам нужно создать файл устройства в вашей файловой системе по команде типа следующей:
-
-[source,shell]
-....
-# mknod /dev/echo c 33 0
-....
-
-Когда этот драйвер загружен, вы можете выполнять следующие действия:
-
-[source,shell]
-....
-# echo -n "Test Data" > /dev/echo
-# cat /dev/echo
-Test Data
-....
-
-Устройства, обслуживающие реальное оборудование, описываются в следующей главе.
-
-Дополнительные источники информации
-
-* http://www.daemonnews.org/200010/blueprints.html[Учебник по программированию механизма динамического компоновщика ядра (KLD)] - http://www.daemonnews.org/[Daemonnews] Октябрь 2000
-* http://www.daemonnews.org/200007/newbus-intro.html[Как писать драйверы ядра в парадигме NEWBUS] - http://www.daemonnews.org/[Daemonnews] Июль 2000
-
-[[driverbasics-block]]
-== Блочные устройства (которых больше нет)
-
-Другие UNIX(R)-системы могут поддерживать со вторым типом дисковых устройств, так называемых устройств с блочной организацией. Блочные устройства являются дисковыми устройствами, для которых ядро организует кэширование. Такое кэширование делает блочные устройства практически бесполезными, или по крайней мере ненадёжными. Кэширование изменяет последовательность операций записи, лишая приложение возможности узнать реальное содержимое диска в любой момент времени. Это делает предсказуемое и надежное восстановление данных на диске (файловые системы, базы данных и прочее) после сбоя невозможным. Так как запись может быть отложенной, то нет способа сообщить приложению, при выполнении какой именно операции записи ядро встретилось с ошибкой, что таким образом осложняет проблему целостности данных. По этой причине серьёзные приложения не полагаются на блочные устройства, и, на самом деле практически во всех приложениях, которые работают с диском напрямую, имеется большая проблема выбора устройств с последовательным доступом (или "raw"), которые должны использоваться. Из-за реализации отображения каждого диска (раздела) в два устройства с разными смыслами, которая усложняет соответствующий код ядра, во FreeBSD поддержка дисковых устройств с кэшированием была отброшена в процессе модернизации инфраструктуры I/O-операций с дисками.
-
-[[driverbasics-net]]
-== Сетевые драйверы
-
-В случае драйверов сетевых устройств файлы устройств для доступа к ним не используются. Их выбор основан на другом механизме, работающем в ядре, и не использующем вызов open(); об использование сетевых устройств в общем случае рассказано в описании системного вызова socket(2).
-
-Почитайте справочную информацию о вызове ifnet(), устройстве loopback, почитайте драйверы Билла Пола (Bill Paul), и так далее..
diff --git a/documentation/content/ru/books/arch-handbook/isa/_index.adoc b/documentation/content/ru/books/arch-handbook/isa/_index.adoc
index c2fead3747..e81064937e 100644
--- a/documentation/content/ru/books/arch-handbook/isa/_index.adoc
+++ b/documentation/content/ru/books/arch-handbook/isa/_index.adoc
@@ -4,7 +4,7 @@ next: books/arch-handbook/pci
params:
path: /books/arch-handbook/isa/
prev: books/arch-handbook/driverbasics
-showBookMenu: true
+showBookMenu: 'true'
tags: ["ISA", "device drivers", "FreeBSD"]
title: 'Глава 10. Драйверы устройств ISA'
weight: 12
diff --git a/documentation/content/ru/books/arch-handbook/isa/_index.po b/documentation/content/ru/books/arch-handbook/isa/_index.po
index d7ed58ee1c..432c4a9d56 100644
--- a/documentation/content/ru/books/arch-handbook/isa/_index.po
+++ b/documentation/content/ru/books/arch-handbook/isa/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-14 22:43+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-09-01 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -25,7 +25,7 @@ msgstr ""
msgid "ISA Device Drivers"
msgstr "Драйверы устройств ISA"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/arch-handbook/isa/_index.adoc:1
#, no-wrap
msgid "Chapter 10. ISA Device Drivers"
@@ -297,8 +297,8 @@ msgstr ""
"Если драйвер реализован в виде загружаемого модуля, то `load_function()` "
"вызывается для выполнения специфичной для драйвера инициализации или очистки "
"при загрузке или выгрузке драйвера, а `load_argument` передаётся в качестве "
-"одного из её аргументов. Если драйвер не поддерживает динамическую загрузку "
-"(другими словами, он всегда должен быть связан с ядром), то эти значения "
+"одного из её аргументов. Если драйвер не поддерживает динамическую загрузку ("
+"другими словами, он всегда должен быть связан с ядром), то эти значения "
"должны быть установлены в 0, и последнее определение будет выглядеть "
"следующим образом:"
@@ -459,8 +459,8 @@ msgid ""
"`void *device_get_softc(dev)` Get pointer to the device descriptor (struct "
"`xxx_softc`) associated with this device."
msgstr ""
-"`void *device_get_softc(dev)` Получить указатель на дескриптор устройства "
-"(структура `xxx_softc`), связанный с данным устройством."
+"`void *device_get_softc(dev)` Получить указатель на дескриптор устройства ("
+"структура `xxx_softc`), связанный с данным устройством."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/isa/_index.adoc:166
@@ -493,13 +493,14 @@ msgstr "Методы device_t реализованы в файле [.filename]#k
#: documentation/content/en/books/arch-handbook/isa/_index.adoc:172
#, no-wrap
msgid "Configuration File and the Order of Identifying and Probing During Auto-Configuration"
-msgstr "Файл конфигурации и порядок определения и проверки при автоматической настройке"
+msgstr ""
+"Файл конфигурации и порядок определения и проверки при автоматической "
+"настройке"
#. type: Plain text
#: documentation/content/en/books/arch-handbook/isa/_index.adoc:175
msgid "The ISA devices are described in the kernel configuration file like:"
-msgstr ""
-"Устройства ISA описываются в файле конфигурации ядра следующим образом:"
+msgstr "Устройства ISA описываются в файле конфигурации ядра следующим образом:"
#. type: delimited block . 4
#: documentation/content/en/books/arch-handbook/isa/_index.adoc:180
@@ -765,8 +766,8 @@ msgid ""
"flags from the device unit 0 for all the auto-identified devices or use the "
"sysctl interface instead of flags."
msgstr ""
-"Еще одно практическое следствие для автоматически определяемых устройств "
-"(как PnP, так и специфичных для устройства) заключается в том, что флаги не "
+"Еще одно практическое следствие для автоматически определяемых устройств ("
+"как PnP, так и специфичных для устройства) заключается в том, что флаги не "
"могут быть переданы им из файла конфигурации ядра. Поэтому они либо не "
"должны использовать флаги вообще, либо использовать флаги из устройства unit "
"0 для всех автоматически определяемых устройств, либо использовать интерфейс "
@@ -785,8 +786,8 @@ msgid ""
msgstr ""
"Другие нестандартные конфигурации могут быть реализованы путем прямого "
"доступа к ресурсам конфигурации с использованием функций семейств "
-"`resource_query_*()` и `resource_*_value()`. Их реализации находятся в "
-"[.filename]#kern/subr_bus.c#. Примеры такого использования есть в старом "
+"`resource_query_*()` и `resource_*_value()`. Их реализации находятся в [."
+"filename]#kern/subr_bus.c#. Примеры такого использования есть в старом "
"драйвере диска IDE [.filename]#i386/isa/wd.c#. Однако стандартные методы "
"конфигурации всегда должны быть предпочтительны. Оставьте разбор ресурсов "
"конфигурации коду настройки шины."
@@ -863,8 +864,8 @@ msgid ""
msgstr ""
"Перечисление внутри типов начинается с 0, поэтому если устройство имеет две "
"области памяти, оно будет иметь ресурсы типа `SYS_RES_MEMORY` с номерами 0 и "
-"1. Тип ресурса не связан с типом языка C, все значения ресурсов имеют тип "
-"`unsigned long` в языке C и должны быть приведены по мере необходимости. "
+"1. Тип ресурса не связан с типом языка C, все значения ресурсов имеют тип `"
+"unsigned long` в языке C и должны быть приведены по мере необходимости. "
"Номера ресурсов не обязательно должны быть последовательными, хотя для ISA "
"они обычно таковыми являются. Допустимые номера ресурсов для устройств ISA:"
@@ -1151,8 +1152,8 @@ msgid ""
"bus_teardown_intr(device_t dev, struct resource *r, void *cookie)`"
msgstr ""
"`int bus_setup_intr(device_t dev, struct resource *r, int flags, "
-"driver_intr_t *handler, void *arg, void **cookiep) int "
-"bus_teardown_intr(device_t dev, struct resource *r, void *cookie)`"
+"driver_intr_t *handler, void *arg, void **cookiep) int bus_teardown_intr("
+"device_t dev, struct resource *r, void *cookie)`"
#. type: Plain text
#: documentation/content/en/books/arch-handbook/isa/_index.adoc:296
@@ -1467,8 +1468,8 @@ msgstr ""
"Второй момент: произвольная область виртуальной памяти может быть загружена "
"в карту. Каждая страница этой памяти будет проверяться на соответствие "
"требованиям карты. Если она соответствует, то остается на своем исходном "
-"месте. Если нет, то выделяется новая соответствующая промежуточная страница "
-"(bounce page), которая используется как промежуточное хранилище. При записи "
+"месте. Если нет, то выделяется новая соответствующая промежуточная страница ("
+"bounce page), которая используется как промежуточное хранилище. При записи "
"данных с несоответствующих исходных страниц они сначала копируются на свои "
"промежуточные страницы, а затем передаются с промежуточных страниц на "
"устройство. При чтении данные поступают с устройства на промежуточные "
@@ -1639,8 +1640,8 @@ msgstr ""
"тегов. Теги с nsegments равным `BUS_SPACE_UNRESTRICTED` не могут "
"использоваться для фактической загрузки отображений, они могут применяться "
"только как родительские теги. Практический предел для nsegments составляет "
-"около 250-300, более высокие значения вызовут переполнение стека ядра "
-"(аппаратное обеспечение обычно не поддерживает такое большое количество "
+"около 250-300, более высокие значения вызовут переполнение стека ядра ("
+"аппаратное обеспечение обычно не поддерживает такое большое количество "
"scatter-gather буферов в любом случае)."
#. type: Plain text
@@ -1680,8 +1681,7 @@ msgstr "`int bus_dma_tag_destroy(bus_dma_tag_t dmat)`"
#. type: Plain text
#: documentation/content/en/books/arch-handbook/isa/_index.adoc:377
msgid "Destroy a tag. Returns 0 on success, the error code otherwise."
-msgstr ""
-"Уничтожить тег. Возвращает 0 при успехе, код ошибки в противном случае."
+msgstr "Уничтожить тег. Возвращает 0 при успехе, код ошибки в противном случае."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/isa/_index.adoc:379
@@ -2166,8 +2166,8 @@ msgstr ""
"`bus_dmamem_alloc()`. В этом случае гарантируется, что весь буфер будет "
"отображен как один сегмент (так что обратный вызов может основываться на "
"этом предположении) и запрос будет выполнен немедленно (EINPROGRESS никогда "
-"не будет возвращен). Все, что нужно сделать обратному вызову в этом случае, "
-"— это сохранить физический адрес."
+"не будет возвращен). Все, что нужно сделать обратному вызову в этом случае, —"
+" это сохранить физический адрес."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/isa/_index.adoc:485
@@ -2185,7 +2185,8 @@ msgid ""
" }\n"
msgstr ""
" static void\n"
-" alloc_callback(void *arg, bus_dma_segment_t *seg, int nseg, int error)\n"
+" alloc_callback(void *arg, bus_dma_segment_t *seg, int nseg, int "
+"error)\n"
" {\n"
" *(bus_addr_t *)arg = seg[0].ds_addr;\n"
" }\n"
@@ -2229,7 +2230,8 @@ msgid ""
" return error;\n"
msgstr ""
" error=bus_dma_tag_create(parent_tag, alignment,\n"
-" boundary, lowaddr, highaddr, /*filter*/ NULL, /*filterarg*/ NULL,\n"
+" boundary, lowaddr, highaddr, /*filter*/ NULL, /*filterarg*/ NULL,"
+"\n"
" /*maxsize*/ sizeof(struct somedata), /*nsegments*/ 1,\n"
" /*maxsegsz*/ sizeof(struct somedata), /*flags*/ 0,\n"
" &tag_somedata);\n"
@@ -2377,13 +2379,13 @@ msgid ""
msgstr ""
"Если запросы завершаются при возврате функции (например, классические "
"запросы на чтение или запись для символьных устройств), то в дескрипторе "
-"буфера должен быть установлен флаг синхронизации и вызвана функция "
-"`tsleep()`. Позже, когда будет вызван обратный вызов, он выполнит свою "
-"обработку и проверит этот флаг синхронизации. Если флаг установлен, обратный "
-"вызов должен инициировать пробуждение. При таком подходе функция обратного "
-"вызова может либо выполнить всю необходимую обработку (как в предыдущем "
-"случае), либо просто сохранить массив сегментов в дескрипторе буфера. Затем "
-"после завершения обратного вызова вызывающая функция может использовать этот "
+"буфера должен быть установлен флаг синхронизации и вызвана функция `tsleep()`"
+". Позже, когда будет вызван обратный вызов, он выполнит свою обработку и "
+"проверит этот флаг синхронизации. Если флаг установлен, обратный вызов "
+"должен инициировать пробуждение. При таком подходе функция обратного вызова "
+"может либо выполнить всю необходимую обработку (как в предыдущем случае), "
+"либо просто сохранить массив сегментов в дескрипторе буфера. Затем после "
+"завершения обратного вызова вызывающая функция может использовать этот "
"сохранённый массив сегментов и выполнить всю обработку."
#. type: Title ==
@@ -2422,8 +2424,8 @@ msgid ""
msgstr ""
"Самый простой случай — для достаточно интеллектуальных устройств. Например, "
"устройства с bus mastering на PCI могут сами генерировать шинные циклы и "
-"адреса памяти. Единственное, что им действительно нужно от контроллера DMA, "
-"— это арбитраж шины. Для этой цели они притворяются каскадированными "
+"адреса памяти. Единственное, что им действительно нужно от контроллера DMA, —"
+" это арбитраж шины. Для этой цели они притворяются каскадированными "
"подчинёнными контроллерами DMA. И единственное, что требуется от системного "
"контроллера DMA, — это включить каскадный режим на канале DMA, вызвав "
"следующую функцию при присоединении драйвера:"
@@ -2672,8 +2674,7 @@ msgstr "`int isa_dmastop(int channel_number)`"
msgid ""
"Aborts the current transfer and returns the number of bytes left "
"untransferred."
-msgstr ""
-"Прерывает текущую передачу и возвращает количество непереданных байтов."
+msgstr "Прерывает текущую передачу и возвращает количество непереданных байтов."
#. type: Title ==
#: documentation/content/en/books/arch-handbook/isa/_index.adoc:608
@@ -2689,8 +2690,8 @@ msgid ""
"memory address) this auto-detection must be done in this routine."
msgstr ""
"Эта функция проверяет наличие устройства. Если драйвер поддерживает "
-"автоматическое определение некоторых параметров конфигурации устройства "
-"(таких как вектор прерывания или адрес памяти), это автоматическое "
+"автоматическое определение некоторых параметров конфигурации устройства ("
+"таких как вектор прерывания или адрес памяти), это автоматическое "
"определение должно выполняться в данной процедуре."
#. type: Plain text
@@ -2732,8 +2733,8 @@ msgstr ""
"— следующий, возвращающий -2 — за ним и так далее). В результате устройства, "
"поддерживающие только старый интерфейс, будут обрабатываться старым "
"драйвером (который должен возвращать -1 из процедуры probe), а устройства, "
-"поддерживающие также новый интерфейс, будут обрабатываться новым драйвером "
-"(который должен возвращать 0 из процедуры обнаружения)."
+"поддерживающие также новый интерфейс, будут обрабатываться новым драйвером ("
+"который должен возвращать 0 из процедуры обнаружения)."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/isa/_index.adoc:617
@@ -2942,10 +2943,12 @@ msgid ""
" { 0, 0 } /* end of table */\n"
" };\n"
msgstr ""
-" /* table of all possible base I/O port addresses for this device */\n"
+" /* table of all possible base I/O port addresses for this device */"
+"\n"
" static struct xxx_allports {\n"
" u_short port; /* port address */\n"
-" short used; /* flag: if this port is already used by some unit */\n"
+" short used; /* flag: if this port is already used by some unit "
+"*/\n"
" } xxx_allports = {\n"
" { 0x300, 0 },\n"
" { 0x320, 0 },\n"
@@ -3098,8 +3101,8 @@ msgid ""
"Finally allocate and activate a piece of port address space (special values "
"of start and end mean \"use those we set by ``bus_set_resource()``\"):"
msgstr ""
-"Наконец, выделите и активируйте часть адресного пространства порта "
-"(специальные значения start и end означают \"используйте те, что мы "
+"Наконец, выделите и активируйте часть адресного пространства порта ("
+"специальные значения start и end означают \"используйте те, что мы "
"установили через ``bus_set_resource()``\"):"
#. type: delimited block . 4
@@ -3182,7 +3185,8 @@ msgid ""
msgstr ""
" /* implemented in some very device-specific way */\n"
" if(error = xxx_probe_ports(sc))\n"
-" goto bad; /* will deallocate the resources before returning */\n"
+" goto bad; /* will deallocate the resources before returning */"
+"\n"
#. type: Plain text
#: documentation/content/en/books/arch-handbook/isa/_index.adoc:756
@@ -3253,7 +3257,8 @@ msgid ""
" sc->mem0_p = xxx_read_mem0_from_device_config(sc);\n"
msgstr ""
" /* try to find out the config address first */\n"
-" sc->mem0_p = bus_get_resource_start(dev, SYS_RES_MEMORY, 0 /*rid*/);\n"
+" sc->mem0_p = bus_get_resource_start(dev, SYS_RES_MEMORY, 0 "
+"/*rid*/);\n"
" if(sc->mem0_p == 0) { /* nope, not specified by user */\n"
" sc->mem0_p = xxx_read_mem0_from_device_config(sc);\n"
@@ -3295,15 +3300,20 @@ msgid ""
msgstr ""
" /* just like the port, set the memory size,\n"
" * for some devices the memory size would not be constant\n"
-" * but should be read from the device configuration registers instead\n"
-" * to accommodate different models of devices. Another option would\n"
-" * be to let the user set the memory size as \"msize\" configuration\n"
+" * but should be read from the device configuration registers "
+"instead\n"
+" * to accommodate different models of devices. Another option "
+"would\n"
+" * be to let the user set the memory size as \"msize\" "
+"configuration\n"
" * resource which will be automatically handled by the ISA bus.\n"
" */\n"
" if(pnperror) { /* only for non-PnP devices */\n"
-" sc->mem0_size = bus_get_resource_count(dev, SYS_RES_MEMORY, 0 /*rid*/);\n"
+" sc->mem0_size = bus_get_resource_count(dev, SYS_RES_MEMORY, 0 "
+"/*rid*/);\n"
" if(sc->mem0_size == 0) /* not specified by user */\n"
-" sc->mem0_size = xxx_read_mem0_size_from_device_config(sc);\n"
+" sc->mem0_size = xxx_read_mem0_size_from_device_config(sc);"
+"\n"
#. type: delimited block . 4
#: documentation/content/en/books/arch-handbook/isa/_index.adoc:803
@@ -3320,7 +3330,8 @@ msgid ""
msgstr ""
" if(sc->mem0_size == 0) {\n"
" /* suppose this is a very old model of device without\n"
-" * auto-configuration features and the user gave no preference,\n"
+" * auto-configuration features and the user gave no "
+"preference,\n"
" * so assume the minimalistic case\n"
" * (of course, the real value will vary with the driver)\n"
" */\n"
@@ -3352,7 +3363,8 @@ msgstr ""
" sc->mem0_p, sc->mem0_size)<0)\n"
" goto bad;\n"
" } else {\n"
-" sc->mem0_size = bus_get_resource_count(dev, SYS_RES_MEMORY, 0 /*rid*/);\n"
+" sc->mem0_size = bus_get_resource_count(dev, SYS_RES_MEMORY, 0 "
+"/*rid*/);\n"
" }\n"
#. type: Plain text
@@ -3482,7 +3494,8 @@ msgstr ""
" bus_dmamap_unload(sc->data_tag, sc->data_map);\n"
" sc->data_p = 0;\n"
" }\n"
-" if(sc->data) { /* sc->data_map may be legitimately equal to 0 */\n"
+" if(sc->data) { /* sc->data_map may be legitimately equal to 0 "
+"*/\n"
" /* the map will also be freed */\n"
" bus_dmamem_free(sc->data_tag, sc->data, sc->data_map);\n"
" sc->data = 0;\n"
@@ -3532,13 +3545,15 @@ msgid ""
msgstr ""
" /* release all the bus resources */\n"
" if(sc->mem0_r) {\n"
-" bus_release_resource(sc->dev, SYS_RES_MEMORY, sc->mem0_rid,\n"
+" bus_release_resource(sc->dev, SYS_RES_MEMORY, sc->mem0_rid,"
+"\n"
" sc->mem0_r);\n"
" sc->mem0_r = 0;\n"
" }\n"
" ...\n"
" if(sc->port0_r) {\n"
-" bus_release_resource(sc->dev, SYS_RES_IOPORT, sc->port0_rid,\n"
+" bus_release_resource(sc->dev, SYS_RES_IOPORT, "
+"sc->port0_rid,\n"
" sc->port0_r);\n"
" sc->port0_r = 0;\n"
" }\n"
@@ -3628,7 +3643,8 @@ msgid ""
" /*start*/ 0, /*end*/ ~0, /*count*/ 0, RF_ACTIVE);\n"
msgstr ""
" sc->port0_rid = 0;\n"
-" sc->port0_r = bus_alloc_resource(dev, SYS_RES_IOPORT, &sc->port0_rid,\n"
+" sc->port0_r = bus_alloc_resource(dev, SYS_RES_IOPORT, "
+"&sc->port0_rid,\n"
" /*start*/ 0, /*end*/ ~0, /*count*/ 0, RF_ACTIVE);\n"
#. type: delimited block . 4
@@ -3652,7 +3668,8 @@ msgid ""
msgstr ""
" /* on-board memory */\n"
" sc->mem0_rid = 0;\n"
-" sc->mem0_r = bus_alloc_resource(dev, SYS_RES_MEMORY, &sc->mem0_rid,\n"
+" sc->mem0_r = bus_alloc_resource(dev, SYS_RES_MEMORY, "
+"&sc->mem0_rid,\n"
" /*start*/ 0, /*end*/ ~0, /*count*/ 0, RF_ACTIVE);\n"
#. type: delimited block . 4
@@ -3726,7 +3743,8 @@ msgid ""
" /*start*/ 0, /*end*/ ~0, /*count*/ 0, RF_ACTIVE);\n"
msgstr ""
" sc->intr_rid = 0;\n"
-" sc->intr_r = bus_alloc_resource(dev, SYS_RES_MEMORY, &sc->intr_rid,\n"
+" sc->intr_r = bus_alloc_resource(dev, SYS_RES_MEMORY, "
+"&sc->intr_rid,\n"
" /*start*/ 0, /*end*/ ~0, /*count*/ 0, RF_ACTIVE);\n"
#. type: delimited block . 4
@@ -3753,7 +3771,8 @@ msgid ""
" goto bad;\n"
msgstr ""
" /*\n"
-" * XXX_INTR_TYPE is supposed to be defined depending on the type of\n"
+" * XXX_INTR_TYPE is supposed to be defined depending on the type "
+"of\n"
" * the driver, for example as INTR_TYPE_CAM for a CAM driver\n"
" */\n"
" error = bus_setup_intr(dev, sc->intr_r, XXX_INTR_TYPE,\n"
@@ -3786,7 +3805,8 @@ msgid ""
msgstr ""
" error=bus_dma_tag_create(NULL, /*alignment*/ 4,\n"
" /*boundary*/ 0, /*lowaddr*/ BUS_SPACE_MAXADDR_24BIT,\n"
-" /*highaddr*/ BUS_SPACE_MAXADDR, /*filter*/ NULL, /*filterarg*/ NULL,\n"
+" /*highaddr*/ BUS_SPACE_MAXADDR, /*filter*/ NULL, /*filterarg*/ "
+"NULL,\n"
" /*maxsize*/ BUS_SPACE_MAXSIZE_24BIT,\n"
" /*nsegments*/ BUS_SPACE_UNRESTRICTED,\n"
" /*maxsegsz*/ BUS_SPACE_MAXSIZE_24BIT, /*flags*/ 0,\n"
@@ -3816,7 +3836,8 @@ msgid ""
" goto bad;\n"
msgstr ""
" /* many things get inherited from the parent tag\n"
-" * sc->data is supposed to point to the structure with the shared data,\n"
+" * sc->data is supposed to point to the structure with the shared "
+"data,\n"
" * for example for a ring buffer it could be:\n"
" * struct {\n"
" * u_short rd_pos;\n"
@@ -3879,7 +3900,8 @@ msgstr ""
" * }\n"
" */\n"
" bus_dmamap_load(sc->data_tag, sc->data_map, (void *)sc->data,\n"
-" sizeof (* sc->data), xxx_alloc_callback, (void *) &sc->data_p,\n"
+" sizeof (* sc->data), xxx_alloc_callback, (void *) &sc->data_p,"
+"\n"
" /*flags*/0);\n"
#. type: Plain text
@@ -3918,7 +3940,9 @@ msgstr ""
#: documentation/content/en/books/arch-handbook/isa/_index.adoc:1025
#, no-wrap
msgid " device_printf(dev, \"has on-card FIFO buffer of %d bytes\\n\", sc->fifosize);\n"
-msgstr " device_printf(dev, \"has on-card FIFO buffer of %d bytes\\n\", sc->fifosize);\n"
+msgstr ""
+" device_printf(dev, \"has on-card FIFO buffer of %d bytes\\n"
+"\", sc->fifosize);\n"
#. type: Plain text
#: documentation/content/en/books/arch-handbook/isa/_index.adoc:1028
diff --git a/documentation/content/ru/books/arch-handbook/jail/_index.adoc b/documentation/content/ru/books/arch-handbook/jail/_index.adoc
index 84c46e9fbd..14b36f4151 100644
--- a/documentation/content/ru/books/arch-handbook/jail/_index.adoc
+++ b/documentation/content/ru/books/arch-handbook/jail/_index.adoc
@@ -4,7 +4,7 @@ next: books/arch-handbook/sysinit
params:
path: /books/arch-handbook/jail/
prev: books/arch-handbook/kobj
-showBookMenu: true
+showBookMenu: 'true'
tags: ["jail", "architecture", "networking", "kernel"]
title: 'Глава 4. Подсистема клеток'
weight: 5
@@ -50,7 +50,7 @@ endif::[]
На большинстве систем UNIX(R) пользователь `root` обладает неограниченной властью. Это не способствует безопасности. Если злоумышленник получит права `root` в системе, у него окажутся все функции под рукой. В FreeBSD существуют sysctl-параметры, которые ограничивают власть `root`, чтобы минимизировать ущерб от действий злоумышленника. В частности, одна из таких функций называется `уровни безопасности`. Аналогично, другая функция, доступная начиная с FreeBSD 4.0, — это утилита man:jail[8] — клетка. Клетка создает chroot-окружение и накладывает определенные ограничения на процессы, запущенные внутри `клетки`. Например, процесс в `клетке` не может влиять на процессы вне её, использовать определенные системные вызовы или наносить какой-либо ущерб основной системе.
-Клетка становится новой моделью безопасности. Пользователи запускают потенциально уязвимые серверы, такие как Apache, BIND и sendmail, внутри клеток, так что если злоумышленник получит права `root` внутри клетки, это будет лишь неудобством, а не катастрофой. Данная статья в основном сосредоточена на внутреннем устройстве (исходном коде) клетки. Для получения информации о настройке клетки см. extref:{handbook} jails/[раздел о клетках Руководства FreeBSD, jails-synopsis].
+Клетка становится новой моделью безопасности. Пользователи запускают потенциально уязвимые серверы, такие как Apache, BIND и sendmail, внутри клеток, так что если злоумышленник получит права `root` внутри клетки, это будет лишь неудобством, а не катастрофой. Данная статья в основном сосредоточена на внутреннем устройстве (исходном коде) клетки. Для получения информации о настройке клетки см. extref:{handbook}jails[раздел о клетках Руководства FreeBSD, jails-synopsis].
[[jail-arch]]
== Архитектура
diff --git a/documentation/content/ru/books/arch-handbook/jail/_index.po b/documentation/content/ru/books/arch-handbook/jail/_index.po
index b5efb43699..893ba88f10 100644
--- a/documentation/content/ru/books/arch-handbook/jail/_index.po
+++ b/documentation/content/ru/books/arch-handbook/jail/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-14 22:43+0300\n"
-"PO-Revision-Date: 2025-08-16 04:45+0000\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
+"PO-Revision-Date: 2025-10-16 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/booksarch-handbookjail_index/ru/>\n"
@@ -25,7 +25,7 @@ msgstr ""
msgid "The Jail Subsystem"
msgstr "Подсистема клеток"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/arch-handbook/jail/_index.adoc:1
#, no-wrap
msgid "Chapter 4. The Jail Subsystem"
@@ -72,7 +72,7 @@ msgstr ""
"клеток, так что если злоумышленник получит права `root` внутри клетки, это "
"будет лишь неудобством, а не катастрофой. Данная статья в основном "
"сосредоточена на внутреннем устройстве (исходном коде) клетки. Для получения "
-"информации о настройке клетки см. extref:{handbook} jails/[раздел о клетках "
+"информации о настройке клетки см. extref:{handbook}jails[раздел о клетках "
"Руководства FreeBSD, jails-synopsis]."
#. type: Title ==
@@ -127,8 +127,8 @@ msgid ""
"usr/include/sys/jail.h#."
msgstr ""
"В файле [.filename]#jail.c# первое, на что я бы обратил внимание, это "
-"объявление важной структуры `struct jail j;`, которая была включена из "
-"[.filename]#/usr/include/sys/jail.h#."
+"объявление важной структуры `struct jail j;`, которая была включена из [."
+"filename]#/usr/include/sys/jail.h#."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/jail/_index.adoc:69
@@ -320,8 +320,7 @@ msgstr "Управляемые переменные ядра sysctl"
#. type: Plain text
#: documentation/content/en/books/arch-handbook/jail/_index.adoc:137
msgid "In [.filename]#kern_jail.c#, the following sysctls are defined:"
-msgstr ""
-"В файле [.filename]#kern_jail.c# определены следующие параметры sysctl:"
+msgstr "В файле [.filename]#kern_jail.c# определены следующие параметры sysctl:"
#. type: delimited block . 4
#: documentation/content/en/books/arch-handbook/jail/_index.adoc:145
@@ -351,7 +350,8 @@ msgstr ""
"int jail_socket_unixiproute_only = 1;\n"
"SYSCTL_INT(_security_jail, OID_AUTO, socket_unixiproute_only, CTLFLAG_RW,\n"
" &jail_socket_unixiproute_only, 0,\n"
-" \"Processes in jail are limited to creating UNIX/IPv4/route sockets only\");\n"
+" \"Processes in jail are limited to creating UNIX/IPv4/route sockets "
+"only\");\n"
#. type: delimited block . 4
#: documentation/content/en/books/arch-handbook/jail/_index.adoc:155
@@ -433,8 +433,8 @@ msgid ""
msgstr ""
"Каждый из этих параметров sysctl может быть доступен пользователю через "
"программу man:sysctl[8]. В ядре эти конкретные параметры sysctl распознаются "
-"по их именам. Например, имя первого параметра sysctl — "
-"`security.jail.set_hostname_allowed`."
+"по их именам. Например, имя первого параметра sysctl — `security.jail."
+"set_hostname_allowed`."
#. type: Title ====
#: documentation/content/en/books/arch-handbook/jail/_index.adoc:179
@@ -457,8 +457,8 @@ msgstr ""
"аргумента: `struct thread *td` и `struct jail_args *uap`. `td` — это "
"указатель на структуру `thread`, которая описывает вызывающий поток. В "
"данном контексте `uap` — это указатель на структуру, в которой содержится "
-"указатель на структуру `jail`, переданную из пользовательского пространства "
-"[.filename]#jail.c#. Ранее, когда я описывал пользовательскую программу, вы "
+"указатель на структуру `jail`, переданную из пользовательского пространства ["
+".filename]#jail.c#. Ранее, когда я описывал пользовательскую программу, вы "
"видели, что системному вызову man:jail[2] была передана структура `jail` в "
"качестве собственного аргумента."
@@ -495,14 +495,14 @@ msgid ""
"`jail` structure pointed by `uap->jail` is copied into kernel space and is "
"stored in another `jail` structure, `j`."
msgstr ""
-"Следовательно, `uap->jail` можно использовать для доступа к структуре "
-"`jail`, которая была передана системному вызову. Далее системный вызов "
-"копирует структуру `клетка` в пространство ядра с помощью функции "
-"man:copyin[9]. man:copyin[9] принимает три аргумента: адрес данных, которые "
-"нужно скопировать в пространство ядра (`uap->jail`), место для записи данных "
-"(`j`) и размер хранилища. Структура `jail`, на которую указывает `uap-"
-">jail`, копируется в пространство ядра и сохраняется в другой структуре "
-"`клетка` — `j`."
+"Следовательно, `uap->jail` можно использовать для доступа к структуре `jail`"
+", которая была передана системному вызову. Далее системный вызов копирует "
+"структуру `клетка` в пространство ядра с помощью функции man:copyin[9]. "
+"man:copyin[9] принимает три аргумента: адрес данных, которые нужно "
+"скопировать в пространство ядра (`uap->jail`), место для записи данных (`j`) "
+"и размер хранилища. Структура `jail`, на которую указывает `uap->jail`, "
+"копируется в пространство ядра и сохраняется в другой структуре `клетка` — "
+"`j`."
#. type: delimited block . 4
#: documentation/content/en/books/arch-handbook/jail/_index.adoc:201
@@ -547,18 +547,26 @@ msgid ""
msgstr ""
"/usr/include/sys/jail.h:\n"
"struct prison {\n"
-" LIST_ENTRY(prison) pr_list; /* (a) all prisons */\n"
+" LIST_ENTRY(prison) pr_list; /* (a) all prisons */"
+"\n"
" int pr_id; /* (c) prison id */\n"
" int pr_ref; /* (p) refcount */\n"
-" char pr_path[MAXPATHLEN]; /* (c) chroot path */\n"
-" struct vnode *pr_root; /* (c) vnode to rdir */\n"
-" char pr_host[MAXHOSTNAMELEN]; /* (p) jail hostname */\n"
-" u_int32_t pr_ip; /* (c) ip addr host */\n"
+" char pr_path[MAXPATHLEN]; /* (c) chroot path */"
+"\n"
+" struct vnode *pr_root; /* (c) vnode to rdir "
+"*/\n"
+" char pr_host[MAXHOSTNAMELEN]; /* (p) jail hostname "
+"*/\n"
+" u_int32_t pr_ip; /* (c) ip addr host "
+"*/\n"
" void *pr_linux; /* (p) linux abi */\n"
-" int pr_securelevel; /* (p) securelevel */\n"
-" struct task pr_task; /* (d) destroy task */\n"
+" int pr_securelevel; /* (p) securelevel */"
+"\n"
+" struct task pr_task; /* (d) destroy task "
+"*/\n"
" struct mtx pr_mtx;\n"
-" void **pr_slots; /* (p) additional data */\n"
+" void **pr_slots; /* (p) additional data "
+"*/\n"
"};\n"
#. type: Plain text
@@ -736,11 +744,11 @@ msgstr ""
"в клетке. Когда в ядре вызывается функция `jailed()` с вновь созданной "
"структурой `ucred` в качестве аргумента, она возвращает 1, указывая, что "
"учётные данные связаны с клеткой. Общим родительским процессом для всех "
-"процессов, созданных внутри клетки, является процесс, запускающий "
-"man:jail[8], так как он вызывает системный вызов man:jail[2]. При выполнении "
-"программы через man:execve[2] она наследует свойство клетки из структуры "
-"`ucred` родительского процесса, следовательно, у нее структура `ucred` тоже "
-"со свойством клетки."
+"процессов, созданных внутри клетки, является процесс, запускающий man:jail[8]"
+", так как он вызывает системный вызов man:jail[2]. При выполнении программы "
+"через man:execve[2] она наследует свойство клетки из структуры `ucred` "
+"родительского процесса, следовательно, у нее структура `ucred` тоже со "
+"свойством клетки."
#. type: delimited block . 4
#: documentation/content/en/books/arch-handbook/jail/_index.adoc:296
@@ -988,8 +996,8 @@ msgid ""
"`semctl(semid, semnum, cmd, ...)`: `semctl` does the specified `cmd` on the "
"semaphore queue indicated by `semid`."
msgstr ""
-"`semctl(semid, semnum, cmd, ...)`: `semctl` выполняет указанную команду "
-"`cmd` для очереди семафоров, указанной в `semid`."
+"`semctl(semid, semnum, cmd, ...)`: `semctl` выполняет указанную команду `cmd`"
+" для очереди семафоров, указанной в `semid`."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/jail/_index.adoc:363
@@ -1088,10 +1096,10 @@ msgid ""
msgstr ""
"Клетка обрабатывает системный вызов man:socket[2] и связанные низкоуровневые "
"функции сокетов особым образом. Для определения, разрешено ли создание "
-"определённого сокета, сначала проверяется значение sysctl "
-"`security.jail.socket_unixiproute_only`. Если оно установлено, сокеты "
-"разрешено создавать только в случае, если указанное семейство равно "
-"`PF_LOCAL`, `PF_INET` или `PF_ROUTE`. В противном случае возвращается ошибка."
+"определённого сокета, сначала проверяется значение sysctl `security.jail."
+"socket_unixiproute_only`. Если оно установлено, сокеты разрешено создавать "
+"только в случае, если указанное семейство равно `PF_LOCAL`, `PF_INET` или "
+"`PF_ROUTE`. В противном случае возвращается ошибка."
#. type: delimited block . 4
#: documentation/content/en/books/arch-handbook/jail/_index.adoc:397
@@ -1224,7 +1232,8 @@ msgid ""
msgstr ""
"/usr/src/sys/netinet/in_pcb.c:\n"
"int\n"
-"in_pcbbind_setup(struct inpcb *inp, struct sockaddr *nam, in_addr_t *laddrp,\n"
+"in_pcbbind_setup(struct inpcb *inp, struct sockaddr *nam, in_addr_t *laddrp,"
+"\n"
" u_short *lportp, struct ucred *cred)\n"
"{\n"
" ...\n"
@@ -1268,8 +1277,8 @@ msgid ""
"that address."
msgstr ""
"Вы можете задаться вопросом, какую функцию выполняет `prison_ip()`. "
-"`prison_ip()` принимает три аргумента: указатель на учетные данные "
-"(представленные как `cred`), любые флаги и IP-адрес. Она возвращает 1, если "
+"`prison_ip()` принимает три аргумента: указатель на учетные данные ("
+"представленные как `cred`), любые флаги и IP-адрес. Она возвращает 1, если "
"IP-адрес НЕ принадлежит клетке, и 0 в противном случае. Как видно из кода, "
"если это действительно IP-адрес, не принадлежащий клетке, протоколу не "
"разрешается привязываться к этому адресу."
diff --git a/documentation/content/ru/books/arch-handbook/kobj/_index.adoc b/documentation/content/ru/books/arch-handbook/kobj/_index.adoc
index bcc42632da..fa43b32738 100644
--- a/documentation/content/ru/books/arch-handbook/kobj/_index.adoc
+++ b/documentation/content/ru/books/arch-handbook/kobj/_index.adoc
@@ -4,7 +4,7 @@ next: books/arch-handbook/jail
params:
path: /books/arch-handbook/kobj/
prev: books/arch-handbook/locking
-showBookMenu: true
+showBookMenu: 'true'
tags: ["kernel objects", "kobj", "guide", "FreeBSD"]
title: 'Глава 3. Объекты ядра'
weight: 4
diff --git a/documentation/content/ru/books/arch-handbook/kobj/_index.po b/documentation/content/ru/books/arch-handbook/kobj/_index.po
index 36d7ddff70..4209eb3967 100644
--- a/documentation/content/ru/books/arch-handbook/kobj/_index.po
+++ b/documentation/content/ru/books/arch-handbook/kobj/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-14 22:43+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-07-02 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -25,7 +25,7 @@ msgstr ""
msgid "Kernel Objects"
msgstr "Объекты ядра"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/arch-handbook/kobj/_index.adoc:1
#, no-wrap
msgid "Chapter 3. Kernel Objects"
@@ -193,7 +193,8 @@ msgstr ""
"void kobj_class_compile(kobj_class_t cls);\n"
"void kobj_class_compile_static(kobj_class_t cls, kobj_ops_t ops);\n"
"void kobj_class_free(kobj_class_t cls);\n"
-"kobj_t kobj_create(kobj_class_t cls, struct malloc_type *mtype, int mflags);\n"
+"kobj_t kobj_create(kobj_class_t cls, struct malloc_type *mtype, int mflags);"
+"\n"
"void kobj_init(kobj_t obj, kobj_class_t cls);\n"
"void kobj_delete(kobj_t obj, struct malloc_type *mtype);\n"
@@ -259,9 +260,8 @@ msgid ""
"`INTERFACE`, `CODE`, `EPILOG`, `HEADER`, `METHOD`, `PROLOG`, `STATICMETHOD`, "
"and `DEFAULT`."
msgstr ""
-"В этом шаблоне используются следующие ключевые слова: `#include`, "
-"`INTERFACE`, `CODE`, `EPILOG`, `HEADER`, `METHOD`, `PROLOG`, `STATICMETHOD` "
-"и `DEFAULT`."
+"В этом шаблоне используются следующие ключевые слова: `#include`, `INTERFACE`"
+", `CODE`, `EPILOG`, `HEADER`, `METHOD`, `PROLOG`, `STATICMETHOD` и `DEFAULT`."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/kobj/_index.adoc:141
@@ -362,8 +362,8 @@ msgid ""
"The `METHOD` keyword describes a method. Its syntax is `METHOD [return "
"type] [method name] { [object [, arguments]] };`"
msgstr ""
-"Ключевое слово `METHOD` описывает метод. Его синтаксис: `METHOD "
-"[возвращаемый тип] [имя метода] { [объект [, аргументы]] };`"
+"Ключевое слово `METHOD` описывает метод. Его синтаксис: `METHOD ["
+"возвращаемый тип] [имя метода] { [объект [, аргументы]] };`"
#. type: delimited block . 4
#: documentation/content/en/books/arch-handbook/kobj/_index.adoc:200
@@ -391,9 +391,8 @@ msgid ""
msgstr ""
"Ключевое слово `DEFAULT` может следовать за ключевым словом `METHOD`. Оно "
"расширяет ключевое слово `METHOD`, включая функцию по умолчанию для метода. "
-"Расширенный синтаксис выглядит так: `METHOD [тип возвращаемого значения] "
-"[имя метода] { [объект; [другие аргументы]] } DEFAULT [функция по "
-"умолчанию];`"
+"Расширенный синтаксис выглядит так: `METHOD [тип возвращаемого значения] ["
+"имя метода] { [объект; [другие аргументы]] } DEFAULT [функция по умолчанию];`"
#. type: delimited block . 4
#: documentation/content/en/books/arch-handbook/kobj/_index.adoc:215
@@ -511,8 +510,8 @@ msgid ""
msgstr ""
"Класс должен быть \"скомпилирован\". В зависимости от состояния системы на "
"момент инициализации класса, необходимо использовать статически выделенный "
-"кэш, \"таблицу операций\". Это может быть достигнуто путем объявления "
-"`struct kobj_ops` и использования `kobj_class_compile_static();` в противном "
+"кэш, \"таблицу операций\". Это может быть достигнуто путем объявления `"
+"struct kobj_ops` и использования `kobj_class_compile_static();` в противном "
"случае следует использовать `kobj_class_compile()`."
#. type: Title ===
@@ -536,16 +535,15 @@ msgstr ""
"создания объекта Kobj предполагают, что данные Kobj находятся в начале "
"объекта. Если это не подходит, вам придется самостоятельно выделить память "
"для объекта, а затем использовать `kobj_init()` для части объекта, "
-"относящейся к Kobj; в противном случае вы можете использовать "
-"`kobj_create()` для автоматического выделения и инициализации части объекта, "
-"относящейся к Kobj. `kobj_init()` также может использоваться для изменения "
-"класса, который использует объект."
+"относящейся к Kobj; в противном случае вы можете использовать `kobj_create()`"
+" для автоматического выделения и инициализации части объекта, относящейся к "
+"Kobj. `kobj_init()` также может использоваться для изменения класса, "
+"который использует объект."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/kobj/_index.adoc:265
msgid "To integrate Kobj into the object you should use the macro KOBJ_FIELDS."
-msgstr ""
-"Для интеграции Kobj в объект следует использовать макрос `KOBJ_FIELDS`."
+msgstr "Для интеграции Kobj в объект следует использовать макрос `KOBJ_FIELDS`."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/kobj/_index.adoc:267
diff --git a/documentation/content/ru/books/arch-handbook/locking/_index.adoc b/documentation/content/ru/books/arch-handbook/locking/_index.adoc
index b55e13d0a0..cc66cf739b 100644
--- a/documentation/content/ru/books/arch-handbook/locking/_index.adoc
+++ b/documentation/content/ru/books/arch-handbook/locking/_index.adoc
@@ -4,7 +4,7 @@ next: books/arch-handbook/kobj
params:
path: /books/arch-handbook/locking/
prev: books/arch-handbook/boot
-showBookMenu: true
+showBookMenu: 'true'
tags: ["locking", "notes", "SMP", "Mutexes"]
title: 'Глава 2. Заметки о блокировках'
weight: 3
diff --git a/documentation/content/ru/books/arch-handbook/locking/_index.po b/documentation/content/ru/books/arch-handbook/locking/_index.po
index 6985f68d2f..9653ca2162 100644
--- a/documentation/content/ru/books/arch-handbook/locking/_index.po
+++ b/documentation/content/ru/books/arch-handbook/locking/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-14 22:43+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-06-30 23:10+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -25,7 +25,7 @@ msgstr ""
msgid "Locking Notes"
msgstr "Заметки о блокировках"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/arch-handbook/locking/_index.adoc:1
#, no-wrap
msgid "Chapter 2. Locking Notes"
@@ -236,13 +236,29 @@ msgstr "`MTX_SPIN` \\"
#: documentation/content/en/books/arch-handbook/locking/_index.adoc:101
#, no-wrap
msgid "`_gmonparam`, `cnt.v_swtch`, `cp_time`, `curpriority`, `mtx`.`mtx_blocked`, `mtx`.`mtx_contested`, `proc`.`p_procq`, `proc`.`p_slpq`, `proc`.`p_sflag`, `proc`.`p_stat`, `proc`.`p_estcpu`, `proc`.`p_cpticks` `proc`.`p_pctcpu`, `proc`.`p_wchan`, `proc`.`p_wmesg`, `proc`.`p_swtime`, `proc`.`p_slptime`, `proc`.`p_runtime`, `proc`.`p_uu`, `proc`.`p_su`, `proc`.`p_iu`, `proc`.`p_uticks`, `proc`.`p_sticks`, `proc`.`p_iticks`, `proc`.`p_oncpu`, `proc`.`p_lastcpu`, `proc`.`p_rqindex`, `proc`.`p_heldmtx`, `proc`.`p_blocked`, `proc`.`p_mtxname`, `proc`.`p_contested`, `proc`.`p_priority`, `proc`.`p_usrpri`, `proc`.`p_nativepri`, `proc`.`p_nice`, `proc`.`p_rtprio`, `pscnt`, `slpque`, `itqueuebits`, `itqueues`, `rtqueuebits`, `rtqueues`, `queuebits`, `queues`, `idqueuebits`, `idqueues`, `switchtime`, `switchticks`"
-msgstr "`_gmonparam`, `cnt.v_swtch`, `cp_time`, `curpriority`, `mtx`.`mtx_blocked`, `mtx`.`mtx_contested`, `proc`.`p_procq`, `proc`.`p_slpq`, `proc`.`p_sflag`, `proc`.`p_stat`, `proc`.`p_estcpu`, `proc`.`p_cpticks` `proc`.`p_pctcpu`, `proc`.`p_wchan`, `proc`.`p_wmesg`, `proc`.`p_swtime`, `proc`.`p_slptime`, `proc`.`p_runtime`, `proc`.`p_uu`, `proc`.`p_su`, `proc`.`p_iu`, `proc`.`p_uticks`, `proc`.`p_sticks`, `proc`.`p_iticks`, `proc`.`p_oncpu`, `proc`.`p_lastcpu`, `proc`.`p_rqindex`, `proc`.`p_heldmtx`, `proc`.`p_blocked`, `proc`.`p_mtxname`, `proc`.`p_contested`, `proc`.`p_priority`, `proc`.`p_usrpri`, `proc`.`p_nativepri`, `proc`.`p_nice`, `proc`.`p_rtprio`, `pscnt`, `slpque`, `itqueuebits`, `itqueues`, `rtqueuebits`, `rtqueues`, `queuebits`, `queues`, `idqueuebits`, `idqueues`, `switchtime`, `switchticks`"
+msgstr ""
+"`_gmonparam`, `cnt.v_swtch`, `cp_time`, `curpriority`, `mtx`.`mtx_blocked`, "
+"`mtx`.`mtx_contested`, `proc`.`p_procq`, `proc`.`p_slpq`, `proc`.`p_sflag`, "
+"`proc`.`p_stat`, `proc`.`p_estcpu`, `proc`.`p_cpticks` `proc`.`p_pctcpu`, "
+"`proc`.`p_wchan`, `proc`.`p_wmesg`, `proc`.`p_swtime`, `proc`.`p_slptime`, "
+"`proc`.`p_runtime`, `proc`.`p_uu`, `proc`.`p_su`, `proc`.`p_iu`, "
+"`proc`.`p_uticks`, `proc`.`p_sticks`, `proc`.`p_iticks`, `proc`.`p_oncpu`, "
+"`proc`.`p_lastcpu`, `proc`.`p_rqindex`, `proc`.`p_heldmtx`, "
+"`proc`.`p_blocked`, `proc`.`p_mtxname`, `proc`.`p_contested`, "
+"`proc`.`p_priority`, `proc`.`p_usrpri`, `proc`.`p_nativepri`, `proc`.`p_nice`"
+", `proc`.`p_rtprio`, `pscnt`, `slpque`, `itqueuebits`, `itqueues`, "
+"`rtqueuebits`, `rtqueues`, `queuebits`, `queues`, `idqueuebits`, `idqueues`, "
+"`switchtime`, `switchticks`"
#. type: Table
#: documentation/content/en/books/arch-handbook/locking/_index.adoc:103
#, no-wrap
msgid "`setrunqueue`, `remrunqueue`, `mi_switch`, `chooseproc`, `schedclock`, `resetpriority`, `updatepri`, `maybe_resched`, `cpu_switch`, `cpu_throw`, `need_resched`, `resched_wanted`, `clear_resched`, `aston`, `astoff`, `astpending`, `calcru`, `proc_compare`"
-msgstr "`setrunqueue`, `remrunqueue`, `mi_switch`, `chooseproc`, `schedclock`, `resetpriority`, `updatepri`, `maybe_resched`, `cpu_switch`, `cpu_throw`, `need_resched`, `resched_wanted`, `clear_resched`, `aston`, `astoff`, `astpending`, `calcru`, `proc_compare`"
+msgstr ""
+"`setrunqueue`, `remrunqueue`, `mi_switch`, `chooseproc`, `schedclock`, "
+"`resetpriority`, `updatepri`, `maybe_resched`, `cpu_switch`, `cpu_throw`, "
+"`need_resched`, `resched_wanted`, `clear_resched`, `aston`, `astoff`, "
+"`astpending`, `calcru`, `proc_compare`"
#. type: Table
#: documentation/content/en/books/arch-handbook/locking/_index.adoc:104
@@ -314,7 +330,9 @@ msgstr "\"callout lock\""
#: documentation/content/en/books/arch-handbook/locking/_index.adoc:119
#, no-wrap
msgid "`callfree`, `callwheel`, `nextsoftcheck`, `proc`.`p_itcallout`, `proc`.`p_slpcallout`, `softticks`, `ticks`"
-msgstr "`callfree`, `callwheel`, `nextsoftcheck`, `proc`.`p_itcallout`, `proc`.`p_slpcallout`, `softticks`, `ticks`"
+msgstr ""
+"`callfree`, `callwheel`, `nextsoftcheck`, `proc`.`p_itcallout`, "
+"`proc`.`p_slpcallout`, `softticks`, `ticks`"
#. type: Title ==
#: documentation/content/en/books/arch-handbook/locking/_index.adoc:123
@@ -348,7 +366,8 @@ msgstr "`allproc_lock`"
#: documentation/content/en/books/arch-handbook/locking/_index.adoc:136
#, no-wrap
msgid "`allproc` `zombproc` `pidhashtbl` `proc`.`p_list` `proc`.`p_hash` `nextpid`"
-msgstr "`allproc` `zombproc` `pidhashtbl` `proc`.`p_list` `proc`.`p_hash` `nextpid`"
+msgstr ""
+"`allproc` `zombproc` `pidhashtbl` `proc`.`p_list` `proc`.`p_hash` `nextpid`"
#. type: Table
#: documentation/content/en/books/arch-handbook/locking/_index.adoc:137
diff --git a/documentation/content/ru/books/arch-handbook/locking/chapter.adoc b/documentation/content/ru/books/arch-handbook/locking/chapter.adoc
deleted file mode 100644
index bdb37f8e29..0000000000
--- a/documentation/content/ru/books/arch-handbook/locking/chapter.adoc
+++ /dev/null
@@ -1,137 +0,0 @@
----
-title: Глава 2. Замечания по блокировке
-authors:
----
-
-[[locking]]
-= Замечания по блокировке
-:doctype: book
-:toc: macro
-:toclevels: 1
-:icons: font
-:sectnums:
-:sectnumlevels: 6
-:sectnumoffset: 2
-:partnums:
-:source-highlighter: rouge
-:experimental:
-
-ifdef::env-beastie[]
-ifdef::backend-html5[]
-:imagesdir: ../../../../images/{images-path}
-endif::[]
-ifndef::book[]
-include::shared/authors.adoc[]
-include::shared/mirrors.adoc[]
-include::shared/releases.adoc[]
-include::shared/attributes/attributes-{{% lang %}}.adoc[]
-include::shared/{{% lang %}}/teams.adoc[]
-include::shared/{{% lang %}}/mailing-lists.adoc[]
-include::shared/{{% lang %}}/urls.adoc[]
-toc::[]
-endif::[]
-ifdef::backend-pdf,backend-epub3[]
-include::../../../../../shared/asciidoctor.adoc[]
-endif::[]
-endif::[]
-
-ifndef::env-beastie[]
-toc::[]
-include::../../../../../shared/asciidoctor.adoc[]
-endif::[]
-
-_Эта глава поддерживается проектом FreeBSD SMP Next Generation Project. Комментарии и пожелания направляйте в link:{freebsd-smp}._
-
-Этот документ описывает механизм блокировки, используемый в ядре FreeBSD для обеспечения эффективной поддержки нескольких процессоров в ядре. Блокировку можно рассматривать с нескольких точек зрения. Структуры данных могут быть защищены с помощью блокировок mutex или man:lockmgr[9]. Несколько переменных защищены просто в силу атомарности используемых для доступа к ним операций.
-
-[[locking-mutexes]]
-== Мьютексы
-
-Мьютекс (mutex) - это просто блокировка, используемая для реализации гарантированной исключительности. В частности, в каждый момент времени мьютексом может владеть только один объект. Если какой-то объект хочет получить мьютекс, который уже кто-то занял, он должен дождаться момента его освобождения. В ядре FreeBSD владельцами мьютексов являются процессы.
-
-Мьютексы могут быть затребованы рекурсивно, но предполагается, что они занимаются на короткое время. В частности, владельцу мьютекса нельзя выдерживать паузу. Если вам нужно выполнить блокировку на время паузы, используйте блокировку через man:lockmgr[9].
-
-Каждый мьютекс имеет несколько представляющих интерес характеристик:
-
-Имя переменной::
-Имя переменной [type]#struct mtx# в исходных текстах ядра.
-
-Логическое имя::
-Имя мьютекса, назначенное ему через `mtx_init`. Это имя выводится в сообщениях трассировки KTR и диагностических предупреждающих и ошибочных сообщениях и используется для идентификации мьютексов в отладочном коде.
-
-Тип::
-Тип мьютекса в терминах флагов [constant]#MTX_*#. Значение каждого флага связано с его смыслом так, как это описано в man:mutex[9].
-
-[constant]#MTX_DEF#:::
-Sleep-мьютекс
-
-[constant]#MTX_SPIN#:::
-Spin-мьютекс
-
-[constant]#MTX_RECURSE#:::
-Этому мьютексу разрешается блокировать рекурсивно.
-
-Защиты::
-Список структур данных или членов структур данных, которые защищает этот мьютекс. Для членов структур данных имя будет в форме . члена структуры/.
-
-Зависимые функции::
-Функции, которые можно вызвать, если этот мьютекс занят.
-
-.Список мьютексов
-[cols="15%,10%,10%,55%,20%", frame="all", options="header"]
-|===
-| Variable Name
-| Logical Name
-| Type
-| Protectees
-| Dependent Functions
-
-|sched_lock
-|"sched lock"
-|`MTX_SPIN` \| `MTX_RECURSE`
-|`_gmonparam`, `cnt.v_swtch`, `cp_time`, `curpriority`, `mtx`.`mtx_blocked`, `mtx`.`mtx_contested`, `proc`.`p_procq`, `proc`.`p_slpq`, `proc`.`p_sflag`, `proc`.`p_stat`, `proc`.`p_estcpu`, `proc`.`p_cpticks` `proc`.`p_pctcpu`, `proc`.`p_wchan`, `proc`.`p_wmesg`, `proc`.`p_swtime`, `proc`.`p_slptime`, `proc`.`p_runtime`, `proc`.`p_uu`, `proc`.`p_su`, `proc`.`p_iu`, `proc`.`p_uticks`, `proc`.`p_sticks`, `proc`.`p_iticks`, `proc`.`p_oncpu`, `proc`.`p_lastcpu`, `proc`.`p_rqindex`, `proc`.`p_heldmtx`, `proc`.`p_blocked`, `proc`.`p_mtxname`, `proc`.`p_contested`, `proc`.`p_priority`, `proc`.`p_usrpri`, `proc`.`p_nativepri`, `proc`.`p_nice`, `proc`.`p_rtprio`, `pscnt`, `slpque`, `itqueuebits`, `itqueues`, `rtqueuebits`, `rtqueues`, `queuebits`, `queues`, `idqueuebits`, `idqueues`, `switchtime`, `switchticks`
-|`setrunqueue`, `remrunqueue`, `mi_switch`, `chooseproc`, `schedclock`, `resetpriority`, `updatepri`, `maybe_resched`, `cpu_switch`, `cpu_throw`, `need_resched`, `resched_wanted`, `clear_resched`, `aston`, `astoff`, `astpending`, `calcru`, `proc_compare`
-
-|vm86pcb_lock
-|"vm86pcb lock"
-|`MTX_DEF`
-|`vm86pcb`
-|`vm86_bioscall`
-
-|Giant
-|"Giant"
-|`MTX_DEF` \| `MTX_RECURSE`
-|nearly everything
-|lots
-
-|callout_lock
-|"callout lock"
-|`MTX_SPIN` \| `MTX_RECURSE`
-|`callfree`, `callwheel`, `nextsoftcheck`, `proc`.`p_itcallout`, `proc`.`p_slpcallout`, `softticks`, `ticks`
-|
-|===
-
-[[locking-sx]]
-== Разделяемые эксклюзивные блокировки
-
-Эти блокировки обеспечивают базовый тип функциональности - на чтение/запись и могут поддерживаться процессами, находящимся в состоянии ожидания. На текущий момент они реализованы в man:lockmgr[9].
-
-.Список разделяемых эксклюзивных блокировок
-[cols="1,1", options="header"]
-|===
-| Имя переменной
-| Защиты
-
-|`allproc_lock`
-|`allproc` `zombproc` `pidhashtbl` `proc`.`p_list` `proc`.`p_hash` `nextpid`
-
-|`proctree_lock`
-|`proc`.`p_children` `proc`.`p_sibling`
-|===
-
-[[locking-atomic]]
-== Атомарно защищенные переменные
-
-Переменной, защищенной атомарно, является особая переменная, которая не защищается явной блокировкой. Вместо этого для доступа к данным переменных используются специальные атомарные операции, как описано в man:atomic[9]. Лишь несколько переменных используются таким образом, хотя другие примитивы синхронизации, такие как мьютексы, реализованы с атомарно защищенными переменными.
-
-* `mtx`.`mtx_lock`
diff --git a/documentation/content/ru/books/arch-handbook/mac/_index.adoc b/documentation/content/ru/books/arch-handbook/mac/_index.adoc
index 66f6957a00..f248fa74bd 100644
--- a/documentation/content/ru/books/arch-handbook/mac/_index.adoc
+++ b/documentation/content/ru/books/arch-handbook/mac/_index.adoc
@@ -11,7 +11,7 @@ next: books/arch-handbook/vm
params:
path: /books/arch-handbook/mac/
prev: books/arch-handbook/sysinit
-showBookMenu: true
+showBookMenu: 'true'
tags: ["TrustedBSD", "MAC"]
title: 'Глава 6. Фреймворк TrustedBSD MAC'
weight: 7
@@ -162,7 +162,7 @@ FreeBSD включает экспериментальную поддержку
[[mac-framework-kernel-arch-labels]]
=== Поддержка меток
-Поскольку многие интересные расширения контроля доступа зависят от меток безопасности объектов, MAC Framework предоставляет набор системных вызовов для управления метками, не зависящих от политик, охватывающих различные объекты, доступные пользователю. Общие типы меток включают идентификаторы разделов, метки конфиденциальности, метки целостности, отделы (compartment), домены, роли и типы. Под "не зависящими от политик" подразумевается, что модули политик могут полностью определять семантику метаданных, связанных с объектом. Модули политик участвуют в интернализации и экстернализации строковых меток, предоставляемых пользовательскими приложениями, и могут при необходимости предоставлять приложениям несколько элементов меток.
+Поскольку многие интересные расширения контроля доступа зависят от меток безопасности объектов, MAC Framework предоставляет набор системных вызовов для управления метками, не зависящих от политик, охватывающих различные объекты, доступные пользователю. Общие типы меток включают идентификаторы разделов, метки конфиденциальности, метки целостности, компартменты (compartment), домены, роли и типы. Под "не зависящими от политик" подразумевается, что модули политик могут полностью определять семантику метаданных, связанных с объектом. Модули политик участвуют в интернализации и экстернализации строковых меток, предоставляемых пользовательскими приложениями, и могут при необходимости предоставлять приложениям несколько элементов меток.
Метки в памяти хранятся в `struct label`, выделяемой через slab-аллокатор. Эта структура состоит из массива фиксированной длины, содержащего объединения, каждое из которых хранит указатель `void *` и значение типа `long`. Политикам, регистрирующим хранилище меток, назначается идентификатор "слота", который может использоваться для разыменования хранилища меток. Семантика хранилища полностью определяется модулем политики: модулям предоставляется набор точек входа, связанных с жизненным циклом объектов ядра, включая инициализацию, связывание/создание и уничтожение. Используя эти интерфейсы, можно реализовать подсчёт ссылок и другие модели хранения. Прямой доступ к структуре объекта, как правило, не требуется модулям политики для получения метки, поскольку MAC Framework обычно передаёт в точки входа как указатель на объект, так и прямой указатель на метку объекта. Основным исключением из этого правила являются учётные данные процесса, для доступа к метке которых требуется ручное разыменование. Это может измениться в будущих версиях MAC Framework.
@@ -232,7 +232,11 @@ static struct mac_policy_ops mac_policy_ops =
};
....
-The MAC policy entry point vector, `mac__policy__ops` in this example, associates functions defined in the module with specific entry points. A complete listing of available entry points and their prototypes may be found in the MAC entry point reference section. Of specific interest during module registration are the .mpo_destroy and .mpo_init entry points. .mpo_init will be invoked once a policy is successfully registered with the module framework but prior to any other entry points becoming active. This permits the policy to perform any policy-specific allocation and initialization, such as initialization of any data or locks. .mpo_destroy will be invoked when a policy module is unloaded to permit releasing of any allocated memory and destruction of locks. Currently, these two entry points are invoked with the MAC policy list mutex held to prevent any other entry points from being invoked: this will be changed, but in the mean time, policies should be careful about what kernel primitives they invoke so as to avoid lock ordering or sleeping problems.
+Вектор точек входа политики MAC, `mac__policy__ops` в данном примере, связывает функции, определённые в модуле, с конкретными точками входа. Полный список доступных точек входа и их прототипов можно найти в разделе справочника по точкам входа MAC. Особый интерес при регистрации модуля представляют точки входа .mpo_destroy и .mpo_init.
+.mpo_init будет вызван после успешной регистрации политики в модульной системе, но до активации других точек входа.
+Это позволяет политике выполнять любые выделения и инициализации, специфичные для данной политики, такие как инициализация данных или блокировок.
+.mpo_destroy будет вызван при выгрузке модуля политики для освобождения выделенной памяти и уничтожения блокировок.
+В настоящее время эти две точки входа вызываются с удержанием мьютекса списка политик MAC, чтобы предотвратить вызов других точек входа: это будет изменено, но до тех пор политики должны быть осторожны с используемыми примитивами ядра, чтобы избежать проблем с порядком блокировок или сном.
Поле имени модуля в объявлении политики существует для того, чтобы модуль мог быть однозначно идентифицирован с целью управления зависимостями модулей. Следует выбрать подходящую строку. Полное имя политики отображается пользователю в журнале ядра при загрузке и выгрузке, а также экспортируется при предоставлении информации о статусе процессам в пользовательском пространстве.
@@ -1287,11 +1291,11 @@ int mpo_internalize_cred_label(struct label *label, char *element_name,
|
|`claimed`
-|Должно увеличиваться, когда данные могут быть успешно преобразовываться вовнутреннее представление.
+|Должно увеличиваться, когда данные могут быть успешно преобразовываться во внутреннее представление.
|
|===
-Создать внутреннюю структуру меток на основе данных метки вов нешнем представлении в текстовом формате. В настоящее время, при запросе преобразования во внутреннее представление вызываются точки входа `internalize` всех политик, поэтому реализация должна сравнивать содержимое `element_name` со своим именем, чтобы убедиться, что она должна преобразовывать данные в `element_data`. Как и в точках входа `externalize`, точка входа должна возвращать 0, если `element_name` не совпадает с её собственным именем, или когда данные могут быть успешно преобразованы, в этом случае `*claimed` должен быть увеличен.
+Создать внутреннюю структуру меток на основе данных метки во внешнем представлении в текстовом формате. В настоящее время, при запросе преобразования во внутреннее представление вызываются точки входа `internalize` всех политик, поэтому реализация должна сравнивать содержимое `element_name` со своим именем, чтобы убедиться, что она должна преобразовывать данные в `element_data`. Как и в точках входа `externalize`, точка входа должна возвращать 0, если `element_name` не совпадает с её собственным именем, или когда данные могут быть успешно преобразованы, в этом случае `*claimed` должен быть увеличен.
[[mac-mpo-internalize-ifnet-label]]
==== `mpo_internalize_ifnet_label`
@@ -1322,11 +1326,11 @@ int mpo_internalize_ifnet_label(struct label *label, char *element_name,
|
|`claimed`
-|Должно увеличиваться, когда данные могут быть успешно преобразовываться вовнутреннее представление.
+|Должно увеличиваться, когда данные могут быть успешно преобразовываться во внутреннее представление.
|
|===
-Создать внутреннюю структуру меток на основе данных метки вов нешнем представлении в текстовом формате. В настоящее время, при запросе преобразования во внутреннее представление вызываются точки входа `internalize` всех политик, поэтому реализация должна сравнивать содержимое `element_name` со своим именем, чтобы убедиться, что она должна преобразовывать данные в `element_data`. Как и в точках входа `externalize`, точка входа должна возвращать 0, если `element_name` не совпадает с её собственным именем, или когда данные могут быть успешно преобразованы, в этом случае `*claimed` должен быть увеличен.
+Создать внутреннюю структуру меток на основе данных метки во внешнем представлении в текстовом формате. В настоящее время, при запросе преобразования во внутреннее представление вызываются точки входа `internalize` всех политик, поэтому реализация должна сравнивать содержимое `element_name` со своим именем, чтобы убедиться, что она должна преобразовывать данные в `element_data`. Как и в точках входа `externalize`, точка входа должна возвращать 0, если `element_name` не совпадает с её собственным именем, или когда данные могут быть успешно преобразованы, в этом случае `*claimed` должен быть увеличен.
[[mac-mpo-internalize-pipe-label]]
==== `mpo_internalize_pipe_label`
@@ -1357,11 +1361,11 @@ int mpo_internalize_pipe_label(struct label *label, char *element_name,
|
|`claimed`
-|Должно увеличиваться, когда данные могут быть успешно преобразовываться вовнутреннее представление.
+|Должно увеличиваться, когда данные могут быть успешно преобразовываться во внутреннее представление.
|
|===
-Создать внутреннюю структуру меток на основе данных метки вов нешнем представлении в текстовом формате. В настоящее время, при запросе преобразования во внутреннее представление вызываются точки входа `internalize` всех политик, поэтому реализация должна сравнивать содержимое `element_name` со своим именем, чтобы убедиться, что она должна преобразовывать данные в `element_data`. Как и в точках входа `externalize`, точка входа должна возвращать 0, если `element_name` не совпадает с её собственным именем, или когда данные могут быть успешно преобразованы, в этом случае `*claimed` должен быть увеличен.
+Создать внутреннюю структуру меток на основе данных метки во внешнем представлении в текстовом формате. В настоящее время, при запросе преобразования во внутреннее представление вызываются точки входа `internalize` всех политик, поэтому реализация должна сравнивать содержимое `element_name` со своим именем, чтобы убедиться, что она должна преобразовывать данные в `element_data`. Как и в точках входа `externalize`, точка входа должна возвращать 0, если `element_name` не совпадает с её собственным именем, или когда данные могут быть успешно преобразованы, в этом случае `*claimed` должен быть увеличен.
[[mac-mpo-internalize-socket-label]]
==== `mpo_internalize_socket_label`
@@ -1392,11 +1396,11 @@ int mpo_internalize_socket_label(struct label *label, char *element_name,
|
|`claimed`
-|Должно увеличиваться, когда данные могут быть успешно преобразовываться вовнутреннее представление.
+|Должно увеличиваться, когда данные могут быть успешно преобразовываться во внутреннее представление.
|
|===
-Создать внутреннюю структуру меток на основе данных метки вов нешнем представлении в текстовом формате. В настоящее время, при запросе преобразования во внутреннее представление вызываются точки входа `internalize` всех политик, поэтому реализация должна сравнивать содержимое `element_name` со своим именем, чтобы убедиться, что она должна преобразовывать данные в `element_data`. Как и в точках входа `externalize`, точка входа должна возвращать 0, если `element_name` не совпадает с её собственным именем, или когда данные могут быть успешно преобразованы, в этом случае `*claimed` должен быть увеличен.
+Создать внутреннюю структуру меток на основе данных метки во внешнем представлении в текстовом формате. В настоящее время, при запросе преобразования во внутреннее представление вызываются точки входа `internalize` всех политик, поэтому реализация должна сравнивать содержимое `element_name` со своим именем, чтобы убедиться, что она должна преобразовывать данные в `element_data`. Как и в точках входа `externalize`, точка входа должна возвращать 0, если `element_name` не совпадает с её собственным именем, или когда данные могут быть успешно преобразованы, в этом случае `*claimed` должен быть увеличен.
[[mac-mpo-internalize-vnode-label]]
==== `mpo_internalize_vnode_label`
@@ -1427,11 +1431,11 @@ int mpo_internalize_vnode_label(struct label *label, char *element_name,
|
|`claimed`
-|Должно увеличиваться, когда данные могут быть успешно преобразовываться вовнутреннее представление.
+|Должно увеличиваться, когда данные могут быть успешно преобразовываться во внутреннее представление.
|
|===
-Создать внутреннюю структуру меток на основе данных метки вов нешнем представлении в текстовом формате. В настоящее время, при запросе преобразования во внутреннее представление вызываются точки входа `internalize` всех политик, поэтому реализация должна сравнивать содержимое `element_name` со своим именем, чтобы убедиться, что она должна преобразовывать данные в `element_data`. Как и в точках входа `externalize`, точка входа должна возвращать 0, если `element_name` не совпадает с её собственным именем, или когда данные могут быть успешно преобразованы, в этом случае `*claimed` должен быть увеличен.
+Создать внутреннюю структуру меток на основе данных метки во внешнем представлении в текстовом формате. В настоящее время, при запросе преобразования во внутреннее представление вызываются точки входа `internalize` всех политик, поэтому реализация должна сравнивать содержимое `element_name` со своим именем, чтобы убедиться, что она должна преобразовывать данные в `element_data`. Как и в точках входа `externalize`, точка входа должна возвращать 0, если `element_name` не совпадает с её собственным именем, или когда данные могут быть успешно преобразованы, в этом случае `*claimed` должен быть увеличен.
[[mac-label-events]]
=== События метки
@@ -1455,7 +1459,7 @@ Label destruction o
Создание метки происходит, когда структура ядра связывается с реальным объектом ядра. Например, Mbuf могут быть выделены и оставаться неиспользованными в пуле до тех пор, пока они не понадобятся. Выделение mbuf приводит к инициализации метки на mbuf, но создание mbuf происходит, когда mbuf связывается с датаграммой. Обычно для события создания предоставляется контекст, включая обстоятельства создания и метки других значимых объектов в процессе создания. Например, когда mbuf создаётся из сокета, сокет и его метка будут переданы зарегистрированным политикам в дополнение к новому mbuf и его метке. Выделение памяти в событиях создания не рекомендуется, так как это может происходить в чувствительных к производительности участках ядра; кроме того, вызовы создания не могут завершиться неудачей, поэтому невозможность выделить память не может быть сообщена.
-События, привящанные к объектам, обычно не попадают в другие классы событий меток, но, как правило, предоставляют возможность изменить или обновить метку объекта на основе дополнительного контекста. Например, метка в очереди сборки IP-фрагментов может быть обновлена во время точки входа `MAC_UPDATE_IPQ` в результате принятия дополнительного mbuf в эту очередь.
+События, привязанные к объектам, обычно не попадают в другие классы событий меток, но, как правило, предоставляют возможность изменить или обновить метку объекта на основе дополнительного контекста. Например, метка в очереди сборки IP-фрагментов может быть обновлена во время точки входа `MAC_UPDATE_IPQ` в результате принятия дополнительного mbuf в эту очередь.
События контроля доступа подробно рассматриваются в следующем разделе.
@@ -1668,7 +1672,7 @@ void mpo_create_devfs_symlink(struct ucred *cred, struct mount *mp,
|
|`dd`
-|Назначения cсылки
+|Место назначения ссылки
|
|`ddlabel`
@@ -1676,7 +1680,7 @@ void mpo_create_devfs_symlink(struct ucred *cred, struct mount *mp,
|
|`de`
-|Символьная ссылка записи
+|Точка входа символьной ссылки
|
|`delabel`
@@ -2261,7 +2265,7 @@ void mpo_create_ipq(struct mbuf *fragment, struct label *fragmentlabel,
|
|`ipq`
-|Очередь повторной сборки IP, которой добавляетя метка
+|Очередь повторной сборки IP, которой добавляется метка
|
|`ipqlabel`
diff --git a/documentation/content/ru/books/arch-handbook/mac/_index.po b/documentation/content/ru/books/arch-handbook/mac/_index.po
index f93f0bf538..d51679a61f 100644
--- a/documentation/content/ru/books/arch-handbook/mac/_index.po
+++ b/documentation/content/ru/books/arch-handbook/mac/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-14 22:43+0300\n"
-"PO-Revision-Date: 2025-08-26 04:45+0000\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
+"PO-Revision-Date: 2025-10-30 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/booksarch-handbookmac_index/ru/>\n"
@@ -25,7 +25,7 @@ msgstr ""
msgid "The TrustedBSD MAC Framework"
msgstr "Фреймворк TrustedBSD MAC"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/arch-handbook/mac/_index.adoc:1
#, no-wrap
msgid "Chapter 6. The TrustedBSD MAC Framework"
@@ -108,8 +108,8 @@ msgstr ""
"ОГРАНИЧИВАЯСЬ ИМИ, ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ ТОВАРНОЙ ПРИГОДНОСТИ И "
"ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ ОТРИЦАЮТСЯ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ "
"NETWORKS ASSOCIATES TECHNOLOGY, INC НЕ НЕСЕТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ "
-"ПРЯМЫЕ, КОСВЕННЫЕ, СЛУЧАЙНЫЕ, СПЕЦИАЛЬНЫЕ, ШТРАФНЫЕ ИЛИ КОСВЕННЫЕ УБЫТКИ "
-"(ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ИМИ, ЗАТРАТЫ НА ЗАМЕНУ ТОВАРОВ ИЛИ УСЛУГ; "
+"ПРЯМЫЕ, КОСВЕННЫЕ, СЛУЧАЙНЫЕ, СПЕЦИАЛЬНЫЕ, ШТРАФНЫЕ ИЛИ КОСВЕННЫЕ УБЫТКИ ("
+"ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ИМИ, ЗАТРАТЫ НА ЗАМЕНУ ТОВАРОВ ИЛИ УСЛУГ; "
"ПОТЕРЮ ИСПОЛЬЗОВАНИЯ, ДАННЫХ ИЛИ ПРИБЫЛИ; ЛИБО ПРЕРЫВАНИЕ БИЗНЕСА), "
"ВЫЗВАННЫЕ ЛЮБЫМ ОБРАЗОМ И НА ОСНОВАНИИ ЛЮБОЙ ТЕОРИИ ОТВЕТСТВЕННОСТИ, БУДЬ ТО "
"В РАМКАХ ДОГОВОРА, СТРОГОЙ ОТВЕТСТВЕННОСТИ ИЛИ ДЕЛИКТА (ВКЛЮЧАЯ НЕБРЕЖНОСТЬ "
@@ -228,12 +228,12 @@ msgstr ""
"пользователями, и межсетевые экраны. Различные политики MAC были разработаны "
"создателями операционных систем и исследователями безопасности, включая "
"политику конфиденциальности многоуровневой безопасности (MLS — Multi-Level "
-"Security), политику целостности Biba, управление доступом на основе ролей "
-"(RBAC — Role-Based Access Control), принудительное применение доменов и "
-"типов (DTE — Domain and Type Enforcement) и принудительное применение типов "
-"(TE — Type Enforcement). Каждая модель основывает решения на различных "
-"факторах, включая идентификатор пользователя, роль и уровень доступа, а "
-"также метки безопасности на объектах, представляющих такие концепции, как "
+"Security), политику целостности Biba, управление доступом на основе ролей ("
+"RBAC — Role-Based Access Control), принудительное применение доменов и типов "
+"(DTE — Domain and Type Enforcement) и принудительное применение типов (TE — "
+"Type Enforcement). Каждая модель основывает решения на различных факторах, "
+"включая идентификатор пользователя, роль и уровень доступа, а также метки "
+"безопасности на объектах, представляющих такие концепции, как "
"конфиденциальность и целостность данных."
#. type: Plain text
@@ -676,8 +676,8 @@ msgstr ""
"работы модулей политики будут объединены фреймворком с использованием "
"оператора композиции. Этот оператор в настоящее время жёстко закодирован и "
"требует, чтобы все активные политики одобрили запрос для возврата успешного "
-"результата. Поскольку политики могут возвращать различные условия ошибки "
-"(успех, доступ запрещён, объект не существует, ...), оператор старшинства "
+"результата. Поскольку политики могут возвращать различные условия ошибки ("
+"успех, доступ запрещён, объект не существует, ...), оператор старшинства "
"выбирает результирующую ошибку из набора ошибок, возвращаемых политиками. В "
"общем случае, ошибки, указывающие на то, что объект не существует, будут "
"предпочтительнее ошибок, указывающих на запрет доступа к объекту. Хотя не "
@@ -710,12 +710,13 @@ msgstr ""
"безопасности объектов, MAC Framework предоставляет набор системных вызовов "
"для управления метками, не зависящих от политик, охватывающих различные "
"объекты, доступные пользователю. Общие типы меток включают идентификаторы "
-"разделов, метки конфиденциальности, метки целостности, отделы (compartment), "
-"домены, роли и типы. Под \"не зависящими от политик\" подразумевается, что "
-"модули политик могут полностью определять семантику метаданных, связанных с "
-"объектом. Модули политик участвуют в интернализации и экстернализации "
-"строковых меток, предоставляемых пользовательскими приложениями, и могут при "
-"необходимости предоставлять приложениям несколько элементов меток."
+"разделов, метки конфиденциальности, метки целостности, компартменты "
+"(compartment), домены, роли и типы. Под \"не зависящими от политик\" "
+"подразумевается, что модули политик могут полностью определять семантику "
+"метаданных, связанных с объектом. Модули политик участвуют в интернализации "
+"и экстернализации строковых меток, предоставляемых пользовательскими "
+"приложениями, и могут при необходимости предоставлять приложениям несколько "
+"элементов меток."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/mac/_index.adoc:216
@@ -915,8 +916,8 @@ msgid ""
"`mac_set_fd()` may be used to request a change in the label of an object "
"(file, socket, pipe, ...) referenced by a file descriptor."
msgstr ""
-"`mac_set_fd()` может использоваться для запроса изменения метки объекта "
-"(файл, сокет, канал, ...), на который ссылается файловый дескриптор."
+"`mac_set_fd()` может использоваться для запроса изменения метки объекта ("
+"файл, сокет, канал, ...), на который ссылается файловый дескриптор."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/mac/_index.adoc:254
@@ -1127,24 +1128,58 @@ msgstr ""
"};\n"
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/mac/_index.adoc:306
+#: documentation/content/en/books/arch-handbook/mac/_index.adoc:302
msgid ""
"The MAC policy entry point vector, `mac__policy__ops` in this example, "
"associates functions defined in the module with specific entry points. A "
"complete listing of available entry points and their prototypes may be found "
"in the MAC entry point reference section. Of specific interest during "
-"module registration are the .mpo_destroy and .mpo_init entry "
-"points. .mpo_init will be invoked once a policy is successfully registered "
-"with the module framework but prior to any other entry points becoming "
-"active. This permits the policy to perform any policy-specific allocation "
-"and initialization, such as initialization of any data or "
-"locks. .mpo_destroy will be invoked when a policy module is unloaded to "
-"permit releasing of any allocated memory and destruction of locks. "
+"module registration are the .mpo_destroy and .mpo_init entry points."
+msgstr ""
+"Вектор точек входа политики MAC, `mac__policy__ops` в данном примере, "
+"связывает функции, определённые в модуле, с конкретными точками входа. "
+"Полный список доступных точек входа и их прототипов можно найти в разделе "
+"справочника по точкам входа MAC. Особый интерес при регистрации модуля "
+"представляют точки входа .mpo_destroy и .mpo_init."
+
+#. type: Block title
+#: documentation/content/en/books/arch-handbook/mac/_index.adoc:302
+#, no-wrap
+msgid "mpo_init will be invoked once a policy is successfully registered with the module framework but prior to any other entry points becoming active."
+msgstr ""
+"mpo_init будет вызван после успешной регистрации политики в модульной "
+"системе, но до активации других точек входа."
+
+#. type: Plain text
+#: documentation/content/en/books/arch-handbook/mac/_index.adoc:304
+msgid ""
+"This permits the policy to perform any policy-specific allocation and "
+"initialization, such as initialization of any data or locks."
+msgstr ""
+"Это позволяет политике выполнять любые выделения и инициализации, "
+"специфичные для данной политики, такие как инициализация данных или "
+"блокировок."
+
+#. type: Block title
+#: documentation/content/en/books/arch-handbook/mac/_index.adoc:304
+#, no-wrap
+msgid "mpo_destroy will be invoked when a policy module is unloaded to permit releasing of any allocated memory and destruction of locks."
+msgstr ""
+"mpo_destroy будет вызван при выгрузке модуля политики для освобождения "
+"выделенной памяти и уничтожения блокировок."
+
+#. type: Plain text
+#: documentation/content/en/books/arch-handbook/mac/_index.adoc:306
+msgid ""
"Currently, these two entry points are invoked with the MAC policy list mutex "
"held to prevent any other entry points from being invoked: this will be "
"changed, but in the mean time, policies should be careful about what kernel "
"primitives they invoke so as to avoid lock ordering or sleeping problems."
msgstr ""
+"В настоящее время эти две точки входа вызываются с удержанием мьютекса "
+"списка политик MAC, чтобы предотвратить вызов других точек входа: это будет "
+"изменено, но до тех пор политики должны быть осторожны с используемыми "
+"примитивами ядра, чтобы избежать проблем с порядком блокировок или сном."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/mac/_index.adoc:310
@@ -2255,9 +2290,9 @@ msgid ""
"long-lived operations. This entry point is permitted to fail resulting in "
"the failure to allocate the mbuf header."
msgstr ""
-"Инициализировать на только что созданном заголовке пакета mbuf метку "
-"(`mbuf`). Поле `flag` может принимать одно из значений M_WAITOK или M_NOWAIT "
-"и должно использоваться, чтобы избежать выполнения \"спящего\" man:malloc[9] "
+"Инициализировать на только что созданном заголовке пакета mbuf метку (`mbuf`)"
+". Поле `flag` может принимать одно из значений M_WAITOK или M_NOWAIT и "
+"должно использоваться, чтобы избежать выполнения \"спящего\" man:malloc[9] "
"во время этого вызова инициализации. Выделение mbuf часто происходит в "
"чувствительных к производительности средах, и реализация должна избегать "
"\"спящего\" режима или длительных операций. Этой точке входа разрешено "
@@ -2273,7 +2308,8 @@ msgstr "`mpo_init_mount_label`"
#: documentation/content/en/books/arch-handbook/mac/_index.adoc:631
#, no-wrap
msgid "void mpo_init_mount_label(struct label *mntlabel, struct label *fslabel);\n"
-msgstr "void mpo_init_mount_label(struct label *mntlabel, struct label *fslabel);\n"
+msgstr ""
+"void mpo_init_mount_label(struct label *mntlabel, struct label *fslabel);\n"
#. type: Table
#: documentation/content/en/books/arch-handbook/mac/_index.adoc:641
@@ -2656,7 +2692,9 @@ msgstr ""
#: documentation/content/en/books/arch-handbook/mac/_index.adoc:965
#, no-wrap
msgid "void mpo_destroy_mount_label(struct label *mntlabel, struct label *fslabel);\n"
-msgstr "void mpo_destroy_mount_label(struct label *mntlabel, struct label *fslabel);\n"
+msgstr ""
+"void mpo_destroy_mount_label(struct label *mntlabel, struct label *fslabel);"
+"\n"
#. type: Table
#: documentation/content/en/books/arch-handbook/mac/_index.adoc:980
@@ -3089,7 +3127,8 @@ msgid ""
"int mpo_externalize_socket_peer_label(struct label *label, char *element_name,\n"
" struct sbuf *sb, int *claimed);\n"
msgstr ""
-"int mpo_externalize_socket_peer_label(struct label *label, char *element_name,\n"
+"int mpo_externalize_socket_peer_label(struct label *label, char "
+"*element_name,\n"
" struct sbuf *sb, int *claimed);\n"
#. type: Title ====
@@ -3132,7 +3171,8 @@ msgstr ""
#: documentation/content/en/books/arch-handbook/mac/_index.adoc:1589
#, no-wrap
msgid "Name of the policy whose label should be internalized"
-msgstr "Имя политики, метка которой должна быть приведена к внутреннему представлению"
+msgstr ""
+"Имя политики, метка которой должна быть приведена к внутреннему представлению"
#. type: Table
#: documentation/content/en/books/arch-handbook/mac/_index.adoc:1444
@@ -3162,7 +3202,9 @@ msgstr "Текстовые данные для преобразования к
#: documentation/content/en/books/arch-handbook/mac/_index.adoc:1597
#, no-wrap
msgid "Should be incremented when data can be successfully internalized."
-msgstr "Должно увеличиваться, когда данные могут быть успешно преобразовываться вовнутреннее представление."
+msgstr ""
+"Должно увеличиваться, когда данные могут быть успешно преобразовываться во "
+"внутреннее представление."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/mac/_index.adoc:1455
@@ -3180,7 +3222,7 @@ msgid ""
"match its own name, or when data can successfully be internalized, in which "
"case `*claimed` should be incremented."
msgstr ""
-"Создать внутреннюю структуру меток на основе данных метки вов нешнем "
+"Создать внутреннюю структуру меток на основе данных метки во внешнем "
"представлении в текстовом формате. В настоящее время, при запросе "
"преобразования во внутреннее представление вызываются точки входа "
"`internalize` всех политик, поэтому реализация должна сравнивать содержимое "
@@ -3360,7 +3402,7 @@ msgid ""
"entry point as a result of the acceptance of an additional mbuf to that "
"queue."
msgstr ""
-"События, привящанные к объектам, обычно не попадают в другие классы событий "
+"События, привязанные к объектам, обычно не попадают в другие классы событий "
"меток, но, как правило, предоставляют возможность изменить или обновить "
"метку объекта на основе дополнительного контекста. Например, метка в очереди "
"сборки IP-фрагментов может быть обновлена во время точки входа "
@@ -3625,7 +3667,8 @@ msgid ""
"void mpo_associate_vnode_singlelabel(struct mount *mp, struct label *fslabel,\n"
" struct vnode *vp, struct label *vlabel);\n"
msgstr ""
-"void mpo_associate_vnode_singlelabel(struct mount *mp, struct label *fslabel,\n"
+"void mpo_associate_vnode_singlelabel(struct mount *mp, struct label *fslabel,"
+"\n"
" struct vnode *vp, struct label *vlabel);\n"
#. type: Plain text
@@ -3771,7 +3814,8 @@ msgid ""
" struct label *delabel);\n"
msgstr ""
"void mpo_create_devfs_symlink(struct ucred *cred, struct mount *mp,\n"
-" struct devfs_dirent *dd, struct label *ddlabel, struct devfs_dirent *de,\n"
+" struct devfs_dirent *dd, struct label *ddlabel, struct devfs_dirent *de,"
+"\n"
" struct label *delabel);\n"
#. type: Table
@@ -3946,7 +3990,7 @@ msgstr "`dd`"
#: documentation/content/en/books/arch-handbook/mac/_index.adoc:1859
#, no-wrap
msgid "Link destination"
-msgstr "Назначения cсылки"
+msgstr "Место назначения ссылки"
#. type: Table
#: documentation/content/en/books/arch-handbook/mac/_index.adoc:1862
@@ -3964,7 +4008,7 @@ msgstr "Метка, связанная с `dd`"
#: documentation/content/en/books/arch-handbook/mac/_index.adoc:1867
#, no-wrap
msgid "Symlink entry"
-msgstr "Символьная ссылка записи"
+msgstr "Точка входа символьной ссылки"
#. type: Table
#: documentation/content/en/books/arch-handbook/mac/_index.adoc:1871
@@ -4098,7 +4142,8 @@ msgid ""
"void mpo_create_mount(struct ucred *cred, struct mount *mp, struct label *mnt,\n"
" struct label *fslabel);\n"
msgstr ""
-"void mpo_create_mount(struct ucred *cred, struct mount *mp, struct label *mnt,\n"
+"void mpo_create_mount(struct ucred *cred, struct mount *mp, struct label "
+"*mnt,\n"
" struct label *fslabel);\n"
#. type: Table
@@ -4383,7 +4428,8 @@ msgid ""
"void mpo_create_mbuf_from_socket(struct socket *so, struct label *socketlabel,\n"
" struct mbuf *m, struct label *mbuflabel);\n"
msgstr ""
-"void mpo_create_mbuf_from_socket(struct socket *so, struct label *socketlabel,\n"
+"void mpo_create_mbuf_from_socket(struct socket *so, struct label "
+"*socketlabel,\n"
" struct mbuf *m, struct label *mbuflabel);\n"
#. type: Table
@@ -4789,7 +4835,8 @@ msgid ""
"void mpo_set_socket_peer_from_mbuf(struct mbuf *mbuf, struct label *mbuflabel,\n"
" struct label *oldlabel, struct label *newlabel);\n"
msgstr ""
-"void mpo_set_socket_peer_from_mbuf(struct mbuf *mbuf, struct label *mbuflabel,\n"
+"void mpo_set_socket_peer_from_mbuf(struct mbuf *mbuf, struct label "
+"*mbuflabel,\n"
" struct label *oldlabel, struct label *newlabel);\n"
#. type: Table
@@ -5084,7 +5131,7 @@ msgstr "`ipq`"
#: documentation/content/en/books/arch-handbook/mac/_index.adoc:2466
#, no-wrap
msgid "IP reassembly queue to be labeled"
-msgstr "Очередь повторной сборки IP, которой добавляетя метка"
+msgstr "Очередь повторной сборки IP, которой добавляется метка"
#. type: Table
#: documentation/content/en/books/arch-handbook/mac/_index.adoc:2469
@@ -5124,7 +5171,8 @@ msgid ""
" struct label *ipqlabel, struct mbuf *datagram, struct label *datagramlabel);\n"
msgstr ""
"void mpo_create_create_datagram_from_ipq(struct ipq *ipq,\n"
-" struct label *ipqlabel, struct mbuf *datagram, struct label *datagramlabel);\n"
+" struct label *ipqlabel, struct mbuf *datagram, struct label "
+"*datagramlabel);\n"
#. type: Table
#: documentation/content/en/books/arch-handbook/mac/_index.adoc:2493
@@ -5187,7 +5235,8 @@ msgid ""
"void mpo_create_fragment(struct mbuf *datagram, struct label *datagramlabel,\n"
" struct mbuf *fragment, struct label *fragmentlabel);\n"
msgstr ""
-"void mpo_create_fragment(struct mbuf *datagram, struct label *datagramlabel,\n"
+"void mpo_create_fragment(struct mbuf *datagram, struct label *datagramlabel,"
+"\n"
" struct mbuf *fragment, struct label *fragmentlabel);\n"
#. type: Table
@@ -5236,7 +5285,8 @@ msgid ""
"void mpo_create_mbuf_from_mbuf(struct mbuf *oldmbuf, struct label *oldmbuflabel,\n"
" struct mbuf *newmbuf, struct label *newmbuflabel);\n"
msgstr ""
-"void mpo_create_mbuf_from_mbuf(struct mbuf *oldmbuf, struct label *oldmbuflabel,\n"
+"void mpo_create_mbuf_from_mbuf(struct mbuf *oldmbuf, struct label "
+"*oldmbuflabel,\n"
" struct mbuf *newmbuf, struct label *newmbuflabel);\n"
#. type: Table
@@ -5324,7 +5374,8 @@ msgid ""
"void mpo_create_mbuf_linklayer(struct ifnet *ifnet, struct label *ifnetlabel,\n"
" struct mbuf *mbuf, struct label *mbuflabel);\n"
msgstr ""
-"void mpo_create_mbuf_linklayer(struct ifnet *ifnet, struct label *ifnetlabel,\n"
+"void mpo_create_mbuf_linklayer(struct ifnet *ifnet, struct label *ifnetlabel,"
+"\n"
" struct mbuf *mbuf, struct label *mbuflabel);\n"
#. type: Table
@@ -5378,7 +5429,8 @@ msgid ""
"void mpo_create_mbuf_from_bpfdesc(struct bpf_d *bpf_d, struct label *bpflabel,\n"
" struct mbuf *mbuf, struct label *mbuflabel);\n"
msgstr ""
-"void mpo_create_mbuf_from_bpfdesc(struct bpf_d *bpf_d, struct label *bpflabel,\n"
+"void mpo_create_mbuf_from_bpfdesc(struct bpf_d *bpf_d, struct label "
+"*bpflabel,\n"
" struct mbuf *mbuf, struct label *mbuflabel);\n"
#. type: Table
@@ -5431,7 +5483,8 @@ msgid ""
"void mpo_create_mbuf_from_ifnet(struct ifnet *ifnet, struct label *ifnetlabel,\n"
" struct mbuf *mbuf, struct label *mbuflabel);\n"
msgstr ""
-"void mpo_create_mbuf_from_ifnet(struct ifnet *ifnet, struct label *ifnetlabel,\n"
+"void mpo_create_mbuf_from_ifnet(struct ifnet *ifnet, struct label "
+"*ifnetlabel,\n"
" struct mbuf *mbuf, struct label *mbuflabel);\n"
#. type: Table
@@ -5464,7 +5517,8 @@ msgid ""
" struct mbuf *newmbuf, struct label *newmbuflabel);\n"
msgstr ""
"void mpo_create_mbuf_multicast_encap(struct mbuf *oldmbuf,\n"
-" struct label *oldmbuflabel, struct ifnet *ifnet, struct label *ifnetlabel,\n"
+" struct label *oldmbuflabel, struct ifnet *ifnet, struct label "
+"*ifnetlabel,\n"
" struct mbuf *newmbuf, struct label *newmbuflabel);\n"
#. type: Table
@@ -5505,7 +5559,8 @@ msgid ""
"void mpo_create_mbuf_netlayer(struct mbuf *oldmbuf, struct label *oldmbuflabel,\n"
" struct mbuf *newmbuf, struct label *newmbuflabel);\n"
msgstr ""
-"void mpo_create_mbuf_netlayer(struct mbuf *oldmbuf, struct label *oldmbuflabel,\n"
+"void mpo_create_mbuf_netlayer(struct mbuf *oldmbuf, struct label "
+"*oldmbuflabel,\n"
" struct mbuf *newmbuf, struct label *newmbuflabel);\n"
#. type: Table
@@ -5689,7 +5744,8 @@ msgstr "`mpo_create_cred`"
#: documentation/content/en/books/arch-handbook/mac/_index.adoc:2886
#, no-wrap
msgid "void mpo_create_cred(struct ucred *parent_cred, struct ucred *child_cred);\n"
-msgstr "void mpo_create_cred(struct ucred *parent_cred, struct ucred *child_cred);\n"
+msgstr ""
+"void mpo_create_cred(struct ucred *parent_cred, struct ucred *child_cred);\n"
#. type: Table
#: documentation/content/en/books/arch-handbook/mac/_index.adoc:2896
@@ -6072,8 +6128,8 @@ msgid ""
"Determine whether the subject should be allowed to retrieve the kernel "
"environment (see man:kenv[2])."
msgstr ""
-"Определить, следует ли разрешить субъекту получать доступ к окружению ядра "
-"(см. man:kenv[2])."
+"Определить, следует ли разрешить субъекту получать доступ к окружению ядра ("
+"см. man:kenv[2])."
#. type: Title ====
#: documentation/content/en/books/arch-handbook/mac/_index.adoc:3142
@@ -6674,7 +6730,8 @@ msgstr "`mpo_check_cred_relabel`"
#: documentation/content/en/books/arch-handbook/mac/_index.adoc:3758
#, no-wrap
msgid "int mpo_check_cred_relabel(struct ucred *cred, struct label *newlabel);\n"
-msgstr "int mpo_check_cred_relabel(struct ucred *cred, struct label *newlabel);\n"
+msgstr ""
+"int mpo_check_cred_relabel(struct ucred *cred, struct label *newlabel);\n"
#. type: Table
#: documentation/content/en/books/arch-handbook/mac/_index.adoc:3773
@@ -6883,10 +6940,9 @@ msgstr ""
"Определить, как должны возвращаться вызовы man:access[2] и связанные вызовы "
"для субъекта с указанными учетными данными при выполнении на переданном "
"vnode с использованием переданных флагов доступа. Обычно это должно быть "
-"реализовано с использованием той же семантики, что и в "
-"`mpo_check_vnode_open`. Возвращает 0 при успехе или значение `errno` при "
-"ошибке. Рекомендуемые ошибки: EACCES при несоответствии меток или EPERM при "
-"отсутствии привилегий."
+"реализовано с использованием той же семантики, что и в `mpo_check_vnode_open`"
+". Возвращает 0 при успехе или значение `errno` при ошибке. Рекомендуемые "
+"ошибки: EACCES при несоответствии меток или EPERM при отсутствии привилегий."
#. type: Title ====
#: documentation/content/en/books/arch-handbook/mac/_index.adoc:3915
@@ -7197,7 +7253,8 @@ msgid ""
" struct label *label, int attrnamespace, const char *name, struct uio *uio);\n"
msgstr ""
"int mpo_check_vnode_getextattr(struct ucred *cred, struct vnode *vp,\n"
-" struct label *label, int attrnamespace, const char *name, struct uio *uio);\n"
+" struct label *label, int attrnamespace, const char *name, struct uio "
+"*uio);\n"
#. type: Table
#: documentation/content/en/books/arch-handbook/mac/_index.adoc:4205
@@ -7418,7 +7475,8 @@ msgid ""
"int mpo_check_vnode_poll(struct ucred *active_cred, struct ucred *file_cred,\n"
" struct vnode *vp, struct label *label);\n"
msgstr ""
-"int mpo_check_vnode_poll(struct ucred *active_cred, struct ucred *file_cred,\n"
+"int mpo_check_vnode_poll(struct ucred *active_cred, struct ucred *file_cred,"
+"\n"
" struct vnode *vp, struct label *label);\n"
#. type: Table
@@ -7498,7 +7556,8 @@ msgid ""
" struct componentname *cnp);\n"
msgstr ""
"int mpo_check_vnode_rename_to(struct ucred *cred, struct vnode *dvp,\n"
-" struct label *dlabel, struct vnode *vp, struct label *label, int samedir,\n"
+" struct label *dlabel, struct vnode *vp, struct label *label, int samedir,"
+"\n"
" struct componentname *cnp);\n"
#. type: Table
@@ -7559,8 +7618,8 @@ msgid ""
"Return 0 for success, or an `errno` value for failure. Suggested failure: "
"EACCES for label mismatch, or EPERM for lack of privilege."
msgstr ""
-"Определить, могут ли учётные данные субъекта прослушивать переданный сокет "
-"(вызывать listen). Возвращает 0 при успехе или значение `errno` при ошибке. "
+"Определить, могут ли учётные данные субъекта прослушивать переданный сокет ("
+"вызывать listen). Возвращает 0 при успехе или значение `errno` при ошибке. "
"Рекомендуемые ошибки: EACCES при несоответствии метки или EPERM при "
"отсутствии привилегий."
@@ -7791,7 +7850,8 @@ msgid ""
" struct label *label, int attrnamespace, const char *name, struct uio *uio);\n"
msgstr ""
"int mpo_check_vnode_setextattr(struct ucred *cred, struct vnode *vp,\n"
-" struct label *label, int attrnamespace, const char *name, struct uio *uio);\n"
+" struct label *label, int attrnamespace, const char *name, struct uio "
+"*uio);\n"
#. type: Plain text
#: documentation/content/en/books/arch-handbook/mac/_index.adoc:4790
@@ -8046,7 +8106,9 @@ msgstr "`mpo_check_proc_signal`"
#: documentation/content/en/books/arch-handbook/mac/_index.adoc:4984
#, no-wrap
msgid "int mpo_check_proc_signal(struct ucred *cred, struct proc *proc, int signal);\n"
-msgstr "int mpo_check_proc_signal(struct ucred *cred, struct proc *proc, int signal);\n"
+msgstr ""
+"int mpo_check_proc_signal(struct ucred *cred, struct proc *proc, int signal);"
+"\n"
#. type: Table
#: documentation/content/en/books/arch-handbook/mac/_index.adoc:5002
@@ -8594,46 +8656,3 @@ msgstr ""
"на существующих учетных данных BSD или защите файлов. Авторам политик может "
"быть полезно ознакомиться с этой документацией, а также с существующими "
"модулями безопасности при реализации новой службы безопасности."
-
-#~ msgid ""
-#~ "The MAC policy entry point vector, `mac__policy__ops` in this example, "
-#~ "associates functions defined in the module with specific entry points. A "
-#~ "complete listing of available entry points and their prototypes may be "
-#~ "found in the MAC entry point reference section. Of specific interest "
-#~ "during module registration are the .mpo_destroy and .mpo_init entry "
-#~ "points."
-#~ msgstr ""
-#~ "Вектор точек входа политики MAC, `mac__policy__ops` в данном примере, "
-#~ "связывает функции, определённые в модуле, с конкретными точками входа. "
-#~ "Полный список доступных точек входа и их прототипов можно найти в разделе "
-#~ "справочника по точкам входа MAC. Особый интерес при регистрации модуля "
-#~ "представляют точки входа .mpo_destroy и .mpo_init."
-
-#, no-wrap
-#~ msgid "mpo_init will be invoked once a policy is successfully registered with the module framework but prior to any other entry points becoming active."
-#~ msgstr "mpo_init будет вызван после успешной регистрации политики в модульной системе, но до активации других точек входа."
-
-#~ msgid ""
-#~ "This permits the policy to perform any policy-specific allocation and "
-#~ "initialization, such as initialization of any data or locks."
-#~ msgstr ""
-#~ "Это позволяет политике выполнять любые выделения и инициализации, "
-#~ "специфичные для данной политики, такие как инициализация данных или "
-#~ "блокировок."
-
-#, no-wrap
-#~ msgid "mpo_destroy will be invoked when a policy module is unloaded to permit releasing of any allocated memory and destruction of locks."
-#~ msgstr "mpo_destroy будет вызван при выгрузке модуля политики для освобождения выделенной памяти и уничтожения блокировок."
-
-#~ msgid ""
-#~ "Currently, these two entry points are invoked with the MAC policy list "
-#~ "mutex held to prevent any other entry points from being invoked: this "
-#~ "will be changed, but in the mean time, policies should be careful about "
-#~ "what kernel primitives they invoke so as to avoid lock ordering or "
-#~ "sleeping problems."
-#~ msgstr ""
-#~ "В настоящее время эти две точки входа вызываются с удержанием мьютекса "
-#~ "списка политик MAC, чтобы предотвратить вызов других точек входа: это "
-#~ "будет изменено, но до тех пор политики должны быть осторожны с "
-#~ "используемыми примитивами ядра, чтобы избежать проблем с порядком "
-#~ "блокировок или сном."
diff --git a/documentation/content/ru/books/arch-handbook/newbus/_index.adoc b/documentation/content/ru/books/arch-handbook/newbus/_index.adoc
index 7f892c1b1e..a132c0da51 100644
--- a/documentation/content/ru/books/arch-handbook/newbus/_index.adoc
+++ b/documentation/content/ru/books/arch-handbook/newbus/_index.adoc
@@ -11,7 +11,7 @@ next: books/arch-handbook/sound
params:
path: /books/arch-handbook/newbus/
prev: books/arch-handbook/usb
-showBookMenu: true
+showBookMenu: 'true'
tags: ["Newbus", "overview", "API"]
title: 'Глава 14. Newbus'
weight: 16
@@ -187,7 +187,7 @@ Newbus также позволяет определять методы инте
`driver_t` - Это определение типа, которое ссылается на `struct driver`. Структура `driver` является классом объекта ядра `device`; она также содержит данные, приватные для драйвера.
-*_driver_t_ Implementation*
+* Реализация _driver_t_*
[.programlisting]
....
struct driver {
@@ -198,7 +198,7 @@ Newbus также позволяет определять методы инте
Тип `device_state_t`, который является перечислением, `device_state`. Он содержит возможные состояния устройства Newbus до и после процесса автонастройки.
-*Device States _device_state_t*
+*Состояния устройств _device_state_t*
[.programlisting]
....
/*
diff --git a/documentation/content/ru/books/arch-handbook/newbus/_index.po b/documentation/content/ru/books/arch-handbook/newbus/_index.po
index 92ae3249ba..dc3d29458c 100644
--- a/documentation/content/ru/books/arch-handbook/newbus/_index.po
+++ b/documentation/content/ru/books/arch-handbook/newbus/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-14 22:43+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-07-05 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -25,7 +25,7 @@ msgstr ""
msgid "Newbus"
msgstr "Newbus"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/arch-handbook/newbus/_index.adoc:1
#, no-wrap
msgid "Chapter 14. Newbus"
@@ -67,8 +67,8 @@ msgid ""
"component."
msgstr ""
"Драйвер устройства — это программный компонент, который предоставляет "
-"интерфейс между обобщённым представлением периферийного устройства "
-"(например, диска, сетевого адаптера) в ядре и его фактической реализацией. "
+"интерфейс между обобщённым представлением периферийного устройства ("
+"например, диска, сетевого адаптера) в ядре и его фактической реализацией. "
"_Интерфейс драйвера устройства (DDI)_ — это определённый интерфейс между "
"ядром и компонентом драйвера устройства."
@@ -239,13 +239,13 @@ msgid ""
"implementation of the PCI bus tree, allowing common code to be used for both "
"top-level and bridged busses."
msgstr ""
-"Часто соединение между различными типами шин представлено устройством "
-"_\"мост\"_, которое обычно имеет один дочерний элемент для подключенной "
-"шины. Примером этого является _PCI-to-PCI мост_, который представлен "
-"устройством _[.filename]#pcibN#_ на родительской PCI-шине и имеет дочерний "
-"элемент _[.filename]#pciN#_ для подключенной шины. Такая структура упрощает "
-"реализацию дерева PCI-шин, позволяя использовать общий код как для "
-"верхнеуровневых, так и для соединенных через мост шин."
+"Часто соединение между различными типами шин представлено устройством _\"мост"
+"\"_, которое обычно имеет один дочерний элемент для подключенной шины. "
+"Примером этого является _PCI-to-PCI мост_, который представлен устройством _["
+".filename]#pcibN#_ на родительской PCI-шине и имеет дочерний элемент _[."
+"filename]#pciN#_ для подключенной шины. Такая структура упрощает реализацию "
+"дерева PCI-шин, позволяя использовать общий код как для верхнеуровневых, так "
+"и для соединенных через мост шин."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/newbus/_index.adoc:102
@@ -313,8 +313,8 @@ msgstr ""
"Newbus интегрирует API `bus_space` из NetBSD. Они предоставляют единый API "
"для замены inb/outb и прямых операций чтения/записи в память. Преимущество "
"этого подхода в том, что один драйвер может легко использовать либо "
-"регистры, отображённые в память, либо регистры, отображённые на порты "
-"(некоторое оборудование поддерживает оба варианта)."
+"регистры, отображённые в память, либо регистры, отображённые на порты ("
+"некоторое оборудование поддерживает оба варианта)."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/newbus/_index.adoc:113
@@ -445,8 +445,8 @@ msgid ""
"When this interface is compiled, it generates a header file "
"\"[.filename]#foo_if.h#\" which contains function declarations:"
msgstr ""
-"Когда этот интерфейс компилируется, он генерирует заголовочный файл "
-"\"[.filename]#foo_if.h#\", который содержит объявления функций:"
+"Когда этот интерфейс компилируется, он генерирует заголовочный файл \"[."
+"filename]#foo_if.h#\", который содержит объявления функций:"
#. type: delimited block . 4
#: documentation/content/en/books/arch-handbook/newbus/_index.adoc:151
@@ -484,9 +484,9 @@ msgstr ""
"называется _\"device\"_ (устройство) и включает методы, которые относятся ко "
"всем устройствам. Методы в интерфейсе _\"device\"_ включают _\"probe\"_ "
"(обнаружение), _\"attach\"_ (присоединение) и _\"detach\"_ (отсоединение) "
-"для управления обнаружением оборудования, а также _\"shutdown\"_ "
-"(выключение), _\"suspend\"_ (приостановка) и _\"resume\"_ (возобновление) "
-"для уведомления о критических событиях."
+"для управления обнаружением оборудования, а также _\"shutdown\"_ (выключение)"
+", _\"suspend\"_ (приостановка) и _\"resume\"_ (возобновление) для "
+"уведомления о критических событиях."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/newbus/_index.adoc:158
@@ -501,11 +501,11 @@ msgid ""
msgstr ""
"Второй, более сложный интерфейс — _\"bus\"_. Этот интерфейс содержит методы, "
"подходящие для устройств, имеющих дочерние элементы, включая методы доступа "
-"к специфичной для шины информации об устройстве footnote:"
-"[man:bus_generic_read_ivar[9] и man:bus_generic_write_ivar[9]], уведомления "
-"о событиях (`_child_detached_`, `_driver_added_`) и управление ресурсами "
-"(`_alloc_resource_`, `_activate_resource_`, `_deactivate_resource_`, "
-"`_release_resource_`)."
+"к специфичной для шины информации об устройстве "
+"footnote:[man:bus_generic_read_ivar[9] и man:bus_generic_write_ivar[9]], "
+"уведомления о событиях (`_child_detached_`, `_driver_added_`) и управление "
+"ресурсами (`_alloc_resource_`, `_activate_resource_`, `_deactivate_resource_`"
+", `_release_resource_`)."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/newbus/_index.adoc:160
@@ -525,8 +525,8 @@ msgstr ""
"запрашивающего сервис. Для упрощения кода драйвера многие из этих методов "
"имеют вспомогательные функции, которые находят родительское устройство и "
"вызывают метод у родителя. Например, метод `BUS_TEARDOWN_INTR(device_t dev, "
-"device_t child, ...)` может быть вызван с помощью функции "
-"`bus_teardown_intr(device_t child, ...)`."
+"device_t child, ...)` может быть вызван с помощью функции `bus_teardown_intr("
+"device_t child, ...)`."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/newbus/_index.adoc:162
@@ -622,8 +622,8 @@ msgid ""
"`device_method_t` - This is the same as `kobj_method_t` (see [.filename]#src/"
"sys/kobj.h#)."
msgstr ""
-"`device_method_t` - Это то же самое, что и `kobj_method_t` (см. "
-"[.filename]#src/sys/kobj.h#)."
+"`device_method_t` - Это то же самое, что и `kobj_method_t` (см. [.filename]#"
+"src/sys/kobj.h#)."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/newbus/_index.adoc:185
@@ -649,9 +649,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/arch-handbook/newbus/_index.adoc:189
-#, fuzzy
-#| msgid "*_driver_t_ Implementation*\n"
-msgid "*_driver_t_ Implementation*"
+#, no-wrap
+msgid "*_driver_t_ Implementation*\n"
msgstr "* Реализация _driver_t_*\n"
#. type: delimited block . 4
@@ -681,9 +680,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/arch-handbook/newbus/_index.adoc:200
-#, fuzzy
-#| msgid "*Device States _device_state_t*\n"
-msgid "*Device States _device_state_t*"
+#, no-wrap
+msgid "*Device States _device_state_t*\n"
msgstr "*Состояния устройств _device_state_t*\n"
#. type: delimited block . 4
diff --git a/documentation/content/ru/books/arch-handbook/parti.adoc b/documentation/content/ru/books/arch-handbook/parti.adoc
index 8f04536f14..37a429da5f 100644
--- a/documentation/content/ru/books/arch-handbook/parti.adoc
+++ b/documentation/content/ru/books/arch-handbook/parti.adoc
@@ -4,7 +4,7 @@ next: books/arch-handbook/boot
params:
path: /books/arch-handbook/parti/
prev: books/arch-handbook
-showBookMenu: true
+showBookMenu: 'true'
title: 'Глава I. Ядро'
weight: 1
---
diff --git a/documentation/content/ru/books/arch-handbook/parti.po b/documentation/content/ru/books/arch-handbook/parti.po
index ac36191cc2..99330fb58c 100644
--- a/documentation/content/ru/books/arch-handbook/parti.po
+++ b/documentation/content/ru/books/arch-handbook/parti.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-14 22:43+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-06-12 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,7 +18,7 @@ msgstr ""
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.17\n"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/arch-handbook/parti.adoc:1
#, no-wrap
msgid "Part I. Kernel"
diff --git a/documentation/content/ru/books/arch-handbook/partii.adoc b/documentation/content/ru/books/arch-handbook/partii.adoc
index b8870299b4..5a8b98ab29 100644
--- a/documentation/content/ru/books/arch-handbook/partii.adoc
+++ b/documentation/content/ru/books/arch-handbook/partii.adoc
@@ -3,7 +3,7 @@ next: books/arch-handbook/driverbasics
params:
path: /books/arch-handbook/partii/
prev: books/arch-handbook/smp
-showBookMenu: true
+showBookMenu: 'true'
title: 'Глава II. Драйверы устройств'
weight: 10
---
diff --git a/documentation/content/ru/books/arch-handbook/partii.po b/documentation/content/ru/books/arch-handbook/partii.po
index a0698863d7..aebed65c3a 100644
--- a/documentation/content/ru/books/arch-handbook/partii.po
+++ b/documentation/content/ru/books/arch-handbook/partii.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-14 22:43+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-05-29 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,7 +18,7 @@ msgstr ""
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.17\n"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/arch-handbook/partii.adoc:1
#, no-wrap
msgid "Part II. Device Drivers"
diff --git a/documentation/content/ru/books/arch-handbook/partiii.adoc b/documentation/content/ru/books/arch-handbook/partiii.adoc
index a219eb1f14..19599e9702 100644
--- a/documentation/content/ru/books/arch-handbook/partiii.adoc
+++ b/documentation/content/ru/books/arch-handbook/partiii.adoc
@@ -3,7 +3,7 @@ next: books/arch-handbook/bibliography
params:
path: /books/arch-handbook/partiii/
prev: books/arch-handbook/pccard
-showBookMenu: true
+showBookMenu: 'true'
title: 'Глава III. Приложения'
weight: 19
---
diff --git a/documentation/content/ru/books/arch-handbook/partiii.po b/documentation/content/ru/books/arch-handbook/partiii.po
index 951813b7ca..80ab829af8 100644
--- a/documentation/content/ru/books/arch-handbook/partiii.po
+++ b/documentation/content/ru/books/arch-handbook/partiii.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-14 22:43+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-05-29 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,7 +18,7 @@ msgstr ""
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.17\n"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/arch-handbook/partiii.adoc:1
#, no-wrap
msgid "Part III. Appendices"
diff --git a/documentation/content/ru/books/arch-handbook/pccard/_index.adoc b/documentation/content/ru/books/arch-handbook/pccard/_index.adoc
index 9f6116121e..2c9181a695 100644
--- a/documentation/content/ru/books/arch-handbook/pccard/_index.adoc
+++ b/documentation/content/ru/books/arch-handbook/pccard/_index.adoc
@@ -4,7 +4,7 @@ next: books/arch-handbook/partiii
params:
path: /books/arch-handbook/pccard/
prev: books/arch-handbook/sound
-showBookMenu: true
+showBookMenu: 'true'
tags: ["pc card", "overview"]
title: 'Глава 16. PC Card'
weight: 18
diff --git a/documentation/content/ru/books/arch-handbook/pccard/_index.po b/documentation/content/ru/books/arch-handbook/pccard/_index.po
index 5248481b16..b9901c51dc 100644
--- a/documentation/content/ru/books/arch-handbook/pccard/_index.po
+++ b/documentation/content/ru/books/arch-handbook/pccard/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-14 22:43+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\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/"
@@ -25,7 +25,7 @@ msgstr ""
msgid "PC Card"
msgstr "PC Card"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/arch-handbook/pccard/_index.adoc:1
#, no-wrap
msgid "Chapter 16. PC Card"
@@ -244,16 +244,16 @@ msgstr ""
"которого NETGEAR приобретал карты, и автор поддержки этих карт не знал на "
"тот момент, что Netgear использовал чужой идентификатор. Эти записи довольно "
"просты. Ключевое слово `vendor` обозначает тип строки, за которым следует "
-"название производителя. Это название будет повторяться позже в "
-"[.filename]#pccarddevs#, а также использоваться в таблицах соответствия "
+"название производителя. Это название будет повторяться позже в [."
+"filename]#pccarddevs#, а также использоваться в таблицах соответствия "
"драйверов, поэтому оно должно быть коротким и допустимым идентификатором в "
"C. Числовой идентификатор в шестнадцатеричном формате указывает "
"производителя. Не добавляйте идентификаторы вида `0xffffffff` или `0xffff`, "
-"так как они зарезервированы (первый означает \"идентификатор не "
-"установлен\", а второй иногда встречается в крайне некачественных картах для "
-"указания \"отсутствует\"). Наконец, следует строковое описание компании, "
-"производящей карту. Эта строка в FreeBSD ни для чего не используется, кроме "
-"как в комментариях."
+"так как они зарезервированы (первый означает \"идентификатор не установлен\""
+", а второй иногда встречается в крайне некачественных картах для указания "
+"\"отсутствует\"). Наконец, следует строковое описание компании, производящей "
+"карту. Эта строка в FreeBSD ни для чего не используется, кроме как в "
+"комментариях."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/pccard/_index.adoc:89
@@ -345,8 +345,10 @@ msgid ""
"product ADDTRON AWP100\t\t{ \"Addtron\", \"AWP-100&spWireless&spPCMCIA\", \"Version&sp01.02\", NULL }\n"
"product ALLIEDTELESIS WR211PCM\t{ \"Allied&spTelesis&spK.K.\", \"WR211PCM\", NULL, NULL } Allied Telesis WR211PCM\n"
msgstr ""
-"product ADDTRON AWP100\t\t{ \"Addtron\", \"AWP-100&spWireless&spPCMCIA\", \"Version&sp01.02\", NULL }\n"
-"product ALLIEDTELESIS WR211PCM\t{ \"Allied&spTelesis&spK.K.\", \"WR211PCM\", NULL, NULL } Allied Telesis WR211PCM\n"
+"product ADDTRON AWP100\t\t{ \"Addtron\", \"AWP-100&spWireless&spPCMCIA\", "
+"\"Version&sp01.02\", NULL }\n"
+"product ALLIEDTELESIS WR211PCM\t{ \"Allied&spTelesis&spK.K.\", \"WR211PCM\", "
+"NULL, NULL } Allied Telesis WR211PCM\n"
#. type: Plain text
#: documentation/content/en/books/arch-handbook/pccard/_index.adoc:112
@@ -403,10 +405,10 @@ msgid ""
"idealized version will be presented here."
msgstr ""
"Чтобы понять, как добавить устройство в список поддерживаемых, необходимо "
-"разобраться в процедурах `probe` (обнаружение) и/или `match` "
-"(сопоставление), которые есть во многих драйверах. В FreeBSD 5.x это немного "
-"сложнее из-за наличия слоя совместимости с OLDCARD. Поскольку различия лишь "
-"косметические, здесь будет представлена идеализированная версия."
+"разобраться в процедурах `probe` (обнаружение) и/или `match` (сопоставление)"
+", которые есть во многих драйверах. В FreeBSD 5.x это немного сложнее из-за "
+"наличия слоя совместимости с OLDCARD. Поскольку различия лишь косметические, "
+"здесь будет представлена идеализированная версия."
#. type: delimited block . 4
#: documentation/content/en/books/arch-handbook/pccard/_index.adoc:127
@@ -542,10 +544,12 @@ msgid ""
" pccard1\n"
" unknown pnpinfo manufacturer=0x026f product=0x030c cisvendor=\"BUFFALO\" cisproduct=\"WLI2-CF-S11\" function_type=6 at function=0\n"
msgstr ""
-" cbb1 pnpinfo vendor=0x104c device=0xac51 subvendor=0x1265 subdevice=0x0300 class=0x060700 at slot=10 function=1\n"
+" cbb1 pnpinfo vendor=0x104c device=0xac51 subvendor=0x1265 "
+"subdevice=0x0300 class=0x060700 at slot=10 function=1\n"
" cardbus1\n"
" pccard1\n"
-" unknown pnpinfo manufacturer=0x026f product=0x030c cisvendor=\"BUFFALO\" cisproduct=\"WLI2-CF-S11\" function_type=6 at function=0\n"
+" unknown pnpinfo manufacturer=0x026f product=0x030c cisvendor="
+"\"BUFFALO\" cisproduct=\"WLI2-CF-S11\" function_type=6 at function=0\n"
#. type: Plain text
#: documentation/content/en/books/arch-handbook/pccard/_index.adoc:162
@@ -603,14 +607,15 @@ msgstr ""
msgid ""
"To add the device, we can just add this entry to [.filename]#pccarddevs#:"
msgstr ""
-"Чтобы добавить устройство, мы можем просто добавить эту запись в "
-"[.filename]#pccarddevs#:"
+"Чтобы добавить устройство, мы можем просто добавить эту запись в [."
+"filename]#pccarddevs#:"
#. type: delimited block . 4
#: documentation/content/en/books/arch-handbook/pccard/_index.adoc:186
#, no-wrap
msgid "product BUFFALO WLI2_CF_S11G\t0x030c\tBUFFALO AirStation ultra 802.11b CF\n"
-msgstr "product BUFFALO WLI2_CF_S11G\t0x030c\tBUFFALO AirStation ultra 802.11b CF\n"
+msgstr ""
+"product BUFFALO WLI2_CF_S11G\t0x030c\tBUFFALO AirStation ultra 802.11b CF\n"
#. type: Plain text
#: documentation/content/en/books/arch-handbook/pccard/_index.adoc:189
diff --git a/documentation/content/ru/books/arch-handbook/pci/_index.adoc b/documentation/content/ru/books/arch-handbook/pci/_index.adoc
index cf9dffb85e..ecc5c10127 100644
--- a/documentation/content/ru/books/arch-handbook/pci/_index.adoc
+++ b/documentation/content/ru/books/arch-handbook/pci/_index.adoc
@@ -4,7 +4,7 @@ next: books/arch-handbook/scsi
params:
path: /books/arch-handbook/pci/
prev: books/arch-handbook/isa
-showBookMenu: true
+showBookMenu: 'true'
tags: ["PCI", "Devices", "example", "guide"]
title: 'Глава 11. Устройства PCI'
weight: 13
diff --git a/documentation/content/ru/books/arch-handbook/pci/_index.po b/documentation/content/ru/books/arch-handbook/pci/_index.po
index 9c03c178dd..25cce9b7e4 100644
--- a/documentation/content/ru/books/arch-handbook/pci/_index.po
+++ b/documentation/content/ru/books/arch-handbook/pci/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-14 22:43+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-07-03 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -25,7 +25,7 @@ msgstr ""
msgid "PCI Devices"
msgstr "Устройства PCI"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/arch-handbook/pci/_index.adoc:1
#, no-wrap
msgid "Chapter 11. PCI Devices"
@@ -100,7 +100,8 @@ msgstr ""
"#include <sys/conf.h>\t\t/* cdevsw struct */\n"
"#include <sys/uio.h>\t\t/* uio struct */\n"
"#include <sys/malloc.h>\n"
-"#include <sys/bus.h>\t\t/* structs, prototypes for pci bus stuff and DEVMETHOD macros! */\n"
+"#include <sys/bus.h>\t\t/* structs, prototypes for pci bus stuff and "
+"DEVMETHOD macros! */\n"
#. type: delimited block . 4
#: documentation/content/en/books/arch-handbook/pci/_index.adoc:81
@@ -226,7 +227,8 @@ msgid ""
msgstr ""
"\t/* Look up our softc. */\n"
"\tsc = dev->si_drv1;\n"
-"\tdevice_printf(sc->my_dev, \"Opened successfully.\\n\");\n"
+"\tdevice_printf(sc->my_dev, \"Opened successfully.\\n"
+"\");\n"
"\treturn (0);\n"
"}\n"
@@ -256,7 +258,8 @@ msgid ""
msgstr ""
"\t/* Look up our softc. */\n"
"\tsc = dev->si_drv1;\n"
-"\tdevice_printf(sc->my_dev, \"Closed.\\n\");\n"
+"\tdevice_printf(sc->my_dev, \"Closed.\\n"
+"\");\n"
"\treturn (0);\n"
"}\n"
@@ -286,7 +289,8 @@ msgid ""
msgstr ""
"\t/* Look up our softc. */\n"
"\tsc = dev->si_drv1;\n"
-"\tdevice_printf(sc->my_dev, \"Asked to read %zd bytes.\\n\", uio->uio_resid);\n"
+"\tdevice_printf(sc->my_dev, \"Asked to read %zd bytes.\\n"
+"\", uio->uio_resid);\n"
"\treturn (0);\n"
"}\n"
@@ -316,7 +320,8 @@ msgid ""
msgstr ""
"\t/* Look up our softc. */\n"
"\tsc = dev->si_drv1;\n"
-"\tdevice_printf(sc->my_dev, \"Asked to write %zd bytes.\\n\", uio->uio_resid);\n"
+"\tdevice_printf(sc->my_dev, \"Asked to write %zd bytes.\\n"
+"\", uio->uio_resid);\n"
"\treturn (0);\n"
"}\n"
@@ -353,7 +358,10 @@ msgid ""
"\tdevice_printf(dev, \"MyPCI Probe\\nVendor ID : 0x%x\\nDevice ID : 0x%x\\n\",\n"
"\t pci_get_vendor(dev), pci_get_device(dev));\n"
msgstr ""
-"\tdevice_printf(dev, \"MyPCI Probe\\nVendor ID : 0x%x\\nDevice ID : 0x%x\\n\",\n"
+"\tdevice_printf(dev, \"MyPCI Probe\\n"
+"Vendor ID : 0x%x\\n"
+"Device ID : 0x%x\\n"
+"\",\n"
"\t pci_get_vendor(dev), pci_get_device(dev));\n"
#. type: delimited block . 4
@@ -369,7 +377,8 @@ msgid ""
"}\n"
msgstr ""
"\tif (pci_get_vendor(dev) == 0x11c1) {\n"
-"\t\tprintf(\"We've got the Winmodem, probe successful!\\n\");\n"
+"\t\tprintf(\"We've got the Winmodem, probe successful!\\n"
+"\");\n"
"\t\tdevice_set_desc(dev, \"WinModem\");\n"
"\t\treturn (BUS_PROBE_DEFAULT);\n"
"\t}\n"
@@ -400,7 +409,9 @@ msgstr ""
#: documentation/content/en/books/arch-handbook/pci/_index.adoc:187
#, no-wrap
msgid "\tprintf(\"MyPCI Attach for : deviceID : 0x%x\\n\", pci_get_devid(dev));\n"
-msgstr "\tprintf(\"MyPCI Attach for : deviceID : 0x%x\\n\", pci_get_devid(dev));\n"
+msgstr ""
+"\tprintf(\"MyPCI Attach for : deviceID : 0x%x\\n"
+"\", pci_get_devid(dev));\n"
#. type: delimited block . 4
#: documentation/content/en/books/arch-handbook/pci/_index.adoc:191
@@ -440,7 +451,8 @@ msgstr ""
"\tsc->my_cdev = make_dev(&mypci_cdevsw, device_get_unit(dev),\n"
"\t UID_ROOT, GID_WHEEL, 0600, \"mypci%u\", device_get_unit(dev));\n"
"\tsc->my_cdev->si_drv1 = sc;\n"
-"\tprintf(\"Mypci device loaded.\\n\");\n"
+"\tprintf(\"Mypci device loaded.\\n"
+"\");\n"
"\treturn (0);\n"
"}\n"
@@ -478,7 +490,8 @@ msgstr ""
"\t/* Teardown the state in our softc created in our attach routine. */\n"
"\tsc = device_get_softc(dev);\n"
"\tdestroy_dev(sc->my_cdev);\n"
-"\tprintf(\"Mypci detach!\\n\");\n"
+"\tprintf(\"Mypci detach!\\n"
+"\");\n"
"\treturn (0);\n"
"}\n"
@@ -508,7 +521,8 @@ msgid ""
"\treturn (0);\n"
"}\n"
msgstr ""
-"\tprintf(\"Mypci shutdown!\\n\");\n"
+"\tprintf(\"Mypci shutdown!\\n"
+"\");\n"
"\treturn (0);\n"
"}\n"
@@ -538,7 +552,8 @@ msgid ""
"\treturn (0);\n"
"}\n"
msgstr ""
-"\tprintf(\"Mypci suspend!\\n\");\n"
+"\tprintf(\"Mypci suspend!\\n"
+"\");\n"
"\treturn (0);\n"
"}\n"
@@ -568,7 +583,8 @@ msgid ""
"\treturn (0);\n"
"}\n"
msgstr ""
-"\tprintf(\"Mypci resume!\\n\");\n"
+"\tprintf(\"Mypci resume!\\n"
+"\");\n"
"\treturn (0);\n"
"}\n"
@@ -617,7 +633,8 @@ msgid ""
"DEFINE_CLASS_0(mypci, mypci_driver, mypci_methods, sizeof(struct mypci_softc));\n"
"DRIVER_MODULE(mypci, pci, mypci_driver, mypci_devclass, 0, 0);\n"
msgstr ""
-"DEFINE_CLASS_0(mypci, mypci_driver, mypci_methods, sizeof(struct mypci_softc));\n"
+"DEFINE_CLASS_0(mypci, mypci_driver, mypci_methods, sizeof(struct "
+"mypci_softc));\n"
"DRIVER_MODULE(mypci, pci, mypci_driver, mypci_devclass, 0, 0);\n"
#. type: Title ===
@@ -744,7 +761,8 @@ msgstr ""
" sc->bar0res = bus_alloc_resource(dev, SYS_RES_MEMORY, &sc->bar0id,\n"
"\t\t\t\t 0, ~0, 1, RF_ACTIVE);\n"
" if (sc->bar0res == NULL) {\n"
-" printf(\"Memory allocation of PCI base register 0 failed!\\n\");\n"
+" printf(\"Memory allocation of PCI base register 0 failed!\\n"
+"\");\n"
" error = ENXIO;\n"
" goto fail1;\n"
" }\n"
@@ -770,7 +788,8 @@ msgstr ""
" sc->bar1res = bus_alloc_resource(dev, SYS_RES_MEMORY, &sc->bar1id,\n"
"\t\t\t\t 0, ~0, 1, RF_ACTIVE);\n"
" if (sc->bar1res == NULL) {\n"
-" printf(\"Memory allocation of PCI base register 1 failed!\\n\");\n"
+" printf(\"Memory allocation of PCI base register 1 failed!\\n"
+"\");\n"
" error = ENXIO;\n"
" goto fail2;\n"
" }\n"
@@ -785,9 +804,8 @@ msgid ""
"Handles for each base address register are kept in the `softc` structure so "
"that they can be used to write to the device later."
msgstr ""
-"Дескрипторы для каждого регистра базовых адресов хранятся в структуре "
-"`softc`, чтобы их можно было использовать для записи на устройство в "
-"дальнейшем."
+"Дескрипторы для каждого регистра базовых адресов хранятся в структуре `softc`"
+", чтобы их можно было использовать для записи на устройство в дальнейшем."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/pci/_index.adoc:328
@@ -926,7 +944,8 @@ msgstr ""
" sc->irqres = bus_alloc_resource(dev, SYS_RES_IRQ, &(sc->irqid),\n"
"\t\t\t\t 0, ~0, 1, RF_SHAREABLE | RF_ACTIVE);\n"
" if (sc->irqres == NULL) {\n"
-"\tprintf(\"IRQ allocation failed!\\n\");\n"
+"\tprintf(\"IRQ allocation failed!\\n"
+"\");\n"
"\terror = ENXIO;\n"
"\tgoto fail3;\n"
" }\n"
@@ -951,7 +970,8 @@ msgstr ""
" error = bus_setup_intr(dev, sc->irqres, INTR_TYPE_MISC,\n"
"\t\t\t my_handler, sc, &(sc->handler));\n"
" if (error) {\n"
-"\tprintf(\"Couldn't set up irq\\n\");\n"
+"\tprintf(\"Couldn't set up irq\\n"
+"\");\n"
"\tgoto fail4;\n"
" }\n"
@@ -1065,7 +1085,7 @@ msgid ""
"on a failure condition so that the system will remain usable while your "
"driver dies."
msgstr ""
-"Очень важно освободить все ресурсы, которые были выделены во время "
-"`attach()`. Необходимо внимательно следить за освобождением правильных "
-"ресурсов даже в случае ошибки, чтобы система оставалась работоспособной при "
-"завершении работы вашего драйвера."
+"Очень важно освободить все ресурсы, которые были выделены во время `attach()`"
+". Необходимо внимательно следить за освобождением правильных ресурсов даже в "
+"случае ошибки, чтобы система оставалась работоспособной при завершении "
+"работы вашего драйвера."
diff --git a/documentation/content/ru/books/arch-handbook/scsi/_index.adoc b/documentation/content/ru/books/arch-handbook/scsi/_index.adoc
index 036e2d4888..e2495a113e 100644
--- a/documentation/content/ru/books/arch-handbook/scsi/_index.adoc
+++ b/documentation/content/ru/books/arch-handbook/scsi/_index.adoc
@@ -4,7 +4,7 @@ next: books/arch-handbook/usb
params:
path: /books/arch-handbook/scsi/
prev: books/arch-handbook/pci
-showBookMenu: true
+showBookMenu: 'true'
tags: ["SCSI", "Controller", "Architecture"]
title: 'Глава 12. Контроллеры SCSI с общим методом доступа (CAM)'
weight: 14
@@ -284,7 +284,7 @@ CAM поддерживает SCSI-контроллеры, работающие
Наиболее распространенные запросы в режиме инициатора:
-=== _XPT_SCSI_IO_ - выполнить транзакцию ввода-вывода
+=== _XPT_SCSI_IO_ — выполнить транзакцию ввода-вывода
Экземпляр "struct ccb_scsiio csio" объединения ccb используется для передачи аргументов. Они включают:
@@ -493,13 +493,13 @@ CAM поддерживает SCSI-контроллеры, работающие
}
....
-=== _XPT_RESET_DEV_ - отправить устройству сообщение SCSI "BUS DEVICE RESET"
+=== _XPT_RESET_DEV_ — отправить устройству сообщение SCSI "BUS DEVICE RESET"
В CCB не передаются данные, кроме заголовка, и наиболее интересным аргументом в нём является target_id. В зависимости от аппаратного обеспечения контроллера может быть создан аппаратный блок управления (как для запроса XPT_SCSI_IO, см. описание запроса XPT_SCSI_IO) и отправлен контроллеру, или SCSI-контроллер может быть немедленно запрограммирован на отправку этого сообщения RESET устройству, или этот запрос может просто не поддерживаться (и возвращать статус `CAM_REQ_INVALID`). Также при завершении запроса все отключенные транзакции для этого целевого устройства должны быть прерваны (вероятно, в процедуре прерывания).
Кроме того, все текущие переговоры для цели теряются при сбросе, поэтому они также могут быть очищены. Или их очистка может быть отложена, так как в любом случае цель запросит повторные переговоры при следующей транзакции.
-=== _XPT_RESET_BUS_ - отправить сигнал RESET на шину SCSI
+=== _XPT_RESET_BUS_ — отправить сигнал RESET на шину SCSI
В CCB не передаются аргументы, единственный интересный аргумент — это шина SCSI, указанная структурой sim.
@@ -560,7 +560,7 @@ CAM поддерживает SCSI-контроллеры, работающие
Реализация сброса шины SCSI в виде функции может быть хорошей идеей, так как она может быть повторно использована функцией таймаута в качестве последнего средства, если что-то пойдёт не так.
-=== _XPT_ABORT_ - прервать указанный CCB
+=== _XPT_ABORT_ — прервать указанный CCB
Аргументы передаются в экземпляре "struct ccb_abort cab" объединения ccb. Единственное поле аргумента в нём:
@@ -697,7 +697,7 @@ CAM поддерживает SCSI-контроллеры, работающие
return;
....
-=== _XPT_SET_TRAN_SETTINGS_ - явно установить значения настроек передачи SCSI
+=== _XPT_SET_TRAN_SETTINGS_ — явно установить значения настроек передачи SCSI
Аргументы передаются в экземпляре "struct ccb_trans_setting cts" объединения ccb:
@@ -800,11 +800,11 @@ CAM поддерживает SCSI-контроллеры, работающие
После пересогласования значений полученные значения должны быть присвоены как текущим, так и целевым параметрам, чтобы для будущих операций ввода-вывода текущие и целевые параметры совпадали, и функция `target_negotiated()` возвращала TRUE. При инициализации карты (в `xxx_attach()`) текущие параметры согласования должны быть инициализированы узким асинхронным режимом, а целевые и текущие значения должны быть инициализированы максимальными значениями, поддерживаемыми контроллером.
-=== _XPT_GET_TRAN_SETTINGS_ - получить значения настроек передачи SCSI
+=== _XPT_GET_TRAN_SETTINGS_ — получить значения настроек передачи SCSI
Эта операция является обратной XPT_SET_TRAN_SETTINGS. Заполните экземпляр CCB "struct ccb_trans_setting cts" данными, запрошенными флагами CCB_TRANS_CURRENT_SETTINGS или CCB_TRANS_USER_SETTINGS (если установлены оба, существующие драйверы возвращают текущие настройки). Установите все биты в поле valid.
-=== _XPT_CALC_GEOMETRY_ - вычислить логическую (BIOS) геометрию диска
+=== _XPT_CALC_GEOMETRY_ — вычислить логическую (BIOS) геометрию диска
Аргументы передаются в экземпляре "struct ccb_calc_geometry ccg" объединения ccb:
@@ -852,7 +852,7 @@ CAM поддерживает SCSI-контроллеры, работающие
Некоторые системные BIOS и SCSI BIOS конфликтуют друг с другом с переменным успехом. Например, комбинация Symbios 875/895 SCSI и Phoenix BIOS может выдавать геометрию 128/63 после включения питания и 255/63 после жесткого сброса или мягкой перезагрузки.
-=== _XPT_PATH_INQ_ - запрос пути, другими словами, получение свойств драйвера SIM и контроллера SCSI (также известного как HBA - Host Bus Adapter)
+=== _XPT_PATH_INQ_ — запрос пути, другими словами, получение свойств драйвера SIM и контроллера SCSI (также известного как HBA - Host Bus Adapter)
Свойства возвращаются в экземпляре "struct ccb_pathinq cpi" объединения ccb:
@@ -1317,7 +1317,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
На этом общее описание обработки прерываний завершается, хотя для некоторых контроллеров могут потребоваться дополнительные действия.
[[scsi-errors]]
-== Ошибки (Сводка)
+== Сводка ошибок
При выполнении запроса ввода-вывода может произойти множество ошибок. Причина ошибки может быть указана в статусе CCB с большим количеством деталей. Примеры использования разбросаны по всему документу. Для полноты изложения приведём сводку рекомендуемых действий при типичных ошибках:
diff --git a/documentation/content/ru/books/arch-handbook/scsi/_index.po b/documentation/content/ru/books/arch-handbook/scsi/_index.po
index c992ac0b4e..dcb975d727 100644
--- a/documentation/content/ru/books/arch-handbook/scsi/_index.po
+++ b/documentation/content/ru/books/arch-handbook/scsi/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-14 22:43+0300\n"
-"PO-Revision-Date: 2025-07-05 04:45+0000\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
+"PO-Revision-Date: 2025-10-26 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/booksarch-handbookscsi_index/ru/>\n"
@@ -25,7 +25,7 @@ msgstr ""
msgid "Common Access Method SCSI Controllers"
msgstr "Контроллеры SCSI с общим методом доступа (CAM)"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:1
#, no-wrap
msgid "Chapter 12. Common Access Method SCSI Controllers"
@@ -123,8 +123,8 @@ msgstr ""
"способ адресации шин ввода-вывода в стиле SCSI. Это позволяет отделить общие "
"драйверы устройств от драйверов, управляющих шиной ввода-вывода: например, "
"драйвер диска получает возможность управлять дисками как на SCSI, IDE, так и "
-"на любой другой шине, так что часть драйвера диска не нужно переписывать "
-"(или копировать и изменять) для каждой новой шины ввода-вывода. Таким "
+"на любой другой шине, так что часть драйвера диска не нужно переписывать ("
+"или копировать и изменять) для каждой новой шины ввода-вывода. Таким "
"образом, двумя наиболее важными активными сущностями являются:"
#. type: Plain text
@@ -221,9 +221,9 @@ msgid ""
msgstr ""
"Первое, что должен сделать каждый драйвер SIM, — это зарегистрироваться в "
"подсистеме CAM. Это выполняется в функции `xxx_attach()` драйвера (здесь и "
-"далее xxx_ используется для обозначения уникального префикса имени "
-"драйвера). Сама функция `xxx_attach()` вызывается кодом автонастройки "
-"системной шины, который мы здесь не описываем."
+"далее xxx_ используется для обозначения уникального префикса имени драйвера)"
+". Сама функция `xxx_attach()` вызывается кодом автонастройки системной шины, "
+"который мы здесь не описываем."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:109
@@ -268,7 +268,8 @@ msgstr ""
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:126
#, no-wrap
msgid "SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET\n"
-msgstr "SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET\n"
+msgstr ""
+"SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET\n"
#. type: Plain text
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:129
@@ -472,9 +473,9 @@ msgid ""
"of `devq` can be discarded now: sim will be passed as an argument in all "
"further calls from CAM and devq can be derived from it."
msgstr ""
-"После этого наш контроллер полностью подключён к системе CAM. Значение "
-"`devq` теперь можно отбросить: sim будет передаваться в качестве аргумента "
-"во всех последующих вызовах из CAM, а devq можно получить из него."
+"После этого наш контроллер полностью подключён к системе CAM. Значение `devq`"
+" теперь можно отбросить: sim будет передаваться в качестве аргумента во всех "
+"последующих вызовах из CAM, а devq можно получить из него."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:199
@@ -833,8 +834,8 @@ msgstr ""
"запрос находится в процессе выполнения. В [.filename]#/sys/cam/cam.h# "
"определено удивительно большое количество значений статуса, которые должны "
"детально отражать состояние запроса. Что еще интереснее, статус фактически "
-"представляет собой \"побитовое ИЛИ\" перечисленного значения статуса "
-"(младшие 6 бит) и возможных дополнительных флагов (старшие биты). "
+"представляет собой \"побитовое ИЛИ\" перечисленного значения статуса ("
+"младшие 6 бит) и возможных дополнительных флагов (старшие биты). "
"Перечисленные значения будут подробно рассмотрены далее. Их краткое описание "
"можно найти в разделе \"Сводка ошибок\". Возможные флаги статуса:"
@@ -972,10 +973,10 @@ msgstr ""
"зарезервированные для приватного использования драйвером SIM (например, для "
"связи с очередями SIM или приватными блоками управления SIM); фактически они "
"существуют как объединения: spriv_ptr0 и spriv_ptr1 имеют тип (void *), "
-"spriv_field0 и spriv_field1 имеют тип unsigned long, "
-"sim_priv.entries[0].bytes и sim_priv.entries[1].bytes - это байтовые массивы "
-"размера, согласованного с другими вариантами объединения, а sim_priv.bytes - "
-"это один массив, вдвое большего размера."
+"spriv_field0 и spriv_field1 имеют тип unsigned long, sim_priv.entries[0]."
+"bytes и sim_priv.entries[1].bytes - это байтовые массивы размера, "
+"согласованного с другими вариантами объединения, а sim_priv.bytes - это один "
+"массив, вдвое большего размера."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:339
@@ -1006,7 +1007,7 @@ msgstr "Наиболее распространенные запросы в ре
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:348
#, no-wrap
msgid "_XPT_SCSI_IO_ - execute an I/O transaction"
-msgstr "_XPT_SCSI_IO_ - выполнить транзакцию ввода-вывода"
+msgstr "_XPT_SCSI_IO_ — выполнить транзакцию ввода-вывода"
#. type: Plain text
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:352
@@ -1105,9 +1106,9 @@ msgid ""
"the tag type, the SIM driver must assign the tag value itself"
msgstr ""
"MSG_SIMPLE_Q_TAG, MSG_HEAD_OF_Q_TAG, MSG_ORDERED_Q_TAG — значение, "
-"соответствующее указанному теговому сообщению (см. /sys/cam/scsi/"
-"scsi_message.h); указывает только тип тега, значение тега должно быть "
-"назначено самим драйвером SIM"
+"соответствующее указанному теговому сообщению (см. /sys/cam/scsi/scsi_message"
+".h); указывает только тип тега, значение тега должно быть назначено самим "
+"драйвером SIM"
#. type: Plain text
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:369
@@ -1424,10 +1425,12 @@ msgstr ""
" if ((!(ccb_h->flags & CAM_SCATTER_VALID)) {\n"
" /* single buffer */\n"
" if (!(ccb_h->flags & CAM_DATA_PHYS)) {\n"
-" rv = add_virtual_chunk(hcb, csio->data_ptr, csio->dxfer_len, dir);\n"
+" rv = add_virtual_chunk(hcb, csio->data_ptr, csio->dxfer_len, "
+"dir);\n"
" }\n"
" } else {\n"
-" rv = add_physical_chunk(hcb, csio->data_ptr, csio->dxfer_len, dir);\n"
+" rv = add_physical_chunk(hcb, csio->data_ptr, csio->dxfer_len, "
+"dir);\n"
" }\n"
" } else {\n"
" int i;\n"
@@ -1472,7 +1475,8 @@ msgid ""
msgstr ""
" if ((ccb_h->flags & CAM_SG_LIST_PHYS) != 0) {\n"
" /* The SG list pointer is physical */\n"
-" rv = setup_hcb_for_physical_sg_list(hcb, segs, csio->sglist_cnt);\n"
+" rv = setup_hcb_for_physical_sg_list(hcb, segs, csio->sglist_cnt);"
+"\n"
" } else if (!(ccb_h->flags & CAM_DATA_PHYS)) {\n"
" /* SG buffer pointers are virtual */\n"
" for (i = 0; i < csio->sglist_cnt; i++) {\n"
@@ -1572,7 +1576,8 @@ msgid ""
" struct xxx_softc *softc = hcb->softc;\n"
msgstr ""
" static void\n"
-" free_hcb_and_ccb_done(struct xxx_hcb *hcb, union ccb *ccb, u_int32_t status)\n"
+" free_hcb_and_ccb_done(struct xxx_hcb *hcb, union ccb *ccb, u_int32_t "
+"status)\n"
" {\n"
" struct xxx_softc *softc = hcb->softc;\n"
@@ -1614,7 +1619,8 @@ msgstr ""
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:580
#, no-wrap
msgid "_XPT_RESET_DEV_ - send the SCSI \"BUS DEVICE RESET\" message to a device"
-msgstr "_XPT_RESET_DEV_ - отправить устройству сообщение SCSI \"BUS DEVICE RESET\""
+msgstr ""
+"_XPT_RESET_DEV_ — отправить устройству сообщение SCSI \"BUS DEVICE RESET\""
#. type: Plain text
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:585
@@ -1654,7 +1660,7 @@ msgstr ""
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:589
#, no-wrap
msgid "_XPT_RESET_BUS_ - send the RESET signal to the SCSI bus"
-msgstr "_XPT_RESET_BUS_ - отправить сигнал RESET на шину SCSI"
+msgstr "_XPT_RESET_BUS_ — отправить сигнал RESET на шину SCSI"
#. type: Plain text
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:592
@@ -1682,10 +1688,10 @@ msgid ""
"processed, both those in the hardware queue and those being disconnected, as "
"done with the status CAM_SCSI_BUS_RESET. Like:"
msgstr ""
-"Правильная реализация дополнительно должна фактически сбросить шину SCSI "
-"(возможно, также сбросить контроллер SCSI) и пометить все обрабатываемые "
-"CCB, как находящиеся в аппаратной очереди, так и отключенные, как "
-"завершенные со статусом CAM_SCSI_BUS_RESET. Например:"
+"Правильная реализация дополнительно должна фактически сбросить шину SCSI ("
+"возможно, также сбросить контроллер SCSI) и пометить все обрабатываемые CCB, "
+"как находящиеся в аппаратной очереди, так и отключенные, как завершенные со "
+"статусом CAM_SCSI_BUS_RESET. Например:"
#. type: delimited block . 4
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:603
@@ -1793,7 +1799,8 @@ msgid ""
" }\n"
msgstr ""
" for (lun=0; lun <= OUR_MAX_SUPPORTED_LUN; lun++)\n"
-" for (h = softc->first_discon_hcb[targ][lun]; h != NULL; h = hh) {\n"
+" for (h = softc->first_discon_hcb[targ][lun]; h != NULL; h = hh) {"
+"\n"
" hh=h->next;\n"
" free_hcb_and_ccb_done(h, h->ccb, CAM_SCSI_BUS_RESET);\n"
" }\n"
@@ -1836,7 +1843,7 @@ msgstr ""
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:651
#, no-wrap
msgid "_XPT_ABORT_ - abort the specified CCB"
-msgstr "_XPT_ABORT_ - прервать указанный CCB"
+msgstr "_XPT_ABORT_ — прервать указанный CCB"
#. type: Plain text
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:655
@@ -2062,8 +2069,8 @@ msgstr ""
"команда не будет прервана в разумное время, например, за 10 секунд, "
"процедура таймаута продолжит работу и сбросит всю шину SCSI. Поскольку "
"команда будет прервана в разумные сроки, мы можем просто вернуть запрос на "
-"прерывание как успешно выполненный и пометить прерванный CCB как прерванный "
-"(но пока не помечать его как завершённый)."
+"прерывание как успешно выполненный и пометить прерванный CCB как прерванный ("
+"но пока не помечать его как завершённый)."
#. type: delimited block . 4
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:753
@@ -2217,7 +2224,8 @@ msgstr ""
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:803
#, no-wrap
msgid "_XPT_SET_TRAN_SETTINGS_ - explicitly set values of SCSI transfer settings"
-msgstr "_XPT_SET_TRAN_SETTINGS_ - явно установить значения настроек передачи SCSI"
+msgstr ""
+"_XPT_SET_TRAN_SETTINGS_ — явно установить значения настроек передачи SCSI"
#. type: Plain text
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:806
@@ -2462,7 +2470,8 @@ msgstr ""
" softc->goal_sync_offset[targ] =\n"
" min(cts->sync_offset, OUR_MAX_SUPPORTED_OFFSET);\n"
" if (flags & CCB_TRANS_BUS_WIDTH_VALID)\n"
-" softc->goal_bus_width[targ] = min(cts->bus_width, OUR_BUS_WIDTH);\n"
+" softc->goal_bus_width[targ] = min(cts->bus_width, OUR_BUS_WIDTH);"
+"\n"
#. type: delimited block . 4
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:890
@@ -2533,8 +2542,10 @@ msgid ""
" return 1; /* TRUE */\n"
" }\n"
msgstr ""
-" if (softc->current_sync_period[targ] != softc->goal_sync_period[targ]\n"
-" || softc->current_sync_offset[targ] != softc->goal_sync_offset[targ]\n"
+" if (softc->current_sync_period[targ] != softc->goal_sync_period[targ]"
+"\n"
+" || softc->current_sync_offset[targ] != softc->goal_sync_offset[targ]"
+"\n"
" || softc->current_bus_width[targ] != softc->goal_bus_width[targ])\n"
" return 0; /* FALSE */\n"
" else\n"
@@ -2554,17 +2565,17 @@ msgid ""
msgstr ""
"После пересогласования значений полученные значения должны быть присвоены "
"как текущим, так и целевым параметрам, чтобы для будущих операций ввода-"
-"вывода текущие и целевые параметры совпадали, и функция "
-"`target_negotiated()` возвращала TRUE. При инициализации карты (в "
-"`xxx_attach()`) текущие параметры согласования должны быть инициализированы "
-"узким асинхронным режимом, а целевые и текущие значения должны быть "
-"инициализированы максимальными значениями, поддерживаемыми контроллером."
+"вывода текущие и целевые параметры совпадали, и функция `target_negotiated()`"
+" возвращала TRUE. При инициализации карты (в `xxx_attach()`) текущие "
+"параметры согласования должны быть инициализированы узким асинхронным "
+"режимом, а целевые и текущие значения должны быть инициализированы "
+"максимальными значениями, поддерживаемыми контроллером."
#. type: Title ===
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:915
#, no-wrap
msgid "_XPT_GET_TRAN_SETTINGS_ - get values of SCSI transfer settings"
-msgstr "_XPT_GET_TRAN_SETTINGS_ - получить значения настроек передачи SCSI"
+msgstr "_XPT_GET_TRAN_SETTINGS_ — получить значения настроек передачи SCSI"
#. type: Plain text
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:920
@@ -2585,7 +2596,7 @@ msgstr ""
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:921
#, no-wrap
msgid "_XPT_CALC_GEOMETRY_ - calculate logical (BIOS) geometry of the disk"
-msgstr "_XPT_CALC_GEOMETRY_ - вычислить логическую (BIOS) геометрию диска"
+msgstr "_XPT_CALC_GEOMETRY_ — вычислить логическую (BIOS) геометрию диска"
#. type: Plain text
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:924
@@ -2599,8 +2610,7 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:926
msgid "_block_size_ - input, block (A.K.A sector) size in bytes"
-msgstr ""
-"_block_size_ - вход, размер блока (также известный как сектор) в байтах"
+msgstr "_block_size_ - вход, размер блока (также известный как сектор) в байтах"
#. type: Plain text
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:927
@@ -2733,7 +2743,9 @@ msgstr ""
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:972
#, no-wrap
msgid "_XPT_PATH_INQ_ - path inquiry, in other words get the SIM driver and SCSI controller (also known as HBA - Host Bus Adapter) properties"
-msgstr "_XPT_PATH_INQ_ - запрос пути, другими словами, получение свойств драйвера SIM и контроллера SCSI (также известного как HBA - Host Bus Adapter)"
+msgstr ""
+"_XPT_PATH_INQ_ — запрос пути, другими словами, получение свойств драйвера "
+"SIM и контроллера SCSI (также известного как HBA - Host Bus Adapter)"
#. type: Plain text
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:975
@@ -2798,8 +2810,7 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:986
msgid "target_sprt - flags for target mode support, 0 if unsupported"
-msgstr ""
-"target_sprt - флаги поддержки целевого режима, 0 если не поддерживается"
+msgstr "target_sprt - флаги поддержки целевого режима, 0 если не поддерживается"
#. type: Plain text
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:987
@@ -2848,8 +2859,8 @@ msgid ""
"max_target - maximal supported target ID (7 for 8-bit bus, 15 for 16-bit "
"bus, 127 for Fibre Channel)"
msgstr ""
-"max_target - максимальный поддерживаемый идентификатор целевого устройства "
-"(7 для 8-битной шины, 15 для 16-битной шины, 127 для Fibre Channel)"
+"max_target - максимальный поддерживаемый идентификатор целевого устройства ("
+"7 для 8-битной шины, 15 для 16-битной шины, 127 для Fibre Channel)"
#. type: Plain text
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:995
@@ -3042,7 +3053,8 @@ msgid ""
"ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)\n"
msgstr ""
"static void\n"
-"ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)\n"
+"ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void "
+"*arg)\n"
#. type: Plain text
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:1062
@@ -3358,12 +3370,15 @@ msgid ""
" }\n"
msgstr ""
" for (lun=0; lun <= OUR_MAX_SUPPORTED_LUN; lun++)\n"
-" for (h = softc->first_discon_hcb[targ][lun]; h != NULL; h = hh) {\n"
+" for (h = softc->first_discon_hcb[targ][lun]; h != NULL; h = "
+"hh) {\n"
" hh=h->next;\n"
" if (fatal)\n"
-" free_hcb_and_ccb_done(h, h->ccb, CAM_UNREC_HBA_ERROR);\n"
+" free_hcb_and_ccb_done(h, h->ccb, "
+"CAM_UNREC_HBA_ERROR);\n"
" else\n"
-" free_hcb_and_ccb_done(h, h->ccb, CAM_SCSI_BUS_RESET);\n"
+" free_hcb_and_ccb_done(h, h->ccb, CAM_SCSI_BUS_RESET);"
+"\n"
" }\n"
" }\n"
@@ -3518,7 +3533,8 @@ msgstr ""
" if (hcb->flags & DOING_AUTOSENSE) {\n"
" if (scsi_status == GOOD) { /* autosense was successful */\n"
" hcb->ccb->ccb_h.status |= CAM_AUTOSNS_VALID;\n"
-" free_hcb_and_ccb_done(hcb, hcb->ccb, CAM_SCSI_STATUS_ERROR);\n"
+" free_hcb_and_ccb_done(hcb, hcb->ccb, CAM_SCSI_STATUS_ERROR);"
+"\n"
" } else {\n"
" autosense_failed:\n"
" free_hcb_and_ccb_done(hcb, hcb->ccb, CAM_AUTOSENSE_FAIL);\n"
@@ -3852,7 +3868,8 @@ msgid ""
" }\n"
" break;\n"
msgstr ""
-" /* this was the CAM_RESET_DEV request itself, it is completed */\n"
+" /* this was the CAM_RESET_DEV request itself, it is completed */"
+"\n"
" ccb_status = CAM_REQ_CMP;\n"
" } else {\n"
" calculate_residue(hcb);\n"
@@ -4012,7 +4029,8 @@ msgid ""
" return;\n"
msgstr ""
" if (targ == h->targ\n"
-" && (lun_to_freeze == CAM_LUN_WILDCARD || lun_to_freeze == h->lun))\n"
+" && (lun_to_freeze == CAM_LUN_WILDCARD || lun_to_freeze == "
+"h->lun))\n"
" free_hcb_and_ccb_done(h, h->ccb, CAM_REQUEUE_REQ);\n"
" }\n"
" }\n"
@@ -4033,7 +4051,7 @@ msgstr ""
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:1458
#, no-wrap
msgid "Errors Summary"
-msgstr "Ошибки (Сводка)"
+msgstr "Сводка ошибок"
#. type: Plain text
#: documentation/content/en/books/arch-handbook/scsi/_index.adoc:1464
@@ -4073,8 +4091,8 @@ msgid ""
"direction than specified in CAM_DIR_MASK) or odd transfer length for wide "
"transfer"
msgstr ""
-"_CAM_DATA_RUN_ERR_ - переполнение данных или неожиданная фаза данных "
-"(направление передачи не соответствует указанному в CAM_DIR_MASK) или "
+"_CAM_DATA_RUN_ERR_ - переполнение данных или неожиданная фаза данных ("
+"направление передачи не соответствует указанному в CAM_DIR_MASK) или "
"нечётная длина передачи для широкой передачи"
#. type: Plain text
@@ -4254,7 +4272,8 @@ msgid ""
" }\n"
"}\n"
msgstr ""
-" if (hcb->flags & HCB_BEING_ABORTED || ccb_h->func_code == XPT_RESET_DEV) {\n"
+" if (hcb->flags & HCB_BEING_ABORTED || ccb_h->func_code == XPT_RESET_DEV) "
+"{\n"
" xxx_reset_bus(softc);\n"
" } else {\n"
" xxx_abort_ccb(hcb->ccb, CAM_CMD_TIMEOUT);\n"
diff --git a/documentation/content/ru/books/arch-handbook/smp/_index.adoc b/documentation/content/ru/books/arch-handbook/smp/_index.adoc
index 8c4b741566..828b6f4720 100644
--- a/documentation/content/ru/books/arch-handbook/smp/_index.adoc
+++ b/documentation/content/ru/books/arch-handbook/smp/_index.adoc
@@ -4,7 +4,7 @@ next: books/arch-handbook/partii
params:
path: /books/arch-handbook/smp/
prev: books/arch-handbook/vm
-showBookMenu: true
+showBookMenu: 'true'
tags: ["SMPng", "introduction", "locks"]
title: 'Глава 8. Документ по архитектуре SMPng'
weight: 9
@@ -87,7 +87,7 @@ endif::[]
=== Обработка прерываний
-Следуя примеру нескольких других многопоточных ядер UNIX(R), FreeBSD реализрвала обработчики прерываний, предоставив им собственный контекст потока. Предоставление контекста для обработчиков прерываний позволяет им блокироваться на блокировках. Однако, чтобы избежать задержек, потоки обработки прерываний выполняются с приоритетом реального времени в ядре. Таким образом, обработчики прерываний не должны выполняться слишком долго, чтобы не лишать ресурсов другие потоки ядра. Кроме того, поскольку несколько обработчиков могут использовать один поток прерываний, обработчики прерываний не должны переходить в режим сна или использовать блокировки, допускающие сон, чтобы не лишать ресурсов другие обработчики прерываний.
+Следуя примеру нескольких других многопоточных ядер UNIX(R), FreeBSD реализовала обработчики прерываний, предоставив им собственный контекст потока. Предоставление контекста для обработчиков прерываний позволяет им блокироваться на блокировках. Однако, чтобы избежать задержек, потоки обработки прерываний выполняются с приоритетом реального времени в ядре. Таким образом, обработчики прерываний не должны выполняться слишком долго, чтобы не лишать ресурсов другие потоки ядра. Кроме того, поскольку несколько обработчиков могут использовать один поток прерываний, обработчики прерываний не должны переходить в режим сна или использовать блокировки, допускающие сон, чтобы не лишать ресурсов другие обработчики прерываний.
Текущие потоки обработки прерываний в FreeBSD называются тяжеловесными потоками обработки прерываний. Они получили такое название, потому что переключение на поток обработки прерывания включает в себя полное переключение контекста. В первоначальной реализации ядро не было вытесняющим, поэтому прерывания, которые прерывали поток ядра, должны были ждать, пока поток ядра не заблокируется или не вернётся в пользовательское пространство, прежде чем у них появится возможность выполниться.
@@ -138,7 +138,7 @@ endif::[]
Критические секции в настоящее время предотвращают миграцию, поскольку они не допускают переключения контекстов. Однако это может быть слишком строгим требованием в некоторых случаях, так как критическая секция также эффективно блокирует потоки прерываний на текущем процессоре. В результате был предоставлен другой API, позволяющий текущему потоку указать, что если он будет вытеснен, он не должен мигрировать на другой CPU.
-Этот API известен как закрепление потока и предоставляется планировщиком. API состоит из двух функций: `sched_pin` и `sched_unpin`. Эти функции управляют счетчиком вложенности `td_pinned` для каждого потока. Поток считается закрепленным, когда его счетчик вложенности больше нуля, и прекрашает быть закрепленным с нулевым счетчиком вложенности. Каждая реализация планировщика должна гарантировать, что закрепленные потоки выполняются только на том CPU, на котором они выполнялись при первом вызове `sched_pin`. Поскольку счетчик вложенности изменяется только самим потоком и читается другими потоками только тогда, когда закрепленный поток не выполняется, но удерживается `sched_lock`, то `td_pinned` не требует блокировки. Функция `sched_pin` увеличивает счетчик вложенности, а `sched_unpin` уменьшает его. Обратите внимание, что эти функции работают только с текущим потоком и привязывают текущий поток к CPU, на котором он выполняется в данный момент. Для привязки произвольного потока к определенному CPU следует использовать функции `sched_bind` и `sched_unbind`.
+Этот API известен как закрепление потока и предоставляется планировщиком. API состоит из двух функций: `sched_pin` и `sched_unpin`. Эти функции управляют счетчиком вложенности `td_pinned` для каждого потока. Поток считается закрепленным, когда его счетчик вложенности больше нуля, и прекращает быть закрепленным с нулевым счетчиком вложенности. Каждая реализация планировщика должна гарантировать, что закрепленные потоки выполняются только на том CPU, на котором они выполнялись при первом вызове `sched_pin`. Поскольку счетчик вложенности изменяется только самим потоком и читается другими потоками только тогда, когда закрепленный поток не выполняется, но удерживается `sched_lock`, то `td_pinned` не требует блокировки. Функция `sched_pin` увеличивает счетчик вложенности, а `sched_unpin` уменьшает его. Обратите внимание, что эти функции работают только с текущим потоком и привязывают текущий поток к CPU, на котором он выполняется в данный момент. Для привязки произвольного потока к определенному CPU следует использовать функции `sched_bind` и `sched_unbind`.
=== Обратные вызовы
@@ -238,7 +238,7 @@ endif::[]
Хеш-таблица очередей сна содержит очереди сна для каналов ожидания, у которых есть хотя бы один заблокированный поток. Каждая запись в хеш-таблице называется цепочкой очереди сна. Цепочка содержит связанный список очередей сна и спин-мьютекс. Спин-мьютекс защищает список очередей сна, а также содержимое структур очередей сна в списке. С каждым каналом ожидания связана только одна очередь сна. Если несколько потоков блокируются на одном канале ожидания, то очереди сна, связанные со всеми потоками, кроме первого, хранятся в списке свободных очередей сна в главной очереди сна. Когда поток удаляется из очереди сна, он получает одну из структур очереди сна из свободного списка главной очереди, если он не является единственным потоком в очереди. Последний поток получает главную очередь сна при возобновлении. Поскольку потоки могут удаляться из очереди сна в порядке, отличном от порядка добавления, поток может покинуть очередь сна с другой структурой очереди сна, чем та, с которой он в неё попал.
-Функция `sleepq_lock` блокирует спин-мьютес цепи очереди сна, соответствующей определённому каналу ожидания. Функция `sleepq_lookup` выполняет поиск в хеш-таблице главной очереди сна, связанной с заданным каналом ожидания. Если главная очередь сна не найдена, функция возвращает `NULL`. Функция `sleepq_release` разблокирует спин-мьютес, связанный с заданным каналом ожидания.
+Функция `sleepq_lock` блокирует спин-мьютекс цепи очереди сна, соответствующей определённому каналу ожидания. Функция `sleepq_lookup` выполняет поиск в хеш-таблице главной очереди сна, связанной с заданным каналом ожидания. Если главная очередь сна не найдена, функция возвращает `NULL`. Функция `sleepq_release` разблокирует спин-мьютекс, связанный с заданным каналом ожидания.
Поток добавляется в очередь ожидания с помощью `sleepq_add`. Эта функция принимает канал ожидания, указатель на мьютекс, защищающий канал ожидания, строку описания сообщения ожидания и маску флагов. Цепь очереди ожидания должна быть заблокирована с помощью `sleepq_lock` перед вызовом этой функции. Если канал ожидания не защищен мьютексом (или защищен мьютексом Giant), то аргумент указателя на мьютекс должен быть `NULL`. Аргумент флагов содержит поле типа, указывающее на вид очереди ожидания, в которую добавляется поток, и флаг, указывающий, является ли ожидание прерываемым (`SLEEPQ_INTERRUPTIBLE`). В настоящее время существует только два типа очередей ожидания: традиционные очереди, управляемые через функции `msleep` и `wakeup` (`SLEEPQ_MSLEEP`), и очереди ожидания условных переменных (`SLEEPQ_CONDVAR`). Тип очереди ожидания и аргумент указателя на блокировку используются исключительно для внутренних проверок утверждений. Код, вызывающий `sleepq_add`, должен явно разблокировать любой блокировочный механизм, защищающий канал ожидания, после того как связанная цепь очереди ожидания будет заблокирована через `sleepq_lock` и перед блокировкой в очереди ожидания с помощью одной из функций ожидания.
@@ -326,7 +326,7 @@ memory operation (операция с памятью)::
Операция с памятью выполняет чтение и/или запись в ячейку памяти.
MI::
-Машинно-независимый (machine independent).
+Машинонезависимый (machine independent).
+
См. также MD.
diff --git a/documentation/content/ru/books/arch-handbook/smp/_index.po b/documentation/content/ru/books/arch-handbook/smp/_index.po
index 8175525d49..2d533f53e0 100644
--- a/documentation/content/ru/books/arch-handbook/smp/_index.po
+++ b/documentation/content/ru/books/arch-handbook/smp/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-14 22:43+0300\n"
-"PO-Revision-Date: 2025-08-26 04:45+0000\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
+"PO-Revision-Date: 2025-10-29 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/booksarch-handbooksmp_index/ru/>\n"
@@ -25,7 +25,7 @@ msgstr ""
msgid "SMPng Design Document"
msgstr "Документ по архитектуре SMPng"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/arch-handbook/smp/_index.adoc:1
#, no-wrap
msgid "Chapter 8. SMPng Design Document"
@@ -308,7 +308,7 @@ msgid ""
"sleepable lock to avoid starving another interrupt handler."
msgstr ""
"Следуя примеру нескольких других многопоточных ядер UNIX(R), FreeBSD "
-"реализрвала обработчики прерываний, предоставив им собственный контекст "
+"реализовала обработчики прерываний, предоставив им собственный контекст "
"потока. Предоставление контекста для обработчиков прерываний позволяет им "
"блокироваться на блокировках. Однако, чтобы избежать задержек, потоки "
"обработки прерываний выполняются с приоритетом реального времени в ядре. "
@@ -545,10 +545,10 @@ msgstr ""
"Ответственность API критической секции заключается в предотвращении "
"переключения контекста внутри критической секции. В полностью вытесняющем "
"ядре каждый вызов `setrunqueue` для потока, отличного от текущего, является "
-"точкой вытеснения. Одна из реализаций заключается в том, что "
-"`critical_enter` устанавливает флаг для каждого потока, который сбрасывается "
-"его парной функцией. Если `setrunqueue` вызывается, когда этот флаг "
-"установлен, вытеснение не происходит, независимо от приоритета нового потока "
+"точкой вытеснения. Одна из реализаций заключается в том, что `critical_enter`"
+" устанавливает флаг для каждого потока, который сбрасывается его парной "
+"функцией. Если `setrunqueue` вызывается, когда этот флаг установлен, "
+"вытеснение не происходит, независимо от приоритета нового потока "
"относительно текущего. Однако, поскольку критические секции используются в "
"спин-блокировках для предотвращения переключения контекста и может быть "
"захвачено несколько спин-блокировок, API критической секции должен "
@@ -776,7 +776,7 @@ msgstr ""
"API состоит из двух функций: `sched_pin` и `sched_unpin`. Эти функции "
"управляют счетчиком вложенности `td_pinned` для каждого потока. Поток "
"считается закрепленным, когда его счетчик вложенности больше нуля, и "
-"прекрашает быть закрепленным с нулевым счетчиком вложенности. Каждая "
+"прекращает быть закрепленным с нулевым счетчиком вложенности. Каждая "
"реализация планировщика должна гарантировать, что закрепленные потоки "
"выполняются только на том CPU, на котором они выполнялись при первом вызове "
"`sched_pin`. Поскольку счетчик вложенности изменяется только самим потоком и "
@@ -866,13 +866,13 @@ msgid ""
msgstr ""
"`struct ucred` — это внутренняя структура учетных данных ядра, которая "
"обычно используется в качестве основы для управления доступом на уровне "
-"процессов внутри ядра. Системы, производные от BSD, используют модель "
-"«копирования при записи» для учетных данных: могут существовать "
-"множественные ссылки на структуру учетных данных, и когда требуется внести "
-"изменение, структура дублируется, изменяется, а затем ссылка заменяется. "
-"Благодаря широко распространенному кэшированию учетных данных для реализации "
-"контроля доступа при открытии, это приводит к значительной экономии памяти. "
-"С переходом на детализированную SMP (симметричную многопроцессорность), эта "
+"процессов внутри ядра. Системы, производные от BSD, используют модель «"
+"копирования при записи» для учетных данных: могут существовать множественные "
+"ссылки на структуру учетных данных, и когда требуется внести изменение, "
+"структура дублируется, изменяется, а затем ссылка заменяется. Благодаря "
+"широко распространенному кэшированию учетных данных для реализации контроля "
+"доступа при открытии, это приводит к значительной экономии памяти. С "
+"переходом на детализированную SMP (симметричную многопроцессорность), эта "
"модель также существенно экономит на операциях блокировки, требуя, чтобы "
"модификации выполнялись только для неразделяемых учетных данных, избегая "
"необходимости явной синхронизации при использовании известных разделяемых "
@@ -890,11 +890,10 @@ msgid ""
msgstr ""
"Структуры учетных данных с единственной ссылкой считаются изменяемыми; "
"разделяемые структуры учетных данных не должны изменяться, иначе возникает "
-"риск состояния гонки. Мьютекс `cr_mtxp` защищает счетчик ссылок структуры "
-"`struct ucred` для поддержания согласованности. Любое использование "
-"структуры требует действительной ссылки на протяжении всего времени "
-"использования, иначе структура может быть освобождена из-под нелегитимного "
-"потребителя."
+"риск состояния гонки. Мьютекс `cr_mtxp` защищает счетчик ссылок структуры `"
+"struct ucred` для поддержания согласованности. Любое использование структуры "
+"требует действительной ссылки на протяжении всего времени использования, "
+"иначе структура может быть освобождена из-под нелегитимного потребителя."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/smp/_index.adoc:163
@@ -982,8 +981,8 @@ msgstr ""
"счётчика ссылок и всех изменяемых переменных внутри `struct jail`. Некоторые "
"переменные устанавливаются только при создании клетки, и действительной "
"ссылки на `struct prison` достаточно для чтения этих значений. Точная "
-"блокировка каждой записи документирована в комментариях файла "
-"[.filename]#sys/jail.h#."
+"блокировка каждой записи документирована в комментариях файла [.filename]#"
+"sys/jail.h#."
#. type: Title ===
#: documentation/content/en/books/arch-handbook/smp/_index.adoc:176
@@ -1222,8 +1221,8 @@ msgstr ""
"зарегистрироваться для получения SIGIO от любого заданного объекта ядра, и "
"такой процесс или группа называется владельцем. Каждый объект, "
"поддерживающий регистрацию SIGIO, содержит поле-указатель, которое имеет "
-"значение `NULL`, если объект не зарегистрирован, или указывает на структуру "
-"`struct sigio`, описывающую регистрацию. Это поле защищено глобальным "
+"значение `NULL`, если объект не зарегистрирован, или указывает на структуру `"
+"struct sigio`, описывающую регистрацию. Это поле защищено глобальным "
"мьютексом `sigio_lock`. Вызывающие функции обслуживания SIGIO должны "
"передавать это поле «по ссылке», чтобы локальные копии регистра не "
"создавались без защиты блокировкой."
@@ -1432,11 +1431,11 @@ msgid ""
"`sleepq_release` function unlocks the spin mutex associated with a given "
"wait channel."
msgstr ""
-"Функция `sleepq_lock` блокирует спин-мьютес цепи очереди сна, "
+"Функция `sleepq_lock` блокирует спин-мьютекс цепи очереди сна, "
"соответствующей определённому каналу ожидания. Функция `sleepq_lookup` "
"выполняет поиск в хеш-таблице главной очереди сна, связанной с заданным "
"каналом ожидания. Если главная очередь сна не найдена, функция возвращает "
-"`NULL`. Функция `sleepq_release` разблокирует спин-мьютес, связанный с "
+"`NULL`. Функция `sleepq_release` разблокирует спин-мьютекс, связанный с "
"заданным каналом ожидания."
#. type: Plain text
@@ -1525,13 +1524,13 @@ msgstr ""
"пробуждения. Функция `sleepq_timedwait` ожидает, пока поток не будет явно "
"возобновлён или пока не истечёт таймаут, установленный предыдущим вызовом "
"`sleepq_set_timeout`. Функция `sleepq_wait_sig` ожидает, пока поток не будет "
-"явно возобновлён или его сон не будет прерван. Функция "
-"`sleepq_timedwait_sig` ожидает, пока поток не будет явно возобновлён, не "
-"истечёт таймаут, установленный предыдущим вызовом `sleepq_set_timeout`, или "
-"сон потока не будет прерван. Все функции ожидания принимают канал ожидания в "
-"качестве первого параметра. Кроме того, функция `sleepq_timedwait_sig` "
-"принимает второй логический параметр, указывающий, обнаружил ли предыдущий "
-"вызов `sleepq_catch_signals` ожидающий сигнал."
+"явно возобновлён или его сон не будет прерван. Функция `sleepq_timedwait_sig`"
+" ожидает, пока поток не будет явно возобновлён, не истечёт таймаут, "
+"установленный предыдущим вызовом `sleepq_set_timeout`, или сон потока не "
+"будет прерван. Все функции ожидания принимают канал ожидания в качестве "
+"первого параметра. Кроме того, функция `sleepq_timedwait_sig` принимает "
+"второй логический параметр, указывающий, обнаружил ли предыдущий вызов "
+"`sleepq_catch_signals` ожидающий сигнал."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/smp/_index.adoc:254
@@ -1763,7 +1762,7 @@ msgstr "Глоссарий"
msgid "atomic"
msgstr "atomic (атомарный)"
-#. type: .glosslist
+#. type: Plain text
#: documentation/content/en/books/arch-handbook/smp/_index.adoc:313
msgid ""
"An operation is atomic if all of its effects are visible to other CPUs "
@@ -1781,7 +1780,7 @@ msgstr ""
"выполняются при удержании блокировки без её освобождения между любыми из "
"операций."
-#. type: .glosslist
+#. type: Plain text
#: documentation/content/en/books/arch-handbook/smp/_index.adoc:315
msgid "See Also operation."
msgstr "См. также operation (операция)."
@@ -1792,7 +1791,7 @@ msgstr "См. также operation (операция)."
msgid "block"
msgstr "block (блокировать)"
-#. type: .glosslist
+#. type: Plain text
#: documentation/content/en/books/arch-handbook/smp/_index.adoc:318
msgid ""
"A thread is blocked when it is waiting on a lock, resource, or condition. "
@@ -1801,7 +1800,7 @@ msgstr ""
"Поток блокируется, когда он ожидает блокировку, ресурс или условие. К "
"сожалению, этот термин в результате немного перегружен."
-#. type: .glosslist
+#. type: Plain text
#: documentation/content/en/books/arch-handbook/smp/_index.adoc:320
#: documentation/content/en/books/arch-handbook/smp/_index.adoc:357
msgid "See Also sleep."
@@ -1813,7 +1812,7 @@ msgstr "См. также sleep (спать)."
msgid "critical section"
msgstr "critical section (критическая секция)"
-#. type: .glosslist
+#. type: Plain text
#: documentation/content/en/books/arch-handbook/smp/_index.adoc:323
msgid ""
"A section of code that is not allowed to be preempted. A critical section is "
@@ -1828,12 +1827,12 @@ msgstr ""
msgid "MD"
msgstr "MD"
-#. type: .glosslist
+#. type: Plain text
#: documentation/content/en/books/arch-handbook/smp/_index.adoc:326
msgid "Machine dependent."
msgstr "Машинозависимый (machine dependent)."
-#. type: .glosslist
+#. type: Plain text
#: documentation/content/en/books/arch-handbook/smp/_index.adoc:328
msgid "See Also MI."
msgstr "Смотри также MI."
@@ -1844,7 +1843,7 @@ msgstr "Смотри также MI."
msgid "memory operation"
msgstr "memory operation (операция с памятью)"
-#. type: .glosslist
+#. type: Plain text
#: documentation/content/en/books/arch-handbook/smp/_index.adoc:331
msgid "A memory operation reads and/or writes to a memory location."
msgstr "Операция с памятью выполняет чтение и/или запись в ячейку памяти."
@@ -1855,12 +1854,12 @@ msgstr "Операция с памятью выполняет чтение и/и
msgid "MI"
msgstr "MI"
-#. type: .glosslist
+#. type: Plain text
#: documentation/content/en/books/arch-handbook/smp/_index.adoc:334
msgid "Machine independent."
-msgstr "Машинно-независимый (machine independent)."
+msgstr "Машинонезависимый (machine independent)."
-#. type: .glosslist
+#. type: Plain text
#: documentation/content/en/books/arch-handbook/smp/_index.adoc:336
msgid "See Also MD."
msgstr "См. также MD."
@@ -1871,7 +1870,7 @@ msgstr "См. также MD."
msgid "operation"
msgstr "operation (операция)"
-#. type: .glosslist
+#. type: Plain text
#: documentation/content/en/books/arch-handbook/smp/_index.adoc:339
msgid "See memory operation."
msgstr "См. memory operation (операция с памятью)."
@@ -1882,7 +1881,7 @@ msgstr "См. memory operation (операция с памятью)."
msgid "primary interrupt context"
msgstr "primary interrupt context (основной контекст прерывания)"
-#. type: .glosslist
+#. type: Plain text
#: documentation/content/en/books/arch-handbook/smp/_index.adoc:342
msgid ""
"Primary interrupt context refers to the code that runs when an interrupt "
@@ -1901,7 +1900,7 @@ msgstr ""
msgid "realtime kernel thread"
msgstr "realtime kernel thread (поток ядра реального времени)"
-#. type: .glosslist
+#. type: Plain text
#: documentation/content/en/books/arch-handbook/smp/_index.adoc:345
msgid ""
"A high priority kernel thread. Currently, the only realtime priority kernel "
@@ -1910,7 +1909,7 @@ msgstr ""
"Высокоприоритетный поток ядра. В настоящее время единственными потоками ядра "
"с реальным приоритетом являются потоки обработки прерываний."
-#. type: .glosslist
+#. type: Plain text
#: documentation/content/en/books/arch-handbook/smp/_index.adoc:347
msgid "See Also thread."
msgstr "См. также thread (поток)."
@@ -1921,7 +1920,7 @@ msgstr "См. также thread (поток)."
msgid "sleep"
msgstr "sleep (спать)"
-#. type: .glosslist
+#. type: Plain text
#: documentation/content/en/books/arch-handbook/smp/_index.adoc:350
msgid ""
"A thread is asleep when it is blocked on a condition variable or a sleep "
@@ -1930,7 +1929,7 @@ msgstr ""
"Поток находится в состоянии сна, когда он заблокирован на условной "
"переменной или в очереди сна через `msleep` или `tsleep`."
-#. type: .glosslist
+#. type: Plain text
#: documentation/content/en/books/arch-handbook/smp/_index.adoc:352
msgid "See Also block."
msgstr "См. также block (блокировать)."
@@ -1941,7 +1940,7 @@ msgstr "См. также block (блокировать)."
msgid "sleepable lock"
msgstr "sleepable lock (блокировка с возможностью сна)"
-#. type: .glosslist
+#. type: Plain text
#: documentation/content/en/books/arch-handbook/smp/_index.adoc:355
msgid ""
"A sleepable lock is a lock that can be held by a thread which is asleep. "
@@ -1961,7 +1960,7 @@ msgstr ""
msgid "thread"
msgstr "thread (поток)"
-#. type: .glosslist
+#. type: Plain text
#: documentation/content/en/books/arch-handbook/smp/_index.adoc:360
msgid ""
"A kernel thread represented by a struct thread. Threads own locks and hold a "
@@ -1976,7 +1975,7 @@ msgstr ""
msgid "wait channel"
msgstr "wait channel (канал ожидания)"
-#. type: .glosslist
+#. type: Plain text
#: documentation/content/en/books/arch-handbook/smp/_index.adoc:363
msgid "A kernel virtual address that threads may sleep on."
msgstr ""
diff --git a/documentation/content/ru/books/arch-handbook/sound/_index.adoc b/documentation/content/ru/books/arch-handbook/sound/_index.adoc
index 7079a9cd52..73abd65207 100644
--- a/documentation/content/ru/books/arch-handbook/sound/_index.adoc
+++ b/documentation/content/ru/books/arch-handbook/sound/_index.adoc
@@ -4,7 +4,7 @@ next: books/arch-handbook/pccard
params:
path: /books/arch-handbook/sound/
prev: books/arch-handbook/newbus
-showBookMenu: true
+showBookMenu: 'true'
tags: ["Sound", "OSS", "pcm", "mixer"]
title: 'Глава 15. Звуковая подсистема'
weight: 17
diff --git a/documentation/content/ru/books/arch-handbook/sound/_index.po b/documentation/content/ru/books/arch-handbook/sound/_index.po
index 7a627217f4..2e58cd5c8d 100644
--- a/documentation/content/ru/books/arch-handbook/sound/_index.po
+++ b/documentation/content/ru/books/arch-handbook/sound/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-14 22:43+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-08-26 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,13 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/arch-handbook/sound/_index.adoc:1
#, no-wrap
msgid "FreeBSD Sound Subsystem"
msgstr "Звуковая подсистема FreeBSD"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/arch-handbook/sound/_index.adoc:1
#, no-wrap
msgid "Chapter 15. Sound Subsystem"
@@ -175,8 +175,8 @@ msgid ""
msgstr ""
"В каталоге [.filename]#/usr/src/sys/dev/sound/#, папка [.filename]#pcm/# "
"содержит основной код, тогда как каталоги [.filename]#pci/#, [.filename]#isa/"
-"# и [.filename]#usb/# содержат драйверы для плат PCI и ISA, а также для USB-"
-"аудиоустройств."
+"# и [.filename]#usb/# содержат драйверы для плат PCI и ISA, а также для "
+"USB-аудиоустройств."
#. type: Title ==
#: documentation/content/en/books/arch-handbook/sound/_index.adoc:79
@@ -235,7 +235,8 @@ msgid ""
" MODULE_DEPEND(snd_xxxpci, snd_pcm, PCM_MINVER, PCM_PREFVER,PCM_MAXVER);\n"
msgstr ""
" DRIVER_MODULE(snd_xxxpci, pci, xxx_driver, pcm_devclass, 0, 0);\n"
-" MODULE_DEPEND(snd_xxxpci, snd_pcm, PCM_MINVER, PCM_PREFVER,PCM_MAXVER);\n"
+" MODULE_DEPEND(snd_xxxpci, snd_pcm, PCM_MINVER, "
+"PCM_PREFVER,PCM_MAXVER);\n"
#. type: Plain text
#: documentation/content/en/books/arch-handbook/sound/_index.adoc:100
@@ -288,8 +289,8 @@ msgid ""
"init,`xxxchannel_init()`]."
msgstr ""
"Подпрограмма подключения звукового драйвера объявляет каждый из своих "
-"каналов вызовами `pcm_addchan()`. Это настраивает связующий слой канала в "
-"[.filename]#pcm# и, в свою очередь, вызывает вызов crossref:sound[xxxchannel-"
+"каналов вызовами `pcm_addchan()`. Это настраивает связующий слой канала в [."
+"filename]#pcm# и, в свою очередь, вызывает вызов crossref:sound[xxxchannel-"
"init,`xxxchannel_init()`]."
#. type: Plain text
@@ -316,10 +317,10 @@ msgid ""
"and, if it finds a supported device, creates a new pcm device which is then "
"passed to probe/attach."
msgstr ""
-"Используйте метод `device_identify()` (пример: [.filename]#sound/isa/"
-"es1888.c#). Метод `device_identify()` проверяет наличие оборудования по "
-"известным адресам и, если находит поддерживаемое устройство, создает новое "
-"pcm-устройство, которое затем передается для probe/attach."
+"Используйте метод `device_identify()` (пример: [.filename]#sound/isa/es1888."
+"c#). Метод `device_identify()` проверяет наличие оборудования по известным "
+"адресам и, если находит поддерживаемое устройство, создает новое pcm-"
+"устройство, которое затем передается для probe/attach."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/sound/_index.adoc:113
@@ -337,9 +338,9 @@ msgid ""
"and `device_shutdown` routines, so that power management and module "
"unloading function correctly."
msgstr ""
-"[.filename]#pcm# драйверы должны реализовывать подпрограммы "
-"`device_suspend`, `device_resume` и `device_shutdown`, чтобы управление "
-"питанием и выгрузка модулей работали корректно."
+"[.filename]#pcm# драйверы должны реализовывать подпрограммы `device_suspend`"
+", `device_resume` и `device_shutdown`, чтобы управление питанием и выгрузка "
+"модулей работали корректно."
#. type: Title ==
#: documentation/content/en/books/arch-handbook/sound/_index.adoc:117
@@ -604,7 +605,8 @@ msgid ""
" }\n"
msgstr ""
" static int\n"
-" xxxchannel_setformat(kobj_t obj, void *data, u_int32_t format) <.>\n"
+" xxxchannel_setformat(kobj_t obj, void *data, u_int32_t format) <.>"
+"\n"
" {\n"
" struct xxx_chinfo *ch = data;\n"
" ...\n"
@@ -698,7 +700,8 @@ msgid ""
" }\n"
msgstr ""
" static int\n"
-" xxxchannel_setblocksize(kobj_t obj, void *data, u_int32_t blocksize)\n"
+" xxxchannel_setblocksize(kobj_t obj, void *data, u_int32_t "
+"blocksize)\n"
" {\n"
" struct xxx_chinfo *ch = data;\n"
" ...\n"
@@ -764,8 +767,8 @@ msgid ""
"things."
msgstr ""
"Если драйвер использует ISA DMA, перед выполнением действий с устройством "
-"следует вызвать `sndbuf_isadma()`, которая позаботится о том, что делает DMA-"
-"чип."
+"следует вызвать `sndbuf_isadma()`, которая позаботится о том, что делает "
+"DMA-чип."
#. type: Title ====
#: documentation/content/en/books/arch-handbook/sound/_index.adoc:248
@@ -1110,8 +1113,7 @@ msgstr "`xxxac97_init()` возвращает количество найден
#. type: Plain text
#: documentation/content/en/books/arch-handbook/sound/_index.adoc:357
msgid "`ac97_read()` and `ac97_write()` read or write a specified register."
-msgstr ""
-"`ac97_read()` и `ac97_write()` читают или записывают указанный регистр."
+msgstr "`ac97_read()` и `ac97_write()` читают или записывают указанный регистр."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/sound/_index.adoc:358
@@ -1121,5 +1123,5 @@ msgid ""
"others under [.filename]#sound/pci/# for an example."
msgstr ""
"Интерфейс _AC97_ используется кодом AC97 в [.filename]#pcm# для выполнения "
-"операций более высокого уровня. В качестве примера можно посмотреть "
-"[.filename]#sound/pci/maestro3.c# или другие файлы в [.filename]#sound/pci/#."
+"операций более высокого уровня. В качестве примера можно посмотреть [."
+"filename]#sound/pci/maestro3.c# или другие файлы в [.filename]#sound/pci/#."
diff --git a/documentation/content/ru/books/arch-handbook/sound/chapter.adoc b/documentation/content/ru/books/arch-handbook/sound/chapter.adoc
deleted file mode 100644
index 4bb8b82ea9..0000000000
--- a/documentation/content/ru/books/arch-handbook/sound/chapter.adoc
+++ /dev/null
@@ -1,432 +0,0 @@
----
-title: Глава 15. Подсистема звука
-authors:
----
-
-[[oss]]
-= Подсистема звука
-:doctype: book
-:toc: macro
-:toclevels: 1
-:icons: font
-:sectnums:
-:sectnumlevels: 6
-:sectnumoffset: 15
-:partnums:
-:source-highlighter: rouge
-:experimental:
-
-ifdef::env-beastie[]
-ifdef::backend-html5[]
-:imagesdir: ../../../../images/{images-path}
-endif::[]
-ifndef::book[]
-include::shared/authors.adoc[]
-include::shared/mirrors.adoc[]
-include::shared/releases.adoc[]
-include::shared/attributes/attributes-{{% lang %}}.adoc[]
-include::shared/{{% lang %}}/teams.adoc[]
-include::shared/{{% lang %}}/mailing-lists.adoc[]
-include::shared/{{% lang %}}/urls.adoc[]
-toc::[]
-endif::[]
-ifdef::backend-pdf,backend-epub3[]
-include::../../../../../shared/asciidoctor.adoc[]
-endif::[]
-endif::[]
-
-ifndef::env-beastie[]
-toc::[]
-include::../../../../../shared/asciidoctor.adoc[]
-endif::[]
-
-[[oss-intro]]
-== Введение
-
-Перевод на русский язык: Виталий Богданов (mailto:gad@gad.glazov.net[gad@gad.glazov.net])
-
-В подсистеме звука FreeBSD существует чёткое разделение между частью, поддерживающей общие звуковые возможности и аппаратно зависимой частью. Данная особенность делает более простым добавление поддержки новых устройств.
-
-man:pcm[4] занимает центральное место в подсистеме звука. Его основными элементами являются:
-
-* Интерфейс системных вызовов (read, write, ioctls) к функциям оцифрованного звука и микшера. Командный набор ioctl совместим с интерфейсом _OSS_ или _Voxware_, позволяя тем самым портирование мультимедиа приложений без дополнительной модификации.
-* Общий код обработки звуковых данных (преобразования форматов, виртуальные каналы).
-* Единый программный интерфейс к аппаратно-зависимым модулям звукового интерфейса.
-* Дополнительная поддержка нескольких общих аппаратных интерфейсов (ac97) или разделяемого аппаратно-специфичного кода (например: функции ISA DMA).
-
-Поддержка отдельных звуковых карт осуществляется с помощью аппаратно-специфичных драйверов, обеспечивающих канальные и микшерные интерфейсы, включаемые в общий код.
-
-В этой главе термином мы будем называть центральную, общую часть звукового драйвера, как противопоставление аппаратно-специфичным модулям.
-
-Человек, решающий написать драйвер наверняка захочет использовать в качестве шаблона уже существующий код. Но, если звуковой код хорош и чист, он также в основном лишён комментариев. Этот документ - попытка рассмотрения базового интерфейса и попытка ответить на вопросы, возникшие при адаптировании существующего кода.
-
-Для старта с рабочего примера, вы можете найти шаблон драйвера, оснащенного комментариями на http://people.FreeBSD.org/\~cg/template.c[ http://people.FreeBSD.org/~cg/template.c]
-
-[[oss-files]]
-== Файлы
-
-Весь исходный код, на сегодняшний момент (FreeBSD 4.4), содержится в каталоге [.filename]#/usr/src/sys/dev/sound/#, за исключением публичных определений интерфейса ioctl, находящихся в [.filename]#/usr/src/sys/sys/soundcard.h#
-
-В подкаталоге [.filename]#pcm/# родительского каталога [.filename]#/usr/src/sys/dev/sound/# находится главный код, а в каталогах [.filename]#isa/# и [.filename]#pci/# содержатся драйвера для ISA и PCI карт.
-
-[[pcm-probe-and-attach]]
-== Обнаружение, подключение, и т.д.
-
-Обнаружение и подключение звуковых драйверов во многом схоже с драйвером любого другого устройства. За дополнительной информацией вы можете обратиться к главам <<isa-driver, ISA>> или <<pci,PCI>> данного руководства.
-
-Но всё же, звуковые драйвера немного отличаются:
-
-* Они объявляют сами себя, как устройства класса , с частной структурой устройства :
-+
-[.programlisting]
-....
- static driver_t xxx_driver = {
- "pcm",
- xxx_methods,
- sizeof(struct snddev_info)
- };
-
- DRIVER_MODULE(snd_xxxpci, pci, xxx_driver, pcm_devclass, 0, 0);
- MODULE_DEPEND(snd_xxxpci, snd_pcm, PCM_MINVER, PCM_PREFVER,PCM_MAXVER);
-....
-+
-Большинство звуковых драйверов нуждаются в сохранении личной информации, касающейся их устройства. Структура с личными данными обычно выделяется при вызове функции attach. Её адрес передаётся посредством вызовов `pcm_register()` и `mixer_init()`. Позже передаёт назад этот адрес, в качестве параметра в вызовах к интерфейсам звукового драйвера.
-* Функция подключения звукового драйвера должна объявлять её микшерный или AC97 интерфейс посредством вызова `mixer_init()`. Для микшерного интерфейса это взамен вернёт вызов <<xxxmixer-init,`xxxmixer_init()`>>.
-* Функция подключения звукового драйвера передаёт общие настройки каналов посредством вызова `pcm_register(dev, sc, nplay, nrec)`, где `sc` - адрес структуры данных устройства, используемой в дальнейших вызовах от , а `nplay` и `nrec` - количество каналов проигрывания и записи.
-* Функция подключения звукового драйвера объявляет каждый из её каналов с помощью вызовов `pcm_addchan()`. Это установит занятость канала в и вызовет взамен вызов <<xxxchannel-init,`xxxchannel_init()`>>.
-* Функция отключения должна вызывать `pcm_unregister()` перед объявлением её ресурсов свободными.
-
-Существует два метода работы с не PnP устройствами:
-
-* Использование метода `device_identify()` (пример смотрите в: [.filename]#sound/isa/es1888.c#). `device_identify()` пытается обнаружить оборудование, использующее известные адреса, и если найдёт поддерживаемое устройство, то создаст новое pcm устройство, которое затем будет передано процессу обнаружения/подключения.
-* Использование выборочной конфигурации ядра с соответствующими хинтами для pcm устройств (пример: [.filename]#sound/isa/mss.c#).
-
-драйверы должны поддерживать `device_suspend`, `device_resume` и `device_shutdown` функции, для корректного функционирования управления питанием и процесса выгрузки модуля.
-
-[[oss-interfaces]]
-== Интерфейсы
-
-Интерфейс между и звуковыми драйверами определён в терминах <<kernel-objects,объектов ядра>>.
-
-Есть 2 основных интерфейса, которые обычно обеспечивает звуковой драйвер: _канальный_ и, либо _микшерный_ либо _AC97_.
-
-Интерфейс _AC97_ довольно мало использует доступ к ресурсам оборудования (чтение/запись регистров). Данный интерфейс реализован в драйверах для карт с кодеком AC97. В этом случае фактический микшерный интерфейс обеспечивается разделяемым кодом AC97 в .
-
-=== Канальный интерфейс
-
-==== Общие заметки о параметрах функций
-
-Звуковые драйверы обычно имеют структуру с личными данными для описания их устройства и по одной структуре на каждый поддерживаемый канал проигрывания или записи данных.
-
-Для всех функций канального интерфейса первый параметр - непрозрачный указатель.
-
-Второй параметр это указатель на структуру с данными канала. Исключение: У ``channel_init()`` это указатель на частную структуру устройства (данная функция возвращает указатель на канал для дальнейшего использования в ).
-
-==== Обзор операций передачи данных
-
-Для передачи данных, и звуковые драйвера используют разделяемую область памяти, описанную в .
-
-принадлежит , и звуковые драйверы получают нужные значения с помощью вызовов функций (`sndbuf_getxxx()`).
-
-Область разделяемой памяти имеет размер, определяемый с помощью `sndbuf_getsize()` и разделён на блоки фиксированного размера, определённого в `sndbuf_getblksz()` количества байт.
-
-При проигрывании, общий механизм передачи данных примерно следующий (обратный механизму, используемому при записи):
-
-* В начале, заполняет буфер, затем вызывает функцию звукового драйвера <<channel-trigger,``xxxchannel_trigger()``>> с параметром PCMTRIG_START.
-* Затем звуковой драйвер многократно передаёт всю область памяти (`sndbuf_getbuf()`, `sndbuf_getsize()`) устройству, с количеством байт, определённым в `sndbuf_getblksz()` . Взамен это вызовет `chn_intr()` функцию для каждого переданного блока (это обычно происходит во время прерывания).
-* `chn_intr()` копирует новые данные в область, которая была передана устройству (сейчас свободная) и вносит соответствующие изменения в структуру .
-
-[[xxxchannel-init]]
-=== channel_init
-
-`xxxchannel_init()` вызывается для инициализации каждого из каналов проигрывания или записи. Вызовы инициируются функцией подключения звукового драйвера. (Подробнее в главе <<pcm-probe-and-attach, Обнаружение и подключение>>).
-
-[.programlisting]
-....
- static void *
- xxxchannel_init(kobj_t obj, void *data,
- struct snd_dbuf *b, struct pcm_channel *c, int dir)
- {
- struct xxx_info *sc = data;
- struct xxx_chinfo *ch;
- ...
- return ch;
- }
-
- b - это адрес канальной
- struct snd_dbuf. Она должна
- быть инициализирована в функции посредством
- вызова sndbuf_alloc(). Нормальный
- размер буфера для использования - наименьшее кратное
- размера передаваемого блока данных для вашего устройства.
-
- c - это
- указатель на структуру
- контроля pcm канала. Это не прозрачный
- объект. Функция должна хранить его в локальной структуре
- канала, для дальнейшего использования в вызовах к
- pcm (например в:
- chn_intr(c)).
-
- dir определяет для каких целей
- используется канал
- (PCMDIR_PLAY или
- PCMDIR_REC).
-
- Функция должна возвращать указатель на личную,
- область, используемую для контроля этого
- канала. Он будет передаваться в качестве параметра в
- других вызовах канального интерфейса.
-
- channel_setformat
-
- xxxchannel_setformat() настраивает
- устройство на конкретный канал определённого формата звука.
-
- static int
- xxxchannel_setformat(kobj_t obj, void *data, u_int32_t format)
- {
- struct xxx_chinfo *ch = data;
- ...
- return 0;
- }
-
- format используется, как
- AFMT_XXX значение
- (soundcard.h).
-
- channel_setspeed
-
- xxxchannel_setspeed() устанавливает
- оборудование канала на определённую шаблонную скорость и возвращает
- возможную корректирующую скорость.
-
- static int
- xxxchannel_setspeed(kobj_t obj, void *data, u_int32_t speed)
- {
- struct xxx_chinfo *ch = data;
- ...
- return speed;
- }
-
- channel_setblocksize
-
- xxxchannel_setblocksize() устанавливает
- размер передаваемого блока между
- pcm и звуковым драйвером, и между
- звуковым драйвером и устройством. Обычно это будет количество
- переданных байт перед прерыванием. Во время трансфера звуковой
- драйвер должен должен вызывать
- pcm функцию chn_intr() каждый
- раз при передаче блока данных такого размера.
-
- Большинство звуковых драйверов только берут на заметку
- размер блока для использования во время передачи данных.
-
- static int
- xxxchannel_setblocksize(kobj_t obj, void *data, u_int32_t blocksize)
- {
- struct xxx_chinfo *ch = data;
- ...
- return blocksize;
- }
-
- Функция возвращает возможно согласованный размер
- блока. В случае, если размер блока действительно
- изменился должен быть произведён вызов
- sndbuf_resize() для корректирования
- буфера.
-
- channel_trigger
-
- xxxchannel_trigger() вызывается
- pcm для контроля над трансферными
- операциями в драйвере.
-
- static int
- xxxchannel_trigger(kobj_t obj, void *data, int go)
- {
- struct xxx_chinfo *ch = data;
- ...
- return 0;
- }
-
- go определяет действие для
- текущего вызова. Возможные значения:
-
- PCMTRIG_START: драйвер
- должен начать передачу данных из или в канальный
- буфер. Буфер и его размер могут быть получены через
- вызов sndbuf_getbuf() и
- sndbuf_getsize().
-
- PCMTRIG_EMLDMAWR /
- PCMTRIG_EMLDMARD: говорит
- драйверу, что входной или выходной буфер возможно
- был обновлён. Большинство драйверов игнорируют
- эти вызовы.
-
- PCMTRIG_STOP /
- PCMTRIG_ABORT: драйвер должен
- остановить текущую передачу данных.
-
- Если драйвер использует ISA DMA,
- sndbuf_isadma() должна вызываться
- перед выполнением действий над устройством, она также
- позаботится о вещах со стороны DMA чипа.
-
- channel_getptr
-
- xxxchannel_getptr() возвращает
- текущее смещение в передаваемом буфере. Обычно вызывается
- в chn_intr(), и так
- pcm узнаёт, где брать данные для
- новой передачи.
-
- channel_free
-
- xxxchannel_free() вызывается для
- освобождения ресурсов канала. Например: должна вызываться,
- при выгрузке драйвера, если структуры данных канала
- распределялись динамично или, если
- sndbuf_alloc() не использовалась
- для выделения памяти под буфер.
-
- channel_getcaps
-
- struct pcmchan_caps *
- xxxchannel_getcaps(kobj_t obj, void *data)
- {
- return xxx_caps;
- }
-
- Подпрограмма возвращает указатель на (обычно
- статически-определяемую) структуру
- pcmchan_caps (описанную в
- sound/pcm/channel.h. Структура содержит
- данные о минимуме и максимуме шаблонных частот и
- воспринимаемых звуковых форматах. Для примера смотрите
- исходный код любого звукового драйвера.
-
- Другие функции
-
- channel_reset(),
- channel_resetdone(), и
- channel_notify() предназначены для
- специальных целей и не должны употребляться в драйвере
- без обсуждения с авторами ({cg}).
-
- channel_setdir() is deprecated.
-
- Микшерный интерфейс
-
- mixer_init
-
- xxxmixer_init() инициализирует
- оборудование и говорит pcm какие микшерные
- устройства доступны для проигрывания и записи
-
- static int
- xxxmixer_init(struct snd_mixer *m)
- {
- struct xxx_info *sc = mix_getdevinfo(m);
- u_int32_t v;
-
- [Initialize hardware]
-
- [Set appropriate bits in v for play mixers]
- mix_setdevs(m, v);
- [Set appropriate bits in v for record mixers]
- mix_setrecdevs(m, v)
-
- return 0;
- }
-
- Устанавливает биты в целом значении и вызывает
- mix_setdevs() и
- mix_setrecdevs() чтобы сообщить
- pcm какие устройства существуют.
-
- Определения битов микшера могут быть найдены в
- soundcard.h
- (SOUND_MASK_XXX значения и
- SOUND_MIXER_XXX битовые сдвиги).
-
- mixer_set
-
- xxxmixer_set() устанавливает уровень
- громкости для одного микшерного устройства.
-
- static int
- xxxmixer_set(struct snd_mixer *m, unsigned dev,
- unsigned left, unsigned right)
- {
- struct sc_info *sc = mix_getdevinfo(m);
- [set volume level]
- return left | (right 8);
- }
-
- Устройство определяется, как SOUND_MIXER_XXX
- значение Допустимые значения уровней громкости лежат
- в пределах [0-100]. Равное нулю значение должно выключать звук
- устройства.
-
- Вероятно уровни оборудования не будут совпадать с
- входной шкалой, и будет происходить некоторое округление, подпрограмма
- будет возвращает точные значения (в промежутке 0-100), как уже
- было сказано.
-
- mixer_setrecsrc
-
- xxxmixer_setrecsrc() устанавливает
- исходное записывающее устройство.
-
- static int
- xxxmixer_setrecsrc(struct snd_mixer *m, u_int32_t src)
- {
- struct xxx_info *sc = mix_getdevinfo(m);
-
- [look for non zero bit(s) in src, set up hardware]
-
- [update src to reflect actual action]
- return src;
- }
-
- Желаемые записывающие устройства указываются в битовом поле
-
- Возвращается фактический набор устройств для записи.
- Некоторые драйверы могут устанавливать только одно устройство для
- записи. Функция должна возвращать -1, в случае возникновения
- ошибки.
-
- mixer_uninit, mixer_reinit
-
- xxxmixer_uninit() должна проверить,
- что все звуки выключены (mute), и, если возможно выключить
- оборудование микшера
-
- xxxmixer_reinit() должна удостовериться,
- что оборудование микшера включено и все установки, неконтролируемые
- mixer_set() или
- mixer_setrecsrc() восстановлены.
-
- Интерфейс AC97
-
- AC97
-
- Поддержка интерфейса AC97 осуществляется
- драйверами с кодеком AC97. Он поддерживает только три метода:
-
- xxxac97_init() возвращает
- количество найденных ac97 кодеков.
-
- ac97_read() и
- ac97_write() читают или записывают
- данные определенного регистра.
-
- Интерфейс AC97 используется кодом
- AC97 в pcm для выполнения операций
- более высокого уровня. За примером обращайтесь к
- sound/pci/maestro3.c или к другим
- файлам из каталога sound/pci/.
-....
diff --git a/documentation/content/ru/books/arch-handbook/sysinit/_index.adoc b/documentation/content/ru/books/arch-handbook/sysinit/_index.adoc
index 2ed3e6c763..b108a6d571 100644
--- a/documentation/content/ru/books/arch-handbook/sysinit/_index.adoc
+++ b/documentation/content/ru/books/arch-handbook/sysinit/_index.adoc
@@ -4,7 +4,7 @@ next: books/arch-handbook/mac
params:
path: /books/arch-handbook/sysinit/
prev: books/arch-handbook/jail
-showBookMenu: true
+showBookMenu: 'true'
tags: ["SYSINIT", "framework", "Terminology"]
title: 'Глава 5. Фреймворк SYSINIT'
weight: 6
diff --git a/documentation/content/ru/books/arch-handbook/sysinit/_index.po b/documentation/content/ru/books/arch-handbook/sysinit/_index.po
index 6dac0074cb..c7ff0782c8 100644
--- a/documentation/content/ru/books/arch-handbook/sysinit/_index.po
+++ b/documentation/content/ru/books/arch-handbook/sysinit/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-14 22:43+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-07-02 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -25,7 +25,7 @@ msgstr ""
msgid "The SYSINIT Framework"
msgstr "Фреймворк SYSINIT"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/arch-handbook/sysinit/_index.adoc:1
#, no-wrap
msgid "Chapter 5. The SYSINIT Framework"
@@ -52,8 +52,8 @@ msgstr ""
"маршруты инициализации и перекомпилировать ядро. Эта система также позволяет "
"модулям ядра (в настоящее время называемым _KLD_) компилироваться, "
"линковаться и инициализироваться отдельно во время загрузки, а также "
-"загружаться позже, когда система уже работает. Это достигается с помощью "
-"«компоновщика ядра» (kernel linker) и «наборов компоновщика» (linker sets)."
+"загружаться позже, когда система уже работает. Это достигается с помощью «"
+"компоновщика ядра» (kernel linker) и «наборов компоновщика» (linker sets)."
#. type: Title ==
#: documentation/content/en/books/arch-handbook/sysinit/_index.adoc:54
@@ -118,8 +118,8 @@ msgstr ""
"вызова функций SYSINIT. Предварительно объявленные идентификаторы находятся "
"в [.filename]#<sys/kernel.h># в перечислении `sysinit_sub_id`. Второй "
"используемый приоритет — это порядок элементов внутри подсистемы. "
-"Предварительно объявленные порядки элементов подсистемы находятся в "
-"[.filename]#<sys/kernel.h># в перечислении `sysinit_elem_order`."
+"Предварительно объявленные порядки элементов подсистемы находятся в [."
+"filename]#<sys/kernel.h># в перечислении `sysinit_elem_order`."
#. type: Plain text
#: documentation/content/en/books/arch-handbook/sysinit/_index.adoc:67
diff --git a/documentation/content/ru/books/arch-handbook/usb/_index.adoc b/documentation/content/ru/books/arch-handbook/usb/_index.adoc
index 1694fb305a..907e98b413 100644
--- a/documentation/content/ru/books/arch-handbook/usb/_index.adoc
+++ b/documentation/content/ru/books/arch-handbook/usb/_index.adoc
@@ -4,7 +4,7 @@ next: books/arch-handbook/newbus
params:
path: /books/arch-handbook/usb/
prev: books/arch-handbook/scsi
-showBookMenu: true
+showBookMenu: 'true'
tags: ["USB", "Structure", "UHCI", "OHCI"]
title: 'Глава 13. USB-устройства'
weight: 15
diff --git a/documentation/content/ru/books/arch-handbook/usb/_index.po b/documentation/content/ru/books/arch-handbook/usb/_index.po
index 9cb9288b11..1608199a02 100644
--- a/documentation/content/ru/books/arch-handbook/usb/_index.po
+++ b/documentation/content/ru/books/arch-handbook/usb/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-14 22:43+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-07-12 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,13 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/arch-handbook/usb/_index.adoc:1
#, no-wrap
msgid "USB Devices in FreeBSD"
msgstr "Устройства USB в FreeBSD"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/arch-handbook/usb/_index.adoc:1
#, no-wrap
msgid "Chapter 13. USB Devices"
@@ -170,8 +170,8 @@ msgid ""
"USB 2.0 Specification (http://www.usb.org/developers/docs/usb20_docs/[http://"
"www.usb.org/developers/docs/usb20_docs/])"
msgstr ""
-"Спецификация USB 2.0 (http://www.usb.org/developers/docs/usb20_docs/[http://"
-"www.usb.org/developers/docs/usb20_docs/])"
+"Спецификация USB 2.0 (http://www.usb.org/developers/docs/usb20_docs/"
+"[http://www.usb.org/developers/docs/usb20_docs/])"
#. type: Plain text
#: documentation/content/en/books/arch-handbook/usb/_index.adoc:69
@@ -180,9 +180,9 @@ msgid ""
"ftp.netbsd.org/pub/NetBSD/misc/blymn/uhci11d.pdf[ftp://ftp.netbsd.org/pub/"
"NetBSD/misc/blymn/uhci11d.pdf)]"
msgstr ""
-"Универсальный интерфейс хост-контроллера (UHCI) Спецификация (link:ftp://"
-"ftp.netbsd.org/pub/NetBSD/misc/blymn/uhci11d.pdf[ftp://ftp.netbsd.org/pub/"
-"NetBSD/misc/blymn/uhci11d.pdf])"
+"Универсальный интерфейс хост-контроллера (UHCI) Спецификация (link:ftp://ftp."
+"netbsd.org/pub/NetBSD/misc/blymn/uhci11d.pdf[ftp://ftp.netbsd.org/pub/NetBSD/"
+"misc/blymn/uhci11d.pdf])"
#. type: Plain text
#: documentation/content/en/books/arch-handbook/usb/_index.adoc:70
@@ -191,9 +191,9 @@ msgid ""
"ftp.compaq.com/pub/supportinformation/papers/hcir1_0a.pdf[ftp://"
"ftp.compaq.com/pub/supportinformation/papers/hcir1_0a.pdf])"
msgstr ""
-"Спецификация интерфейса Open Host Controller (OHCI)(link:ftp://"
-"ftp.compaq.com/pub/supportinformation/papers/hcir1_0a.pdf[ftp://"
-"ftp.compaq.com/pub/supportinformation/papers/hcir1_0a.pdf])"
+"Спецификация интерфейса Open Host Controller (OHCI)(link:ftp://ftp.compaq."
+"com/pub/supportinformation/papers/hcir1_0a.pdf[ftp://ftp.compaq.com/pub/"
+"supportinformation/papers/hcir1_0a.pdf])"
#. type: Plain text
#: documentation/content/en/books/arch-handbook/usb/_index.adoc:71
@@ -256,8 +256,8 @@ msgstr ""
"(классы) устройств. Эти драйверы реализуют протокол, используемый в каналах, "
"отличных от стандартного. Они также реализуют дополнительную "
"функциональность для обеспечения доступа к устройству другим частям ядра или "
-"пользовательского пространства. Они используют интерфейс драйвера USB "
-"(USBDI), предоставляемый уровнем сервисов."
+"пользовательского пространства. Они используют интерфейс драйвера USB (USBDI)"
+", предоставляемый уровнем сервисов."
#. type: Title ==
#: documentation/content/en/books/arch-handbook/usb/_index.adoc:81
@@ -338,28 +338,27 @@ msgid ""
"a more abstract interface doing a lot of work themselves."
msgstr ""
"Запросы устройств (управляющие передачи) к конечным точкам по умолчанию "
-"являются особыми. Они состоят из двух или трёх фаз: SETUP, DATA "
-"(опционально) и STATUS. Пакет настройки отправляется на устройство. Если "
-"присутствует фаза данных, направление пакета(ов) данных указывается в пакете "
-"настройки. Направление в фазе статуса противоположно направлению во время "
-"фазы данных или IN, если фазы данных не было. Аппаратное обеспечение хост-"
-"контроллера также предоставляет регистры с текущим состоянием корневых "
-"портов и изменениями, произошедшими с момента последнего сброса регистра "
-"изменений статуса. Доступ к этим регистрам предоставляется через "
-"виртуализированный концентратор, как предложено в спецификации USB. "
-"Виртуальный концентратор должен соответствовать классу устройств "
-"концентратора, указанному в главе 11 этой спецификации. Он должен "
-"предоставлять канал по умолчанию, через который можно отправлять запросы "
-"устройств. Он возвращает стандартные и специфичные для класса концентратора "
-"наборы дескрипторов. Также он должен предоставлять прерывающий канал, "
-"сообщающий об изменениях, происходящих на его портах. В настоящее время "
-"доступны две спецификации для хост-контроллеров: - Universal Host Controller "
-"Interface (UHCI) от Intel и Open Host Controller Interface (OHCI) от Compaq, "
-"Microsoft и National Semiconductor. Спецификация UHCI разработана для "
-"уменьшения аппаратной сложности, требуя от драйвера хост-контроллера "
-"предоставления полного расписания передач для каждого кадра. Контроллеры "
-"типа OHCI гораздо более независимы, предоставляя более абстрактный интерфейс "
-"и выполняя большую часть работы самостоятельно."
+"являются особыми. Они состоят из двух или трёх фаз: SETUP, DATA (опционально)"
+" и STATUS. Пакет настройки отправляется на устройство. Если присутствует "
+"фаза данных, направление пакета(ов) данных указывается в пакете настройки. "
+"Направление в фазе статуса противоположно направлению во время фазы данных "
+"или IN, если фазы данных не было. Аппаратное обеспечение хост-контроллера "
+"также предоставляет регистры с текущим состоянием корневых портов и "
+"изменениями, произошедшими с момента последнего сброса регистра изменений "
+"статуса. Доступ к этим регистрам предоставляется через виртуализированный "
+"концентратор, как предложено в спецификации USB. Виртуальный концентратор "
+"должен соответствовать классу устройств концентратора, указанному в главе 11 "
+"этой спецификации. Он должен предоставлять канал по умолчанию, через который "
+"можно отправлять запросы устройств. Он возвращает стандартные и специфичные "
+"для класса концентратора наборы дескрипторов. Также он должен предоставлять "
+"прерывающий канал, сообщающий об изменениях, происходящих на его портах. В "
+"настоящее время доступны две спецификации для хост-контроллеров: - Universal "
+"Host Controller Interface (UHCI) от Intel и Open Host Controller Interface "
+"(OHCI) от Compaq, Microsoft и National Semiconductor. Спецификация UHCI "
+"разработана для уменьшения аппаратной сложности, требуя от драйвера хост-"
+"контроллера предоставления полного расписания передач для каждого кадра. "
+"Контроллеры типа OHCI гораздо более независимы, предоставляя более "
+"абстрактный интерфейс и выполняя большую часть работы самостоятельно."
#. type: Title ===
#: documentation/content/en/books/arch-handbook/usb/_index.adoc:91
@@ -663,8 +662,8 @@ msgid ""
msgstr ""
"Дескрипторы конечных точек: Адрес конечной точки, направление и тип, "
"максимальный поддерживаемый размер пакета и частота опроса, если тип "
-"является конечной точкой прерывания. Для конечной точки по умолчанию "
-"(конечная точка 0) дескриптора не существует, и она никогда не учитывается в "
+"является конечной точкой прерывания. Для конечной точки по умолчанию ("
+"конечная точка 0) дескриптора не существует, и она никогда не учитывается в "
"дескрипторе интерфейса."
#. type: Plain text
@@ -707,8 +706,8 @@ msgstr ""
"Канальный обмен данными с конечными точками устройства осуществляется через "
"так называемые *каналы*. Драйверы передают данные конечным точкам через "
"канал и предоставляют функцию обратного вызова, которая вызывается при "
-"завершении или сбое передачи (асинхронные передачи) или ожидают завершения "
-"(синхронная передача). Передачи данных в конечную точку сериализуются в "
+"завершении или сбое передачи (асинхронные передачи) или ожидают завершения ("
+"синхронная передача). Передачи данных в конечную точку сериализуются в "
"канале. Передача может завершиться успешно, завершиться с ошибкой или "
"превысить время ожидания (если оно было задано). Существует два типа "
"таймаутов для передач. Таймауты могут происходить из-за истечения времени на "
diff --git a/documentation/content/ru/books/arch-handbook/vm/_index.adoc b/documentation/content/ru/books/arch-handbook/vm/_index.adoc
index 25c363a04b..7cef1ac6f0 100644
--- a/documentation/content/ru/books/arch-handbook/vm/_index.adoc
+++ b/documentation/content/ru/books/arch-handbook/vm/_index.adoc
@@ -4,7 +4,7 @@ next: books/arch-handbook/smp
params:
path: /books/arch-handbook/vm/
prev: books/arch-handbook/mac
-showBookMenu: true
+showBookMenu: 'true'
tags: ["Virtual memory", "vm_page_t", "vm_object_t", "I/O", "KVM"]
title: 'Глава 7. Система управления виртуальной памятью'
weight: 8
diff --git a/documentation/content/ru/books/arch-handbook/vm/_index.po b/documentation/content/ru/books/arch-handbook/vm/_index.po
index 182ae77808..218934137f 100644
--- a/documentation/content/ru/books/arch-handbook/vm/_index.po
+++ b/documentation/content/ru/books/arch-handbook/vm/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-14 22:43+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-08-26 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,13 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/arch-handbook/vm/_index.adoc:1
#, no-wrap
msgid "Virtual Memory System in FreeBSD"
msgstr "Система управления виртуальной памятью во FreeBSD"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/arch-handbook/vm/_index.adoc:1
#, no-wrap
msgid "Chapter 7. Virtual Memory System"
@@ -112,8 +112,8 @@ msgid ""
"free pages must be maintained in order to accommodate page allocation at "
"interrupt time."
msgstr ""
-"В общем случае каждая из очередей подкачки работает по принципу LRU "
-"(наименее недавно использованная). Обычно страница изначально помещается в "
+"В общем случае каждая из очередей подкачки работает по принципу LRU ("
+"наименее недавно использованная). Обычно страница изначально помещается в "
"зафиксированное или активное состояние. В зафиксированном состоянии "
"страница, как правило, ассоциирована с какой-либо таблицей страниц. Система "
"виртуальной памяти «состаривает» страницу, просматривая страницы в более "
@@ -163,14 +163,13 @@ msgstr ""
"перераспределения зависит от текущей нагрузки на память системы. Это "
"перераспределение выполняется демоном выгрузки страниц (pageout daemon) и "
"включает в себя очистку (laundering) грязных страниц (синхронизацию их с "
-"резервным хранилищем), отслеживание активности страниц по ссылкам на них "
-"(сброс их положения в очередях LRU или перемещение между очередями), "
-"миграцию страниц между очередями при разбалансировке очередей и другие "
-"действия. Система виртуальной памяти FreeBSD допускает определённое "
-"количество сбоев повторной активации страниц, чтобы точнее определить, "
-"насколько страница фактически активна или неактивна. Это позволяет принимать "
-"более обоснованные решения о том, когда очищать или выгружать страницу в "
-"файл подкачки."
+"резервным хранилищем), отслеживание активности страниц по ссылкам на них ("
+"сброс их положения в очередях LRU или перемещение между очередями), миграцию "
+"страниц между очередями при разбалансировке очередей и другие действия. "
+"Система виртуальной памяти FreeBSD допускает определённое количество сбоев "
+"повторной активации страниц, чтобы точнее определить, насколько страница "
+"фактически активна или неактивна. Это позволяет принимать более обоснованные "
+"решения о том, когда очищать или выгружать страницу в файл подкачки."
#. type: Title ==
#: documentation/content/en/books/arch-handbook/vm/_index.adoc:69
@@ -187,8 +186,8 @@ msgid ""
"the same VM objects to manage in-core data relating to files, the result is "
"a unified buffer cache."
msgstr ""
-"FreeBSD реализует концепцию универсального «объекта виртуальной памяти» (VM-"
-"объекта). VM-объекты могут быть связаны с резервным хранилищем различных "
+"FreeBSD реализует концепцию универсального «объекта виртуальной памяти» "
+"(VM-объекта). VM-объекты могут быть связаны с резервным хранилищем различных "
"типов: без резервного хранилища, с подкачкой, с физическим устройством или с "
"файловым хранилищем. Поскольку файловая система использует те же VM-объекты "
"для управления данными в оперативной памяти, связанными с файлами, в "
@@ -315,8 +314,8 @@ msgstr ""
"FreeBSD разделяет топологию физических таблиц страниц от системы виртуальной "
"памяти. Все основные таблицы страниц, связанные с каждым процессом, могут "
"быть восстановлены динамически и обычно считаются временными (throwaway). "
-"Специальные таблицы страниц, такие как те, которые управляют KVM "
-"(виртуальной памятью ядра), обычно предварительно выделяются навсегда. Эти "
+"Специальные таблицы страниц, такие как те, которые управляют KVM ("
+"виртуальной памятью ядра), обычно предварительно выделяются навсегда. Эти "
"таблицы страниц не являются временными."
#. type: Plain text
@@ -513,8 +512,8 @@ msgid ""
msgstr ""
"Настройка виртуальной памяти (VM) и системы во время работы относительно "
"проста. Во-первых, используйте Soft Updates на ваших файловых системах UFS/"
-"FFS, когда это возможно. Файл [.filename]#/usr/src/sys/ufs/ffs/"
-"README.softupdates# содержит инструкции (и ограничения) по конфигурации этой "
+"FFS, когда это возможно. Файл [.filename]#/usr/src/sys/ufs/ffs/README."
+"softupdates# содержит инструкции (и ограничения) по конфигурации этой "
"функции."
#. type: Plain text
diff --git a/documentation/content/ru/books/design-44bsd/_index.adoc b/documentation/content/ru/books/design-44bsd/_index.adoc
index 7146569e37..1e07c9a701 100644
--- a/documentation/content/ru/books/design-44bsd/_index.adoc
+++ b/documentation/content/ru/books/design-44bsd/_index.adoc
@@ -100,7 +100,7 @@ _Ядро_, по традиционной терминологии операц
* Подсистемы межпроцессного взаимодействия: сокеты
* Поддержка сетевых коммуникаций: коммуникационные протоколы и общесетевые подсистемы, такие, как маршрутизация
-.Машинно-независимое программное обеспечение в ядре 4.4BSD
+.Машинонезависимое программное обеспечение в ядре 4.4BSD
[[table-mach-indep]]
[cols=",,", options="header"]
|===
@@ -127,9 +127,9 @@ _Ядро_, по традиционной терминологии операц
|протоколы XNS |5,192 |2.6
|===
-Большая часть программного обеспечения в этих категориях является машинно-независимой и переносима между различными аппаратными архитектурами.
+Большая часть программного обеспечения в этих категориях является машинонезависимой и переносима между различными аппаратными архитектурами.
-Машинно-зависимые аспекты ядра отделены от основного кода. В частности, ни в одной части машинно-независимого кода не содержится кода, зависимого от конкретной архитектуры. Когда требуется произвести действия, зависимые от архитектуры, машинно-независимый код вызывает функцию, зависимую от архитектуры машины, которая находится в машинно-зависимой части кода. Машинно-зависимое программное обеспечение включает в себя
+Машинозависимые аспекты ядра отделены от основного кода. В частности, ни в одной части машинонезависимого кода не содержится кода, зависимого от конкретной архитектуры. Когда требуется произвести действия, зависимые от архитектуры, машинонезависимый код вызывает функцию, зависимую от архитектуры машины, которая находится в машинозависимой части кода. Машинозависимое программное обеспечение включает в себя
* Низкоуровневые действия по запуску системы
* Обработка исключительных ситуаций и прерываний
@@ -137,7 +137,7 @@ _Ядро_, по традиционной терминологии операц
* Конфигурация и инициализация аппаратных устройств
* Поддержка устройств ввода/вывода во время работы
-.Машинно-зависимое программное обеспечение для HP300 в ядре 4.4BSD
+.Машинозависимое программное обеспечение для HP300 в ядре 4.4BSD
[[table-mach-dep]]
[cols=",,", options="header"]
|===
@@ -151,7 +151,7 @@ _Ядро_, по традиционной терминологии операц
|совместимость с HP/UX |4,683 |2.3
|===
-crossref:design-44bsd[table-mach-indep, Машинно-независимое программное обеспечение в ядре 4.4BSD] показывает статистику машинно-независимого кода, который составляет ядро 4.4BSD для HP300. Числа во второй колонке обозначают количество строк исходного кода на языке C, заголовочных файлов и ассемблерного кода. Практически весь код ядра написан на языке программирования C; менее двух процентов написано на языке ассемблера. Как показывает статистика в crossref:design-44bsd[table-mach-dep, Машинно-зависимое программное обеспечение для HP300 в ядре 4.4BSD], машинно-зависимый код, не включающий поддержку HP/UX и устройств, составляет менее 6.9 процента ядра.
+crossref:design-44bsd[table-mach-indep, Машинонезависимое программное обеспечение в ядре 4.4BSD] показывает статистику машинонезависимого кода, который составляет ядро 4.4BSD для HP300. Числа во второй колонке обозначают количество строк исходного кода на языке C, заголовочных файлов и ассемблерного кода. Практически весь код ядра написан на языке программирования C; менее двух процентов написано на языке ассемблера. Как показывает статистика в crossref:design-44bsd[table-mach-dep, Машинозависимое программное обеспечение для HP300 в ядре 4.4BSD], машинозависимый код, не включающий поддержку HP/UX и устройств, составляет менее 6.9 процента ядра.
Лишь малая часть ядра отвечает за инициализацию системы. Этот код используется при _начальной загрузке_ системы для перехода в рабочий режим и отвечает за настройку аппаратного и программного окружения ядра (обратитесь к Главе 14). Некоторые операционные системы (особенно те, что ограничены объемом физической памяти) выполняют действия по выгрузке или _перекрытию_ программного кода, выполняющего эти функции, после окончания его работы. Ядро 4.4BSD не работает повторно с памятью, использованной начальным кодом, потому что этот объем памяти составляет менее 0.5 процентов ресурсов ядра, используемых на типичной машине. Также начальный код не находится только в одном месте ядра - он рассредоточен везде, и обычно появляется там, где логически связан с объектом инициализации.
@@ -228,7 +228,7 @@ image:fig1.png[Жизненный цикл процесса]
И снова сроки разработки не позволили включить в 4.3BSD реализацию этого интерфейса. Хотя позже она могла быть встроена в имеющуюся подсистему виртуальной памяти 4.3BSD, разработчики решили не включать ее сюда. потому что этой реализации было уже более 10 лет. Более того, оригинальная архитектура виртуальной памяти была основана на предположении, что компьютерная память мала и дорога, а диски подключены непосредственно к компьютеру, быстры и дешевы. Поэтому подсистема виртуальной памяти была разработана с упором на бережное использование памяти ценой более частых обращений к диску. Вдобавок реализация в 4.3BSD была пронизана зависимостями от аппаратной системы управления памятью машин VAX, что препятствовало ее переносу на другие аппаратные платформы. И наконец, подсистема виртуальной памяти не была предназначена для поддержки связных многопроцессорных систем, которые сейчас становятся все более распространенными и необходимыми.
-Попытки постепенно усовершенствовать старую реализацию заведомо были обречены на неудачу. Полностью новая архитектура, с другой стороны, могла бы использовать большие объемы памяти, уменьшить дисковые операции и обеспечивать работу с несколькими процессорами. Наконец, система виртуальной памяти в 4.4BSD была полностью изменена. Система виртуальной памяти 4.4BSD основана на системе виртуальнй памяти (VM) crossref:design-44bsd[biblio-tevanian, [Tevanian, 1987]] с заимствованиями из Mach 2.5 и Mach 3.0. В ней была эффективная поддержка совместного использования, полное разделение машинно-зависимой и машинно-независимой частей, а также (сейчас не используемая) поддержка работы с несколькими процессорами. Процессы могут отображать файлы в любую область своего адресного пространства. Они могут совместно использовать части своих адресных пространств посредством отображения в память одного и того же файла. Изменения, сделанные одним процессом, видны в адресном пространстве другого процесса, а также записываются и в сам файл. Процессы могут также запрашивать эксклюзивное отображение файла в память, при котором любые изменения, сделанные процессом, не видны другим процессам, которые отображают файл в память и не записываются обратно в файл.
+Попытки постепенно усовершенствовать старую реализацию заведомо были обречены на неудачу. Полностью новая архитектура, с другой стороны, могла бы использовать большие объемы памяти, уменьшить дисковые операции и обеспечивать работу с несколькими процессорами. Наконец, система виртуальной памяти в 4.4BSD была полностью изменена. Система виртуальной памяти 4.4BSD основана на системе виртуальной памяти (VM) crossref:design-44bsd[biblio-tevanian, [Tevanian, 1987]] с заимствованиями из Mach 2.5 и Mach 3.0. В ней была эффективная поддержка совместного использования, полное разделение машинозависимой и машинонезависимой частей, а также (сейчас не используемая) поддержка работы с несколькими процессорами. Процессы могут отображать файлы в любую область своего адресного пространства. Они могут совместно использовать части своих адресных пространств посредством отображения в память одного и того же файла. Изменения, сделанные одним процессом, видны в адресном пространстве другого процесса, а также записываются и в сам файл. Процессы могут также запрашивать эксклюзивное отображение файла в память, при котором любые изменения, сделанные процессом, не видны другим процессам, которые отображают файл в память и не записываются обратно в файл.
Еще одной проблемой с системой виртуальной памяти является способ, которым информация передается ядру при выполнении системного вызова. 4.4BSD всегда копирует данные из адресного пространства процесса в буфер ядра. Для операций чтения и записи, при которых передаются большие объемы данных, выполнение копирования может оказаться занимающим время процессом. Альтернативным способом является манипуляции с адресным пространством процесса в ядре. Ядро 4.4BSD всегда копирует данные о нескольким причинам:
diff --git a/documentation/content/ru/books/design-44bsd/_index.po b/documentation/content/ru/books/design-44bsd/_index.po
index e94660b26e..8887737e67 100644
--- a/documentation/content/ru/books/design-44bsd/_index.po
+++ b/documentation/content/ru/books/design-44bsd/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-03 18:09+0300\n"
-"PO-Revision-Date: 2025-10-03 04:45+0000\n"
+"POT-Creation-Date: 2024-12-29 08:29-0500\n"
+"PO-Revision-Date: 2025-10-29 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/booksdesign-44bsd_index/ru/>\n"
@@ -18,11 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/design-44bsd/_index.adoc:1
#, no-wrap
msgid "Donated by Addison-Wesley, provides a design overview of 4.4BSD, from which FreeBSD was originally derived"
-msgstr "Предоставлено издательством Addison-Wesley и предоставляет обзор архитектуры 4.4BSD, от которой изначально произошел FreeBSD"
+msgstr ""
+"Предоставлено издательством Addison-Wesley и предоставляет обзор архитектуры "
+"4.4BSD, от которой изначально произошел FreeBSD"
#. type: Title =
#: documentation/content/en/books/design-44bsd/_index.adoc:1
@@ -84,8 +86,8 @@ msgid ""
"subject of Chapter 9. Terminals are used to access the system; their "
"operation is the subject of Chapter 10."
msgstr ""
-"Механизм доступа пользователя к файловой системе и устройствам один и тот "
-"же; общие аспекты обсуждаются в Главе 6. Файловая система является набором "
+"Механизм доступа пользователя к файловой системе и устройствам один и тот же;"
+" общие аспекты обсуждаются в Главе 6. Файловая система является набором "
"именованных файлов, организованных в древовидную иерархию каталогов, а "
"операции по управлению ими представлены в Главе 7. Файлы располагаются на "
"таких физических носителях, как диски. 4.4BSD поддерживает несколько типов "
@@ -109,16 +111,16 @@ msgid ""
"detail."
msgstr ""
"Механизмы коммуникаций, предоставляемые традиционными UNIX-системами, "
-"включают однонаправленные потоки байтов между связанными процессами "
-"(смотрите материал о конвейерах в Разделе 11.1) и извещение об "
-"исключительных событиях (смотрите материал о сигналах в Разделе 4.7). В "
-"4.4BSD имеется также механизм межпроцессного взаимодействия между "
-"процессами. Этот механизм, описываемый в Главе 11, использует способы "
-"доступа, отличающиеся от тех, что используются в файловой системе, но, как "
-"только соединение установлено, процесс может работать с ним, как будто это "
-"конвейер. Имеется и механизм работы с сетью, описываемый в Главе 12, который "
-"обычно используется как слой ниже механизма IPC. В Главе 13 дается детальное "
-"описание конкретной реализации механизма работы с сетью."
+"включают однонаправленные потоки байтов между связанными процессами ("
+"смотрите материал о конвейерах в Разделе 11.1) и извещение об исключительных "
+"событиях (смотрите материал о сигналах в Разделе 4.7). В 4.4BSD имеется "
+"также механизм межпроцессного взаимодействия между процессами. Этот "
+"механизм, описываемый в Главе 11, использует способы доступа, отличающиеся "
+"от тех, что используются в файловой системе, но, как только соединение "
+"установлено, процесс может работать с ним, как будто это конвейер. Имеется и "
+"механизм работы с сетью, описываемый в Главе 12, который обычно используется "
+"как слой ниже механизма IPC. В Главе 13 дается детальное описание конкретной "
+"реализации механизма работы с сетью."
#. type: Plain text
#: documentation/content/en/books/design-44bsd/_index.adoc:66
@@ -193,11 +195,11 @@ msgstr ""
"_Ядро_, по традиционной терминологии операционных систем, является маленьким "
"куском программного обеспечения, которое предоставляет только минимальный "
"набор подсистем, необходимый для реализации дополнительных служб "
-"операционной системы. В современных исследовательских операционных системах "
-"— таких, как Chorus crossref:design-44bsd[biblio-rozier, [Rozier et al, "
-"1988]], Mach crossref:design-44bsd[biblio-accetta, [Accetta et al, 1986]], "
-"Tunis crossref:design-44bsd[biblio-ewens, [Ewens et al, 1985]], и V Kernel "
-"crossref:design-44bsd[biblio-cheriton, [Cheriton, 1988]] - такое разделение "
+"операционной системы. В современных исследовательских операционных системах —"
+" таких, как Chorus crossref:design-44bsd[biblio-rozier, [Rozier et al, 1988]]"
+", Mach crossref:design-44bsd[biblio-accetta, [Accetta et al, 1986]], Tunis "
+"crossref:design-44bsd[biblio-ewens, [Ewens et al, 1985]], и V Kernel crossref"
+":design-44bsd[biblio-cheriton, [Cheriton, 1988]] - такое разделение "
"функциональности выполнено не только логически. Такие службы, как файловые "
"системы и сетевые протоколы, выполнены в виде прикладных процессов клиентов "
"ядра или микроядра."
@@ -208,14 +210,14 @@ msgid ""
"The 4.4BSD kernel is not partitioned into multiple processes. This basic "
"design decision was made in the earliest versions of UNIX. The first two "
"implementations by Ken Thompson had no memory mapping, and thus made no "
-"hardware-enforced distinction between user and kernel space "
-"crossref:design-44bsd[biblio-ritchie, [Ritchie, 1988]]. A message-passing "
-"system could have been implemented as readily as the actually implemented "
-"model of kernel and user processes. The monolithic kernel was chosen for "
-"simplicity and performance. And the early kernels were small; the inclusion "
-"of facilities such as networking into the kernel has increased its size. "
-"The current trend in operating-systems research is to reduce the kernel size "
-"by placing such services in user space."
+"hardware-enforced distinction between user and kernel space crossref:"
+"design-44bsd[biblio-ritchie, [Ritchie, 1988]]. A message-passing system "
+"could have been implemented as readily as the actually implemented model of "
+"kernel and user processes. The monolithic kernel was chosen for simplicity "
+"and performance. And the early kernels were small; the inclusion of "
+"facilities such as networking into the kernel has increased its size. The "
+"current trend in operating-systems research is to reduce the kernel size by "
+"placing such services in user space."
msgstr ""
"Ядро 4.4BSD не разбивается на несколько процессов. Это основополагающее "
"архитектурное решение было сделано в самых ранних версиях UNIX. В первых "
@@ -357,7 +359,7 @@ msgstr ""
#: documentation/content/en/books/design-44bsd/_index.adoc:121
#, no-wrap
msgid "Machine-independent software in the 4.4BSD kernel"
-msgstr "Машинно-независимое программное обеспечение в ядре 4.4BSD"
+msgstr "Машинонезависимое программное обеспечение в ядре 4.4BSD"
#. type: Table
#: documentation/content/en/books/design-44bsd/_index.adoc:125
@@ -737,8 +739,8 @@ msgid ""
"Most of the software in these categories is machine independent and is "
"portable across different hardware architectures."
msgstr ""
-"Большая часть программного обеспечения в этих категориях является машинно-"
-"независимой и переносима между различными аппаратными архитектурами."
+"Большая часть программного обеспечения в этих категориях является "
+"машинонезависимой и переносима между различными аппаратными архитектурами."
#. type: Plain text
#: documentation/content/en/books/design-44bsd/_index.adoc:154
@@ -750,12 +752,12 @@ msgid ""
"dependent function that is located in the machine-dependent code. The "
"software that is machine dependent includes"
msgstr ""
-"Машинно-зависимые аспекты ядра отделены от основного кода. В частности, ни в "
-"одной части машинно-независимого кода не содержится кода, зависимого от "
+"Машинозависимые аспекты ядра отделены от основного кода. В частности, ни в "
+"одной части машинонезависимого кода не содержится кода, зависимого от "
"конкретной архитектуры. Когда требуется произвести действия, зависимые от "
-"архитектуры, машинно-независимый код вызывает функцию, зависимую от "
-"архитектуры машины, которая находится в машинно-зависимой части кода. "
-"Машинно-зависимое программное обеспечение включает в себя"
+"архитектуры, машинонезависимый код вызывает функцию, зависимую от "
+"архитектуры машины, которая находится в машинозависимой части кода. "
+"Машинозависимое программное обеспечение включает в себя"
#. type: Plain text
#: documentation/content/en/books/design-44bsd/_index.adoc:156
@@ -786,7 +788,7 @@ msgstr "Поддержка устройств ввода/вывода во вр
#: documentation/content/en/books/design-44bsd/_index.adoc:161
#, no-wrap
msgid "Machine-dependent software for the HP300 in the 4.4BSD kernel"
-msgstr "Машинно-зависимое программное обеспечение для HP300 в ядре 4.4BSD"
+msgstr "Машинозависимое программное обеспечение для HP300 в ядре 4.4BSD"
#. type: Table
#: documentation/content/en/books/design-44bsd/_index.adoc:166
@@ -911,21 +913,21 @@ msgid ""
"the 4.4BSD kernel for the HP300. The numbers in column 2 are for lines of C "
"source code, header files, and assembly language. Virtually all the "
"software in the kernel is written in the C programming language; less than 2 "
-"percent is written in assembly language. As the statistics in "
-"crossref:design-44bsd[table-mach-dep, Machine-dependent software in the "
-"4.4BSD kernel] show, the machine-dependent software, excluding HP/UX and "
-"device support, accounts for a minuscule 6.9 percent of the kernel."
+"percent is written in assembly language. As the statistics in crossref:"
+"design-44bsd[table-mach-dep, Machine-dependent software in the 4.4BSD "
+"kernel] show, the machine-dependent software, excluding HP/UX and device "
+"support, accounts for a minuscule 6.9 percent of the kernel."
msgstr ""
-"crossref:design-44bsd[table-mach-indep, Машинно-независимое программное "
-"обеспечение в ядре 4.4BSD] показывает статистику машинно-независимого кода, "
+"crossref:design-44bsd[table-mach-indep, Машинонезависимое программное "
+"обеспечение в ядре 4.4BSD] показывает статистику машинонезависимого кода, "
"который составляет ядро 4.4BSD для HP300. Числа во второй колонке обозначают "
"количество строк исходного кода на языке C, заголовочных файлов и "
"ассемблерного кода. Практически весь код ядра написан на языке "
"программирования C; менее двух процентов написано на языке ассемблера. Как "
-"показывает статистика в crossref:design-44bsd[table-mach-dep, Машинно-"
-"зависимое программное обеспечение для HP300 в ядре 4.4BSD], машинно-"
-"зависимый код, не включающий поддержку HP/UX и устройств, составляет менее "
-"6.9 процента ядра."
+"показывает статистика в crossref:design-44bsd[table-mach-dep, "
+"Машинозависимое программное обеспечение для HP300 в ядре 4.4BSD], "
+"машинозависимый код, не включающий поддержку HP/UX и устройств, составляет "
+"менее 6.9 процента ядра."
#. type: Plain text
#: documentation/content/en/books/design-44bsd/_index.adoc:185
@@ -1252,10 +1254,10 @@ msgstr ""
"будет _перехвачен_ обработчиком. Перехват сигнала включает в себя сохранение "
"контекста текущего процесса и построение нового, в котором запускается "
"обработчик. Затем сигнал направляется обработчику, который может либо "
-"прервать процесс, либо передать управление обратно выполняемому процессу "
-"(может быть, после установки значения глобальной переменной). Если "
-"обработчик возвратил управление, сигнал разблокировывается и может быть "
-"сгенерирован (и получен) снова."
+"прервать процесс, либо передать управление обратно выполняемому процессу ("
+"может быть, после установки значения глобальной переменной). Если обработчик "
+"возвратил управление, сигнал разблокировывается и может быть сгенерирован (и "
+"получен) снова."
#. type: Plain text
#: documentation/content/en/books/design-44bsd/_index.adoc:271
@@ -1543,8 +1545,8 @@ msgstr ""
"Затем разработка интерфейса _mmap_ продолжалась во время работы над 4.3BSD. "
"Более 40 компаний и исследовательских групп принимали участие в обсуждениях, "
"которые привели к появлению обновленной концепции, описанной в Berkeley "
-"Software Architecture Manual crossref:design-44bsd[biblio-mckusick-1, "
-"[McKusick et al, 1994]]. Несколько компаний реализовали этот обновленный "
+"Software Architecture Manual crossref:design-44bsd[biblio-mckusick-1, ["
+"McKusick et al, 1994]]. Несколько компаний реализовали этот обновленный "
"интерфейс crossref:design-44bsd[biblio-gingell, [Gingell et al, 1987]]."
#. type: Plain text
@@ -1603,19 +1605,18 @@ msgstr ""
"использовать большие объемы памяти, уменьшить дисковые операции и "
"обеспечивать работу с несколькими процессорами. Наконец, система виртуальной "
"памяти в 4.4BSD была полностью изменена. Система виртуальной памяти 4.4BSD "
-"основана на системе виртуальнй памяти (VM) crossref:design-44bsd[biblio-"
+"основана на системе виртуальной памяти (VM) crossref:design-44bsd[biblio-"
"tevanian, [Tevanian, 1987]] с заимствованиями из Mach 2.5 и Mach 3.0. В ней "
"была эффективная поддержка совместного использования, полное разделение "
-"машинно-зависимой и машинно-независимой частей, а также (сейчас не "
-"используемая) поддержка работы с несколькими процессорами. Процессы могут "
-"отображать файлы в любую область своего адресного пространства. Они могут "
-"совместно использовать части своих адресных пространств посредством "
-"отображения в память одного и того же файла. Изменения, сделанные одним "
-"процессом, видны в адресном пространстве другого процесса, а также "
-"записываются и в сам файл. Процессы могут также запрашивать эксклюзивное "
-"отображение файла в память, при котором любые изменения, сделанные "
-"процессом, не видны другим процессам, которые отображают файл в память и не "
-"записываются обратно в файл."
+"машинозависимой и машинонезависимой частей, а также (сейчас не используемая) "
+"поддержка работы с несколькими процессорами. Процессы могут отображать файлы "
+"в любую область своего адресного пространства. Они могут совместно "
+"использовать части своих адресных пространств посредством отображения в "
+"память одного и того же файла. Изменения, сделанные одним процессом, видны в "
+"адресном пространстве другого процесса, а также записываются и в сам файл. "
+"Процессы могут также запрашивать эксклюзивное отображение файла в память, "
+"при котором любые изменения, сделанные процессом, не видны другим процессам, "
+"которые отображают файл в память и не записываются обратно в файл."
#. type: Plain text
#: documentation/content/en/books/design-44bsd/_index.adoc:370
@@ -1743,11 +1744,11 @@ msgid ""
"complexity of writing code inside the kernel. Thus, the 4.4BSD kernel has a "
"single memory allocator that can be used by any part of the system. It has "
"an interface similar to the C library routines _malloc_ and _free_ that "
-"provide memory allocation to application programs "
-"crossref:design-44bsd[biblio-mckusick-2, [McKusick & Karels, 1988]]. Like "
-"the C library interface, the allocation routine takes a parameter specifying "
-"the size of memory that is needed. The range of sizes for memory requests "
-"is not constrained; however, physical memory is allocated and is not paged. "
+"provide memory allocation to application programs crossref:"
+"design-44bsd[biblio-mckusick-2, [McKusick & Karels, 1988]]. Like the C "
+"library interface, the allocation routine takes a parameter specifying the "
+"size of memory that is needed. The range of sizes for memory requests is "
+"not constrained; however, physical memory is allocated and is not paged. "
"The free routine takes a pointer to the storage being freed, but does not "
"require the size of the piece of memory being freed."
msgstr ""
@@ -1792,12 +1793,12 @@ msgid ""
"line-feed character), but the kernel knows nothing about this convention. "
"For the purposes of most programs, the model is further simplified to being "
"a stream of data bytes, or an _I/O stream_. It is this single common data "
-"form that makes the characteristic UNIX tool-based approach work "
-"crossref:design-44bsd[biblio-kernighan, [Kernighan & Pike, 1984]]. An I/O "
-"stream from one program can be fed as input to almost any other program. "
-"(This kind of traditional UNIX I/O stream should not be confused with the "
-"Eighth Edition stream I/O system or with the System V, Release 3 STREAMS, "
-"both of which can be accessed as traditional I/O streams.)"
+"form that makes the characteristic UNIX tool-based approach work crossref:"
+"design-44bsd[biblio-kernighan, [Kernighan & Pike, 1984]]. An I/O stream "
+"from one program can be fed as input to almost any other program. (This "
+"kind of traditional UNIX I/O stream should not be confused with the Eighth "
+"Edition stream I/O system or with the System V, Release 3 STREAMS, both of "
+"which can be accessed as traditional I/O streams.)"
msgstr ""
"Различные программы используют разнообразные структуры данных, но ядро не "
"связывает ввод/вывод с используемыми структурами. Например, текстовым файлом "
@@ -1806,13 +1807,13 @@ msgstr ""
"ничего об этом соглашении. Для удовлетворения потребностей большинства "
"программ модель еще более упрощена и сводится к потоку байт данных, или "
"_потоку ввода/вывода_. Такое единое представление данных позволяет работать "
-"характерному для UNIX подходу на основе инструментов "
-"crossref:design-44bsd[biblio-kernighan, [Kernighan & Pike, 1984]]. Поток "
-"ввода/вывода одной программы может быть подан в качестве входной информации "
-"практически любой другой программе. (Этот тип традиционных для UNIX потоков "
-"ввода/выводы не нужно путать с потоковой системой ввода/вывода из Eighth "
-"Edition или с потоками из System V, Release 3 (STREAMS), оба из которых "
-"доступны как обычные потоки ввода/вывода.)"
+"характерному для UNIX подходу на основе инструментов crossref:design-44bsd"
+"[biblio-kernighan, [Kernighan & Pike, 1984]]. Поток ввода/вывода одной "
+"программы может быть подан в качестве входной информации практически любой "
+"другой программе. (Этот тип традиционных для UNIX потоков ввода/выводы не "
+"нужно путать с потоковой системой ввода/вывода из Eighth Edition или с "
+"потоками из System V, Release 3 (STREAMS), оба из которых доступны как "
+"обычные потоки ввода/вывода.)"
#. type: Title ====
#: documentation/content/en/books/design-44bsd/_index.adoc:413
@@ -1891,8 +1892,8 @@ msgstr ""
"другой дескриптор. Система также поддерживает именованный канал, или FIFO. "
"FIFO имеет те же самые свойства, что и канал, за исключением того, что он "
"располагается в файловой системе; поэтому он может быть открыт системным "
-"вызовом _open_. Процессы, которые хотят обмениваться данными, открывают "
-"FIFO: Один процесс открывает его для чтения, а другой для записи."
+"вызовом _open_. Процессы, которые хотят обмениваться данными, открывают FIFO:"
+" Один процесс открывает его для чтения, а другой для записи."
#. type: Plain text
#: documentation/content/en/books/design-44bsd/_index.adoc:428
@@ -2024,8 +2025,8 @@ msgstr ""
"Эти (и другие) дескрипторы могут отображаться на объекты, отличающиеся от "
"терминала; такое отображение называется _перенаправлением ввода/вывода_, и "
"все стандартные командные процессоры позволяют пользователю это делать. "
-"Оболочка может направить вывод программы в файл, закрывая дескриптор 1 "
-"(стандартный вывод) и открывая выбранный выходной файл для создания нового "
+"Оболочка может направить вывод программы в файл, закрывая дескриптор 1 ("
+"стандартный вывод) и открывая выбранный выходной файл для создания нового "
"дескриптора 1. Подобным же образом стандартный ввод может браться из файла, "
"при этом закрывается дескриптор 0 и открывается файл."
@@ -2513,8 +2514,8 @@ msgstr ""
"объектного файла ядра. В нем также расположены каталоги; в этом примере он "
"содержит каталог [.filename]#usr#. Внутри каталога [.filename]#usr# "
"располагается каталог [.filename]#bin#, который в основном содержит "
-"выполнимый объектный код программ, таких, как [.filename]#ls# и "
-"[.filename]#vi#."
+"выполнимый объектный код программ, таких, как [.filename]#ls# и [."
+"filename]#vi#."
#. type: Plain text
#: documentation/content/en/books/design-44bsd/_index.adoc:584
@@ -2582,8 +2583,8 @@ msgid ""
msgstr ""
"Взяв файловую систему, изображенную на Рисунке 2.2, и полагая, что процесс "
"имеет в качестве корневого каталога корневой каталог файловой системы, и в "
-"качестве текущего каталога [.filename]#/usr#, он может обратиться к файлу "
-"[.filename]#vi# либо от корня по абсолютному имени [.filename]#/usr/bin/vi#, "
+"качестве текущего каталога [.filename]#/usr#, он может обратиться к файлу [."
+"filename]#vi# либо от корня по абсолютному имени [.filename]#/usr/bin/vi#, "
"либо из текущего каталога с относительным именем [.filename]#bin/vi#."
#. type: Plain text
@@ -2891,8 +2892,8 @@ msgstr ""
"превышающими этот лимит, при создании файлов, но затем имя будет _обрезано_. "
"Исходный файл с именем [.filename]#multiplexer.c#, содержащий исходный код "
"на языке C, (уже 13 символов) может иметь соответствующий файл из системы "
-"управления исходным кодом с префиксом `s.`, при этом получается имя файла "
-"[.filename]#s.multiplexer#, которое не будет отличаться от файла системы "
+"управления исходным кодом с префиксом `s.`, при этом получается имя файла [."
+"filename]#s.multiplexer#, которое не будет отличаться от файла системы "
"управления исходным кодом для файла [.filename]#multiplexer.ms#, содержащего "
"исходный код `troff` для документации программы на языке C. Содержимое двух "
"оригинальных файлов может оказаться перепутанным без каких-либо "
@@ -3010,9 +3011,9 @@ msgid ""
msgstr ""
"Файловая система в памяти предназначена для хранения данных в виртуальной "
"памяти. Она используется для файловых систем, в которых должны храниться "
-"временные данные с обеспечением быстрого доступа к ним, к примеру, "
-"[.filename]#/tmp#. При организации файловой системы в памяти преследуется "
-"цель организовать максимально компактное хранение данных для минимизации "
+"временные данные с обеспечением быстрого доступа к ним, к примеру, [."
+"filename]#/tmp#. При организации файловой системы в памяти преследуется цель "
+"организовать максимально компактное хранение данных для минимизации "
"использования ресурсов виртуальной памяти."
#. type: Title ===
@@ -3544,8 +3545,8 @@ msgstr "Список литературы"
#: documentation/content/en/books/design-44bsd/_index.adoc:846
msgid ""
"[[biblio-accetta]] Accetta et al, 1986 Mach: A New Kernel Foundation for "
-"UNIX Development\" M.Accetta R.Baron W.Bolosky D.Golub R.Rashid A.Tevanian "
-"M.Young 93-113 USENIX Association Conference Proceedings USENIX Association "
+"UNIX Development\" M.Accetta R.Baron W.Bolosky D.Golub R.Rashid A.Tevanian M."
+"Young 93-113 USENIX Association Conference Proceedings USENIX Association "
"June 1986"
msgstr ""
"[[biblio-accetta]] Accetta et al, 1986 Mach: A New Kernel Foundation for "
@@ -3600,9 +3601,9 @@ msgid ""
"6:1-14 4.4BSD System Manager's Manual O'Reilly & Associates, Inc. Sebastopol "
"CA 1994"
msgstr ""
-"[[biblio-macklem]] Macklem, 1994 The 4.4BSD NFS Implementation R.Macklem "
-"6:1-14 4.4BSD System Manager's Manual O'Reilly & Associates, Inc. Sebastopol "
-"CA 1994"
+"[[biblio-macklem]] Macklem, 1994 The 4.4BSD NFS Implementation R.Macklem 6:1-"
+"14 4.4BSD System Manager's Manual O'Reilly & Associates, Inc. Sebastopol CA "
+"1994"
#. type: Plain text
#: documentation/content/en/books/design-44bsd/_index.adoc:858
@@ -3612,15 +3613,15 @@ msgid ""
"295-304 USENIX Assocation Conference Proceedings USENIX Assocation June 1998"
msgstr ""
"[[biblio-mckusick-2]] McKusick & Karels, 1988 Design of a General Purpose "
-"Memory Allocator for the 4.3BSD UNIX Kernel M. K.McKusick M. J.Karels "
-"295-304 USENIX Assocation Conference Proceedings USENIX Assocation June 1998"
+"Memory Allocator for the 4.3BSD UNIX Kernel M. K.McKusick M. J.Karels 295-"
+"304 USENIX Assocation Conference Proceedings USENIX Assocation June 1998"
#. type: Plain text
#: documentation/content/en/books/design-44bsd/_index.adoc:860
msgid ""
"[[biblio-mckusick-1]] McKusick et al, 1994 Berkeley Software Architecture "
-"Manual, 4.4BSD Edition M. K.McKusick M. J.Karels S. J.Leffler W. N.Joy R. "
-"S.Faber 5:1-42 4.4BSD Programmer's Supplementary Documents O'Reilly & "
+"Manual, 4.4BSD Edition M. K.McKusick M. J.Karels S. J.Leffler W. N.Joy R. S."
+"Faber 5:1-42 4.4BSD Programmer's Supplementary Documents O'Reilly & "
"Associates, Inc. Sebastopol CA 1994"
msgstr ""
"[[biblio-mckusick-1]] McKusick et al, 1994 Berkeley Software Architecture "
@@ -3646,17 +3647,17 @@ msgid ""
"Machinery February 1992"
msgstr ""
"[[biblio-rosenblum]] Rosenblum & Ousterhout, 1992 The Design and "
-"Implementation of a Log-Structured File System M.Rosenblum K.Ousterhout "
-"26-52 ACM Transactions on Computer Systems, 10, 1 Association for Computing "
+"Implementation of a Log-Structured File System M.Rosenblum K.Ousterhout 26-"
+"52 ACM Transactions on Computer Systems, 10, 1 Association for Computing "
"Machinery February 1992"
#. type: Plain text
#: documentation/content/en/books/design-44bsd/_index.adoc:866
msgid ""
-"[[biblio-rozier]] Rozier et al, 1988 Chorus Distributed Operating Systems "
-"M.Rozier V.Abrossimov F.Armand I.Boule M.Gien M.Guillemont F.Herrmann "
-"C.Kaiser S.Langlois P.Leonard W.Neuhauser 305-370 USENIX Computing Systems, "
-"1, 4 Fall 1988"
+"[[biblio-rozier]] Rozier et al, 1988 Chorus Distributed Operating Systems M."
+"Rozier V.Abrossimov F.Armand I.Boule M.Gien M.Guillemont F.Herrmann C.Kaiser "
+"S.Langlois P.Leonard W.Neuhauser 305-370 USENIX Computing Systems, 1, 4 Fall "
+"1988"
msgstr ""
"[[biblio-rozier]] Rozier et al, 1988 Chorus Distributed Operating Systems "
"M.Rozier V.Abrossimov F.Armand I.Boule M.Gien M.Guillemont F.Herrmann "
diff --git a/documentation/content/ru/books/dev-model/_index.adoc b/documentation/content/ru/books/dev-model/_index.adoc
index a23147d91c..8fcc432bb5 100644
--- a/documentation/content/ru/books/dev-model/_index.adoc
+++ b/documentation/content/ru/books/dev-model/_index.adoc
@@ -77,7 +77,7 @@ toc::[]
[.abstract-title]
Предисловие
-До настоящего момента проект FreeBSD выпустил ряд описанных методик для выполнения различных частей работы. Однако, из-за растущего числа участников проекта, необходима модель проекта, обобщающая его структуру. footnote:[Это согласуется с законом Брукса, согласно которому добавление нового человека в задерживающийся проект сделает его ещё более задержанным, поскольку увеличит потребность в коммуникации. Модель проекта — это инструмент для снижения потребности в коммуникации.] Данная статья предоставляет такую модель проекта и передаётся в проект документации FreeBSD, где она может развиваться вместе с проектом, чтобы в любой момент времени отражать способ его работы. Она основана на [crossref:dev-model[диссертации, Saers,2003]].
+До настоящего момента проект FreeBSD выпустил ряд описанных методик для выполнения различных частей работы. Однако, из-за растущего числа участников проекта, необходима модель проекта, обобщающая его структуру. footnote:[Это согласуется с законом Брукса, согласно которому добавление нового человека в задерживающийся проект сделает его ещё более задержанным, поскольку увеличит потребность в коммуникации. Модель проекта — это инструмент для снижения потребности в коммуникации.] Данная статья предоставляет такую модель проекта и передаётся в проект документации FreeBSD, где она может развиваться вместе с проектом, чтобы в любой момент времени отражать способ его работы. Она основана на диссертации [crossref:dev-model[thesis, Saers,2003]].
Я хотел бы поблагодарить следующих людей за то, что они нашли время объяснить мне непонятные моменты и проверить документ.
@@ -103,7 +103,7 @@ toc::[]
Во время выборов в Core в 2002 году Марк Мюррей заявил: «Я против длинного свода правил, так как это удовлетворяет склонности к юриспруденции и противоречит техноцентричности, в которой проект так нуждается.» [crossref:dev-model[bsd-election2002, FreeBSD, 2002B]]. Эта модель проекта не предназначена для того, чтобы оправдывать создание ограничений для разработчиков, а служит инструментом для облегчения координации. Она призвана описывать проект, давая обзор того, как выполняются различные процессы. Это введение в то, как работает проект FreeBSD.
-Модель проекта FreeBSD будет описана по состоянию на 1 июля 2004 года. Она основана на работе Нильса Йоргенсена [crossref:dev-model[jorgensen2001, Jørгенсен, 2001]], официальных документах FreeBSD, обсуждениях в списках рассылки FreeBSD и интервью с разработчиками.
+Модель проекта FreeBSD будет описана по состоянию на 1 июля 2004 года. Она основана на работе Нильса Йоргенсена [crossref:dev-model[jorgensen2001, Jørgensen, 2001]], официальных документах FreeBSD, обсуждениях в списках рассылки FreeBSD и интервью с разработчиками.
После определения используемых терминов в этом документе будет описана организационная структура (включая описания ролей и линии коммуникации), рассмотрена модель методологии, а после представления инструментов, используемых для контроля процессов, будут описаны определенные процессы. В заключение будут представлены основные подпроекты проекта FreeBSD.
@@ -276,7 +276,7 @@ toc::[]
В дополнение к множеству людей, работающих над проектом, существует множество связанных проектов в рамках FreeBSD. Это могут быть проекты, разрабатывающие совершенно новые функции, подпроекты или проекты, результаты которых интегрируются в FreeBSD footnote:[Например, разработка стека Bluetooth начиналась как подпроект, пока не была признана достаточно стабильной для включения в ветку -CURRENT. Теперь это часть основной системы FreeBSD.]. Эти проекты вписываются в FreeBSD так же, как и обычные разработки: они создают код, который интегрируется с проектом FreeBSD. Однако некоторые из них (например, Ports и Documentation) имеют привилегию применяться к обеим веткам или коммитить напрямую как в -CURRENT, так и в -STABLE.
-Не существует стандартов по выполнению проектирования, также как и централизованного репозитория для хранения проектов. Основной дизайн взят из 4.4BSD. footnote:[По словам Кирка Маккузика, после 20 лет разработки операционных систем UNIX, интерфейсы в основном уже определены. Поэтому нет необходимости в большом количестве проектирования. Однако новые применения системы и новое оборудование приводят к тому, что некоторые реализации становятся более выгодными по сравнению с ранее предпочитаемыми. Одним из примеров является появление веб-браузинга, который превратил обычное TCP/IP-соединение в короткие всплески данных, а не в устойчивый поток за более длительный период времени.] Поскольку проектирование является частью этапа "Программирование" в модели Йоргенсена, каждый разработчик или подпроект сам решает, как это должно выполняться. Даже если проектирование должно храниться в централизованном репозитории, результаты этапов проектирования будут иметь ограниченную полезность, так как различия в методологиях сделают их плохо совместимыми, если вообще совместимыми. Для общего проектирования проекта, проект полагается на подпроекты, которые договариваются о совместимых интерфейсах между собой, а не на диктат интерфейсов.
+Не существует стандартов по выполнению проектирования, также как и централизованного репозитория для хранения проектов. Основной дизайн взят из 4.4BSD. footnote:[По словам Кирка МакКузика, после 20 лет разработки операционных систем UNIX, интерфейсы в основном уже определены. Поэтому нет необходимости в большом количестве проектирования. Однако новые применения системы и новое оборудование приводят к тому, что некоторые реализации становятся более выгодными по сравнению с ранее предпочитаемыми. Одним из примеров является появление веб-браузинга, который превратил обычное TCP/IP-соединение в короткие всплески данных, а не в устойчивый поток за более длительный период времени.] Поскольку проектирование является частью этапа "Программирование" в модели Йоргенсена, каждый разработчик или подпроект сам решает, как это должно выполняться. Даже если проектирование должно храниться в централизованном репозитории, результаты этапов проектирования будут иметь ограниченную полезность, так как различия в методологиях сделают их плохо совместимыми, если вообще совместимыми. Для общего проектирования проекта, проект полагается на подпроекты, которые договариваются о совместимых интерфейсах между собой, а не на диктат интерфейсов.
[[release-branches]]
=== Ветви релизов
@@ -292,7 +292,7 @@ image::branches.png["Обратитесь к таблице ниже для уд
[cols="1,1,1", options="header"]
|===
| Основные выпуски
-| Форкнут из
+| Форк сделан из
| Следующие минорные выпуски
|...
@@ -454,7 +454,7 @@ Postmaster отвечает за корректную доставку почт
[[role-webmaster]]
==== Управление веб-сайтом
-Роль управления веб-сайтом отвечает за координацию развертывания обновленных веб-страниц на зеркалах по всему миру, за общую структуру основного веб-сайта и систему, на которой он работает. Управление должно согласовывать содержимое с crossref:dev-model[документацией подпроекта, Документационный проект FreeBSD] и выступает в роли сопровождающего для дерева "www".
+Роль управления веб-сайтом отвечает за координацию развертывания обновленных веб-страниц на зеркалах по всему миру, за общую структуру основного веб-сайта и систему, на которой он работает. Управление должно согласовывать содержимое с crossref:dev-model[sub-project-documentation, Проектом документации FreeBSD] и выступает в роли сопровождающего для дерева "www".
Роль поддерживается: веб-мастеры FreeBSD mailto:www@FreeBSD.org[www@FreeBSD.org].
@@ -553,7 +553,9 @@ image::proc-add-committer.png["Обратитесь к абзацу ниже д
Когда участник отправляет фрагмент кода, принимающий коммиттер может предложить предоставить этому участнику права на коммит. Если он рекомендует это основной команде (Core Team), команда проводит голосование по этой рекомендации. Если голосование завершается в пользу предложения, новому коммиттеру назначается наставник, и новый коммиттер должен отправить свои данные администраторам для создания учётной записи. После этого новый коммиттер готов сделать свой первый коммит. По традиции, это делается путём добавления своего имени в список коммиттеров.
-Recall that a committer is considered to be someone who has committed code during the past 12 months. However, it is not until after 18 months of inactivity have passed that commit privileges are eligible to be revoked. [crossref:dev-model[freebsd-expiration-policy, FreeBSD, 2002H]] There are, however, no automatic procedures for doing this. For reactions concerning commit privileges not triggered by time, see crossref:dev-model[process-reactions,section 1.5.8].
+Напомним, что коммиттером считается тот, кто за последние 12 месяцев внёс изменения в код. Однако право на коммиты может быть отозвано только после 18 месяцев неактивности.
+[crossref:dev-model[freebsd-expiration-policy, FreeBSD, 2002H]]
+Однако не существует автоматических процедур для этого. Для действий, связанных с привилегиями коммитов, не вызванных временем, см. crossref:dev-model[process-reactions,раздел 1.5.8].
.Процесс: удаление коммиттера
image::proc-rm-committer.png["Обратитесь к абзацу ниже для версии, совместимой с программами чтения с экрана."]
@@ -570,7 +572,9 @@ image::proc-rm-committer.png["Обратитесь к абзацу ниже дл
. crossref:dev-model[role-maintainer, Сопровождение]
. crossref:dev-model[role-mentor, Наставник (Mentor)]
-[crossref:dev-model[freebsd-bylaws, FreeBSD, 2000A]] [crossref:dev-model[freebsd-expiration-policy, FreeBSD, 2002H]] [crossref:dev-model[freebsd-new-account, FreeBSD, 2002I]]
+[crossref:dev-model[freebsd-bylaws, FreeBSD, 2000A]]
+[crossref:dev-model[freebsd-expiration-policy, FreeBSD, 2002H]]
+[crossref:dev-model[freebsd-new-account, FreeBSD, 2002I]]
[[committing]]
=== Коммит кода
@@ -602,7 +606,8 @@ image::proc-contrib.png["Обратитесь к абзацам выше и ни
. crossref:dev-model[role-vendor, Поставщик]
. crossref:dev-model[role-reviewer, Рецензенты]
-[crossref:dev-model[freebsd-committer, FreeBSD, 2001]] [crossref:dev-model[jorgensen2001, Jørgensen, 2001]]
+[crossref:dev-model[freebsd-committer, FreeBSD, 2001]]
+[crossref:dev-model[jorgensen2001, Jørgensen, 2001]]
[[process-core-election]]
=== Выборы основной команды (Core Team)
@@ -634,7 +639,9 @@ Core Team объявляет выборы и назначает руководи
* crossref:dev-model[role-committer, Коммиттер]
* crossref:dev-model[role-election-manager, Менеджер выборов]
-[crossref:dev-model[freebsd-bylaws, FreeBSD, 2000A]] [crossref:dev-model[bsd-election2002, FreeBSD, 2002B]] [crossref:dev-model[freebsd-election, FreeBSD, 2002G]]
+[crossref:dev-model[freebsd-bylaws, FreeBSD, 2000A]]
+[crossref:dev-model[bsd-election2002, FreeBSD, 2002B]]
+[crossref:dev-model[freebsd-election, FreeBSD, 2002G]]
[[new-features]]
=== Разработка новых функций
@@ -714,7 +721,8 @@ image::proc-pr.png["Обратитесь к абзацу ниже для вер
. crossref:dev-model[role-maintainer, Сопровождение]
. crossref:dev-model[role-bugbuster, Исправитель ошибок (Bugbuster)]
-[crossref:dev-model[freebsd-handle-pr, FreeBSD, 2002C]]. [crossref:dev-model[freebsd-send-pr, FreeBSD, 2002D]]
+[crossref:dev-model[freebsd-handle-pr, FreeBSD, 2002C]].
+[crossref:dev-model[freebsd-send-pr, FreeBSD, 2002D]]
[[process-reactions]]
=== Реагирование на неправильное поведение
@@ -754,7 +762,9 @@ image::proc-pr.png["Обратитесь к абзацу ниже для вер
Версии ветки -CURRENT (то есть все версии, оканчивающиеся на ".0"), очень похожи, но с вдвое большим временным промежутком. Процесс начинается за 8 недель до выпуска с объявления графика релиза. Через две недели после начала процесса выпуска вводится заморозка функциональности, и оптимизация производительности должна быть сведена к минимуму. За четыре недели до выпуска становится доступна официальная бета-версия. За две недели до выпуска код официально ветвится в новую версию. Этой версии присваивается статус релиз-кандидата, и, как и в случае с разработкой -STABLE, заморозка кода релиз-кандидата ужесточается. Однако разработка на основной ветке разработки может продолжаться. За исключением этих различий, процессы разработки релизов схожи.
-*.0 releases go into their own branch and are aimed mainly at early adopters. The branch then goes through a period of stabilisation, and it is not until the crossref:dev-model[role-releng, Release Engineering Team] decides the demands to stability have been satisfied that the branch becomes -STABLE and -CURRENT targets the next major version. While this for the majority has been with *.1 versions, this is not a demand.
+*.0 выпуски выделяются в отдельную ветку и ориентированы в основном на ранних последователей.
+Затем ветка проходит период стабилизации, и только после того, как
+crossref:dev-model[role-releng, Команда разработки релизов] решит, что требования к стабильности выполнены, ветка становится -STABLE, а -CURRENT переключается на следующую мажорную версию. Хотя в большинстве случаев это происходило с версиями *.1, это не является обязательным требованием.
Большинство выпусков происходит по достижении даты, которая считается достаточно отдалённой от предыдущего выпуска. Установлена цель выпускать основные версии каждые 18 месяцев, а промежуточные — каждые 4 месяца. Сообщество пользователей чётко дало понять, что безопасность и стабильность не могут быть принесены в жертву из-за самостоятельно установленных сроков и целевых дат выпуска. Чтобы задержки не становились слишком длинными в вопросах безопасности и стабильности, требуется дополнительная дисциплина при внесении изменений в -STABLE.
diff --git a/documentation/content/ru/books/dev-model/_index.po b/documentation/content/ru/books/dev-model/_index.po
index b619bee136..8b81765648 100644
--- a/documentation/content/ru/books/dev-model/_index.po
+++ b/documentation/content/ru/books/dev-model/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-09-20 14:30+0300\n"
-"PO-Revision-Date: 2025-09-20 04:45+0000\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
+"PO-Revision-Date: 2025-10-31 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/booksdev-model_index/ru/>\n"
@@ -18,7 +18,7 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/dev-model/_index.adoc:1
#, no-wrap
msgid "A formal study of the organization of the FreeBSD project"
@@ -86,7 +86,8 @@ msgstr ""
"потребности в коммуникации.] Данная статья предоставляет такую модель "
"проекта и передаётся в проект документации FreeBSD, где она может "
"развиваться вместе с проектом, чтобы в любой момент времени отражать способ "
-"его работы. Она основана на [crossref:dev-model[диссертации, Saers,2003]]."
+"его работы. Она основана на диссертации [crossref:dev-model[thesis, "
+"Saers,2003]]."
#. type: Plain text
#: documentation/content/en/books/dev-model/_index.adoc:86
@@ -123,8 +124,8 @@ msgid ""
"Ingvil Hovig "
"mailto:ingvil.hovig@skatteetaten.no[ingvil.hovig@skatteetaten.no]"
msgstr ""
-"Ingvil Hovig "
-"mailto:ingvil.hovig@skatteetaten.no[ingvil.hovig@skatteetaten.no]"
+"Ingvil Hovig mailto:ingvil.hovig@skatteetaten.no[ingvil.hovig@skatteetaten."
+"no]"
#. type: Plain text
#: documentation/content/en/books/dev-model/_index.adoc:93
@@ -215,9 +216,9 @@ msgid ""
msgstr ""
"Во время выборов в Core в 2002 году Марк Мюррей заявил: «Я против длинного "
"свода правил, так как это удовлетворяет склонности к юриспруденции и "
-"противоречит техноцентричности, в которой проект так нуждается.» "
-"[crossref:dev-model[bsd-election2002, FreeBSD, 2002B]]. Эта модель проекта "
-"не предназначена для того, чтобы оправдывать создание ограничений для "
+"противоречит техноцентричности, в которой проект так нуждается.» [crossref"
+":dev-model[bsd-election2002, FreeBSD, 2002B]]. Эта модель проекта не "
+"предназначена для того, чтобы оправдывать создание ограничений для "
"разработчиков, а служит инструментом для облегчения координации. Она "
"призвана описывать проект, давая обзор того, как выполняются различные "
"процессы. Это введение в то, как работает проект FreeBSD."
@@ -232,7 +233,7 @@ msgid ""
msgstr ""
"Модель проекта FreeBSD будет описана по состоянию на 1 июля 2004 года. Она "
"основана на работе Нильса Йоргенсена [crossref:dev-model[jorgensen2001, "
-"Jørгенсен, 2001]], официальных документах FreeBSD, обсуждениях в списках "
+"Jørgensen, 2001]], официальных документах FreeBSD, обсуждениях в списках "
"рассылки FreeBSD и интервью с разработчиками."
#. type: Plain text
@@ -289,9 +290,9 @@ msgid ""
"leads towards an outcome. Such an output can either be an input to another "
"activity or a part of the process' delivery."
msgstr ""
-"\"Активность\" — это элемент работы, выполняемый в ходе проекта "
-"[crossref:dev-model[ref-pmbok, PMI, 2000]]. У неё есть результат, который "
-"ведёт к достижению цели. Такой результат может быть либо входом для другой "
+"\"Активность\" — это элемент работы, выполняемый в ходе проекта [crossref"
+":dev-model[ref-pmbok, PMI, 2000]]. У неё есть результат, который ведёт к "
+"достижению цели. Такой результат может быть либо входом для другой "
"активности, либо частью поставки процесса."
#. type: Title ===
@@ -348,13 +349,13 @@ msgid ""
"2000]]. Examples of outcomes are a piece of software, a decision made or a "
"report written."
msgstr ""
-"«Результат» — это конечный продукт процесса. Это синоним понятия "
-"«поставляемый результат», который определяется как «любой измеримый, "
+"«Результат» — это конечный продукт процесса. Это синоним понятия «"
+"поставляемый результат», который определяется как «любой измеримый, "
"осязаемый, проверяемый результат, итог или элемент, который должен быть "
"произведён для завершения проекта или его части. Часто используется в более "
"узком смысле в отношении внешнего поставляемого результата, который подлежит "
-"утверждению спонсором проекта или заказчиком» согласно [crossref:dev-"
-"model[ref-pmbok, PMI, 2000]]. Примерами результатов являются программное "
+"утверждению спонсором проекта или заказчиком» согласно [crossref:dev-model"
+"[ref-pmbok, PMI, 2000]]. Примерами результатов являются программное "
"обеспечение, принятое решение или написанный отчёт."
#. type: Title ===
@@ -804,8 +805,8 @@ msgid ""
"[crossref:dev-model[jorgensen2001, Jørgensen, 2001]]."
msgstr ""
"\"Релиз для разработки\" — это ветка FreeBSD-CURRENT (\"-CURRENT\"), а "
-"\"релиз для производства\" — ветка FreeBSD-STABLE (\"-STABLE\") "
-"[crossref:dev-model[jorgensen2001, Jørgensen, 2001]]."
+"\"релиз для производства\" — ветка FreeBSD-STABLE (\"-STABLE\") [crossref"
+":dev-model[jorgensen2001, Jørgensen, 2001]]."
#. type: Plain text
#: documentation/content/en/books/dev-model/_index.adoc:319
@@ -970,7 +971,7 @@ msgid ""
msgstr ""
"Не существует стандартов по выполнению проектирования, также как и "
"централизованного репозитория для хранения проектов. Основной дизайн взят из "
-"4.4BSD. footnote:[По словам Кирка Маккузика, после 20 лет разработки "
+"4.4BSD. footnote:[По словам Кирка МакКузика, после 20 лет разработки "
"операционных систем UNIX, интерфейсы в основном уже определены. Поэтому нет "
"необходимости в большом количестве проектирования. Однако новые применения "
"системы и новое оборудование приводят к тому, что некоторые реализации "
@@ -1054,7 +1055,7 @@ msgstr "Основные выпуски"
#: documentation/content/en/books/dev-model/_index.adoc:375
#, no-wrap
msgid "Forked from"
-msgstr "Форкнут из"
+msgstr "Форк сделан из"
#. type: Table
#: documentation/content/en/books/dev-model/_index.adoc:377
@@ -1079,7 +1080,9 @@ msgstr "3.0 Current (ветка разработки)"
#: documentation/content/en/books/dev-model/_index.adoc:385
#, no-wrap
msgid "Releng 3 branches: 3.0 Release to 3.5 Release, leading to 3.5.1 Release and the subsequent 3 Stable branch"
-msgstr "Ветки Releng 3: выпуски с 3.0 Release по 3.5 Release, ведущие к выпуску 3.5.1 Release и последующей ветке 3 Stable"
+msgstr ""
+"Ветки Releng 3: выпуски с 3.0 Release по 3.5 Release, ведущие к выпуску "
+"3.5.1 Release и последующей ветке 3 Stable"
#. type: Table
#: documentation/content/en/books/dev-model/_index.adoc:386
@@ -1097,7 +1100,10 @@ msgstr "Релиз 3.1"
#: documentation/content/en/books/dev-model/_index.adoc:389
#, no-wrap
msgid "Releng 4 branches: 4.1 Release to 4.6 Release (and 4.6.2 Release), then 4.7 Release to 4.11 Release (all starting at 4.3 Release also leading to a Releng_4_n branch), and the subsequent 4 Release branch"
-msgstr "Ветви Releng 4: релизы с 4.1 по 4.6 (и релиз 4.6.2), затем релизы с 4.7 по 4.11 (все, начиная с релиза 4.3, также ведущие к ветви Releng_4_n), и последующая ветвь релиза 4"
+msgstr ""
+"Ветви Releng 4: релизы с 4.1 по 4.6 (и релиз 4.6.2), затем релизы с 4.7 по "
+"4.11 (все, начиная с релиза 4.3, также ведущие к ветви Releng_4_n), и "
+"последующая ветвь релиза 4"
#. type: Table
#: documentation/content/en/books/dev-model/_index.adoc:390
@@ -1115,7 +1121,9 @@ msgstr "Релиз 4.0"
#: documentation/content/en/books/dev-model/_index.adoc:393
#, no-wrap
msgid "Releng 5 branches: 5.0 Release to 5.4 Release (all except 5.0 and 5.3 also leading to a Releng_5_n branch), and the subsequent 5 Release branch"
-msgstr "Ветви Releng 5: Релизы с 5.0 до 5.4 (за исключением 5.0 и 5.3, которые также ведут к ветке Releng_5_n), и последующая ветка релиза 5"
+msgstr ""
+"Ветви Releng 5: Релизы с 5.0 до 5.4 (за исключением 5.0 и 5.3, которые также "
+"ведут к ветке Releng_5_n), и последующая ветка релиза 5"
#. type: Table
#: documentation/content/en/books/dev-model/_index.adoc:394
@@ -1276,8 +1284,8 @@ msgstr ""
"Дерево символизирует версии выпусков, где основные версии порождают новые "
"главные ветви, а второстепенные версии являются версиями главной ветви. "
"Верхняя ветвь — это ветвь -CURRENT, в которую интегрируется вся новая "
-"разработка, а ветвь -STABLE находится непосредственно под ней. Под ветвью "
-"-STABLE находятся старые, неподдерживаемые версии."
+"разработка, а ветвь -STABLE находится непосредственно под ней. Под ветвью -"
+"STABLE находятся старые, неподдерживаемые версии."
#. type: Plain text
#: documentation/content/en/books/dev-model/_index.adoc:440
@@ -1358,8 +1366,8 @@ msgid ""
msgstr ""
"Участник вносит вклад в проект FreeBSD в качестве разработчика, автора, "
"отправляя отчеты о проблемах или другими способами способствуя прогрессу "
-"проекта. Участник не имеет особых привилегий в проекте FreeBSD. "
-"[crossref:dev-model[freebsd-contributors, FreeBSD, 2002F]]"
+"проекта. Участник не имеет особых привилегий в проекте FreeBSD. [crossref"
+":dev-model[freebsd-contributors, FreeBSD, 2002F]]"
#. type: Title ====
#: documentation/content/en/books/dev-model/_index.adoc:467
@@ -1527,9 +1535,8 @@ msgid ""
"Hat held by: The DocEng team mailto:doceng@FreeBSD.org[doceng@FreeBSD.org]. "
"The https://www.freebsd.org/internal/doceng/[ DocEng Charter]."
msgstr ""
-"Роль поддерживается: Командой DocEng "
-"mailto:doceng@FreeBSD.org[doceng@FreeBSD.org]. https://www.freebsd.org/"
-"internal/doceng/[Устав DocEng]."
+"Роль поддерживается: Командой DocEng mailto:doceng@FreeBSD.org[doceng@FreeBSD"
+".org]. https://www.freebsd.org/internal/doceng/[Устав DocEng]."
#. type: Title ====
#: documentation/content/en/books/dev-model/_index.adoc:514
@@ -1556,8 +1563,8 @@ msgid ""
"Hat currently held by: the Postmaster Team "
"mailto:postmaster@FreeBSD.org[postmaster@FreeBSD.org]."
msgstr ""
-"Текущий руководитель: Команда почтовых серверов "
-"mailto:postmaster@FreeBSD.org[postmaster@FreeBSD.org]."
+"Текущий руководитель: Команда почтовых серверов mailto:postmaster@FreeBSD."
+"org[postmaster@FreeBSD.org]."
#. type: Title ====
#: documentation/content/en/books/dev-model/_index.adoc:522
@@ -1610,8 +1617,8 @@ msgid ""
"Further information about the development process is available in the "
"crossref:dev-model[process-release-engineering, Release engineering] section."
msgstr ""
-"Дополнительная информация о процессе разработки доступна в разделе "
-"crossref:dev-model[process-release-engineering, Выпуск релизов]."
+"Дополнительная информация о процессе разработки доступна в разделе crossref"
+":dev-model[process-release-engineering, Выпуск релизов]."
#. type: Plain text
#: documentation/content/en/books/dev-model/_index.adoc:538
@@ -1707,12 +1714,11 @@ msgid ""
msgstr ""
"Из-за опасений, что информация об уязвимостях может попасть к "
"злоумышленникам до выпуска исправления, только Ответственный за "
-"безопасность, включающий руководителя, заместителя и двух членов "
-"crossref:dev-model[role-core, Core Team], получает конфиденциальную "
-"информацию о проблемах безопасности. Однако для создания или внедрения "
-"исправления Ответственный за безопасность может обратиться к команде "
-"mailto:security-team@FreeBSD.org[security-team@FreeBSD.org] для помощи в "
-"выполнении работы."
+"безопасность, включающий руководителя, заместителя и двух членов crossref"
+":dev-model[role-core, Core Team], получает конфиденциальную информацию о "
+"проблемах безопасности. Однако для создания или внедрения исправления "
+"Ответственный за безопасность может обратиться к команде mailto:security-"
+"team@FreeBSD.org[security-team@FreeBSD.org] для помощи в выполнении работы."
#. type: Title ====
#: documentation/content/en/books/dev-model/_index.adoc:564
@@ -1791,16 +1797,16 @@ msgstr ""
"Роль управления веб-сайтом отвечает за координацию развертывания обновленных "
"веб-страниц на зеркалах по всему миру, за общую структуру основного веб-"
"сайта и систему, на которой он работает. Управление должно согласовывать "
-"содержимое с crossref:dev-model[документацией подпроекта, Документационный "
-"проект FreeBSD] и выступает в роли сопровождающего для дерева \"www\"."
+"содержимое с crossref:dev-model[sub-project-documentation, Проектом "
+"документации FreeBSD] и выступает в роли сопровождающего для дерева \"www\"."
#. type: Plain text
#: documentation/content/en/books/dev-model/_index.adoc:592
msgid ""
"Hat held by: the FreeBSD Webmasters mailto:www@FreeBSD.org[www@FreeBSD.org]."
msgstr ""
-"Роль поддерживается: веб-мастеры FreeBSD "
-"mailto:www@FreeBSD.org[www@FreeBSD.org]."
+"Роль поддерживается: веб-мастеры FreeBSD mailto:www@FreeBSD.org[www@FreeBSD."
+"org]."
#. type: Title ====
#: documentation/content/en/books/dev-model/_index.adoc:594
@@ -1815,9 +1821,9 @@ msgid ""
"ports, The Ports Subproject] and the core project, and all requests from the "
"project should go to the ports manager."
msgstr ""
-"Менеджер портов выступает в роли связующего звена между crossref:dev-"
-"model[sub-project-ports, Подпроектом портов] и основным проектом, и все "
-"запросы от проекта должны направляться менеджеру портов."
+"Менеджер портов выступает в роли связующего звена между crossref:dev-model"
+"[sub-project-ports, Подпроектом портов] и основным проектом, и все запросы "
+"от проекта должны направляться менеджеру портов."
#. type: Plain text
#: documentation/content/en/books/dev-model/_index.adoc:600
@@ -1826,9 +1832,9 @@ msgid ""
"mailto:portmgr@FreeBSD.org[portmgr@FreeBSD.org]. The https://"
"www.freebsd.org/portmgr/charter/[Portmgr charter]."
msgstr ""
-"Роль принадлежит: Команде управления портами "
-"mailto:portmgr@FreeBSD.org[portmgr@FreeBSD.org]. https://www.freebsd.org/"
-"portmgr/charter/[Устав Portmgr]."
+"Роль принадлежит: Команде управления портами mailto:portmgr@FreeBSD."
+"org[portmgr@FreeBSD.org]. https://www.freebsd.org/portmgr/charter/[Устав "
+"Portmgr]."
#. type: Title ====
#: documentation/content/en/books/dev-model/_index.adoc:602
@@ -1857,8 +1863,8 @@ msgid ""
"Hat currently held by: Garrett Wollman "
"mailto:wollman@FreeBSD.org[wollman@FreeBSD.org]."
msgstr ""
-"Текущий ответственный: Garrett Wollman "
-"mailto:wollman@FreeBSD.org[wollman@FreeBSD.org]."
+"Текущий ответственный: Garrett Wollman mailto:wollman@FreeBSD."
+"org[wollman@FreeBSD.org]."
#. type: Title ====
#: documentation/content/en/books/dev-model/_index.adoc:609
@@ -1906,8 +1912,8 @@ msgid ""
"Hat currently held by: the Bugmeister Team "
"mailto:bugmeister@FreeBSD.org[bugmeister@FreeBSD.org]."
msgstr ""
-"Текущий ответственный: команда Bugmeister Team "
-"mailto:bugmeister@FreeBSD.org[bugmeister@FreeBSD.org]."
+"Текущий ответственный: команда Bugmeister Team mailto:bugmeister@FreeBSD."
+"org[bugmeister@FreeBSD.org]."
#. type: Title ====
#: documentation/content/en/books/dev-model/_index.adoc:625
@@ -1933,8 +1939,8 @@ msgid ""
"www.freebsd.org/donations/[ Donations Liaison Charter]."
msgstr ""
"Роль поддерживается: Отделом по привлечению пожертвований "
-"mailto:donations@FreeBSD.org[donations@FreeBSD.org]. https://"
-"www.freebsd.org/donations/[ Устав Отдела по привлечению пожертвований]."
+"mailto:donations@FreeBSD.org[donations@FreeBSD.org]. https://www.freebsd."
+"org/donations/[ Устав Отдела по привлечению пожертвований]."
#. type: Title ====
#: documentation/content/en/books/dev-model/_index.adoc:633
@@ -1965,8 +1971,8 @@ msgstr ""
msgid ""
"Hat held by: the Admin team mailto:admin@FreeBSD.org[admin@FreeBSD.org]."
msgstr ""
-"Роль поддерживается: командой администраторов "
-"mailto:admin@FreeBSD.org[admin@FreeBSD.org]."
+"Роль поддерживается: командой администраторов mailto:admin@FreeBSD."
+"org[admin@FreeBSD.org]."
#. type: Title ===
#: documentation/content/en/books/dev-model/_index.adoc:643
@@ -2161,7 +2167,9 @@ msgstr "Процесс вкратце: добавление нового ком
#: documentation/content/en/books/dev-model/_index.adoc:943
#, no-wrap
msgid "Refer to paragraph below for a screen-reader friendly version."
-msgstr "Обратитесь к абзацу ниже для версии, совместимой с программами чтения с экрана."
+msgstr ""
+"Обратитесь к абзацу ниже для версии, совместимой с программами чтения с "
+"экрана."
#. type: Target for macro image
#: documentation/content/en/books/dev-model/_index.adoc:701
@@ -2190,26 +2198,27 @@ msgstr ""
"добавления своего имени в список коммиттеров."
#. type: Plain text
-#: documentation/content/en/books/dev-model/_index.adoc:715
-#, fuzzy
-#| msgid ""
-#| "Recall that a committer is considered to be someone who has committed "
-#| "code during the past 12 months. However, it is not until after 18 months "
-#| "of inactivity have passed that commit privileges are eligible to be "
-#| "revoked."
+#: documentation/content/en/books/dev-model/_index.adoc:711
msgid ""
"Recall that a committer is considered to be someone who has committed code "
"during the past 12 months. However, it is not until after 18 months of "
-"inactivity have passed that commit privileges are eligible to be revoked. "
-"[crossref:dev-model[freebsd-expiration-policy, FreeBSD, 2002H]] There are, "
-"however, no automatic procedures for doing this. For reactions concerning "
-"commit privileges not triggered by time, see crossref:dev-model[process-"
-"reactions,section 1.5.8]."
+"inactivity have passed that commit privileges are eligible to be revoked."
msgstr ""
"Напомним, что коммиттером считается тот, кто за последние 12 месяцев внёс "
"изменения в код. Однако право на коммиты может быть отозвано только после 18 "
"месяцев неактивности."
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:715
+msgid ""
+"There are, however, no automatic procedures for doing this. For reactions "
+"concerning commit privileges not triggered by time, see crossref:dev-"
+"model[process-reactions,section 1.5.8]."
+msgstr ""
+"Однако не существует автоматических процедур для этого. Для действий, "
+"связанных с привилегиями коммитов, не вызванных временем, см. crossref:dev-"
+"model[process-reactions,раздел 1.5.8]."
+
#. type: Block title
#: documentation/content/en/books/dev-model/_index.adoc:716
#, no-wrap
@@ -2283,14 +2292,6 @@ msgstr "crossref:dev-model[role-maintainer, Сопровождение]"
msgid "crossref:dev-model[role-mentor, Mentor]"
msgstr "crossref:dev-model[role-mentor, Наставник (Mentor)]"
-#. type: Plain text
-#: documentation/content/en/books/dev-model/_index.adoc:736
-msgid ""
-"[crossref:dev-model[freebsd-bylaws, FreeBSD, 2000A]] [crossref:dev-"
-"model[freebsd-expiration-policy, FreeBSD, 2002H]] [crossref:dev-"
-"model[freebsd-new-account, FreeBSD, 2002I]]"
-msgstr ""
-
#. type: Title ===
#: documentation/content/en/books/dev-model/_index.adoc:738
#, no-wrap
@@ -2365,8 +2366,8 @@ msgstr ""
"применимо и для ветки -STABLE, или других веток, коммиттер устанавливает "
"отсчёт времени для \"слияния из текущей\" (\"MFC\"). После того как пройдёт "
"количество дней, выбранное коммиттером при установке MFC, автоматически "
-"будет отправлено письмо коммиттеру с напоминанием внести изменения в ветку "
-"-STABLE (а также, возможно, в ветки безопасности). В ветки безопасности "
+"будет отправлено письмо коммиттеру с напоминанием внести изменения в ветку -"
+"STABLE (а также, возможно, в ветки безопасности). В ветки безопасности "
"следует сливать только критические изменения, связанные с безопасностью."
#. type: Plain text
@@ -2430,7 +2431,9 @@ msgstr "Процесс вкратце: Участник делает комми
#: documentation/content/en/books/dev-model/_index.adoc:774
#, no-wrap
msgid "Refer to paragraphs below and above for a screen-reader friendly version."
-msgstr "Обратитесь к абзацам выше и ниже для версии, совместимой с программами чтения с экрана."
+msgstr ""
+"Обратитесь к абзацам выше и ниже для версии, совместимой с программами "
+"чтения с экрана."
#. type: Target for macro image
#: documentation/content/en/books/dev-model/_index.adoc:774
@@ -2464,13 +2467,6 @@ msgstr "crossref:dev-model[role-vendor, Поставщик]"
msgid "crossref:dev-model[role-reviewer, Reviewers]"
msgstr "crossref:dev-model[role-reviewer, Рецензенты]"
-#. type: Plain text
-#: documentation/content/en/books/dev-model/_index.adoc:788
-msgid ""
-"[crossref:dev-model[freebsd-committer, FreeBSD, 2001]] [crossref:dev-"
-"model[jorgensen2001, Jørgensen, 2001]]"
-msgstr ""
-
#. type: Title ===
#: documentation/content/en/books/dev-model/_index.adoc:790
#, no-wrap
@@ -2606,14 +2602,6 @@ msgstr "Ответственный за выборы Core Team:"
msgid "crossref:dev-model[role-election-manager, Election Manager]"
msgstr "crossref:dev-model[role-election-manager, Менеджер выборов]"
-#. type: Plain text
-#: documentation/content/en/books/dev-model/_index.adoc:831
-msgid ""
-"[crossref:dev-model[freebsd-bylaws, FreeBSD, 2000A]] [crossref:dev-model[bsd-"
-"election2002, FreeBSD, 2002B]] [crossref:dev-model[freebsd-election, "
-"FreeBSD, 2002G]]"
-msgstr ""
-
#. type: Title ===
#: documentation/content/en/books/dev-model/_index.adoc:833
#, no-wrap
@@ -2632,8 +2620,8 @@ msgid ""
"relevant to the -STABLE branch, it is merged to the -STABLE branch."
msgstr ""
"В рамках проекта существуют подпроекты, работающие над новыми функциями. Эти "
-"проекты обычно выполняются одним человеком [crossref:dev-"
-"model[jorgensen2001, Йоргенсен, 2001]]. Каждый проект волен организовывать "
+"проекты обычно выполняются одним человеком [crossref:dev-model["
+"jorgensen2001, Йоргенсен, 2001]]. Каждый проект волен организовывать "
"разработку так, как считает нужным. Однако, когда проект объединяется с "
"ветвью -CURRENT, он должен следовать руководствам проекта. Когда код хорошо "
"протестирован в ветви -CURRENT и признан достаточно стабильным и актуальным "
@@ -2758,8 +2746,8 @@ msgstr ""
"назначенных сопровождающих. Другие имеют фактических сопровождающих, а "
"некоторые части системы не имеют сопровождающих. Сопровождающий обычно "
"является участником подпроекта, который написал и интегрировал код, или тем, "
-"кто портировал его с платформы, для которой он был написан. footnote:"
-"[sendmail и named — примеры кода, который был объединён с других платформ.] "
+"кто портировал его с платформы, для которой он был написан. footnote:["
+"sendmail и named — примеры кода, который был объединён с других платформ.] "
"Задача сопровождающего — убедиться, что код синхронизирован с проектом, из "
"которого он получен, если это сторонний код, а также применять патчи, "
"предоставленные сообществом, или исправлять обнаруженные проблемы."
@@ -2786,12 +2774,11 @@ msgid ""
"debugging when the code is included in the -CURRENT branch."
msgstr ""
"Здесь \"релиз для разработки\" относится к ветке -CURRENT, а \"релиз для "
-"производства\" — к ветке -STABLE. \"Предварительная проверка перед "
-"коммитом\" — это функциональное тестирование, проводимое коллегами-"
-"разработчиками по запросу или для проверки кода с целью определения "
-"состояния подпроекта. \"Параллельная отладка\" — это функциональное "
-"тестирование, которое может вызвать дополнительный обзор и отладку, когда "
-"код включён в ветку -CURRENT."
+"производства\" — к ветке -STABLE. \"Предварительная проверка перед коммитом\""
+" — это функциональное тестирование, проводимое коллегами-разработчиками по "
+"запросу или для проверки кода с целью определения состояния подпроекта. "
+"\"Параллельная отладка\" — это функциональное тестирование, которое может "
+"вызвать дополнительный обзор и отладку, когда код включён в ветку -CURRENT."
#. type: Plain text
#: documentation/content/en/books/dev-model/_index.adoc:920
@@ -2932,13 +2919,9 @@ msgid "crossref:dev-model[role-bugbuster, Bugbuster]"
msgstr "crossref:dev-model[role-bugbuster, Исправитель ошибок (Bugbuster)]"
#. type: Plain text
-#: documentation/content/en/books/dev-model/_index.adoc:958
-#, fuzzy
-#| msgid "[crossref:dev-model[freebsd-handle-pr, FreeBSD, 2002C]]."
-msgid ""
-"[crossref:dev-model[freebsd-handle-pr, FreeBSD, 2002C]]. [crossref:dev-"
-"model[freebsd-send-pr, FreeBSD, 2002D]]"
-msgstr "[crossref::dev-model[freebsd-handle-pr, FreeBSD, 2002C]]."
+#: documentation/content/en/books/dev-model/_index.adoc:957
+msgid "[crossref:dev-model[freebsd-handle-pr, FreeBSD, 2002C]]."
+msgstr "[crossref:dev-model[freebsd-handle-pr, FreeBSD, 2002C]]."
#. type: Title ===
#: documentation/content/en/books/dev-model/_index.adoc:960
@@ -2986,13 +2969,6 @@ msgid "Impolite or inappropriate behavior - 5 days"
msgstr "Невежливое или неподобающее поведение — 5 дней"
#. type: Plain text
-#: documentation/content/en/books/dev-model/_index.adoc:973
-#, fuzzy
-#| msgid "[crossref:dev-model[freebsd-handle-pr, FreeBSD, 2002C]]."
-msgid "[crossref:dev-model[ref-freebsd-trenches, Lehey, 2002]]"
-msgstr "[crossref::dev-model[freebsd-handle-pr, FreeBSD, 2002C]]."
-
-#. type: Plain text
#: documentation/content/en/books/dev-model/_index.adoc:978
msgid ""
"For the suspensions to be efficient, any single core member can implement a "
@@ -3093,8 +3069,8 @@ msgid ""
"the -CURRENT branch and have a significantly longer release engineering "
"cycle due to the unstable nature of the -CURRENT branch"
msgstr ""
-".0 выпуски являются первым релизом основной версии. Они ветвятся от ветки "
-"-CURRENT и имеют значительно более длительный цикл разработки из-за "
+".0 выпуски являются первым релизом основной версии. Они ветвятся от ветки -"
+"CURRENT и имеют значительно более длительный цикл разработки из-за "
"нестабильного характера ветки -CURRENT"
#. type: Plain text
@@ -3161,8 +3137,8 @@ msgstr ""
"отправлено сообщение, подписанное с помощью crossref:dev-model[tool-pgp, "
"Pretty Good Privacy], в котором явно указано, что релиз состоялся; все, что "
"обозначено как «релиз» до этого момента, может находиться в процессе "
-"доработки и изменяться до отправки PGP-подписанного сообщения. footnote:"
-"[Многие коммерческие поставщики используют эти образы для создания CD-ROM, "
+"доработки и изменяться до отправки PGP-подписанного сообщения. footnote:["
+"Многие коммерческие поставщики используют эти образы для создания CD-ROM, "
"которые продаются в розничных магазинах.]."
#. type: Plain text
@@ -3194,23 +3170,11 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/dev-model/_index.adoc:1030
-#, fuzzy
-#| msgid ""
-#| "*.0 releases go into their own branch and are aimed mainly at early "
-#| "adopters.\n"
-#| "The branch then goes through a period of stabilisation, and it is not "
-#| "until the\n"
-#| "crossref:dev-model[role-releng, Release Engineering Team] decides the "
-#| "demands to stability have been satisfied that the branch becomes -STABLE "
-#| "and -CURRENT targets the next major version. While this for the majority "
-#| "has been with *.1 versions, this is not a demand.\n"
-msgid ""
-"*.0 releases go into their own branch and are aimed mainly at early "
-"adopters. The branch then goes through a period of stabilisation, and it is "
-"not until the crossref:dev-model[role-releng, Release Engineering Team] "
-"decides the demands to stability have been satisfied that the branch becomes "
-"-STABLE and -CURRENT targets the next major version. While this for the "
-"majority has been with *.1 versions, this is not a demand."
+#, no-wrap
+msgid ""
+"*.0 releases go into their own branch and are aimed mainly at early adopters.\n"
+"The branch then goes through a period of stabilisation, and it is not until the\n"
+"crossref:dev-model[role-releng, Release Engineering Team] decides the demands to stability have been satisfied that the branch becomes -STABLE and -CURRENT targets the next major version. While this for the majority has been with *.1 versions, this is not a demand.\n"
msgstr ""
"*.0 выпуски выделяются в отдельную ветку и ориентированы в основном на "
"ранних последователей.\n"
@@ -3289,15 +3253,6 @@ msgstr "Предупредить сайты-зеркала"
msgid "Publish release"
msgstr "Опубликовать выпуск"
-#. Keep the spaces around the external square bracket to avoid a warning in the
-#. PDF converter
-#. type: Plain text
-#: documentation/content/en/books/dev-model/_index.adoc:1049
-#, fuzzy
-#| msgid "[crossref:dev-model[freebsd-handle-pr, FreeBSD, 2002C]]."
-msgid "[ crossref:dev-model[freebsd-releng, FreeBSD, 2002E] ]"
-msgstr "[crossref::dev-model[freebsd-handle-pr, FreeBSD, 2002C]]."
-
#. type: Title ==
#: documentation/content/en/books/dev-model/_index.adoc:1051
#, no-wrap
@@ -3638,8 +3593,8 @@ msgid ""
"model[freebsd-doceng-charter, FreeBSD, 2003B]]."
msgstr ""
"Как и подпроект ports, проект Documentation может назначать коммиттеров "
-"документации без одобрения основной команды FreeBSD (Core Team). "
-"[crossref:dev-model[freebsd-doceng-charter, FreeBSD, 2003B]]."
+"документации без одобрения основной команды FreeBSD (Core Team). [crossref"
+":dev-model[freebsd-doceng-charter, FreeBSD, 2003B]]."
#. type: Plain text
#: documentation/content/en/books/dev-model/_index.adoc:1150
@@ -3648,10 +3603,10 @@ msgid ""
"both to introduce new project members to the standard tools and syntaxes and "
"to act as a reference when working on the project."
msgstr ""
-"Проект документации включает в себя extref:{fdp-primer}[вводное "
-"руководство]. Оно используется как для ознакомления новых участников проекта "
-"со стандартными инструментами и синтаксисом, так и в качестве справочника "
-"при работе над проектом."
+"Проект документации включает в себя extref:{fdp-primer}[вводное руководство]"
+". Оно используется как для ознакомления новых участников проекта со "
+"стандартными инструментами и синтаксисом, так и в качестве справочника при "
+"работе над проектом."
#. type: Title ==
#: documentation/content/en/books/dev-model/_index.adoc:1155
@@ -3711,8 +3666,8 @@ msgid ""
"[FreeBSD, 2000A] Copyright © 2002 The FreeBSD Project. Core Bylaws. https://"
"www.freebsd.org/internal/bylaws/."
msgstr ""
-"[FreeBSD, 2000A] Copyright © 2002 The FreeBSD Project. Core Bylaws. https://"
-"www.freebsd.org/internal/bylaws/."
+"[FreeBSD, 2000A] Copyright © 2002 The FreeBSD Project. Core Bylaws. "
+"https://www.freebsd.org/internal/bylaws/."
#. type: Plain text
#: documentation/content/en/books/dev-model/_index.adoc:1174
@@ -3721,8 +3676,8 @@ msgid ""
"Developer's Handbook. extref:{developers-handbook}[Developers Handbook]."
msgstr ""
"[FreeBSD, 2002A] Copyright © 2002 The FreeBSD Documentation Project. "
-"Руководство FreeBSD для разработчиков. extref:{developers-handbook}"
-"[Руководство FreeBSD для разработчиков]."
+"Руководство FreeBSD для разработчиков. extref:{developers-handbook}["
+"Руководство FreeBSD для разработчиков]."
#. type: Plain text
#: documentation/content/en/books/dev-model/_index.adoc:1177
@@ -3743,8 +3698,8 @@ msgid ""
msgstr ""
"[FreeBSD, 2002C] Даг-Эрлинг Смёрграв и Хитен Пандья. Copyright © 2002 The "
"FreeBSD Documentation Project. The FreeBSD Documentation Project. "
-"Рекомендации по работе с сообщениями о проблемах. extref:{pr-guidelines}"
-"[Рекомендации по работе с сообщениями о проблемах]."
+"Рекомендации по работе с сообщениями о проблемах. extref:{pr-guidelines}["
+"Рекомендации по работе с сообщениями о проблемах]."
#. type: Plain text
#: documentation/content/en/books/dev-model/_index.adoc:1183
@@ -3777,8 +3732,8 @@ msgid ""
"extref:{releng}[FreeBSD Release Engineering]."
msgstr ""
"[FreeBSD, 2002E] Мюррей Стокли. Copyright © 2002 The FreeBSD Documentation "
-"Project. Проект документации FreeBSD. Подготовка релизов FreeBSD. extref:"
-"{releng}[Подготовка релизов FreeBSD]."
+"Project. Проект документации FreeBSD. Подготовка релизов FreeBSD. "
+"extref:{releng}[Подготовка релизов FreeBSD]."
#. type: Plain text
#: documentation/content/en/books/dev-model/_index.adoc:1192
@@ -3786,8 +3741,8 @@ msgid ""
"[FreeBSD, 2003A] The FreeBSD Documentation Project. FreeBSD Handbook. extref:"
"{handbook}[FreeBSD Handbook]."
msgstr ""
-"[FreeBSD, 2003A] Проект документации FreeBSD. Руководство FreeBSD. extref:"
-"{handbook}[Руководство FreeBSD]."
+"[FreeBSD, 2003A] Проект документации FreeBSD. Руководство FreeBSD. "
+"extref:{handbook}[Руководство FreeBSD]."
#. type: Plain text
#: documentation/content/en/books/dev-model/_index.adoc:1195
@@ -3797,8 +3752,8 @@ msgid ""
"[Contributors to FreeBSD]."
msgstr ""
"[FreeBSD, 2002F] Copyright © 2002 The FreeBSD Documentation Project. Проект "
-"документации FreeBSD. Участники проекта FreeBSD. extref:{contributors}"
-"[Участники проекта FreeBSD]."
+"документации FreeBSD. Участники проекта FreeBSD. extref:{contributors}["
+"Участники проекта FreeBSD]."
#. type: Plain text
#: documentation/content/en/books/dev-model/_index.adoc:1198
@@ -3807,8 +3762,8 @@ msgid ""
"Core team elections 2002. http://election.uk.freebsd.org."
msgstr ""
"[FreeBSD, 2002G] Copyright © 2002 The FreeBSD Project. The FreeBSD Project. "
-"Выборы состава основной команды (Core Team) 2002. http://"
-"election.uk.freebsd.org."
+"Выборы состава основной команды (Core Team) 2002. http://election.uk.freebsd."
+"org."
#. type: Plain text
#: documentation/content/en/books/dev-model/_index.adoc:1201
@@ -3829,8 +3784,8 @@ msgid ""
"internal/new-account/."
msgstr ""
"[FreeBSD, 2002I] Copyright © 2002 The FreeBSD Project. The FreeBSD Project. "
-"Процедура создания нового аккаунта. 2002/08/19 17:11:27. https://"
-"www.freebsd.org/internal/new-account/."
+"Процедура создания нового аккаунта. 2002/08/19 17:11:27. https://www.freebsd."
+"org/internal/new-account/."
#. type: Plain text
#: documentation/content/en/books/dev-model/_index.adoc:1207
@@ -3852,14 +3807,5 @@ msgid ""
msgstr ""
"[Lehey, 2002] Грег Лехи. Copyright © 2002 Грег Лехи. Грег Лехи. Two years in "
"the trenches. The evolution of a software project (Два года в окопах. "
-"Эволюция программного проекта). http://www.lemis.com/grog/In-the-"
-"trenches.pdf."
-
-#~ msgid ""
-#~ "There are, however, no automatic procedures for doing this. For "
-#~ "reactions concerning commit privileges not triggered by time, see "
-#~ "crossref:dev-model[process-reactions,section 1.5.8]."
-#~ msgstr ""
-#~ "Однако не существует автоматических процедур для этого. Для действий, "
-#~ "связанных с привилегиями коммитов, не вызванных временем, см. "
-#~ "crossref:dev-model[process-reactions,раздел 1.5.8]."
+"Эволюция программного проекта). http://www.lemis.com/grog/In-the-trenches."
+"pdf."
diff --git a/documentation/content/ru/books/developers-handbook/_index.adoc b/documentation/content/ru/books/developers-handbook/_index.adoc
index 9e83164861..8816d02961 100644
--- a/documentation/content/ru/books/developers-handbook/_index.adoc
+++ b/documentation/content/ru/books/developers-handbook/_index.adoc
@@ -1,5 +1,5 @@
---
-add_single_page_link: true
+add_single_page_link: 'true'
authors:
-
author: 'The FreeBSD Documentation Project'
@@ -9,8 +9,8 @@ description: 'Для тех, кто хочет разрабатывать про
next: books/developers-handbook/parti
params:
path: /books/developers-handbook/
-showBookMenu: true
-tags: "[\"FreeBSD Developers' Handbook\"]"
+showBookMenu: 'true'
+tags: ["FreeBSD Developers' Handbook"]
title: 'Руководство разработчика FreeBSD'
trademarks: ["freebsd", "apple", "ibm", "ieee", "intel", "linux", "microsoft", "opengroup", "sun", "general"]
weight: 0
diff --git a/documentation/content/ru/books/developers-handbook/_index.po b/documentation/content/ru/books/developers-handbook/_index.po
index 17abcc726d..c59efa788b 100644
--- a/documentation/content/ru/books/developers-handbook/_index.po
+++ b/documentation/content/ru/books/developers-handbook/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-12 22:16+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-07-05 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,11 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/developers-handbook/_index.adoc:1
#, no-wrap
msgid "For people who want to develop software for FreeBSD (and not just people who are developing FreeBSD itself)"
-msgstr "Для тех, кто хочет разрабатывать программное обеспечение для FreeBSD (а не только для тех, кто разрабатывает саму FreeBSD)"
+msgstr ""
+"Для тех, кто хочет разрабатывать программное обеспечение для FreeBSD (а не "
+"только для тех, кто разрабатывает саму FreeBSD)"
#. type: Title =
#: documentation/content/en/books/developers-handbook/_index.adoc:1
@@ -31,12 +33,12 @@ msgstr "Для тех, кто хочет разрабатывать програ
msgid "FreeBSD Developers' Handbook"
msgstr "Руководство разработчика FreeBSD"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/_index.adoc:51
msgid "Abstract"
msgstr "Аннотация"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/_index.adoc:56
msgid ""
"Welcome to the Developers' Handbook. This manual is a _work in progress_ "
@@ -49,7 +51,7 @@ msgstr ""
"отсутствуют, а существующие нуждаются в обновлении. Если вы хотите помочь с "
"этим проектом, отправьте письмо на {freebsd-doc}."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/_index.adoc:59
msgid ""
"The latest version of this document is always available from the "
@@ -58,13 +60,13 @@ msgid ""
"link:https://download.freebsd.org/doc/[FreeBSD download server] or one of "
"the numerous extref:{handbook}[mirror sites, mirrors]."
msgstr ""
-"Последняя версия этого документа всегда доступна по ссылке link:https://"
-"www.FreeBSD.org[веб-сервер FreeBSD]. Его также можно загрузить в различных "
+"Последняя версия этого документа всегда доступна по ссылке link:https://www."
+"FreeBSD.org[веб-сервер FreeBSD]. Его также можно загрузить в различных "
"форматах и с разными вариантами сжатия с link:https://download.freebsd.org/"
-"doc/[сервера загрузки FreeBSD] или одного из многочисленных extref:{handbook}"
-"[зеркальных сайтов, mirrors]."
+"doc/[сервера загрузки FreeBSD] или одного из многочисленных "
+"extref:{handbook}[зеркальных сайтов, mirrors]."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/_index.adoc:60
msgid "'''"
msgstr "'''"
diff --git a/documentation/content/ru/books/developers-handbook/bibliography/_index.adoc b/documentation/content/ru/books/developers-handbook/bibliography/_index.adoc
index d107cef3fa..388500c102 100644
--- a/documentation/content/ru/books/developers-handbook/bibliography/_index.adoc
+++ b/documentation/content/ru/books/developers-handbook/bibliography/_index.adoc
@@ -3,8 +3,8 @@ description: 'Библиография Руководства разработч
params:
path: /books/developers-handbook/bibliography/
prev: books/developers-handbook/partv
-showBookMenu: true
-tags: "[\"FreeBSD Developers' Handbook\", \"bibliography\"]"
+showBookMenu: 'true'
+tags: ["FreeBSD Developers' Handbook", "bibliography"]
title: Библиография
weight: 17
---
diff --git a/documentation/content/ru/books/developers-handbook/bibliography/_index.po b/documentation/content/ru/books/developers-handbook/bibliography/_index.po
index 82f48421ac..9caeb4f000 100644
--- a/documentation/content/ru/books/developers-handbook/bibliography/_index.po
+++ b/documentation/content/ru/books/developers-handbook/bibliography/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-12 22:16+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-06-21 19:10+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,7 +18,7 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/developers-handbook/bibliography/_index.adoc:1
#, no-wrap
msgid "FreeBSD Developers Handbook Bibliography"
@@ -31,7 +31,7 @@ msgstr "Библиография Руководства разработчика
msgid "Bibliography"
msgstr "Библиография"
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/bibliography/_index.adoc:52
msgid ""
"[[COD,1]] [1] Dave A Patterson and John L Hennessy. Copyright(R) 1998 Morgan "
@@ -42,7 +42,7 @@ msgstr ""
"Kaufmann Publishers, Inc. 1-55860-428-6. Morgan Kaufmann Publishers, Inc. "
"Computer Organization and Design. The Hardware / Software Interface. 1-2."
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/bibliography/_index.adoc:54
msgid ""
"[[APUE, 2]] [2] W. Richard Stevens. Copyright(R) 1993 Addison Wesley "
@@ -53,18 +53,18 @@ msgstr ""
"Longman, Inc. 0-201-56317-7. Addison Wesley Longman, Inc. Advanced "
"Programming in the Unix Environment. 1-2."
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/bibliography/_index.adoc:56
msgid ""
"[[DIFOS, 3]] [3] Marshall Kirk McKusick and George Neville-Neil. "
"Copyright(R) 2004 Addison-Wesley. 0-201-70245-2. Addison-Wesley. The Design "
"and Implementation of the FreeBSD Operating System. 1-2."
msgstr ""
-"[[DIFOS, 3]] [3] Marshall Kirk McKusick and George Neville-Neil. "
-"Copyright(R) 2004 Addison-Wesley. 0-201-70245-2. Addison-Wesley. The Design "
-"and Implementation of the FreeBSD Operating System. 1-2."
+"[[DIFOS, 3]] [3] Marshall Kirk McKusick and George Neville-Neil. Copyright(R)"
+" 2004 Addison-Wesley. 0-201-70245-2. Addison-Wesley. The Design and "
+"Implementation of the FreeBSD Operating System. 1-2."
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/bibliography/_index.adoc:58
msgid ""
"[[Phrack, 4]] [4] Aleph One. Phrack 49; \"Smashing the Stack for Fun and "
@@ -73,7 +73,7 @@ msgstr ""
"[[Phrack, 4]] [4] Aleph One. Phrack 49; \"Smashing the Stack for Fun and "
"Profit\"."
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/bibliography/_index.adoc:60
msgid ""
"[[StackGuard, 5]] [5] Chrispin Cowan, Calton Pu, and Dave Maier. StackGuard; "
@@ -82,7 +82,7 @@ msgstr ""
"[[StackGuard, 5]] [5] Chrispin Cowan, Calton Pu, and Dave Maier. StackGuard; "
"Automatic Adaptive Detection and Prevention of Buffer-Overflow Attacks."
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/bibliography/_index.adoc:62
msgid ""
"[[OpenBSD, 6]] [6] Todd Miller and Theo de Raadt. strlcpy and strlcat -- "
diff --git a/documentation/content/ru/books/developers-handbook/book.adoc b/documentation/content/ru/books/developers-handbook/book.adoc
index 1ff909d433..c077b58ff6 100644
--- a/documentation/content/ru/books/developers-handbook/book.adoc
+++ b/documentation/content/ru/books/developers-handbook/book.adoc
@@ -1,11 +1,11 @@
---
-add_split_page_link: true
+add_split_page_link: 'true'
authors:
-
author: 'The FreeBSD Documentation Project'
copyright: '1995-2023 The FreeBSD Documentation Project'
description: 'Для тех, кто хочет разрабатывать программное обеспечение для FreeBSD (а не только для тех, кто разрабатывает саму FreeBSD)'
-tags: "[\"FreeBSD Developers' Handbook\"]"
+tags: ["FreeBSD Developers' Handbook"]
title: 'Руководство разработчика FreeBSD'
trademarks: ["freebsd", "apple", "ibm", "ieee", "intel", "linux", "microsoft", "opengroup", "sun", "general"]
---
diff --git a/documentation/content/ru/books/developers-handbook/book.po b/documentation/content/ru/books/developers-handbook/book.po
index cf8b6b30d0..61ebb4eb9f 100644
--- a/documentation/content/ru/books/developers-handbook/book.po
+++ b/documentation/content/ru/books/developers-handbook/book.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-12 22:16+0300\n"
+"POT-Creation-Date: 2022-07-07 23:23-0300\n"
"PO-Revision-Date: 2025-07-05 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,11 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/developers-handbook/book.adoc:1
#, no-wrap
msgid "For people who want to develop software for FreeBSD (and not just people who are developing FreeBSD itself)"
-msgstr "Для тех, кто хочет разрабатывать программное обеспечение для FreeBSD (а не только для тех, кто разрабатывает саму FreeBSD)"
+msgstr ""
+"Для тех, кто хочет разрабатывать программное обеспечение для FreeBSD (а не "
+"только для тех, кто разрабатывает саму FreeBSD)"
#. type: Title =
#: documentation/content/en/books/developers-handbook/book.adoc:1
@@ -31,12 +33,12 @@ msgstr "Для тех, кто хочет разрабатывать програ
msgid "FreeBSD Developers' Handbook"
msgstr "Руководство разработчика FreeBSD"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/book.adoc:49
msgid "Abstract"
msgstr "Аннотация"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/book.adoc:54
msgid ""
"Welcome to the Developers' Handbook. This manual is a _work in progress_ "
@@ -49,22 +51,22 @@ msgstr ""
"отсутствуют, а существующие нуждаются в обновлении. Если вы хотите помочь с "
"этим проектом, отправьте письмо на {freebsd-doc}."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/book.adoc:57
msgid ""
-"The latest version of this document is always available from the "
-"link:https://www.FreeBSD.org[FreeBSD World Wide Web server]. It may also be "
-"downloaded in a variety of formats and compression options from the "
-"link:https://download.freebsd.org/doc/[FreeBSD download server] or one of "
-"the numerous extref:{handbook}[mirror sites, mirrors]."
+"The latest version of this document is always available from the link:"
+"https://www.FreeBSD.org[FreeBSD World Wide Web server]. It may also be "
+"downloaded in a variety of formats and compression options from the link:"
+"https://download.freebsd.org/doc/[FreeBSD download server] or one of the "
+"numerous extref:{handbook}[mirror sites, mirrors]."
msgstr ""
-"Последняя версия этого документа всегда доступна по ссылке link:https://"
-"www.FreeBSD.org[веб-сервер FreeBSD]. Его также можно загрузить в различных "
+"Последняя версия этого документа всегда доступна по ссылке link:https://www."
+"FreeBSD.org[веб-сервер FreeBSD]. Его также можно загрузить в различных "
"форматах и с разными вариантами сжатия с link:https://download.freebsd.org/"
-"doc/[сервера загрузки FreeBSD] или одного из многочисленных extref:{handbook}"
-"[зеркальных сайтов, mirrors]."
+"doc/[сервера загрузки FreeBSD] или одного из многочисленных "
+"extref:{handbook}[зеркальных сайтов, mirrors]."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/book.adoc:59
msgid "'''"
msgstr "'''"
diff --git a/documentation/content/ru/books/developers-handbook/introduction/_index.adoc b/documentation/content/ru/books/developers-handbook/introduction/_index.adoc
index d212e92f3a..926cfbca46 100644
--- a/documentation/content/ru/books/developers-handbook/introduction/_index.adoc
+++ b/documentation/content/ru/books/developers-handbook/introduction/_index.adoc
@@ -9,7 +9,7 @@ next: books/developers-handbook/tools
params:
path: /books/developers-handbook/introduction/
prev: books/developers-handbook/parti
-showBookMenu: true
+showBookMenu: 'true'
tags: ["introduction", "Developing on FreeBSD", "BSD Vision", "Architectural Guidelines"]
title: 'Глава 1. Введение'
weight: 2
diff --git a/documentation/content/ru/books/developers-handbook/introduction/_index.po b/documentation/content/ru/books/developers-handbook/introduction/_index.po
index 8c010f6a5d..56512b6e95 100644
--- a/documentation/content/ru/books/developers-handbook/introduction/_index.po
+++ b/documentation/content/ru/books/developers-handbook/introduction/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-12 22:16+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-07-06 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,13 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/developers-handbook/introduction/_index.adoc:1
#, no-wrap
msgid "Introduction to the FreeBSD Developers Handbook"
msgstr "Введение в Руководство разработчика FreeBSD"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/developers-handbook/introduction/_index.adoc:1
#, no-wrap
msgid "Chapter 1. Introduction"
@@ -179,7 +179,7 @@ msgid ""
"README.md[README.md] file."
msgstr ""
"Полный исходный код FreeBSD доступен в нашем link:https://cgit.freebsd.org/"
-"src/[публичном Git-репозитории]. Исходный код обычно устанавливается в "
-"[.filename]#/usr/src#. Структура дерева каталогов исходного кода описана в "
+"src/[публичном Git-репозитории]. Исходный код обычно устанавливается в [."
+"filename]#/usr/src#. Структура дерева каталогов исходного кода описана в "
"файле link:https://cgit.freebsd.org/src/tree/README.md[README.md] на верхнем "
"уровне дерева."
diff --git a/documentation/content/ru/books/developers-handbook/introduction/chapter.adoc b/documentation/content/ru/books/developers-handbook/introduction/chapter.adoc
deleted file mode 100644
index c9cab95af5..0000000000
--- a/documentation/content/ru/books/developers-handbook/introduction/chapter.adoc
+++ /dev/null
@@ -1,140 +0,0 @@
----
-title: Глава 1. Введение
-authors:
- - author: Murray Stokely
- - author: Jeroen Ruigrok van der Werven
----
-
-[[introduction]]
-= Введение
-:doctype: book
-:toc: macro
-:toclevels: 1
-:icons: font
-:sectnums:
-:sectnumlevels: 6
-:sectnumoffset: 1
-:partnums:
-:source-highlighter: rouge
-:experimental:
-:images-path: books/developers-handbook/
-
-ifdef::env-beastie[]
-ifdef::backend-html5[]
-:imagesdir: ../../../../images/{images-path}
-endif::[]
-ifndef::book[]
-include::shared/authors.adoc[]
-include::shared/mirrors.adoc[]
-include::shared/releases.adoc[]
-include::shared/attributes/attributes-{{% lang %}}.adoc[]
-include::shared/{{% lang %}}/teams.adoc[]
-include::shared/{{% lang %}}/mailing-lists.adoc[]
-include::shared/{{% lang %}}/urls.adoc[]
-toc::[]
-endif::[]
-ifdef::backend-pdf,backend-epub3[]
-include::../../../../../shared/asciidoctor.adoc[]
-endif::[]
-endif::[]
-
-ifndef::env-beastie[]
-toc::[]
-include::../../../../../shared/asciidoctor.adoc[]
-endif::[]
-
-[[introduction-devel]]
-== Разработка во FreeBSD
-
-Итак, у нас все есть. Система полностью установлена и вы готовы начать программировать. Но с чего начать? Что предоставляет FreeBSD? Что она может дать мне как программисту?
-
-Вот те из некоторых вопросов, на которые пытается дать ответ эта глава. Конечно, программирование, как и любая другая область деятельности, имеет разные уровни профессионального мастерства. Для некоторых это хобби, для других это профессия. Информация в этой главе может в большей степени пригодиться начинающему программисту, но может также оказаться полезной программисту, делающему первые шаги на платформе FreeBSD.
-
-[[introduction-bsdvision]]
-== Подход BSD
-
-Создать самую лучшую UNIX(R)-подобную операционную систему, благодаря оригинальной идеологии программных средств, а также полезности, производительности и надёжности.
-
-[[introduction-archguide]]
-== Архитектурные концепции
-
-Наша идеология может быть описана в следующих ключевых положениях
-
-* Не добавлять новой функциональности, кроме случаев, когда нельзя выполнить конкретную работу без нее.
-* Решить, чего в системе не будет, так же важно, как и определение того, чего в системе не будет. Не пытайтесь включить в систему все; лучше сделать систему расширяемой так, что дополнительные потребности могут быть реализованы в режиме совместимости.
-* Единственное, что может быть лучше обобщения на основе одного примера, это обобщение вообще без примеров.
-* Если проблема до конца не понята, наверное, лучше вовсе не давать ее решения.
-* Если вы можете сделать 90 процентов результата ценой 10 процентов работы, найдите более простое решение.
-* Старайтесь отделять сложные вещи.
-* Дайте механизм, а не правила. В частности, оставьте соглашения по пользовательскому интерфейсу клиенту.
-
-Из Scheifler Gettys: "X Window System"
-
-[[introduction-layout]]
-== Структура каталога [.filename]#/usr/src#
-
-Полный исходный код FreeBSD располагается в нашем общедоступном хранилище CVS. Исходный код обычно устанавливается в [.filename]#/usr/src#, который содержит следующие подкаталоги:
-
-[.informaltable]
-[cols="1,1", frame="none", options="header"]
-|===
-| Каталог
-| Описание
-
-|[.filename]#bin/#
-|Исходный код файлов из [.filename]#/bin#
-
-|[.filename]#contrib/#
-|Исходный код файлов программного обеспечения сторонних разработчиков.
-
-|[.filename]#crypto/#
-|Исходный код криптографической подсистемы
-
-|[.filename]#etc/#
-|Исходный код файлов из каталога [.filename]#/etc#
-
-|[.filename]#games/#
-|Исходный код файлов из [.filename]#/usr/games#
-
-|[.filename]#gnu/#
-|Утилиты, подпадающие под действие GNU Public License
-
-|[.filename]#include/#
-|Исходный код файлов из [.filename]#/usr/include#
-
-|[.filename]#kerberosIV/#
-|Исходный код Kerberos версии IV
-
-|[.filename]#kerberos5/#
-|Исходный код Kerberos версии 5
-
-|[.filename]#lib/#
-|Исходный код файлов из [.filename]#/usr/lib#
-
-|[.filename]#libexec/#
-|Исходный код файлов из [.filename]#/usr/libexec#
-
-|[.filename]#release/#
-|Файлы, которые требуются для создания релиза FreeBSD
-
-|[.filename]#sbin/#
-|Исходный код файлов из [.filename]#/sbin#
-
-|[.filename]#secure/#
-|Исходный код FreeSec
-
-|[.filename]#share/#
-|Исходный код файлов из [.filename]#/usr/share#
-
-|[.filename]#sys/#
-|Исходный код ядра
-
-|[.filename]#tools/#
-|Утилиты, используемые для поддержки и тестирования FreeBSD
-
-|[.filename]#usr.bin/#
-|Исходный код файлов из [.filename]#/usr/bin#
-
-|[.filename]#usr.sbin/#
-|Исходный код файлов из [.filename]#/usr/sbin#
-|===
diff --git a/documentation/content/ru/books/developers-handbook/ipv6/_index.adoc b/documentation/content/ru/books/developers-handbook/ipv6/_index.adoc
index 70f6853b87..a1c4c5220b 100644
--- a/documentation/content/ru/books/developers-handbook/ipv6/_index.adoc
+++ b/documentation/content/ru/books/developers-handbook/ipv6/_index.adoc
@@ -7,7 +7,7 @@ next: books/developers-handbook/partiii
params:
path: /books/developers-handbook/ipv6/
prev: books/developers-handbook/sockets
-showBookMenu: true
+showBookMenu: 'true'
tags: ["IPv6", "FreeBSD"]
title: 'Глава 8. Внутреннее устройство IPv6'
weight: 10
@@ -63,7 +63,7 @@ endif::[]
Функции, связанные с IPv6, соответствуют или пытаются соответствовать последнему набору спецификаций IPv6. Для дальнейшего использования мы приводим некоторые из соответствующих документов ниже (_ПРИМЕЧАНИЕ_: это не полный список — его слишком сложно поддерживать...).
-Для подробностей обратитесь к соответствующей главе документа, RFC, страницам Справосника или комментариям в исходном коде.
+Для подробностей обратитесь к соответствующей главе документа, RFC, страницам Справочника или комментариям в исходном коде.
Тесты на соответствие стандартам были проведены для KAME STABLE в проекте TAHI. Результаты можно посмотреть по ссылке http://www.tahi.org/report/KAME/[http://www.tahi.org/report/KAME/]. Мы также участвовали в тестах IOL Университета Нью-Гэмпшира (http://www.iol.unh.edu/[http://www.iol.unh.edu/]) в прошлом, используя наши предыдущие версии.
@@ -626,7 +626,7 @@ IPsec состоит в основном из трех компонент.
** HMAC MD5 с 128-битной криптографической контрольной суммой + 64-битная защита от повторного воспроизведения ([.filename]#rfc2085.txt#)
** SHA1 с ключом и с 160-битной криптографической контрольной суммой +
-32-битное дополнение ([.filename]#rfc1852.txt#)
+ 32-битное дополнение ([.filename]#rfc1852.txt#)
IPsec (в ядре) и IKE (в пользовательском пространстве как "racoon") были протестированы на нескольких мероприятиях по тестированию взаимодействия и известно, что они хорошо работают со многими другими реализациями. Кроме того, текущая реализация IPsec поддерживает довольно широкий спектр криптографических алгоритмов IPsec, описанных в RFC (мы поддерживаем только алгоритмы без проблем с интеллектуальной собственностью).
diff --git a/documentation/content/ru/books/developers-handbook/ipv6/_index.po b/documentation/content/ru/books/developers-handbook/ipv6/_index.po
index d842459698..acc02dd1fd 100644
--- a/documentation/content/ru/books/developers-handbook/ipv6/_index.po
+++ b/documentation/content/ru/books/developers-handbook/ipv6/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-12 22:16+0300\n"
-"PO-Revision-Date: 2025-09-23 04:45+0000\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
+"PO-Revision-Date: 2025-10-29 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/booksdevelopers-handbookipv6_index/ru/>\n"
@@ -25,7 +25,7 @@ msgstr ""
msgid "IPv6 Internals"
msgstr "Внутреннее устройство IPv6"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/developers-handbook/ipv6/_index.adoc:1
#, no-wrap
msgid "Chapter 8. IPv6 Internals"
@@ -79,7 +79,7 @@ msgid ""
"pages, or comments in the source code."
msgstr ""
"Для подробностей обратитесь к соответствующей главе документа, RFC, "
-"страницам Справосника или комментариям в исходном коде."
+"страницам Справочника или комментариям в исходном коде."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/ipv6/_index.adoc:72
@@ -439,8 +439,8 @@ msgstr ""
"дублирования адресов (DAD — Duplicated Address Detection) и обнаружение "
"недоступности соседей (Neighbor Unreachability Detection). В ближайшем "
"будущем мы добавим поддержку прокси-объявлений соседей (Proxy Neighbor "
-"Advertisement) в ядро и команду передачи непрошенных объявлений соседей "
-"(Unsolicited Neighbor Advertisement) в качестве инструмента администратора."
+"Advertisement) в ядро и команду передачи непрошенных объявлений соседей ("
+"Unsolicited Neighbor Advertisement) в качестве инструмента администратора."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/ipv6/_index.adoc:174
@@ -525,10 +525,10 @@ msgid ""
msgstr ""
"Правило определения локальной IPv6 сети (RFC2461) значительно отличается от "
"предположений в сетевом коде BSD. На данный момент не поддерживается правило "
-"определения локальной сети при пустом списке маршрутизаторов по умолчанию "
-"(RFC2461, раздел 5.2, последнее предложение во 2-м абзаце - обратите "
-"внимание, что в спецификации некорректно используются слова \"host\" и "
-"\"node\" в нескольких местах раздела)."
+"определения локальной сети при пустом списке маршрутизаторов по умолчанию ("
+"RFC2461, раздел 5.2, последнее предложение во 2-м абзаце - обратите "
+"внимание, что в спецификации некорректно используются слова \"host\" и \"node"
+"\" в нескольких местах раздела)."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/ipv6/_index.adoc:194
@@ -629,11 +629,11 @@ msgid ""
msgstr ""
"Демоны маршрутизации и программы настройки, такие как man:route6d[8] и "
"man:ifconfig[8], должны управлять \"встроенным\" индексом зоны. Эти "
-"программы используют сокеты маршрутизации и ioctl (например, "
-"SIOCGIFADDR_IN6), и API ядра будет возвращать IPv6-адреса с заполненным "
-"вторым 16-битным словом. API предназначены для управления внутренними "
-"структурами ядра. Программы, использующие эти API, в любом случае должны "
-"быть готовы к различиям в ядрах."
+"программы используют сокеты маршрутизации и ioctl (например, SIOCGIFADDR_IN6)"
+", и API ядра будет возвращать IPv6-адреса с заполненным вторым 16-битным "
+"словом. API предназначены для управления внутренними структурами ядра. "
+"Программы, использующие эти API, в любом случае должны быть готовы к "
+"различиям в ядрах."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/ipv6/_index.adoc:230
@@ -742,7 +742,8 @@ msgid ""
"fe80:2::%ep0/64 link#2 UC ep0\n"
msgstr ""
"Internet6:\n"
-"Destination Gateway Flags Netif Expire\n"
+"Destination Gateway Flags Netif "
+"Expire\n"
"fe80:1::%ed0/64 link#1 UC ed0\n"
"fe80:2::%ep0/64 link#2 UC ep0\n"
@@ -786,13 +787,13 @@ msgid ""
"table, and loopback interface joins node-local multicast group ff01::1."
msgstr ""
"Каждый интерфейс присоединяется к запрашиваемому широковещательному адресу и "
-"линк-локальным широковещательным адресам всех узлов (например, "
-"fe80::1:ff01:6317 и ff02::1 соответственно на соединении, к которому "
-"подключен интерфейс). В дополнение к линк-локальному адресу, адрес обратной "
-"петли (::1 — loopback) будет назначен интерфейсу обратной петли. "
-"Также, ::1/128 и ff01::/32 автоматически добавляются в таблицу "
-"маршрутизации, а loopback-интерфейс (интерфейс обратной петли) "
-"присоединяется к групповому адресу в пределах узла ff01::1."
+"линк-локальным широковещательным адресам всех узлов (например, fe80::1:ff01:"
+"6317 и ff02::1 соответственно на соединении, к которому подключен интерфейс)"
+". В дополнение к линк-локальному адресу, адрес обратной петли (::1 — "
+"loopback) будет назначен интерфейсу обратной петли. Также, ::1/128 и ff01::/"
+"32 автоматически добавляются в таблицу маршрутизации, а loopback-интерфейс ("
+"интерфейс обратной петли) присоединяется к групповому адресу в пределах узла "
+"ff01::1."
#. type: Title =====
#: documentation/content/en/books/developers-handbook/ipv6/_index.adoc:273
@@ -1107,8 +1108,8 @@ msgstr ""
"интерфейса — описанный в crossref:ipv6[ipv6-scope-index,23.5.1.3] — помогает "
"нам выбрать правильный исходный адрес. Эти встроенные индексы не будут "
"передаваться по сети). Если исходящий интерфейс имеет несколько адресов для "
-"данной зоны, исходный адрес выбирается на основе наибольшего соответствия "
-"(правило 3). Предположим, что 2001:0DB8:808:1:200:f8ff:fe01:6317 и "
+"данной зоны, исходный адрес выбирается на основе наибольшего соответствия ("
+"правило 3). Предположим, что 2001:0DB8:808:1:200:f8ff:fe01:6317 и "
"2001:0DB8:9:124:200:f8ff:fe01:6317 назначены исходящему интерфейсу. "
"2001:0DB8:808:1:200:f8ff:fe01:6317 выбирается в качестве исходящего адреса "
"для адреса назначения 2001:0DB8:800::1."
@@ -1129,8 +1130,8 @@ msgstr ""
"реализации\". Существуют случаи, когда мы не используем это правило. Один из "
"примеров — установленное TCP-соединение, где мы используем адрес, "
"сохраненный в tcb, в качестве источника. Другой пример — исходящий адрес для "
-"Объявления Соседа (Neighbor Advertisement). Согласно спецификации (RFC2461 "
-"7.2.2) источник NA должен быть целевым адресом соответствующего NS. В этом "
+"Объявления Соседа (Neighbor Advertisement). Согласно спецификации (RFC2461 7."
+"2.2) источник NA должен быть целевым адресом соответствующего NS. В этом "
"случае мы следуем спецификации, а не приведенному выше правилу наибольшего "
"совпадения."
@@ -1148,16 +1149,16 @@ msgid ""
"(NOTE: there is some debate underway in IETF ipngwg on how to use "
"\"deprecated\" address)."
msgstr ""
-"Для новых соединений (когда правило 1 не применяется), устаревшие адреса "
-"(адреса с предпочтительным временем жизни = 0) не будут выбираться в "
-"качестве исходящего адреса, если доступны другие варианты. Если других "
-"вариантов нет, устаревший адрес будет использован в качестве последнего "
-"средства. Если есть несколько устаревших адресов, для выбора между ними "
-"будет применено указанное выше правило области видимости. Если вы хотите "
-"запретить использование устаревших адресов по какой-либо причине, установите "
-"параметр net.inet6.ip6.use_deprecated в значение 0. Проблема, связанная с "
-"устаревшими адресами, описана в RFC2462 5.5.4 (ПРИМЕЧАНИЕ: в IETF ipngwg "
-"ведутся дебаты о том, как использовать \"устаревшие\" адреса)."
+"Для новых соединений (когда правило 1 не применяется), устаревшие адреса ("
+"адреса с предпочтительным временем жизни = 0) не будут выбираться в качестве "
+"исходящего адреса, если доступны другие варианты. Если других вариантов нет, "
+"устаревший адрес будет использован в качестве последнего средства. Если есть "
+"несколько устаревших адресов, для выбора между ними будет применено "
+"указанное выше правило области видимости. Если вы хотите запретить "
+"использование устаревших адресов по какой-либо причине, установите параметр "
+"net.inet6.ip6.use_deprecated в значение 0. Проблема, связанная с устаревшими "
+"адресами, описана в RFC2462 5.5.4 (ПРИМЕЧАНИЕ: в IETF ipngwg ведутся дебаты "
+"о том, как использовать \"устаревшие\" адреса)."
#. type: Title ====
#: documentation/content/en/books/developers-handbook/ipv6/_index.adoc:376
@@ -1187,8 +1188,8 @@ msgid ""
"following to the kernel configuration file:"
msgstr ""
"Если вы хотите попробовать джамбо-пакеты, сначала необходимо "
-"переконфигурировать ядро, чтобы MTU интерфейса loopback превышал 65 535 "
-"байт; добавьте следующее в конфигурационный файл ядра:"
+"переконфигурировать ядро, чтобы MTU интерфейса loopback превышал 65 535 байт;"
+" добавьте следующее в конфигурационный файл ядра:"
#. type: Plain text
#: documentation/content/en/books/developers-handbook/ipv6/_index.adoc:384
@@ -1324,8 +1325,8 @@ msgstr ""
"содержать джамбограмму с длиной > 2G на 32-битных архитектурах CPU. Если мы "
"хотим правильно поддерживать джамбограммы, это поле необходимо расширить, "
"чтобы оно могло содержать 4G + заголовок IPv6 + заголовок канального уровня. "
-"Следовательно, его необходимо расширить как минимум до `int64_t` "
-"(`u_int32_t` НЕ достаточно)."
+"Следовательно, его необходимо расширить как минимум до `int64_t` (`u_int32_t`"
+" НЕ достаточно)."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/ipv6/_index.adoc:430
@@ -1386,15 +1387,15 @@ msgstr ""
"реализован код IPv4 в BSD, может произойти переполнение стека ядра из-за "
"длинной цепочки вызовов функций. Код в sys/netinet6 тщательно спроектирован, "
"чтобы избежать переполнения стека ядра, поэтому он определяет собственную "
-"структуру переключения протоколов — \"struct ip6protosw\" (см. "
-"[.filename]#netinet6/ip6protosw.h#). Для IPv4 части (sys/netinet) подобных "
-"обновлений не было сделано для сохранения совместимости, но в прототип "
-"pr_input() внесено небольшое изменение. Поэтому также определена \"struct "
-"ipprotosw\". В результате, если получен пакет IPsec-over-IPv4 с большим "
-"количеством заголовков IPsec, стек ядра может переполниться. С IPsec-over-"
-"IPv6 такой проблемы нет. (Разумеется, чтобы все эти заголовки IPsec были "
-"обработаны, каждый такой заголовок должен пройти все проверки IPsec. Поэтому "
-"анонимный злоумышленник не сможет осуществить подобную атаку.)"
+"структуру переключения протоколов — \"struct ip6protosw\" (см. [.filename]#"
+"netinet6/ip6protosw.h#). Для IPv4 части (sys/netinet) подобных обновлений не "
+"было сделано для сохранения совместимости, но в прототип pr_input() внесено "
+"небольшое изменение. Поэтому также определена \"struct ipprotosw\". В "
+"результате, если получен пакет IPsec-over-IPv4 с большим количеством "
+"заголовков IPsec, стек ядра может переполниться. С IPsec-over-IPv6 такой "
+"проблемы нет. (Разумеется, чтобы все эти заголовки IPsec были обработаны, "
+"каждый такой заголовок должен пройти все проверки IPsec. Поэтому анонимный "
+"злоумышленник не сможет осуществить подобную атаку.)"
#. type: Title ====
#: documentation/content/en/books/developers-handbook/ipv6/_index.adoc:446
@@ -1426,8 +1427,8 @@ msgid ""
"RFC2553, RFC2292 and upcoming Internet drafts."
msgstr ""
"Для программирования в пользовательском пространстве мы поддерживаем API "
-"сокетов IPv6, как указано в RFC2553, RFC2292 и готовящихся интернет-"
-"черновиках."
+"сокетов IPv6, как указано в RFC2553, RFC2292 и готовящихся "
+"интернет-черновиках."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/ipv6/_index.adoc:459
@@ -1693,8 +1694,8 @@ msgstr ""
"два сокета). Используйте man:getaddrinfo[3] с AI_PASSIVE в ai_flags, а также "
"man:socket[2] и man:bind[2] для всех возвращённых адресов. Открыв несколько "
"сокетов, вы можете принимать соединения сокетом соответствующей адресной "
-"семьи. IPv4-соединения будут приниматься сокетом AF_INET, а IPv6-соединения "
-"— сокетом AF_INET6."
+"семьи. IPv4-соединения будут приниматься сокетом AF_INET, а IPv6-соединения —"
+" сокетом AF_INET6."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/ipv6/_index.adoc:545
@@ -1772,9 +1773,9 @@ msgid ""
"(which works on multiple IPv6 kernels), we believe that the following is the "
"key to the success:"
msgstr ""
-"Совет разработчикам приложений: для создания переносимого IPv6-приложения "
-"(которое работает на различных IPv6-ядрах), мы считаем, что следующие "
-"моменты являются ключом к успеху:"
+"Совет разработчикам приложений: для создания переносимого IPv6-приложения ("
+"которое работает на различных IPv6-ядрах), мы считаем, что следующие моменты "
+"являются ключом к успеху:"
#. type: Plain text
#: documentation/content/en/books/developers-handbook/ipv6/_index.adoc:567
@@ -2160,8 +2161,8 @@ msgid ""
"IPv4 host in the IPv4 ocean."
msgstr ""
"_Транслятор А_ --- Он используется на раннем этапе перехода, чтобы позволить "
-"установить соединение с IPv6-хоста на IPv6-острове к IPv4-хосту в IPv4-"
-"океане."
+"установить соединение с IPv6-хоста на IPv6-острове к IPv4-хосту в "
+"IPv4-океане."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/ipv6/_index.adoc:683
@@ -2402,13 +2403,13 @@ msgid ""
"internet-drafts/]). (NOTE: IKE specifications, [.filename]#rfc241[7-9].txt# "
"are implemented in userland, as \"racoon\" IKE daemon)"
msgstr ""
-"Спецификация \"new IPsec\" описана в [.filename]#rfc240[1-6].txt#, "
-"[.filename]#rfc241[01].txt#, [.filename]#rfc2451.txt# и [.filename]#draft-"
+"Спецификация \"new IPsec\" описана в [.filename]#rfc240[1-6].txt#, [."
+"filename]#rfc241[01].txt#, [.filename]#rfc2451.txt# и [.filename]#draft-"
"mcdonald-simple-ipsec-api-01.txt# (черновик устарел, но его можно взять по "
"ссылке: link:ftp://ftp.kame.net/pub/internet-drafts/[ ftp://ftp.kame.net/pub/"
-"internet-drafts/]). (ПРИМЕЧАНИЕ: Спецификации IKE, "
-"[.filename]#rfc241[7-9].txt#, реализованы в пользовательском пространстве в "
-"виде демона IKE \"racoon\")"
+"internet-drafts/]). (ПРИМЕЧАНИЕ: Спецификации IKE, [.filename]#rfc241[7-9]."
+"txt#, реализованы в пользовательском пространстве в виде демона IKE \"racoon"
+"\")"
#. type: Plain text
#: documentation/content/en/books/developers-handbook/ipv6/_index.adoc:746
@@ -2433,8 +2434,8 @@ msgstr ""
#: documentation/content/en/books/developers-handbook/ipv6/_index.adoc:751
msgid "keyed MD5 with 128bit crypto checksum ([.filename]#rfc1828.txt#)"
msgstr ""
-"MD5 с ключом и с 128-битной криптографической контрольной суммой "
-"([.filename]#rfc1828.txt#)"
+"MD5 с ключом и с 128-битной криптографической контрольной суммой ([."
+"filename]#rfc1828.txt#)"
#. type: Plain text
#: documentation/content/en/books/developers-handbook/ipv6/_index.adoc:752
@@ -2447,8 +2448,8 @@ msgstr ""
#: documentation/content/en/books/developers-handbook/ipv6/_index.adoc:753
msgid "HMAC MD5 with 128bit crypto checksum ([.filename]#rfc2085.txt#)"
msgstr ""
-"HMAC MD5 с 128-битной криптографической контрольной суммой "
-"([.filename]#rfc2085.txt#)"
+"HMAC MD5 с 128-битной криптографической контрольной суммой ([."
+"filename]#rfc2085.txt#)"
#. type: Plain text
#: documentation/content/en/books/developers-handbook/ipv6/_index.adoc:754
@@ -2464,8 +2465,7 @@ msgstr "old IPsec ESP"
#. type: Plain text
#: documentation/content/en/books/developers-handbook/ipv6/_index.adoc:758
msgid "null encryption (no document, similar to [.filename]#rfc2410.txt#)"
-msgstr ""
-"нулевое шифрование (нет документа, аналогично [.filename]#rfc2410.txt#)"
+msgstr "нулевое шифрование (нет документа, аналогично [.filename]#rfc2410.txt#)"
#. type: Plain text
#: documentation/content/en/books/developers-handbook/ipv6/_index.adoc:759
@@ -2495,15 +2495,15 @@ msgstr ""
#: documentation/content/en/books/developers-handbook/ipv6/_index.adoc:766
msgid "HMAC MD5 with 96bit crypto checksum ([.filename]#rfc2403.txt#)"
msgstr ""
-"HMAC MD5 с 96-битной криптографической контрольной суммой "
-"([.filename]#rfc2403.txt#)"
+"HMAC MD5 с 96-битной криптографической контрольной суммой ([."
+"filename]#rfc2403.txt#)"
#. type: Plain text
#: documentation/content/en/books/developers-handbook/ipv6/_index.adoc:767
msgid "HMAC SHA1 with 96bit crypto checksum ([.filename]#rfc2404.txt#)"
msgstr ""
-"HMAC SHA1 с 96-битной криптографической контрольной суммой "
-"([.filename]#rfc2404.txt#)"
+"HMAC SHA1 с 96-битной криптографической контрольной суммой ([."
+"filename]#rfc2404.txt#)"
#. type: Plain text
#: documentation/content/en/books/developers-handbook/ipv6/_index.adoc:769
@@ -2521,8 +2521,8 @@ msgid ""
"DES-CBC with derived IV ([.filename]#draft-ietf-ipsec-ciph-des-"
"derived-01.txt#, draft expired)"
msgstr ""
-"DES-CBC с производным IV ([.filename]#draft-ietf-ipsec-ciph-des-"
-"derived-01.txt#, черновик истек)"
+"DES-CBC с производным IV ([.filename]#draft-ietf-ipsec-ciph-des-derived-01."
+"txt#, черновик истек)"
#. type: Plain text
#: documentation/content/en/books/developers-handbook/ipv6/_index.adoc:773
@@ -2615,8 +2615,8 @@ msgid ""
"ECN-friendly IPsec tunnel is supported as described in [.filename]#draft-"
"ipsec-ecn-00.txt#."
msgstr ""
-"Поддерживается ECN-совместимый IPsec-туннель, как описано в "
-"[.filename]#draft-ipsec-ecn-00.txt#."
+"Поддерживается ECN-совместимый IPsec-туннель, как описано в [.filename"
+"]#draft-ipsec-ecn-00.txt#."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/ipv6/_index.adoc:801
@@ -2643,8 +2643,8 @@ msgid ""
msgstr ""
"Чтобы сделать IPsec-туннель дружественным к ECN, следует изменить процедуры "
"инкапсуляции и декапсуляции. Это описано в http://www.aciri.org/floyd/papers/"
-"draft-ipsec-ecn-00.txt[ http://www.aciri.org/floyd/papers/draft-ipsec-"
-"ecn-00.txt], глава 3."
+"draft-ipsec-ecn-00.txt[ http://www.aciri.org/floyd/papers/draft-ipsec-ecn-00."
+"txt], глава 3."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/ipv6/_index.adoc:806
@@ -2653,8 +2653,8 @@ msgid ""
"net.inet.ipsec.ecn (or net.inet6.ipsec6.ecn) to some value:"
msgstr ""
"Реализация туннеля IPsec может обеспечить три варианта поведения, в "
-"зависимости от значения параметра `net.inet.ipsec.ecn` (или "
-"`net.inet6.ipsec6.ecn`):"
+"зависимости от значения параметра `net.inet.ipsec.ecn` (или `net.inet6.ipsec6"
+".ecn`):"
#. type: Plain text
#: documentation/content/en/books/developers-handbook/ipv6/_index.adoc:808
@@ -2724,8 +2724,10 @@ msgid ""
" inner to outer. is 1, enable ECN CE bit on\n"
" set ECN CE bit to 0. the inner.\n"
msgstr ""
-"ECN allowed copy TOS bits except for ECN use inner TOS bits with some\n"
-" CE (masked with 0xfe) from change. if outer ECN CE bit\n"
+"ECN allowed copy TOS bits except for ECN use inner TOS bits with "
+"some\n"
+" CE (masked with 0xfe) from change. if outer ECN CE "
+"bit\n"
" inner to outer. is 1, enable ECN CE bit on\n"
" set ECN CE bit to 0. the inner.\n"
@@ -2749,8 +2751,8 @@ msgid ""
"if the other end is very strict about TOS bit, use \"RFC2401\" (sysctl value "
"-1)."
msgstr ""
-"если другая сторона очень строга к биту TOS, используйте \"RFC2401\" "
-"(значение sysctl -1)."
+"если другая сторона очень строга к биту TOS, используйте \"RFC2401\" ("
+"значение sysctl -1)."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/ipv6/_index.adoc:837
@@ -2774,9 +2776,9 @@ msgid ""
"www.aciri.org/floyd/papers/draft-ipsec-ecn-00.txt], RFC2481 (Explicit "
"Congestion Notification), src/sys/netinet6/{ah,esp}_input.c"
msgstr ""
-"http://www.aciri.org/floyd/papers/draft-ipsec-ecn-00.txt[ http://"
-"www.aciri.org/floyd/papers/draft-ipsec-ecn-00.txt], RFC2481 (Явное "
-"Уведомление о Перегрузке), src/sys/netinet6/{ah,esp}_input.c"
+"http://www.aciri.org/floyd/papers/draft-ipsec-ecn-00.txt[ http://www.aciri."
+"org/floyd/papers/draft-ipsec-ecn-00.txt], RFC2481 (Явное Уведомление о "
+"Перегрузке), src/sys/netinet6/{ah,esp}_input.c"
#. type: Plain text
#: documentation/content/en/books/developers-handbook/ipv6/_index.adoc:845
diff --git a/documentation/content/ru/books/developers-handbook/kernelbuild/_index.adoc b/documentation/content/ru/books/developers-handbook/kernelbuild/_index.adoc
index a020ccd898..0c9906036a 100644
--- a/documentation/content/ru/books/developers-handbook/kernelbuild/_index.adoc
+++ b/documentation/content/ru/books/developers-handbook/kernelbuild/_index.adoc
@@ -1,11 +1,11 @@
---
-authors:
+authors: ~
description: 'Сборка и установка ядра FreeBSD'
next: books/developers-handbook/kerneldebug
params:
path: /books/developers-handbook/kernelbuild/
prev: books/developers-handbook/partiii
-showBookMenu: true
+showBookMenu: 'true'
tags: ["building", "installing", "kernel", "FreeBSD"]
title: 'Глава 9. Сборка и установка ядра FreeBSD'
weight: 12
diff --git a/documentation/content/ru/books/developers-handbook/kernelbuild/_index.po b/documentation/content/ru/books/developers-handbook/kernelbuild/_index.po
index 0230e59c60..0d85aa577c 100644
--- a/documentation/content/ru/books/developers-handbook/kernelbuild/_index.po
+++ b/documentation/content/ru/books/developers-handbook/kernelbuild/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-12 22:16+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-06-24 20:10+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -25,7 +25,7 @@ msgstr ""
msgid "Building and Installing a FreeBSD Kernel"
msgstr "Сборка и установка ядра FreeBSD"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/developers-handbook/kernelbuild/_index.adoc:1
#, no-wrap
msgid "Chapter 9. Building and Installing a FreeBSD Kernel"
@@ -49,8 +49,8 @@ msgid ""
"extref:{handbook}kernelconfig/[Building and Installing a Custom Kernel, "
"kernelconfig-building] chapter of the FreeBSD Handbook."
msgstr ""
-"Поддерживаемая процедура сборки и установки ядра описана в главе extref:"
-"{handbook}kernelconfig/[Сборка и установка пользовательского ядра, "
+"Поддерживаемая процедура сборки и установки ядра описана в главе "
+"extref:{handbook}kernelconfig/[Сборка и установка пользовательского ядра, "
"kernelconfig-building] Руководства FreeBSD."
#. type: delimited block = 4
@@ -87,7 +87,7 @@ msgstr ""
"файле ядра были изменены только одна или две опции. С другой стороны, это "
"может привести к неожиданным сбоям при сборке ядра."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/kernelbuild/_index.adoc:72
msgid "Run man:config[8] to generate the kernel source code:"
msgstr "Выполните man:config[8] для генерации исходного кода ядра:"
diff --git a/documentation/content/ru/books/developers-handbook/kerneldebug/_index.adoc b/documentation/content/ru/books/developers-handbook/kerneldebug/_index.adoc
index 5ac6d8df9f..f5660f10d8 100644
--- a/documentation/content/ru/books/developers-handbook/kerneldebug/_index.adoc
+++ b/documentation/content/ru/books/developers-handbook/kerneldebug/_index.adoc
@@ -11,7 +11,7 @@ next: books/developers-handbook/partiv
params:
path: /books/developers-handbook/kerneldebug/
prev: books/developers-handbook/kernelbuild
-showBookMenu: true
+showBookMenu: 'true'
tags: ["Debugging", "Dump", "kgdb", "DDB", "GDB"]
title: 'Глава 10. Отладка ядра'
weight: 13
diff --git a/documentation/content/ru/books/developers-handbook/kerneldebug/_index.po b/documentation/content/ru/books/developers-handbook/kerneldebug/_index.po
index dd46c18a3c..060717d0a0 100644
--- a/documentation/content/ru/books/developers-handbook/kerneldebug/_index.po
+++ b/documentation/content/ru/books/developers-handbook/kerneldebug/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-12 22:16+0300\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/"
@@ -18,13 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:1
#, no-wrap
msgid "FreeBSD Kernel Debugging"
msgstr "Отладка ядра FreeBSD"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:1
#, no-wrap
msgid "Chapter 10. Kernel Debugging"
@@ -47,11 +47,10 @@ msgstr "Получение аварийного дампа ядра"
msgid ""
"When running a development kernel (e.g., FreeBSD-CURRENT), such as a kernel "
"under extreme conditions (e.g., very high load averages, tens of thousands "
-"of connections, exceedingly high number of concurrent users, hundreds of "
-"man:jail[8]s, etc.), or using a new feature or device driver on FreeBSD-"
-"STABLE (e.g., PAE), sometimes a kernel will panic. In the event that it "
-"does, this chapter will demonstrate how to extract useful information out of "
-"a crash."
+"of connections, exceedingly high number of concurrent users, hundreds of man:"
+"jail[8]s, etc.), or using a new feature or device driver on FreeBSD-STABLE "
+"(e.g., PAE), sometimes a kernel will panic. In the event that it does, this "
+"chapter will demonstrate how to extract useful information out of a crash."
msgstr ""
"При работе с разрабатываемым ядром (например, FreeBSD-CURRENT), особенно в "
"экстремальных условиях (например, при очень высокой загрузке, десятках тысяч "
@@ -231,12 +230,12 @@ msgstr "Извлечение дампа ядра"
msgid ""
"Once a dump has been written to a dump device, the dump must be extracted "
"before the swap device is mounted. To extract a dump from a dump device, "
-"use the man:savecore[8] program. If `dumpdev` has been set in "
-"man:rc.conf[5], man:savecore[8] will be called automatically on the first "
-"multi-user boot after the crash and before the swap device is mounted. The "
+"use the man:savecore[8] program. If `dumpdev` has been set in man:rc."
+"conf[5], man:savecore[8] will be called automatically on the first multi-"
+"user boot after the crash and before the swap device is mounted. The "
"location of the extracted core is placed in the man:rc.conf[5] value "
-"`dumpdir`, by default [.filename]#/var/crash# and will be named "
-"[.filename]#vmcore.0#."
+"`dumpdir`, by default [.filename]#/var/crash# and will be named [."
+"filename]#vmcore.0#."
msgstr ""
"После записи дампа на устройство дампа, дамп должен быть извлечен до "
"монтирования устройства подкачки. Для извлечения дампа с устройства дампа "
@@ -250,20 +249,20 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:126
msgid ""
-"In the event that there is already a file called [.filename]#vmcore.0# in "
-"[.filename]#/var/crash# (or whatever `dumpdir` is set to), the kernel will "
+"In the event that there is already a file called [.filename]#vmcore.0# in [."
+"filename]#/var/crash# (or whatever `dumpdir` is set to), the kernel will "
"increment the trailing number for every crash to avoid overwriting an "
"existing [.filename]#vmcore# (e.g., [.filename]#vmcore.1#). man:savecore[8] "
-"will always create a symbolic link to named [.filename]#vmcore.last# in "
-"[.filename]#/var/crash# after a dump is saved. This symbolic link can be "
-"used to locate the name of the most recent dump."
+"will always create a symbolic link to named [.filename]#vmcore.last# in [."
+"filename]#/var/crash# after a dump is saved. This symbolic link can be used "
+"to locate the name of the most recent dump."
msgstr ""
-"В случае, если файл с именем [.filename]#vmcore.0# уже существует в "
-"[.filename]#/var/crash# (или в каталоге, указанном в параметре `dumpdir`), "
+"В случае, если файл с именем [.filename]#vmcore.0# уже существует в [."
+"filename]#/var/crash# (или в каталоге, указанном в параметре `dumpdir`), "
"ядро будет увеличивать завершающее число при каждом сбое, чтобы избежать "
-"перезаписи существующего файла [.filename]#vmcore# (например, "
-"[.filename]#vmcore.1#). man:savecore[8] всегда создает символическую ссылку "
-"с именем [.filename]#vmcore.last# в [.filename]#/var/crash# после сохранения "
+"перезаписи существующего файла [.filename]#vmcore# (например, [."
+"filename]#vmcore.1#). man:savecore[8] всегда создает символическую ссылку с "
+"именем [.filename]#vmcore.last# в [.filename]#/var/crash# после сохранения "
"дампа. Эта символическая ссылка может быть использована для определения "
"имени последнего дампа."
@@ -272,17 +271,17 @@ msgstr ""
msgid ""
"The man:crashinfo[8] utility generates a text file containing a summary of "
"information from a full memory dump or minidump. If `dumpdev` has been set "
-"in man:rc.conf[5], man:crashinfo[8] will be invoked automatically after "
-"man:savecore[8]. The output is saved to a file in `dumpdir` named "
-"[.filename]#core.txt.N#."
+"in man:rc.conf[5], man:crashinfo[8] will be invoked automatically after man:"
+"savecore[8]. The output is saved to a file in `dumpdir` named [."
+"filename]#core.txt.N#."
msgstr ""
"Утилита man:crashinfo[8] создаёт текстовый файл, содержащий сводную "
"информацию из полного дампа памяти или минидампа. Если параметр `dumpdev` "
"установлен в man:rc.conf[5], man:crashinfo[8] будет автоматически вызван "
-"после man:savecore[8]. Результат сохраняется в файл с именем "
-"[.filename]#core.txt.N# в директории `dumpdir`."
+"после man:savecore[8]. Результат сохраняется в файл с именем [."
+"filename]#core.txt.N# в директории `dumpdir`."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:135
msgid ""
"If you are testing a new kernel but need to boot a different one in order to "
@@ -385,9 +384,9 @@ msgid ""
"package:devel/gdb[]. An older version is also present in FreeBSD 11 and "
"earlier."
msgstr ""
-"Этот раздел посвящен man:kgdb[1]. Последняя версия включена в пакет "
-"package:devel/gdb[]. Более старая версия также присутствует в FreeBSD 11 и "
-"более ранних версиях."
+"Этот раздел посвящен man:kgdb[1]. Последняя версия включена в пакет package:"
+"devel/gdb[]. Более старая версия также присутствует в FreeBSD 11 и более "
+"ранних версиях."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:179
@@ -763,8 +762,8 @@ msgstr "# sysctl debug.kdb.enter=1\n"
#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:354
msgid ""
"Alternatively, if you are at the system console, you may use a hot-key on "
-"the keyboard. The default break-to-debugger sequence is kbd:"
-"[Ctrl+Alt+ESC]. For syscons, this sequence can be remapped and some of the "
+"the keyboard. The default break-to-debugger sequence is kbd:[Ctrl+Alt"
+"+ESC]. For syscons, this sequence can be remapped and some of the "
"distributed maps out there do this, so check to make sure you know the right "
"sequence to use. There is an option available for serial consoles that "
"allows the use of a serial line BREAK on the console line to enter DDB "
@@ -1186,8 +1185,8 @@ msgstr "Онлайн-отладка ядра с использованием у
#. type: Plain text
#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:555
msgid ""
-"The FreeBSD kernel provides a second KDB backend for on-line debugging: "
-"man:gdb[4]. This feature has been supported since FreeBSD 2.2, and it is "
+"The FreeBSD kernel provides a second KDB backend for on-line debugging: man:"
+"gdb[4]. This feature has been supported since FreeBSD 2.2, and it is "
"actually a very neat one."
msgstr ""
"Ядро FreeBSD предоставляет второй бэкенд KDB для отладки в реальном времени: "
@@ -1237,8 +1236,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:571
msgid ""
-"Note that the `GDB` option is turned off by default in `GENERIC` kernels on "
-"-STABLE and -RELEASE branches, but enabled on -CURRENT."
+"Note that the `GDB` option is turned off by default in `GENERIC` kernels on -"
+"STABLE and -RELEASE branches, but enabled on -CURRENT."
msgstr ""
"Обратите внимание, что опция `GDB` отключена по умолчанию в ядрах `GENERIC` "
"для веток -STABLE и -RELEASE, но включена в -CURRENT."
@@ -1254,8 +1253,8 @@ msgstr ""
"После сборки скопируйте ядро на целевую машину и загрузите его. Подключите "
"последовательный порт целевой машины, у которого на устройстве uart "
"установлены флаги \"080\", к любому последовательному порту отладочной "
-"машины. Подробности о настройке флагов на устройстве uart смотрите в "
-"man:uart[4]."
+"машины. Подробности о настройке флагов на устройстве uart смотрите в man:"
+"uart[4]."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:578
@@ -1388,9 +1387,9 @@ msgstr ""
"могут отображаться как `<optimized out>`, что не позволяет их напрямую "
"исследовать с помощью `gdb`. Если это вызывает проблемы при отладке, можно "
"собрать ядро с пониженным уровнем оптимизации, что может улучшить видимость "
-"некоторых переменных. Это можно сделать, передав `COPTFLAGS=-O1` в "
-"man:make[1]. Однако определённые классы ошибок в ядре могут проявляться "
-"иначе (или вообще не проявляться) при изменении уровня оптимизации."
+"некоторых переменных. Это можно сделать, передав `COPTFLAGS=-O1` в man:"
+"make[1]. Однако определённые классы ошибок в ядре могут проявляться иначе "
+"(или вообще не проявляться) при изменении уровня оптимизации."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:640
@@ -1591,11 +1590,11 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:702
msgid ""
-"Make sure physical DMA is enabled. You may need to add "
-"`hw.firewire.phydma_enable=1` to [.filename]#/boot/loader.conf#."
+"Make sure physical DMA is enabled. You may need to add `hw.firewire."
+"phydma_enable=1` to [.filename]#/boot/loader.conf#."
msgstr ""
-"Убедитесь, что физический DMA включен. Возможно, потребуется добавить "
-"`hw.firewire.phydma_enable=1` в [.filename]#/boot/loader.conf#."
+"Убедитесь, что физический DMA включен. Возможно, потребуется добавить `hw."
+"firewire.phydma_enable=1` в [.filename]#/boot/loader.conf#."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:703
@@ -1619,12 +1618,12 @@ msgstr "Включите `dcons` в [.filename]#/etc/ttys#."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:706
msgid ""
-"Optionally, to force `dcons` to be the high-level console, add "
-"`hw.firewire.dcons_crom.force_console=1` to [.filename]#loader.conf#."
+"Optionally, to force `dcons` to be the high-level console, add `hw.firewire."
+"dcons_crom.force_console=1` to [.filename]#loader.conf#."
msgstr ""
"Это необязательно: чтобы принудительно сделать `dcons` высокоуровневой "
-"консолью, добавьте `hw.firewire.dcons_crom.force_console=1` в "
-"[.filename]#loader.conf#."
+"консолью, добавьте `hw.firewire.dcons_crom.force_console=1` в [."
+"filename]#loader.conf#."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:708
@@ -1652,8 +1651,8 @@ msgstr "# cd /sys/boot/i386 && make clean && make && make install\n"
#. type: Plain text
#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:717
msgid ""
-"To enable man:dcons[4] as an active low-level console, add "
-"`boot_multicons=\"YES\"` to [.filename]#/boot/loader.conf#."
+"To enable man:dcons[4] as an active low-level console, add `boot_multicons="
+"\"YES\"` to [.filename]#/boot/loader.conf#."
msgstr ""
"Чтобы включить man:dcons[4] в качестве активной низкоуровневой консоли, "
"добавьте `boot_multicons=\"YES\"` в [.filename]#/boot/loader.conf#."
@@ -1750,8 +1749,8 @@ msgstr "# dconschat -e \\# -br -G 12345 -t 00-11-22-33-44-55-66-77\n"
msgid ""
"The following key combinations can be used once man:dconschat[8] is running:"
msgstr ""
-"Следующие комбинации клавиш могут быть использованы после запуска "
-"man:dconschat[8]:"
+"Следующие комбинации клавиш могут быть использованы после запуска man:"
+"dconschat[8]:"
#. type: Table
#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:767
@@ -1840,8 +1839,8 @@ msgid ""
"There exists a GDB mode for man:emacs[1]; this is what you will need to add "
"to your [.filename]#.emacs#:"
msgstr ""
-"Существует режим GDB для man:emacs[1]; вот что нужно добавить в ваш "
-"[.filename]#.emacs#:"
+"Существует режим GDB для man:emacs[1]; вот что нужно добавить в ваш [."
+"filename]#.emacs#:"
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:806
@@ -1954,9 +1953,9 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:846
msgid ""
-"`options KDB_UNATTENDED`: change the default value of the "
-"`debug.debugger_on_panic` sysctl to 0, which controls whether the debugger "
-"is entered on panic. When `options KDB` is not compiled into the kernel, the "
+"`options KDB_UNATTENDED`: change the default value of the `debug."
+"debugger_on_panic` sysctl to 0, which controls whether the debugger is "
+"entered on panic. When `options KDB` is not compiled into the kernel, the "
"behavior is to automatically reboot on panic; when it is compiled into the "
"kernel, the default behavior is to drop into the debugger unless `options "
"KDB_UNATTENDED` is compiled in. If you want to leave the kernel debugger "
diff --git a/documentation/content/ru/books/developers-handbook/kerneldebug/chapter.adoc b/documentation/content/ru/books/developers-handbook/kerneldebug/chapter.adoc
deleted file mode 100644
index 6e116cfec2..0000000000
--- a/documentation/content/ru/books/developers-handbook/kerneldebug/chapter.adoc
+++ /dev/null
@@ -1,678 +0,0 @@
----
-title: Глава 10. Отладка ядра
-authors:
- - author: Paul Richards
- - author: Jörg Wunsch
- - author: Robert Watson
----
-
-[[kerneldebug]]
-= Отладка ядра
-:doctype: book
-:toc: macro
-:toclevels: 1
-:icons: font
-:sectnums:
-:sectnumlevels: 6
-:sectnumoffset: 10
-:partnums:
-:source-highlighter: rouge
-:experimental:
-:images-path: books/developers-handbook/
-
-ifdef::env-beastie[]
-ifdef::backend-html5[]
-:imagesdir: ../../../../images/{images-path}
-endif::[]
-ifndef::book[]
-include::shared/authors.adoc[]
-include::shared/mirrors.adoc[]
-include::shared/releases.adoc[]
-include::shared/attributes/attributes-{{% lang %}}.adoc[]
-include::shared/{{% lang %}}/teams.adoc[]
-include::shared/{{% lang %}}/mailing-lists.adoc[]
-include::shared/{{% lang %}}/urls.adoc[]
-toc::[]
-endif::[]
-ifdef::backend-pdf,backend-epub3[]
-include::../../../../../shared/asciidoctor.adoc[]
-endif::[]
-endif::[]
-
-ifndef::env-beastie[]
-toc::[]
-include::../../../../../shared/asciidoctor.adoc[]
-endif::[]
-
-[[kerneldebug-obtain]]
-== Получение аварийного дампа ядра
-
-При работе ядра, находящегося в разработке (например: FreeBSD-CURRENT), при критичных условиях (к примеру: очень высокая средняя нагрузка, десятки тысяч соединений, исключительно большое количество одновременно работающих пользователей, сотни процессов man:jail[8] и так далее) или при использовании новой возможности в драйвере устройства в FreeBSD-STABLE (пример: PAE) оно иногда будет завершать свою работу аварийно. В случае, если это произошло, в этой главе показано, как извлекать полезную информацию из произошедшего сбоя.
-
-При аварийном завершении работы ядра перезагрузка системы неизбежна. После перезагрузки системы содержимое физической памяти системы (RAM) теряется, так же как и всё содержимое раздела подкачки перед сбоем. Для сохранения состояния физической памяти ядро использует устройство подкачки в качестве места временного хранения содержимого оперативной памяти после перезагрузки, следующей за аварийным завершением работы. С этой целью при загрузке FreeBSD после аварийного останова образ ядра может быть извлечён и применяться для отладки.
-
-[NOTE]
-====
-Устройство подкачки, которое было отконфигурировано в качестве устройства для дампа продолжает выступать в роли устройства подкачки. В настоящее время выполнение дампов на устройства, не предназначенные для организации подкачки (например, ленты или CDRW), не поддерживается. Понятие "устройство подкачки" является синонимом "раздела подкачки."
-====
-
-Чтобы суметь извлечь образ, который можно использовать, требуется, чтобы по крайней мере один раздел подкачки был достаточно большим, чтобы разместить на нём весь объём физической памяти. Когда ядро аварийно завершает работу, перед перезагрузкой системы, ядро достаточно умно, чтобы проверить, было ли отконфигурировано устройство подкачки в качестве устройства для хранения дампов. Если оно является устройством, подходящим для сброса дампа, то ядро сбрасывает содержимое физической памяти на устройство подкачки.
-
-[[config-dumpdev]]
-=== Конфигурация устройства хранения дампов
-
-До того, как ядро начнёт сбрасывать содержимое физической памяти на устройство хранения дампов, последнее должно быть отконфигурировано. Устройство хранения дампов задаётся при помощи команды man:dumpon[8], указывающей ядру, куда сохранять аварийные дампы ядра. Программа man:dumpon[8] должна быть вызвана после конфигурации раздела подкачки по команде man:swapon[8]. Обычно это осуществляется установкой переменной `dumpdev` в файле man:rc.conf[5] в значение, соответствующее пути к устройству подкачки (рекомендованный способ извлечения дампа ядра).
-
-Либо устройство для сброса образа памяти может быть задано явно в параметре `dump` строки man:config[5] конфигурационного файла вашего ядра. Такой способ использовать не рекомендуется и он должен использоваться, только если ядро аварийно завершает свою работу до того, как можно было бы запустить man:dumpon[8].
-
-[TIP]
-====
-
-Проверьте содержимое файла [.filename]#/etc/fstab# или выдачу man:swapinfo[8] на предмет наличия устройств подкачки.
-====
-
-[IMPORTANT]
-====
-Удостоверьтесь, что каталог `dumpdir`, указанный в man:rc.conf[5], существует до аварийного останова ядра!
-
-[source,shell]
-....
-# mkdir /var/crash
-# chmod 700 /var/crash
-....
-
-Запомните также, что содержимое [.filename]#/var/crash# является важной информацией, весьма вероятно, содержащей конфиденциальную информацию, в частности, пароли.
-====
-
-[[extract-dump]]
-=== Извлечение дампа ядра
-
-После того, как аварийный образ был записан на соответствующее устройство, его нужно извлечь до момента монтирования устройства подкачки. Для извлечения дампа из устройства его сохранения, воспользуйтесь утилитой man:savecore[8]. Если в файле man:rc.conf[5] было задано устройство `dumpdev`, то man:savecore[8] будет запущена автоматически при первой после аварийного останова загрузке в многопользовательском режиме и до монтирования устройства подкачки. Местоположение извлечённого образа памяти определяется значением переменной `dumpdir` из файла man:rc.conf[5], которое по умолчанию указывает на каталог [.filename]#/var/crash#, а файл будет называться [.filename]#vmcore.0#.
-
-В случае, если в каталоге [.filename]#/var/crash# (или в том, на который указывает `dumpdir`) уже существует файл с именем [.filename]#vmcore.0#, то ядро будет увеличивать порядковый номер для каждого аварийного останова, чтобы избежать перезаписи существующих файлов [.filename]#vmcore# (к примеру, [.filename]#vmcore.1#). В процессе отладки скорее всего, в качестве нужного [.filename]#vmcore# вы будете использовать версию [.filename]#vmcore# с наибольшим номером в [.filename]#/var/crash#.
-
-[TIP]
-====
-
-Если вы тестируете новое ядро, но вам нужно загрузить и работать с другим ядром, чтобы получить нормально функционирующую систему, то загрузите его в однопользовательском режиме при помощи флага `-s`, указываемого при загрузке, а затем выполните такие шаги:
-
-[source,shell]
-....
-# fsck -p
-# mount -a -t ufs
-# доступность /var/crash для записи
-# savecore /var/crash /dev/ad0s1b
-# exit
-....
-
-Эти команды указывают man:savecore[8] извлечь дамп ядра из устройства [.filename]#/dev/ad0s1b# и поместить его содержимое в каталог [.filename]#/var/crash#. Не забудьте проверить, что в целевом каталоге [.filename]#/var/crash# достаточно места для хранения дампа. Кроме того, не забудьте проверить правильность маршрута к вашему устройству подкачки, так как он, скорее всего, отличается от [.filename]#/dev/ad0s1b#!
-====
-
-Рекомендуемым и определённо самым простым способом автоматизации формирования аварийных образов является указание переменной `dumpdev` в файле man:rc.conf[5].
-
-[[kerneldebug-gdb]]
-== Отладка аварийного образа памяти ядра при помощи `kgdb`
-
-[NOTE]
-====
-В этом разделе описывается утилита man:kgdb[1], поставляемая с FreeBSD 5.3 и более поздними версиями. В предыдущих версиях для чтения файла аварийного дампа ядра необходимо использовать команду `gdb -k`.
-====
-
-После извлечения дампа памяти получение из него полезной информации для решения простых проблем является сравнительно лёгкой задачей. Перед тем, как погрузиться во внутренний интерфейс man:kgdb[1] для отладки аварийного образа памяти, найдите отладочную версию вашего ядра (обычно она имеет название [.filename]#kernel.debug#) и выясните маршрут к файлам исходных текстов, использованных для построения вашего ядра (обычно это [.filename]#/usr/obj/usr/src/sys/KERNCONF#), где в качестве _KERNCONF_ выступает значение `ident`, указанное конфигуратору ядра man:config[5]). Имея на руках эти два параметра, начнём отладку!
-
-Чтобы войти в отладчик и начать получать информацию из дампа, как минимум необходимо сделать следующие шаги:
-
-[source,shell]
-....
-# cd /usr/obj/usr/src/sys/KERNCONF
-# kgdb kernel.debug /var/crash/vmcore.0
-....
-
-Вы можете отлаживать аварийный дамп, используя исходные тексты ядра точно также, как вы это делаете с любой другой программой.
-
-Этот первый дамп взят из ядра 5.2-BETA, а сбой произошёл где-то глубоко внутри ядра. Нижеследующая выдача была модифицирована, в неё слева добавлены номера строк. При первой трассировке проверяется указатель команд и выдаётся обратная трассировка. Адрес, используемый в строке 41 для команды `list`, является указателем команд и он может быть найден в строке 17. Большинство разработчиков будут требовать предоставления им по крайней мере этой информации, если вы не можете отследить проблему самостоятельно. Если, однако, вы решите проблему, то обязательно добейтесь включения вашего патча в дерево исходных текстов, прислав его через сообщение об ошибке, списки рассылки или даже его непосредственным коммитом!
-
-[source,shell]
-....
-1:# cd /usr/obj/usr/src/sys/KERNCONF
- 2:# kgdb kernel.debug /var/crash/vmcore.0
- 3:GNU gdb 5.2.1 (FreeBSD)
- 4:Copyright 2002 Free Software Foundation, Inc.
- 5:GDB is free software, covered by the GNU General Public License, and you are
- 6:welcome to change it and/or distribute copies of it under certain conditions.
- 7:Type "show copying" to see the conditions.
- 8:There is absolutely no warranty for GDB. Type "show warranty" for details.
- 9:This GDB was configured as "i386-undermydesk-freebsd"...
-10:panic: page fault
-11:panic messages:
-12:---
-13:Fatal trap 12: page fault while in kernel mode
-14:cpuid = 0; apic id = 00
-15:fault virtual address = 0x300
-16:fault code: = supervisor read, page not present
-17:instruction pointer = 0x8:0xc0713860
-18:stack pointer = 0x10:0xdc1d0b70
-19:frame pointer = 0x10:0xdc1d0b7c
-20:code segment = base 0x0, limit 0xfffff, type 0x1b
-21: = DPL 0, pres 1, def32 1, gran 1
-22:processor eflags = resume, IOPL = 0
-23:current process = 14394 (uname)
-24:trap number = 12
-25:panic: page fault
-26 cpuid = 0;
-27:Stack backtrace:
-28
-29:syncing disks, buffers remaining... 2199 2199 panic: mi_switch: switch in a critical section
-30:cpuid = 0;
-31:Uptime: 2h43m19s
-32:Dumping 255 MB
-33: 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240
-34:---
-35:Reading symbols from /boot/kernel/snd_maestro3.ko...done.
-36:Loaded symbols for /boot/kernel/snd_maestro3.ko
-37:Reading symbols from /boot/kernel/snd_pcm.ko...done.
-38:Loaded symbols for /boot/kernel/snd_pcm.ko
-39:#0 doadump () at /usr/src/sys/kern/kern_shutdown.c:240
-40:240 dumping++;
-41:(kgdb) list *0xc0713860
-42:0xc0713860 is in lapic_ipi_wait (/usr/src/sys/i386/i386/local_apic.c:663).
-43:658 incr = 0;
-44:659 delay = 1;
-45:660 } else
-46:661 incr = 1;
-47:662 for (x = 0; x < delay; x += incr) {
-48:663 if ((lapic->icr_lo & APIC_DELSTAT_MASK) == APIC_DELSTAT_IDLE)
-49:664 return (1);
-50:665 ia32_pause();
-51:666 }
-52:667 return (0);
-53:(kgdb) backtrace
-54:#0 doadump () at /usr/src/sys/kern/kern_shutdown.c:240
-55:#1 0xc055fd9b in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:372
-56:#2 0xc056019d in panic () at /usr/src/sys/kern/kern_shutdown.c:550
-57:#3 0xc0567ef5 in mi_switch () at /usr/src/sys/kern/kern_synch.c:470
-58:#4 0xc055fa87 in boot (howto=256) at /usr/src/sys/kern/kern_shutdown.c:312
-59:#5 0xc056019d in panic () at /usr/src/sys/kern/kern_shutdown.c:550
-60:#6 0xc0720c66 in trap_fatal (frame=0xdc1d0b30, eva=0)
-61: at /usr/src/sys/i386/i386/trap.c:821
-62:#7 0xc07202b3 in trap (frame=
-63: {tf_fs = -1065484264, tf_es = -1065484272, tf_ds = -1065484272, tf_edi = 1, tf_esi = 0, tf_ebp = -602076292, tf_isp = -602076324, tf_ebx = 0, tf_edx = 0, tf_ecx = 1000000, tf_eax = 243, tf_trapno = 12, tf_err = 0, tf_eip = -1066321824, tf_cs = 8, tf_eflags = 65671, tf_esp = 243, tf_ss = 0})
-64: at /usr/src/sys/i386/i386/trap.c:250
-65:#8 0xc070c9f8 in calltrap () at {standard input}:94
-66:#9 0xc07139f3 in lapic_ipi_vectored (vector=0, dest=0)
-67: at /usr/src/sys/i386/i386/local_apic.c:733
-68:#10 0xc0718b23 in ipi_selected (cpus=1, ipi=1)
-69: at /usr/src/sys/i386/i386/mp_machdep.c:1115
-70:#11 0xc057473e in kseq_notify (ke=0xcc05e360, cpu=0)
-71: at /usr/src/sys/kern/sched_ule.c:520
-72:#12 0xc0575cad in sched_add (td=0xcbcf5c80)
-73: at /usr/src/sys/kern/sched_ule.c:1366
-74:#13 0xc05666c6 in setrunqueue (td=0xcc05e360)
-75: at /usr/src/sys/kern/kern_switch.c:422
-76:#14 0xc05752f4 in sched_wakeup (td=0xcbcf5c80)
-77: at /usr/src/sys/kern/sched_ule.c:999
-78:#15 0xc056816c in setrunnable (td=0xcbcf5c80)
-79: at /usr/src/sys/kern/kern_synch.c:570
-80:#16 0xc0567d53 in wakeup (ident=0xcbcf5c80)
-81: at /usr/src/sys/kern/kern_synch.c:411
-82:#17 0xc05490a8 in exit1 (td=0xcbcf5b40, rv=0)
-83: at /usr/src/sys/kern/kern_exit.c:509
-84:#18 0xc0548011 in sys_exit () at /usr/src/sys/kern/kern_exit.c:102
-85:#19 0xc0720fd0 in syscall (frame=
-86: {tf_fs = 47, tf_es = 47, tf_ds = 47, tf_edi = 0, tf_esi = -1, tf_ebp = -1077940712, tf_isp = -602075788, tf_ebx = 672411944, tf_edx = 10, tf_ecx = 672411600, tf_eax = 1, tf_trapno = 12, tf_err = 2, tf_eip = 671899563, tf_cs = 31, tf_eflags = 642, tf_esp = -1077940740, tf_ss = 47})
-87: at /usr/src/sys/i386/i386/trap.c:1010
-88:#20 0xc070ca4d in Xint0x80_syscall () at {standard input}:136
-89:---Can't read userspace from dump, or kernel process---
-90:(kgdb) quit
-....
-
-Во второй трассировке используется более старый дамп из времён FreeBSD 2, но он более сложный и показывает больше возможностей `gdb`. Длинные строки были усечены ради повышения читабельности, а также пронумерованы для того, чтобы ссылаться на них. Кроме этих отличий, это реальная трассировка ошибки, выполненная в процессе разработки консольного драйвера pcvt.
-
-[source,shell]
-....
-1:Script started on Fri Dec 30 23:15:22 1994
- 2:# cd /sys/compile/URIAH
- 3:# gdb -k kernel /var/crash/vmcore.1
- 4:Reading symbol data from /usr/src/sys/compile/URIAH/kernel
-...done.
- 5:IdlePTD 1f3000
- 6:panic: because you said to!
- 7:current pcb at 1e3f70
- 8:Reading in symbols for ../../i386/i386/machdep.c...done.
- 9:(kgdb) backtrace
-10:#0 boot (arghowto=256) (../../i386/i386/machdep.c line 767)
-11:#1 0xf0115159 in panic ()
-12:#2 0xf01955bd in diediedie () (../../i386/i386/machdep.c line 698)
-13:#3 0xf010185e in db_fncall ()
-14:#4 0xf0101586 in db_command (-266509132, -266509516, -267381073)
-15:#5 0xf0101711 in db_command_loop ()
-16:#6 0xf01040a0 in db_trap ()
-17:#7 0xf0192976 in kdb_trap (12, 0, -272630436, -266743723)
-18:#8 0xf019d2eb in trap_fatal (...)
-19:#9 0xf019ce60 in trap_pfault (...)
-20:#10 0xf019cb2f in trap (...)
-21:#11 0xf01932a1 in exception:calltrap ()
-22:#12 0xf0191503 in cnopen (...)
-23:#13 0xf0132c34 in spec_open ()
-24:#14 0xf012d014 in vn_open ()
-25:#15 0xf012a183 in open ()
-26:#16 0xf019d4eb in syscall (...)
-27:(kgdb) up 10
-28:Reading in symbols for ../../i386/i386/trap.c...done.
-29:#10 0xf019cb2f in trap (frame={tf_es = -260440048, tf_ds = 16, tf_\
-30:edi = 3072, tf_esi = -266445372, tf_ebp = -272630356, tf_isp = -27\
-31:2630396, tf_ebx = -266427884, tf_edx = 12, tf_ecx = -266427884, tf\
-32:_eax = 64772224, tf_trapno = 12, tf_err = -272695296, tf_eip = -26\
-33:6672343, tf_cs = -266469368, tf_eflags = 66066, tf_esp = 3072, tf_\
-34:ss = -266427884}) (../../i386/i386/trap.c line 283)
-35:283 (void) trap_pfault(&frame, FALSE);
-36:(kgdb) frame frame-<tf_ebp frame-<tf_eip
-37:Reading in symbols for ../../i386/isa/pcvt/pcvt_drv.c...done.
-38:#0 0xf01ae729 in pcopen (dev=3072, flag=3, mode=8192, p=(struct p\
-39:roc *) 0xf07c0c00) (../../i386/isa/pcvt/pcvt_drv.c line 403)
-40:403 return ((*linesw[tp-<t_line].l_open)(dev, tp));
-41:(kgdb) list
-42:398
-43:399 tp-<t_state |= TS_CARR_ON;
-44:400 tp-<t_cflag |= CLOCAL; /* cannot be a modem (:-) */
-45:401
-46:402 #if PCVT_NETBSD || (PCVT_FREEBSD >= 200)
-47:403 return ((*linesw[tp-<t_line].l_open)(dev, tp));
-48:404 #else
-49:405 return ((*linesw[tp-<t_line].l_open)(dev, tp, flag));
-50:406 #endif /* PCVT_NETBSD || (PCVT_FREEBSD >= 200) */
-51:407 }
-52:(kgdb) print tp
-53:Reading in symbols for ../../i386/i386/cons.c...done.
-54:$1 = (struct tty *) 0x1bae
-55:(kgdb) print tp-<t_line
-56:$2 = 1767990816
-57:(kgdb) up
-58:#1 0xf0191503 in cnopen (dev=0x00000000, flag=3, mode=8192, p=(st\
-59:ruct proc *) 0xf07c0c00) (../../i386/i386/cons.c line 126)
-60: return ((*cdevsw[major(dev)].d_open)(dev, flag, mode, p));
-61:(kgdb) up
-62:#2 0xf0132c34 in spec_open ()
-63:(kgdb) up
-64:#3 0xf012d014 in vn_open ()
-65:(kgdb) up
-66:#4 0xf012a183 in open ()
-67:(kgdb) up
-68:#5 0xf019d4eb in syscall (frame={tf_es = 39, tf_ds = 39, tf_edi =\
-69: 2158592, tf_esi = 0, tf_ebp = -272638436, tf_isp = -272629788, tf\
-70:_ebx = 7086, tf_edx = 1, tf_ecx = 0, tf_eax = 5, tf_trapno = 582, \
-71:tf_err = 582, tf_eip = 75749, tf_cs = 31, tf_eflags = 582, tf_esp \
-72:= -272638456, tf_ss = 39}) (../../i386/i386/trap.c line 673)
-73:673 error = (*callp-<sy_call)(p, args, rval);
-74:(kgdb) up
-75:Initial frame selected; you cannot go up.
-76:(kgdb) quit
-....
-
-Комментарии к вышеприведенному журналу:
-
-строка 6:::
-Это дамп, взятый при помощи DDB (смотри ниже), поэтому комментарий к аварийному останову имеет именно вид "because you said to!" и трассировка стека глубока; однако изначальной причиной перехода в DDB была аварийная остановка при возникновению ошибки страницы памяти.
-
-строка 20:::
-Это местонахождение функции `trap()` в трассировке стека.
-
-строка 36:::
-Принудительное использование новой границы стека; теперь это не нужно. Предполагается, что границы стека указывают на правильное расположение, даже в случае аварийного останова. Глядя на строку исходного кода 403, можно сказать, что весьма вероятно, что либо виноват доступ по указателю "tp", либо был выход за границы массива.
-
-строка 52:::
-Похоже, что виноват указатель, но он является допустимым адресом.
-
-строка 56:::
-Однако, очевидно, что он указывает на мусор, так что мы нашли нашу ошибку! (Для тех, кто не знаком с этой частью кода: `tp->t_line` служит для хранения режима канала консольного устройства, и это должно быть достаточно маленькое целое число.)
-
-[TIP]
-====
-
-Если в вашей системе регулярно происходят аварийные остановы, и вам не хватает места на диске, удаление старых файлов [.filename]#vmcore# в каталоге [.filename]#/var/crash# может сэкономить вам значительный объём дискового пространства!
-====
-
-[[kerneldebug-ddd]]
-== Отладка аварийного дампа с помощью DDD
-
-Возможно также и исследование аварийного дампа ядра при помощи такого графического отладчика, как `ddd` (вам потребуется установить порт [.filename]#devel/ddd#, чтобы использовать отладчик `ddd`). Добавьте флаг `-k` к командной строке `ddd`, которую вы обычно используете для его вызова. Например;
-
-[source,shell]
-....
-# ddd -k /var/crash/kernel.0 /var/crash/vmcore.0
-....
-
-После этого у вас должно получиться исследование аварийного дампа при помощи графического интерфейса `ddd`.
-
-[[kerneldebug-post-mortem]]
-== Посмертный анализ дампа
-
-Что делать, если ядро аварийно завершает работу, хотя этого вы не хотели и поэтому командой `config -g` его не компилировали? Здесь не всё ещё потеряно. Не паникуйте!
-
-Конечно, вам нужно включить создание аварийных дампов. Смотрите выше, что вы должны для этого сделать.
-
-Перейдите в каталог конфигурации ядра ([.filename]#/usr/src/sys/arch/conf#) и отредактируйте ваш конфигурационный файл. Раскомментируйте (или добавьте, если она не существует) такую строку:
-
-[.programlisting]
-....
-makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
-....
-
-Перестройте ядро. Из-за изменения метки времени в Makefile будут перестроены и некоторые другие объектные файлы, например, [.filename]#trap.o#. К некоторому счастью, добавление опции `-g` не изменит все и вся в генерируемом коде, так что в конце концов вы получите новое ядро с тем же кодом, что и сбоящее ядро, но с отладочной информацией. По крайней мере, вы можете сравнить старый и новый размеры ядер командой man:size[1]. Если они не совпадают, то вам придется отказаться от вашей затеи.
-
-Исследуйте дамп так, как это описано выше. Отладочной информации может не хватать в некоторых местах, как это можно видеть в трассировке стека примера выше, когда некоторые функции выводятся без номеров строк и списка аргументов. Если вам нужно больше отладочной информации, удалите соответствующие объектные файлы, снова перекомпилируйте ядро и повторите сеанс работы `gdb -k`, пока не получите достаточно подробную информацию.
-
-Не гарантируется, что всё это будет работать, однако в большинстве случаев всё работает прекрасно.
-
-[[kerneldebug-online-ddb]]
-== Отладка ядра в режиме реального времени с помощью DDB
-
-Хотя `gdb -k` является отладчиком не реального времени с высокоуровневым пользовательским интерфейсом, есть несколько вещей, которые он сделать не сможет. Самыми важными из них являются точки останова и пошаговое выполнение кода ядра.
-
-Если вам нужно выполнять низкоуровневую отладку вашего ядра, то на этот случай имеется отладчик реального времени, который называется DDB. Он позволяет устанавливать точки останова, выполнять функции ядра по шагам, исследовать и изменять переменные ядра и прочее. Однако он не может использовать исходные тексты ядра и имеет доступ только к глобальным и статическим символам, а не ко всей отладочной информации, как в `gdb`.
-
-Чтобы отконфигурировать ваше ядро для включения DDB, добавьте строчку с параметром
-
-[.programlisting]
-....
-options DDB
-....
-
-в ваш конфигурационный файл, и перестройте ядро. (Обратитесь к extref:{handbook}[Руководству по FreeBSD] для выяснения подробностей о конфигурации ядра FreeBSD).
-
-[NOTE]
-====
-Если у вас устаревшая версия загрузочных блоков, то отладочная информация может оказаться не загруженной. Обновите блоки загрузки; самые новые загружают символы для DDB автоматически.
-====
-
-После того, как ядро с DDB запущено, есть несколько способов войти в DDB. Первый, и самый простой, способ заключается в наборе флага загрузки `-d` прямо в приглашении загрузчика. Ядро будет запущено в режиме отладки и войдет в DDB до выполнения процедуры распознавания каких бы то ни было устройств. Поэтому вы можете выполнить отладку даже функций распознавания/присоединения устройств.
-
-Вторым способом является переход в режим отладчика сразу после загрузки системы. Есть два простых способа этого добиться. Если вы хотите перейти в отладчик из командной строки, просто наберите команду:
-
-[source,shell]
-....
-# sysctl debug.enter_debugger=ddb
-....
-
-Либо, если вы работаете за системной консолью, можете воспользоваться определенной комбинацией клавиш. По умолчанию для перехода в отладчик используется комбинация kbd:[Ctrl+Alt+ESC]. Для драйвера syscons эта последовательность может быть изменена, и в некоторых распространяемых раскладках это сделано, так что обязательно выясните правильную комбинацию. Для последовательных консолей имеется параметр, позволяющий использовать последовательность BREAK на канале консоли для входа в DDB (`options BREAK_TO_DEBUGGER` в конфигурационном файле ядра). По умолчанию этого не делается, так как существует множество последовательных адаптеров, которые ошибочно генерируют последовательность BREAK, к примеру, при отключении кабеля.
-
-Третий способ заключается во входе в DDB при возникновении любой аварийной ситуации, если ядро его использует. По этой причине не очень умно конфигурировать ядро с DDB для машины, которая работает без присмотра.
-
-Команды DDB примерно повторяют некоторые команды `gdb`. Первым делом вам, наверное, нужно задать точку останова:
-
-[source,shell]
-....
- b function-name
- b address
-....
-
-Значения по умолчанию воспринимаются в шестнадцатеричном виде, но чтобы отличать их от имен символов; шестнадцатеричные числа, начинающиеся с букв `a-f`, должны предваряться символами `0x` (это опционально для других чисел). Разрешены простые выражения, например: `function-name + 0x103`.
-
-Чтобы продолжить работу прерванного ядра, просто наберите:
-
-[source,shell]
-....
- c
-....
-
-Чтобы получить трассировку стека, задайте:
-
-[source,shell]
-....
- trace
-....
-
-[NOTE]
-====
-Заметьте, что при входе в DDB по специальной комбинации, ядро в данный момент обслуживает прерывание, так что трассировка стека может не дать вам много информации.
-====
-
-Если вы хотите убрать точку останова, введите
-
-[source,shell]
-....
- del
- del address-expression
-....
-
-В первом варианте команда будет исполнена сразу же по достижении точки останова, а текущая точка останова будет удалена. Во второй форме можно удалить любую точку останова, однако вам нужно будет указать ее точный адрес; его можно получить из:
-
-[source,shell]
-....
- show b
-....
-
-Чтобы выполнить один шаг ядра, попробуйте:
-
-[source,shell]
-....
- s
-....
-
-При этом будет осуществляться пошаговое выполнение функций, однако вы можете трассировать их с помощью DDB, пока не будет достигнуто соответствие возвращаемому значению:
-
-[source,shell]
-....
- n
-....
-
-[NOTE]
-====
-Это отличается от команды `next` отладчика `gdb`; это похоже на команду `gdb finish`.
-====
-
-Чтобы выводить значения в памяти, используйте, (к примеру):
-
-[source,shell]
-....
- x/wx 0xf0133fe0,40
- x/hd db_symtab_space
- x/bc termbuf,10
- x/s stringbuf
-....
-
-для доступа к данным типа слово/полуслово/байт и вывода в шестнадцатеричном/десятичном/символьном виде. Число после запятой означает счетчик объектов. Чтобы вывести следующие 0x10 объектов, просто укажите:
-
-[source,shell]
-....
- x ,10
-....
-
-Подобным же образом используйте
-
-[source,shell]
-....
- x/ia foofunc,10
-....
-
-для дизассемблирования и вывода первых 0x10 инструкций функции `foofunc` вместе с их адресом относительно начала `foofunc`.
-
-Чтобы изменить значения в памяти, используйте команду write:
-
-[source,shell]
-....
- w/b termbuf 0xa 0xb 0
- w/w 0xf0010030 0 0
-....
-
-Модификатор команды (`b`/`h`/`w`) указывает на размер записываемых данных, первое следующее за ним выражение является адресом для записи, а оставшаяся часть интерпретируется как данные для записи в доступные области памяти.
-
-Если вам нужно узнать текущее содержимое регистров, используйте:
-
-[source,shell]
-....
- show reg
-....
-
-Альтернативно вы можете вывести содержимое одного регистра по команде, скажем,
-
-[source,shell]
-....
- p $eax
-....
-
-и изменить его по:
-
-[source,shell]
-....
- set $eax new-value
-....
-
-Если вам нужно вызвать некоторую функцию ядра из DDB, просто укажите:
-
-[source,shell]
-....
- call func(arg1, arg2, ...)
-....
-
-Будет выведено возвращаемое значение.
-
-Для вывода суммарной статистики по всем работающим процессам в стиле команды man:ps[1] воспользуйтесь такой командой:
-
-[source,shell]
-....
- ps
-....
-
-Теперь вы узнали, почему ядро работает с ошибками и хотите выполнить перезагрузку. Запомните, что в зависимости от влияния предыдущих ошибок, не все части ядра могут работать так, как ожидается. Выполните одно из следующих действий для закрытия и перезагрузки вашей системы:
-
-[source,shell]
-....
- panic
-....
-
-Это приведет к созданию дампа ядра и перезагрузке, так что позже вы можете проанализировать дамп на более высоком уровне при помощи `gdb`. Как правило, эта команда должна следовать за другой командой `continue`.
-
-[source,shell]
-....
- call boot(0)
-....
-
-Это может оказаться хорошим способом для корректного закрытия работающей системы, `sync()` для всех дисков и напоследок перезагрузка. Пока интерфейсы диска и файловой системы в ядре не повреждены, это может быть самым правильным способом закрытия системы.
-
-[source,shell]
-....
- call cpu_reset()
-....
-
-Это последнее средство при аварии и практически то же самое, что нажатие Большой Красной Кнопки.
-
-Если вам нужен краткий справочник по командам, просто наберите:
-
-[source,shell]
-....
- help
-....
-
-Однако настоятельно рекомендуем отпечатать копию страницы справочника по man:ddb[4] при подготовке к сеансу отладки. Помните, что трудно читать онлайновое руководство при пошаговом выполнении ядра.
-
-[[kerneldebug-online-gdb]]
-== Отладка ядра в режиме реального времени при помощи удалённого GDB
-
-Эта возможность поддерживается во FreeBSD начиная с версии 2.2, и она на самом деле очень удобна.
-
-В GDB уже давно имеется поддержка _удаленной отладки_. Это делается при помощи весьма простого протокола по последовательному каналу. В отличие от других методов, описанных выше, для этого вам требуется наличие двух машин. Одна из них является хостом, предоставляющим ресурсы для отладки, включая все исходные тексты и копию ядра со всеми символами в нем, а другая является целевой машиной, на которой запущена та же копия того же ядра (но без отладочной информации).
-
-Вы должны настроить исследуемое ядро при помощи команды `config -g`, включить `DDB` в конфигурацию и откомпилировать его обычным образом. Это даст большой бинарный файл из-за отладочной информации. Скопируйте это ядро на целевую машину, усеките отладочную информацию командой `strip -x` и загрузите это ядро с использованием параметра загрузки `-d`. Подключите последовательный канал целевой машины, имеющий установленные флаги "flags 080" на соответствующем устройстве sio к любому последовательному каналу отладочного хоста. А теперь на отладочной машине перейдите в каталог компиляции целевого ядра и запустите `gdb`:
-
-[source,shell]
-....
-% gdb -k kernel
-GDB is free software and you are welcome to distribute copies of it
- under certain conditions; type "show copying" to see the conditions.
-There is absolutely no warranty for GDB; type "show warranty" for details.
-GDB 4.16 (i386-unknown-freebsd),
-Copyright 1996 Free Software Foundation, Inc...
-(kgdb)
-....
-
-Проинициализируйте сеанс удаленной отладки (предполагается, что используется первый последовательный порт) такой командой:
-
-[source,shell]
-....
-(kgdb) target remote /dev/cuaa0
-....
-
-Теперь на целевом хосте (тот, который перешел в DDB даже до начала процесса обнаружения устройств) наберите:
-
-[source,shell]
-....
-Debugger("Boot flags requested debugger")
-Stopped at Debugger+0x35: movb $0, edata+0x51bc
-
-db> gdb
-....
-
-DDB ответит следующим:
-
-[source,shell]
-....
-Next trap will enter GDB remote protocol mode
-....
-
-Каждый раз, когда вы будете набирать `gdb`, режим будет меняться между удаленным GDB и локальным DDB. Чтобы немедленно вызвать следующее прерывание, просто наберите `s` (step). Ваш хостирующий GDB получит управление над целевым ядром:
-
-[source,shell]
-....
-Remote debugging using /dev/cuaa0
-Debugger (msg=0xf01b0383 "Boot flags requested debugger")
- at ../../i386/i386/db_interface.c:257
-(kgdb)
-....
-
-Вы можете работать в этом сеансе точно также, как и в любом другом сеансе GDB, включая полный доступ к исходным текстам, запуск его в режиме gud-mode внутри окна Emacs (что даёт вам автоматический вывод исходного кода в другом окне Emacs) и тому подобное.
-
-[[kerneldebug-kld]]
-== Отладка загружаемых модулей с помощью GDB
-
-При отладке аварийного останова системы, которое произошло в модуле, или при использовании GDB в режиме удаленного доступа к машине, использующей динамические модули, вам нужно указать GDB, как получить информацию о символах в этих модулях.
-
-Первым делом вам нужно построить модуль (или модули) с включением отладочной информации:
-
-[source,shell]
-....
-# cd /sys/modules/linux
-# make clean; make COPTS=-g
-....
-
-Если вы используете GDB в режиме удаленного доступа, то для определения того, куда был загружен модуль, можете запустить команду `kldstat` на целевой машине:
-
-[source,shell]
-....
-# kldstat
-Id Refs Address Size Name
- 1 4 0xc0100000 1c1678 kernel
- 2 1 0xc0a9e000 6000 linprocfs.ko
- 3 1 0xc0ad7000 2000 warp_saver.ko
- 4 1 0xc0adc000 11000 linux.ko
-....
-
-Если вы отлаживаете аварийный дамп, вам потребуется просмотреть список `linker_files` начиная с `linker_files->tqh_first` и следовать указателям `link.tqe_next` до тех пор, пока не найдете запись с тем `filename`, который вы ищете. Элемент `address` этой записи является адресом загрузки модуля.
-
-Затем вам нужно определить смещение текстового сегмента модуля:
-
-[source,shell]
-....
-# objdump --section-headers /sys/modules/linux/linux.ko | grep text
-3 .rel.text 000016e0 000038e0 000038e0 000038e0 2**2
- 10 .text 00007f34 000062d0 000062d0 000062d0 2**2
-....
-
-То, что вы ищете, является секцией `.text`, в примере выше это секция 10. Четвертое числовое поле (всего шестое по счёту) является смещением текстовой секции внутри файла. Добавьте это смещение к адресу загрузки, чтобы получить адрес, на который был перемещён код модуля. В нашем примере мы получим 0xc0adc000 + 0x62d0 = c0ae22d0. Воспользуйтесь командой `add-symbol-file` в GDB для указания отладчику на модуль:
-
-[source,shell]
-....
-(kgdb) add-symbol-file /sys/modules/linux/linux.ko 0xc0ae22d0
-add symbol table from file "/sys/modules/linux/linux.ko" at text_addr = 0xc0ae22d0?
-(y or n)
-(kgdb) y
-Reading symbols from /sys/modules/linux/linux.ko...done.
-(kgdb)
-....
-
-Теперь вы должны получить доступ ко всем символам в модуле.
-
-[[kerneldebug-console]]
-== Отладка драйвера консоли
-
-Так как для работы DDB вам требуется драйвер консоли, то в случае неисправностей самого драйвера консоли все становится гораздо сложнее. Вы можете вспомнить об использовании последовательной консоли (либо с исправленными загрузочными блоками, либо при указании флага `-h` в приглашении `Boot:`) и подключить обычный терминал к первому последовательному порту. DDB работает с любым отконфигурированным драйвером консоли, в том числе с последовательной консолью.
diff --git a/documentation/content/ru/books/developers-handbook/l10n/_index.adoc b/documentation/content/ru/books/developers-handbook/l10n/_index.adoc
index 7b21ea51f3..5d2a2c57ce 100644
--- a/documentation/content/ru/books/developers-handbook/l10n/_index.adoc
+++ b/documentation/content/ru/books/developers-handbook/l10n/_index.adoc
@@ -1,11 +1,11 @@
---
-authors:
+authors: ~
description: 'Локализация и интернационализация - L10N и I18N в FreeBSD'
next: books/developers-handbook/policies
params:
path: /books/developers-handbook/l10n/
prev: books/developers-handbook/secure
-showBookMenu: true
+showBookMenu: 'true'
tags: ["L10N", "I18N", "Localization", "Internationalization", "FreeBSD"]
title: 'Глава 4. Локализация и интернационализация - L10N и I18N'
weight: 5
diff --git a/documentation/content/ru/books/developers-handbook/l10n/_index.po b/documentation/content/ru/books/developers-handbook/l10n/_index.po
index 3a8d1dfcbc..8edbf7ad44 100644
--- a/documentation/content/ru/books/developers-handbook/l10n/_index.po
+++ b/documentation/content/ru/books/developers-handbook/l10n/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-12 22:16+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-06-24 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,13 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/developers-handbook/l10n/_index.adoc:1
#, no-wrap
msgid "Localization and Internationalization - L10N and I18N in FreeBSD"
msgstr "Локализация и интернационализация - L10N и I18N в FreeBSD"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/developers-handbook/l10n/_index.adoc:1
#, no-wrap
msgid "Chapter 4. Localization and Internationalization - L10N and I18N"
@@ -138,7 +138,9 @@ msgstr ""
#: documentation/content/en/books/developers-handbook/l10n/_index.adoc:83
#, no-wrap
msgid "Localized Messages with POSIX.1 Native Language Support (NLS)"
-msgstr "Локализованные сообщения с поддержкой родного языка POSIX.1 (NLS — Native Language Support)"
+msgstr ""
+"Локализованные сообщения с поддержкой родного языка POSIX.1 (NLS — Native "
+"Language Support)"
#. type: Plain text
#: documentation/content/en/books/developers-handbook/l10n/_index.adoc:87
@@ -217,7 +219,9 @@ msgstr ""
#: documentation/content/en/books/developers-handbook/l10n/_index.adoc:112
#, no-wrap
msgid "15 \"File not found: %s\\n\"\n"
-msgstr "15 \"File not found: %s\\n\"\n"
+msgstr ""
+"15 \"File not found: %s\\n"
+"\"\n"
#. type: Plain text
#: documentation/content/en/books/developers-handbook/l10n/_index.adoc:118
@@ -546,8 +550,8 @@ msgstr ""
"переводчиков при локализации программы, а пользователи увидят стандартное "
"сообщение об ошибке \"Not a directory\" при возникновении данной ошибки. Это "
"сообщение, вероятно, будет выглядеть более привычным для них. Обратите "
-"внимание, что для прямого доступа к `errno` потребовалось включить "
-"[.filename]#errno.h#."
+"внимание, что для прямого доступа к `errno` потребовалось включить [."
+"filename]#errno.h#."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/l10n/_index.adoc:236
@@ -593,8 +597,8 @@ msgstr ""
"как компиляция каталогов и их установка в нужное место. Чтобы ещё больше "
"упростить этот процесс, [.filename]#bsd.nls.mk# вводит некоторые макросы. "
"Нет необходимости явно включать [.filename]#bsd.nls.mk#, он подключается "
-"автоматически из общих Makefiles, таких как [.filename]#bsd.prog.mk# или "
-"[.filename]#bsd.lib.mk#."
+"автоматически из общих Makefiles, таких как [.filename]#bsd.prog.mk# или [."
+"filename]#bsd.lib.mk#."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/l10n/_index.adoc:255
diff --git a/documentation/content/ru/books/developers-handbook/parti.adoc b/documentation/content/ru/books/developers-handbook/parti.adoc
index adce578cf4..d8b7390845 100644
--- a/documentation/content/ru/books/developers-handbook/parti.adoc
+++ b/documentation/content/ru/books/developers-handbook/parti.adoc
@@ -3,7 +3,7 @@ next: books/developers-handbook/introduction
params:
path: /books/developers-handbook/parti/
prev: books/developers-handbook
-showBookMenu: true
+showBookMenu: 'true'
title: 'Часть I. Основы'
weight: 1
---
diff --git a/documentation/content/ru/books/developers-handbook/parti.po b/documentation/content/ru/books/developers-handbook/parti.po
index 1b1ac9c56c..be91cc20d0 100644
--- a/documentation/content/ru/books/developers-handbook/parti.po
+++ b/documentation/content/ru/books/developers-handbook/parti.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-12 22:16+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-06-22 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,7 +18,7 @@ msgstr ""
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.17\n"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/developers-handbook/parti.adoc:1
#, no-wrap
msgid "Part I. Basics"
diff --git a/documentation/content/ru/books/developers-handbook/partii.adoc b/documentation/content/ru/books/developers-handbook/partii.adoc
index 90b195599b..27181f7598 100644
--- a/documentation/content/ru/books/developers-handbook/partii.adoc
+++ b/documentation/content/ru/books/developers-handbook/partii.adoc
@@ -3,7 +3,7 @@ next: books/developers-handbook/sockets
params:
path: /books/developers-handbook/partii/
prev: books/developers-handbook/testing
-showBookMenu: true
+showBookMenu: 'true'
title: 'Часть II. Межпроцессное взаимодействие'
weight: 8
---
diff --git a/documentation/content/ru/books/developers-handbook/partii.po b/documentation/content/ru/books/developers-handbook/partii.po
index e6ef620442..8540e88f65 100644
--- a/documentation/content/ru/books/developers-handbook/partii.po
+++ b/documentation/content/ru/books/developers-handbook/partii.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-12 22:16+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-06-22 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,7 +18,7 @@ msgstr ""
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.17\n"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/developers-handbook/partii.adoc:1
#, no-wrap
msgid "Part II. Interprocess Communication"
diff --git a/documentation/content/ru/books/developers-handbook/partiii.adoc b/documentation/content/ru/books/developers-handbook/partiii.adoc
index af235ae481..fcc0c006ce 100644
--- a/documentation/content/ru/books/developers-handbook/partiii.adoc
+++ b/documentation/content/ru/books/developers-handbook/partiii.adoc
@@ -3,7 +3,7 @@ next: books/developers-handbook/kernelbuild
params:
path: /books/developers-handbook/partiii/
prev: books/developers-handbook/ipv6
-showBookMenu: true
+showBookMenu: 'true'
title: 'Часть III. Ядро системы'
weight: 11
---
diff --git a/documentation/content/ru/books/developers-handbook/partiii.po b/documentation/content/ru/books/developers-handbook/partiii.po
index 784ac2476a..45ad5f5cfe 100644
--- a/documentation/content/ru/books/developers-handbook/partiii.po
+++ b/documentation/content/ru/books/developers-handbook/partiii.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-12 22:16+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-06-12 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,7 +18,7 @@ msgstr ""
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.17\n"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/developers-handbook/partiii.adoc:1
#, no-wrap
msgid "Part III. Kernel"
diff --git a/documentation/content/ru/books/developers-handbook/partiv.adoc b/documentation/content/ru/books/developers-handbook/partiv.adoc
index e97b97bcaa..5ebf4f121c 100644
--- a/documentation/content/ru/books/developers-handbook/partiv.adoc
+++ b/documentation/content/ru/books/developers-handbook/partiv.adoc
@@ -3,7 +3,7 @@ next: books/developers-handbook/x86
params:
path: /books/developers-handbook/partiv/
prev: books/developers-handbook/kerneldebug
-showBookMenu: true
+showBookMenu: 'true'
title: 'Часть IV. Архитектуры'
weight: 14
---
diff --git a/documentation/content/ru/books/developers-handbook/partiv.po b/documentation/content/ru/books/developers-handbook/partiv.po
index 729cc84399..787827066d 100644
--- a/documentation/content/ru/books/developers-handbook/partiv.po
+++ b/documentation/content/ru/books/developers-handbook/partiv.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-12 22:16+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-06-22 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,7 +18,7 @@ msgstr ""
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.17\n"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/developers-handbook/partiv.adoc:1
#, no-wrap
msgid "Part IV. Architectures"
diff --git a/documentation/content/ru/books/developers-handbook/partv.adoc b/documentation/content/ru/books/developers-handbook/partv.adoc
index a5f2aec1f5..dadc6c04d0 100644
--- a/documentation/content/ru/books/developers-handbook/partv.adoc
+++ b/documentation/content/ru/books/developers-handbook/partv.adoc
@@ -3,7 +3,7 @@ next: books/developers-handbook/bibliography
params:
path: /books/developers-handbook/partv/
prev: books/developers-handbook/x86
-showBookMenu: true
+showBookMenu: 'true'
title: 'Часть V. Приложения'
weight: 16
---
diff --git a/documentation/content/ru/books/developers-handbook/partv.po b/documentation/content/ru/books/developers-handbook/partv.po
index 1871f3f359..139f90dcec 100644
--- a/documentation/content/ru/books/developers-handbook/partv.po
+++ b/documentation/content/ru/books/developers-handbook/partv.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-12 22:16+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-06-07 17:10+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,7 +18,7 @@ msgstr ""
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.17\n"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/developers-handbook/partv.adoc:1
#, no-wrap
msgid "Part V. Appendices"
diff --git a/documentation/content/ru/books/developers-handbook/policies/_index.adoc b/documentation/content/ru/books/developers-handbook/policies/_index.adoc
index 7264035d7e..881c669f3a 100644
--- a/documentation/content/ru/books/developers-handbook/policies/_index.adoc
+++ b/documentation/content/ru/books/developers-handbook/policies/_index.adoc
@@ -9,7 +9,7 @@ next: books/developers-handbook/testing
params:
path: /books/developers-handbook/policies/
prev: books/developers-handbook/l10n
-showBookMenu: true
+showBookMenu: 'true'
tags: ["Style Guidelines", "MAINTAINER", "Makefiles", "Contributed Software", "Shared libraries"]
title: 'Глава 5. Руководство и политика работы с деревом исходного кода'
weight: 6
diff --git a/documentation/content/ru/books/developers-handbook/policies/_index.po b/documentation/content/ru/books/developers-handbook/policies/_index.po
index a5bda85033..ba64ecaad2 100644
--- a/documentation/content/ru/books/developers-handbook/policies/_index.po
+++ b/documentation/content/ru/books/developers-handbook/policies/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-12 22:16+0300\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/"
@@ -25,7 +25,7 @@ msgstr ""
msgid "Source Tree Guidelines and Policies"
msgstr "Руководство и политика работы с деревом исходного кода"
-#. type: Yaml Front Matter Hash Value: title
+#. 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"
@@ -74,10 +74,10 @@ msgid ""
"question:"
msgstr ""
"Если определённая часть дистрибутива FreeBSD [.filename]#src/# "
-"поддерживается человеком или группой лиц, это указывается в файле "
-"[.filename]#src/MAINTAINERS#. Сопровождающие портов в Коллекции портов "
-"указывают свою ответственность, добавляя строку `MAINTAINER` в "
-"[.filename]#Makefile# соответствующего порта:"
+"поддерживается человеком или группой лиц, это указывается в файле [."
+"filename]#src/MAINTAINERS#. Сопровождающие портов в Коллекции портов "
+"указывают свою ответственность, добавляя строку `MAINTAINER` в [."
+"filename]#Makefile# соответствующего порта:"
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/policies/_index.adoc:71
@@ -204,8 +204,8 @@ msgstr ""
"могут отклоняться от этой процедуры по усмотрению сопровождающего. Точные "
"шаги, необходимые для обновления конкретного программного обеспечения, "
"должны быть записаны в файле с именем `FREEBSD-upgrade`; например, "
-"link:https://cgit.freebsd.org/src/tree/contrib/libarchive/FREEBSD-"
-"upgrade[файл FREEBSD-upgrade libarchive]."
+"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
@@ -214,10 +214,10 @@ msgid ""
"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/#."
+"Стороннее программное обеспечение обычно размещается в подкаталоге [."
+"filepath]#contrib/# дерева исходных кодов, за некоторыми исключениями. "
+"Стороннее программное обеспечение, используемое только ядром, находится в [."
+"filepath]#sys/contrib/#."
#. type: delimited block = 4
#: documentation/content/en/books/developers-handbook/policies/_index.adoc:107
@@ -244,8 +244,8 @@ msgid ""
"git[Committer's Guide]."
msgstr ""
"Стандартный процесс управления сторонним программным обеспечением и ветками "
-"поставщиков подробно описан в extref:{committers-guide}#vendor-import-"
-"git[Руководстве коммиттера]."
+"поставщиков подробно описан в extref:{committers-guide}#vendor-import-git["
+"Руководстве коммиттера]."
#. type: Title ==
#: documentation/content/en/books/developers-handbook/policies/_index.adoc:115
@@ -293,14 +293,14 @@ msgid ""
"not encumbered, unless (1) or (2) apply to it."
msgstr ""
"Файл, содержащий загружаемые двоичные данные для использования "
-"оборудованием, не является обремененным, если к нему не применяется пункт "
-"(1) или (2)."
+"оборудованием, не является обремененным, если к нему не применяется пункт (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 "
+"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 ""
"Любой файл с правовыми ограничениями требует специального одобрения от "
@@ -328,8 +328,8 @@ 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 "
+"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 и назывались "
@@ -503,21 +503,21 @@ msgid ""
"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."
+"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, получают информацию о зависимости от правильной библиотеки. "
-"Почти все популярные системы сборки автоматически используют эту схему."
+"ссылок `libexample.so.x->libexample.so.x.y`, `libexample.so->libexample.so.x`"
+" при установке библиотеки для последней минорной версии y. Таким образом, "
+"поскольку статический компоновщик ищет `libexample.so`, когда указана опция "
+"командной строки `-lexample`, объекты, скомпонованные с libexample, получают "
+"информацию о зависимости от правильной библиотеки. Почти все популярные "
+"системы сборки автоматически используют эту схему."
diff --git a/documentation/content/ru/books/developers-handbook/policies/chapter.adoc b/documentation/content/ru/books/developers-handbook/policies/chapter.adoc
deleted file mode 100644
index 970a4b9921..0000000000
--- a/documentation/content/ru/books/developers-handbook/policies/chapter.adoc
+++ /dev/null
@@ -1,196 +0,0 @@
----
-title: Глава 5. Рекомендации и требования к исходному коду
-authors:
- - author: Poul-Henning Kamp
- - author: Giorgos Keramidas
----
-
-[[policies]]
-= Рекомендации и требования к исходному коду
-:doctype: book
-:toc: macro
-:toclevels: 1
-:icons: font
-:sectnums:
-:sectnumlevels: 6
-:sectnumoffset: 5
-:partnums:
-:source-highlighter: rouge
-:experimental:
-:images-path: books/developers-handbook/
-
-ifdef::env-beastie[]
-ifdef::backend-html5[]
-:imagesdir: ../../../../images/{images-path}
-endif::[]
-ifndef::book[]
-include::shared/authors.adoc[]
-include::shared/mirrors.adoc[]
-include::shared/releases.adoc[]
-include::shared/attributes/attributes-{{% lang %}}.adoc[]
-include::shared/{{% lang %}}/teams.adoc[]
-include::shared/{{% lang %}}/mailing-lists.adoc[]
-include::shared/{{% lang %}}/urls.adoc[]
-toc::[]
-endif::[]
-ifdef::backend-pdf,backend-epub3[]
-include::../../../../../shared/asciidoctor.adoc[]
-endif::[]
-endif::[]
-
-ifndef::env-beastie[]
-toc::[]
-include::../../../../../shared/asciidoctor.adoc[]
-endif::[]
-
-В этой главе описываются различные рекомендации и требования, которые должны соблюдаться в дереве исходных текстов FreeBSD.
-
-[[policies-maintainer]]
-== в make-файлах
-
-Если некоторая часть дистрибутива FreeBSD поддерживается некоторым человеком или группой людей, они могут сообщить об этом миру, добавив строчку
-
-[.programlisting]
-....
-MAINTAINER= email-addresses
-....
-
-в файл [.filename]#Makefile#, соответствующий этой части исходного кода.
-
-Смысл этого в следующем:
-
-Сопровождающий владеет кодом и отвечает за него. Это означает, что он несет ответственность за исправление ошибок и закрывает сообщения о проблемах, имеющих отношение к этой части кода, а в случае программного обеспечения, взятого из третьих источников, соответственно отвечает за отслеживание новых версий.
-
-Изменения в каталогах, для которых известен сопровождающий, прежде чем они будут внесены, должны быть посланы ему на рассмотрение. Только если сопровождающий не отвечает в течение достаточно большого периода времени на несколько посланий по электронной почте, разрешается внести изменения без участия сопровождающего. Однако рекомендуется, чтобы вы попытались передать изменения на рассмотрение кому-либо еще, если это вообще возможно.
-
-Конечно же, нельзя назначать человека или группу лиц сопровождающими, если они не согласны выполнять эту работу. С другой стороны, необязательно это должен быть конкретный коммиттер, это может быть и группа людей.
-
-[[policies-contributed]]
-== Программное обеспечение сторонних производителей
-
-Некоторые части дистрибутива FreeBSD состоят из программного обеспечения, которое сопровождается вне проекта FreeBSD. По историческим причинам мы называем такое программное обеспечение _контрибуцированным_ (contributed), или третьих сторон. Примерами этого могут служить утилиты sendmail, gcc и patch.
-
-За последние несколько лет для работы с таким программным обеспечением использовались различные методы, и все они имели свои достоинства и недостатки. Абсолютно подходящего метода так и не нашлось.
-
-По этой причине после некоторых дебатов был выбран и признан "официальным" один из этих методов, который необходимо применять в будущем при импортировании такого рода программного обеспечения. Более того, настоятельно рекомендуется с течением времени перевести существующее программное обеспечение третьих сторон на этот метод, так как он имеет значительные преимущества перед старым методом, включая возможность легкого получения diff-файлов относительно "официальных" версий исходных текстов кем угодно (даже не имеющим доступа к cvs). Это делает данный метод гораздо проще в использовании при необходимости выдачи изменений изначальным разработчикам такого программного обеспечения.
-
-В конце концов, однако, это касается тех, кто делает реальную работу. Если использование этой модели в конкретном случае не подходит для пакета, с которым работает человек, могут быть сделаны и исключения только с согласия основной команды разработчиков и при общем одобрении других разработчиков. Возможность сопровождения пакета в будущем будет являться ключевым моментом при принятии решений.
-
-[NOTE]
-====
-Из-за досадных ограничений в дизайне формата файлов RCS и использовании веток поставщика в CVS, мелкие, тривиальные и/или косметические изменения _сильно не рекомендуется_ в файлах, которые все еще отслеживаются в ветке поставщика. Это касается и "исправления орфографических ошибок" как относящихся к категории "косметических" и избегаемых для файлов с версиями 1.1.x.x. Рост объема хранилища, вызванный изменением в один символ, может оказаться весьма большим.
-====
-
-В качестве примера того, как работает эта модель, будем использовать встраиваемый язык программирования TCL:
-
-Каталог [.filename]#src/contrib/tcl# содержит исходные тексты пакета в том виде, в котором они распространяются его создателями. Части, которые полностью не применимы во FreeBSD, могут быть удалены. В случае Tcl подкаталоги [.filename]#mac#, [.filename]#win# и [.filename]#compat# были удалены перед операцией импортирования
-
-Каталог [.filename]#src/lib/libtcl# содержит только файл [.filename]#Makefile# в стиле bmake, который использует стандартные правила [.filename]#bsd.lib.mk# make-файла для построения библиотеки и установки документации.
-
-В каталоге [.filename]#src/usr.bin/tclsh# размещаются make-файлы в стиле bmake, которые отвечают за построение и установку программы `tclsh` и связанных с ней справочных страниц при помощи стандартных правил из [.filename]#bsd.prog.mk#.
-
-Каталог [.filename]#src/tools/tools/tcl_bmake# содержит несколько shell-скриптов, которые могут помочь при обновлении программного обеспечения tcl. Они не являются частью строящегося и инсталлируемого программного обеспечения.
-
-Здесь важно то, что каталог [.filename]#src/contrib/tcl# создавался в соответствии с правилами: Предполагается, что он содержит исходные тексты в том виде, в котором они распространяются (в соответствующей ветви поставщика CVS и без расширения ключевых слов RCS) с максимально малым количеством изменений, специфичных для FreeBSD. Утилита 'easy-import' на машине поможет в импортировании, но если есть сомнения по поводу выполнения этой операции, то обязательно спросите совета и не действуйте слепо в расчете на то, что "все сработает". CVS не прощает ошибок импортирования и для ликвидации последствий больших ошибок требуются значительные усилия.
-
-Из-за ранее отмеченных ограничений дизайна веток поставщиков в CVS требуется, чтобы "официальные" патчи от разработчика были сначала применены к распространяемым исходным текстам, а затем результат снова импортирован в ветку поставщика. Официальные патчи никогда не должны применяться к версии, извлеченной из хранилища FreeBSD, а затем "коммититься", так как это приведет к рассинхронизации дерева производителя и усложнит импортирование будущих версий, так как возникнут конфликты.
-
-Так как многие пакеты содержат файлы, имеющие значение при обеспечении совместимости с другими, отличными от FreeBSD архитектурами и окружениями, то разрешается удалять части дистрибутивного дерева, не представляющие интереса для FreeBSD в целях уменьшения занимаемого дискового пространства. Файлы, содержащие замечания о юридических правах и информацию о релизе, касающуюся остальных файлов, удаляться _не_ должны.
-
-Если это видится легким, то файлы [.filename]#Makefile# в стиле `bmake` могут быть сгенерированы из дистрибутивного дерева автоматически некоторой утилитой, чем-то, что позволит еще проще обновляться до новой версии. Если это будет сделано, то обязательно поместите эту утилиту (если необходимо) в каталог [.filename]#src/tools# вместе с самим портом, чтобы она была доступна будущим сопровождающим лицам.
-
-В каталог [.filename]#src/contrib/tcl# должен быть добавлен файл [.filename]#FREEBSD-upgrade#, в котором нужно перечислить такие вещи:
-
-* Какие файлы были оставлены
-* Где был взят оригинальный дистрибутив и/или на каком основном официальном сайте он находится.
-* Куда посылать патчи для разработчиков пакета
-* Возможно, обзор сделанных изменений, специфичных для FreeBSD.
-
-Однако, пожалуйста, не импортируйте [.filename]#FREEBSD-upgrade# вместе с исходными текстами этого программного обеспечения. Вместо этого вы должны выполнить команды `cvs add FREEBSD-upgrade ; cvs ci` после первоначального импортирования. Ниже дается пример описания из каталога [.filename]#src/contrib/cpio#:
-
-[.programlisting]
-....
-This directory contains virgin sources of the original distribution files
-on a "vendor" branch. Do not, under any circumstances, attempt to upgrade
-the files in this directory via patches and a cvs commit. New versions or
-official-patch versions must be imported. Please remember to import with
-"-ko" to prevent CVS from corrupting any vendor RCS Ids.
-
-For the import of GNU cpio 2.4.2, the following files were removed:
-
- INSTALL cpio.info mkdir.c
- Makefile.in cpio.texi mkinstalldirs
-
-To upgrade to a newer version of cpio, when it is available:
- 1. Unpack the new version into an empty directory.
- [Do not make ANY changes to the files.]
-
- 2. Remove the files listed above and any others that don't apply to
- FreeBSD.
-
- 3. Use the command:
- cvs import -ko -m 'Virgin import of GNU cpio v<version>' \
- src/contrib/cpio GNU cpio_<version>
-
- For example, to do the import of version 2.4.2, I typed:
- cvs import -ko -m 'Virgin import of GNU v2.4.2' \
- src/contrib/cpio GNU cpio_2_4_2
-
- 4. Follow the instructions printed out in step 3 to resolve any
- conflicts between local FreeBSD changes and the newer version.
-
-Do not, under any circumstances, deviate from this procedure.
-
-To make local changes to cpio, simply patch and commit to the main
-branch (aka HEAD). Never make local changes on the GNU branch.
-
-All local changes should be submitted to "cpio@gnu.ai.mit.edu" for
-inclusion in the next vendor release.
-
-obrien@FreeBSD.org - 30 March 1997
-....
-
-[[policies-encumbered]]
-== Нежелательные файлы
-
-Иногда может быть необходимо включить некоторый нежелательный для нас файл в дерево исходных текстов FreeBSD. Например, если устройство требует загрузки в него некоторого маленького двоичного кода перед тем, как устройство заработает, и мы не имеем исходных текстов этого кода, то говорится, что двоичный файл является нежелательным. Для включения нежелательных файлов в дерево исходных текстов FreeBSD имеются следующие соглашения.
-
-. Любой файл, интерпретируемый или выполняемый системным(и) CPU, не в форме исходного кода, является нежелательным.
-. Любой файл с лицензией, ограничивающей более, чем BSD или GNU, является нежелательным.
-. Файл, содержащий загружаемые двоичные данные, используемые аппаратным обеспечением, не являются нежелательными, если только к нему не применимы условия (1) или (2). Он должен быть сохранен в нейтральном к архитектуре формате ASCII (рекомендуется применить утилиты file2c или uuencode).
-. Любой нежелательный файл требует особого одобрения со стороны extref:{contributors}[Правления, staff-core] до того, как он будет добавлен в хранилище CVS.
-. Нежелательные файлы помещаются в каталог [.filename]#src/contrib# или [.filename]#src/sys/contrib#.
-. Части одного модуля должны храниться вместе. Нет необходимости разбивать их, если только нет совместного использования с кодом, не являющимся нежелательным.
-. Объектные файлы именуются [.filename]#arch/filename.o.uu>#.
-. Файлы ядра;
-.. Должны всегда упоминаться в [.filename]#conf/files.*# (для упрощения построения).
-.. Должны всегда присутствовать в [.filename]#LINT#, но extref:{contributors}[Правление, staff-core] решает в каждом конкретном случае, должны ли они быть раскомментированы или нет. Конечно, позже extref:{contributors}[Правление, staff-core] может изменить свое решение.
-.. Вопрос о вхождении в состав релиза решается _Группой Выпусков Релизов_.
-
-. Файлы уровня пользователя:
-.. extref:{contributors}[Правление, staff-core] решает, должен ли код стать частью выполнения команды `make world`.
-.. extref:{contributors}[Релиз инженер, staff-who] решает, войдут ли они в релиз.
-
-[[policies-shlib]]
-== Динамические библиотеки
-
-Если вы добавляете поддержку динамических библиотек к порту или другой части программного обеспечения, которая этой возможностью не обладает, то номера версий должны назначаться по нижеследующим правилам. Как правило, получающиеся номера не имеют ничего общего с номером релиза программного обеспечения.
-
-При построении динамической библиотеки используются три принципа:
-
-* Начинаем с `1.0`
-* Если есть изменение, которое имеет обратную совместимость, увеличиваем младший номер версии (заметьте, что системы ELF его игнорируют)
-* Если есть изменение, не соблюдающее совместимость, увеличиваем старший номер версии
-
-К примеру, добавление функций и исправление ошибок приводит к увеличению младшего номера версии, а удаление функций, изменение синтаксиса вызова функции и тому подобные изменения приводят к изменению старшего номера версии.
-
-Следуйте схеме нумерации версий в форме старший.младший (_x_._y_). Наш динамический загрузчик формата a.out не умеет нормально работать с номерами версий в форме _x_._y_._z_. Любой номер версии после _y_ (то есть третье число) полностью игнорируется при сравнении номеров версий динамических библиотек для определения того, с какой библиотекой осуществлять компоновку. Если есть две динамические библиотеки, отличающиеся только "микро"-номером версии, то `ld.so` будет осуществлять компоновку с наибольшим номером. Другими словами: если вы компонуете с [.filename]#libfoo.so.3.3.3#, то компоновщик запишет в заголовках только `3.3` и будет выполнять компоновку с любой библиотекой, начинающейся с _libfoo.so.3.(все, что >= 3).(наибольшее из доступного)_.
-
-[NOTE]
-====
-`ld.so` всегда будет использовать наибольшую "младшую" версию. Иными словами: он будет предпочитать использовать [.filename]#libc.so.2.2#, а не [.filename]#libc.so.2.0#, даже если программа изначально была скомпонована с [.filename]#libc.so.2.0#.
-====
-
-Вдобавок наш динамический компоновщик ELF совсем не работает с младшими версиями. Однако все же нужно указывать старший и младший номер версии, а наши файлы [.filename]#Makefile#"сделают все как нужно" в зависимости от типа системы.
-
-Для библиотек не в составе портов, имеется наше соглашение на изменение номера версии динамической библиотеки только один раз между релизами. Кроме того, есть договоренность на изменение старшего номера динамической библиотеки только один раз между главными релизами ОС (например c 3.0 к 4.0). Когда вы делаете изменение в системной библиотеке, которое требует увеличения номера версии, посмотрите журналы коммитов изменений в файле [.filename]#Makefile#. Коммиттер отвечает за то, что первое такое изменение с момента релиза приведет к обновлению номера версии динамической библиотеки в файле [.filename]#Makefile#, а при других последующих изменениях этого бы не делалось.
diff --git a/documentation/content/ru/books/developers-handbook/secure/_index.adoc b/documentation/content/ru/books/developers-handbook/secure/_index.adoc
index 1631ee018b..4a9f6aae40 100644
--- a/documentation/content/ru/books/developers-handbook/secure/_index.adoc
+++ b/documentation/content/ru/books/developers-handbook/secure/_index.adoc
@@ -7,7 +7,7 @@ next: books/developers-handbook/l10n
params:
path: /books/developers-handbook/secure/
prev: books/developers-handbook/tools
-showBookMenu: true
+showBookMenu: 'true'
tags: ["secure programming", "Buffer Overflows", "SetUID issues"]
title: 'Глава 3. Безопасное программирование'
weight: 4
@@ -198,7 +198,7 @@ ProPolice помогает защититься от переполнений б
Суперпользователь в среде клетки имеет возможность:
* Управлять учетными данными с помощью `setuid`, `seteuid`, `setgid`, `setegid`, `setgroups`, `setreuid`, `setregid`, `setlogin`
-* Установливать ограничений ресурсов с помощью `setrlimit`
+* Устанавливать ограничений ресурсов с помощью `setrlimit`
* Изменять некоторые узлы sysctl (kern.hostname)
* `chroot()`
* Устанавливать флаги на vnode: `chflags`, `fchflags`
diff --git a/documentation/content/ru/books/developers-handbook/secure/_index.po b/documentation/content/ru/books/developers-handbook/secure/_index.po
index c2900d4b7a..d27f806359 100644
--- a/documentation/content/ru/books/developers-handbook/secure/_index.po
+++ b/documentation/content/ru/books/developers-handbook/secure/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-12 22:16+0300\n"
-"PO-Revision-Date: 2025-09-05 04:45+0000\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
+"PO-Revision-Date: 2025-10-29 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/booksdevelopers-handbooksecure_index/ru/>\n"
@@ -18,13 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:1
#, no-wrap
msgid "Secure Programming in FreeBSD"
msgstr "Безопасное программирование в FreeBSD"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:1
#, no-wrap
msgid "Chapter 3. Secure Programming"
@@ -301,7 +301,9 @@ msgstr ""
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:150
#, no-wrap
msgid " while ((buffer[i++] = getchar()) != '\\n') {};\n"
-msgstr " while ((buffer[i++] = getchar()) != '\\n') {};\n"
+msgstr ""
+" while ((buffer[i++] = getchar()) != '\\n"
+"') {};\n"
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:157
@@ -317,7 +319,8 @@ msgstr ""
" i=1;\n"
" manipulate(buffer);\n"
" i=2;\n"
-" printf(\"The value of i is : %d\\n\",i);\n"
+" printf(\"The value of i is : %d\\n"
+"\",i);\n"
" return 0;\n"
"}\n"
@@ -330,7 +333,7 @@ msgstr ""
"Давайте рассмотрим, как будет выглядеть образ памяти этого процесса, если мы "
"введем 160 пробелов в нашу небольшую программу перед нажатием Enter."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:164
msgid ""
"Obviously more malicious input can be devised to execute actual compiled "
@@ -345,7 +348,7 @@ msgstr ""
msgid "Avoiding Buffer Overflows"
msgstr "Избегание переполнения буфера"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:175
msgid ""
"The most straightforward solution to the problem of stack-overflows is to "
@@ -372,11 +375,10 @@ msgstr ""
"также используется неодинаково между `strncpy` и `strncat`, что может "
"сбивать программистов с толку относительно их правильного использования. "
"Также наблюдается значительное снижение производительности по сравнению с "
-"`strcpy` при копировании короткой строки в большой буфер, поскольку "
-"`strncpy` заполняет оставшееся пространство до указанного размера символами "
-"NUL."
+"`strcpy` при копировании короткой строки в большой буфер, поскольку `strncpy`"
+" заполняет оставшееся пространство до указанного размера символами NUL."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:178
msgid ""
"Another memory copy implementation exists to get around these problems. The "
@@ -393,7 +395,7 @@ msgstr ""
msgid "Compiler based run-time bounds checking"
msgstr "Скомпилированная проверка границ во время выполнения"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:183
msgid ""
"Unfortunately there is still a very large assortment of code in public use "
@@ -408,7 +410,7 @@ msgstr ""
"есть способ помочь предотвратить такие атаки — проверка границ во время "
"выполнения, которая реализована в нескольких компиляторах C/C++."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:186
msgid ""
"ProPolice is one such compiler feature, and is integrated into man:gcc[1] "
@@ -419,7 +421,7 @@ msgstr ""
"man:gcc[1] версий 4.1 и выше. Она заменяет и расширяет более раннее "
"расширение StackGuard для man:gcc[1]."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:190
msgid ""
"ProPolice helps to protect against stack-based buffer overflows and other "
@@ -440,7 +442,7 @@ msgstr ""
"вряд ли увенчается успехом, так как злоумышленнику также необходимо оставить "
"псевдослучайные канарейки нетронутыми."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:192
msgid ""
"Recompiling your application with ProPolice is an effective means of "
@@ -456,7 +458,7 @@ msgstr ""
msgid "Library based run-time bounds checking"
msgstr "Библиотечная проверка границ во время выполнения"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:197
msgid ""
"Compiler-based mechanisms are completely useless for binary-only software "
@@ -472,22 +474,22 @@ msgstr ""
"гарантируют, что эти функции никогда не смогут записать данные за указатель "
"стека."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:199
msgid "libsafe"
msgstr "libsafe"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:200
msgid "libverify"
msgstr "libverify"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:201
msgid "libparanoia"
msgstr "libparanoia"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:206
msgid ""
"Unfortunately these library-based defenses have a number of shortcomings. "
@@ -510,7 +512,7 @@ msgstr ""
msgid "SetUID issues"
msgstr "Проблемы с SetUID"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:212
msgid ""
"There are at least 6 different IDs associated with any given process, and "
@@ -524,7 +526,7 @@ msgstr ""
"seteuid должны отказываться от своих привилегий, как только в них больше нет "
"необходимости."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:215
msgid ""
"The real user ID can only be changed by a superuser process. The login "
@@ -534,7 +536,7 @@ msgstr ""
"процессом с правами суперпользователя. Программа login устанавливает его при "
"первоначальном входе пользователя в систему, и он редко изменяется."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:219
msgid ""
"The effective user ID is set by the `exec()` functions if a program has its "
@@ -557,7 +559,7 @@ msgstr ""
msgid "Limiting your program's environment"
msgstr "Ограничение окружения вашей программы"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:229
msgid ""
"The traditional method of restricting a process is with the `chroot()` "
@@ -582,7 +584,7 @@ msgstr ""
"подключения отладчика к процессу вне окружения man:chroot[8] или многими "
"другими творческими способами."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:234
msgid ""
"The behavior of the `chroot()` system call can be controlled somewhat with "
@@ -607,7 +609,7 @@ msgstr ""
msgid "FreeBSD's jail functionality"
msgstr "Функциональность клеток FreeBSD"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:239
msgid ""
"The concept of a Jail extends upon the `chroot()` by limiting the powers of "
@@ -620,7 +622,7 @@ msgstr ""
"настройки клетки все сетевые взаимодействия должны осуществляться через "
"указанный IP-адрес, а привилегии `root` внутри этой клетки сильно ограничены."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:243
msgid ""
"While in a prison, any tests of superuser power within the kernel using the "
@@ -634,41 +636,41 @@ msgstr ""
"отвечает за распознавание или запрет доступа к правам суперпользователя для "
"процессов в клетке."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:245
msgid "A superuser process within a jailed environment has the power to:"
msgstr "Суперпользователь в среде клетки имеет возможность:"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:247
msgid ""
"Manipulate credential with `setuid`, `seteuid`, `setgid`, `setegid`, "
"`setgroups`, `setreuid`, `setregid`, `setlogin`"
msgstr ""
-"Управлять учетными данными с помощью `setuid`, `seteuid`, `setgid`, "
-"`setegid`, `setgroups`, `setreuid`, `setregid`, `setlogin`"
+"Управлять учетными данными с помощью `setuid`, `seteuid`, `setgid`, `setegid`"
+", `setgroups`, `setreuid`, `setregid`, `setlogin`"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:248
msgid "Set resource limits with `setrlimit`"
-msgstr "Установливать ограничений ресурсов с помощью `setrlimit`"
+msgstr "Устанавливать ограничений ресурсов с помощью `setrlimit`"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:249
msgid "Modify some sysctl nodes (kern.hostname)"
msgstr "Изменять некоторые узлы sysctl (kern.hostname)"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:250
msgid "`chroot()`"
msgstr "`chroot()`"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:251
msgid "Set flags on a vnode: `chflags`, `fchflags`"
msgstr "Устанавливать флаги на vnode: `chflags`, `fchflags`"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:252
msgid ""
"Set attributes of a vnode such as file permission, owner, group, size, "
@@ -677,13 +679,13 @@ msgstr ""
"Устанавливать атрибуты vnode, такие как права доступа к файлу, владелец, "
"группа, размер, время доступа и время изменения."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:253
msgid "Bind to privileged ports in the Internet domain (ports < 1024)"
msgstr ""
"Привязываться к привилегированным портам в домене Интернета (порты < 1024)"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:257
msgid ""
"`Jail` is a very useful tool for running applications in a secure "
@@ -706,7 +708,7 @@ msgstr ""
msgid "POSIX(R).1e Process Capabilities"
msgstr "Возможности процесса в POSIX(R).1e"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:261
msgid ""
"POSIX(R) has released a working draft that adds event auditing, access "
@@ -717,16 +719,16 @@ msgstr ""
"контроля доступа, детализированные привилегии, маркировку информации и "
"обязательный контроль доступа."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:264
msgid ""
"This is a work in progress and is the focus of the http://www.trustedbsd.org/"
"[TrustedBSD] project. Some of the initial work has been committed to "
"FreeBSD-CURRENT (cap_set_proc(3))."
msgstr ""
-"Это работа в процессе, и она является основным направлением проекта http://"
-"www.trustedbsd.org/[TrustedBSD]. Некоторые первоначальные наработки были "
-"добавлены в FreeBSD-CURRENT (cap_set_proc(3))."
+"Это работа в процессе, и она является основным направлением проекта "
+"http://www.trustedbsd.org/[TrustedBSD]. Некоторые первоначальные наработки "
+"были добавлены в FreeBSD-CURRENT (cap_set_proc(3))."
#. type: Title ==
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:266
@@ -734,7 +736,7 @@ msgstr ""
msgid "Trust"
msgstr "Доверие"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:270
msgid ""
"An application should never assume that anything about the users environment "
@@ -748,7 +750,7 @@ msgstr ""
"текущую рабочую директорию файловой системы, файловые дескрипторы, "
"количество открытых файлов и т.д."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:275
msgid ""
"You should never assume that you can catch all forms of invalid input that a "
@@ -767,7 +769,7 @@ msgstr ""
"осторожными с путями (\"../\", \"/\"), символическими ссылками и escape-"
"символами оболочки."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:278
msgid ""
"Perl has a really cool feature called \"Taint\" mode which can be used to "
@@ -789,7 +791,7 @@ msgstr ""
msgid "Race Conditions"
msgstr "Состояние гонки"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:284
msgid ""
"A race condition is anomalous behavior caused by the unexpected dependence "
@@ -801,7 +803,7 @@ msgstr ""
"ошибочно предположил, что определенное событие всегда произойдет раньше "
"другого."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:290
msgid ""
"Some of the common causes of race conditions are signals, access checks, and "
diff --git a/documentation/content/ru/books/developers-handbook/secure/chapter.adoc b/documentation/content/ru/books/developers-handbook/secure/chapter.adoc
deleted file mode 100644
index 28ff3ac158..0000000000
--- a/documentation/content/ru/books/developers-handbook/secure/chapter.adoc
+++ /dev/null
@@ -1,190 +0,0 @@
----
-title: Глава 3. Безопасное программирование
-authors:
- - author: Murray Stokely
----
-
-[[secure]]
-= Безопасное программирование
-:doctype: book
-:toc: macro
-:toclevels: 1
-:icons: font
-:sectnums:
-:sectnumlevels: 6
-:sectnumoffset: 3
-:partnums:
-:source-highlighter: rouge
-:experimental:
-:images-path: books/developers-handbook/
-
-ifdef::env-beastie[]
-ifdef::backend-html5[]
-:imagesdir: ../../../../images/{images-path}
-endif::[]
-ifndef::book[]
-include::shared/authors.adoc[]
-include::shared/mirrors.adoc[]
-include::shared/releases.adoc[]
-include::shared/attributes/attributes-{{% lang %}}.adoc[]
-include::shared/{{% lang %}}/teams.adoc[]
-include::shared/{{% lang %}}/mailing-lists.adoc[]
-include::shared/{{% lang %}}/urls.adoc[]
-toc::[]
-endif::[]
-ifdef::backend-pdf,backend-epub3[]
-include::../../../../../shared/asciidoctor.adoc[]
-endif::[]
-endif::[]
-
-ifndef::env-beastie[]
-toc::[]
-include::../../../../../shared/asciidoctor.adoc[]
-endif::[]
-
-[[secure-synopsis]]
-== Обзор
-
-Эта глава описывает некоторые из проблем обеспечения безопасности, которые десятилетиями преследовали программистов UNIX(R), а также несколько новых доступных инструментов, помогающих программистам избежать написания небезопасного кода.
-
-[[secure-philosophy]]
-== Методология обеспечения безопасности
-
-Написание безопасных приложений требует весьма критического и пессимистического взгляда на жизнь. Приложения должны работать по принципу "наименьших привилегий", при котором никакой процесс не должен работать с привилегиями, превышающими минимально необходимый для выполнения своих функций минимум. Ранее проверенный код должен использоваться там, где только это возможно для избежания общих ошибок, которые могли быть уже исправлены другими.
-
-Одной из неприятностей в среде UNIX(R) является легкость в предположении безопасности этого окружения. Приложения никогда не должны верить пользовательскому вводу (во всех его формах), ресурсам системы, межпроцессному взаимодействию или времени выполнения событий. Процессы UNIX(R) выполняются не синхронно, так что логические операции редко бывают атомарными.
-
-[[secure-bufferov]]
-== Переполнения буфера
-
-Переполнения буфера появились вместе с появление архитектуры Фон-Неймана <<COD,Впервые широкую известность они получили в 1988 году вместе с Интернет-червем Морриса (Morris). К сожалению, точно такая же атака остаётся эффективной и в наши дни. Из 17 бюллетеней безопасности CERT за 1999 год, 10 были непосредственно вызваны ошибкам в программном обеспечении, связанным с переполнениями буфера. Самые распространенные типы атак с использованием переполнения буфера основаны на разрушении стека.>>
-
-Самые современные вычислительные системы используют стек для передачи аргументов процедурам и сохранения локальных переменных. Стек является буфером типа LIFO (последним вошел первым вышел) в верхней части области памяти процесса. Когда программа вызывает функцию, создается новая "граница стека". Эта граница состоит из аргументов, переданных в функцию, а также динамического количества пространства локальных переменных. "Указатель стека" является регистром, хранящим текущее положение вершины стека. Так как это значение постоянно меняется вместе с помещением новых значений на вершину стека, многие реализации также предусматривают "указатель границы", который расположен около начала стека, так что локальные переменные можно легко адресовать относительно этого значения. <<COD,Адрес возврата из функции также сохраняется в стеке, и это является причиной нарушений безопасности, связанных с переполнением стека, так как перезаписывание локальной переменной в функции может изменить адрес возврата из этой функции, потенциально позволяя злоумышленнику выполнить любой код.>>
-
-Хотя атаки с переполнением стека являются самыми распространенными, стек можно также перезаписать при помощи атаки, основанной на выделении памяти (malloc/free) из "кучи".
-
-Как и во многих других языках программирования, в C не выполняется автоматической проверки границ в массивах или указателях. Кроме того, стандартная библиотека C полна очень опасных функций.
-
-////
-[.informaltable]
-[cols="", frame="none"]
-|===
-|===
-////
-
-== Пример переполнения буфера
-
-В следующем примере кода имеется ошибка переполнения буфера, предназначенная для перезаписи адреса возврата и обхода инструкции, следующей непосредственно за вызовом функции. (По мотивам <<Phrack,)>>
-
-[.programlisting]
-....
-#include stdio.h
-
-void manipulate(char *buffer) {
- char newbuffer[80];
- strcpy(newbuffer,buffer);
-}
-
-int main() {
- char ch,buffer[4096];
- int i=0;
-
- while ((buffer[i++] = getchar()) != '\n') {};
-
- i=1;
- manipulate(buffer);
- i=2;
- printf("The value of i is : %d\n",i);
- return 0;
-}
-....
-
-Давайте посмотрим, как будет выглядеть образ процесса, если в нашу маленькую программу мы введем 160 пробелов.
-
-[XXX figure here!]
-
-Очевидно, что для выполнения реальных инструкций (таких, как exec(/bin/sh)), может быть придуман более вредоносный ввод.
-
-=== Как избежать переполнений буфера
-
-Самым прямолинейным решением проблемы переполнения стека является использование только памяти фиксированного размера и функций копирования строк. Функции `strncpy` и `strncat` являются частью стандартной библиотеки C. Эти функции будут копировать не более указанного количества байт из исходной строки в целевую. Однако у этих функций есть несколько проблем. Ни одна из них не гарантирует наличие символа NUL, если размер входного буфера больше, чем целевого. Параметр длины также по-разному используется в strncpy и strncat, так что для программистов легко запутаться в правильном использовании. Есть также и значительная потеря производительности по сравнению с `strcpy` при копировании короткой строки в большой буфер, потому что `strncpy` заполняет символами NUL пространство до указанной длины.
-
-Для избежания этих проблем в OpenBSD была сделана другая реализация копирования памяти. Функции `strlcpy` и `strlcat` гарантируют, что они они всегда терминируют целевую строку нулевым символом, если им будет передан аргумент ненулевой длины. Более подробная информация об этом находится здесь <<OpenBSD,Инструкции OpenBSD `strlcpy` и `strlcat` существуют во FreeBSD начиная с версии 3.3.>>
-
-==== Вкомпилированная проверка границ во время выполнения
-
-К сожалению, все еще широко используется очень большой объём кода, который слепо копирует память без использования только что рассмотренных функций с проверкой границ. Однако есть другое решение. Существует несколько расширений к компилятору и библиотек для выполнения контроля границ во время выполнения (C/C++).
-
-Одним из таких добавлений является StackGuard, который реализован как маленький патч к генератору кода gcc. Согласно http://immunix.org/stackguard.html[web сайту StackGuard]:
-
-"StackGuard распознает и защищает стек от атак, не позволяя изменять адрес возврата в стеке. При вызове функции StackGuard помещает вслед за адресом возврата сигнальное слово. Если после возврата из функции оно оказывается измененным, то была попытка выполнить атаку на стек, и программа отвечает на это генерацией сообщения о злоумышленнике в системном журнале, а затем прекращает работу."
-
-"StackGuard реализован в виде маленького патча к генератору кода gcc, а именно процедур function_prolog() и function_epilog(). function_prolog() усовершенствована для создания пометок в стеке при начале работы функции, а function_epilog() проверяет целостность пометки при возврате из функции. Таким образом, любые попытки изменения адреса возврата определяются до возврата из функции."
-
-Перекомпиляция вашего приложения со StackGuard является эффективным способом остановить большинство атак переполнений буфера, но все же полностью это проблемы не решает.
-
-==== Проверка границ во время выполнения с использованием библиотек.
-
-Механизмы на основе компилятора полностью бесполезны для программного обеспечения, поставляемого в двоичном виде, которое вы не можете перекомпилировать. В этих ситуациях имеется некоторое количество библиотек, в которых реализованы небезопасные функции библиотеки C (`strcpy`, `fscanf`, `getwd`, и так далее..), обеспечивающие невозможность записи после указателя стека.
-
-* libsafe
-* libverify
-* libparanoia
-
-К сожалению, эти защиты имеют некоторое количество недостатков. Эти библиотеки могут защитить только против малого количества проблем, и не могут исправить реальные проблемы. Эти защиты могут не сработать, если приложение скомпилировано с параметром -fomit-frame-pointer. К тому же переменные окружения LD_PRELOAD и LD_LIBRARY_PATH могут быть переопределены/сняты пользователем.
-
-[[secure-setuid]]
-== Проблемы с установленным битом UID
-
-Имеется по крайней мере 6 различных идентификаторов (ID), связанных с любым взятым процессом. Поэтому вы должны быть очень осторожны с тем, какие права имеет ваш процесс в каждый момент времени. В частности, все seteuid-приложения должны понижать свои привилегии, как только в них отпадает необходимость.
-
-Реальный ID пользователя может быть изменен только процессом администратора. Программа login устанавливает его, когда пользователь входит в систему, и он редко меняется.
-
-Эффективный ID пользователя устанавливается функциями `exec()`, если у программы установлен бит seteuidt. Приложение может выполнить вызов `seteuid()` в любой момент для установки эффективного ID пользователя в значение реального ID пользователя или сохраняемого set-user-ID. Когда эффективный ID пользователя устанавливается функциями `exec()`, его предыдущее значение сохраняется в сохраняемом set-user-ID.
-
-[[secure-chroot]]
-== Ограничение среды работы вашей программы
-
-Традиционно используемым методом ограничения процесса является использование системного вызова `chroot()`. Этот системный вызов меняет корневой каталог, относительно которого определяются все остальные пути в самом процессе и всех порожденных ими процессах. Для того, чтобы этот вызов был выполнен успешно, процесс должен иметь право на выполнение (поиск) каталога, о котором идет речь. Новая среда реально не вступит в силу, пока вы не выполните вызов `chdir()` в вашей новой среде. Следует также отметить, что процесс может с легкостью выйти из chroot-среды, если он имеет привилегии администратора. Это может быть достигнуто созданием файлов устройств для чтения памяти ядра, подключением отладчика к процессу вне узницы и многими другими способами.
-
-Поведение системного вызова `chroot()` можно некоторым образом контролировать `sysctl`-переменной kern.chroot_allow_open_directories. Когда эта переменная установлена в 0, `chroot()` не сработает с ошибкой EPERM, если есть какие-либо открытые каталоги. Если она установлена в значение по умолчанию, равное 1, то `chroot()` не сработает с ошибкой EPERM, если есть какие-либо открытые каталоги и процесс уже подвергнут вызову `chroot()`. Для всех других значений проверка открытости каталогов будет полностью опущена.
-
-=== Функциональность джейлов (jail) во FreeBSD
-
-Концепция джейлов (Jail) расширяет возможности `chroot()`, ограничивая власть администратора созданием настоящих `виртуальных серверов'. Как только тюремная камера создана, все сетевые коммуникации должны осуществляться через выделенный адрес IP, а сила "привилегий пользователя root" в этой тюрьме довольно ограничена.
-
-При работе внутри тюрьмы, любые проверки силы администратора в ядре при помощи вызова `suser()` будут оканчиваться неудачно. Однако некоторые вызовы к `suser()` были изменены на новый интерфейс `suser_xxx()`. Эта функция отвечает за распознание и разрешение доступа к власти администратора для процессов, не находящихся в неволе.
-
-Процесс администратора внутри среды джейла имеет право:
-
-* Манипулировать привилегиями с помощью `setuid`, `seteuid`, `setgid`, `setegid`, `setgroups`, `setreuid`, `setregid` и `setlogin`
-* Устанавливать ограничения на использование ресурсов при помощи `setrlimit`
-* Модифицировать некоторые sysctl-переменные (kern.hostname)
-* `chroot()`
-* Устанавливать следующие флаги на vnode: `chflags`, `fchflags`
-* Устанавливать такие атрибуты vnode, как права доступа к файлу, изменять его владельца, группу, размер, время доступа и модификации.
-* Осуществлять привязку к привилегированному порту в области портов Интернет (порты с номерами 1024)
-
-`Jail` является очень полезным инструментом для запуска приложений в защищенном окружении, но есть и некоторые недостатки. На текущий момент к формату `suser_xxx` не преобразованы механизмы IPC, так что такие приложения, как MySQL, не могут работать в джейле. Права администратора могут имеет малую силу внутри джейла, но нет способа определить, что значит "малую".
-
-=== POSIX(R).1e возможности процессов
-
-POSIX(R) выпустила рабочий документ, который добавляет аудит событий, списки управления доступом, тонко настраиваемые привилегии, метки информации и жесткое управление доступом.
-
-Этот документ находится в работе и находится в центре внимания проекта http://www.trustedbsd.org/[TrustedBSD]. Некоторая начальная функциональность уже была добавлена во FreeBSD-CURRENT (cap_set_proc(3)).
-
-[[secure-trust]]
-== Доверие
-
-Приложение никогда не должно полагать, что среда пользователя безопасна. Сюда включается (но этим не ограничено): ввод пользователя, сигналы, переменные среды, ресурсы, IPC, отображаемая в файл память (mmap), рабочий каталог файловой системы, дескрипторы файлов, число открытых файлов и прочее.
-
-Никогда не думайте, что сможете предусмотреть все формы неправильного ввода, который может дать пользователь. Вместо этого ваше приложение должно осуществлять позитивную фильтрацию, пропуская только конечное множество возможных вариантов ввода, которые вы считаете безопасными. Неполная проверка данных была причиной многих нарушений защиты, особенно CGI-скриптов на веб-сайтах. Для имен файлов вам нужно уделять особое внимание путям ("../", "/"), символическим ссылкам и экранирующим символам оболочки.
-
-В Perl имеется такая очень полезная вещь, как "безупречный" (taint) режим, который можно использовать для запрещения скриптам использовать данные, порожденные вне программы, не безопасным способом. Этот режим проверяет аргументы командной строки, переменные окружения, информацию локализации, результаты некоторых системных вызовов (`readdir()`, `readlink()`, `getpwxxx()` и весь файловый ввод.
-
-[[secure-race-conditions]]
-== Неожиданное поведение
-
-Неожиданное поведение - это аномальное поведение, вызванное непредусмотренной зависимостью от относительной последовательности событий. Другими словами, программист неправильно предположил, что некоторое событие всегда случается перед другим.
-
-Некоторые из широко распространенных причин возникновения таких проблем являются сигналы, проверки доступа и открытия файлов. Сигналы по своей природе являются асинхронными событиями, так что по отношению к ним нужно проявлять особое внимание. Проверка доступа функцией `access(2)` с последующим вызовом `open(2)` полностью не атомарно. Пользователи могут переместить файлы в промежутке между двумя вызовами. Вместо этого привилегированное приложение должно выполнить `seteuid()`, а затем сразу вызвать `open()`. В тех же строках приложение должно всегда устанавливать явно маску прав доступа (umask) перед вызовом функции `open()` во избежание беспорядочных вызовов `chmod()`.
diff --git a/documentation/content/ru/books/developers-handbook/sockets/_index.adoc b/documentation/content/ru/books/developers-handbook/sockets/_index.adoc
index 669a53fb60..e7bd9602bd 100644
--- a/documentation/content/ru/books/developers-handbook/sockets/_index.adoc
+++ b/documentation/content/ru/books/developers-handbook/sockets/_index.adoc
@@ -7,7 +7,7 @@ next: books/developers-handbook/ipv6
params:
path: /books/developers-handbook/sockets/
prev: books/developers-handbook/partii
-showBookMenu: true
+showBookMenu: 'true'
tags: ["Sockets", "Protocols"]
title: 'Глава 7. Сокеты'
weight: 9
diff --git a/documentation/content/ru/books/developers-handbook/sockets/_index.po b/documentation/content/ru/books/developers-handbook/sockets/_index.po
index 7136478a70..6d54c894fa 100644
--- a/documentation/content/ru/books/developers-handbook/sockets/_index.po
+++ b/documentation/content/ru/books/developers-handbook/sockets/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-12 22:16+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\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/"
@@ -18,13 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/developers-handbook/sockets/_index.adoc:1
#, no-wrap
msgid "FreeBSD Sockets"
msgstr "Сокеты FreeBSD"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/developers-handbook/sockets/_index.adoc:1
#, no-wrap
msgid "Chapter 7. Sockets"
@@ -665,14 +665,13 @@ msgid ""
msgstr ""
"Аргумент `domain` указывает системе, какое _семейство протоколов_ следует "
"использовать. Существует множество семейств, некоторые из них специфичны для "
-"определённых поставщиков, другие широко распространены. Они объявлены в "
-"[.filename]#sys/socket.h#."
+"определённых поставщиков, другие широко распространены. Они объявлены в [."
+"filename]#sys/socket.h#."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/sockets/_index.adoc:252
msgid "Use `PF_INET` for UDP, TCP and other Internet protocols (IPv4)."
-msgstr ""
-"Используйте `PF_INET` для UDP, TCP и других интернет-протоколов (IPv4)."
+msgstr "Используйте `PF_INET` для UDP, TCP и других интернет-протоколов (IPv4)."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/sockets/_index.adoc:256
@@ -682,11 +681,10 @@ msgid ""
"`SOCK_STREAM`, which tells the system you are asking for a _reliable stream "
"delivery service_ (which is TCP when used with `PF_INET`)."
msgstr ""
-"Для аргумента `type` определено пять значений, также указанных в "
-"[.filename]#sys/socket.h#. Все они начинаются с \"`SOCK_`\". Наиболее "
-"распространённое — `SOCK_STREAM`, которое указывает системе, что "
-"запрашивается _надёжный сервис потоковой доставки_ (это TCP при "
-"использовании с `PF_INET`)."
+"Для аргумента `type` определено пять значений, также указанных в [.filename]#"
+"sys/socket.h#. Все они начинаются с \"`SOCK_`\". Наиболее распространённое — "
+"`SOCK_STREAM`, которое указывает системе, что запрашивается _надёжный сервис "
+"потоковой доставки_ (это TCP при использовании с `PF_INET`)."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/sockets/_index.adoc:258
@@ -795,8 +793,8 @@ msgid ""
"as an array of `14` bytes, with the comment hinting there can be more than "
"`14` of them."
msgstr ""
-"Обратите внимание на _неопределённость_, с которой объявлено поле `sa_data` "
-"— просто как массив из `14` байт, с комментарием, намекающим, что их может "
+"Обратите внимание на _неопределённость_, с которой объявлено поле `sa_data` —"
+" просто как массив из `14` байт, с комментарием, намекающим, что их может "
"быть больше `14`."
#. type: Plain text
@@ -1020,8 +1018,8 @@ msgstr ""
"текстовую строку с текущей датой и временем в порт 13. Мы хотим использовать "
"TCP/IP, поэтому нам нужно указать `AF_INET` в поле семейства адресов. "
"`AF_INET` определен как `2`. Давайте используем IP-адрес `192.43.244.18`, "
-"который является сервером времени федерального правительства США "
-"(`time.nist.gov`)."
+"который является сервером времени федерального правительства США (`time.nist."
+"gov`)."
#. type: Block title
#: documentation/content/en/books/developers-handbook/sockets/_index.adoc:388
@@ -1349,8 +1347,8 @@ msgid ""
"problem."
msgstr ""
"Это _обманет_ наш компилятор, заставив его сохранить данные в _порядке "
-"байтов сети_. В некоторых случаях это именно тот способ, который нужен "
-"(например, при программировании на ассемблере). Однако в большинстве случаев "
+"байтов сети_. В некоторых случаях это именно тот способ, который нужен ("
+"например, при программировании на ассемблере). Однако в большинстве случаев "
"это может вызвать проблему."
#. type: Plain text
@@ -1754,8 +1752,8 @@ msgstr ""
"Помимо указания порта в `addr`, сервер может включать свой IP-адрес. Однако "
"он может просто использовать символическую константу INADDR_ANY, чтобы "
"указать, что будет обслуживать все запросы на указанный порт, независимо от "
-"его IP-адреса. Этот символ, наряду с несколькими аналогичными, объявлен в "
-"[.filename]#netinet/in.h#"
+"его IP-адреса. Этот символ, наряду с несколькими аналогичными, объявлен в [."
+"filename]#netinet/in.h#"
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/sockets/_index.adoc:639
@@ -1884,8 +1882,8 @@ msgid ""
"What happens to the old socket? It continues to listen for more requests "
"(remember the `backlog` variable we passed to `listen`?) until we `close` it."
msgstr ""
-"Что происходит со старым сокетом? Он продолжает ожидать новые запросы "
-"(помните переменную `backlog`, которую мы передали в `listen`?), пока мы не "
+"Что происходит со старым сокетом? Он продолжает ожидать новые запросы ("
+"помните переменную `backlog`, которую мы передали в `listen`?), пока мы не "
"закроем его (`close`)."
#. type: Plain text
@@ -1923,8 +1921,8 @@ msgid ""
"program invoked it)."
msgstr ""
"Это лучше всего достигается созданием _дочернего процесса_ после привязки "
-"порта. Затем основной процесс завершается и возвращает управление оболочке "
-"(или любой другой программе, которая его вызвала)."
+"порта. Затем основной процесс завершается и возвращает управление оболочке ("
+"или любой другой программе, которая его вызвала)."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/sockets/_index.adoc:701
@@ -2146,7 +2144,8 @@ msgid ""
" tm->tm_sec);\n"
msgstr ""
" tm = gmtime(&t);\n"
-" fprintf(client, \"%.4i-%.2i-%.2iT%.2i:%.2i:%.2iZ\\n\",\n"
+" fprintf(client, \"%.4i-%.2i-%.2iT%.2i:%.2i:%.2iZ\\n"
+"\",\n"
" tm->tm_year + 1900,\n"
" tm->tm_mon + 1,\n"
" tm->tm_mday,\n"
@@ -2240,7 +2239,7 @@ msgid ""
msgstr ""
"Наконец, демон запускает бесконечный цикл, который выполняет следующие шаги:"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/sockets/_index.adoc:820
msgid ""
"Call `accept`. It waits here until a client contacts it. At that point, it "
@@ -2251,7 +2250,7 @@ msgstr ""
"момент он получает новый сокет, `c`, который можно использовать для обмена "
"данными с этим конкретным клиентом."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/sockets/_index.adoc:821
msgid ""
"It uses the C function `fdopen` to turn the socket from a low-level _file "
@@ -2262,7 +2261,7 @@ msgstr ""
"низкоуровневого _дескриптора файла_ в указатель типа `FILE` в стиле C. Это "
"позволит в дальнейшем использовать `fprintf`."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/sockets/_index.adoc:822
msgid ""
"It checks the time, and prints it in the _ISO 8601_ format to the `client` "
@@ -2273,7 +2272,7 @@ msgstr ""
"Затем он использует `fclose` для закрытия файла. Это также автоматически "
"закроет сокет."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/sockets/_index.adoc:824
msgid "We can _generalize_ this, and use it as a model for many other servers:"
msgstr ""
@@ -2292,7 +2291,7 @@ msgstr "Последовательный Сервер"
msgid "serv.png"
msgstr "serv.png"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/sockets/_index.adoc:832
msgid ""
"This flowchart is good for _sequential servers_, i.e., servers that can "
@@ -2309,7 +2308,7 @@ msgstr ""
"обнаруживает подключение клиента, он отправляет некоторые данные и закрывает "
"соединение. Вся операция может занять наносекунды, и она завершена."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/sockets/_index.adoc:835
msgid ""
"The advantage of this flowchart is that, except for the brief moment after "
@@ -2321,7 +2320,7 @@ msgstr ""
"всегда активен только один _процесс_: Наш сервер не занимает много памяти и "
"других системных ресурсов."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/sockets/_index.adoc:839
msgid ""
"Note that we have added _initialize daemon_ in our flowchart. We did not "
@@ -2333,7 +2332,7 @@ msgstr ""
"место в потоке выполнения программы для настройки обработчиков `signal`, "
"открытия необходимых файлов и т. д."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/sockets/_index.adoc:843
msgid ""
"Just about everything in the flow chart can be used literally on many "
@@ -2346,7 +2345,7 @@ msgstr ""
"его как _\"чёрный ящик\"_, то есть нечто, что вы проектируете специально для "
"своего сервера и просто \"подключаете к остальной системе.\""
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/sockets/_index.adoc:849
msgid ""
"Not all protocols are that simple. Many receive a request from the client, "
@@ -2363,15 +2362,15 @@ msgstr ""
"процесс обслуживает своего клиента, демон может продолжать прослушивать "
"новые подключения."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/sockets/_index.adoc:852
msgid ""
"Now, go ahead, save the above source code as [.filename]#daytimed.c# (it is "
"customary to end the names of daemons with the letter `d`). After you have "
"compiled it, try running it:"
msgstr ""
-"Теперь сохраните приведённый исходный код в файл [.filename]#daytimed.c# "
-"(обычно имена демонов оканчиваются буквой `d`). После компиляции попробуйте "
+"Теперь сохраните приведённый исходный код в файл [.filename]#daytimed.c# ("
+"обычно имена демонов оканчиваются буквой `d`). После компиляции попробуйте "
"запустить его:"
#. type: delimited block . 4
@@ -2619,8 +2618,8 @@ msgid ""
msgstr ""
"Хотя нет возможности передать имя домена напрямую в какие-либо функции "
"сокетов, стандартная библиотека C в FreeBSD предоставляет функции "
-"man:gethostbyname[3] и man:gethostbyname2[3], объявленные в "
-"[.filename]#netdb.h#."
+"man:gethostbyname[3] и man:gethostbyname2[3], объявленные в [.filename]#netdb"
+".h#."
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/sockets/_index.adoc:959
@@ -2874,7 +2873,8 @@ msgstr ""
"struct servent *se;\n"
" ...\n"
" if ((se = getservbyname(\"daytime\", \"tcp\")) == NULL {\n"
-" fprintf(stderr, \"Cannot determine which port to use.\\n\");\n"
+" fprintf(stderr, \"Cannot determine which port to use.\\n"
+"\");\n"
" return 7;\n"
" }\n"
" sa.sin_port = se->s_port;\n"
@@ -2984,11 +2984,11 @@ msgid ""
"no longer functional but still roaming around."
msgstr ""
"В UNIX(R) процесс на самом деле не _завершается_. Вместо этого он "
-"_возвращается_ к своему родителю. Обычно родительский процесс ``ждёт`` "
-"(wait) завершения своего дочернего процесса и получает возвращаемое "
-"значение. Однако наш _демон-процесс_ не может просто остановиться и ждать. "
-"Это бы свело на нет всю цель создания дополнительных процессов. Но если он "
-"никогда не выполняет `wait`, его дочерние процессы станут _зомби_ — более не "
+"_возвращается_ к своему родителю. Обычно родительский процесс ``ждёт`` (wait)"
+" завершения своего дочернего процесса и получает возвращаемое значение. "
+"Однако наш _демон-процесс_ не может просто остановиться и ждать. Это бы "
+"свело на нет всю цель создания дополнительных процессов. Но если он никогда "
+"не выполняет `wait`, его дочерние процессы станут _зомби_ — более не "
"функционирующими, но всё ещё бродящими вокруг."
#. type: Plain text
diff --git a/documentation/content/ru/books/developers-handbook/testing/_index.adoc b/documentation/content/ru/books/developers-handbook/testing/_index.adoc
index a801c9644f..21b792de6f 100644
--- a/documentation/content/ru/books/developers-handbook/testing/_index.adoc
+++ b/documentation/content/ru/books/developers-handbook/testing/_index.adoc
@@ -1,11 +1,11 @@
---
-authors:
+authors: ~
description: 'Регрессионное и нагрузочное тестирование'
next: books/developers-handbook/partii
params:
path: /books/developers-handbook/testing/
prev: books/developers-handbook/policies
-showBookMenu: true
+showBookMenu: 'true'
tags: ["Regression", "Performance Testing", "Testing", "Tinderbox"]
title: 'Глава 6. Регрессионное и нагрузочное тестирование'
weight: 7
diff --git a/documentation/content/ru/books/developers-handbook/testing/_index.po b/documentation/content/ru/books/developers-handbook/testing/_index.po
index 220968249a..79fcce856d 100644
--- a/documentation/content/ru/books/developers-handbook/testing/_index.po
+++ b/documentation/content/ru/books/developers-handbook/testing/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-12 22:16+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-06-27 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -25,7 +25,7 @@ msgstr ""
msgid "Regression and Performance Testing"
msgstr "Регрессионное и нагрузочное тестирование"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/developers-handbook/testing/_index.adoc:1
#, no-wrap
msgid "Chapter 6. Regression and Performance Testing"
@@ -107,8 +107,8 @@ msgid ""
"If man:syslog[3] events are generated, run man:syslogd[8] with an empty "
"[.filename]#/etc/syslogd.conf#, otherwise, do not run it."
msgstr ""
-"Если события man:syslog[3] генерируются, запустите man:syslogd[8] с пустым "
-"[.filename]#/etc/syslogd.conf#, в противном случае не запускайте его."
+"Если события man:syslog[3] генерируются, запустите man:syslogd[8] с пустым [."
+"filename]#/etc/syslogd.conf#, в противном случае не запускайте его."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/testing/_index.adoc:68
@@ -285,8 +285,8 @@ msgid ""
"possible to spot interaction effects."
msgstr ""
"Выполните тест как минимум 3 раза, но лучше запустить более 20 раз как для "
-"кода \"до\", так и для кода \"после\". По возможности чередуйте запуски "
-"(т.е. не следует запускать 20 раз \"до\", а затем 20 раз \"после\"), это "
+"кода \"до\", так и для кода \"после\". По возможности чередуйте запуски ("
+"т.е. не следует запускать 20 раз \"до\", а затем 20 раз \"после\"), это "
"поможет выявить влияние окружения. Не чередуйте строго 1:1, а лучше 3:3, "
"чтобы можно было обнаружить эффекты взаимодействия."
@@ -328,8 +328,8 @@ msgid ""
"is a test with snapshots."
msgstr ""
"Не используйте фоновый man:fsck[8], если тест не является бенчмарком "
-"фонового `fsck`. Также отключите `background_fsck` в [.filename]#/etc/"
-"rc.conf#, если бенчмарк не запускается как минимум через 60+«время работы "
+"фонового `fsck`. Также отключите `background_fsck` в [.filename]#/etc/rc."
+"conf#, если бенчмарк не запускается как минимум через 60+«время работы "
"``fsck``» секунд после загрузки, так как man:rc[8] пробуждается и проверяет, "
"нужно ли запускать `fsck` для каких-либо файловых систем, когда включен "
"фоновый `fsck`. Аналогично, убедитесь, что нет оставшихся снимков, если "
@@ -445,8 +445,8 @@ msgid ""
msgstr ""
"Скрипты поддерживаются и были разработаны {des}, и сейчас написаны на Perl, "
"что стало шагом вперед по сравнению с их первоначальной версией в виде shell-"
-"скриптов. Все скрипты и конфигурационные файлы хранятся в https://"
-"www.freebsd.org/cgi/cvsweb.cgi/projects/tinderbox/[/projects/tinderbox/]."
+"скриптов. Все скрипты и конфигурационные файлы хранятся в https://www.freebsd"
+".org/cgi/cvsweb.cgi/projects/tinderbox/[/projects/tinderbox/]."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/testing/_index.adoc:109
@@ -708,9 +708,9 @@ msgid ""
"www.sentex.ca[Sentex Data Communications], who also host the FreeBSD Netperf "
"Cluster."
msgstr ""
-"Официальные серверы сборки Tinderbox размещены на площадке http://"
-"www.sentex.ca[Sentex Data Communications], которая также предоставляет "
-"хостинг для кластера Netperf FreeBSD."
+"Официальные серверы сборки Tinderbox размещены на площадке http://www.sentex."
+"ca[Sentex Data Communications], которая также предоставляет хостинг для "
+"кластера Netperf FreeBSD."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/testing/_index.adoc:183
diff --git a/documentation/content/ru/books/developers-handbook/tools/_index.adoc b/documentation/content/ru/books/developers-handbook/tools/_index.adoc
index 83dbc7784c..d59f1ed5b1 100644
--- a/documentation/content/ru/books/developers-handbook/tools/_index.adoc
+++ b/documentation/content/ru/books/developers-handbook/tools/_index.adoc
@@ -9,7 +9,7 @@ next: books/developers-handbook/secure
params:
path: /books/developers-handbook/tools/
prev: books/developers-handbook/introduction
-showBookMenu: true
+showBookMenu: 'true'
tags: ["tools", "Interpreters", "Compilers", "cc", "make", "Debugging", "lldb", "gdb", "clang", "Emacs"]
title: 'Глава 2. Инструменты разработки'
weight: 3
@@ -144,7 +144,7 @@ Tcl — это встраиваемый интерпретируемый язы
Как только вы напишете свой шедевр, следующий шаг — преобразовать его во что-то, что (надеюсь!) будет работать на FreeBSD. Обычно это включает несколько шагов, каждый из которых выполняется отдельной программой.
[.procedure]
-. Обработь исходный код, чтобы удалить комментарии и выполнить другие действия, такие как раскрытие макросов в C.
+. Обработать исходный код, чтобы удалить комментарии и выполнить другие действия, такие как раскрытие макросов в C.
. Проверить синтаксис вашего кода, чтобы убедиться, что вы соблюдаете правила языка. Если нет, он пожалуется!
. Преобразовать исходный код в ассемблерный язык — это очень близко к машинному коду, но всё ещё понятно человеку. Как утверждается.
. Преобразовать язык ассемблера в машинный код — да, здесь речь идет о битах и байтах, единицах и нулях.
diff --git a/documentation/content/ru/books/developers-handbook/tools/_index.po b/documentation/content/ru/books/developers-handbook/tools/_index.po
index 47c68c25ff..beb27c1af4 100644
--- a/documentation/content/ru/books/developers-handbook/tools/_index.po
+++ b/documentation/content/ru/books/developers-handbook/tools/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-12 22:16+0300\n"
-"PO-Revision-Date: 2025-07-05 04:45+0000\n"
+"POT-Creation-Date: 2025-06-29 21:20+0100\n"
+"PO-Revision-Date: 2025-10-15 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/booksdevelopers-handbooktools_index/ru/>\n"
@@ -25,7 +25,7 @@ msgstr ""
msgid "Programming Tools"
msgstr "Инструменты разработки"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1
#, no-wrap
msgid "Chapter 2. Programming Tools"
@@ -276,9 +276,9 @@ msgid ""
msgstr ""
"Язык, разработанный в конце 1950-х годов как альтернатива популярным в то "
"время языкам для «численных расчётов». В отличие от них, Lisp основан на "
-"списках; фактически, название является сокращением от «List Processing» "
-"(обработка списков). Он очень популярен в кругах, связанных с ИИ "
-"(искусственным интеллектом)."
+"списках; фактически, название является сокращением от «List Processing» ("
+"обработка списков). Он очень популярен в кругах, связанных с ИИ ("
+"искусственным интеллектом)."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:123
@@ -349,13 +349,12 @@ msgstr ""
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:140
msgid ""
"Scheme is available from the Ports Collection as package:lang/elk[] for the "
-"Elk Scheme Interpreter. The MIT Scheme Interpreter can be found in "
-"package:lang/mit-scheme[] and the SCM Scheme Interpreter in package:lang/"
-"scm[]."
+"Elk Scheme Interpreter. The MIT Scheme Interpreter can be found in package:"
+"lang/mit-scheme[] and the SCM Scheme Interpreter in package:lang/scm[]."
msgstr ""
"Схема доступна из Коллекции Портов как package:lang/elk[] для Интерпретатора "
-"Elk Scheme. Интерпретатор MIT Scheme можно найти в package:lang/mit-"
-"scheme[], а Интерпретатор SCM Scheme — в package:lang/scm[]."
+"Elk Scheme. Интерпретатор MIT Scheme можно найти в package:lang/mit-scheme[]"
+", а Интерпретатор SCM Scheme — в package:lang/scm[]."
#. type: Labeled list
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:141
@@ -367,17 +366,16 @@ msgstr "Lua"
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:147
msgid ""
"Lua is a lightweight embeddable scripting language. It is widely portable "
-"and relatively simple. Lua is available in the Ports Collection in "
-"package:lang/lua54[]. It is also included in the base system as "
-"[.filename]#/usr/libexec/flua# for use by base system components. Third "
-"party software should not depend on [.filename]#flua#."
+"and relatively simple. Lua is available in the Ports Collection in package:"
+"lang/lua54[]. It is also included in the base system as [.filename]#/usr/"
+"libexec/flua# for use by base system components. Third party software "
+"should not depend on [.filename]#flua#."
msgstr ""
"Lua — это легковесный встраиваемый язык сценариев. Он обладает высокой "
"переносимостью и относительно прост. Lua доступен в коллекции портов в "
-"пакете package:lang/lua54[]. Он также включен в базовую систему как "
-"[.filename]#/usr/libexec/flua# для использования компонентами базовой "
-"системы. Стороннее программное обеспечение не должно зависеть от "
-"[.filename]#flua#."
+"пакете package:lang/lua54[]. Он также включен в базовую систему как [."
+"filename]#/usr/libexec/flua# для использования компонентами базовой системы. "
+"Стороннее программное обеспечение не должно зависеть от [.filename]#flua#."
#. type: Labeled list
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:148
@@ -485,9 +483,8 @@ msgstr ""
"проверяете, принимает ли он вашу программу. Если программа не "
"скомпилировалась, стисните зубы и вернитесь к редактору; если же компиляция "
"прошла успешно и программа была создана, вы можете запустить её либо в "
-"командной строке оболочки, либо в отладчике, чтобы проверить её "
-"работу.footnote:[Если вы запустите её в оболочке, может произойти дамп "
-"памяти.]"
+"командной строке оболочки, либо в отладчике, чтобы проверить её работу."
+"footnote:[Если вы запустите её в оболочке, может произойти дамп памяти.]"
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:181
@@ -510,8 +507,8 @@ msgstr ""
"операционную систему! Это также полезно, если требуется написать очень "
"эффективный код, так как компилятор может не спешить и оптимизировать код, "
"что было бы неприемлемо в интерпретаторе. Более того, распространение "
-"программы, написанной для компилятора, обычно проще, чем для интерпретатора "
-"— можно просто предоставить копию исполняемого файла, предполагая, что у "
+"программы, написанной для компилятора, обычно проще, чем для интерпретатора —"
+" можно просто предоставить копию исполняемого файла, предполагая, что у "
"пользователя та же операционная система, что и у вас."
#. type: Plain text
@@ -566,16 +563,16 @@ msgstr ""
"то, что (надеюсь!) будет работать на FreeBSD. Обычно это включает несколько "
"шагов, каждый из которых выполняется отдельной программой."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:198
msgid ""
"Pre-process your source code to remove comments and do other tricks like "
"expanding macros in C."
msgstr ""
-"Обработь исходный код, чтобы удалить комментарии и выполнить другие "
+"Обработать исходный код, чтобы удалить комментарии и выполнить другие "
"действия, такие как раскрытие макросов в C."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:199
msgid ""
"Check the syntax of your code to see if you have obeyed the rules of the "
@@ -584,7 +581,7 @@ msgstr ""
"Проверить синтаксис вашего кода, чтобы убедиться, что вы соблюдаете правила "
"языка. Если нет, он пожалуется!"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:200
msgid ""
"Convert the source code into assembly language-this is very close to machine "
@@ -593,7 +590,7 @@ msgstr ""
"Преобразовать исходный код в ассемблерный язык — это очень близко к "
"машинному коду, но всё ещё понятно человеку. Как утверждается."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:201
msgid ""
"Convert the assembly language into machine code-yep, we are talking bits and "
@@ -602,7 +599,7 @@ msgstr ""
"Преобразовать язык ассемблера в машинный код — да, здесь речь идет о битах и "
"байтах, единицах и нулях."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:202
msgid ""
"Check that you have used things like functions and global variables in a "
@@ -613,7 +610,7 @@ msgstr ""
"переменные, правильно и последовательно. Например, если вы вызвали "
"несуществующую функцию, это будет отмечено."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:203
msgid ""
"If you are trying to produce an executable from several source code files, "
@@ -622,7 +619,7 @@ msgstr ""
"Если вы пытаетесь создать исполняемый файл из нескольких исходных файлов, "
"определить, как объединить их все вместе."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:204
msgid ""
"Work out how to produce something that the system's run-time loader will be "
@@ -631,12 +628,12 @@ msgstr ""
"Определить, как создать что-то, что загрузчик времени выполнения системы "
"сможет загрузить в память и запустить."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:205
msgid "Finally, write the executable on the filesystem."
msgstr "Наконец, записать исполняемый файл в файловую систему."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:208
msgid ""
"The word _compiling_ is often used to refer to just steps 1 to 4-the others "
@@ -647,7 +644,7 @@ msgstr ""
"называются _линковкой_. Иногда шаг 1 называют _препроцессированием_, а шаги "
"3-4 — _ассемблированием_."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:210
msgid ""
"Fortunately, almost all this detail is hidden from you, as `cc` is a front "
@@ -746,8 +743,8 @@ msgid ""
"just want to check the syntax, or if you are using a [.filename]#Makefile#."
msgstr ""
"Просто скомпилирует файл, не связывая его. Полезно для небольших программ, "
-"где нужно только проверить синтаксис, или если вы используете "
-"[.filename]#Makefile#."
+"где нужно только проверить синтаксис, или если вы используете [."
+"filename]#Makefile#."
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:247
@@ -758,13 +755,12 @@ msgstr "% cc -c foobar.c\n"
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:251
msgid ""
-"This will produce an _object file_ (not an executable) called "
-"[.filename]#foobar.o#. This can be linked together with other object files "
+"This will produce an _object file_ (not an executable) called [."
+"filename]#foobar.o#. This can be linked together with other object files "
"into an executable."
msgstr ""
-"Это создаст _объектный файл_ (не исполняемый) с именем "
-"[.filename]#foobar.o#. Его можно скомпоновать с другими объектными файлами в "
-"исполняемый файл."
+"Это создаст _объектный файл_ (не исполняемый) с именем [.filename]#foobar.o#"
+". Его можно скомпоновать с другими объектными файлами в исполняемый файл."
#. type: Labeled list
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:252
@@ -937,8 +933,8 @@ msgstr "% cc -Wall -ansi -pedantic -o foobar foobar.c\n"
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:307
msgid ""
-"This will produce an executable [.filename]#foobar# after checking "
-"[.filename]#foobar.c# for standard compliance."
+"This will produce an executable [.filename]#foobar# after checking [."
+"filename]#foobar.c# for standard compliance."
msgstr ""
"В результате будет создан исполняемый файл [.filename]#foobar# после "
"проверки [.filename]#foobar.c# на соответствие стандартам."
@@ -973,16 +969,16 @@ msgstr ""
msgid ""
"The rule is that if the library is called [.filename]#libsomething.a#, you "
"give `cc` the argument `-l__something__`. For example, the math library is "
-"[.filename]#libm.a#, so you give `cc` the argument `-lm`. A common "
-"\"gotcha\" with the math library is that it has to be the last library on "
-"the command line."
+"[.filename]#libm.a#, so you give `cc` the argument `-lm`. A common \"gotcha"
+"\" with the math library is that it has to be the last library on the "
+"command line."
msgstr ""
-"Правило заключается в том, что если библиотека называется "
-"[.filename]#libsomething.a#, то вы передаёте `cc` аргумент `-"
-"l__something__`. Например, математическая библиотека называется "
-"[.filename]#libm.a#, поэтому вы передаёте `cc` аргумент `-lm`. Типичный "
-"подводный камень с математической библиотекой заключается в том, что она "
-"должна быть последней библиотекой в командной строке."
+"Правило заключается в том, что если библиотека называется [."
+"filename]#libsomething.a#, то вы передаёте `cc` аргумент `-l__something__`. "
+"Например, математическая библиотека называется [.filename]#libm.a#, поэтому "
+"вы передаёте `cc` аргумент `-lm`. Типичный подводный камень с математической "
+"библиотекой заключается в том, что она должна быть последней библиотекой в "
+"командной строке."
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:321
@@ -994,8 +990,8 @@ msgstr "% cc -o foobar foobar.c -lm\n"
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:324
msgid "This will link the math library functions into [.filename]#foobar#."
msgstr ""
-"Это приведёт к подключению функций математической библиотеки в "
-"[.filename]#foobar#."
+"Это приведёт к подключению функций математической библиотеки в [."
+"filename]#foobar#."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:327
@@ -1019,8 +1015,8 @@ msgid ""
"This will both produce an executable [.filename]#foobar# from the C++ source "
"file [.filename]#foobar.cc#."
msgstr ""
-"Это создаст исполняемый файл [.filename]#foobar# из исходного файла на C++ "
-"[.filename]#foobar.cc#."
+"Это создаст исполняемый файл [.filename]#foobar# из исходного файла на C++ [."
+"filename]#foobar.cc#."
#. type: Title ===
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:335
@@ -1032,7 +1028,9 @@ msgstr "Распространённые вопросы и проблемы `cc`
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:337
#, no-wrap
msgid "I compiled a file called foobar.c and I cannot find an executable called foobar. Where has it gone?"
-msgstr "Я скомпилировал файл с именем foobar.c и не могу найти исполняемый файл с именем foobar. Куда он пропал?"
+msgstr ""
+"Я скомпилировал файл с именем foobar.c и не могу найти исполняемый файл с "
+"именем foobar. Куда он пропал?"
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:341
@@ -1053,7 +1051,10 @@ msgstr "% cc -o foobar foobar.c\n"
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:347
#, no-wrap
msgid "OK, I have an executable called foobar, I can see it when I run ls, but when I type in foobar at the command prompt it tells me there is no such file. Why can it not find it?"
-msgstr "Хорошо, у меня есть исполняемый файл с именем foobar, я вижу его при выполнении команды ls, но когда я ввожу foobar в командной строке, система сообщает, что такого файла нет. Почему он не может его найти?"
+msgstr ""
+"Хорошо, у меня есть исполняемый файл с именем foobar, я вижу его при "
+"выполнении команды ls, но когда я ввожу foobar в командной строке, система "
+"сообщает, что такого файла нет. Почему он не может его найти?"
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:351
@@ -1065,14 +1066,16 @@ msgid ""
msgstr ""
"В отличие от MS-DOS(R), UNIX(R) не ищет в текущем каталоге, когда пытается "
"определить, какую программу нужно запустить, если вы явно не укажете это. "
-"Введите `./foobar`, что означает \"запустить файл с именем "
-"[.filename]#foobar# в текущем каталоге.\""
+"Введите `./foobar`, что означает \"запустить файл с именем [."
+"filename]#foobar# в текущем каталоге.\""
#. type: Title ===
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:352
#, no-wrap
msgid "I called my executable test, but nothing happens when I run it. What is going on?"
-msgstr "Я назвал свой исполняемый файл test, но при запуске ничего не происходит. В чем дело?"
+msgstr ""
+"Я назвал свой исполняемый файл test, но при запуске ничего не происходит. В "
+"чем дело?"
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:356
@@ -1081,8 +1084,8 @@ msgid ""
"and the shell is picking that one up before it gets to checking the current "
"directory. Either type:"
msgstr ""
-"Большинство UNIX(R) систем имеют программу под названием `test` в "
-"[.filename]#/usr/bin#, и оболочка выбирает её, прежде чем проверить текущий "
+"Большинство UNIX(R) систем имеют программу под названием `test` в [."
+"filename]#/usr/bin#, и оболочка выбирает её, прежде чем проверить текущий "
"каталог. Введите следующее:"
#. type: delimited block . 4
@@ -1100,7 +1103,9 @@ msgstr "или выберите более подходящее название
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:364
#, no-wrap
msgid "I compiled my program and it seemed to run all right at first, then there was an error and it said something about core dumped. What does that mean?"
-msgstr "Я скомпилировал свою программу, и сначала она работала нормально, но потом произошла ошибка, и было сообщение о core dumped. Что это значит?"
+msgstr ""
+"Я скомпилировал свою программу, и сначала она работала нормально, но потом "
+"произошла ошибка, и было сообщение о core dumped. Что это значит?"
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:368
@@ -1129,14 +1134,16 @@ msgid ""
"Use a debugger to analyze the core (see crossref:tools[debugging, "
"Debugging])."
msgstr ""
-"Используйте отладчик для анализа образа памяти (см. "
-"crossref:tools[debugging, Отладка])."
+"Используйте отладчик для анализа образа памяти (см. crossref:tools["
+"debugging, Отладка])."
#. type: Title ====
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:373
#, no-wrap
msgid "When my program dumped core, it said something about a segmentation fault. What is that?"
-msgstr "Когда моя программа сбросила core, она сообщила что-то о segmentation fault. Что это?"
+msgstr ""
+"Когда моя программа сбросила core, она сообщила что-то о segmentation fault. "
+"Что это?"
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:377
@@ -1235,8 +1242,8 @@ msgid ""
"UNIX(R) compilers often put string literals like `\"My string\"` into read-"
"only areas of memory."
msgstr ""
-"Версии UNIX(R) компиляторы часто помещают строковые литералы, такие как "
-"`\"Моя строка\"`, в области памяти только для чтения."
+"Версии UNIX(R) компиляторы часто помещают строковые литералы, такие как `"
+"\"Моя строка\"`, в области памяти только для чтения."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:416
@@ -1287,7 +1294,10 @@ msgstr ""
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:436
#, no-wrap
msgid "Sometimes when I get a core dump it says bus error. It says in my UNIX(R) book that this means a hardware problem, but the computer still seems to be working. Is this true?"
-msgstr "Иногда при получении дампа памяти я вижу сообщение ошибки шины (bus error). В моей книге по UNIX(R) сказано, что это означает аппаратную проблему, но компьютер продолжает работать. Это правда?"
+msgstr ""
+"Иногда при получении дампа памяти я вижу сообщение ошибки шины (bus error). "
+"В моей книге по UNIX(R) сказано, что это означает аппаратную проблему, но "
+"компьютер продолжает работать. Это правда?"
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:440
@@ -1304,7 +1314,10 @@ msgstr ""
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:441
#, no-wrap
msgid "This dumping core business sounds as though it could be quite useful, if I can make it happen when I want to. Can I do this, or do I have to wait until there is an error?"
-msgstr "Этот процесс создания дампа памяти звучит довольно полезно, если я могу запускать его по своему желанию. Могу ли я это сделать, или нужно ждать возникновения ошибки?"
+msgstr ""
+"Этот процесс создания дампа памяти звучит довольно полезно, если я могу "
+"запускать его по своему желанию. Могу ли я это сделать, или нужно ждать "
+"возникновения ошибки?"
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:444
@@ -1470,34 +1483,34 @@ msgid ""
"This program is called `make`. It reads in a file, called a _makefile_, "
"that tells it how different files depend on each other, and works out which "
"files need to be re-compiled and which ones do not. For example, a rule "
-"could say something like \"if [.filename]#fromboz.o# is older than "
-"[.filename]#fromboz.c#, that means someone must have changed "
-"[.filename]#fromboz.c#, so it needs to be re-compiled.\" The makefile also "
-"has rules telling make _how_ to re-compile the source file, making it a much "
+"could say something like \"if [.filename]#fromboz.o# is older than [."
+"filename]#fromboz.c#, that means someone must have changed [."
+"filename]#fromboz.c#, so it needs to be re-compiled.\" The makefile also has "
+"rules telling make _how_ to re-compile the source file, making it a much "
"more powerful tool."
msgstr ""
"Эта программа называется `make`. Она читает файл, называемый _makefile_, "
"который указывает, как различные файлы зависят друг от друга, и определяет, "
"какие файлы нужно перекомпилировать, а какие нет. Например, правило может "
-"звучать так: «если [.filename]#fromboz.o# старше, чем "
-"[.filename]#fromboz.c#, значит, кто-то изменил [.filename]#fromboz.c#, и его "
-"нужно перекомпилировать». В makefile также содержатся правила, указывающие "
-"make, _как_ именно перекомпилировать исходный файл, что делает эту программу "
+"звучать так: «если [.filename]#fromboz.o# старше, чем [.filename]#fromboz.c#"
+", значит, кто-то изменил [.filename]#fromboz.c#, и его нужно "
+"перекомпилировать». В makefile также содержатся правила, указывающие make, "
+"_как_ именно перекомпилировать исходный файл, что делает эту программу "
"гораздо более мощным инструментом."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:507
msgid ""
"Makefiles are typically kept in the same directory as the source they apply "
-"to, and can be called [.filename]#makefile#, [.filename]#Makefile# or "
-"[.filename]#MAKEFILE#. Most programmers use the name [.filename]#Makefile#, "
+"to, and can be called [.filename]#makefile#, [.filename]#Makefile# or [."
+"filename]#MAKEFILE#. Most programmers use the name [.filename]#Makefile#, "
"as this puts it near the top of a directory listing, where it can easily be "
"seen.footnote:[They do not use the MAKEFILE form as block capitals are often "
"used for documentation files like README.]"
msgstr ""
"Файлы Makefile обычно хранятся в том же каталоге, что и исходный код, к "
-"которому они применяются, и могут называться [.filename]#makefile#, "
-"[.filename]#Makefile# или [.filename]#MAKEFILE#. Большинство программистов "
+"которому они применяются, и могут называться [.filename]#makefile#, [."
+"filename]#Makefile# или [.filename]#MAKEFILE#. Большинство программистов "
"используют имя [.filename]#Makefile#, так как это помещает его в начало "
"списка файлов в каталоге, где его легко заметить.footnote:[Они не используют "
"форму MAKEFILE, так как заглавные буквы часто применяются для файлов "
@@ -1537,21 +1550,20 @@ msgid ""
"_target_), followed by a colon, then whitespace, then the name of the source "
"file. When `make` reads this line, it looks to see if [.filename]#foo# "
"exists; if it exists, it compares the time [.filename]#foo# was last "
-"modified to the time [.filename]#foo.c# was last modified. If "
-"[.filename]#foo# does not exist, or is older than [.filename]#foo.c#, it "
-"then looks at the creation line to find out what to do. In other words, "
-"this is the rule for working out when [.filename]#foo.c# needs to be re-"
-"compiled."
+"modified to the time [.filename]#foo.c# was last modified. If [."
+"filename]#foo# does not exist, or is older than [.filename]#foo.c#, it then "
+"looks at the creation line to find out what to do. In other words, this is "
+"the rule for working out when [.filename]#foo.c# needs to be re-compiled."
msgstr ""
"Строка зависимости здесь состоит из имени программы (известного как _цель_), "
"за которым следует двоеточие, пробел и имя исходного файла. Когда `make` "
"читает эту строку, он проверяет, существует ли файл [.filename]#foo#; если "
-"он существует, программа сравнивает время последнего изменения файла "
-"[.filename]#foo# с временем последнего изменения файла [.filename]#foo.c#. "
-"Если файл [.filename]#foo# не существует или старше файла "
-"[.filename]#foo.c#, программа смотрит на строку создания, чтобы выяснить, "
-"что делать. Другими словами, это правило для определения, когда файл "
-"[.filename]#foo.c# нужно перекомпилировать."
+"он существует, программа сравнивает время последнего изменения файла [."
+"filename]#foo# с временем последнего изменения файла [.filename]#foo.c#. "
+"Если файл [.filename]#foo# не существует или старше файла [.filename]#foo.c#"
+", программа смотрит на строку создания, чтобы выяснить, что делать. Другими "
+"словами, это правило для определения, когда файл [.filename]#foo.c# нужно "
+"перекомпилировать."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:530
@@ -1637,8 +1649,8 @@ msgid ""
msgstr ""
"Если мы просто введем `make` без параметров, make всегда будет обращаться к "
"первой цели и затем остановится, не рассматривая остальные. Поэтому если мы "
-"введем `make` здесь, он просто перейдет к цели `foo`, перекомпилирует "
-"[.filename]#foo# при необходимости и затем остановится, не переходя к цели "
+"введем `make` здесь, он просто перейдет к цели `foo`, перекомпилирует [."
+"filename]#foo# при необходимости и затем остановится, не переходя к цели "
"`install`."
#. type: Plain text
@@ -1646,15 +1658,15 @@ msgstr ""
msgid ""
"Notice that the `install` target does not actually depend on anything! This "
"means that the command on the following line is always executed when we try "
-"to make that target by typing `make install`. In this case, it will copy "
-"[.filename]#foo# into the user's home directory. This is often used by "
+"to make that target by typing `make install`. In this case, it will copy [."
+"filename]#foo# into the user's home directory. This is often used by "
"application makefiles, so that the application can be installed in the "
"correct directory when it has been correctly compiled."
msgstr ""
"Обратите внимание, что цель `install` не зависит ни от чего! Это означает, "
"что команда в следующей строке всегда выполняется при попытке создать эту "
-"цель с помощью команды `make install`. В данном случае она скопирует "
-"[.filename]#foo# в домашний каталог пользователя. Это часто используется в "
+"цель с помощью команды `make install`. В данном случае она скопирует [."
+"filename]#foo# в домашний каталог пользователя. Это часто используется в "
"makefile приложений, чтобы приложение можно было установить в правильный "
"каталог после успешной компиляции."
@@ -1714,8 +1726,8 @@ msgid ""
"To make sure that this file is recompiled the moment [.filename]#foo.h# is "
"changed, you have to add it in your [.filename]#Makefile#:"
msgstr ""
-"Чтобы убедиться, что этот файл перекомпилируется при изменении "
-"[.filename]#foo.h#, необходимо добавить его в [.filename]#Makefile#:"
+"Чтобы убедиться, что этот файл перекомпилируется при изменении [."
+"filename]#foo.h#, необходимо добавить его в [.filename]#Makefile#:"
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:587
@@ -1833,14 +1845,14 @@ msgstr ""
"Теперь, если мы перейдем в каталог этого порта и наберем `make`, произойдет "
"следующее:"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:633
msgid ""
"A check is made to see if the source code for this port is already on the "
"system."
msgstr "Проверяется, есть ли исходный код этого порта уже в системе."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:634
msgid ""
"If it is not, an FTP connection to the URL in MASTER_SITES is set up to "
@@ -1849,7 +1861,7 @@ msgstr ""
"Если это не так, устанавливается FTP-соединение с URL в MASTER_SITES для "
"загрузки исходного кода."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:635
msgid ""
"The checksum for the source is calculated and compared it with one for a "
@@ -1860,7 +1872,7 @@ msgstr ""
"суммой известной и хорошей копии исходного кода. Это делается для того, "
"чтобы убедиться, что исходный код не был поврежден во время передачи."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:636
msgid ""
"Any changes required to make the source work on FreeBSD are applied-this is "
@@ -1869,7 +1881,7 @@ msgstr ""
"Все необходимые изменения для адаптации исходного кода к работе в FreeBSD "
"применяются — это называется применением _патча_."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:637
msgid ""
"Any special configuration needed for the source is done. (Many UNIX(R) "
@@ -1877,12 +1889,12 @@ msgid ""
"being compiled on and which optional UNIX(R) features are present-this is "
"where they are given the information in the FreeBSD ports scenario)."
msgstr ""
-"Любая необходимая специальная настройка для исходного кода выполнена. "
-"(Многие дистрибутивы программ UNIX(R) пытаются определить, на какой версии "
+"Любая необходимая специальная настройка для исходного кода выполнена. ("
+"Многие дистрибутивы программ UNIX(R) пытаются определить, на какой версии "
"UNIX(R) они компилируются и какие дополнительные функции UNIX(R) доступны — "
"именно здесь они получают эту информацию в сценарии портов FreeBSD)."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:638
msgid ""
"The source code for the program is compiled. In effect, we change to the "
@@ -1893,7 +1905,7 @@ msgstr ""
"были распакованы исходные файлы, и выполняем `make` — собственный make-файл "
"программы содержит необходимую информацию для сборки программы."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:639
msgid ""
"We now have a compiled version of the program. If we wish, we can test it "
@@ -1910,7 +1922,7 @@ msgstr ""
"данных пакетов`, чтобы позже можно было легко удалить порт, если мы "
"передумаем."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:641
msgid ""
"Now I think you will agree that is rather impressive for a four line script!"
@@ -1918,7 +1930,7 @@ msgstr ""
"Вот теперь, я думаю, вы согласитесь, что это довольно впечатляюще для "
"скрипта из четырёх строк!"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:645
msgid ""
"The secret lies in the last line, which tells `make` to look in the system "
@@ -1933,20 +1945,20 @@ msgstr ""
"системному makefile под названием [.filename]#bsd.port.mk#. Эту строку легко "
"пропустить, но именно здесь начинается вся магия — кто-то написал makefile, "
"который предписывает `make` выполнить все вышеперечисленные действия (плюс "
-"несколько других, которые я не упомянул, включая обработку возможных "
-"ошибок), и любой может получить доступ к этому функционалу, просто добавив "
-"одну строку в свой собственный makefile!"
+"несколько других, которые я не упомянул, включая обработку возможных ошибок)"
+", и любой может получить доступ к этому функционалу, просто добавив одну "
+"строку в свой собственный makefile!"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:649
msgid ""
-"If you want to have a look at these system makefiles, they are in "
-"[.filename]#/usr/share/mk#, but it is probably best to wait until you have "
-"had a bit of practice with makefiles, as they are very complicated (and if "
-"you do look at them, make sure you have a flask of strong coffee handy!)"
+"If you want to have a look at these system makefiles, they are in [."
+"filename]#/usr/share/mk#, but it is probably best to wait until you have had "
+"a bit of practice with makefiles, as they are very complicated (and if you "
+"do look at them, make sure you have a flask of strong coffee handy!)"
msgstr ""
-"Если вы хотите взглянуть на эти системные makefile-ы, они находятся в "
-"[.filename]#/usr/share/mk#, но, вероятно, лучше подождать, пока у вас не "
+"Если вы хотите взглянуть на эти системные makefile-ы, они находятся в [."
+"filename]#/usr/share/mk#, но, вероятно, лучше подождать, пока у вас не "
"появится немного практики с makefile, так как они очень сложные (и если вы "
"всё же решите их посмотреть, убедитесь, что у вас под рукой есть фляга "
"крепкого кофе!)"
@@ -1957,7 +1969,7 @@ msgstr ""
msgid "More Advanced Uses of `make`"
msgstr "Более сложные способы использования `make`"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:656
msgid ""
"`Make` is a very powerful tool, and can do much more than the simple example "
@@ -1972,11 +1984,10 @@ msgstr ""
"показано в простом примере выше. К сожалению, существует несколько различных "
"версий `make`, и все они значительно отличаются друг от друга. Лучший способ "
"узнать, на что они способны, — вероятно, прочитать документацию. Надеюсь, "
-"это введение дало вам основу, с которой вы сможете это сделать. В "
-"man:make[1] подробно обсуждаются переменные, аргументы и то, как "
-"использовать `make`."
+"это введение дало вам основу, с которой вы сможете это сделать. В man:make[1]"
+" подробно обсуждаются переменные, аргументы и то, как использовать `make`."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:660
msgid ""
"Many applications in the ports use GNU make, which has a very good set of "
@@ -1989,7 +2000,7 @@ msgstr ""
"будет автоматически установлен как `gmake`. Он также доступен как отдельный "
"порт и пакет."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:663
msgid ""
"To view the info pages for GNU make, you will have to edit [.filename]#dir# "
@@ -1997,8 +2008,8 @@ msgid ""
"involves adding a line like"
msgstr ""
"Для просмотра справочных страниц (info) GNU make вам потребуется "
-"отредактировать файл [.filename]#dir# в каталоге [.filename]#/usr/local/"
-"info#, добавив соответствующую запись. Добавьте строку"
+"отредактировать файл [.filename]#dir# в каталоге [.filename]#/usr/local/info#"
+", добавив соответствующую запись. Добавьте строку"
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:667
@@ -2009,11 +2020,11 @@ msgstr " * Make: (make). The GNU Make utility.\n"
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:670
msgid ""
-"to the file. Once you have done this, you can type `info` and then select "
-"[.guimenuitem]#make# from the menu (or in Emacs, do `C-h i`)."
+"to the file. Once you have done this, you can type `info` and then select [."
+"guimenuitem]#make# from the menu (or in Emacs, do `C-h i`)."
msgstr ""
-"в файл. После этого вы можете ввести `info` и затем выбрать "
-"[.guimenuitem]#make# из меню (или в Emacs выполнить `C-h i`)."
+"в файл. После этого вы можете ввести `info` и затем выбрать [."
+"guimenuitem]#make# из меню (или в Emacs выполнить `C-h i`)."
#. type: Title ==
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:672
@@ -2202,8 +2213,8 @@ msgid ""
"use `up` and `down` to take a quick look at the caller."
msgstr ""
"Для пошагового выполнения программы строка за строкой введите `thread step-"
-"over`. Когда программа дойдёт до вызова функции, войдите в неё, набрав "
-"`thread step-in`. Оказавшись внутри вызова функции, вернитесь из него с "
+"over`. Когда программа дойдёт до вызова функции, войдите в неё, набрав `"
+"thread step-in`. Оказавшись внутри вызова функции, вернитесь из него с "
"помощью команды `thread step-out` или используйте `up` и `down`, чтобы "
"быстро посмотреть на вызывающий код."
@@ -2512,23 +2523,23 @@ msgid ""
"process when it crashed. In \"the good old days\", programmers had to print "
"out hex listings of core files and sweat over machine code manuals, but now "
"life is a bit easier. Incidentally, under FreeBSD and other 4.4BSD systems, "
-"a core file is called [.filename]#progname.core# instead of just "
-"[.filename]#core#, to make it clearer which program a core file belongs to."
+"a core file is called [.filename]#progname.core# instead of just [."
+"filename]#core#, to make it clearer which program a core file belongs to."
msgstr ""
"Файл core — это, по сути, файл, содержащий полное состояние процесса на "
"момент его аварийного завершения. В «старые добрые времена» программистам "
"приходилось распечатывать шестнадцатеричные дампы файлов core и корпеть над "
"руководствами по машинному коду, но сейчас жизнь стала немного проще. "
-"Кстати, в FreeBSD и других системах на базе 4.4BSD файл core называется "
-"[.filename]#progname.core#, а не просто [.filename]#core#, чтобы было "
+"Кстати, в FreeBSD и других системах на базе 4.4BSD файл core называется [."
+"filename]#progname.core#, а не просто [.filename]#core#, чтобы было "
"понятнее, какой программе он принадлежит."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:873
msgid ""
"To examine a core file, specify the name of the core file in addition to the "
-"program itself. Instead of starting up `lldb` in the usual way, type `lldb "
-"-c _progname_.core \\-- _progname_`."
+"program itself. Instead of starting up `lldb` in the usual way, type `lldb -"
+"c _progname_.core \\-- _progname_`."
msgstr ""
"Для анализа файла core укажите имя файла core в дополнение к самой "
"программе. Вместо обычного запуска `lldb` введите `lldb -c "
@@ -2648,8 +2659,8 @@ msgid ""
"to do something like the following (courtesy of the `gdb` info pages):"
msgstr ""
"Для того чтобы это работало правильно, код, который вызывает `fork` для "
-"создания дочернего процесса, должен делать что-то вроде следующего "
-"(предоставлено из документации `gdb`):"
+"создания дочернего процесса, должен делать что-то вроде следующего ("
+"предоставлено из документации `gdb`):"
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:927
@@ -2711,8 +2722,8 @@ msgid ""
msgstr ""
"Описанная функциональность доступна начиная с версии LLDB 12.0.0. "
"Пользователи релизов FreeBSD, содержащих более раннюю версию LLDB, могут "
-"воспользоваться снимком из extref:{handbook}[портов или пакетов, ports-"
-"using], как package:devel/llvm-devel[]."
+"воспользоваться снимком из extref:{handbook}[портов или пакетов, ports-using]"
+", как package:devel/llvm-devel[]."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:947
@@ -3232,8 +3243,7 @@ msgstr "Вы можете компилировать и отлаживать п
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1208
msgid ""
"On a compilation error, you can jump to the offending line of source code."
-msgstr ""
-"При ошибке компиляции можно перейти к проблемной строке исходного кода."
+msgstr "При ошибке компиляции можно перейти к проблемной строке исходного кода."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1209
@@ -3270,8 +3280,8 @@ msgstr ""
msgid ""
"Once it is installed, start it up and do `C-h t` to read an Emacs tutorial-"
"that means hold down kbd:[control], press kbd:[h], let go of kbd:[control], "
-"and then press kbd:[t]. (Alternatively, you can use the mouse to select "
-"[.guimenuitem]#Emacs Tutorial# from the menu:Help[] menu.)"
+"and then press kbd:[t]. (Alternatively, you can use the mouse to select [."
+"guimenuitem]#Emacs Tutorial# from the menu:Help[] menu.)"
msgstr ""
"После установки запустите его и выполните `C-h t`, чтобы прочитать "
"руководство по Emacs — это означает, что нужно удерживать kbd:[control], "
@@ -3286,9 +3296,9 @@ msgid ""
"as it is much quicker when you are editing something to press a couple of "
"keys than to try to find the mouse and then click on the right place. And, "
"when you are talking to seasoned Emacs users, you will find they often "
-"casually throw around expressions like \"`M-x replace-s RET foo RET bar "
-"RET`\" so it is useful to know what they mean. And in any case, Emacs has "
-"far too many useful functions for them to all fit on the menu bars."
+"casually throw around expressions like \"`M-x replace-s RET foo RET bar RET`"
+"\" so it is useful to know what they mean. And in any case, Emacs has far "
+"too many useful functions for them to all fit on the menu bars."
msgstr ""
"Хотя в Emacs и есть меню, стоит изучить сочетания клавиш, так как "
"редактировать что-либо с их помощью гораздо быстрее, чем искать мышку и "
@@ -3315,16 +3325,16 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1229
msgid ""
-"If you cannot remember what a particular combination of keys does, select "
-"[.guimenuitem]#Describe Key# from the menu:Help[] menu and type it in-Emacs "
+"If you cannot remember what a particular combination of keys does, select [."
+"guimenuitem]#Describe Key# from the menu:Help[] menu and type it in-Emacs "
"will tell you what it does. You can also use the [.guimenuitem]#Command "
"Apropos# menu item to find out all the commands which contain a particular "
"word in them, with the key binding next to it."
msgstr ""
"Если вы не можете вспомнить, что делает определённая комбинация клавиш, "
"выберите [.guimenuitem]#Описание Клавиши# в меню menu:Help[] и введите её — "
-"Emacs сообщит, что она делает. Вы также можете использовать пункт меню "
-"[.guimenuitem]#Command Apropos#, чтобы найти все команды, содержащие "
+"Emacs сообщит, что она делает. Вы также можете использовать пункт меню [."
+"guimenuitem]#Command Apropos#, чтобы найти все команды, содержащие "
"определённое слово, с указанием соответствующих клавишных сочетаний."
#. type: Plain text
@@ -3339,13 +3349,12 @@ msgid ""
"operation you have just requested."
msgstr ""
"Между прочим, выражение выше означает: удерживайте клавишу kbd:[Meta], "
-"нажмите kbd:[x], отпустите клавишу kbd:[Meta], введите `replace-s` "
-"(сокращение от `replace-string` — ещё одна особенность Emacs в том, что "
-"команды можно сокращать), нажмите клавишу kbd:[return], введите `foo` "
-"(строка, которую нужно заменить), нажмите клавишу kbd:[return], введите "
-"`bar` (строка, на которую нужно заменить `foo`) и снова нажмите kbd:"
-"[return]. Emacs выполнит операцию поиска и замены, которую вы только что "
-"запросили."
+"нажмите kbd:[x], отпустите клавишу kbd:[Meta], введите `replace-s` ("
+"сокращение от `replace-string` — ещё одна особенность Emacs в том, что "
+"команды можно сокращать), нажмите клавишу kbd:[return], введите `foo` ("
+"строка, которую нужно заменить), нажмите клавишу kbd:[return], введите `bar` "
+"(строка, на которую нужно заменить `foo`) и снова нажмите kbd:[return]. "
+"Emacs выполнит операцию поиска и замены, которую вы только что запросили."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1235
@@ -3356,8 +3365,8 @@ msgid ""
msgstr ""
"Если вам интересно, что такое kbd:[Meta], то это специальная клавиша, "
"которая есть на многих рабочих станциях UNIX(R). К сожалению, на PC её нет, "
-"поэтому обычно используется kbd:[alt] (или, если вам не повезло, kbd:"
-"[escape])."
+"поэтому обычно используется kbd:[alt] (или, если вам не повезло, "
+"kbd:[escape])."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1239
@@ -3411,8 +3420,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1249
msgid ""
-"The best way to learn Emacs Lisp is to read the online link:https://"
-"www.gnu.org/software/emacs/manual/elisp.html[Emacs Reference] manual."
+"The best way to learn Emacs Lisp is to read the online link:https://www.gnu."
+"org/software/emacs/manual/elisp.html[Emacs Reference] manual."
msgstr ""
"Лучший способ изучить Emacs Lisp — это прочитать онлайн-руководство "
"link:https://www.gnu.org/software/emacs/manual/elisp.html[Emacs Reference]."
@@ -3456,16 +3465,16 @@ msgstr "Всё, что начинается с `;`, является комме
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1261
msgid ""
-"In the first line, the `-*- Emacs-Lisp -*-` is so that we can edit "
-"[.filename]#.emacs# itself within Emacs and get all the fancy features for "
+"In the first line, the `-*- Emacs-Lisp -*-` is so that we can edit [."
+"filename]#.emacs# itself within Emacs and get all the fancy features for "
"editing Emacs Lisp. Emacs usually tries to guess this based on the filename, "
"and may not get it right for [.filename]#.emacs#."
msgstr ""
"В первой строке `-*- Emacs-Lisp -*-` нужен для того, чтобы мы могли "
"редактировать сам файл [.filename]#.emacs# в Emacs и использовать все "
"удобные функции для редактирования Emacs Lisp. Обычно Emacs пытается угадать "
-"это по имени файла, но может не сделать это правильно для "
-"[.filename]#.emacs#."
+"это по имени файла, но может не сделать это правильно для [.filename]#."
+"emacs#."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1262
@@ -4268,8 +4277,8 @@ msgid ""
"these files by doing"
msgstr ""
"Первое, что нужно сделать, — это выяснить, поставляются ли с whizbang какие-"
-"либо файлы, сообщающие Emacs о языке. Обычно они заканчиваются на "
-"[.filename]#.el#, что означает \"Emacs Lisp\". Например, если whizbang "
+"либо файлы, сообщающие Emacs о языке. Обычно они заканчиваются на [."
+"filename]#.el#, что означает \"Emacs Lisp\". Например, если whizbang "
"является портом FreeBSD, мы можем найти эти файлы, выполнив"
#. type: delimited block . 4
diff --git a/documentation/content/ru/books/developers-handbook/x86/_index.adoc b/documentation/content/ru/books/developers-handbook/x86/_index.adoc
index c44f67bb5c..c4a63de15f 100644
--- a/documentation/content/ru/books/developers-handbook/x86/_index.adoc
+++ b/documentation/content/ru/books/developers-handbook/x86/_index.adoc
@@ -1,11 +1,11 @@
---
-authors:
+authors: ~
description: 'Программирование на ассемблере x86'
next: books/developers-handbook/partv
params:
path: /books/developers-handbook/x86/
prev: books/developers-handbook/partiv
-showBookMenu: true
+showBookMenu: 'true'
tags: ["x86", "guide"]
title: 'Глава 11. Программирование на языке ассемблера для x86'
weight: 15
@@ -1674,7 +1674,7 @@ UNIX(R) позволяет нам отображать файл или его ч
Поскольку наша программа может объединять последовательности возврата каретки / перевода строки в простые переводы строк, наш вывод может быть меньше, чем ввод. Однако, так как мы помещаем вывод в тот же файл, из которого читаем ввод, нам может потребоваться изменить размер файла.
-Системный вызов `ftruncate` позволяет нам сделать именно это. Несмотря на название , несколько вводящее в звблуждение, системный вызов `ftruncate` может использоваться как для усечения файла (уменьшения его размера), так и для его увеличения.
+Системный вызов `ftruncate` позволяет нам сделать именно это. Несмотря на название , несколько вводящее в заблуждение, системный вызов `ftruncate` может использоваться как для усечения файла (уменьшения его размера), так и для его увеличения.
И да, мы найдем две версии `ftruncate` в [.filename]#syscalls.master#, старую (130) и новую (201). Мы будем использовать новую:
diff --git a/documentation/content/ru/books/developers-handbook/x86/_index.po b/documentation/content/ru/books/developers-handbook/x86/_index.po
index 325770cdce..da7f8885be 100644
--- a/documentation/content/ru/books/developers-handbook/x86/_index.po
+++ b/documentation/content/ru/books/developers-handbook/x86/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-12 22:16+0300\n"
-"PO-Revision-Date: 2025-09-26 04:45+0000\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
+"PO-Revision-Date: 2025-10-29 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/booksdevelopers-handbookx86_index/ru/>\n"
@@ -25,7 +25,7 @@ msgstr ""
msgid "x86 Assembly Language Programming"
msgstr "Программирование на ассемблере x86"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:1
#, no-wrap
msgid "Chapter 11. x86 Assembly Language Programming"
@@ -482,8 +482,8 @@ msgid ""
"other convention implemented in the Linux emulation mode, read [.filename]#/"
"usr/src/sys/i386/linux/syscalls.master#."
msgstr ""
-"Основной файл для стандартного соглашения о вызовах UNIX(R) можно найти в "
-"[.filename]#/usr/src/sys/kern/syscalls.master#. Если вам необходимо "
+"Основной файл для стандартного соглашения о вызовах UNIX(R) можно найти в [."
+"filename]#/usr/src/sys/kern/syscalls.master#. Если вам необходимо "
"использовать другое соглашение, реализованное в режиме эмуляции Linux, "
"обратитесь к [.filename]#/usr/src/sys/i386/linux/syscalls.master#."
@@ -499,8 +499,7 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:218
msgid "[.filename]#syscalls.master# describes how the call is to be made:"
-msgstr ""
-"[.filename]#syscalls.master# описывает, как должен быть выполнен вызов:"
+msgstr "[.filename]#syscalls.master# описывает, как должен быть выполнен вызов:"
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:229
@@ -599,7 +598,7 @@ msgstr ""
msgid "For example, man:open[2] says:"
msgstr "Например, man:open[2] говорит:"
-#. type: .blockquote
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:258
msgid ""
"If successful, `open()` returns a non-negative integer, termed a file "
@@ -610,7 +609,7 @@ msgstr ""
"файловым дескриптором. В случае ошибки возвращается `-1`, а переменной "
"`errno` присваивается код ошибки."
-#. type: .blockquote
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:260
msgid ""
"The assembly language programmer new to UNIX(R) and FreeBSD will immediately "
@@ -712,8 +711,8 @@ msgid ""
"When using the standard FreeBSD calling convention, the `carry flag` is "
"cleared upon success, set upon failure."
msgstr ""
-"При использовании стандартного соглашения о вызовах FreeBSD флаг `carry "
-"flag` сбрасывается при успехе и устанавливается при неудаче."
+"При использовании стандартного соглашения о вызовах FreeBSD флаг `carry flag`"
+" сбрасывается при успехе и устанавливается при неудаче."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:305
@@ -1325,9 +1324,8 @@ msgid ""
"Go ahead, enter it into your editor and save it as [.filename]#system.inc#. "
"We will add more to it as we discuss more syscalls."
msgstr ""
-"Продолжайте, введите это в ваш редактор и сохраните как "
-"[.filename]#system.inc#. Мы добавим больше по мере обсуждения дополнительных "
-"системных вызовов."
+"Продолжайте, введите это в ваш редактор и сохраните как [.filename]#system."
+"inc#. Мы добавим больше по мере обсуждения дополнительных системных вызовов."
#. type: Title ==
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:539
@@ -1394,8 +1392,8 @@ msgid ""
"Here is what it does: Line 1 includes the defines, the macros, and the code "
"from [.filename]#system.inc#."
msgstr ""
-"Вот что он делает: Строка 1 включает определения, макросы и код из файла "
-"[.filename]#system.inc#."
+"Вот что он делает: Строка 1 включает определения, макросы и код из файла [."
+"filename]#system.inc#."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:568
@@ -1406,9 +1404,8 @@ msgid ""
"bytes."
msgstr ""
"Строки 3-5 содержат данные: строка 3 начинает раздел/сегмент данных. Строка "
-"4 содержит строку \"Hello, World!\", за которой следует новая строка "
-"(`0Ah`). Строка 5 создает константу, содержащую длину строки из строки 4 в "
-"байтах."
+"4 содержит строку \"Hello, World!\", за которой следует новая строка (`0Ah`)"
+". Строка 5 создает константу, содержащую длину строки из строки 4 в байтах."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:572
@@ -1456,8 +1453,8 @@ msgstr ""
"Если вы перешли на UNIX(R) с опытом программирования на ассемблере для MS-"
"DOS(R), вы, возможно, привыкли писать напрямую в видеопамять. В FreeBSD или "
"любой другой разновидности UNIX(R) вам не придётся об этом беспокоиться. С "
-"вашей точки зрения, вы записываете данные в файл под названием "
-"[.filename]#stdout#. Это может быть экран, терминал telnet, обычный файл или "
+"вашей точки зрения, вы записываете данные в файл под названием [."
+"filename]#stdout#. Это может быть экран, терминал telnet, обычный файл или "
"даже входные данные другой программы. Определять, что именно это будет, — "
"задача системы."
@@ -1473,8 +1470,8 @@ msgid ""
"Type the code in an editor, and save it in a file named "
"[.filename]#hello.asm#. You need nasm to assemble it."
msgstr ""
-"Наберите код в редакторе и сохраните его в файле с именем "
-"[.filename]#hello.asm#. Для сборки вам понадобится nasm."
+"Наберите код в редакторе и сохраните его в файле с именем [.filename]#hello."
+"asm#. Для сборки вам понадобится nasm."
#. type: Title ====
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:594
@@ -1530,9 +1527,9 @@ msgid ""
"sourceforge.net/projects/nasm[home page]. You can still use it to assemble "
"FreeBSD code."
msgstr ""
-"Если ваша система не FreeBSD, вам нужно получить nasm с его https://"
-"sourceforge.net/projects/nasm[домашней страницы]. Вы по-прежнему можете "
-"использовать его для ассемблирования кода FreeBSD."
+"Если ваша система не FreeBSD, вам нужно получить nasm с его "
+"https://sourceforge.net/projects/nasm[домашней страницы]. Вы по-прежнему "
+"можете использовать его для ассемблирования кода FreeBSD."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:619
@@ -1580,8 +1577,8 @@ msgid ""
"convert each byte of its input into a hexadecimal number followed by a blank "
"space."
msgstr ""
-"В этой главе мы разработаем простой фильтр и научимся читать из "
-"[.filename]#stdin# и писать в [.filename]#stdout#. Этот фильтр будет "
+"В этой главе мы разработаем простой фильтр и научимся читать из [."
+"filename]#stdin# и писать в [.filename]#stdout#. Этот фильтр будет "
"преобразовывать каждый байт входных данных в шестнадцатеричное число, за "
"которым следует пробел."
@@ -2023,8 +2020,8 @@ msgid ""
"[.filename]#stdout#."
msgstr ""
"Мы также создаем выходной буфер. Мы сохраняем наш вывод в нем, пока он не "
-"заполнится. В этот момент мы просим ядро записать содержимое буфера в "
-"[.filename]#stdout#."
+"заполнится. В этот момент мы просим ядро записать содержимое буфера в [."
+"filename]#stdout#."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:820
@@ -2036,8 +2033,8 @@ msgid ""
"some of your output is missing."
msgstr ""
"Программа завершается, когда больше нет входных данных. Но нам всё ещё нужно "
-"попросить ядро записать содержимое нашего выходного буфера в "
-"[.filename]#stdout# в последний раз, иначе часть нашего вывода попадёт в "
+"попросить ядро записать содержимое нашего выходного буфера в [."
+"filename]#stdout# в последний раз, иначе часть нашего вывода попадёт в "
"буфер, но так и не будет отправлена. Не забудьте об этом, иначе будете "
"недоумевать, куда пропала часть вывода."
@@ -2486,8 +2483,8 @@ msgid ""
"processing. If it is followed by white space, or some other value, then it "
"is not part of the current token."
msgstr ""
-"Например, вы можете анализировать входной поток на наличие текстовой строки "
-"(например, при реализации компилятора языка): если символ следует за другим "
+"Например, вы можете анализировать входной поток на наличие текстовой строки ("
+"например, при реализации компилятора языка): если символ следует за другим "
"символом или, возможно, цифрой, он является частью обрабатываемой лексемы. "
"Если за ним следует пробел или другое значение, то он не является частью "
"текущей лексемы."
@@ -2711,9 +2708,9 @@ msgid ""
"(the first call will still be within the buffer, the remaining 16 may be "
"either within the buffer or within the \"spare\")."
msgstr ""
-"С этим изменением вы можете безопасно вызывать `ungetc` до 17 раз подряд "
-"(первый вызов всё ещё будет в пределах буфера, остальные 16 могут быть либо "
-"в пределах буфера, либо в пределах \"запасного\" пространства)."
+"С этим изменением вы можете безопасно вызывать `ungetc` до 17 раз подряд ("
+"первый вызов всё ещё будет в пределах буфера, остальные 16 могут быть либо в "
+"пределах буфера, либо в пределах \"запасного\" пространства)."
#. type: Title ==
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:1165
@@ -2800,9 +2797,9 @@ msgid ""
"[.filename]#hex.asm#. First, however, we need to add a few lines to "
"[.filename]#system.inc#:"
msgstr ""
-"Вооружившись этими знаниями, мы почти готовы к следующей версии "
-"[.filename]#hex.asm#. Однако сначала нам нужно добавить несколько строк в "
-"[.filename]#system.inc#:"
+"Вооружившись этими знаниями, мы почти готовы к следующей версии [."
+"filename]#hex.asm#. Однако сначала нам нужно добавить несколько строк в [."
+"filename]#system.inc#:"
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:1194
@@ -3130,8 +3127,8 @@ msgid ""
"In our `.data` section we now have two new variables, `fd.in` and `fd.out`. "
"We store the input and output file descriptors here."
msgstr ""
-"В нашем разделе `.data` теперь есть две новые переменные, `fd.in` и "
-"`fd.out`. Здесь мы сохраняем дескрипторы файлов для ввода и вывода."
+"В нашем разделе `.data` теперь есть две новые переменные, `fd.in` и `fd.out`"
+". Здесь мы сохраняем дескрипторы файлов для ввода и вывода."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:1366
@@ -3139,8 +3136,8 @@ msgid ""
"In the `.text` section we have replaced the references to `stdin` and "
"`stdout` with `[fd.in]` and `[fd.out]`."
msgstr ""
-"В разделе `.text` мы заменили ссылки с `stdin` и `stdout` на `[fd.in]` и "
-"`[fd.out]`."
+"В разделе `.text` мы заменили ссылки с `stdin` и `stdout` на `[fd.in]` и `[fd"
+".out]`."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:1369
@@ -3180,8 +3177,8 @@ msgstr ""
"указателей, так как мы можем обрабатывать NULL-указатели с помощью `jecxz`. "
"Если `argv[1]` не равен NULL, мы пытаемся открыть файл с именем, указанным в "
"первом аргументе. В противном случае продолжаем программу как раньше: чтение "
-"из `stdin`, запись в `stdout`. Если нам не удаётся открыть входной файл "
-"(например, он не существует), мы переходим к обработчику ошибок и завершаем "
+"из `stdin`, запись в `stdout`. Если нам не удаётся открыть входной файл ("
+"например, он не существует), мы переходим к обработчику ошибок и завершаем "
"работу."
#. type: Plain text
@@ -3463,7 +3460,8 @@ msgid ""
";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
"%include\t'system.inc'\n"
msgstr ""
-";;;;;;; webvars.asm ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
+";;;;;;; webvars.asm "
+";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
";\n"
"; Copyright (c) 2000 G. Adam Stanislav\n"
"; All rights reserved.\n"
@@ -3479,23 +3477,28 @@ msgstr ""
";\n"
"; THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND\n"
"; ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n"
-"; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n"
+"; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR "
+"PURPOSE\n"
"; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n"
-"; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n"
+"; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR "
+"CONSEQUENTIAL\n"
"; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n"
"; OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n"
-"; HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n"
+"; HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, "
+"STRICT\n"
"; LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n"
"; OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n"
"; SUCH DAMAGE.\n"
-";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
+";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"
+";;\n"
";\n"
"; Version 1.0\n"
";\n"
"; Started:\t 8-Dec-2000\n"
"; Updated:\t 8-Dec-2000\n"
";\n"
-";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
+";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"
+";;\n"
"%include\t'system.inc'\n"
#. type: delimited block . 4
@@ -3556,7 +3559,8 @@ msgstr ""
"\tdb\t'<h1>Web Environment</h1>', 0Ah\n"
"\tdb\t'<p>The following <b>environment variables</b> are defined '\n"
"\tdb\t'on this web server:</p>', 0Ah, 0Ah\n"
-"\tdb\t'<table align=\"center\" width=\"80\" border=\"0\" cellpadding=\"10\" '\n"
+"\tdb\t'<table align=\"center\" width=\"80\" border=\"0\" cellpadding=\"10\" '"
+"\n"
"\tdb\t'cellspacing=\"0\" class=\"webvars\">', 0Ah\n"
"httplen\tequ\t$-http\n"
"left\tdb\t'<tr>', 0Ah\n"
@@ -3963,12 +3967,12 @@ msgid ""
"UNIX(R). It saves the output in a different file. Optionally, it converts "
"a UNIX(R) text file to a DOS text file."
msgstr ""
-"Одной из первых программ, которые я написал для UNIX(R), была link:ftp://"
-"ftp.int80h.org/unix/tuc/[tuc] — конвертер текста в файл UNIX(R). Она "
-"преобразует текстовый файл из других операционных систем в текстовый файл "
-"UNIX(R). Другими словами, она изменяет различные виды окончаний строк на "
-"стандартные для UNIX(R). Результат сохраняется в другом файле. По желанию, "
-"она может преобразовать текстовый файл UNIX(R) в текстовый файл DOS."
+"Одной из первых программ, которые я написал для UNIX(R), была link:ftp://ftp."
+"int80h.org/unix/tuc/[tuc] — конвертер текста в файл UNIX(R). Она преобразует "
+"текстовый файл из других операционных систем в текстовый файл UNIX(R). "
+"Другими словами, она изменяет различные виды окончаний строк на стандартные "
+"для UNIX(R). Результат сохраняется в другом файле. По желанию, она может "
+"преобразовать текстовый файл UNIX(R) в текстовый файл DOS."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:1671
@@ -4083,8 +4087,8 @@ msgid ""
"It should also handle files that use some kind of a combination of the above "
"(e.g., carriage return followed by several line feeds)."
msgstr ""
-"Это также должно обрабатывать файлы, использующие комбинации вышеуказанного "
-"(например, возврат каретки с последующими несколькими переводами строки)."
+"Это также должно обрабатывать файлы, использующие комбинации вышеуказанного ("
+"например, возврат каретки с последующими несколькими переводами строки)."
#. type: Title ===
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:1706
@@ -4607,9 +4611,9 @@ msgid ""
"www.int80h.org/cgi-bin/isbn?isbn=0130810819[Unix Network Programming, Volume "
"2, Chapter 12]."
msgstr ""
-"Для подробного изучения `mmap` см. http://www.int80h.org/cgi-bin/isbn?"
-"isbn=0130810819[Unix Network Programming, Volume 2, Chapter 12] У. Ричарда "
-"Стивенса."
+"Для подробного изучения `mmap` см. http://www.int80h.org/cgi-bin/"
+"isbn?isbn=0130810819[Unix Network Programming, Volume 2, Chapter 12] У. "
+"Ричарда Стивенса."
#. type: Title ===
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:1872
@@ -4673,8 +4677,8 @@ msgid ""
"indicating an error. After I changed the code to allocate the structure on "
"the stack, everything was working fine."
msgstr ""
-"Однако должен сказать, что я пытался объявить структуру `stat` в секции "
-"`.bss`, и `fstat` это не понравилось: был установлен флаг переноса, "
+"Однако должен сказать, что я пытался объявить структуру `stat` в секции `."
+"bss`, и `fstat` это не понравилось: был установлен флаг переноса, "
"указывающий на ошибку. После того как я изменил код, чтобы разместить "
"структуру в стеке, всё заработало как надо."
@@ -4705,7 +4709,7 @@ msgid ""
"the file (make it smaller) and to grow it."
msgstr ""
"Системный вызов `ftruncate` позволяет нам сделать именно это. Несмотря на "
-"название , несколько вводящее в звблуждение, системный вызов `ftruncate` "
+"название , несколько вводящее в заблуждение, системный вызов `ftruncate` "
"может использоваться как для усечения файла (уменьшения его размера), так и "
"для его увеличения."
@@ -4927,7 +4931,8 @@ msgid ""
";;;;;;; v.1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
"%include\t'system.inc'\n"
msgstr ""
-";;;;;;; Fast Text-to-Unix Conversion (ftuc.asm) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
+";;;;;;; Fast Text-to-Unix Conversion (ftuc.asm) "
+";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
";;\n"
";; Started:\t21-Dec-2000\n"
";; Updated:\t22-Dec-2000\n"
@@ -4935,7 +4940,8 @@ msgstr ""
";; Copyright 2000 G. Adam Stanislav.\n"
";; All rights reserved.\n"
";;\n"
-";;;;;;; v.1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
+";;;;;;; v.1 "
+";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
"%include\t'system.inc'\n"
#. type: delimited block . 4
@@ -5852,7 +5858,8 @@ msgid ""
";\n"
";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
msgstr ""
-";;;;;;; csv.asm ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
+";;;;;;; csv.asm "
+";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
";\n"
"; Convert a comma-separated file to a something-else separated file.\n"
";\n"
@@ -5862,7 +5869,8 @@ msgstr ""
"; Copyright (c) 2001 G. Adam Stanislav\n"
"; All rights reserved.\n"
";\n"
-";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
+";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"
+";;\n"
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2349
@@ -5881,7 +5889,8 @@ msgstr ""
"section\t.data\n"
"fd.in\tdd\tstdin\n"
"fd.out\tdd\tstdout\n"
-"usg\tdb\t'Usage: csv [-t<delim>] [-c<comma>] [-p] [-o <outfile>] [-i <infile>]', 0Ah\n"
+"usg\tdb\t'Usage: csv [-t<delim>] [-c<comma>] [-p] [-o <outfile>] [-i "
+"<infile>]', 0Ah\n"
"usglen\tequ\t$-usg\n"
"iemsg\tdb\t\"csv: Can't open input file\", 0Ah\n"
"iemlen\tequ\t$-iemsg\n"
@@ -6552,20 +6561,19 @@ msgstr ""
msgid "Here is what might happen:"
msgstr "Вот что может произойти:"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2640
msgid "The image editor will load our filter using the C function `popen()`."
msgstr ""
"Редактор изображений загрузит наш фильтр, используя функцию `popen()` на "
"языке C."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2641
msgid "It will read the first row of pixels from a bitmap or pixmap."
-msgstr ""
-"Он прочитает первый ряд пикселей из битовой карты или пиксельной карты."
+msgstr "Он прочитает первый ряд пикселей из битовой карты или пиксельной карты."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2642
msgid ""
"It will write the first row of pixels to the _pipe_ leading to the `fd.in` "
@@ -6574,7 +6582,7 @@ msgstr ""
"Он запишет первую строку пикселей в _канал_, ведущий к `fd.in` нашего "
"фильтра."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2643
msgid ""
"Our filter will read each pixel from its input, turn it to a negative, and "
@@ -6583,22 +6591,22 @@ msgstr ""
"Наш фильтр будет читать каждый пиксель из входных данных, преобразовывать "
"его в негатив и записывать в выходной буфер."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2644
msgid "Our filter will call `getchar` to fetch the next pixel."
msgstr "Наш фильтр будет вызывать `getchar` для получения следующего пикселя."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2645
msgid "`getchar` will find an empty input buffer, so it will call `read`."
msgstr "`getchar` обнаружит пустой входной буфер, поэтому вызовет `read`."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2646
msgid "`read` will call the `SYS_read` system call."
msgstr "`read` вызовет системный вызов `SYS_read`."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2647
msgid ""
"The _kernel_ will suspend our filter until the image editor sends more data "
@@ -6607,18 +6615,18 @@ msgstr ""
"_Ядро_ приостановит работу нашего фильтра до тех пор, пока редактор "
"изображений не отправит больше данных в канал."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2648
msgid ""
"The image editor will read from the other pipe, connected to the `fd.out` of "
"our filter so it can set the first row of the output image _before_ it sends "
"us the second row of the input."
msgstr ""
-"Редактор изображений будет читать из другого канала, подключенного к "
-"`fd.out` нашего фильтра, чтобы он мог установить первую строку выходного "
-"изображения _до_ того, как отправит нам вторую строку входного."
+"Редактор изображений будет читать из другого канала, подключенного к `fd.out`"
+" нашего фильтра, чтобы он мог установить первую строку выходного изображения "
+"_до_ того, как отправит нам вторую строку входного."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2649
msgid ""
"The _kernel_ suspends the image editor until it receives some output from "
@@ -6627,7 +6635,7 @@ msgstr ""
"_Ядро_ приостанавливает работу графического редактора до тех пор, пока не "
"получит какие-либо данные от нашего фильтра, чтобы передать их редактору."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2653
msgid ""
"At this point our filter waits for the image editor to send it more data to "
@@ -6640,7 +6648,7 @@ msgstr ""
"что наш фильтр отправит ему результат обработки первой строки. Однако "
"результат находится в нашем выходном буфере."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2656
msgid ""
"The filter and the image editor will continue waiting for each other forever "
@@ -6652,7 +6660,7 @@ msgstr ""
"обеспечение только что вошло в crossref:secure[secure-race-"
"conditions,состояние гонки]."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2658
msgid ""
"This problem does not exist if our filter flushes its output buffer _before_ "
@@ -6667,7 +6675,7 @@ msgstr ""
msgid "Using the FPU"
msgstr "Использование FPU"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2663
msgid ""
"Strangely enough, most of assembly language literature does not even mention "
@@ -6678,7 +6686,7 @@ msgstr ""
"существовании FPU, или _блока обработки чисел с плавающей запятой_, не "
"говоря уже о программировании для него."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2665
msgid ""
"Yet, never does assembly language shine more than when we create highly "
@@ -6695,7 +6703,7 @@ msgstr ""
msgid "Organization of the FPU"
msgstr "Организация FPU"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2671
msgid ""
"The FPU consists of 8 80-bit floating-point registers. These are organized "
@@ -6706,7 +6714,7 @@ msgstr ""
"виде стека — вы можете `push` (поместить) значение на TOS (_вершина стека_) "
"и `pop` (извлечь) его."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2673
msgid ""
"That said, the assembly language op codes are not `push` and `pop` because "
@@ -6715,19 +6723,19 @@ msgstr ""
"Как бы то ни было, мнемоники ассемблера — не `push` и `pop`, потому что они "
"уже заняты."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2676
msgid ""
"You can `push` a value on TOS by using `fld`, `fild`, and `fbld`. Several "
"other op codes let you `push` many common _constants_-such as _pi_-on the "
"TOS."
msgstr ""
-"Вы можете `push` (положить) значение на вершину стека (TOS), используя "
-"`fld`, `fild` и `fbld`. Несколько других кодов операций позволяют вам `push` "
+"Вы можете `push` (положить) значение на вершину стека (TOS), используя `fld`"
+", `fild` и `fbld`. Несколько других кодов операций позволяют вам `push` "
"(положить) многие распространённые _константы_ — например, _pi_ — на вершину "
"стека (TOS)."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2679
msgid ""
"Similarly, you can `pop` a value by using `fst`, `fstp`, `fist`, `fistp`, "
@@ -6740,7 +6748,7 @@ msgstr ""
"_p_, буквально `извлекают` значение, остальные же `сохраняют` его в другом "
"месте, не удаляя с вершины стека (TOS)."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2681
msgid ""
"We can transfer the data between the TOS and the computer memory either as a "
@@ -6752,7 +6760,7 @@ msgstr ""
"или 64-битное _целое_ число, либо как 80-битное _упакованное десятичное_ "
"число."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2684
msgid ""
"The 80-bit _packed decimal_ is a special case of _binary coded decimal_ "
@@ -6765,7 +6773,7 @@ msgstr ""
"ASCII-представлением данных и внутренними данными FPU. Он позволяет "
"использовать до 18 значащих цифр."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2686
msgid ""
"No matter how we represent data in the memory, the FPU always stores it in "
@@ -6774,7 +6782,7 @@ msgstr ""
"Независимо от того, как мы представляем данные в памяти, FPU всегда хранит "
"их в 80-битном формате _real_ в своих регистрах."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2688
msgid ""
"Its internal precision is at least 19 decimal digits, so even if we choose "
@@ -6785,7 +6793,7 @@ msgstr ""
"если мы решим отображать результаты в формате ASCII с полной 18-значной "
"точностью, мы всё равно будем показывать корректные результаты."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2690
msgid ""
"We can perform mathematical operations on the TOS: We can calculate its "
@@ -6796,7 +6804,7 @@ msgstr ""
"_масштабировать_ (то есть умножать или делить на степень двойки), вычислять "
"его _логарифм_ по основанию 2 и многое другое."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2692
msgid ""
"We can also _multiply_ or _divide_ it by, _add_ it to, or _subtract_ it "
@@ -6805,16 +6813,17 @@ msgstr ""
"Мы также можем _умножить_ или _разделить_ его, _прибавить_ к нему или "
"_вычесть_ его из любого из регистров FPU (включая его самого)."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2695
msgid ""
"The official Intel op code for the TOS is `st`, and for the _registers_ "
"`st(0)`-`st(7)`. `st` and `st(0)`, then, refer to the same register."
msgstr ""
-"Официальный код операции Intel для TOS — `st`, а для _регистров_ — `st(0)`-"
-"`st(7)`. Таким образом, `st` и `st(0)` ссылаются на один и тот же регистр."
+"Официальный код операции Intel для TOS — `st`, а для _регистров_ — "
+"`st(0)`-`st(7)`. Таким образом, `st` и `st(0)` ссылаются на один и тот же "
+"регистр."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2698
msgid ""
"For whatever reasons, the original author of nasm has decided to use "
@@ -6831,7 +6840,7 @@ msgstr ""
msgid "The Packed Decimal Format"
msgstr "Формат упакованного десятичного числа"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2704
msgid ""
"The _packed decimal_ format uses 10 bytes (80 bits) of memory to represent "
@@ -6927,13 +6936,12 @@ msgid ""
"for this type of data."
msgstr ""
"Книга, которую стоит прочитать — если сможете её найти — это книга Ричарда "
-"Старца http://www.amazon.com/exec/obidos/ASIN/013246604X/"
-"whizkidtechnomag[8087/80287/80387 для IBM PC и совместимых]. Хотя в ней, "
-"кажется, факт о little-endian хранении _упакованного десятичного числа_ "
-"принимается как данность. Я не шучу насчёт отчаяния, которое испытывал, "
-"пытаясь понять, что не так с фильтром, который я привожу ниже, _прежде_ чем "
-"мне пришло в голову попробовать little-endian порядок даже для этого типа "
-"данных."
+"Старца http://www.amazon.com/exec/obidos/ASIN/013246604X/whizkidtechnomag["
+"8087/80287/80387 для IBM PC и совместимых]. Хотя в ней, кажется, факт о "
+"little-endian хранении _упакованного десятичного числа_ принимается как "
+"данность. Я не шучу насчёт отчаяния, которое испытывал, пытаясь понять, что "
+"не так с фильтром, который я привожу ниже, _прежде_ чем мне пришло в голову "
+"попробовать little-endian порядок даже для этого типа данных."
#. type: Title ===
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2743
@@ -6986,8 +6994,8 @@ msgid ""
"may be several). These light rays form an image, a representation of "
"whatever is outside the camera, in front of the hole."
msgstr ""
-"Корпус обычно прочный (например, коробка), хотя иногда он гибкий "
-"(гофрированная часть). Внутри камеры довольно темно. Однако отверстие "
+"Корпус обычно прочный (например, коробка), хотя иногда он гибкий ("
+"гофрированная часть). Внутри камеры довольно темно. Однако отверстие "
"пропускает световые лучи через одну точку (хотя в некоторых случаях их может "
"быть несколько). Эти световые лучи формируют изображение — представление "
"того, что находится снаружи камеры, перед отверстием."
@@ -6998,8 +7006,8 @@ msgid ""
"If some light sensitive material (such as film) is placed inside the camera, "
"it can capture the image."
msgstr ""
-"Если внутрь камеры поместить светочувствительный материал (например, "
-"плёнку), он может зафиксировать изображение."
+"Если внутрь камеры поместить светочувствительный материал (например, плёнку)"
+", он может зафиксировать изображение."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2762
@@ -7071,8 +7079,8 @@ msgid ""
"types of light will require a different constant, whose value can only be "
"determined by experimentation."
msgstr ""
-"Здесь `D` — идеальный диаметр отверстия, `FL` — фокусное расстояние, а `PC` "
-"— константа отверстия. По данным Джейя Бендера, её значение равно `0,04`, "
+"Здесь `D` — идеальный диаметр отверстия, `FL` — фокусное расстояние, а `PC` —"
+" константа отверстия. По данным Джейя Бендера, её значение равно `0,04`, "
"тогда как Кеннет Коннорс определил его как `0,037`. Другие исследователи "
"предложили иные значения. Кроме того, это значение справедливо только для "
"дневного света: другие типы освещения потребуют иной константы, значение "
@@ -7093,8 +7101,8 @@ msgid ""
msgstr ""
"Число f — это очень полезный показатель того, сколько света попадает на "
"плёнку. Экспонометр может определить, что, например, для экспонирования "
-"плёнки определённой чувствительности при f5.6 может потребоваться выдержка "
-"1/1000 сек."
+"плёнки определённой чувствительности при f5.6 может потребоваться выдержка 1/"
+"1000 сек."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2796
@@ -7217,8 +7225,8 @@ msgid ""
msgstr ""
"Типичная камера устроена так, что установка любого из нормализованных чисел "
"f изменяет ощущение от регулятора. Он естественным образом _останавливается_ "
-"в этом положении. Из-за этого такие положения регулятора называются f-"
-"ступенями."
+"в этом положении. Из-за этого такие положения регулятора называются "
+"f-ступенями."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2838
@@ -7281,8 +7289,8 @@ msgstr ""
"Большинство написанных нами до сих пор программ работали с отдельными "
"символами или байтами в качестве входных данных: программа hex "
"преобразовывала отдельные байты в шестнадцатеричное число, программа csv "
-"либо пропускала символ, либо удаляла его, либо заменяла на другой символ и "
-"т.д."
+"либо пропускала символ, либо удаляла его, либо заменяла на другой символ и т."
+"д."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2853
@@ -7605,7 +7613,7 @@ msgstr ""
"Учитывая эту систему, программа может обнаружить конфликтующие параметры и "
"обработать их следующим образом:"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2955
msgid ""
"If it finds an _ad hoc_ choice (e.g., command line parameter), it should "
@@ -7615,7 +7623,7 @@ msgstr ""
"она должна принять этот выбор. Она должна игнорировать любой постоянный "
"выбор и значения по умолчанию."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2956
msgid ""
"_Otherwise_, if it finds a permanent option (e.g., an environment variable), "
@@ -7625,18 +7633,18 @@ msgstr ""
"переменная окружения), он должен быть принят, а значение по умолчанию — "
"проигнорировано."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2957
msgid "_Otherwise_, it should use the default."
msgstr "_В противном случае_, следует использовать значение по умолчанию."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2959
msgid "We also need to decide what _format_ our `PC` option should have."
msgstr ""
"Нам также необходимо решить, в каком _формате_ должна быть наша опция `PC`."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2961
msgid ""
"At first site, it seems obvious to use the `PINHOLE=0.04` format for the "
@@ -7645,7 +7653,7 @@ msgstr ""
"На первый взгляд кажется очевидным использовать формат `PINHOLE=0.04` для "
"переменной окружения и `-p0.04` для командной строки."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2965
msgid ""
"Allowing that is actually a security risk. The `PC` constant is a very small "
@@ -7658,7 +7666,7 @@ msgstr ""
"программное обеспечение, используя различные небольшие значения `PC`. Но что "
"произойдёт, если кто-то запустит программу, выбрав огромное значение?"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2967
msgid ""
"It may crash the program because we have not designed it to handle huge "
@@ -7667,7 +7675,7 @@ msgstr ""
"Это может привести к сбою программы, так как мы не разрабатывали её для "
"обработки огромных чисел."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2970
msgid ""
"Or, we may spend more time on the program so it can handle huge numbers. We "
@@ -7679,14 +7687,14 @@ msgstr ""
"коммерческое программное обеспечение для аудитории, не знакомой с "
"компьютерами."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2972
msgid "Or, we might say, _\"Tough! The user should know better.\"\"_"
msgstr ""
"Или можно сказать: _\"Пусть терпит! Пользователь сам должен был разобраться."
"\"_"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2975
msgid ""
"Or, we just may make it impossible for the user to enter a huge number. "
@@ -7696,19 +7704,19 @@ msgstr ""
"числа. Это подход, который мы выберем: мы будем использовать "
"_подразумеваемый префикс 0._."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2978
msgid ""
"In other words, if the user wants `0.04`, we will expect him to type `-p04`, "
"or set `PINHOLE=04` in his environment. So, if he says `-p9999999`, we will "
"interpret it as ``0.9999999``-still ridiculous but at least safer."
msgstr ""
-"Другими словами, если пользователь хочет `0.04`, мы ожидаем, что он введёт `-"
-"p04` или установит `PINHOLE=04` в своём окружении. Таким образом, если он "
+"Другими словами, если пользователь хочет `0.04`, мы ожидаем, что он введёт "
+"`-p04` или установит `PINHOLE=04` в своём окружении. Таким образом, если он "
"укажет `-p9999999`, мы интерпретируем это как ``0.9999999`` — всё ещё "
"нелепо, но по крайней мере безопаснее."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2981
msgid ""
"Secondly, many users will just want to go with either Bender's constant or "
@@ -7725,7 +7733,7 @@ msgstr ""
msgid "The Output"
msgstr "Вывод результата"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2986
msgid ""
"We need to decide what we want our software to send to the output, and in "
@@ -7734,7 +7742,7 @@ msgstr ""
"Нам нужно решить, что наше программное обеспечение должно отправлять на "
"вывод и в каком формате."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2988
msgid ""
"Since our input allows for an unspecified number of focal length entries, it "
@@ -7747,7 +7755,7 @@ msgstr ""
"базы данных, показывая результат вычислений для каждого фокусного расстояния "
"на отдельной строке, разделяя все значения в строке символом табуляции."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2991
msgid ""
"Optionally, we should also allow the user to specify the use of the CSV "
@@ -7760,7 +7768,7 @@ msgstr ""
"разделёнными запятыми названиями, описывающими каждое поле каждой строки, а "
"затем отобразим результаты как прежде, но заменив `табуляцию` на `запятую`."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2996
msgid ""
"We need a command line option for the CSV format. We cannot use `-c` "
@@ -7769,14 +7777,14 @@ msgid ""
"the CSV format predates Excel). We will, therefore, use the `-e` switch to "
"inform our software we want the output in the CSV format."
msgstr ""
-"Нам нужна опция командной строки для формата CSV. Мы не можем использовать `-"
-"c`, потому что это уже означает _использовать константу Коннорса_. По какой-"
-"то странной причине многие веб-сайты называют CSV-файлы _\"электронными "
-"таблицами Excel\"_ (хотя формат CSV появился раньше Excel). Поэтому мы будем "
-"использовать переключатель `-e`, чтобы указать нашему программному "
+"Нам нужна опция командной строки для формата CSV. Мы не можем использовать "
+"`-c`, потому что это уже означает _использовать константу Коннорса_. По "
+"какой-то странной причине многие веб-сайты называют CSV-файлы _\"электронными"
+" таблицами Excel\"_ (хотя формат CSV появился раньше Excel). Поэтому мы "
+"будем использовать переключатель `-e`, чтобы указать нашему программному "
"обеспечению, что мы хотим получить вывод в формате CSV."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3000
msgid ""
"We will start each line of the output with the focal length. This may sound "
@@ -7787,7 +7795,7 @@ msgstr ""
"избыточным сначала, особенно в интерактивном режиме: пользователь вводит "
"фокусное расстояние, а мы его повторяем."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3004
msgid ""
"But the user can type several focal lengths on one line. The input can also "
@@ -7798,7 +7806,7 @@ msgstr ""
"Ввод также может поступать из файла или вывода другой программы. В этом "
"случае пользователь вообще не видит вводимые данные."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3006
msgid ""
"By the same token, the output can go to a file which we will want to examine "
@@ -7808,7 +7816,7 @@ msgstr ""
"изучить позже, или на принтер, или стать входными данными для другой "
"программы."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3008
msgid ""
"So, it makes perfect sense to start each line with the focal length as "
@@ -7817,7 +7825,7 @@ msgstr ""
"Итак, имеет полный смысл начинать каждую строку с фокусного расстояния, "
"введённого пользователем."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3011
msgid ""
"No, wait! Not as entered by the user. What if the user types in something "
@@ -7922,7 +7930,9 @@ msgstr "Мы ударим его по лицу, образно говоря:"
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3049
#, no-wrap
msgid "17459765723452353453534535353530530534563507309676764423\t???\t???\t???\t???\t???\n"
-msgstr "17459765723452353453534535353530530534563507309676764423\t???\t???\t???\t???\t???\n"
+msgstr ""
+"17459765723452353453534535353530530534563507309676764423\t???\t???\t???\t???"
+"\t???\n"
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3053
@@ -7935,12 +7945,12 @@ msgstr ""
"ненулевую цифру, мы инициализируем счетчик значением `0` и начнем выполнять "
"три шага:"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3056
msgid "Send the digit to the output."
msgstr "Отправить цифру на выход."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3057
msgid ""
"Append the digit to a buffer we will use later to produce the packed decimal "
@@ -7949,12 +7959,12 @@ msgstr ""
"Добавить цифру в буфер, который мы позже используем для создания "
"упакованного десятичного числа, которое можно отправить в FPU."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3058
msgid "Increase the counter."
msgstr "Увеличить счетчик."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3060
msgid ""
"Now, while we are taking these three steps, we also need to watch out for "
@@ -7963,7 +7973,7 @@ msgstr ""
"Теперь, пока мы выполняем эти три шага, нам также необходимо следить за "
"одним из двух условий:"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3062
msgid ""
"If the counter grows above 18, we stop appending to the buffer. We continue "
@@ -7972,7 +7982,7 @@ msgstr ""
"Если счётчик превышает 18, мы прекращаем добавление в буфер. Мы продолжаем "
"читать цифры и отправлять их на вывод."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3063
msgid ""
"If, or rather _when_, the next input character is not a digit, we are done "
@@ -7981,29 +7991,29 @@ msgstr ""
"Если, или скорее _когда_, следующий вводимый символ не является цифрой, мы "
"завершаем ввод на данный момент."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3066
msgid ""
"Incidentally, we can simply discard the non-digit, unless it is a `+#+`, "
"which we must return to the input stream. It starts a comment, so we must "
"see it after we are done producing output and start looking for more input."
msgstr ""
-"Между прочим, мы можем просто отбросить нецифровой символ, если это не "
-"`+#+`, который необходимо вернуть во входной поток. Он начинает комментарий, "
+"Между прочим, мы можем просто отбросить нецифровой символ, если это не `+#+`"
+", который необходимо вернуть во входной поток. Он начинает комментарий, "
"поэтому мы должны увидеть его после завершения вывода и начала поиска "
"следующего ввода."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3068
msgid ""
"That still leaves one possibility uncovered: If all the user enters is a "
"zero (or several zeros), we will never find a non-zero to display."
msgstr ""
-"Остается одна непокрытая возможность: если пользователь вводит только ноль "
-"(или несколько нулей), мы никогда не найдем ненулевое значение для "
+"Остается одна непокрытая возможность: если пользователь вводит только ноль ("
+"или несколько нулей), мы никогда не найдем ненулевое значение для "
"отображения."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3071
msgid ""
"We can determine this has happened whenever our counter stays at `0`. In "
@@ -8026,8 +8036,8 @@ msgid ""
"Once we have displayed the focal length and determined it is valid (greater "
"than `0` but not exceeding 18 digits), we can calculate the pinhole diameter."
msgstr ""
-"Как только мы определили фокусное расстояние и убедились, что оно корректно "
-"(больше `0`, но не превышает 18 цифр), можно рассчитать диаметр отверстия."
+"Как только мы определили фокусное расстояние и убедились, что оно корректно ("
+"больше `0`, но не превышает 18 цифр), можно рассчитать диаметр отверстия."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3081
@@ -8151,12 +8161,12 @@ msgstr ""
"Вот мой (я думаю, он неуклюжий — если у вас есть вариант лучше, "
"_пожалуйста_, дайте мне знать):"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3120
msgid "Initialize a counter to `0`."
msgstr "Инициализировать счетчик значением `0`."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3121
msgid ""
"While the number is greater than or equal to `10000`, divide it by `10` and "
@@ -8164,12 +8174,12 @@ msgid ""
msgstr ""
"Пока число больше или равно `10000`, делим его на `10` и увеличиваем счётчик."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3122
msgid "Output the result."
msgstr "Вывести результат."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3123
msgid ""
"While the counter is greater than `0`, output `0` and decrease the counter."
@@ -8527,8 +8537,8 @@ msgid ""
"only one or two digits anyway."
msgstr ""
"Этот расчет также довольно прост. Все, что нам нужно сделать, это вычислить "
-"логарифм по основанию 2 от множителя f5.6, который мы только что рассчитали "
-"(хотя нам нужно его значение до округления). Затем мы выводим результат, "
+"логарифм по основанию 2 от множителя f5.6, который мы только что рассчитали ("
+"хотя нам нужно его значение до округления). Затем мы выводим результат, "
"округленный до ближайшего целого числа. Нам не нужно беспокоиться о наличии "
"более четырех значащих цифр в этом случае: скорее всего, результат будет "
"содержать только одну или две цифры."
@@ -8681,8 +8691,8 @@ msgid ""
msgstr ""
"Гораздо быстрее умножать, чем делить. Поэтому в начале нашей программы мы "
"делим `1` на `10`, чтобы получить `0.1`, который затем сохраняем в стеке: "
-"вместо того чтобы делить ввод на `10` для каждой цифры, мы умножаем его на "
-"`0.1`."
+"вместо того чтобы делить ввод на `10` для каждой цифры, мы умножаем его на `0"
+".1`."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3284
@@ -8798,7 +8808,8 @@ msgid ""
";\n"
";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
msgstr ""
-";;;;;;; pinhole.asm ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
+";;;;;;; pinhole.asm "
+";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
";\n"
"; Find various parameters of a pinhole camera construction and use\n"
";\n"
@@ -8808,7 +8819,8 @@ msgstr ""
"; Copyright (c) 2001 G. Adam Stanislav\n"
"; All rights reserved.\n"
";\n"
-";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
+";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"
+";;\n"
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3368
@@ -8855,7 +8867,8 @@ msgstr ""
"envar\tdb\t'PINHOLE='\t; Exactly 8 bytes, or 2 dwords long\n"
"pinhole\tdb\t'04,', \t\t; Bender's constant (0.04)\n"
"connors\tdb\t'037', 0Ah\t; Connors' constant\n"
-"usg\tdb\t'Usage: pinhole [-b] [-c] [-e] [-p <value>] [-o <outfile>] [-i <infile>]', 0Ah\n"
+"usg\tdb\t'Usage: pinhole [-b] [-c] [-e] [-p <value>] [-o <outfile>] [-i "
+"<infile>]', 0Ah\n"
"usglen\tequ\t$-usg\n"
"iemsg\tdb\t\"pinhole: Can't open input file\", 0Ah\n"
"iemlen\tequ\t$-iemsg\n"
@@ -8863,7 +8876,8 @@ msgstr ""
"oemlen\tequ\t$-oemsg\n"
"pinmsg\tdb\t\"pinhole: The PINHOLE constant must not be 0\", 0Ah\n"
"pinlen\tequ\t$-pinmsg\n"
-"toobig\tdb\t\"pinhole: The PINHOLE constant may not exceed 18 decimal places\", 0Ah\n"
+"toobig\tdb\t\"pinhole: The PINHOLE constant may not exceed 18 decimal "
+"places\", 0Ah\n"
"biglen\tequ\t$-toobig\n"
"huhmsg\tdb\t9, '???'\n"
"separ\tdb\t9, '???'\n"
@@ -10345,8 +10359,7 @@ msgstr ""
#. type: delimited block _ 4
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:4029
msgid "When we have no more input, it can mean one of two things:"
-msgstr ""
-"Когда у нас больше нет входных данных, это может означать одно из двух:"
+msgstr "Когда у нас больше нет входных данных, это может означать одно из двух:"
#. type: delimited block _ 4
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:4031
@@ -10879,7 +10892,8 @@ msgid ""
msgstr ""
"% ./medium -b -e > bender\n"
"% cat bender\n"
-"focal length in millimeters,pinhole diameter in microns,F-number,normalized F-number,F-5.6 multiplier,stops from F-5.6\n"
+"focal length in millimeters,pinhole diameter in microns,F-number,normalized "
+"F-number,F-5.6 multiplier,stops from F-5.6\n"
"80,358,224,256,1562,11\n"
"30,219,137,128,586,9\n"
"40,253,158,181,781,10\n"
diff --git a/documentation/content/ru/books/faq/_index.adoc b/documentation/content/ru/books/faq/_index.adoc
index d197618947..373f829f39 100644
--- a/documentation/content/ru/books/faq/_index.adoc
+++ b/documentation/content/ru/books/faq/_index.adoc
@@ -171,9 +171,9 @@ FreeBSD предоставляет свои собственные преиму
[[where-get]]
=== Где взять FreeBSD?
-FreeBSD доступна для бесплатной загрузки по ссылке: link:https://www.FreeBSD.org/where/[официальный сайт FreeBSD].
+FreeBSD доступна для бесплатной загрузки по ссылке: link:https://www.FreeBSD.org/ru/where/[официальный сайт FreeBSD].
-Кроме того, FreeBSD также может быть доступен через различные зеркальные сайты, что обеспечивает доступность для пользователей по всему миру. Основным и наиболее надежным источником для получения последних выпусков и обновлений FreeBSD является link:https://www.FreeBSD.org/where/[официальный сайт], что делает его идеальной отправной точкой для начала работы с FreeBSD.
+Кроме того, FreeBSD также может быть доступен через различные зеркальные сайты, что обеспечивает доступность для пользователей по всему миру. Основным и наиболее надежным источником для получения последних выпусков и обновлений FreeBSD является link:https://www.FreeBSD.org/ru/where/[официальный сайт], что делает его идеальной отправной точкой для начала работы с FreeBSD.
[[install-instructions-location]]
=== Где находятся инструкции по установке FreeBSD?
@@ -430,7 +430,7 @@ FreeBSD активно перемещает полностью неисполь
[[use-beastie]]
=== Могу ли я использовать изображение BSD-демона?
-Возможно. Демон BSD защищен авторским правом Маршалла Кирка Маккузика. Ознакомьтесь с его http://www.mckusick.com/beastie/mainpage/copyright.html[Заявлением об использовании изображения демона BSD] для получения подробных условий использования.
+Возможно. Демон BSD защищен авторским правом Маршалла Кирка МакКузика. Ознакомьтесь с его http://www.mckusick.com/beastie/mainpage/copyright.html[Заявлением об использовании изображения демона BSD] для получения подробных условий использования.
В заключение, изображение можно использовать в хорошем вкусе, для личного пользования, при условии указания соответствующей авторской принадлежности. Перед коммерческим использованием логотипа свяжитесь с {mckusick} для получения разрешения. Подробнее можно узнать на http://www.mckusick.com/beastie/index.html[домашней странице BSD Daemon].
diff --git a/documentation/content/ru/books/faq/_index.po b/documentation/content/ru/books/faq/_index.po
index 421abd6349..d0c1756a85 100644
--- a/documentation/content/ru/books/faq/_index.po
+++ b/documentation/content/ru/books/faq/_index.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
"POT-Creation-Date: 2025-06-29 21:20+0100\n"
-"PO-Revision-Date: 2025-07-05 04:45+0000\n"
+"PO-Revision-Date: 2025-10-30 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/booksfaq_index/ru/>\n"
@@ -604,7 +604,7 @@ msgid ""
"org/where/[official FreeBSD website]."
msgstr ""
"FreeBSD доступна для бесплатной загрузки по ссылке: link:https://www.FreeBSD."
-"org/where/[официальный сайт FreeBSD]."
+"org/ru/where/[официальный сайт FreeBSD]."
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:205
@@ -618,8 +618,9 @@ msgstr ""
"Кроме того, FreeBSD также может быть доступен через различные зеркальные "
"сайты, что обеспечивает доступность для пользователей по всему миру. "
"Основным и наиболее надежным источником для получения последних выпусков и "
-"обновлений FreeBSD является link:https://www.FreeBSD.org/where/[официальный "
-"сайт], что делает его идеальной отправной точкой для начала работы с FreeBSD."
+"обновлений FreeBSD является link:https://www.FreeBSD.org/ru/where/["
+"официальный сайт], что делает его идеальной отправной точкой для начала "
+"работы с FreeBSD."
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:207
@@ -1639,10 +1640,10 @@ msgid ""
"his http://www.mckusick.com/beastie/mainpage/copyright.html[Statement on the "
"Use of the BSD Daemon Figure] for detailed usage terms."
msgstr ""
-"Возможно. Демон BSD защищен авторским правом Маршалла Кирка Маккузика. "
-"Ознакомьтесь с его http://www.mckusick.com/beastie/mainpage/copyright."
-"html[Заявлением об использовании изображения демона BSD] для получения "
-"подробных условий использования."
+"Возможно. Демон BSD защищен авторским правом Маршалла Кирка МакКузика. "
+"Ознакомьтесь с его http://www.mckusick.com/beastie/mainpage/copyright.html["
+"Заявлением об использовании изображения демона BSD] для получения подробных "
+"условий использования."
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:524
diff --git a/documentation/content/ru/books/handbook/_index.adoc b/documentation/content/ru/books/handbook/_index.adoc
index 9c818377bb..575f9acda4 100644
--- a/documentation/content/ru/books/handbook/_index.adoc
+++ b/documentation/content/ru/books/handbook/_index.adoc
@@ -1,5 +1,5 @@
---
-add_single_page_link: true
+add_single_page_link: 'true'
authors:
-
author: 'The FreeBSD Documentation Project'
@@ -9,7 +9,7 @@ description: 'Постоянно развивающийся и всеобъем
next: books/handbook/preface
params:
path: /books/handbook/
-showBookMenu: true
+showBookMenu: 'true'
tags: ["FreeBSD Handbook", "Handbook"]
title: 'Руководство FreeBSD'
trademarks: ["freebsd", "ibm", "ieee", "redhat", "3com", "adobe", "apple", "intel", "linux", "microsoft", "opengroup", "sun", "realnetworks", "oracle", "3ware", "arm", "adaptec", "google", "heidelberger", "intuit", "lsilogic", "themathworks", "thomson", "vmware", "wolframresearch", "xiph", "xfree86", "general"]
diff --git a/documentation/content/ru/books/handbook/_index.po b/documentation/content/ru/books/handbook/_index.po
index 7b7ee75796..4fee94a66c 100644
--- a/documentation/content/ru/books/handbook/_index.po
+++ b/documentation/content/ru/books/handbook/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-05-26 08:57+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,11 +18,12 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/_index.adoc:1
#, no-wrap
msgid "A constantly evolving, comprehensive resource for FreeBSD users"
-msgstr "Постоянно развивающийся и всеобъемлющий ресурс для пользователей FreeBSD"
+msgstr ""
+"Постоянно развивающийся и всеобъемлющий ресурс для пользователей FreeBSD"
#. type: Title =
#: documentation/content/en/books/handbook/_index.adoc:1
diff --git a/documentation/content/ru/books/handbook/advanced-networking/_index.adoc b/documentation/content/ru/books/handbook/advanced-networking/_index.adoc
index 1ccb828049..0877501d52 100644
--- a/documentation/content/ru/books/handbook/advanced-networking/_index.adoc
+++ b/documentation/content/ru/books/handbook/advanced-networking/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/advanced-networking/
part: 'IV. Сетевое взаимодействие'
prev: books/handbook/firewalls
-showBookMenu: true
+showBookMenu: 'true'
tags: ["Advanced Networking", "Handbook", "gateway", "routes", "wireless", "tethering", "bluetooth", "bridging", "CARP", "VLAN"]
title: 'Глава 34. Сложные вопросы работы в сети'
weight: 39
diff --git a/documentation/content/ru/books/handbook/advanced-networking/_index.po b/documentation/content/ru/books/handbook/advanced-networking/_index.po
index b8239d1b2c..28ec258efb 100644
--- a/documentation/content/ru/books/handbook/advanced-networking/_index.po
+++ b/documentation/content/ru/books/handbook/advanced-networking/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-09-23 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,19 +18,21 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:1
#, no-wrap
msgid "Advanced networking in FreeBSD: basics of gateways and routes, CARP, how to configure multiple VLANs on FreeBSD, etc"
-msgstr "Сложные вопросы работы в сети в FreeBSD: основы шлюзов и маршрутов, CARP, настройка нескольких VLAN в FreeBSD и так далее"
+msgstr ""
+"Сложные вопросы работы в сети в FreeBSD: основы шлюзов и маршрутов, CARP, "
+"настройка нескольких VLAN в FreeBSD и так далее"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:1
#, no-wrap
msgid "IV. Network Communication"
msgstr "IV. Сетевое взаимодействие"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:1
#, no-wrap
msgid "Chapter 34. Advanced Networking"
@@ -132,8 +134,8 @@ msgid ""
"Know how to configure and install a new FreeBSD kernel "
"(crossref:kernelconfig[kernelconfig,Configuring the FreeBSD Kernel])."
msgstr ""
-"Знать, как настроить и установить новое ядро FreeBSD "
-"(crossref:kernelconfig[kernelconfig,Настройка ядра FreeBSD])."
+"Знать, как настроить и установить новое ядро FreeBSD (crossref:kernelconfig["
+"kernelconfig,Настройка ядра FreeBSD])."
#. type: Plain text
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:75
@@ -351,8 +353,8 @@ msgid ""
msgstr ""
"FreeBSD автоматически добавит маршруты для локальной подсети. В этом примере "
"`10.20.30.255` — это широковещательный адрес для подсети `10.20.30`, а "
-"`example.com` — доменное имя, связанное с этой подсетью. Обозначение "
-"`link#1` относится к первой Ethernet-карте в машине."
+"`example.com` — доменное имя, связанное с этой подсетью. Обозначение `link#1`"
+" относится к первой Ethernet-карте в машине."
#. type: Plain text
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:145
@@ -473,7 +475,9 @@ msgstr "G"
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:176
#, no-wrap
msgid "Send anything for this destination on to this gateway, which will figure out from there where to send it."
-msgstr "Отправляйте всё для этого назначения на этот шлюз, который разберётся, куда это нужно отправить."
+msgstr ""
+"Отправляйте всё для этого назначения на этот шлюз, который разберётся, куда "
+"это нужно отправить."
#. type: Table
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:177
@@ -497,7 +501,9 @@ msgstr "C"
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:182
#, no-wrap
msgid "Clones a new route based upon this route for machines to connect to. This type of route is normally used for local networks."
-msgstr "Клонирует новый маршрут на основе данного для подключения машин. Такой тип маршрута обычно используется для локальных сетей."
+msgstr ""
+"Клонирует новый маршрут на основе данного для подключения машин. Такой тип "
+"маршрута обычно используется для локальных сетей."
#. type: Table
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:183
@@ -509,7 +515,8 @@ msgstr "W"
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:185
#, no-wrap
msgid "The route was auto-configured based upon a local area network (clone) route."
-msgstr "Маршрут был автоматически настроен на основе локальной сети (клон) маршрута."
+msgstr ""
+"Маршрут был автоматически настроен на основе локальной сети (клон) маршрута."
#. type: Table
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:186
@@ -602,7 +609,8 @@ msgstr ""
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:219
#, no-wrap
msgid "gateway_enable=\"YES\" # Set to YES if this host will be a gateway\n"
-msgstr "gateway_enable=\"YES\" # Set to YES if this host will be a gateway\n"
+msgstr ""
+"gateway_enable=\"YES\" # Set to YES if this host will be a gateway\n"
#. type: Plain text
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:223
@@ -611,9 +619,9 @@ msgid ""
"`net.inet.ip.forwarding` to `1`. To stop routing, reset this variable to "
"`0`."
msgstr ""
-"Чтобы теперь включить маршрутизацию, установите переменную man:sysctl[8] "
-"`net.inet.ip.forwarding` в значение `1`. Для отключения маршрутизации "
-"сбросьте эту переменную в `0`."
+"Чтобы теперь включить маршрутизацию, установите переменную man:sysctl[8] `net"
+".inet.ip.forwarding` в значение `1`. Для отключения маршрутизации сбросьте "
+"эту переменную в `0`."
#. type: Plain text
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:227
@@ -677,8 +685,8 @@ msgid ""
"Before adding any static routes, the routing table on `RouterA` looks like "
"this:"
msgstr ""
-"Прежде чем добавлять статические маршруты, таблица маршрутизации на "
-"`RouterA` выглядит следующим образом:"
+"Прежде чем добавлять статические маршруты, таблица маршрутизации на `RouterA`"
+" выглядит следующим образом:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:249
@@ -715,10 +723,10 @@ msgid ""
"`192.168.2.0/24` network. The following command adds the `Internal Net 2` "
"network to ``RouterA``'s routing table using `192.168.1.2` as the next hop:"
msgstr ""
-"С текущей таблицей маршрутизации `RouterA` не имеет маршрута к сети "
-"`192.168.2.0/24`. Следующая команда добавляет сеть `Internal Net 2` в "
-"таблицу маршрутизации ``RouterA``, используя `192.168.1.2` в качестве "
-"следующего прыжка:"
+"С текущей таблицей маршрутизации `RouterA` не имеет маршрута к сети `192.168."
+"2.0/24`. Следующая команда добавляет сеть `Internal Net 2` в таблицу "
+"маршрутизации ``RouterA``, используя `192.168.1.2` в качестве следующего "
+"прыжка:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:264
@@ -735,8 +743,8 @@ msgid ""
msgstr ""
"Теперь `RouterA` может достигать любого узла в сети `192.168.2.0/24`. Однако "
"информация о маршрутизации не сохранится после перезагрузки системы FreeBSD. "
-"Если требуется, чтобы статический маршрут был постоянным, добавьте его в "
-"[.filename]#/etc/rc.conf#:"
+"Если требуется, чтобы статический маршрут был постоянным, добавьте его в [."
+"filename]#/etc/rc.conf#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:275
@@ -949,7 +957,9 @@ msgstr ""
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:345
#, no-wrap
msgid "# sysrc ifconfig_fxp0_alias0=\"inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx\"\n"
-msgstr "# sysrc ifconfig_fxp0_alias0=\"inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx\"\n"
+msgstr ""
+"# sysrc ifconfig_fxp0_alias0=\"inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx\""
+"\n"
#. type: Plain text
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:349
@@ -988,8 +998,8 @@ msgid ""
"`255.255.255.255`."
msgstr ""
"Например, рассмотрим случай, когда интерфейс `fxp0` подключён к двум сетям: "
-"`10.1.1.0` с маской сети `255.255.255.0` и `202.0.75.16` с маской сети "
-"`255.255.255.240`. Система должна быть настроена так, чтобы находиться в "
+"`10.1.1.0` с маской сети `255.255.255.0` и `202.0.75.16` с маской сети `255."
+"255.255.240`. Система должна быть настроена так, чтобы находиться в "
"диапазонах `10.1.1.1`–`10.1.1.5` и `202.0.75.17`–`202.0.75.20`. Только "
"первый адрес в каждом диапазоне должен иметь реальную маску сети. Все "
"остальные (`10.1.1.2`–`10.1.1.5` и `202.0.75.18`–`202.0.75.20`) должны быть "
@@ -1001,8 +1011,8 @@ msgid ""
"The following [.filename]#/etc/rc.conf# entries configure the adapter "
"correctly for this scenario:"
msgstr ""
-"Для данного сценария правильно настраивают адаптер следующие записи в "
-"[.filename]#/etc/rc.conf# :"
+"Для данного сценария правильно настраивают адаптер следующие записи в [."
+"filename]#/etc/rc.conf# :"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:372
@@ -1043,7 +1053,8 @@ msgstr ""
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:380
#, no-wrap
msgid "# sysrc ifconfig_fxp0_aliases=\"inet 10.1.1.1-5/24 inet 202.0.75.17-20/28\"\n"
-msgstr "# sysrc ifconfig_fxp0_aliases=\"inet 10.1.1.1-5/24 inet 202.0.75.17-20/28\"\n"
+msgstr ""
+"# sysrc ifconfig_fxp0_aliases=\"inet 10.1.1.1-5/24 inet 202.0.75.17-20/28\"\n"
#. type: Title ==
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:383
@@ -1133,8 +1144,8 @@ msgid ""
"As previously, the configuration is done via [.filename]#/etc/"
"wpa_supplicant.conf#:"
msgstr ""
-"Как и ранее, настройка выполняется через [.filename]#/etc/"
-"wpa_supplicant.conf#:"
+"Как и ранее, настройка выполняется через [.filename]#/etc/wpa_supplicant."
+"conf#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:420
@@ -1228,8 +1239,7 @@ msgstr ""
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:431
msgid ""
"The `private_key_passwd` field contains the passphrase for the private key."
-msgstr ""
-"Поле `private_key_passwd` содержит парольную фразу для закрытого ключа."
+msgstr "Поле `private_key_passwd` содержит парольную фразу для закрытого ключа."
#. type: Plain text
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:433
@@ -1328,8 +1338,8 @@ msgid ""
"The required configuration can be added to [.filename]#/etc/"
"wpa_supplicant.conf#:"
msgstr ""
-"Требуемая конфигурация может быть добавлена в [.filename]#/etc/"
-"wpa_supplicant.conf#:"
+"Требуемая конфигурация может быть добавлена в [.filename]#/etc/wpa_supplicant"
+".conf#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:486
@@ -1388,8 +1398,8 @@ msgid ""
"authentication\" phase is often called \"phase2\"."
msgstr ""
"Это поле определяет метод аутентификации, используемый в зашифрованном TLS-"
-"туннеле. В данном примере используется EAP с MD5-Challenge. Фаза "
-"\"внутренней аутентификации\" часто называется \"phase2\"."
+"туннеле. В данном примере используется EAP с MD5-Challenge. Фаза \"внутренней"
+" аутентификации\" часто называется \"phase2\"."
#. type: Plain text
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:495
@@ -1595,7 +1605,8 @@ msgstr ""
"# ifconfig wlan0 create wlandev ath0 wlanmode adhoc\n"
"# ifconfig wlan0 inet 192.168.0.1 netmask 255.255.255.0 ssid freebsdap\n"
"# ifconfig wlan0\n"
-" wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500\n"
+" wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu "
+"1500\n"
"\t ether 00:11:95:c3:0d:ac\n"
"\t inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255\n"
"\t media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <adhoc>\n"
@@ -1655,7 +1666,8 @@ msgid ""
msgstr ""
"# ifconfig wlan0 inet 192.168.0.2 netmask 255.255.255.0 ssid freebsdap\n"
"# ifconfig wlan0\n"
-" wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500\n"
+" wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu "
+"1500\n"
"\t ether 00:11:95:d5:43:62\n"
"\t inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255\n"
"\t media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <adhoc>\n"
@@ -1739,7 +1751,8 @@ msgid ""
msgstr ""
"# ifconfig wlan0 create wlandev ath0\n"
"# ifconfig wlan0 list caps\n"
-"drivercaps=6f85edc1<STA,FF,TURBOP,IBSS,HOSTAP,AHDEMO,TXPMGT,SHSLOT,SHPREAMBLE,MONITOR,MBSS,WPA1,WPA2,BURST,WME,WDS,BGSCAN,TXFRAG>\n"
+"drivercaps=6f85edc1<STA,FF,TURBOP,IBSS,HOSTAP,AHDEMO,TXPMGT,SHSLOT,SHPREAMBLE"
+",MONITOR,MBSS,WPA1,WPA2,BURST,WME,WDS,BGSCAN,TXFRAG>\n"
"cryptocaps=1f<WEP,TKIP,AES,AES_CCM,TKIPMIC>\n"
#. type: Plain text
@@ -1789,7 +1802,8 @@ msgid ""
"# ifconfig wlan0 inet 192.168.0.1 netmask 255.255.255.0 ssid freebsdap mode 11g channel 1\n"
msgstr ""
"# ifconfig wlan0 create wlandev ath0 wlanmode hostap\n"
-"# ifconfig wlan0 inet 192.168.0.1 netmask 255.255.255.0 ssid freebsdap mode 11g channel 1\n"
+"# ifconfig wlan0 inet 192.168.0.1 netmask 255.255.255.0 ssid freebsdap mode "
+"11g channel 1\n"
#. type: Plain text
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:699
@@ -1797,8 +1811,8 @@ msgid ""
"Use man:ifconfig[8] again to see the status of the [.filename]#wlan0# "
"interface:"
msgstr ""
-"Используйте man:ifconfig[8] снова, чтобы посмотреть состояние интерфейса "
-"[.filename]#wlan0#:"
+"Используйте man:ifconfig[8] снова, чтобы посмотреть состояние интерфейса [."
+"filename]#wlan0#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:711
@@ -1815,7 +1829,8 @@ msgid ""
"\t protmode CTS wme burst dtimperiod 1 -dfs\n"
msgstr ""
"# ifconfig wlan0\n"
-" wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500\n"
+" wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu "
+"1500\n"
"\t ether 00:11:95:c3:0d:ac\n"
"\t inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255\n"
"\t media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap>\n"
@@ -1852,7 +1867,8 @@ msgid ""
msgstr ""
"wlans_ath0=\"wlan0\"\n"
"create_args_wlan0=\"wlanmode hostap\"\n"
-"ifconfig_wlan0=\"inet 192.168.0.1 netmask 255.255.255.0 ssid freebsdap mode 11g channel 1\"\n"
+"ifconfig_wlan0=\"inet 192.168.0.1 netmask 255.255.255.0 ssid freebsdap mode "
+"11g channel 1\"\n"
#. type: Title ====
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:724
@@ -1918,7 +1934,8 @@ msgid ""
msgstr ""
"# ifconfig wlan0 inet 192.168.0.2 netmask 255.255.255.0 ssid freebsdap\n"
"# ifconfig wlan0\n"
-" wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500\n"
+" wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu "
+"1500\n"
"\t ether 00:11:95:d5:43:62\n"
"\t inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255\n"
"\t media: IEEE 802.11 Wireless Ethernet OFDM/54Mbps mode 11g\n"
@@ -2132,7 +2149,8 @@ msgid ""
"\tgroups: wlan\n"
msgstr ""
"# ifconfig wlan0\n"
-"wlan0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500\n"
+"wlan0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 "
+"mtu 1500\n"
"\tether 04:f0:21:16:8e:10\n"
"\tinet6 fe80::6f0:21ff:fe16:8e10%wlan0 prefixlen 64 scopeid 0x9\n"
"\tnd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>\n"
@@ -2174,8 +2192,8 @@ msgstr ""
"Многие мобильные телефоны предоставляют возможность совместного "
"использования своего интернет-подключения через USB (часто называемую "
"\"тетеринг, раздача Интернета или режим модема\"). Эта функция использует "
-"один из протоколов: RNDIS, CDC или проприетарный протокол Apple(R) iPhone(R)/"
-"iPad(R)."
+"один из протоколов: RNDIS, CDC или проприетарный протокол Apple(R) "
+"iPhone(R)/iPad(R)."
#. type: Plain text
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:840
@@ -2195,8 +2213,7 @@ msgstr "Старые устройства часто используют дра
#. type: Plain text
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:844
msgid "Before attaching a device, load the appropriate driver into the kernel:"
-msgstr ""
-"Перед подключением устройства загрузите соответствующий драйвер в ядро:"
+msgstr "Перед подключением устройства загрузите соответствующий драйвер в ядро:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:850
@@ -2218,8 +2235,8 @@ msgid ""
"on the device."
msgstr ""
"После подключения устройства ``ue``_0_ будет доступен для использования как "
-"обычное сетевое устройство. Убедитесь, что на устройстве включена опция "
-"\"USB-тетеринг\"."
+"обычное сетевое устройство. Убедитесь, что на устройстве включена опция \"USB"
+"-тетеринг\"."
#. type: Plain text
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:856
@@ -2542,8 +2559,8 @@ msgid ""
"`create_connection` accepts `BT_ADDR` as well as host aliases in "
"[.filename]#/etc/bluetooth/hosts#."
msgstr ""
-"`create_connection` принимает `BT_ADDR`, а также псевдонимы хостов в файле "
-"[.filename]#/etc/bluetooth/hosts#."
+"`create_connection` принимает `BT_ADDR`, а также псевдонимы хостов в файле [."
+"filename]#/etc/bluetooth/hosts#."
#. type: Plain text
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:984
@@ -2640,9 +2657,8 @@ msgid ""
"PIN code set to `1234` is shown below:"
msgstr ""
"Демон man:hcsecd[8] отвечает за обработку запросов аутентификации Bluetooth. "
-"Конфигурационный файл по умолчанию — [.filename]#/etc/bluetooth/"
-"hcsecd.conf#. Пример раздела для мобильного телефона с PIN-кодом `1234` "
-"приведён ниже:"
+"Конфигурационный файл по умолчанию — [.filename]#/etc/bluetooth/hcsecd.conf#"
+". Пример раздела для мобильного телефона с PIN-кодом `1234` приведён ниже:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:1029
@@ -2716,12 +2732,18 @@ msgid ""
"hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', PIN code exists\n"
"hcsecd[16484]: Sending PIN_Code_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4\n"
msgstr ""
-"hcsecd[16484]: Got Link_Key_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4\n"
-"hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', link key doesn't exist\n"
-"hcsecd[16484]: Sending Link_Key_Negative_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4\n"
-"hcsecd[16484]: Got PIN_Code_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4\n"
-"hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', PIN code exists\n"
-"hcsecd[16484]: Sending PIN_Code_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4\n"
+"hcsecd[16484]: Got Link_Key_Request event from 'ubt0hci', remote bdaddr "
+"0:80:37:29:19:a4\n"
+"hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name "
+"'Pav's T39', link key doesn't exist\n"
+"hcsecd[16484]: Sending Link_Key_Negative_Reply to 'ubt0hci' for remote "
+"bdaddr 0:80:37:29:19:a4\n"
+"hcsecd[16484]: Got PIN_Code_Request event from 'ubt0hci', remote bdaddr "
+"0:80:37:29:19:a4\n"
+"hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name "
+"'Pav's T39', PIN code exists\n"
+"hcsecd[16484]: Sending PIN_Code_Reply to 'ubt0hci' for remote bdaddr "
+"0:80:37:29:19:a4\n"
#. type: Title ===
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:1059
@@ -2809,8 +2831,8 @@ msgid ""
"daemon. The example below shows how to start the RFCOMMPPP server."
msgstr ""
"Для предоставления сетевого доступа через службу PPPLAN необходимо, чтобы "
-"работал man:sdpd[8], и была создана новая запись для клиентов LAN в файле "
-"[.filename]#/etc/ppp/ppp.conf#. Примеры можно найти в man:rfcomm_pppd[8]. "
+"работал man:sdpd[8], и была создана новая запись для клиентов LAN в файле [."
+"filename]#/etc/ppp/ppp.conf#. Примеры можно найти в man:rfcomm_pppd[8]. "
"Наконец, запустите сервер RFCOMMPPP на допустимом номере канала RFCOMM. "
"Сервер RFCOMMPPP автоматически зарегистрирует службу Bluetooth LAN в "
"локальном демоне SDP. В приведенном ниже примере показано, как запустить "
@@ -2980,7 +3002,8 @@ msgid ""
msgstr ""
"% btsockstat\n"
"Active L2CAP sockets\n"
-"PCB Recv-Q Send-Q Local address/PSM Foreign address CID State\n"
+"PCB Recv-Q Send-Q Local address/PSM Foreign address CID "
+"State\n"
"c2afe900 0 0 00:02:72:00:d4:1a/3 00:07:e0:00:0b:ca 66 OPEN\n"
"Active RFCOMM sessions\n"
"L2PCB PCB Flag MTU Out-Q DLCs State\n"
@@ -3206,8 +3229,8 @@ msgid ""
"rc.conf#:"
msgstr ""
"Предоставление услуг на FreeBSD клиентам Bluetooth осуществляется с помощью "
-"сервера man:sdpd[8]. Следующую строку можно добавить в [.filename]#/etc/"
-"rc.conf#:"
+"сервера man:sdpd[8]. Следующую строку можно добавить в [.filename]#/etc/rc."
+"conf#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:1235
@@ -3722,8 +3745,8 @@ msgid ""
"[.filename]#fxp1#. Add the following lines to [.filename]#/etc/rc.conf# so "
"the bridge is created at startup:"
msgstr ""
-"Мост теперь может передавать Ethernet-кадры между [.filename]#fxp0# и "
-"[.filename]#fxp1#. Добавьте следующие строки в [.filename]#/etc/rc.conf#, "
+"Мост теперь может передавать Ethernet-кадры между [.filename]#fxp0# и [."
+"filename]#fxp1#. Добавьте следующие строки в [.filename]#/etc/rc.conf#, "
"чтобы мост создавался при загрузке:"
#. type: delimited block . 4
@@ -3859,7 +3882,8 @@ msgid ""
" role designated state forwarding\n"
msgstr ""
"# ifconfig bridge0 stp fxp0 stp fxp1\n"
-"bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500\n"
+"bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu "
+"1500\n"
" ether d6:cf:d5:a0:94:6d\n"
" id 00:01:02:4b:d4:50 priority 32768 hellotime 2 fwddelay 15\n"
" maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200\n"
@@ -3903,7 +3927,8 @@ msgid ""
" port 5 priority 128 path cost 200000 proto rstp\n"
" role designated state forwarding\n"
msgstr ""
-"bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500\n"
+"bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu "
+"1500\n"
" ether 96:3d:4b:f1:79:7a\n"
" id 00:13:d4:9a:06:7a priority 32768 hellotime 2 fwddelay 15\n"
" maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200\n"
@@ -3988,8 +4013,8 @@ msgstr ""
"зеркалирования, он не может использоваться в качестве обычного порта моста. "
"Это наиболее полезно для пассивного мониторинга сети, подключенной к мосту, "
"на другом хосте, подключенном к одному из портов зеркалирования моста. "
-"Например, чтобы отправить копию всех фреймов через интерфейс с именем "
-"[.filename]#fxp4#:"
+"Например, чтобы отправить копию всех фреймов через интерфейс с именем [."
+"filename]#fxp4#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:1522
@@ -4032,8 +4057,8 @@ msgid ""
msgstr ""
"Пример использования фиксированных адресов — это объединение моста с VLAN "
"для изоляции сетей клиентов без потерь IP-адресного пространства. "
-"Предположим, что `CustomerA` находится в `vlan100`, `CustomerB` — в "
-"`vlan101`, а мост имеет адрес `192.168.0.1`:"
+"Предположим, что `CustomerA` находится в `vlan100`, `CustomerB` — в `vlan101`"
+", а мост имеет адрес `192.168.0.1`:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:1537
@@ -4161,8 +4186,8 @@ msgid ""
"To enable monitoring on the bridge, uncomment this line in [.filename]#/etc/"
"snmpd.config# by removing the beginning `+#+` symbol:"
msgstr ""
-"Чтобы включить мониторинг на мосту, раскомментируйте эту строку в "
-"[.filename]#/etc/snmpd.config#, удалив символ `+#+` в начале:"
+"Чтобы включить мониторинг на мосту, раскомментируйте эту строку в [."
+"filename]#/etc/snmpd.config#, удалив символ `+#+` в начале:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:1582
@@ -4212,8 +4237,8 @@ msgstr ""
"Следующие примеры используют программное обеспечение Net-SNMP (package:net-"
"mgmt/net-snmp[]) для запроса моста с клиентской системы. Также можно "
"использовать порт package:net-mgmt/bsnmptools[]. На SNMP-клиенте, где "
-"запущен Net-SNMP, добавьте следующие строки в [.filename]#$HOME/.snmp/"
-"snmp.conf#, чтобы импортировать определения MIB для моста:"
+"запущен Net-SNMP, добавьте следующие строки в [.filename]#$HOME/.snmp/snmp."
+"conf#, чтобы импортировать определения MIB для моста:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:1608
@@ -4255,16 +4280,19 @@ msgstr ""
"% snmpwalk -v 2c -c public bridge1.example.com mib-2.dot1dBridge\n"
"BRIDGE-MIB::dot1dBaseBridgeAddress.0 = STRING: 66:fb:9b:6e:5c:44\n"
"BRIDGE-MIB::dot1dBaseNumPorts.0 = INTEGER: 1 ports\n"
-"BRIDGE-MIB::dot1dStpTimeSinceTopologyChange.0 = Timeticks: (189959) 0:31:39.59 centi-seconds\n"
+"BRIDGE-MIB::dot1dStpTimeSinceTopologyChange.0 = Timeticks: (189959) 0:31:"
+"39.59 centi-seconds\n"
"BRIDGE-MIB::dot1dStpTopChanges.0 = Counter32: 2\n"
"BRIDGE-MIB::dot1dStpDesignatedRoot.0 = Hex-STRING: 80 00 00 01 02 4B D4 50\n"
"...\n"
"BRIDGE-MIB::dot1dStpPortState.3 = INTEGER: forwarding(5)\n"
"BRIDGE-MIB::dot1dStpPortEnable.3 = INTEGER: enabled(1)\n"
"BRIDGE-MIB::dot1dStpPortPathCost.3 = INTEGER: 200000\n"
-"BRIDGE-MIB::dot1dStpPortDesignatedRoot.3 = Hex-STRING: 80 00 00 01 02 4B D4 50\n"
+"BRIDGE-MIB::dot1dStpPortDesignatedRoot.3 = Hex-STRING: 80 00 00 01 02 4B D4 "
+"50\n"
"BRIDGE-MIB::dot1dStpPortDesignatedCost.3 = INTEGER: 0\n"
-"BRIDGE-MIB::dot1dStpPortDesignatedBridge.3 = Hex-STRING: 80 00 00 01 02 4B D4 50\n"
+"BRIDGE-MIB::dot1dStpPortDesignatedBridge.3 = Hex-STRING: 80 00 00 01 02 4B "
+"D4 50\n"
"BRIDGE-MIB::dot1dStpPortDesignatedPort.3 = Hex-STRING: 03 80\n"
"BRIDGE-MIB::dot1dStpPortForwardTransitions.3 = Counter32: 1\n"
"RSTP-MIB::dot1dStpVersion.0 = INTEGER: rstp(2)\n"
@@ -4316,17 +4344,23 @@ msgstr ""
"enterprises.fokus.begemot.begemotBridge\n"
"BEGEMOT-BRIDGE-MIB::begemotBridgeBaseName.\"bridge0\" = STRING: bridge0\n"
"BEGEMOT-BRIDGE-MIB::begemotBridgeBaseName.\"bridge2\" = STRING: bridge2\n"
-"BEGEMOT-BRIDGE-MIB::begemotBridgeBaseAddress.\"bridge0\" = STRING: e:ce:3b:5a:9e:13\n"
-"BEGEMOT-BRIDGE-MIB::begemotBridgeBaseAddress.\"bridge2\" = STRING: 12:5e:4d:74:d:fc\n"
+"BEGEMOT-BRIDGE-MIB::begemotBridgeBaseAddress.\"bridge0\" = STRING: "
+"e:ce:3b:5a:9e:13\n"
+"BEGEMOT-BRIDGE-MIB::begemotBridgeBaseAddress.\"bridge2\" = STRING: "
+"12:5e:4d:74:d:fc\n"
"BEGEMOT-BRIDGE-MIB::begemotBridgeBaseNumPorts.\"bridge0\" = INTEGER: 1\n"
"BEGEMOT-BRIDGE-MIB::begemotBridgeBaseNumPorts.\"bridge2\" = INTEGER: 1\n"
"...\n"
-"BEGEMOT-BRIDGE-MIB::begemotBridgeStpTimeSinceTopologyChange.\"bridge0\" = Timeticks: (116927) 0:19:29.27 centi-seconds\n"
-"BEGEMOT-BRIDGE-MIB::begemotBridgeStpTimeSinceTopologyChange.\"bridge2\" = Timeticks: (82773) 0:13:47.73 centi-seconds\n"
+"BEGEMOT-BRIDGE-MIB::begemotBridgeStpTimeSinceTopologyChange.\"bridge0\" = "
+"Timeticks: (116927) 0:19:29.27 centi-seconds\n"
+"BEGEMOT-BRIDGE-MIB::begemotBridgeStpTimeSinceTopologyChange.\"bridge2\" = "
+"Timeticks: (82773) 0:13:47.73 centi-seconds\n"
"BEGEMOT-BRIDGE-MIB::begemotBridgeStpTopChanges.\"bridge0\" = Counter32: 1\n"
"BEGEMOT-BRIDGE-MIB::begemotBridgeStpTopChanges.\"bridge2\" = Counter32: 1\n"
-"BEGEMOT-BRIDGE-MIB::begemotBridgeStpDesignatedRoot.\"bridge0\" = Hex-STRING: 80 00 00 40 95 30 5E 31\n"
-"BEGEMOT-BRIDGE-MIB::begemotBridgeStpDesignatedRoot.\"bridge2\" = Hex-STRING: 80 00 00 50 8B B8 C6 A9\n"
+"BEGEMOT-BRIDGE-MIB::begemotBridgeStpDesignatedRoot.\"bridge0\" = Hex-STRING: "
+"80 00 00 40 95 30 5E 31\n"
+"BEGEMOT-BRIDGE-MIB::begemotBridgeStpDesignatedRoot.\"bridge2\" = Hex-STRING: "
+"80 00 00 50 8B B8 C6 A9\n"
#. type: Plain text
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:1658
@@ -4334,8 +4368,8 @@ msgid ""
"To change the bridge interface being monitored via the `mib-2.dot1dBridge` "
"subtree:"
msgstr ""
-"Для изменения мониторинга интерфейса моста через поддерево "
-"`mib-2.dot1dBridge`:"
+"Для изменения мониторинга интерфейса моста через поддерево `mib-2."
+"dot1dBridge`:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:1663
@@ -4592,8 +4626,8 @@ msgid ""
"of _10.0.0.3/24_:"
msgstr ""
"На системе FreeBSD создайте интерфейс man:lagg[4], используя физические "
-"интерфейсы _fxp0_ и _fxp1_, и поднимите интерфейсы с IP-адресом "
-"_10.0.0.3/24_:"
+"интерфейсы _fxp0_ и _fxp1_, и поднимите интерфейсы с IP-адресом _10.0.0.3/"
+"24_:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:1738
@@ -4732,7 +4766,7 @@ msgstr ""
msgid "Failover Mode"
msgstr "Режим отказоустойчивости"
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:1801
msgid ""
"Failover mode can be used to switch over to a secondary interface if the "
@@ -4761,7 +4795,8 @@ msgstr ""
"# ifconfig fxp0 up\n"
"# ifconfig fxp1 up\n"
"# ifconfig lagg0 create\n"
-"# ifconfig lagg0 up laggproto failover laggport fxp0 laggport fxp1 10.0.0.15/24\n"
+"# ifconfig lagg0 up laggproto failover laggport fxp0 laggport fxp1 10.0.0.15/"
+"24\n"
#. type: Plain text
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:1811
@@ -4828,15 +4863,17 @@ msgstr ""
"ifconfig_fxp0=\"up\"\n"
"ifconfig_fxp1=\"up\"\n"
"cloned_interfaces=\"lagg0\"\n"
-"ifconfig_lagg0=\"laggproto failover laggport fxp0 laggport fxp1 10.0.0.15/24\"\n"
+"ifconfig_lagg0=\"laggproto failover laggport fxp0 laggport fxp1 10.0.0.15/"
+"24\"\n"
#. type: Block title
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:1843
#, no-wrap
msgid "Failover Mode Between Ethernet and Wireless Interfaces"
-msgstr "Режим автоматического переключения между Ethernet и беспроводным интерфейсом"
+msgstr ""
+"Режим автоматического переключения между Ethernet и беспроводным интерфейсом"
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:1849
msgid ""
"For laptop users, it is usually desirable to configure the wireless device "
@@ -4852,7 +4889,7 @@ msgstr ""
"соображениям производительности, так и безопасности, сохраняя при этом "
"возможность передачи данных через беспроводное соединение."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:1851
msgid ""
"This is achieved by overriding the Ethernet interface's MAC address with "
@@ -4890,10 +4927,10 @@ msgstr ""
"собственном ядре, и компьютер работает под FreeBSD {rel121-current}, "
"загрузите соответствующий [.filename]#.ko# в [.filename]#/boot/loader.conf#, "
"добавив `*driver_load=\"YES\"*` в этот файл и перезагрузив систему. Другой, "
-"более предпочтительный способ — загрузить драйвер в [.filename]#/etc/"
-"rc.conf#, добавив его в `kld_list` (подробности см. в man:rc.conf[5]) в этом "
-"файле и перезагрузив систему. Это необходимо, потому что в противном случае "
-"драйвер ещё не загружен к моменту настройки интерфейса man:lagg[4]."
+"более предпочтительный способ — загрузить драйвер в [.filename]#/etc/rc.conf#"
+", добавив его в `kld_list` (подробности см. в man:rc.conf[5]) в этом файле и "
+"перезагрузив систему. Это необходимо, потому что в противном случае драйвер "
+"ещё не загружен к моменту настройки интерфейса man:lagg[4]."
#. type: Plain text
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:1870
@@ -5066,8 +5103,8 @@ msgstr ""
"позволяет операционной системе загружаться по сети. Например, система "
"FreeBSD может загружаться по сети и работать без локального диска, используя "
"файловые системы, смонтированные с NFS-сервера. Поддержка PXE обычно "
-"доступна в BIOS. Чтобы использовать PXE при запуске машины, выберите опцию "
-"`Загрузка по сети` в настройках BIOS или нажмите функциональную клавишу во "
+"доступна в BIOS. Чтобы использовать PXE при запуске машины, выберите опцию `"
+"Загрузка по сети` в настройках BIOS или нажмите функциональную клавишу во "
"время инициализации системы."
#. type: delimited block = 4
@@ -5093,8 +5130,7 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:1960
msgid "The operating system loader file is booted using TFTP."
-msgstr ""
-"Файл загрузчика операционной системы загружается с использованием TFTP."
+msgstr "Файл загрузчика операционной системы загружается с использованием TFTP."
#. type: delimited block = 4
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:1961
@@ -5120,7 +5156,7 @@ msgstr ""
"продолжается остальная последовательность загрузки FreeBSD, как описано в "
"crossref:boot[boot,Процесс загрузки FreeBSD]."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:1971
msgid ""
"For UEFI PXE based boot, the actual boot loader file to use is [.filename]#/"
@@ -5129,11 +5165,11 @@ msgid ""
"[.filename]#/boot/loader.efi#."
msgstr ""
"Для загрузки по PXE на UEFI фактический файл загрузчика, который следует "
-"использовать, это [.filename]#/boot/loader.efi#. См. раздел ниже "
-"crossref:advanced-networking[_debugging_pxe_problems,Отладка проблем PXE] о "
-"том, как использовать [.filename]#/boot/loader.efi#."
+"использовать, это [.filename]#/boot/loader.efi#. См. раздел ниже crossref"
+":advanced-networking[_debugging_pxe_problems,Отладка проблем PXE] о том, как "
+"использовать [.filename]#/boot/loader.efi#."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:1975
msgid ""
"This section describes how to configure these services on a FreeBSD system "
@@ -5144,7 +5180,7 @@ msgstr ""
"другие системы могли загружаться по PXE в FreeBSD. Дополнительную информацию "
"можно найти в man:diskless[8]."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:1980
msgid ""
"As described, the system providing these services is insecure. It should "
@@ -5160,7 +5196,7 @@ msgstr ""
msgid "Setting Up the PXE Environment"
msgstr "Настройка окружения PXE"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:1989
msgid ""
"The steps shown in this section configure the built-in NFS and TFTP "
@@ -5176,10 +5212,10 @@ msgstr ""
"сервер DHCP. В данном примере каталог, который будет содержать файлы, "
"используемые пользователями PXE, называется [.filename]#/b/tftpboot/FreeBSD/"
"install#. Важно, чтобы этот каталог существовал и чтобы одно и то же имя "
-"каталога было указано как в [.filename]#/etc/inetd.conf#, так и в "
-"[.filename]#/usr/local/etc/dhcpd.conf#."
+"каталога было указано как в [.filename]#/etc/inetd.conf#, так и в [."
+"filename]#/usr/local/etc/dhcpd.conf#."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:1994
msgid ""
"The command examples below assume use of the man:sh[1] shell. man:csh[1] "
@@ -5190,7 +5226,7 @@ msgstr ""
"Пользователям man:csh[1] и man:tcsh[1] потребуется запустить оболочку "
"man:sh[1] или адаптировать команды к синтаксису man:csh[1]."
-#. type: .procedure
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:1998
msgid ""
"Create the root directory which will contain a FreeBSD installation to be "
@@ -5274,7 +5310,9 @@ msgstr ""
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:2038
#, no-wrap
msgid "tftp dgram udp wait root /usr/libexec/tftpd tftpd blocksize 1468 -l -s /b/tftpboot\n"
-msgstr "tftp dgram udp wait root /usr/libexec/tftpd tftpd blocksize 1468 -l -s /b/tftpboot\n"
+msgstr ""
+"tftp dgram udp wait root /usr/libexec/tftpd tftpd blocksize 1468 -l -s /b/"
+"tftpboot\n"
#. type: delimited block = 4
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:2045
@@ -5310,10 +5348,10 @@ msgid ""
msgstr ""
"Установите базовую систему в [.filename]#${NFSROOTDIR}#, либо распаковав "
"официальные архивы, либо пересобрав ядро и пользовательское окружение "
-"FreeBSD (подробные инструкции можно найти в crossref:cutting-"
-"edge[makeworld,“Обновление FreeBSD из исходного кода”], но не забудьте "
-"добавить `DESTDIR=_${NFSROOTDIR}_` при выполнении команд `make "
-"installkernel` и `make installworld`)."
+"FreeBSD (подробные инструкции можно найти в crossref:cutting-edge[makeworld,“"
+"Обновление FreeBSD из исходного кода”], но не забудьте добавить "
+"`DESTDIR=_${NFSROOTDIR}_` при выполнении команд `make installkernel` и `make "
+"installworld`)."
#. type: Plain text
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:2056
@@ -5352,8 +5390,10 @@ msgid ""
"# Device Mountpoint FSType Options Dump Pass\n"
"myhost.example.com:/b/tftpboot/FreeBSD/install / nfs ro 0 0\n"
msgstr ""
-"# Device Mountpoint FSType Options Dump Pass\n"
-"myhost.example.com:/b/tftpboot/FreeBSD/install / nfs ro 0 0\n"
+"# Device Mountpoint FSType "
+"Options Dump Pass\n"
+"myhost.example.com:/b/tftpboot/FreeBSD/install / nfs "
+"ro 0 0\n"
#. type: Plain text
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:2074
@@ -5406,8 +5446,8 @@ msgid ""
"[.filename]#${NFSROOTDIR}#. These customizations could include things like "
"installing packages or editing the password file with man:vipw[8]."
msgstr ""
-"Выполните другие необходимые настройки PXE-окружения в [.filename]#$"
-"{NFSROOTDIR}#. Эти настройки могут включать установку пакетов или "
+"Выполните другие необходимые настройки PXE-окружения в [."
+"filename]#${NFSROOTDIR}#. Эти настройки могут включать установку пакетов или "
"редактирование файла паролей с помощью man:vipw[8]."
#. type: Plain text
@@ -5419,8 +5459,8 @@ msgid ""
"these directories are writable but the NFS root directory is read-only:"
msgstr ""
"При загрузке с корневого тома NFS, [.filename]#/etc/rc# определяет загрузку "
-"по NFS и запускает [.filename]#/etc/rc.initdiskless#. В этом случае "
-"[.filename]#/etc# и [.filename]#/var# должны быть файловыми системами в "
+"по NFS и запускает [.filename]#/etc/rc.initdiskless#. В этом случае [."
+"filename]#/etc# и [.filename]#/var# должны быть файловыми системами в "
"памяти, чтобы эти каталоги были доступны для записи, тогда как корневой "
"каталог NFS доступен только для чтения:"
@@ -5453,15 +5493,15 @@ msgid ""
"respectively."
msgstr ""
"При загрузке системы будут созданы и смонтированы файловые системы в памяти "
-"для [.filename]#/etc# и [.filename]#/var#, а содержимое файлов "
-"[.filename]#cpio.gz# будет скопировано в них. По умолчанию эти файловые "
+"для [.filename]#/etc# и [.filename]#/var#, а содержимое файлов [."
+"filename]#cpio.gz# будет скопировано в них. По умолчанию эти файловые "
"системы имеют максимальный размер 5 мегабайт. Если ваши архивы не "
"помещаются, что обычно происходит с [.filename]#/var# при установке бинарных "
"пакетов, укажите больший размер, записав количество необходимых секторов по "
-"512 байт (например, 5 мегабайт — это 10240 секторов) в файлы [.filename]#$"
-"{NFSROOTDIR}/conf/base/etc/md_size# и [.filename]#${NFSROOTDIR}/conf/base/"
-"var/md_size# для файловых систем [.filename]#/etc# и [.filename]#/var# "
-"соответственно."
+"512 байт (например, 5 мегабайт — это 10240 секторов) в файлы [."
+"filename]#${NFSROOTDIR}/conf/base/etc/md_size# и [.filename]#${NFSROOTDIR}/"
+"conf/base/var/md_size# для файловых систем [.filename]#/etc# и [."
+"filename]#/var# соответственно."
#. type: Title ===
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:2101
@@ -5747,8 +5787,8 @@ msgid ""
"For UEFI PXE based booting, replace the [.filename]#boot/pxeboot# file with "
"the [.filename]#boot/loader.efi# file:"
msgstr ""
-"Для загрузки по PXE на UEFI замените файл [.filename]#boot/pxeboot# на файл "
-"[.filename]#boot/loader.efi#:"
+"Для загрузки по PXE на UEFI замените файл [.filename]#boot/pxeboot# на файл ["
+".filename]#boot/loader.efi#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:2200
@@ -5778,8 +5818,8 @@ msgid ""
"not see a service failure."
msgstr ""
"Протокол общей избыточности адресов (CARP) позволяет нескольким хостам "
-"использовать один и тот же IP-адрес и идентификатор виртуального хоста "
-"(VHID) для обеспечения _высокой доступности_ одной или нескольких служб. Это "
+"использовать один и тот же IP-адрес и идентификатор виртуального хоста (VHID)"
+" для обеспечения _высокой доступности_ одной или нескольких служб. Это "
"означает, что при отказе одного или нескольких хостов остальные хосты "
"прозрачно возьмут на себя их функции, чтобы пользователи не заметили сбоя в "
"работе службы."
@@ -5820,9 +5860,9 @@ msgid ""
msgstr ""
"Этот пример настраивает поддержку отказоустойчивости с тремя хостами, каждый "
"из которых имеет уникальный IP-адрес, но предоставляет одинаковое веб-"
-"содержимое. В нем есть два разных основных хоста с именами "
-"`hosta.example.org` и `hostb.example.org`, а также общий резервный хост с "
-"именем `hostc.example.org`."
+"содержимое. В нем есть два разных основных хоста с именами `hosta.example."
+"org` и `hostb.example.org`, а также общий резервный хост с именем `hostc."
+"example.org`."
#. type: delimited block * 4
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:2225
@@ -5859,8 +5899,8 @@ msgid ""
"Enable boot-time support for CARP by adding an entry for the "
"[.filename]#carp.ko# kernel module in [.filename]#/boot/loader.conf#:"
msgstr ""
-"Включите поддержку CARP при загрузке, добавив запись для модуля ядра "
-"[.filename]#carp.ko# в [.filename]#/boot/loader.conf#:"
+"Включите поддержку CARP при загрузке, добавив запись для модуля ядра [."
+"filename]#carp.ko# в [.filename]#/boot/loader.conf#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:2234
@@ -5974,8 +6014,10 @@ msgid ""
msgstr ""
"hostname=\"hostc.example.org\"\n"
"ifconfig_em0=\"inet 192.168.1.5 netmask 255.255.255.0\"\n"
-"ifconfig_em0_alias0=\"inet vhid 1 advskew 100 pass testpass alias 192.168.1.50/32\"\n"
-"ifconfig_em0_alias1=\"inet vhid 2 advskew 100 pass testpass alias 192.168.1.51/32\"\n"
+"ifconfig_em0_alias0=\"inet vhid 1 advskew 100 pass testpass alias 192.168.1."
+"50/32\"\n"
+"ifconfig_em0_alias1=\"inet vhid 2 advskew 100 pass testpass alias 192.168.1."
+"51/32\"\n"
#. type: Plain text
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:2284
@@ -6119,8 +6161,8 @@ msgid ""
"To configure VLANs at boot time, [.filename]#/etc/rc.conf# must be updated. "
"To duplicate the configuration above, the following will need to be added:"
msgstr ""
-"Для настройки VLAN при загрузке необходимо обновить файл [.filename]#/etc/"
-"rc.conf#. Чтобы повторить приведённую выше конфигурацию, нужно добавить "
+"Для настройки VLAN при загрузке необходимо обновить файл [.filename]#/etc/rc."
+"conf#. Чтобы повторить приведённую выше конфигурацию, нужно добавить "
"следующее:"
#. type: delimited block . 4
@@ -6192,7 +6234,9 @@ msgstr ""
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:2371
#, no-wrap
msgid "# ifconfig em0.5 create vlan 5 vlandev em0 name cameras inet 192.168.20.20/24\n"
-msgstr "# ifconfig em0.5 create vlan 5 vlandev em0 name cameras inet 192.168.20.20/24\n"
+msgstr ""
+"# ifconfig em0.5 create vlan 5 vlandev em0 name cameras inet 192.168.20.20/"
+"24\n"
#. type: Plain text
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:2374
@@ -6203,7 +6247,9 @@ msgstr "Для интерфейса с именем `video` используйт
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:2378
#, no-wrap
msgid "# ifconfig video.5 create vlan 5 vlandev video name cameras inet 192.168.20.20/24\n"
-msgstr "# ifconfig video.5 create vlan 5 vlandev video name cameras inet 192.168.20.20/24\n"
+msgstr ""
+"# ifconfig video.5 create vlan 5 vlandev video name cameras inet 192.168.20."
+"20/24\n"
#. type: Plain text
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:2381
@@ -6211,8 +6257,8 @@ msgid ""
"To apply the changes at boot time, add the following lines to [.filename]#/"
"etc/rc.conf#:"
msgstr ""
-"Чтобы применить изменения при загрузке, добавьте следующие строки в "
-"[.filename]#/etc/rc.conf#:"
+"Чтобы применить изменения при загрузке, добавьте следующие строки в [."
+"filename]#/etc/rc.conf#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/advanced-networking/_index.adoc:2387
diff --git a/documentation/content/ru/books/handbook/audit/_index.adoc b/documentation/content/ru/books/handbook/audit/_index.adoc
index c2a2b9d971..baa5bfd3f1 100644
--- a/documentation/content/ru/books/handbook/audit/_index.adoc
+++ b/documentation/content/ru/books/handbook/audit/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/audit/
part: 'Часть III. Администрирование системы'
prev: books/handbook/mac
-showBookMenu: true
+showBookMenu: 'true'
tags: ["audit", "terms", "configuration", "guide", "audit trails"]
title: 'Глава 19. Аудит событий безопасности'
weight: 23
@@ -333,7 +333,7 @@ return,success,0
trailer,133
....
-Этот аудит представляет успешный вызов `execve`, в котором была выполнена команда `finger doug`. Токен `exec arg` содержит обработанную командную строку, переданную оболочкой ядру. Токен `path` содержит путь к исполняемому файлу, найденный ядром. Токен `attribute` описывает бинарный файл и включает режим файла. Токен `subject` хранит аудитный идентификатор пользователя, эффективные идентификаторы пользователя и группы, реальные идентификаторы пользователя и группы, идентификатор процесса, идентификатор сессии, идентификатор порта и адрес входа. Обратите внимание, что аудитный идентификатор пользователя и реальный идентификатор пользователя различаются, так как пользователь `robert` переключился на учетную запись `root` перед выполнением этой команды, но аудит ведется с использованием исходного аутентифицированного пользователя. Токен `return` указывает на успешное выполнение, а `trailer` завершает запись.
+Этот аудит представляет успешный вызов `execve`, в котором была выполнена команда `finger doug`. Токен `exec arg` содержит обработанную командную строку, переданную оболочкой ядру. Токен `path` содержит путь к исполняемому файлу, найденный ядром. Токен `attribute` описывает бинарный файл и включает режим файла. Токен `subject` хранит идентификатор пользователя для аудита, эффективные идентификаторы пользователя и группы, реальные идентификаторы пользователя и группы, идентификатор процесса, идентификатор сессии, идентификатор порта и адрес входа. Обратите внимание, что аудитный идентификатор пользователя и реальный идентификатор пользователя различаются, так как пользователь `robert` переключился на учетную запись `root` перед выполнением этой команды, но аудит ведется с использованием исходного аутентифицированного пользователя. Токен `return` указывает на успешное выполнение, а `trailer` завершает запись.
Также поддерживается формат вывода XML, и он может быть выбран добавлением опции `-x`.
@@ -348,14 +348,14 @@ trailer,133
=== Мониторинг в реальном времени с использованием потоков аудита
-Потоки аудитные (audit pipes) являются клонируемыми псевдоустройствами, которые позволяют приложениям получать доступ к потоку записей аудита в реальном времени. В первую очередь это интересно разработчикам систем обнаружения вторжений и мониторинга. Однако аудитное канальное устройство — это удобный способ для администратора организовать мониторинг в реальном времени без проблем с правами владения файлами аудита или прерывания потока событий из-за ротации логов. Для отслеживания живого потока событий аудита:
+Каналы аудита (audit pipe) являются клонируемыми псевдоустройствами, которые позволяют приложениям получать доступ к потоку записей аудита в реальном времени. В первую очередь это интересно разработчикам систем обнаружения вторжений и мониторинга. Однако устройство канала аудита — это удобный способ для администратора организовать мониторинг в реальном времени без проблем с правами владения файлами аудита или прерывания потока событий из-за ротации логов. Для отслеживания живого потока событий аудита:
[source, shell]
....
# praudit /dev/auditpipe
....
-По умолчанию узлы устройств потоков аудита доступны только пользователю `root`. Чтобы сделать их доступными для членов группы `audit`, добавьте правило `devfs` в [.filename]#/etc/devfs.rules#:
+По умолчанию узлы устройств каналов аудита доступны только пользователю `root`. Чтобы сделать их доступными для членов группы `audit`, добавьте правило `devfs` в [.filename]#/etc/devfs.rules#:
[.programlisting]
....
diff --git a/documentation/content/ru/books/handbook/audit/_index.po b/documentation/content/ru/books/handbook/audit/_index.po
index b001ed8a13..dcadfc3fdb 100644
--- a/documentation/content/ru/books/handbook/audit/_index.po
+++ b/documentation/content/ru/books/handbook/audit/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
-"PO-Revision-Date: 2025-09-26 04:45+0000\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
+"PO-Revision-Date: 2025-10-30 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/bookshandbookaudit_index/ru/>\n"
@@ -18,19 +18,23 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/audit/_index.adoc:1
#, no-wrap
msgid "FreeBSD security event auditing supports reliable, fine-grained, and configurable logging of a variety of security-relevant system events, including logins, configuration changes, and file and network access"
-msgstr "В FreeBSD поддерживается аудит событий безопасности, обеспечивающий надежное, детализированное и настраиваемое журналирование различных системных событий, связанных с безопасностью, включая входы в систему, изменения конфигурации, а также доступ к файлам и сети"
+msgstr ""
+"В FreeBSD поддерживается аудит событий безопасности, обеспечивающий "
+"надежное, детализированное и настраиваемое журналирование различных "
+"системных событий, связанных с безопасностью, включая входы в систему, "
+"изменения конфигурации, а также доступ к файлам и сети"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/audit/_index.adoc:1
#, no-wrap
msgid "Part III. System Administration"
msgstr "Часть III. Администрирование системы"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/audit/_index.adoc:1
#, no-wrap
msgid "Chapter 19. Security Event Auditing"
@@ -122,8 +126,8 @@ msgid ""
"Be familiar with the basics of kernel configuration/compilation "
"(crossref:kernelconfig[kernelconfig,Configuring the FreeBSD Kernel])."
msgstr ""
-"Быть знакомым с основами настройки и компиляции ядра "
-"(crossref:kernelconfig[kernelconfig,Настройка ядра FreeBSD])."
+"Быть знакомым с основами настройки и компиляции ядра (crossref:kernelconfig["
+"kernelconfig,Настройка ядра FreeBSD])."
#. type: Plain text
#: documentation/content/en/books/handbook/audit/_index.adoc:74
@@ -483,7 +487,10 @@ msgstr "exec"
#: documentation/content/en/books/handbook/audit/_index.adoc:164
#, no-wrap
msgid "Audit program execution. Auditing of command line arguments and environmental variables is controlled via man:audit_control[5] using the `argv` and `envv` parameters to the `policy` setting."
-msgstr "Аудит выполнения программ. Аудит аргументов командной строки и переменных окружения контролируется через man:audit_control[5] с использованием параметров `argv` и `envv` в настройке `policy`."
+msgstr ""
+"Аудит выполнения программ. Аудит аргументов командной строки и переменных "
+"окружения контролируется через man:audit_control[5] с использованием "
+"параметров `argv` и `envv` в настройке `policy`."
#. type: Table
#: documentation/content/en/books/handbook/audit/_index.adoc:165
@@ -501,7 +508,8 @@ msgstr "file attribute access"
#: documentation/content/en/books/handbook/audit/_index.adoc:168
#, no-wrap
msgid "Audit the access of object attributes such as man:stat[1] and man:pathconf[2]."
-msgstr "Аудит доступа к атрибутам объектов, таким как man:stat[1] и man:pathconf[2]."
+msgstr ""
+"Аудит доступа к атрибутам объектов, таким как man:stat[1] и man:pathconf[2]."
#. type: Table
#: documentation/content/en/books/handbook/audit/_index.adoc:169
@@ -555,7 +563,9 @@ msgstr "file attribute modify"
#: documentation/content/en/books/handbook/audit/_index.adoc:180
#, no-wrap
msgid "Audit events where file attribute modification occurs, such as by man:chown[8], man:chflags[1], and man:flock[2]."
-msgstr "События аудита, связанные с изменением атрибутов файлов, например, с помощью man:chown[8], man:chflags[1] и man:flock[2]."
+msgstr ""
+"События аудита, связанные с изменением атрибутов файлов, например, с помощью "
+"man:chown[8], man:chflags[1] и man:flock[2]."
#. type: Table
#: documentation/content/en/books/handbook/audit/_index.adoc:181
@@ -573,7 +583,8 @@ msgstr "file read"
#: documentation/content/en/books/handbook/audit/_index.adoc:184
#, no-wrap
msgid "Audit events in which data is read or files are opened for reading."
-msgstr "События аудита, в которых данные читаются или файлы открываются для чтения."
+msgstr ""
+"События аудита, в которых данные читаются или файлы открываются для чтения."
#. type: Table
#: documentation/content/en/books/handbook/audit/_index.adoc:185
@@ -591,7 +602,9 @@ msgstr "file write"
#: documentation/content/en/books/handbook/audit/_index.adoc:188
#, no-wrap
msgid "Audit events in which data is written or files are written or modified."
-msgstr "События аудита, в которых данные записываются или файлы создаются либо изменяются."
+msgstr ""
+"События аудита, в которых данные записываются или файлы создаются либо "
+"изменяются."
#. type: Table
#: documentation/content/en/books/handbook/audit/_index.adoc:189
@@ -627,7 +640,9 @@ msgstr "ipc"
#: documentation/content/en/books/handbook/audit/_index.adoc:196
#, no-wrap
msgid "Audit various forms of Inter-Process Communication, including POSIX pipes and System V IPC operations."
-msgstr "Аудит различных форм межпроцессного взаимодействия, включая POSIX-каналы и операции System V IPC."
+msgstr ""
+"Аудит различных форм межпроцессного взаимодействия, включая POSIX-каналы и "
+"операции System V IPC."
#. type: Table
#: documentation/content/en/books/handbook/audit/_index.adoc:197
@@ -699,7 +714,9 @@ msgstr "network"
#: documentation/content/en/books/handbook/audit/_index.adoc:212
#, no-wrap
msgid "Audit events related to network actions such as man:connect[2] and man:accept[2]."
-msgstr "События аудита, связанные с сетевыми действиями, такими как man:connect[2] и man:accept[2]."
+msgstr ""
+"События аудита, связанные с сетевыми действиями, такими как man:connect[2] и "
+"man:accept[2]."
#. type: Table
#: documentation/content/en/books/handbook/audit/_index.adoc:213
@@ -935,8 +952,8 @@ msgid ""
"controls system-wide audit properties and policies and the second file may "
"be used to fine-tune auditing by user."
msgstr ""
-"В большинстве случаев администраторам потребуется изменить только файлы "
-"[.filename]#audit_control# и [.filename]#audit_user#. Первый файл управляет "
+"В большинстве случаев администраторам потребуется изменить только файлы [."
+"filename]#audit_control# и [.filename]#audit_user#. Первый файл управляет "
"системными настройками и политиками аудита, а второй может использоваться "
"для тонкой настройки аудита по пользователям."
@@ -952,8 +969,8 @@ msgid ""
"A number of defaults for the audit subsystem are specified in "
"[.filename]#audit_control#:"
msgstr ""
-"Некоторые параметры подсистемы аудита по умолчанию указаны в файле "
-"[.filename]#audit_control#:"
+"Некоторые параметры подсистемы аудита по умолчанию указаны в файле [."
+"filename]#audit_control#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/audit/_index.adoc:291
@@ -1045,8 +1062,8 @@ msgid ""
msgstr ""
"Запись `policy` определяет список флагов политики, разделённых запятыми, "
"которые контролируют различные аспекты поведения аудита. Флаг `cnt` "
-"указывает, что система должна продолжать работу, несмотря на сбой аудита "
-"(этот флаг настоятельно рекомендуется). Другой флаг, `argv`, приводит к "
+"указывает, что система должна продолжать работу, несмотря на сбой аудита ("
+"этот флаг настоятельно рекомендуется). Другой флаг, `argv`, приводит к "
"аудиту аргументов командной строки системного вызова man:execve[2] как части "
"выполнения команды."
@@ -1105,8 +1122,8 @@ msgid ""
msgstr ""
"Следующие примеры записей аудита фиксируют события входа/выхода и успешного "
"выполнения команд для пользователя `root`, а также создание файлов и "
-"успешное выполнение команд для пользователя `www`. Если используется файл "
-"[.filename]#audit_control# по умолчанию, запись `lo` для `root` избыточна, и "
+"успешное выполнение команд для пользователя `www`. Если используется файл [."
+"filename]#audit_control# по умолчанию, запись `lo` для `root` избыточна, и "
"события входа/выхода также будут фиксироваться для `www`."
#. type: delimited block . 4
@@ -1218,7 +1235,7 @@ msgstr ""
"команда `finger doug`. Токен `exec arg` содержит обработанную командную "
"строку, переданную оболочкой ядру. Токен `path` содержит путь к исполняемому "
"файлу, найденный ядром. Токен `attribute` описывает бинарный файл и включает "
-"режим файла. Токен `subject` хранит аудитный идентификатор пользователя, "
+"режим файла. Токен `subject` хранит идентификатор пользователя для аудита, "
"эффективные идентификаторы пользователя и группы, реальные идентификаторы "
"пользователя и группы, идентификатор процесса, идентификатор сессии, "
"идентификатор порта и адрес входа. Обратите внимание, что аудитный "
@@ -1245,8 +1262,8 @@ msgid ""
msgstr ""
"Поскольку журналы аудита могут быть очень большими, можно выбрать "
"подмножество записей с помощью `auditreduce`. В этом примере выбираются все "
-"записи аудита, созданные для пользователя `trhodes`, хранящиеся в "
-"[.filename]#AUDITFILE#:"
+"записи аудита, созданные для пользователя `trhodes`, хранящиеся в [."
+"filename]#AUDITFILE#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/audit/_index.adoc:379
@@ -1266,12 +1283,12 @@ msgid ""
"performed with caution."
msgstr ""
"Участники группы `audit` имеют право читать журналы аудита в [.filename]#/"
-"var/audit#. По умолчанию эта группа пуста, поэтому только пользователь "
-"`root` может читать журналы аудита. Пользователи могут быть добавлены в "
-"группу `audit` для делегирования прав просмотра аудита. Поскольку "
-"возможность отслеживать содержимое журналов аудита дает значительное "
-"представление о поведении пользователей и процессов, рекомендуется "
-"делегировать права просмотра аудита с осторожностью."
+"var/audit#. По умолчанию эта группа пуста, поэтому только пользователь `root`"
+" может читать журналы аудита. Пользователи могут быть добавлены в группу "
+"`audit` для делегирования прав просмотра аудита. Поскольку возможность "
+"отслеживать содержимое журналов аудита дает значительное представление о "
+"поведении пользователей и процессов, рекомендуется делегировать права "
+"просмотра аудита с осторожностью."
#. type: Title ===
#: documentation/content/en/books/handbook/audit/_index.adoc:386
@@ -1290,13 +1307,13 @@ msgid ""
"log rotation interrupting the event stream. To track the live audit event "
"stream:"
msgstr ""
-"Потоки аудитные (audit pipes) являются клонируемыми псевдоустройствами, "
-"которые позволяют приложениям получать доступ к потоку записей аудита в "
-"реальном времени. В первую очередь это интересно разработчикам систем "
-"обнаружения вторжений и мониторинга. Однако аудитное канальное устройство — "
-"это удобный способ для администратора организовать мониторинг в реальном "
-"времени без проблем с правами владения файлами аудита или прерывания потока "
-"событий из-за ротации логов. Для отслеживания живого потока событий аудита:"
+"Каналы аудита (audit pipe) являются клонируемыми псевдоустройствами, которые "
+"позволяют приложениям получать доступ к потоку записей аудита в реальном "
+"времени. В первую очередь это интересно разработчикам систем обнаружения "
+"вторжений и мониторинга. Однако устройство канала аудита — это удобный "
+"способ для администратора организовать мониторинг в реальном времени без "
+"проблем с правами владения файлами аудита или прерывания потока событий из-"
+"за ротации логов. Для отслеживания живого потока событий аудита:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/audit/_index.adoc:396
@@ -1311,7 +1328,7 @@ msgid ""
"To make them accessible to the members of the `audit` group, add a `devfs` "
"rule to [.filename]#/etc/devfs.rules#:"
msgstr ""
-"По умолчанию узлы устройств потоков аудита доступны только пользователю "
+"По умолчанию узлы устройств каналов аудита доступны только пользователю "
"`root`. Чтобы сделать их доступными для членов группы `audit`, добавьте "
"правило `devfs` в [.filename]#/etc/devfs.rules#:"
diff --git a/documentation/content/ru/books/handbook/basics/_index.adoc b/documentation/content/ru/books/handbook/basics/_index.adoc
index af550812be..1f91657c25 100644
--- a/documentation/content/ru/books/handbook/basics/_index.adoc
+++ b/documentation/content/ru/books/handbook/basics/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/basics/
part: 'В начале'
prev: books/handbook/bsdinstall
-showBookMenu: true
+showBookMenu: 'true'
tags: ["basics", "virtual consoles", "users", "management", "permissions", "directory structure", "disk organization", "mounting", "processes", "daemons", "shell", "editor", "manual pages", "devices"]
title: 'Глава 3. Основы FreeBSD'
weight: 5
diff --git a/documentation/content/ru/books/handbook/basics/_index.po b/documentation/content/ru/books/handbook/basics/_index.po
index 5dec7d6bda..484d1f745b 100644
--- a/documentation/content/ru/books/handbook/basics/_index.po
+++ b/documentation/content/ru/books/handbook/basics/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-08-17 20:54+0100\n"
"PO-Revision-Date: 2025-08-26 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,19 +18,19 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/basics/_index.adoc:1
#, no-wrap
msgid "Basic commands and functionality of the FreeBSD operating system"
msgstr "Основные команды и функциональные возможности операционной системы FreeBSD"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/basics/_index.adoc:1
#, no-wrap
msgid "Part I. Getting Started"
msgstr "В начале"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/basics/_index.adoc:1
#, no-wrap
msgid "Chapter 3. FreeBSD Basics"
@@ -159,13 +159,13 @@ msgstr "login:\n"
msgid ""
"The first line contains some information about the system. The `amd64` "
"indicates that FreeBSD is running on a 64-bit x86 system. The hostname is "
-"`pc3.example.org`, and `ttyv0` indicates that this is the \"system "
-"console\". The second line is the login prompt."
+"`pc3.example.org`, and `ttyv0` indicates that this is the \"system console"
+"\". The second line is the login prompt."
msgstr ""
"Первая строка содержит некоторую информацию о системе. `amd64` указывает, "
-"что FreeBSD работает на 64-битной x86 системе. Имя хоста — "
-"`pc3.example.org`, а `ttyv0` означает, что это «системная консоль». Вторая "
-"строка — это приглашение для входа в систему."
+"что FreeBSD работает на 64-битной x86 системе. Имя хоста — `pc3.example."
+"org`, а `ttyv0` означает, что это «системная консоль». Вторая строка — это "
+"приглашение для входа в систему."
#. type: Plain text
#: documentation/content/en/books/handbook/basics/_index.adoc:93
@@ -184,16 +184,16 @@ msgstr ""
#: documentation/content/en/books/handbook/basics/_index.adoc:97
msgid ""
"To log into the system console, type the username that was configured during "
-"system installation, as described in crossref:bsdinstall[bsdinstall-"
-"addusers,Add Users], and press kbd:[Enter]. Then enter the password "
-"associated with the username and press kbd:[Enter]. The password is _not "
-"echoed_ for security reasons."
+"system installation, as described in crossref:bsdinstall[bsdinstall-addusers,"
+"Add Users], and press kbd:[Enter]. Then enter the password associated with "
+"the username and press kbd:[Enter]. The password is _not echoed_ for "
+"security reasons."
msgstr ""
"Для входа в системную консоль введите имя пользователя, заданное при "
-"установке системы, как описано в crossref:bsdinstall[bsdinstall-"
-"addusers,Добавление пользователей], и нажмите kbd:[Enter]. Затем введите "
-"пароль, связанный с этим именем пользователя, и нажмите kbd:[Enter]. Пароль "
-"_не отображается_ в целях безопасности."
+"установке системы, как описано в crossref:bsdinstall[bsdinstall-addusers,"
+"Добавление пользователей], и нажмите kbd:[Enter]. Затем введите пароль, "
+"связанный с этим именем пользователя, и нажмите kbd:[Enter]. Пароль _не "
+"отображается_ в целях безопасности."
#. type: Plain text
#: documentation/content/en/books/handbook/basics/_index.adoc:101
@@ -206,8 +206,8 @@ msgid ""
msgstr ""
"После ввода правильного пароля будет отображено сообщение дня (MOTD), за "
"которым последует приглашение командной строки. В зависимости от выбранной "
-"оболочки при создании пользователя, это приглашение может быть символом "
-"`+#+`, `$` или `%`. Приглашение указывает, что пользователь теперь вошел в "
+"оболочки при создании пользователя, это приглашение может быть символом `+#"
+"+`, `$` или `%`. Приглашение указывает, что пользователь теперь вошел в "
"консоль системы FreeBSD и готов попробовать доступные команды."
#. type: Title ===
@@ -290,9 +290,9 @@ msgid ""
"and man:vt[4] for a more technical description of the FreeBSD console and "
"its keyboard drivers."
msgstr ""
-"Обратитесь к man:kbdcontrol[1], man:vidcontrol[1], man:atkbd[4], "
-"man:syscons[4] и man:vt[4] для более технического описания консоли FreeBSD и "
-"её драйверов клавиатуры."
+"Обратитесь к man:kbdcontrol[1], man:vidcontrol[1], man:atkbd[4], man:"
+"syscons[4] и man:vt[4] для более технического описания консоли FreeBSD и её "
+"драйверов клавиатуры."
#. type: Plain text
#: documentation/content/en/books/handbook/basics/_index.adoc:124
@@ -477,13 +477,12 @@ msgstr "# kldload vesa\n"
#. type: Plain text
#: documentation/content/en/books/handbook/basics/_index.adoc:192
msgid ""
-"To determine which video modes are supported by the hardware, use "
-"man:vidcontrol[1]. To get a list of supported video modes issue the "
-"following:"
+"To determine which video modes are supported by the hardware, use man:"
+"vidcontrol[1]. To get a list of supported video modes issue the following:"
msgstr ""
-"Для определения видеорежимов, поддерживаемых оборудованием, используйте "
-"man:vidcontrol[1]. Чтобы получить список поддерживаемых видеорежимов, "
-"выполните следующую команду:"
+"Для определения видеорежимов, поддерживаемых оборудованием, используйте man:"
+"vidcontrol[1]. Чтобы получить список поддерживаемых видеорежимов, выполните "
+"следующую команду:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/basics/_index.adoc:196
@@ -495,8 +494,8 @@ msgstr "# vidcontrol -i mode\n"
#: documentation/content/en/books/handbook/basics/_index.adoc:200
msgid ""
"The output of this command lists the video modes that are supported by the "
-"hardware. To select a new video mode, specify the mode using "
-"man:vidcontrol[1] as the `root` user:"
+"hardware. To select a new video mode, specify the mode using man:"
+"vidcontrol[1] as the `root` user:"
msgstr ""
"Результат выполнения этой команды выводит список видеорежимов, "
"поддерживаемых оборудованием. Чтобы выбрать новый видеорежим, укажите режим "
@@ -764,13 +763,13 @@ msgstr "Класс входа (Login class)"
msgid ""
"Login classes are an extension to the group mechanism that provide "
"additional flexibility when tailoring the system to different users. Login "
-"classes are discussed further in crossref:security[users-"
-"limiting,Configuring Login Classes]."
+"classes are discussed further in crossref:security[users-limiting,"
+"Configuring Login Classes]."
msgstr ""
"Классы входа являются расширением механизма групп, предоставляющим "
"дополнительную гибкость при настройке системы для различных пользователей. "
-"Подробнее классы входа рассматриваются в crossref:security[users-"
-"limiting,Настройка классов входа]."
+"Подробнее классы входа рассматриваются в crossref:security[users-limiting,"
+"Настройка классов входа]."
#. type: Labeled list
#: documentation/content/en/books/handbook/basics/_index.adoc:280
@@ -1010,11 +1009,11 @@ msgid ""
"usage examples."
msgstr ""
"FreeBSD предоставляет различные команды для управления учетными записями "
-"пользователей. Наиболее распространенные команды перечислены в "
-"crossref:basics[users-modifying-utilities,Утилиты для управления учетными "
-"записями пользователей], а также приведены примеры их использования. Для "
-"получения дополнительной информации и примеров использования обратитесь к "
-"руководству (man) каждой утилиты."
+"пользователей. Наиболее распространенные команды перечислены в crossref:"
+"basics[users-modifying-utilities,Утилиты для управления учетными записями "
+"пользователей], а также приведены примеры их использования. Для получения "
+"дополнительной информации и примеров использования обратитесь к руководству "
+"(man) каждой утилиты."
#. type: Block title
#: documentation/content/en/books/handbook/basics/_index.adoc:353
@@ -1238,7 +1237,7 @@ msgstr ""
"Add another user? (yes/no): no\n"
"Goodbye!\n"
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/basics/_index.adoc:438
msgid ""
"Since the password is not echoed when typed, be careful to not mistype the "
@@ -1253,37 +1252,37 @@ msgstr ""
msgid "Removing a user"
msgstr "Удаление пользователя"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/basics/_index.adoc:445
msgid ""
"To completely remove a user from the system, run man:rmuser[8] as the "
"superuser. This command performs the following steps:"
msgstr ""
-"Чтобы полностью удалить пользователя из системы, выполните команду "
-"man:rmuser[8] с правами суперпользователя. Эта команда выполняет следующие "
+"Чтобы полностью удалить пользователя из системы, выполните команду man:"
+"rmuser[8] с правами суперпользователя. Эта команда выполняет следующие "
"действия:"
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/basics/_index.adoc:449
msgid "Removes the user's man:crontab[1] entry, if one exists."
msgstr "Удаляет запись пользователя в man:crontab[1], если она существует."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/basics/_index.adoc:450
msgid "Removes any man:at[1] jobs belonging to the user."
msgstr "Удаляет все задания man:at[1], принадлежащие пользователю."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/basics/_index.adoc:451
msgid "Sends a SIGKILL signal to all processes owned by the user."
msgstr "Посылает сигнал SIGKILL всем процессам, принадлежащим пользователю."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/basics/_index.adoc:452
msgid "Removes the user from the system's local password file."
msgstr "Удаляет пользователя из локального файла паролей системы."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/basics/_index.adoc:453
msgid ""
"Removes the user's home directory (if it is owned by the user), including "
@@ -1293,12 +1292,12 @@ msgstr ""
"включая обработку символических ссылок в пути к фактическому домашнему "
"каталогу."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/basics/_index.adoc:454
msgid "Removes the incoming mail files belonging to the user from `/var/mail`."
msgstr "Удаляет входящие почтовые файлы пользователя из `/var/mail`."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/basics/_index.adoc:455
msgid ""
"Removes all files owned by the user from `/tmp`, `/var/tmp`, and `/var/tmp/"
@@ -1307,7 +1306,7 @@ msgstr ""
"Удаляет все файлы, принадлежащие пользователю, из `/tmp`, `/var/tmp` и `/var/"
"tmp/vi.recover`."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/basics/_index.adoc:456
msgid ""
"Removes the username from all groups to which it belongs in `/etc/group`. "
@@ -1317,10 +1316,10 @@ msgid ""
msgstr ""
"Удаляет имя пользователя из всех групп, к которым он принадлежит в `/etc/"
"group`. (Если группа становится пустой и имя группы совпадает с именем "
-"пользователя, группа удаляется; это дополняет функциональность "
-"man:adduser[8] в части уникальных групп для каждого пользователя.)"
+"пользователя, группа удаляется; это дополняет функциональность man:"
+"adduser[8] в части уникальных групп для каждого пользователя.)"
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/basics/_index.adoc:457
msgid ""
"Removes all message queues, shared memory segments and semaphores owned by "
@@ -1329,7 +1328,7 @@ msgstr ""
"Удаляет все очереди сообщений, сегменты разделяемой памяти и семафоры, "
"принадлежащие пользователю."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/basics/_index.adoc:460
msgid ""
"man:rmuser[8] cannot be used to remove superuser accounts since that is "
@@ -1339,7 +1338,7 @@ msgstr ""
"суперпользователя, так как это почти всегда свидетельствует о "
"катастрофических последствиях."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/basics/_index.adoc:462
msgid ""
"By default, an interactive mode is used, as shown in the following example."
@@ -1400,12 +1399,12 @@ msgid ""
"displays an editor containing user information. When the user exits from "
"the editor, the user database is updated with the new information."
msgstr ""
-"Без указания опций, за исключением необязательного имени пользователя, "
-"man:chpass[1] отображает редактор с информацией о пользователе. После выхода "
+"Без указания опций, за исключением необязательного имени пользователя, man:"
+"chpass[1] отображает редактор с информацией о пользователе. После выхода "
"пользователя из редактора база данных пользователей обновляется новой "
"информацией."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/basics/_index.adoc:496
msgid ""
"This utility will prompt for the user's password when exiting the editor, "
@@ -1414,7 +1413,7 @@ msgstr ""
"Этотa утилитa запрашивает пароль пользователя при выходе из редактора, если "
"только она не запущена от имени суперпользователя."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/basics/_index.adoc:501
msgid ""
"In crossref:basics[users-modifying-chpass-su,Using `chpass` as Superuser], "
@@ -1504,7 +1503,7 @@ msgstr ""
"Home Phone:\n"
"Other information:\n"
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/basics/_index.adoc:554
msgid ""
"The commands man:chfn[1] and man:chsh[1] are links to man:chpass[1], as are "
@@ -1524,7 +1523,7 @@ msgstr ""
msgid "Change user password"
msgstr "Изменение пароля пользователя"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/basics/_index.adoc:561
msgid ""
"Any user can easily change their password using man:passwd[1]. To prevent "
@@ -1607,7 +1606,7 @@ msgstr ""
"passwd: updating the database...\n"
"passwd: done\n"
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/basics/_index.adoc:610
msgid ""
"As with man:chpass[1], man:yppasswd[1] is a link to man:passwd[1], so NIS "
@@ -1622,7 +1621,7 @@ msgstr ""
msgid "Create, remove, modify and display system users and groups"
msgstr "Создание, удаление, изменение и отображение пользователей и групп системы"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/basics/_index.adoc:618
msgid ""
"The man:pw[8] utility can create, remove, modify, and display users and "
@@ -1644,7 +1643,7 @@ msgstr ""
msgid "Managing Groups"
msgstr "Управление группами"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/basics/_index.adoc:625
msgid ""
"A group is a list of users. A group is identified by its group name and "
@@ -1659,7 +1658,7 @@ msgstr ""
"большинстве случаев под GID пользователя или процесса обычно подразумевается "
"первая группа в списке."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/basics/_index.adoc:630
msgid ""
"The group name to GID mapping is listed in `/etc/group`. This is a plain "
@@ -1674,7 +1673,7 @@ msgstr ""
"список участников, разделенных запятыми. Полное описание синтаксиса смотрите "
"в man:group[5]."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/basics/_index.adoc:634
msgid ""
"The superuser can modify `/etc/group` using a text editor, although editing "
@@ -1684,13 +1683,13 @@ msgid ""
"it exists:"
msgstr ""
"Суперпользователь может изменить `/etc/group` с помощью текстового "
-"редактора, однако предпочтительнее редактировать файл групп с помощью "
-"man:vigr[8], так как это позволяет избежать некоторых распространённых "
-"ошибок. Альтернативно, для добавления и редактирования групп можно "
-"использовать man:pw[8]. Например, чтобы добавить группу с именем `teamtwo` и "
-"затем убедиться, что она существует:"
+"редактора, однако предпочтительнее редактировать файл групп с помощью man:"
+"vigr[8], так как это позволяет избежать некоторых распространённых ошибок. "
+"Альтернативно, для добавления и редактирования групп можно использовать man:"
+"pw[8]. Например, чтобы добавить группу с именем `teamtwo` и затем убедиться, "
+"что она существует:"
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/basics/_index.adoc:638
msgid ""
"Care must be taken when using the operator group, as unintended superuser-"
@@ -1773,8 +1772,8 @@ msgstr ""
"существующей группы. Для пользователя это членство в группе отличается от (и "
"дополняет) его основной группы, указанной в файле паролей. Это означает, что "
"пользователь не будет отображаться как член группы при использовании "
-"`groupshow` с man:pw[8], но будет виден при запросе информации через "
-"man:id[1] или аналогичный инструмент. Когда man:pw[8] используется для "
+"`groupshow` с man:pw[8], но будет виден при запросе информации через man:"
+"id[1] или аналогичный инструмент. Когда man:pw[8] используется для "
"добавления пользователя в группу, он только изменяет `/etc/group` и не "
"пытается читать дополнительные данные из `/etc/passwd`."
@@ -2444,10 +2443,10 @@ msgstr "Флаги файлов FreeBSD"
#. type: Plain text
#: documentation/content/en/books/handbook/basics/_index.adoc:905
msgid ""
-"In addition to file permissions, FreeBSD supports the use of \"file "
-"flags\". These flags add an additional level of security and control over "
-"files, but not directories. With file flags, even `root` can be prevented "
-"from removing or altering files."
+"In addition to file permissions, FreeBSD supports the use of \"file flags"
+"\". These flags add an additional level of security and control over files, "
+"but not directories. With file flags, even `root` can be prevented from "
+"removing or altering files."
msgstr ""
"В дополнение к правам доступа к файлам FreeBSD поддерживает использование "
"\"флагов файлов\". Эти флаги добавляют дополнительный уровень безопасности и "
@@ -2851,22 +2850,21 @@ msgid ""
msgstr ""
"Точка монтирования — это каталог, в который можно подключить дополнительные "
"файловые системы к родительской файловой системе (обычно корневой файловой "
-"системе). Это подробно описано в разделе crossref:basics[disk-"
-"organization,Организация дисков]. Стандартные точки монтирования включают `/"
-"usr/`, `/var/`, `/tmp/`, `/mnt/` и `/cdrom/`. Эти каталоги обычно связаны с "
-"записями в файле `/etc/fstab`. Этот файл представляет собой таблицу "
-"различных файловых систем и точек монтирования, которая читается системой. "
-"Большинство файловых систем в `/etc/fstab` автоматически монтируются при "
-"загрузке с помощью скрипта man:rc[8], если их запись не содержит параметра "
-"`noauto`. Подробности можно найти в разделе crossref:basics[disks-fstab,Файл "
-"fstab]."
+"системе). Это подробно описано в разделе crossref:basics[disk-organization,"
+"Организация дисков]. Стандартные точки монтирования включают `/usr/`, `/var/"
+"`, `/tmp/`, `/mnt/` и `/cdrom/`. Эти каталоги обычно связаны с записями в "
+"файле `/etc/fstab`. Этот файл представляет собой таблицу различных файловых "
+"систем и точек монтирования, которая читается системой. Большинство файловых "
+"систем в `/etc/fstab` автоматически монтируются при загрузке с помощью "
+"скрипта man:rc[8], если их запись не содержит параметра `noauto`. "
+"Подробности можно найти в разделе crossref:basics[disks-fstab,Файл fstab]."
#. type: Plain text
#: documentation/content/en/books/handbook/basics/_index.adoc:1087
msgid ""
-"A complete description of the file system hierarchy is available in "
-"man:hier[7]. The following table provides a brief overview of the most "
-"common directories."
+"A complete description of the file system hierarchy is available in man:"
+"hier[7]. The following table provides a brief overview of the most common "
+"directories."
msgstr ""
"Полное описание иерархии файловой системы доступно в man:hier[7]. В "
"следующей таблице представлен краткий обзор наиболее распространённых "
@@ -3580,31 +3578,30 @@ msgstr "Разделы диска"
#: documentation/content/en/books/handbook/basics/_index.adoc:1284
msgid ""
"File systems are contained in _partitions_. Disks are divided into "
-"partitions using one of several partitioning schemes; see "
-"crossref:bsdinstall[bsdinstall-part-manual, Manual Partitioning]. The newer "
-"scheme is GPT; older BIOS-based computers use MBR. GPT supports division of "
-"a disk into partitions with a size, offset, and type. It supports a large "
-"number of partitions and partition types, and is recommended whenever its "
-"use is possible. GPT partitions use the disk name with a suffix, where the "
-"suffix is `p1` for the first partition, `p2` for the second, and so on. "
-"MBR, however, supports only a small number of partitions. The MBR "
-"partitions are known in FreeBSD as `slices`. Slices may be used for "
-"different operating systems. FreeBSD slices are subdivided into partitions "
-"using BSD labels (see man:bsdlabel[8])."
+"partitions using one of several partitioning schemes; see crossref:"
+"bsdinstall[bsdinstall-part-manual, Manual Partitioning]. The newer scheme "
+"is GPT; older BIOS-based computers use MBR. GPT supports division of a disk "
+"into partitions with a size, offset, and type. It supports a large number "
+"of partitions and partition types, and is recommended whenever its use is "
+"possible. GPT partitions use the disk name with a suffix, where the suffix "
+"is `p1` for the first partition, `p2` for the second, and so on. MBR, "
+"however, supports only a small number of partitions. The MBR partitions are "
+"known in FreeBSD as `slices`. Slices may be used for different operating "
+"systems. FreeBSD slices are subdivided into partitions using BSD labels "
+"(see man:bsdlabel[8])."
msgstr ""
"Файловые системы содержатся в _разделах_. Диски разделяются на разделы с "
-"использованием одной из нескольких схем разметки; см. "
-"crossref:bsdinstall[bsdinstall-part-manual, Ручная разметка разделов]. Более "
-"новая схема — GPT; старые компьютеры на базе BIOS используют MBR. GPT "
-"поддерживает разделение диска на разделы с указанием размера, смещения и "
-"типа. Она поддерживает большое количество разделов и их типов, и "
-"рекомендуется к использованию везде, где это возможно. Разделы GPT "
-"используют имя диска с суффиксом, где суффикс `p1` соответствует первому "
-"разделу, `p2` — второму и так далее. MBR, однако, поддерживает только "
-"небольшое количество разделов. Разделы MBR в FreeBSD называются _слайсами_. "
-"Слайсы могут использоваться для разных операционных систем. Слайсы FreeBSD "
-"дополнительно разбиваются на разделы с использованием меток BSD (см. "
-"man:bsdlabel[8])."
+"использованием одной из нескольких схем разметки; см. crossref:"
+"bsdinstall[bsdinstall-part-manual, Ручная разметка разделов]. Более новая "
+"схема — GPT; старые компьютеры на базе BIOS используют MBR. GPT поддерживает "
+"разделение диска на разделы с указанием размера, смещения и типа. Она "
+"поддерживает большое количество разделов и их типов, и рекомендуется к "
+"использованию везде, где это возможно. Разделы GPT используют имя диска с "
+"суффиксом, где суффикс `p1` соответствует первому разделу, `p2` — второму и "
+"так далее. MBR, однако, поддерживает только небольшое количество разделов. "
+"Разделы MBR в FreeBSD называются _слайсами_. Слайсы могут использоваться для "
+"разных операционных систем. Слайсы FreeBSD дополнительно разбиваются на "
+"разделы с использованием меток BSD (см. man:bsdlabel[8])."
#. type: Plain text
#: documentation/content/en/books/handbook/basics/_index.adoc:1290
@@ -3752,10 +3749,9 @@ msgstr ""
#: documentation/content/en/books/handbook/basics/_index.adoc:1330
msgid ""
"When referring to a partition in a slice, include the disk name, `s`, the "
-"slice number, and then the partition letter. Examples are shown in "
-"crossref:basics[basics-disk-slice-part,Sample Disk, Slice, and Partition "
-"Names]. GPT partitions include the disk name, `p`, and then the partition "
-"number."
+"slice number, and then the partition letter. Examples are shown in crossref:"
+"basics[basics-disk-slice-part,Sample Disk, Slice, and Partition Names]. GPT "
+"partitions include the disk name, `p`, and then the partition number."
msgstr ""
"При указании раздела в слайсе укажите имя диска, `s`, номер слайса, а затем "
"букву раздела. Примеры приведены в разделе crossref:basics[basics-disk-slice-"
@@ -3945,7 +3941,7 @@ msgstr "Пятый раздел (`e`) на втором срезе (`s2`) вто
msgid "Conceptual Model of a Disk"
msgstr "Концептуальная модель диска"
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/basics/_index.adoc:1396
msgid ""
"This diagram shows FreeBSD's view of the first SATA disk attached to the "
@@ -3962,7 +3958,7 @@ msgstr ""
"установленную систему FreeBSD. В данном примере установки FreeBSD "
"присутствуют четыре раздела с данными и один раздел подкачки."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/basics/_index.adoc:1400
msgid ""
"The four partitions each hold a file system. Partition `a` is used for the "
@@ -3993,7 +3989,7 @@ msgstr "disk-layout.png"
msgid "Mounting and Unmounting File Systems"
msgstr "Монтирование и демонтирование файловых систем"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/basics/_index.adoc:1408
msgid ""
"The file system is best visualized as a tree, rooted, as it were, at `/`. `/"
@@ -4005,7 +4001,7 @@ msgstr ""
"ветви, которые, в свою очередь, могут иметь собственные ветви, например `/"
"usr/local`, и так далее."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/basics/_index.adoc:1412
msgid ""
"There are various reasons to house some of these directories on separate "
@@ -4020,7 +4016,7 @@ msgstr ""
"корневой файловой системы нежелательно, поэтому часто предпочтительно "
"отделить `/var` от `/`."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/basics/_index.adoc:1414
msgid ""
"Another common reason to contain certain directory trees on other file "
@@ -4041,7 +4037,7 @@ msgstr ""
msgid "The fstab File"
msgstr "Файл fstab"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/basics/_index.adoc:1420
msgid ""
"During the boot process (crossref:boot[boot,The FreeBSD Booting Process]), "
@@ -4072,8 +4068,8 @@ msgid ""
"An existing device name as explained in crossref:basics[disks-naming,Disk "
"Device Names]."
msgstr ""
-"Существующее имя устройства, как описано в crossref:basics[disks-"
-"naming,Имена устройств дисков]."
+"Существующее имя устройства, как описано в crossref:basics[disks-naming,"
+"Имена устройств дисков]."
#. type: Labeled list
#: documentation/content/en/books/handbook/basics/_index.adoc:1429
@@ -4144,8 +4140,8 @@ msgstr "`passno`"
#. type: Plain text
#: documentation/content/en/books/handbook/basics/_index.adoc:1451
msgid ""
-"Determines the order in which UFS file systems should be checked by "
-"man:fsck[8] after a reboot. File systems that should be skipped should have "
+"Determines the order in which UFS file systems should be checked by man:"
+"fsck[8] after a reboot. File systems that should be skipped should have "
"their `passno` set to zero. The root file system needs to be checked before "
"everything else and should have its `passno` set to one. The other file "
"systems should be set to values greater than one. If more than one file "
@@ -4290,8 +4286,8 @@ msgid ""
"type, if `-a` is included. \"ufs\" is the default file system type."
msgstr ""
"Смонтировать указанный тип файловой системы или смонтировать только файловые "
-"системы данного типа, если включен параметр `-a`. Тип файловой системы "
-"\"ufs\" используется по умолчанию."
+"системы данного типа, если включен параметр `-a`. Тип файловой системы \"ufs"
+"\" используется по умолчанию."
#. type: Labeled list
#: documentation/content/en/books/handbook/basics/_index.adoc:1492
@@ -4478,10 +4474,10 @@ msgstr "Просмотр процессов"
msgid ""
"To see the processes running on the system, use man:ps[1] or man:top[1]. To "
"display a static list of the currently running processes, their PIDs, how "
-"much memory they are using, and the command they were started with, use "
-"man:ps[1]. To display all the running processes and update the display "
-"every few seconds in order to interactively see what the computer is doing, "
-"use man:top[1]."
+"much memory they are using, and the command they were started with, use man:"
+"ps[1]. To display all the running processes and update the display every "
+"few seconds in order to interactively see what the computer is doing, use "
+"man:top[1]."
msgstr ""
"Чтобы просмотреть процессы, выполняемые в системе, используйте man:ps[1] или "
"man:top[1]. Для отображения статичного списка текущих процессов, их PID, "
@@ -4631,8 +4627,8 @@ msgid ""
"indicates how much data was read from the memory cache instead of from disk."
msgstr ""
"Вывод разделён на две части. Заголовок (первые пять или шесть строк) "
-"показывает PID последнего запущенного процесса, среднюю загрузку системы "
-"(которая отражает, насколько система занята), время работы системы (время с "
+"показывает PID последнего запущенного процесса, среднюю загрузку системы ("
+"которая отражает, насколько система занята), время работы системы (время с "
"последней перезагрузки) и текущее время. Остальные данные в заголовке "
"относятся к количеству запущенных процессов, объёму используемой оперативной "
"памяти и файла подкачки (свопа), а также времени, которое система проводит в "
@@ -4776,9 +4772,9 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/basics/_index.adoc:1658
msgid ""
-"Killing a random process on the system is a bad idea. In particular, "
-"man:init[8], PID 1, is special. Running `/bin/kill -s KILL 1` is a quick, "
-"and unrecommended, way to shutdown the system. _Always_ double check the "
+"Killing a random process on the system is a bad idea. In particular, man:"
+"init[8], PID 1, is special. Running `/bin/kill -s KILL 1` is a quick, and "
+"unrecommended, way to shutdown the system. _Always_ double check the "
"arguments to man:kill[1] _before_ pressing kbd:[Return]."
msgstr ""
"Убить случайный процесс в системе — плохая идея. В частности, man:init[8], "
@@ -4800,9 +4796,9 @@ msgid ""
"executes them. Many shells provide built in functions to help with everyday "
"tasks such as file management, file globbing, command line editing, command "
"macros, and environment variables. FreeBSD comes with several shells, "
-"including the Bourne shell (man:sh[1]) and the extended C shell "
-"(man:tcsh[1]). Other shells are available from the FreeBSD Ports "
-"Collection, such as `zsh` and `bash`."
+"including the Bourne shell (man:sh[1]) and the extended C shell (man:"
+"tcsh[1]). Other shells are available from the FreeBSD Ports Collection, "
+"such as `zsh` and `bash`."
msgstr ""
"_Оболочка_ предоставляет интерфейс командной строки для взаимодействия с "
"операционной системой. Оболочка получает команды из входного канала и "
@@ -4823,8 +4819,8 @@ msgid ""
"a choice of which shell to use."
msgstr ""
"Используемая оболочка — это действительно вопрос предпочтений. Программисту "
-"на C может быть удобнее работать с C-подобной оболочкой, такой как "
-"man:tcsh[1]. Пользователь Linux(R) может предпочесть `bash`. Каждая оболочка "
+"на C может быть удобнее работать с C-подобной оболочкой, такой как man:"
+"tcsh[1]. Пользователь Linux(R) может предпочесть `bash`. Каждая оболочка "
"обладает уникальными свойствами, которые могут подходить или не подходить "
"под предпочитаемую пользователем рабочую среду, поэтому существует выбор, "
"какую оболочку использовать."
@@ -4868,9 +4864,9 @@ msgid ""
"Another feature of the shell is the use of environment variables. "
"Environment variables are a variable/key pair stored in the shell's "
"environment. This environment can be read by any program invoked by the "
-"shell, and thus contains a lot of program configuration. "
-"crossref:basics[shell-env-vars,Common Environment Variables] provides a list "
-"of common environment variables and their meanings. Note that the names of "
+"shell, and thus contains a lot of program configuration. crossref:"
+"basics[shell-env-vars,Common Environment Variables] provides a list of "
+"common environment variables and their meanings. Note that the names of "
"environment variables are always in uppercase."
msgstr ""
"Еще одна особенность оболочки — использование переменных окружения. "
@@ -5035,8 +5031,8 @@ msgid ""
"sets the default `EDITOR` to `/usr/local/bin/emacs` for the man:tcsh[1] "
"shell:"
msgstr ""
-"Как установить переменную окружения, зависит от используемой оболочки. В "
-"man:tcsh[1] и man:csh[1] используйте `setenv` для установки переменных "
+"Как установить переменную окружения, зависит от используемой оболочки. В man:"
+"tcsh[1] и man:csh[1] используйте `setenv` для установки переменных "
"окружения. В man:sh[1] и `bash` используйте `export` для установки текущих "
"переменных окружения. В этом примере устанавливается значение `EDITOR` по "
"умолчанию в `/usr/local/bin/emacs` для оболочки man:tcsh[1]:"
@@ -5096,8 +5092,8 @@ msgid ""
msgstr ""
"Чтобы предотвратить интерпретацию специального символа оболочкой, "
"экранируйте его с помощью обратной косой черты (`\\`). Например, `echo "
-"$TERM` выводит настройки терминала, тогда как `echo \\$TERM` выводит строку "
-"`$TERM` буквально."
+"$TERM` выводит настройки терминала, тогда как `echo \\$TERM` выводит строку `"
+"$TERM` буквально."
#. type: Title ===
#: documentation/content/en/books/handbook/basics/_index.adoc:1761
@@ -5147,9 +5143,9 @@ msgstr ""
#: documentation/content/en/books/handbook/basics/_index.adoc:1783
msgid ""
"The new shell _must_ be present in `/etc/shells`. If the shell was "
-"installed from the FreeBSD Ports Collection as described in "
-"crossref:ports[ports,Installing Applications: Packages and Ports], it should "
-"be automatically added to this file. If it is missing, add it using this "
+"installed from the FreeBSD Ports Collection as described in crossref:"
+"ports[ports,Installing Applications: Packages and Ports], it should be "
+"automatically added to this file. If it is missing, add it using this "
"command, replacing the path with the path of the shell:"
msgstr ""
"Новая оболочка *обязательно* должна присутствовать в `/etc/shells`. Если "
@@ -5339,9 +5335,9 @@ msgstr ""
"редактор». Чтобы запустить его, введите `ee _имя_файла_`, где _имя_файла_ — "
"это имя редактируемого файла. Внутри редактора все команды для управления "
"его функциями перечислены в верхней части экрана. Символ каретки (`^`) "
-"обозначает kbd:[Ctrl], поэтому `^e` означает kbd:[Ctrl+e]. Для выхода из "
-"man:ee[1] нажмите kbd:[Esc] и выберите пункт «покинуть редактор» в главном "
-"меню. Если файл был изменен, редактор предложит сохранить изменения."
+"обозначает kbd:[Ctrl], поэтому `^e` означает kbd:[Ctrl+e]. Для выхода из man:"
+"ee[1] нажмите kbd:[Esc] и выберите пункт «покинуть редактор» в главном меню. "
+"Если файл был изменен, редактор предложит сохранить изменения."
#. type: Plain text
#: documentation/content/en/books/handbook/basics/_index.adoc:1860
@@ -5353,12 +5349,12 @@ msgid ""
"learn. Learning a more powerful editor such as vim or Emacs can save more "
"time in the long run."
msgstr ""
-"FreeBSD также включает более мощные текстовые редакторы, такие как "
-"man:vi[1], в составе базовой системы. Другие редакторы, например "
-"package:editors/emacs[] и package:editors/vim[], доступны в коллекции портов "
-"FreeBSD. Эти редакторы предоставляют больше возможностей, но их освоение "
-"сложнее. Изучение более мощного редактора, такого как vim или Emacs, может "
-"сэкономить время в долгосрочной перспективе."
+"FreeBSD также включает более мощные текстовые редакторы, такие как man:"
+"vi[1], в составе базовой системы. Другие редакторы, например package:editors/"
+"emacs[] и package:editors/vim[], доступны в коллекции портов FreeBSD. Эти "
+"редакторы предоставляют больше возможностей, но их освоение сложнее. "
+"Изучение более мощного редактора, такого как vim или Emacs, может сэкономить "
+"время в долгосрочной перспективе."
#. type: Plain text
#: documentation/content/en/books/handbook/basics/_index.adoc:1864
@@ -5370,8 +5366,8 @@ msgid ""
msgstr ""
"Многие приложения, которые изменяют файлы или требуют ввода текста, "
"автоматически открывают текстовый редактор. Чтобы изменить редактор по "
-"умолчанию, установите переменную окружения `EDITOR`, как описано в "
-"crossref:basics[shells, Оболочки]."
+"умолчанию, установите переменную окружения `EDITOR`, как описано в crossref:"
+"basics[shells, Оболочки]."
#. type: Title ==
#: documentation/content/en/books/handbook/basics/_index.adoc:1866
diff --git a/documentation/content/ru/books/handbook/bibliography/_index.adoc b/documentation/content/ru/books/handbook/bibliography/_index.adoc
index f7a757b295..7c1e0a6b5c 100644
--- a/documentation/content/ru/books/handbook/bibliography/_index.adoc
+++ b/documentation/content/ru/books/handbook/bibliography/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/bibliography/
part: 'Часть V. Приложения'
prev: books/handbook/mirrors
-showBookMenu: true
+showBookMenu: 'true'
tags: ["appendix", "bibliography", "handbook", "books", "guides", "security", "periodicals", "journals", "magazines"]
title: 'Приложение B. Библиография'
weight: 42
@@ -55,23 +55,23 @@ endif::[]
[[bibliography-freebsd]]
== Библиография FreeBSD
-* *Absolute FreeBSD: The Complete Guide To FreeBSD*, Third Edition, published by link:https://nostarch.com/absfreebsd3[No Starch Press], 2018. ISBN: 978-1593278922
-* *FreeBSD Mastery: Storage Essentials*, published by link:https://www.tiltedwindmillpress.com/product/freebsd-mastery-storage-essentials/[Tilted Windmill Press], 2014. ISBN: 978-1642350098
-* *FreeBSD Mastery: Specialty Filesystems*, published by link:https://www.tiltedwindmillpress.com/product/fmspf/[Tilted Windmill Press], 2015. ISBN: 978-1642350111
-* *FreeBSD Mastery: ZFS*, published by link:https://www.tiltedwindmillpress.com/product/fmzfs/[Tilted Windmill Press], 2015. ISBN: 978-1642350005
-* *FreeBSD Mastery: Advanced ZFS*, published by link:https://www.tiltedwindmillpress.com/product/fmaz/[Tilted Windmill Press], 2016. ISBN: 978-0692688687
-* *FreeBSD Mastery: Jails*, published by link:https://www.tiltedwindmillpress.com/product/fmjail/[Tilted Windmill Press], 2019. ISBN: 978-1642350241
-* *FreeBSD Device Drivers: A Guide for the Intrepid*, published by link:https://nostarch.com/bsddrivers.htm[No Starch Press], 2012. ISBN: 978-1593272043
-* *The Design And Implementation Of The Freebsd Operating System*, Second Edition, published by link:https://www.pearson.com/store/p/design-and-implementation-of-the-freebsd-operating-system-the/P200000000463/9780321968975[Pearson Education, Inc.], 2014. ISBN: 978-0321968975
-* *UNIX and Linux System Administration Handbook*, Fifth Edition, published by link:https://www.pearson.com/en-us/subject-catalog/p/unix-and-linux-system-administration-handbook/P200000000513/9780137460359[Pearson Education, Inc.], 2017. ISBN: 978-0134277554
-* *Designing BSD Rootkits*, published by link:https://nostarch.com/rootkits.htm[No Starch Press], 2007. ISBN: 978-1593271428
-* *FreeBSD Jails using VNETs*, published in link:https://rderik.gumroad.com/l/uwOLZ[gumroad]
+* *Absolute FreeBSD: The Complete Guide To FreeBSD*, третье издание, издано link:https://nostarch.com/absfreebsd3[No Starch Press], 2018. ISBN: 978-1593278922
+* *FreeBSD Mastery: Storage Essentials*, издано link:https://www.tiltedwindmillpress.com/product/freebsd-mastery-storage-essentials/[Tilted Windmill Press], 2014. ISBN: 978-1642350098
+* *FreeBSD Mastery: Specialty Filesystems*, издано link:https://www.tiltedwindmillpress.com/product/fmspf/[Tilted Windmill Press], 2015. ISBN: 978-1642350111
+* *FreeBSD Mastery: ZFS*, издано link:https://www.tiltedwindmillpress.com/product/fmzfs/[Tilted Windmill Press], 2015. ISBN: 978-1642350005
+* *FreeBSD Mastery: Advanced ZFS*, издано link:https://www.tiltedwindmillpress.com/product/fmaz/[Tilted Windmill Press], 2016. ISBN: 978-0692688687
+* *FreeBSD Mastery: Jails*, издано link:https://www.tiltedwindmillpress.com/product/fmjail/[Tilted Windmill Press], 2019. ISBN: 978-1642350241
+* *FreeBSD Device Drivers: A Guide for the Intrepid*, издано link:https://nostarch.com/bsddrivers.htm[No Starch Press], 2012. ISBN: 978-1593272043
+* *The Design And Implementation Of The Freebsd Operating System*, второе издание, издано link:https://www.pearson.com/store/p/design-and-implementation-of-the-freebsd-operating-system-the/P200000000463/9780321968975[Pearson Education, Inc.], 2014. ISBN: 978-0321968975
+* *UNIX and Linux System Administration Handbook*, пятое издание, издано link:https://www.pearson.com/en-us/subject-catalog/p/unix-and-linux-system-administration-handbook/P200000000513/9780137460359[Pearson Education, Inc.], 2017. ISBN: 978-0134277554
+* *Designing BSD Rootkits*, издано link:https://nostarch.com/rootkits.htm[No Starch Press], 2007. ISBN: 978-1593271428
+* *FreeBSD Jails using VNETs*, опубликовано в link:https://rderik.gumroad.com/l/uwOLZ[gumroad]
[[bibliography-security]]
== Издания о безопасности
-* *The Book of PF: A No-Nonsense Guide to the OpenBSD Firewall*, Third Edition, published by link:https://nostarch.com/pf3[No Starch Press], 2014. ISBN: 978-1593275891
-* *SSH Mastery: OpenSSH, PuTTY, Tunnels, and Keys*, Second Edition, 2018. ISBN: 978-1642350029
+* *The Book of PF: A No-Nonsense Guide to the OpenBSD Firewall*, третье издание, издано link:https://nostarch.com/pf3[No Starch Press], 2014 год. ISBN: 978-1593275891
+* *SSH Mastery: OpenSSH, PuTTY, Tunnels, and Keys*, второе издание, 2018 год. ISBN: 978-1642350029
[[bibliography-history]]
== История UNIX(R)
diff --git a/documentation/content/ru/books/handbook/bibliography/_index.po b/documentation/content/ru/books/handbook/bibliography/_index.po
index d21c8c6c4b..3a71afbfeb 100644
--- a/documentation/content/ru/books/handbook/bibliography/_index.po
+++ b/documentation/content/ru/books/handbook/bibliography/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-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/"
@@ -18,19 +18,19 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/bibliography/_index.adoc:1
#, no-wrap
msgid "FreeBSD Handbook Bibliography"
msgstr "Библиография Руководства FreeBSD"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/bibliography/_index.adoc:1
#, no-wrap
msgid "Part V. Appendices"
msgstr "Часть V. Приложения"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/bibliography/_index.adoc:1
#, no-wrap
msgid "Appendix B. Bibliography"
@@ -42,7 +42,7 @@ msgstr "Приложение B. Библиография"
msgid "Bibliography"
msgstr "Библиография"
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/bibliography/_index.adoc:55
msgid ""
"While manual pages provide a definitive reference for individual pieces of "
@@ -63,178 +63,98 @@ msgstr ""
msgid "FreeBSD Bibliography"
msgstr "Библиография FreeBSD"
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/bibliography/_index.adoc:60
-#, fuzzy
-#| msgid ""
-#| "*Absolute FreeBSD: The Complete Guide To FreeBSD*, Third Edition, "
-#| "published by link:https://nostarch.com/absfreebsd3[No Starch Press], "
-#| "2018. ISBN: 978-1593278922\n"
-msgid ""
-"*Absolute FreeBSD: The Complete Guide To FreeBSD*, Third Edition, published "
-"by link:https://nostarch.com/absfreebsd3[No Starch Press], 2018. ISBN: "
-"978-1593278922"
+#, no-wrap
+msgid "*Absolute FreeBSD: The Complete Guide To FreeBSD*, Third Edition, published by link:https://nostarch.com/absfreebsd3[No Starch Press], 2018. ISBN: 978-1593278922\n"
msgstr ""
"*Absolute FreeBSD: The Complete Guide To FreeBSD*, третье издание, издано "
-"link:https://nostarch.com/absfreebsd3[No Starch Press], 2018. ISBN: "
-"978-1593278922\n"
+"link:https://nostarch.com/absfreebsd3[No Starch Press], 2018. ISBN: 978-"
+"1593278922\n"
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/bibliography/_index.adoc:61
-#, fuzzy
-#| msgid ""
-#| "*FreeBSD Mastery: Storage Essentials*, published by link:https://"
-#| "www.tiltedwindmillpress.com/product/freebsd-mastery-storage-essentials/"
-#| "[Tilted Windmill Press], 2014. ISBN: 978-1642350098\n"
-msgid ""
-"*FreeBSD Mastery: Storage Essentials*, published by link:https://"
-"www.tiltedwindmillpress.com/product/freebsd-mastery-storage-essentials/"
-"[Tilted Windmill Press], 2014. ISBN: 978-1642350098"
+#, no-wrap
+msgid "*FreeBSD Mastery: Storage Essentials*, published by link:https://www.tiltedwindmillpress.com/product/freebsd-mastery-storage-essentials/[Tilted Windmill Press], 2014. ISBN: 978-1642350098\n"
msgstr ""
-"*FreeBSD Mastery: Storage Essentials*, издано link:https://"
-"www.tiltedwindmillpress.com/product/freebsd-mastery-storage-essentials/"
-"[Tilted Windmill Press], 2014. ISBN: 978-1642350098\n"
+"*FreeBSD Mastery: Storage Essentials*, издано link:https://www."
+"tiltedwindmillpress.com/product/freebsd-mastery-storage-essentials/[Tilted "
+"Windmill Press], 2014. ISBN: 978-1642350098\n"
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/bibliography/_index.adoc:62
-#, fuzzy
-#| msgid ""
-#| "*FreeBSD Mastery: Specialty Filesystems*, published by link:https://"
-#| "www.tiltedwindmillpress.com/product/fmspf/[Tilted Windmill Press], 2015. "
-#| "ISBN: 978-1642350111\n"
-msgid ""
-"*FreeBSD Mastery: Specialty Filesystems*, published by link:https://"
-"www.tiltedwindmillpress.com/product/fmspf/[Tilted Windmill Press], 2015. "
-"ISBN: 978-1642350111"
+#, no-wrap
+msgid "*FreeBSD Mastery: Specialty Filesystems*, published by link:https://www.tiltedwindmillpress.com/product/fmspf/[Tilted Windmill Press], 2015. ISBN: 978-1642350111\n"
msgstr ""
-"*FreeBSD Mastery: Specialty Filesystems*, издано link:https://"
-"www.tiltedwindmillpress.com/product/fmspf/[Tilted Windmill Press], 2015. "
-"ISBN: 978-1642350111\n"
+"*FreeBSD Mastery: Specialty Filesystems*, издано link:https://www."
+"tiltedwindmillpress.com/product/fmspf/[Tilted Windmill Press], 2015. ISBN: "
+"978-1642350111\n"
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/bibliography/_index.adoc:63
-#, fuzzy
-#| msgid ""
-#| "*FreeBSD Mastery: ZFS*, published by link:https://"
-#| "www.tiltedwindmillpress.com/product/fmzfs/[Tilted Windmill Press], 2015. "
-#| "ISBN: 978-1642350005\n"
-msgid ""
-"*FreeBSD Mastery: ZFS*, published by link:https://"
-"www.tiltedwindmillpress.com/product/fmzfs/[Tilted Windmill Press], 2015. "
-"ISBN: 978-1642350005"
+#, no-wrap
+msgid "*FreeBSD Mastery: ZFS*, published by link:https://www.tiltedwindmillpress.com/product/fmzfs/[Tilted Windmill Press], 2015. ISBN: 978-1642350005\n"
msgstr ""
"*FreeBSD Mastery: ZFS*, издано link:https://www.tiltedwindmillpress.com/"
"product/fmzfs/[Tilted Windmill Press], 2015. ISBN: 978-1642350005\n"
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/bibliography/_index.adoc:64
-#, fuzzy
-#| msgid ""
-#| "*FreeBSD Mastery: Advanced ZFS*, published by link:https://"
-#| "www.tiltedwindmillpress.com/product/fmaz/[Tilted Windmill Press], 2016. "
-#| "ISBN: 978-0692688687\n"
-msgid ""
-"*FreeBSD Mastery: Advanced ZFS*, published by link:https://"
-"www.tiltedwindmillpress.com/product/fmaz/[Tilted Windmill Press], 2016. "
-"ISBN: 978-0692688687"
+#, no-wrap
+msgid "*FreeBSD Mastery: Advanced ZFS*, published by link:https://www.tiltedwindmillpress.com/product/fmaz/[Tilted Windmill Press], 2016. ISBN: 978-0692688687\n"
msgstr ""
-"*FreeBSD Mastery: Advanced ZFS*, издано link:https://"
-"www.tiltedwindmillpress.com/product/fmaz/[Tilted Windmill Press], 2016. "
-"ISBN: 978-0692688687\n"
+"*FreeBSD Mastery: Advanced ZFS*, издано link:https://www.tiltedwindmillpress."
+"com/product/fmaz/[Tilted Windmill Press], 2016. ISBN: 978-0692688687\n"
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/bibliography/_index.adoc:65
-#, fuzzy
-#| msgid ""
-#| "*FreeBSD Mastery: Jails*, published by link:https://"
-#| "www.tiltedwindmillpress.com/product/fmjail/[Tilted Windmill Press], 2019. "
-#| "ISBN: 978-1642350241\n"
-msgid ""
-"*FreeBSD Mastery: Jails*, published by link:https://"
-"www.tiltedwindmillpress.com/product/fmjail/[Tilted Windmill Press], 2019. "
-"ISBN: 978-1642350241"
+#, no-wrap
+msgid "*FreeBSD Mastery: Jails*, published by link:https://www.tiltedwindmillpress.com/product/fmjail/[Tilted Windmill Press], 2019. ISBN: 978-1642350241\n"
msgstr ""
"*FreeBSD Mastery: Jails*, издано link:https://www.tiltedwindmillpress.com/"
"product/fmjail/[Tilted Windmill Press], 2019. ISBN: 978-1642350241\n"
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/bibliography/_index.adoc:66
-#, fuzzy
-#| msgid ""
-#| "*FreeBSD Device Drivers: A Guide for the Intrepid*, published by "
-#| "link:https://nostarch.com/bsddrivers.htm[No Starch Press], 2012. ISBN: "
-#| "978-1593272043\n"
-msgid ""
-"*FreeBSD Device Drivers: A Guide for the Intrepid*, published by "
-"link:https://nostarch.com/bsddrivers.htm[No Starch Press], 2012. ISBN: "
-"978-1593272043"
+#, no-wrap
+msgid "*FreeBSD Device Drivers: A Guide for the Intrepid*, published by link:https://nostarch.com/bsddrivers.htm[No Starch Press], 2012. ISBN: 978-1593272043\n"
msgstr ""
-"*FreeBSD Device Drivers: A Guide for the Intrepid*, издано link:https://"
-"nostarch.com/bsddrivers.htm[No Starch Press], 2012. ISBN: 978-1593272043\n"
+"*FreeBSD Device Drivers: A Guide for the Intrepid*, издано "
+"link:https://nostarch.com/bsddrivers.htm[No Starch Press], 2012. ISBN: 978-"
+"1593272043\n"
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/bibliography/_index.adoc:67
-#, fuzzy
-#| msgid ""
-#| "*The Design And Implementation Of The Freebsd Operating System*, Second "
-#| "Edition, published by link:https://www.pearson.com/store/p/design-and-"
-#| "implementation-of-the-freebsd-operating-system-the/"
-#| "P200000000463/9780321968975[Pearson Education, Inc.], 2014. ISBN: "
-#| "978-0321968975\n"
-msgid ""
-"*The Design And Implementation Of The Freebsd Operating System*, Second "
-"Edition, published by link:https://www.pearson.com/store/p/design-and-"
-"implementation-of-the-freebsd-operating-system-the/"
-"P200000000463/9780321968975[Pearson Education, Inc.], 2014. ISBN: "
-"978-0321968975"
+#, no-wrap
+msgid "*The Design And Implementation Of The Freebsd Operating System*, Second Edition, published by link:https://www.pearson.com/store/p/design-and-implementation-of-the-freebsd-operating-system-the/P200000000463/9780321968975[Pearson Education, Inc.], 2014. ISBN: 978-0321968975\n"
msgstr ""
"*The Design And Implementation Of The Freebsd Operating System*, второе "
-"издание, издано link:https://www.pearson.com/store/p/design-and-"
-"implementation-of-the-freebsd-operating-system-the/"
-"P200000000463/9780321968975[Pearson Education, Inc.], 2014. ISBN: "
-"978-0321968975\n"
+"издание, издано link:https://www.pearson.com/store/p/"
+"design-and-implementation-of-the-freebsd-operating-system-the/P200000000463/"
+"9780321968975[Pearson Education, Inc.], 2014. ISBN: 978-0321968975\n"
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/bibliography/_index.adoc:68
-#, fuzzy
-#| msgid ""
-#| "*UNIX and Linux System Administration Handbook*, Fifth Edition, published "
-#| "by link:https://www.pearson.com/en-us/subject-catalog/p/unix-and-linux-"
-#| "system-administration-handbook/P200000000513/9780137460359[Pearson "
-#| "Education, Inc.], 2017. ISBN: 978-0134277554\n"
-msgid ""
-"*UNIX and Linux System Administration Handbook*, Fifth Edition, published by "
-"link:https://www.pearson.com/en-us/subject-catalog/p/unix-and-linux-system-"
-"administration-handbook/P200000000513/9780137460359[Pearson Education, "
-"Inc.], 2017. ISBN: 978-0134277554"
+#, no-wrap
+msgid "*UNIX and Linux System Administration Handbook*, Fifth Edition, published by link:https://www.pearson.com/en-us/subject-catalog/p/unix-and-linux-system-administration-handbook/P200000000513/9780137460359[Pearson Education, Inc.], 2017. ISBN: 978-0134277554\n"
msgstr ""
"*UNIX and Linux System Administration Handbook*, пятое издание, издано "
-"link:https://www.pearson.com/en-us/subject-catalog/p/unix-and-linux-system-"
-"administration-handbook/P200000000513/9780137460359[Pearson Education, "
-"Inc.], 2017. ISBN: 978-0134277554\n"
+"link:https://www.pearson.com/en-us/subject-catalog/p/"
+"unix-and-linux-system-administration-handbook/P200000000513/9780137460359["
+"Pearson Education, Inc.], 2017. ISBN: 978-0134277554\n"
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/bibliography/_index.adoc:69
-#, fuzzy
-#| msgid ""
-#| "*Designing BSD Rootkits*, published by link:https://nostarch.com/"
-#| "rootkits.htm[No Starch Press], 2007. ISBN: 978-1593271428\n"
-msgid ""
-"*Designing BSD Rootkits*, published by link:https://nostarch.com/"
-"rootkits.htm[No Starch Press], 2007. ISBN: 978-1593271428"
+#, no-wrap
+msgid "*Designing BSD Rootkits*, published by link:https://nostarch.com/rootkits.htm[No Starch Press], 2007. ISBN: 978-1593271428\n"
msgstr ""
"*Designing BSD Rootkits*, издано link:https://nostarch.com/rootkits.htm[No "
"Starch Press], 2007. ISBN: 978-1593271428\n"
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/bibliography/_index.adoc:70
-#, fuzzy
-#| msgid ""
-#| "*FreeBSD Jails using VNETs*, published in link:https://rderik.gumroad.com/"
-#| "l/uwOLZ[gumroad]\n"
-msgid ""
-"*FreeBSD Jails using VNETs*, published in link:https://rderik.gumroad.com/l/"
-"uwOLZ[gumroad]"
+#, no-wrap
+msgid "*FreeBSD Jails using VNETs*, published in link:https://rderik.gumroad.com/l/uwOLZ[gumroad]\n"
msgstr ""
"*FreeBSD Jails using VNETs*, опубликовано в link:https://rderik.gumroad.com/"
"l/uwOLZ[gumroad]\n"
@@ -245,31 +165,19 @@ msgstr ""
msgid "Security Reference"
msgstr "Издания о безопасности"
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/bibliography/_index.adoc:75
-#, fuzzy
-#| msgid ""
-#| "*The Book of PF: A No-Nonsense Guide to the OpenBSD Firewall*, Third "
-#| "Edition, published by link:https://nostarch.com/pf3[No Starch Press], "
-#| "2014. ISBN: 978-1593275891\n"
-msgid ""
-"*The Book of PF: A No-Nonsense Guide to the OpenBSD Firewall*, Third "
-"Edition, published by link:https://nostarch.com/pf3[No Starch Press], 2014. "
-"ISBN: 978-1593275891"
+#, no-wrap
+msgid "*The Book of PF: A No-Nonsense Guide to the OpenBSD Firewall*, Third Edition, published by link:https://nostarch.com/pf3[No Starch Press], 2014. ISBN: 978-1593275891\n"
msgstr ""
"*The Book of PF: A No-Nonsense Guide to the OpenBSD Firewall*, третье "
"издание, издано link:https://nostarch.com/pf3[No Starch Press], 2014 год. "
"ISBN: 978-1593275891\n"
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/bibliography/_index.adoc:76
-#, fuzzy
-#| msgid ""
-#| "*SSH Mastery: OpenSSH, PuTTY, Tunnels, and Keys*, Second Edition, 2018. "
-#| "ISBN: 978-1642350029\n"
-msgid ""
-"*SSH Mastery: OpenSSH, PuTTY, Tunnels, and Keys*, Second Edition, 2018. "
-"ISBN: 978-1642350029"
+#, no-wrap
+msgid "*SSH Mastery: OpenSSH, PuTTY, Tunnels, and Keys*, Second Edition, 2018. ISBN: 978-1642350029\n"
msgstr ""
"*SSH Mastery: OpenSSH, PuTTY, Tunnels, and Keys*, второе издание, 2018 год. "
"ISBN: 978-1642350029\n"
@@ -280,7 +188,7 @@ msgstr ""
msgid "UNIX(R) History"
msgstr "История UNIX(R)"
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/bibliography/_index.adoc:81
msgid ""
"Lion, John _Lion's Commentary on UNIX, 6th Ed. With Source Code_. ITP Media "
@@ -289,7 +197,7 @@ msgstr ""
"Lion, John _Lion's Commentary on UNIX, 6-е изд. С исходным кодом_. ITP Media "
"Group, 1996 год. ISBN 1573980137"
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/bibliography/_index.adoc:82
msgid ""
"Raymond, Eric S. _The New Hacker's Dictionary, 3rd edition_. MIT Press, "
@@ -300,7 +208,7 @@ msgstr ""
"1996 год. ISBN 0-262-68092-0. Также известен как http://www.catb.org/~esr/"
"jargon/html/index.html[Jargon File]"
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/bibliography/_index.adoc:83
msgid ""
"Salus, Peter H. _A quarter century of UNIX_. Addison-Wesley Publishing "
@@ -309,7 +217,7 @@ msgstr ""
"Salus, Peter H. _A quarter century of UNIX_. Издано Addison-Wesley "
"Publishing Company, Inc., 1994 год. ISBN 0-201-54777-5"
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/bibliography/_index.adoc:84
msgid ""
"Simon Garfinkel, Daniel Weise, Steven Strassmann. _The UNIX-HATERS "
@@ -320,7 +228,7 @@ msgstr ""
"Handbook_. IDG Books Worldwide, Inc., 1994 год. ISBN 1-56884-203-1. Книга "
"снята с печати, но доступна http://www.simson.net/ref/ugh.pdf[онлайн]."
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/bibliography/_index.adoc:85
msgid ""
"Don Libes, Sandy Ressler _Life with UNIX_ - special edition. Prentice-Hall, "
@@ -329,7 +237,7 @@ msgstr ""
"Don Libes, Sandy Ressler _Life with UNIX_ - специальное издание. Prentice-"
"Hall, Inc., 1989 год. ISBN 0-13-536657-7"
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/bibliography/_index.adoc:86
msgid ""
"_The BSD family tree_. https://cgit.freebsd.org/src/tree/share/misc/bsd-"
@@ -338,16 +246,16 @@ msgid ""
"family-tree] on a FreeBSD machine."
msgstr ""
"_Генеалогическое древо BSD_. https://cgit.freebsd.org/src/tree/share/misc/"
-"bsd-family-tree[https://cgit.freebsd.org/src/tree/share/misc/bsd-family-"
-"tree] или link:file://localhost/usr/share/misc/bsd-family-tree[/usr/share/"
-"misc/bsd-family-tree] на машине с FreeBSD."
+"bsd-family-tree[https://cgit.freebsd.org/src/tree/share/misc/bsd-family-tree]"
+" или link:file://localhost/usr/share/misc/bsd-family-tree[/usr/share/misc/"
+"bsd-family-tree] на машине с FreeBSD."
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/bibliography/_index.adoc:87
msgid "_Networked Computer Science Technical Reports Library_."
msgstr "_Сетевая библиотека технических отчетов по компьютерным наукам_."
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/bibliography/_index.adoc:88
msgid ""
"_Old BSD releases from the Computer Systems Research group (CSRG)_. http://"
@@ -362,7 +270,7 @@ msgstr ""
"сожалению, не 2.11BSD). На последнем диске также находятся окончательные "
"исходные тексты вместе с файлами SCCS."
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/bibliography/_index.adoc:89
msgid ""
"Kernighan, Brian _Unix: A History and a Memoir_. Kindle Direct Publishing, "
@@ -377,7 +285,7 @@ msgstr ""
msgid "Periodicals, Journals, and Magazines"
msgstr "Периодические издания, журналы и газеты"
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/bibliography/_index.adoc:94
msgid ""
"https://www.admin-magazin.de/[Admin Magazin] (in German), published by "
@@ -386,7 +294,7 @@ msgstr ""
"https://www.admin-magazin.de/[Admin Magazin] (на немецком языке), "
"издательство Medialinx AG. ISSN: 2190-1066"
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/bibliography/_index.adoc:95
msgid ""
"https://www.bsdnow.tv/[BSD Now - Video Podcast], published by Jupiter "
@@ -395,7 +303,7 @@ msgstr ""
"https://www.bsdnow.tv/[BSD Now - Video Podcast], издано Jupiter Broadcasting "
"LLC"
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/bibliography/_index.adoc:95
msgid ""
"https://freebsdfoundation.org/our-work/journal/[FreeBSD Journal], published "
diff --git a/documentation/content/ru/books/handbook/book.adoc b/documentation/content/ru/books/handbook/book.adoc
index 9c4c66983c..cd3846634c 100644
--- a/documentation/content/ru/books/handbook/book.adoc
+++ b/documentation/content/ru/books/handbook/book.adoc
@@ -1,5 +1,5 @@
---
-add_split_page_link: true
+add_split_page_link: 'true'
authors:
-
author: 'The FreeBSD Documentation Project'
diff --git a/documentation/content/ru/books/handbook/book.po b/documentation/content/ru/books/handbook/book.po
index 3b4f18e470..6c5b150136 100644
--- a/documentation/content/ru/books/handbook/book.po
+++ b/documentation/content/ru/books/handbook/book.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2022-07-07 23:22-0300\n"
"PO-Revision-Date: 2025-05-26 08:57+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,11 +18,12 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/book.adoc:1
#, no-wrap
msgid "A constantly evolving, comprehensive resource for FreeBSD users"
-msgstr "Постоянно развивающийся и всеобъемлющий ресурс для пользователей FreeBSD"
+msgstr ""
+"Постоянно развивающийся и всеобъемлющий ресурс для пользователей FreeBSD"
#. type: Title =
#: documentation/content/en/books/handbook/book.adoc:1
diff --git a/documentation/content/ru/books/handbook/boot/_index.adoc b/documentation/content/ru/books/handbook/boot/_index.adoc
index 6683bbeeb8..eb9e96622c 100644
--- a/documentation/content/ru/books/handbook/boot/_index.adoc
+++ b/documentation/content/ru/books/handbook/boot/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/boot/
part: 'Часть III. Администрирование системы'
prev: books/handbook/config
-showBookMenu: true
+showBookMenu: 'true'
tags: ["boot", "boot process", "device hints", "x86", "amd64", "MBR", "GPT", "UEFI", "bsdlabel", "boot0", "Single-User Mode", "Multi-User Mode"]
title: 'Глава 15. Процесс загрузки FreeBSD'
weight: 19
diff --git a/documentation/content/ru/books/handbook/boot/_index.po b/documentation/content/ru/books/handbook/boot/_index.po
index c62637540e..88409186f8 100644
--- a/documentation/content/ru/books/handbook/boot/_index.po
+++ b/documentation/content/ru/books/handbook/boot/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\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/"
@@ -18,19 +18,23 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/boot/_index.adoc:1
#, no-wrap
msgid "An introduction to the FreeBSD Booting Process, demonstrates how to customize the FreeBSD boot process, including everything that happens until the FreeBSD kernel has started, probed for devices, and started init"
-msgstr "В этой главе описывается процесс загрузки FreeBSD и способы его настройки. Рассматриваются все этапы — от начальной загрузки до момента, когда ядро FreeBSD завершает инициализацию, определяет оборудование и запускает процесс init"
+msgstr ""
+"В этой главе описывается процесс загрузки FreeBSD и способы его настройки. "
+"Рассматриваются все этапы — от начальной загрузки до момента, когда ядро "
+"FreeBSD завершает инициализацию, определяет оборудование и запускает процесс "
+"init"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/boot/_index.adoc:1
#, no-wrap
msgid "Part III. System Administration"
msgstr "Часть III. Администрирование системы"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/boot/_index.adoc:1
#, no-wrap
msgid "Chapter 15. The FreeBSD Booting Process"
@@ -405,8 +409,8 @@ msgid ""
msgstr ""
"Первая стадия, [.filename]#boot1#, очень проста, так как её размер может "
"составлять только 512 байт. Она знает ровно столько о _bsdlabel_ FreeBSD, в "
-"котором хранится информация о слайсе, чтобы найти и выполнить "
-"[.filename]#boot2#."
+"котором хранится информация о слайсе, чтобы найти и выполнить [."
+"filename]#boot2#."
#. type: Plain text
#: documentation/content/en/books/handbook/boot/_index.adoc:177
@@ -452,8 +456,8 @@ msgid ""
msgstr ""
"Для замены установленных [.filename]#boot1# и [.filename]#boot2# используйте "
"`bsdlabel`, где _diskslice_ — это диск и раздел, с которого производится "
-"загрузка, например [.filename]#ad0s1# для первого раздела на первом IDE-"
-"диске:"
+"загрузка, например [.filename]#ad0s1# для первого раздела на первом "
+"IDE-диске:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/boot/_index.adoc:197
@@ -525,10 +529,10 @@ msgid ""
msgstr ""
"Затем загрузчик прочитает [.filename]#/boot/loader.rc#, который по умолчанию "
"загружает [.filename]#/boot/defaults/loader.conf#, где задаются разумные "
-"значения по умолчанию для переменных, а также читает [.filename]#/boot/"
-"loader.conf# для локальных изменений этих переменных. После этого "
-"[.filename]#loader.rc# действует в соответствии с этими переменными, "
-"загружая выбранные модули и ядро."
+"значения по умолчанию для переменных, а также читает [.filename]#/boot/loader"
+".conf# для локальных изменений этих переменных. После этого [."
+"filename]#loader.rc# действует в соответствии с этими переменными, загружая "
+"выбранные модули и ядро."
#. type: Plain text
#: documentation/content/en/books/handbook/boot/_index.adoc:223
@@ -579,7 +583,10 @@ msgstr "autoboot _секунды_"
#: documentation/content/en/books/handbook/boot/_index.adoc:234
#, no-wrap
msgid "Proceeds to boot the kernel if not interrupted within the time span given, in seconds. It displays a countdown, and the default time span is 10 seconds."
-msgstr "Продолжает загрузку ядра, если не прервано в течение указанного времени в секундах. Отображает обратный отсчет, а время по умолчанию составляет 10 секунд."
+msgstr ""
+"Продолжает загрузку ядра, если не прервано в течение указанного времени в "
+"секундах. Отображает обратный отсчет, а время по умолчанию составляет 10 "
+"секунд."
#. type: Table
#: documentation/content/en/books/handbook/boot/_index.adoc:235
@@ -591,7 +598,12 @@ msgstr "boot [`-options`] [`kernelname`]"
#: documentation/content/en/books/handbook/boot/_index.adoc:237
#, no-wrap
msgid "Immediately proceeds to boot the kernel, with any specified options or kernel name. Providing a kernel name on the command-line is only applicable after an `unload` has been issued. Otherwise, the previously-loaded kernel will be used. If _kernelname_ is not qualified, it will be searched under _/boot/kernel_ and _/boot/modules_."
-msgstr "Немедленно переходит к загрузке ядра с любыми указанными параметрами или именем ядра. Указание имени ядра в командной строке применимо только после выполнения команды `unload`. В противном случае будет использовано ранее загруженное ядро. Если _kernelname_ не указан полностью, поиск будет выполнен в _/boot/kernel_ и _/boot/modules_."
+msgstr ""
+"Немедленно переходит к загрузке ядра с любыми указанными параметрами или "
+"именем ядра. Указание имени ядра в командной строке применимо только после "
+"выполнения команды `unload`. В противном случае будет использовано ранее "
+"загруженное ядро. Если _kernelname_ не указан полностью, поиск будет "
+"выполнен в _/boot/kernel_ и _/boot/modules_."
#. type: Table
#: documentation/content/en/books/handbook/boot/_index.adoc:238
@@ -603,7 +615,10 @@ msgstr "boot-conf"
#: documentation/content/en/books/handbook/boot/_index.adoc:240
#, no-wrap
msgid "Goes through the same automatic configuration of modules based on specified variables, most commonly `kernel`. This only makes sense if `unload` is used first, before changing some variables."
-msgstr "Проходит ту же автоматическую настройку модулей на основе указанных переменных, чаще всего `kernel`. Имеет смысл только при использовании `unload` перед изменением некоторых переменных."
+msgstr ""
+"Проходит ту же автоматическую настройку модулей на основе указанных "
+"переменных, чаще всего `kernel`. Имеет смысл только при использовании "
+"`unload` перед изменением некоторых переменных."
#. type: Table
#: documentation/content/en/books/handbook/boot/_index.adoc:241
@@ -615,7 +630,9 @@ msgstr "help [`_тема_`]"
#: documentation/content/en/books/handbook/boot/_index.adoc:243
#, no-wrap
msgid "Shows help messages read from [.filename]#/boot/loader.help#. If the topic given is `index`, the list of available topics is displayed."
-msgstr "Показывает справочные сообщения, прочитанные из файла [.filename]#/boot/loader.help#. Если указана тема `index`, отображается список доступных тем."
+msgstr ""
+"Показывает справочные сообщения, прочитанные из файла [.filename]#/boot/"
+"loader.help#. Если указана тема `index`, отображается список доступных тем."
#. type: Table
#: documentation/content/en/books/handbook/boot/_index.adoc:244
@@ -627,7 +644,9 @@ msgstr "include `_имяфайла_` ..."
#: documentation/content/en/books/handbook/boot/_index.adoc:246
#, no-wrap
msgid "Reads the specified file and interprets it line by line. An error immediately stops the `include`."
-msgstr "Читает указанный файл и обрабатывает его построчно. Ошибка немедленно останавливает `include`."
+msgstr ""
+"Читает указанный файл и обрабатывает его построчно. Ошибка немедленно "
+"останавливает `include`."
#. type: Table
#: documentation/content/en/books/handbook/boot/_index.adoc:247
@@ -639,7 +658,10 @@ msgstr "load [-t ``_тип_``] `_имяфайла_`"
#: documentation/content/en/books/handbook/boot/_index.adoc:249
#, no-wrap
msgid "Loads the kernel, kernel module, or file of the type given, with the specified filename. Any arguments after _filename_ are passed to the file. If _filename_ is not qualified, it will be searched under _/boot/kernel_ and _/boot/modules_."
-msgstr "Загружает ядро, модуль ядра или файл указанного типа с заданным именем. Все аргументы после _имяфайла_ передаются файлу. Если _имяфайла_ не указано полностью, файл будет искаться в _/boot/kernel_ и _/boot/modules_."
+msgstr ""
+"Загружает ядро, модуль ядра или файл указанного типа с заданным именем. Все "
+"аргументы после _имяфайла_ передаются файлу. Если _имяфайла_ не указано "
+"полностью, файл будет искаться в _/boot/kernel_ и _/boot/modules_."
#. type: Table
#: documentation/content/en/books/handbook/boot/_index.adoc:250
@@ -651,7 +673,9 @@ msgstr "ls [-l] [``_путь_``]"
#: documentation/content/en/books/handbook/boot/_index.adoc:252
#, no-wrap
msgid "Displays a listing of files in the given path, or the root directory, if the path is not specified. If `-l` is specified, file sizes will also be shown."
-msgstr "Отображает список файлов в указанном пути или в корневом каталоге, если путь не указан. Если указан параметр `-l`, также будут показаны размеры файлов."
+msgstr ""
+"Отображает список файлов в указанном пути или в корневом каталоге, если путь "
+"не указан. Если указан параметр `-l`, также будут показаны размеры файлов."
#. type: Table
#: documentation/content/en/books/handbook/boot/_index.adoc:253
@@ -663,7 +687,9 @@ msgstr "lsdev [`-v`]"
#: documentation/content/en/books/handbook/boot/_index.adoc:255
#, no-wrap
msgid "Lists all of the devices from which it may be possible to load modules. If `-v` is specified, more details are printed."
-msgstr "Перечисляет все устройства, с которых возможно загрузить модули. Если указан параметр `-v`, выводится более подробная информация."
+msgstr ""
+"Перечисляет все устройства, с которых возможно загрузить модули. Если указан "
+"параметр `-v`, выводится более подробная информация."
#. type: Table
#: documentation/content/en/books/handbook/boot/_index.adoc:256
@@ -675,7 +701,9 @@ msgstr "lsmod [`-v`]"
#: documentation/content/en/books/handbook/boot/_index.adoc:258
#, no-wrap
msgid "Displays loaded modules. If `-v` is specified, more details are shown."
-msgstr "Отображает загруженные модули. Если указан параметр `-v`, выводится более подробная информация."
+msgstr ""
+"Отображает загруженные модули. Если указан параметр `-v`, выводится более "
+"подробная информация."
#. type: Table
#: documentation/content/en/books/handbook/boot/_index.adoc:259
@@ -687,7 +715,8 @@ msgstr "more `_имяфайла_`"
#: documentation/content/en/books/handbook/boot/_index.adoc:261
#, no-wrap
msgid "Displays the files specified, with a pause at each `LINES` displayed."
-msgstr "Отображает указанные файлы с паузой после каждых `LINES` выведенных строк."
+msgstr ""
+"Отображает указанные файлы с паузой после каждых `LINES` выведенных строк."
#. type: Table
#: documentation/content/en/books/handbook/boot/_index.adoc:262
@@ -768,9 +797,9 @@ msgid ""
"or before configuring a custom kernel."
msgstr ""
"Используйте полный путь [.filename]#/boot/GENERIC/kernel# для ссылки на "
-"стандартное ядро, поставляемое с установкой, или [.filename]#/boot/"
-"kernel.old/kernel# для ссылки на предыдущую версию ядра до обновления "
-"системы или до настройки собственного ядра."
+"стандартное ядро, поставляемое с установкой, или [.filename]#/boot/kernel."
+"old/kernel# для ссылки на предыдущую версию ядра до обновления системы или "
+"до настройки собственного ядра."
#. type: Plain text
#: documentation/content/en/books/handbook/boot/_index.adoc:291
@@ -819,11 +848,11 @@ msgid ""
"used boot flags. Refer to man:boot[8] for more information on the other "
"boot flags."
msgstr ""
-"После загрузки ядра с помощью `loader` или `boot2`, который обходит "
-"`loader`, оно проверяет флаги загрузки и при необходимости корректирует свое "
-"поведение. В crossref:boot[boot-kernel,Взаимодействие ядра во время "
-"загрузки] приведены часто используемые флаги загрузки. Дополнительную "
-"информацию о других флагах загрузки можно найти в man:boot[8]."
+"После загрузки ядра с помощью `loader` или `boot2`, который обходит `loader`"
+", оно проверяет флаги загрузки и при необходимости корректирует свое "
+"поведение. В crossref:boot[boot-kernel,Взаимодействие ядра во время загрузки]"
+" приведены часто используемые флаги загрузки. Дополнительную информацию о "
+"других флагах загрузки можно найти в man:boot[8]."
#. type: Block title
#: documentation/content/en/books/handbook/boot/_index.adoc:314
@@ -847,7 +876,9 @@ msgstr "`-a`"
#: documentation/content/en/books/handbook/boot/_index.adoc:323
#, no-wrap
msgid "During kernel initialization, ask for the device to mount as the root file system."
-msgstr "Во время инициализации ядра запросить устройство для монтирования в качестве корневой файловой системы."
+msgstr ""
+"Во время инициализации ядра запросить устройство для монтирования в качестве "
+"корневой файловой системы."
#. type: Table
#: documentation/content/en/books/handbook/boot/_index.adoc:324
@@ -1011,7 +1042,8 @@ msgid ""
msgstr ""
"# name getty type status comments\n"
"#\n"
-"# If console is marked \"insecure\", then init will ask for the root password\n"
+"# If console is marked \"insecure\", then init will ask for the root "
+"password\n"
"# when going to single-user mode.\n"
"console none unknown off insecure\n"
@@ -1055,12 +1087,11 @@ msgid ""
"services, miscellaneous system daemons, then the startup scripts of locally "
"installed packages."
msgstr ""
-"Система конфигурации ресурсов загружает настройки по умолчанию из "
-"[.filename]#/etc/defaults/rc.conf# и специфичные для системы параметры из "
-"[.filename]#/etc/rc.conf#. Затем она монтирует файловые системы, "
-"перечисленные в [.filename]#/etc/fstab#. После этого запускаются сетевые "
-"службы, различные системные демоны, а затем скрипты запуска локально "
-"установленных пакетов."
+"Система конфигурации ресурсов загружает настройки по умолчанию из [."
+"filename]#/etc/defaults/rc.conf# и специфичные для системы параметры из [."
+"filename]#/etc/rc.conf#. Затем она монтирует файловые системы, перечисленные "
+"в [.filename]#/etc/fstab#. После этого запускаются сетевые службы, различные "
+"системные демоны, а затем скрипты запуска локально установленных пакетов."
#. type: delimited block = 4
#: documentation/content/en/books/handbook/boot/_index.adoc:393
@@ -1087,9 +1118,9 @@ msgid ""
msgstr ""
"Во время начальной загрузки системы загрузчик man:loader[8] читает файл "
"man:device.hints[5]. Этот файл хранит информацию о загрузке ядра, известную "
-"как переменные, иногда называемые \"подсказками устройств\" (\"device "
-"hints\"). Эти \"подсказки устройств\" используются драйверами устройств для "
-"их конфигурации."
+"как переменные, иногда называемые \"подсказками устройств\" (\"device hints\""
+"). Эти \"подсказки устройств\" используются драйверами устройств для их "
+"конфигурации."
#. type: delimited block = 4
#: documentation/content/en/books/handbook/boot/_index.adoc:406
@@ -1235,8 +1266,8 @@ msgid ""
msgstr ""
"Для выключения питания машины FreeBSD на архитектурах и системах, "
"поддерживающих управление питанием, используйте `shutdown -p now`, чтобы "
-"немедленно отключить питание. Для перезагрузки системы FreeBSD используйте "
-"`shutdown -r now`. Для выполнения man:shutdown[8] необходимо быть `root` или "
+"немедленно отключить питание. Для перезагрузки системы FreeBSD используйте `"
+"shutdown -r now`. Для выполнения man:shutdown[8] необходимо быть `root` или "
"членом группы `operator`. Также можно использовать man:halt[8] и "
"man:reboot[8]. Дополнительную информацию см. на их справочных страницах и в "
"man:shutdown[8]."
diff --git a/documentation/content/ru/books/handbook/bsdinstall/_index.adoc b/documentation/content/ru/books/handbook/bsdinstall/_index.adoc
index 698f65e12d..2dc9322370 100644
--- a/documentation/content/ru/books/handbook/bsdinstall/_index.adoc
+++ b/documentation/content/ru/books/handbook/bsdinstall/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/bsdinstall/
part: 'В начале'
prev: books/handbook/introduction
-showBookMenu: true
+showBookMenu: 'true'
tags: ["bsdinstall", "installing FreeBSD", "requirements", "tutorial", "guide"]
title: 'Глава 2. Установка FreeBSD'
weight: 4
@@ -89,10 +89,10 @@ FreeBSD поддерживает различные архитектуры, вк
[.procedure]
====
-. *Back Up Important Data*
+. *Резервное копирование важных данных*
+
Перед установкой любой операционной системы *всегда* создавайте резервную копию всех важных данных. Не храните резервную копию на системе, на которую производится установка. Вместо этого сохраните данные на съемный диск, такой как USB-накопитель, другую систему в сети или в онлайн-сервис резервного копирования. Проверьте резервную копию перед началом установки, чтобы убедиться, что она содержит все необходимые файлы. После того как установщик отформатирует диск системы, все данные, хранящиеся на этом диске, будут потеряны.
-. *Decide Where to Install FreeBSD*
+. *Выберите место для установки FreeBSD*
+
Если FreeBSD будет единственной операционной системой, этот шаг можно пропустить. Но если FreeBSD будет находиться на диске вместе с другой операционной системой, определите, какой диск или раздел будет использоваться для FreeBSD.
+
@@ -110,7 +110,7 @@ FreeBSD поддерживает различные архитектуры, вк
======
+
Разделы диска с разными операционными системами позволяют установить несколько операционных систем на один компьютер.
-. *Collect Network Information*
+. *Соберите информацию о сети*
+
Некоторые методы установки FreeBSD требуют наличия сетевого подключения для загрузки файлов установки. После одного из этапов установки программа-установщик предложит настроить сетевые интерфейсы системы.
+
@@ -125,7 +125,7 @@ FreeBSD поддерживает различные архитектуры, вк
.. Доменное имя сети
.. IP-адреса DNS-серверов сети
-. *Check for FreeBSD Errata*
+. *Проверьте наличие исправлений в FreeBSD*
+
Хотя проект FreeBSD стремится к тому, чтобы каждая версия FreeBSD была максимально стабильной, иногда в процессе могут возникать ошибки. В очень редких случаях эти ошибки влияют на процесс установки. Когда такие проблемы обнаруживаются и исправляются, они отмечаются на странице FreeBSD Errata для каждой версии. Перед установкой проверьте список errata, чтобы убедиться в отсутствии проблем, которые могут повлиять на установку.
+
@@ -176,7 +176,7 @@ FreeBSD-13.1-RELEASE-amd64-dvd1.iso: OK
[[bsdinstall-usb-dd]]
[.procedure]
====
-*Procedure. Using `dd` to write the image* +
+*Процедура. Использование `dd` для записи образа* +
[WARNING]
======
@@ -197,18 +197,18 @@ FreeBSD-13.1-RELEASE-amd64-dvd1.iso: OK
[.procedure]
====
-*Procedure. Using Windows(R) to Write the Image* +
+*Процедура. Запись образа с использованием Windows(R)* +
[WARNING]
======
Убедитесь, что указали правильную букву диска, так как все существующие данные на указанном диске будут перезаписаны и уничтожены.
======
-. *Obtaining Image Writer for Windows(R)*
+. *Получение Image Writer для Windows(R)*
+
`Image Writer for Windows(R)` — это бесплатное приложение, которое позволяет корректно записать файл образа на USB-накопитель. Загрузите его с https://sourceforge.net/projects/win32diskimager/[официальной страницы win32diskimager] и распакуйте в нужную папку.
-. *Writing the Image with Image Writer*
+. *Запись образа с помощью Image Writer*
+
Дважды щелкните по значку Win32DiskImager, чтобы запустить программу. Убедитесь, что буква диска, указанная в разделе `Device`, соответствует диску с флеш-накопителем. Нажмите на значок папки и выберите образ, который нужно записать на флеш-накопитель. Нажмите btn:[Save], чтобы подтвердить имя файла образа. Убедитесь, что все правильно и что никакие папки на флеш-накопителе не открыты в других окнах. Когда все готово, нажмите btn:[Write], чтобы записать файл образа на флеш-накопитель.
====
diff --git a/documentation/content/ru/books/handbook/bsdinstall/_index.po b/documentation/content/ru/books/handbook/bsdinstall/_index.po
index 9dd2af3291..e62a018642 100644
--- a/documentation/content/ru/books/handbook/bsdinstall/_index.po
+++ b/documentation/content/ru/books/handbook/bsdinstall/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-08-17 20:54+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/"
@@ -18,19 +18,19 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1
#, no-wrap
msgid "Guide about how to install FreeBSD, the minimum hardware requirements and supported architectures, how to create the installation media, etc"
msgstr "Руководство по установке FreeBSD, минимальным требованиям к оборудованию и поддерживаемым архитектурам, созданию установочного диска и так далее"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1
#, no-wrap
msgid "Part I. Getting Started"
msgstr "В начале"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1
#, no-wrap
msgid "Chapter 2. Installing FreeBSD"
@@ -193,10 +193,9 @@ msgid ""
"want to use FreeBSD on a system that already has another operating system "
"installed."
msgstr ""
-"Рассмотрите возможность использования "
-"crossref:virtualization[virtualization,Виртуализации], если вы хотите "
-"использовать FreeBSD на системе, где уже установлена другая операционная "
-"система."
+"Рассмотрите возможность использования crossref:virtualization[virtualization,"
+"Виртуализации], если вы хотите использовать FreeBSD на системе, где уже "
+"установлена другая операционная система."
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:93
@@ -209,9 +208,8 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:97
-#, fuzzy
-#| msgid "*Back Up Important Data*\n"
-msgid "*Back Up Important Data*"
+#, no-wrap
+msgid "*Back Up Important Data*\n"
msgstr "*Резервное копирование важных данных*\n"
#. type: delimited block = 4
@@ -236,9 +234,8 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:104
-#, fuzzy
-#| msgid "*Decide Where to Install FreeBSD*\n"
-msgid "*Decide Where to Install FreeBSD*"
+#, no-wrap
+msgid "*Decide Where to Install FreeBSD*\n"
msgstr "*Выберите место для установки FreeBSD*\n"
#. type: delimited block = 4
@@ -307,9 +304,9 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:123
msgid ""
-"A variety of free and commercial partition resizing tools are listed at "
-"link:https://en.wikipedia.org/wiki/List_of_disk_partitioning_software[List "
-"of disk partitioning software wikipedia entry]. link:https://gparted.org/"
+"A variety of free and commercial partition resizing tools are listed at link:"
+"https://en.wikipedia.org/wiki/List_of_disk_partitioning_software[List of "
+"disk partitioning software wikipedia entry]. link:https://gparted.org/"
"livecd.php[GParted Live] is a free live CD which includes the GParted "
"partition editor."
msgstr ""
@@ -343,9 +340,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:132
-#, fuzzy
-#| msgid "*Collect Network Information*\n"
-msgid "*Collect Network Information*"
+#, no-wrap
+msgid "*Collect Network Information*\n"
msgstr "*Соберите информацию о сети*\n"
#. type: Plain text
@@ -404,9 +400,8 @@ msgstr "IP-адреса DNS-серверов сети"
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:149
-#, fuzzy
-#| msgid "*Check for FreeBSD Errata*\n"
-msgid "*Check for FreeBSD Errata*"
+#, no-wrap
+msgid "*Check for FreeBSD Errata*\n"
msgstr "*Проверьте наличие исправлений в FreeBSD*\n"
#. type: Plain text
@@ -432,8 +427,8 @@ msgid ""
"Information and errata for all the releases can be found on the link:https://"
"www.FreeBSD.org/releases/[FreeBSD Release Information] page."
msgstr ""
-"Информация и список ошибок для всех выпусков доступны на странице "
-"link:https://www.FreeBSD.org/releases/[Информация о релизе FreeBSD]."
+"Информация и список ошибок для всех выпусков доступны на странице link:"
+"https://www.FreeBSD.org/releases/[Информация о релизе FreeBSD]."
#. type: Title ===
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:159
@@ -468,12 +463,12 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:169
msgid ""
-"Installation files are available in several formats, compressed with "
-"man:xz[1] or uncompressed. The formats vary depending on computer "
-"architecture and media type."
+"Installation files are available in several formats, compressed with man:"
+"xz[1] or uncompressed. The formats vary depending on computer architecture "
+"and media type."
msgstr ""
-"Файлы для установки доступны в нескольких форматах, сжатые с помощью "
-"man:xz[1] или несжатые. Форматы различаются в зависимости от архитектуры "
+"Файлы для установки доступны в нескольких форматах, сжатые с помощью man:"
+"xz[1] или несжатые. Форматы различаются в зависимости от архитектуры "
"компьютера и типа носителя."
#. type: delimited block = 4
@@ -584,8 +579,8 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:193
msgid ""
-"Verifying the _checksum_ in FreeBSD can be done automatically using "
-"man:sha256sum[1] (and man:sha512sum[1]) by executing:"
+"Verifying the _checksum_ in FreeBSD can be done automatically using man:"
+"sha256sum[1] (and man:sha512sum[1]) by executing:"
msgstr ""
"Проверка _контрольной суммы_ в FreeBSD может быть выполнена автоматически с "
"помощью man:sha256sum[1] (и man:sha512sum[1]) путем выполнения:"
@@ -639,9 +634,8 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:221
-#, fuzzy
-#| msgid "*Procedure. Using `dd` to write the image* +\n"
-msgid "*Procedure. Using `dd` to write the image* +"
+#, no-wrap
+msgid "*Procedure. Using `dd` to write the image* +\n"
msgstr "*Процедура. Использование `dd` для записи образа* +\n"
#. type: delimited block = 6
@@ -689,11 +683,10 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:241
msgid ""
-"Some operating systems might require this command to be run with "
-"man:sudo[8]. The man:dd[1] syntax varies slightly across different "
-"platforms; for example, Mac OS(R) requires a lower-case `bs=1m`. Systems "
-"like Linux(R) might buffer writes. To force all writes to complete, use "
-"man:sync[8]."
+"Some operating systems might require this command to be run with man:"
+"sudo[8]. The man:dd[1] syntax varies slightly across different platforms; "
+"for example, Mac OS(R) requires a lower-case `bs=1m`. Systems like Linux(R) "
+"might buffer writes. To force all writes to complete, use man:sync[8]."
msgstr ""
"Некоторые операционные системы могут потребовать выполнения этой команды с "
"man:sudo[8]. Синтаксис man:dd[1] немного различается на разных платформах; "
@@ -701,11 +694,10 @@ msgstr ""
"такие как Linux(R), могут буферизировать запись. Чтобы принудительно "
"завершить все операции записи, используйте man:sync[8]."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:246
-#, fuzzy
-#| msgid "*Procedure. Using Windows(R) to Write the Image* +\n"
-msgid "*Procedure. Using Windows(R) to Write the Image* +"
+#, no-wrap
+msgid "*Procedure. Using Windows(R) to Write the Image* +\n"
msgstr "*Процедура. Запись образа с использованием Windows(R)* +\n"
#. type: delimited block = 6
@@ -719,9 +711,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:253
-#, fuzzy
-#| msgid "*Obtaining Image Writer for Windows(R)*\n"
-msgid "*Obtaining Image Writer for Windows(R)*"
+#, no-wrap
+msgid "*Obtaining Image Writer for Windows(R)*\n"
msgstr "*Получение Image Writer для Windows(R)*\n"
#. type: Plain text
@@ -739,9 +730,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:258
-#, fuzzy
-#| msgid "*Writing the Image with Image Writer*\n"
-msgid "*Writing the Image with Image Writer*"
+#, no-wrap
+msgid "*Writing the Image with Image Writer*\n"
msgstr "*Запись образа с помощью Image Writer*\n"
#. type: Plain text
@@ -769,7 +759,7 @@ msgstr ""
msgid "Starting the Installation"
msgstr "Начало установки"
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:273
msgid ""
"By default, the installation will not make any changes to the disk(s) before "
@@ -815,8 +805,8 @@ msgid ""
"media depends upon the architecture."
msgstr ""
"В этом разделе описывается, как загрузить систему с установочного носителя, "
-"подготовленного в соответствии с инструкциями в пункте "
-"crossref:bsdinstall[bsdinstall-installation-media, Подготовка установочного "
+"подготовленного в соответствии с инструкциями в пункте crossref:"
+"bsdinstall[bsdinstall-installation-media, Подготовка установочного "
"носителя]. При использовании загрузочной USB-флешки подключите её к "
"компьютеру перед включением. При загрузке с CD или DVD включите компьютер и "
"вставьте носитель при первой возможности. Настройка системы для загрузки с "
@@ -912,9 +902,9 @@ msgid ""
"`Cons`: Allow to continue the installation by `video`, `serial`, `Dual "
"(serial primary)` or `Dual (Video primary)`"
msgstr ""
-"`Cons`: Позволяет продолжить установку через `видео`, `последовательный "
-"порт`, `двухконсольную конфигурацию (основная консоль — последовательный "
-"порт)` или `двухконсольную конфигурацию (основная консоль — видео)`"
+"`Cons`: Позволяет продолжить установку через `видео`, `последовательный порт`"
+", `двухконсольную конфигурацию (основная консоль — последовательный порт)` "
+"или `двухконсольную конфигурацию (основная консоль — видео)`"
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:313
@@ -924,8 +914,8 @@ msgstr "`Ядро (Kernel)`: Загружает другое ядро."
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:315
msgid ""
-"`Boot Options`: Opens the menu shown in, and described under, "
-"crossref:bsdinstall[bsdinstall-boot-options-menu,FreeBSD Boot Options Menu]."
+"`Boot Options`: Opens the menu shown in, and described under, crossref:"
+"bsdinstall[bsdinstall-boot-options-menu,FreeBSD Boot Options Menu]."
msgstr ""
"`Параметры загрузки (Boot Options)`: Открывает меню, показанное на рисунке "
"crossref:bsdinstall[bsdinstall-boot-options-menu,Меню параметров загрузки "
@@ -1004,9 +994,9 @@ msgid ""
"Mode”]. Once the problem is fixed, set it back to `Off`."
msgstr ""
"`Однопользовательский (Single User)`: Установите этот параметр в `Вкл`, "
-"чтобы исправить существующую установку FreeBSD, как описано в "
-"crossref:boot[boot-singleuser,“Однопользовательский режим”]. После "
-"устранения проблемы верните значение `Выкл`."
+"чтобы исправить существующую установку FreeBSD, как описано в crossref:"
+"boot[boot-singleuser,“Однопользовательский режим”]. После устранения "
+"проблемы верните значение `Выкл`."
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:331
@@ -1064,8 +1054,8 @@ msgid ""
"the desired menu item. The btn:[Shell] can be used to access a FreeBSD "
"shell in order to use command line utilities to prepare the disks before "
"installation. The btn:[Live CD] option can be used to try out FreeBSD "
-"before installing it. The live version is described in "
-"crossref:bsdinstall[using-live-cd, Using the Live CD]."
+"before installing it. The live version is described in crossref:"
+"bsdinstall[using-live-cd, Using the Live CD]."
msgstr ""
"Нажмите kbd:[Enter], чтобы выбрать вариант по умолчанию btn:[Install] и "
"перейти к установке. В остальной части этой главы описывается, как "
@@ -1076,7 +1066,7 @@ msgstr ""
"btn:[Live CD] позволяет попробовать FreeBSD перед установкой. Версия Live CD "
"описана в пункте crossref:bsdinstall[using-live-cd, Использование Live CD]."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:353
msgid ""
"To review the boot messages, including the hardware device probe, press the "
@@ -1097,7 +1087,7 @@ msgstr ""
msgid "Using bsdinstall"
msgstr "Использование bsdinstall"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:361
msgid ""
"This section shows the order of the bsdinstall menus and the type of "
@@ -1118,7 +1108,7 @@ msgstr ""
msgid "Selecting the Keymap Menu"
msgstr "Меню выбора раскладки клавиатуры"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:367
msgid ""
"Before starting the process, bsdinstall will load the keymap files as shown "
@@ -1146,7 +1136,7 @@ msgstr "Загрузка раскладки клавиатуры"
msgid "bsdinstall-keymap-loading.png"
msgstr "bsdinstall-keymap-loading.png"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:376
msgid ""
"After the keymaps have been loaded, bsdinstall displays the menu shown in "
@@ -1179,7 +1169,7 @@ msgstr "Меню выбора раскладки клавиатуры со сп
msgid "bsdinstall-keymap-10.png"
msgstr "bsdinstall-keymap-10.png"
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:385
msgid ""
"Pressing kbd:[Esc] will exit this menu and use the default keymap. If the "
@@ -1190,12 +1180,12 @@ msgstr ""
"Если выбор раскладки неочевиден, [.guimenuitem]#United States of America "
"ISO-8859-1# также является безопасным вариантом."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:390
msgid ""
"In addition, when selecting a different keymap, the user can try the keymap "
-"and ensure it is correct before proceeding, as shown in "
-"crossref:bsdinstall[bsdinstall-keymap-testing,Keymap Testing Menu]."
+"and ensure it is correct before proceeding, as shown in crossref:"
+"bsdinstall[bsdinstall-keymap-testing,Keymap Testing Menu]."
msgstr ""
"Кроме того, при выборе другой раскладки клавиатуры пользователь может "
"проверить её и убедиться в правильности перед продолжением, как показано на "
@@ -1227,7 +1217,7 @@ msgstr "bsdinstall-keymap-testing.png"
msgid "Setting the Hostname"
msgstr "Установка имени хоста"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:399
msgid ""
"The next bsdinstall menu is used to set the hostname for the newly installed "
@@ -1248,7 +1238,7 @@ msgstr "Установка имени хоста"
msgid "bsdinstall-config-hostname.png"
msgstr "bsdinstall-config-hostname.png"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:406
msgid ""
"Type in a hostname that is unique for the network. It should be a fully-"
@@ -1264,7 +1254,7 @@ msgstr ""
msgid "Selecting Components to Install"
msgstr "Выбор компонентов для установки"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:411
msgid "Next, bsdinstall will prompt to select optional components to install."
msgstr ""
@@ -1282,7 +1272,7 @@ msgstr "Различные компоненты, которые могут бы
msgid "bsdinstall-config-components.png"
msgstr "bsdinstall-config-components.png"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:419
msgid ""
"Deciding which components to install will depend largely on the intended use "
@@ -1297,7 +1287,7 @@ msgstr ""
"system_), устанавливается всегда. В зависимости от архитектуры некоторые из "
"этих компонентов могут отсутствовать:"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:421
msgid ""
"`base-dbg` - Base tools like cat and ls, among many others, with debug "
@@ -1306,12 +1296,12 @@ msgstr ""
"`base-dbg` - Базовые инструменты, такие как cat и ls, среди многих других, с "
"активированными отладочными символами."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:422
msgid "`kernel-dbg` - Kernel and modules with debug symbols activated."
msgstr "`kernel-dbg` - Ядро и модули с включенными отладочными символами."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:423
msgid ""
"`lib32-dbg` - Compatibility libraries for running 32-bit applications on a "
@@ -1320,7 +1310,7 @@ msgstr ""
"`lib32-dbg` - Совместимые библиотеки для запуска 32-битных приложений на 64-"
"битной версии FreeBSD с активированными отладочными символами."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:424
msgid ""
"`lib32` - Compatibility libraries for running 32-bit applications on a 64-"
@@ -1329,7 +1319,7 @@ msgstr ""
"`lib32` - Совместимые библиотеки для запуска 32-битных приложений на 64-"
"битной версии FreeBSD."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:425
msgid ""
"`ports` - The FreeBSD Ports Collection is a collection of files which "
@@ -1342,7 +1332,7 @@ msgstr ""
"пакетов. В разделе crossref:ports[ports,Установка приложений: Пакеты и "
"Порты] рассматривается, как использовать Коллекцию портов."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:431
msgid ""
"The installation program does not check for adequate disk space. Select "
@@ -1353,7 +1343,7 @@ msgstr ""
"Выбирайте этот вариант, только если доступно достаточно места на жестком "
"диске. Коллекция портов FreeBSD занимает около {ports-size} места на диске."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:434
msgid ""
"`src` - The complete FreeBSD source code for both the kernel and the "
@@ -1371,7 +1361,7 @@ msgstr ""
"дискового пространства, а перекомпиляция всей системы FreeBSD требует "
"дополнительно 5 ГБ пространства."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:435
msgid "`tests` - FreeBSD Test Suite."
msgstr "`tests` — Набор тестов FreeBSD."
@@ -1383,18 +1373,17 @@ msgstr "`tests` — Набор тестов FreeBSD."
msgid "Installing from the Network"
msgstr "Установка по сети"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:443
msgid ""
-"The menu shown in crossref:bsdinstall[bsdinstall-netinstall-"
-"notify,Installing from the Network] only appears when installing from a `-"
-"bootonly.iso` or `-mini-memstick.img`, as this installation media does not "
-"hold copies of the installation files. Since the installation files must be "
+"The menu shown in crossref:bsdinstall[bsdinstall-netinstall-notify,"
+"Installing from the Network] only appears when installing from a `-bootonly."
+"iso` or `-mini-memstick.img`, as this installation media does not hold "
+"copies of the installation files. Since the installation files must be "
"retrieved over a network connection, this menu indicates that the network "
"interface must be configured first. If this menu is shown in any step of "
-"the process, remember to follow the instructions in "
-"crossref:bsdinstall[bsdinstall-config-network-dev, Configuring Network "
-"Interfaces]."
+"the process, remember to follow the instructions in crossref:"
+"bsdinstall[bsdinstall-config-network-dev, Configuring Network Interfaces]."
msgstr ""
"Меню, показанное на рисунке crossref:bsdinstall[bsdinstall-netinstall-"
"notify,Установка из сети], появляется только при установке с `-bootonly.iso` "
@@ -1423,7 +1412,7 @@ msgstr "bsdinstall-netinstall-files.png"
msgid "Allocating Disk Space"
msgstr "Выделение дискового пространства"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:452
msgid ""
"The next menu is used to determine the method for allocating disk space."
@@ -1449,14 +1438,14 @@ msgstr "Показывает различные варианты раздело
msgid "bsdinstall-zfs-partmenu.png"
msgstr "bsdinstall-zfs-partmenu.png"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:458
msgid "bsdinstall gives the user four methods for allocating disk space:"
msgstr ""
"bsdinstall предоставляет пользователю четыре метода распределения дискового "
"пространства:"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:460
msgid ""
"`Auto (ZFS)` partitioning creates a root-on-ZFS system with optional GELI "
@@ -1466,7 +1455,7 @@ msgstr ""
"корневым разделом на ZFS и возможностью использования шифрования GELI для "
"_загрузочных окружений_."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:461
msgid ""
"`Auto (UFS)` partitioning automatically sets up the disk partitions using "
@@ -1475,7 +1464,7 @@ msgstr ""
"`Auto (UFS)` — автоматическое разбиение диска с использованием файловой "
"системы `UFS`."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:462
msgid ""
"`Manual` partitioning allows advanced users to create customized partitions "
@@ -1484,7 +1473,7 @@ msgstr ""
"`Ручное (Manual)` разбиение позволяет опытным пользователям создавать "
"настраиваемые разделы с помощью параметров меню."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:463
msgid ""
"`Shell` opens a shell prompt where advanced users can create customized "
@@ -1495,7 +1484,7 @@ msgstr ""
"могут создавать настраиваемые разделы с помощью утилит командной строки, "
"таких как man:gpart[8], man:fdisk[8] и man:bsdlabel[8]."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:466
msgid ""
"This section describes what to consider when laying out the disk "
@@ -1511,7 +1500,7 @@ msgstr ""
msgid "Designing the Partition Layout"
msgstr "Проектирование разметки разделов"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:475
msgid ""
"The default partition layout for file systems includes one file system for "
@@ -1535,7 +1524,7 @@ msgstr ""
"внутренней части диска. Рекомендуется создавать разделы в следующем порядке: "
"`/`, раздел подкачки, `/var` и `/usr`."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:480
msgid ""
"The size of the `/var` partition reflects the intended machine's usage. "
@@ -1551,7 +1540,7 @@ msgstr ""
"журналов. В среднем большинству пользователей редко требуется более одного "
"гигабайта свободного места на диске в `/var`."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:486
msgid ""
"Sometimes, a lot of disk space is required in `/var/tmp`. When new software "
@@ -1565,7 +1554,7 @@ msgstr ""
"или LibreOffice, могут возникнуть сложности во время установки, если в `/var/"
"tmp` недостаточно места на диске."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:492
msgid ""
"The `/usr` partition holds many of the files which support the system, "
@@ -1582,7 +1571,7 @@ msgstr ""
"могут быть расположены на другом разделе. По умолчанию `/home` является "
"символической ссылкой на `/usr/home`."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:495
msgid ""
"When selecting partition sizes, keep the space requirements in mind. "
@@ -1593,7 +1582,7 @@ msgstr ""
"места в одном разделе при почти полном отсутствии использования другого "
"может создать проблемы."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:499
msgid ""
"As a rule of thumb, the swap partition should be about double the size of "
@@ -1609,7 +1598,7 @@ msgstr ""
"неэффективности работы кода сканирования страниц виртуальной памяти и "
"создать проблемы в будущем при добавлении памяти."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:507
msgid ""
"On larger systems with multiple SCSI disks or multiple IDE disks operating "
@@ -1637,7 +1626,7 @@ msgstr ""
"как указано в сообщении с предупреждением. Это может облегчить "
"восстановление после сбоя программы без необходимости перезагрузки системы."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:511
msgid ""
"By properly partitioning a system, fragmentation introduced in the smaller "
@@ -1663,7 +1652,7 @@ msgstr ""
msgid "Guided Partitioning Using UFS"
msgstr "Разметка диска с использованием UFS с помощью мастера"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:517
msgid ""
"When this method is selected, a menu will display the available disk(s). If "
@@ -1692,7 +1681,7 @@ msgstr "Показывает список дисков, на которые мо
msgid "bsdinstall-part-guided-disk.png"
msgstr "bsdinstall-part-guided-disk.png"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:525
msgid ""
"Once the disk is selected, the next menu prompts to install to either the "
@@ -1725,7 +1714,7 @@ msgstr "Меню с вопросом к пользователю, хочет л
msgid "bsdinstall-part-entire-part.png"
msgstr "bsdinstall-part-entire-part.png"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:531
msgid ""
"After the btn:[Entire Disk] option is chosen, bsdinstall displays a dialog "
@@ -1752,15 +1741,15 @@ msgstr "Меню, предупреждающее пользователя о т
msgid "bsdinstall-ufs-warning.png"
msgstr "bsdinstall-ufs-warning.png"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:541
msgid ""
"The next menu shows a list with the available partition scheme types. GPT "
"is usually the most appropriate choice for amd64 computers. Older computers "
"that are not compatible with GPT should use MBR. The other partition "
"schemes are generally used for uncommon or older computers. More "
-"information is available in crossref:bsdinstall[partition-"
-"schemes,Partitioning Schemes]."
+"information is available in crossref:bsdinstall[partition-schemes,"
+"Partitioning Schemes]."
msgstr ""
"Следующее меню показывает список доступных типов схем разделов. GPT обычно "
"является наиболее подходящим выбором для компьютеров amd64. Более старые "
@@ -1788,7 +1777,7 @@ msgstr "Меню, показывающее пользователю различ
msgid "bsdinstall-part-manual-partscheme.png"
msgstr "bsdinstall-part-manual-partscheme.png"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:550
msgid ""
"After the partition layout has been created, review it to ensure it meets "
@@ -1823,7 +1812,7 @@ msgstr "Меню с созданными разделами"
msgid "bsdinstall-part-review.png"
msgstr "bsdinstall-part-review.png"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:559
msgid ""
"Once the disks are configured, the next menu provides the last chance to "
@@ -1857,16 +1846,14 @@ msgstr "Меню, уведомляющее пользователя о том,
msgid "bsdinstall-final-confirmation.png"
msgstr "bsdinstall-final-confirmation.png"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:566
msgid ""
-"To continue with the installation process, go to "
-"crossref:bsdinstall[bsdinstall-fetching-distribution, Fetching Distribution "
-"Files]."
+"To continue with the installation process, go to crossref:"
+"bsdinstall[bsdinstall-fetching-distribution, Fetching Distribution Files]."
msgstr ""
-"Для продолжения процесса установки перейдите к разделу "
-"crossref:bsdinstall[bsdinstall-fetching-distribution, Загрузка файлов "
-"дистрибутива]."
+"Для продолжения процесса установки перейдите к разделу crossref:bsdinstall"
+"[bsdinstall-fetching-distribution, Загрузка файлов дистрибутива]."
#. type: Title ===
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:568
@@ -1874,7 +1861,7 @@ msgstr ""
msgid "Manual Partitioning"
msgstr "Ручное разбиение на разделы"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:571
msgid "Selecting this method opens the partition editor:"
msgstr "Выбор этого метода открывает редактор разделов:"
@@ -1899,7 +1886,7 @@ msgstr "Меню с отображением редактора разделов
msgid "bsdinstall-part-manual-create.png"
msgstr "bsdinstall-part-manual-create.png"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:577
msgid ""
"Highlight the installation drive (`ada0` in this example) and select btn:"
@@ -1914,7 +1901,7 @@ msgstr ""
msgid "Menu showing the different kind of partition schemes"
msgstr "Меню с различными типами схем разделов"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:585
msgid ""
"GPT is usually the most appropriate choice for amd64 computers. Older "
@@ -2068,8 +2055,8 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:627
msgid ""
-"Note that `/tmp` can be added later as a memory-based file system "
-"(man:tmpfs[5]) on systems with sufficient memory."
+"Note that `/tmp` can be added later as a memory-based file system (man:"
+"tmpfs[5]) on systems with sufficient memory."
msgstr ""
"Обратите внимание, что `/tmp` можно добавить позже как файловую систему в "
"памяти (man:tmpfs[5]) на системах с достаточным объемом оперативной памяти."
@@ -2327,9 +2314,8 @@ msgid ""
"fetching-distribution, Fetching Distribution Files]."
msgstr ""
"После создания пользовательских разделов выберите btn:[Завершить (Finish)], "
-"чтобы продолжить установку и перейти к разделу "
-"crossref:bsdinstall[bsdinstall-fetching-distribution, Загрузка файлов "
-"дистрибутива]."
+"чтобы продолжить установку и перейти к разделу crossref:"
+"bsdinstall[bsdinstall-fetching-distribution, Загрузка файлов дистрибутива]."
#. type: Title ===
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:713
@@ -2443,9 +2429,9 @@ msgstr ""
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:735
msgid ""
"`Encrypt Disks?` - Encrypting the disks allows the user to encrypt the disks "
-"using GELI. More information about disk encryption is available in "
-"crossref:disks[disks-encrypting-geli,“Disk Encryption with geli”]. Press the "
-"kbd:[Enter] key to choose whether to activate it or not."
+"using GELI. More information about disk encryption is available in crossref:"
+"disks[disks-encrypting-geli,“Disk Encryption with geli”]. Press the kbd:"
+"[Enter] key to choose whether to activate it or not."
msgstr ""
"`Шифровать диски (Encrypt Disks)?` - Шифрование дисков позволяет "
"пользователю зашифровать диски с помощью GELI. Дополнительная информация о "
@@ -3192,20 +3178,20 @@ msgstr ""
"противном случае, информацию об адресации необходимо ввести вручную как "
"статическую конфигурацию."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:916
msgid ""
"Do not enter random network information as it will not work. If a DHCP "
-"server is not available, obtain the information listed in "
-"crossref:bsdinstall[bsdinstall-collect-network-information, Required Network "
+"server is not available, obtain the information listed in crossref:"
+"bsdinstall[bsdinstall-collect-network-information, Required Network "
"Information] from the network administrator or Internet service provider."
msgstr ""
"Не вводите произвольные сетевые настройки, так как это не сработает. Если "
-"DHCP-сервер недоступен, получите информацию, указанную в "
-"crossref:bsdinstall[bsdinstall-collect-network-information, Необходимая "
-"информация о сети], у администратора сети или интернет-провайдера."
+"DHCP-сервер недоступен, получите информацию, указанную в crossref:"
+"bsdinstall[bsdinstall-collect-network-information, Необходимая информация о "
+"сети], у администратора сети или интернет-провайдера."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:920
msgid ""
"If a DHCP server is available, select btn:[Yes] in the next menu to "
@@ -3236,7 +3222,7 @@ msgstr "Меню, указывающее, нужно ли настраивать
msgid "bsdinstall-configure-network-interface-ipv4-dhcp.png"
msgstr "bsdinstall-configure-network-interface-ipv4-dhcp.png"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:926
msgid ""
"If a DHCP server is not available, select btn:[No] and input the following "
@@ -3263,7 +3249,7 @@ msgstr "Меню запроса данных для настройки сети
msgid "bsdinstall-configure-network-interface-ipv4-static.png"
msgstr "bsdinstall-configure-network-interface-ipv4-static.png"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:932
msgid ""
"`IP Address` - The IPv4 address assigned to this computer. The address must "
@@ -3273,18 +3259,18 @@ msgstr ""
"уникальным и не должен уже использоваться другим устройством в локальной "
"сети."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:933
msgid "`Subnet Mask` - The subnet mask for the network."
msgstr "`Маска подсети (Subnet Mask)` - Маска подсети для сети."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:934
msgid "`Default Router` - The IP address of the network's default gateway."
msgstr ""
"`Шлюз по умолчанию (Default Router)` - IP-адрес сетевого шлюза по умолчанию."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:936
msgid ""
"The next screen will ask if the interface should be configured for IPv6. If "
@@ -3311,14 +3297,14 @@ msgstr "Меню, указывающее, требуется ли настрой
msgid "bsdinstall-configure-network-interface-ipv6.png"
msgstr "bsdinstall-configure-network-interface-ipv6.png"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:945
msgid ""
"IPv6 also has two methods of configuration. StateLess Address "
"AutoConfiguration (SLAAC) will automatically request the correct "
-"configuration information from a local router. Refer to http://"
-"tools.ietf.org/html/rfc4862[rfc4862] for more information. Static "
-"configuration requires manual entry of network information."
+"configuration information from a local router. Refer to http://tools.ietf."
+"org/html/rfc4862[rfc4862] for more information. Static configuration "
+"requires manual entry of network information."
msgstr ""
"В IPv6 также есть два метода настройки. Stateless Address Autoconfiguration "
"(SLAAC) автоматически запрашивает правильную конфигурационную информацию у "
@@ -3326,7 +3312,7 @@ msgstr ""
"rfc4862[rfc4862]. Статическая настройка требует ручного ввода сетевой "
"информации."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:948
msgid ""
"If an IPv6 router is available, select btn:[Yes] in the next menu to "
@@ -3357,7 +3343,7 @@ msgstr "Меню, указывающее, нужно ли настраивать
msgid "bsdinstall-configure-network-interface-slaac.png"
msgstr "bsdinstall-configure-network-interface-slaac.png"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:954
msgid ""
"If an IPv6 router is not available, select btn:[No] and input the following "
@@ -3384,7 +3370,7 @@ msgstr "Меню запрашивает данные для настройки
msgid "bsdinstall-configure-network-interface-ipv6-static.png"
msgstr "bsdinstall-configure-network-interface-ipv6-static.png"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:960
msgid ""
"`IPv6 Address` - The IPv6 address assigned to this computer. The address "
@@ -3393,13 +3379,13 @@ msgstr ""
"`IPv6-адрес` - IPv6-адрес, назначенный этому компьютеру. Адрес должен быть "
"уникальным и не использоваться другим устройством в локальной сети."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:961
msgid "`Default Router` - The IPv6 address of the network's default gateway."
msgstr ""
"`Шлюз по умолчанию (Default Router)` - IPv6-адрес шлюза по умолчанию в сети."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:967
msgid ""
"The last network configuration menu is used to configure the Domain Name "
@@ -3436,7 +3422,7 @@ msgstr "Меню запрашивает данные для настройки D
msgid "bsdinstall-configure-network-ipv4-dns.png"
msgstr "bsdinstall-configure-network-ipv4-dns.png"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:974
msgid ""
"Once the interface is configured, select a mirror site that is located in "
@@ -3449,7 +3435,7 @@ msgstr ""
"можно загрузить быстрее, если зеркало находится ближе к целевому компьютеру, "
"что сокращает время установки."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:978
msgid ""
"Selecting `ftp://download.freebsd.org (Main Site)` will automatically route "
@@ -3482,7 +3468,7 @@ msgstr "bsdinstall-netinstall-mirrorselect.png"
msgid "Setting the Time Zone"
msgstr "Установка часового пояса"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:989
msgid ""
"The next series of menus are used to determine the correct local time by "
@@ -3497,7 +3483,7 @@ msgstr ""
"региональные изменения времени, такие как переход на летнее время, и "
"правильно выполнять другие функции, связанные с часовыми зонами."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:992
msgid ""
"The example shown here is for a machine located in the mainland time zone of "
@@ -3526,7 +3512,7 @@ msgstr "Меню выбора региона часовой зоны."
msgid "bsdinstall-timezone-region.png"
msgstr "bsdinstall-timezone-region.png"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:998
msgid ""
"The appropriate region is selected using the arrow keys and then pressing "
@@ -3553,7 +3539,7 @@ msgstr "Меню выбора страны для часовой зоны."
msgid "bsdinstall-timezone-country.png"
msgstr "bsdinstall-timezone-country.png"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1004
msgid ""
"Select the appropriate country using the arrow keys and press kbd:[Enter]."
@@ -3579,7 +3565,7 @@ msgstr "Меню запроса часовой зоны."
msgid "bsdinstall-timezone-zone.png"
msgstr "bsdinstall-timezone-zone.png"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1010
msgid ""
"The appropriate time zone is selected using the arrow keys and pressing kbd:"
@@ -3606,7 +3592,7 @@ msgstr "Меню с запросом подтверждения выбранно
msgid "bsdinstall-timezone-confirm.png"
msgstr "bsdinstall-timezone-confirm.png"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1016
msgid "Confirm the abbreviation for the time zone is correct."
msgstr "Убедитесь, что аббревиатура часовой зоны верна."
@@ -3629,7 +3615,7 @@ msgstr "Меню запроса системной даты."
msgid "bsdinstall-timezone-date.png"
msgstr "bsdinstall-timezone-date.png"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1023
msgid ""
"The appropriate date is selected using the arrow keys and then pressing btn:"
@@ -3658,7 +3644,7 @@ msgstr "Меню запроса системного времени."
msgid "bsdinstall-timezone-time.png"
msgstr "bsdinstall-timezone-time.png"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1030
msgid ""
"The appropriate time is selected using the arrow keys and then pressing btn:"
@@ -3675,7 +3661,7 @@ msgstr ""
msgid "Enabling Services"
msgstr "Включение сервисов"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1037
msgid ""
"The next menu is used to configure which system services will be started "
@@ -3704,12 +3690,12 @@ msgstr "Меню с доступными сервисами."
msgid "bsdinstall-config-services.png"
msgstr "bsdinstall-config-services.png"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1043
msgid "Here is a summary of the services that can be enabled in this menu:"
msgstr "Вот перечень служб, которые можно включить в этом меню:"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1045
msgid ""
"`local_unbound` - Enable the DNS local unbound. It is necessary to keep in "
@@ -3722,7 +3708,7 @@ msgstr ""
"качестве локального кэширующего пересылающего резолвера. Если цель - "
"настроить резолвер для всей сети, установите пакет package:dns/unbound[]."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1046
msgid ""
"`sshd` - The Secure Shell (SSH) daemon is used to remotely access a system "
@@ -3733,7 +3719,7 @@ msgstr ""
"системе через зашифрованное соединение. Включайте эту службу только если "
"системе необходимо быть доступной для удалённых входов."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1047
msgid ""
"`moused` - Enable this service if the mouse will be used from the command-"
@@ -3742,7 +3728,7 @@ msgstr ""
"`moused` — Включите эту службу, если мышь будет использоваться в командной "
"строке системной консоли."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1048
msgid ""
"`ntpdate` - Enable automatic clock synchronization at boot time. Note that "
@@ -3753,7 +3739,7 @@ msgstr ""
"Обратите внимание, что функциональность этой программы теперь доступна в "
"демоне man:ntpd[8], а утилита man:ntpdate[8] вскоре будет исключена."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1049
msgid ""
"`ntpd` - The Network Time Protocol (NTP) daemon for automatic clock "
@@ -3764,7 +3750,7 @@ msgstr ""
"синхронизации часов. Включите эту службу, если хотите синхронизировать "
"системные часы с удалённым сервером времени или пулом серверов."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1050
msgid ""
"`powerd` - System power control utility for power control and energy saving."
@@ -3772,7 +3758,7 @@ msgstr ""
"`powerd` — Утилита управления питанием системы для контроля питания и "
"энергосбережения."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1051
msgid ""
"`dumpdev` - Crash dumps are useful when debugging issues with the system, so "
@@ -3787,7 +3773,7 @@ msgstr ""
msgid "Enabling Hardening Security Options"
msgstr "Включение параметров усиленной безопасности"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1058
msgid ""
"The next menu is used to configure which security options will be enabled. "
@@ -3815,12 +3801,12 @@ msgstr "Меню, показывающее различные варианты
msgid "bsdinstall-hardening.png"
msgstr "bsdinstall-hardening.png"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1064
msgid "Here is a summary of the options that can be enabled in this menu:"
msgstr "Вот сводка опций, которые можно включить в этом меню:"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1066
msgid ""
"`hide_uids` - Hide processes running as other users (UID). This prevents "
@@ -3830,7 +3816,7 @@ msgstr ""
"(UID). Это предотвращает возможность непривилегированным пользователям "
"видеть запущенные процессы других пользователей."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1067
msgid ""
"`hide_gids` - Hide processes running as other groups (GID). This prevents "
@@ -3840,7 +3826,7 @@ msgstr ""
"Это предотвращает возможность непривилегированных пользователей видеть "
"выполняемые процессы других групп."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1068
msgid ""
"`hide_jail` - Hide processes running in jails. This prevents unprivileged "
@@ -3850,7 +3836,7 @@ msgstr ""
"возможность непривилегированным пользователям видеть процессы, выполняющиеся "
"внутри клетки."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1069
msgid ""
"`read_msgbuf` - Disable reading kernel message buffer for unprivileged "
@@ -3861,35 +3847,35 @@ msgstr ""
"пользователям. Предотвращает возможность использования непривилегированными "
"пользователями man:dmesg[8] для просмотра сообщений из буфера журнала ядра."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1070
msgid ""
"`proc_debug` - Disable process debugging facilities for unprivileged users. "
"Disables a variety of unprivileged inter-process debugging services, "
"including some procfs functionality, `ptrace()`, and `ktrace()`. Please note "
-"that this will also prevent debugging tools such as man:lldb[1], "
-"man:truss[1] and man:procstat[1], as well as some built-in debugging "
-"facilities in certain scripting languages like PHP."
+"that this will also prevent debugging tools such as man:lldb[1], man:"
+"truss[1] and man:procstat[1], as well as some built-in debugging facilities "
+"in certain scripting languages like PHP."
msgstr ""
"`proc_debug` — Отключает средства отладки процессов для непривилегированных "
"пользователей. Отключает различные сервисы отладки межпроцессного "
"взаимодействия для непривилегированных пользователей, включая некоторую "
"функциональность procfs, `ptrace()` и `ktrace()`. Обратите внимание, что это "
-"также заблокирует работу инструментов отладки, таких как man:lldb[1], "
-"man:truss[1] и man:procstat[1], а также некоторых встроенных средств отладки "
-"в определённых скриптовых языках, например PHP."
+"также заблокирует работу инструментов отладки, таких как man:lldb[1], man:"
+"truss[1] и man:procstat[1], а также некоторых встроенных средств отладки в "
+"определённых скриптовых языках, например PHP."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1071
msgid "`random_pid` - Randomize the PID of processes."
msgstr "`random_pid` — Рандомизировать PID процессов."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1072
msgid "`clear_tmp` - Clean `/tmp` when the system starts up."
msgstr "`clear_tmp` — очистка `/tmp` при запуске системы."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1073
msgid ""
"`disable_syslogd` - Disable opening the syslogd network socket. By default, "
@@ -3904,12 +3890,12 @@ msgstr ""
"включении этой опции syslogd будет запущен с параметром `-ss`, что запрещает "
"ему открывать какие-либо порты. Подробнее см. man:syslogd[8]."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1074
msgid "`disable_sendmail` - Disable the sendmail mail transport agent."
msgstr "`disable_sendmail` — Отключить почтовый транспортный агент sendmail."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1075
msgid ""
"`secure_console` - Make the command prompt request the `root` password when "
@@ -3918,20 +3904,20 @@ msgstr ""
"`secure_console` — заставляет командную строку запрашивать пароль `root` при "
"входе в однопользовательский режим."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1076
msgid ""
"`disable_ddtrace` - DTrace can run in a mode that affects the running "
"kernel. Destructive actions may not be used unless explicitly enabled. Use `-"
-"w` to enable this option when using DTrace. For more information, see "
-"man:dtrace[1]."
+"w` to enable this option when using DTrace. For more information, see man:"
+"dtrace[1]."
msgstr ""
"`disable_ddtrace` — DTrace может работать в режиме, который влияет на "
"работающее ядро. Деструктивные действия не могут быть использованы, если они "
"явно не включены. Используйте `-w` для включения этой опции при работе с "
"DTrace. Для получения дополнительной информации см. man:dtrace[1]."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1077
msgid ""
"`enable_aslr` - Enable address layout randomization. For more information "
@@ -3949,7 +3935,7 @@ msgstr ""
msgid "Add Users"
msgstr "Добавление пользователей"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1085
msgid ""
"The next menu prompts to create at least one user account. It is "
@@ -3963,7 +3949,7 @@ msgstr ""
"`root`. При входе под `root` практически отсутствуют ограничения или защита "
"от возможных действий. Вход под обычным пользователем безопаснее и надежнее."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1087
msgid "Select btn:[Yes] to add new users."
msgstr "Выберите btn:[Да], чтобы добавить новых пользователей."
@@ -3986,16 +3972,16 @@ msgstr "Меню с запросом о желании пользователя
msgid "bsdinstall-adduser1.png"
msgstr "bsdinstall-adduser1.png"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1094
msgid ""
"Follow the prompts and input the requested information for the user "
-"account. The example shown in crossref:bsdinstall[bsdinstall-add-"
-"user2,Enter User Information] creates the `asample` user account."
+"account. The example shown in crossref:bsdinstall[bsdinstall-add-user2,"
+"Enter User Information] creates the `asample` user account."
msgstr ""
"Следуйте подсказкам и введите запрашиваемую информацию для учетной записи "
-"пользователя. Пример, показанный в crossref:bsdinstall[bsdinstall-add-"
-"user2,Ввод информации о пользователе], создает учетную запись пользователя "
+"пользователя. Пример, показанный в crossref:bsdinstall[bsdinstall-add-user2,"
+"Ввод информации о пользователе], создает учетную запись пользователя "
"`asample`."
#. type: Block title
@@ -4016,12 +4002,12 @@ msgstr "Меню, запрашивающее различную информац
msgid "bsdinstall-adduser2.png"
msgstr "bsdinstall-adduser2.png"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1100
msgid "Here is a summary of the information to input:"
msgstr "Вот сводка информации для ввода:"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1102
msgid ""
"`Username` - The name the user will enter to log in. A common convention is "
@@ -4035,7 +4021,7 @@ msgstr ""
"что каждое имя пользователя уникально в системе. Имя пользователя "
"чувствительно к регистру и не должно содержать пробелов."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1103
msgid ""
"`Full name` - The user's full name. This can contain spaces and is used as a "
@@ -4044,7 +4030,7 @@ msgstr ""
"`Полное имя (Full name)` — Полное имя пользователя. Может содержать пробелы "
"и используется в качестве описания учётной записи пользователя."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1104
msgid ""
"`Uid` - User ID. This is typically left blank so the system automatically "
@@ -4053,7 +4039,7 @@ msgstr ""
"`Uid` - Идентификатор пользователя. Обычно оставляется пустым, чтобы система "
"автоматически назначила значение."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1105
msgid ""
"`Login group` - The user's group. This is typically left blank to accept the "
@@ -4062,7 +4048,7 @@ msgstr ""
"`Группа (Login group)` - Группа пользователя. Обычно оставляется пустым для "
"использования значения по умолчанию."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1106
msgid ""
"`Invite _user_ into other groups?` - Additional groups to which the user "
@@ -4073,14 +4059,14 @@ msgstr ""
"которые будет добавлен пользователь. Если пользователю нужны "
"административные права, укажите здесь `wheel`."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1107
msgid "`Login class` - Typically left blank for the default."
msgstr ""
"`Класс логина (Login class)` - Обычно оставляется пустым для значений по "
"умолчанию."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1108
msgid ""
"`Shell` - Type in one of the listed values to set the interactive shell for "
@@ -4091,7 +4077,7 @@ msgstr ""
"интерактивную оболочку для пользователя. Дополнительную информацию об "
"оболочках см. в crossref:basics[shells,Оболочки]."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1109
msgid ""
"`Home directory` - The user's home directory. The default is usually correct."
@@ -4099,7 +4085,7 @@ msgstr ""
"`Домашний каталог (Home directory)` - Домашний каталог пользователя. Обычно "
"значение по умолчанию является правильным."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1110
msgid ""
"`Home directory permissions` - Permissions on the user's home directory. The "
@@ -4109,7 +4095,7 @@ msgstr ""
"доступа к домашнему каталогу пользователя. Обычно значение по умолчанию "
"является правильным."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1111
msgid ""
"`Use password-based authentication?` - Typically `yes` so that the user is "
@@ -4118,7 +4104,7 @@ msgstr ""
"`Использовать аутентификацию на основе пароля (Use password-based "
"authentication)?` - Обычно `yes`, чтобы пользователь вводил пароль при входе."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1112
msgid ""
"`Use an empty password?` - Typically `no` as empty or blank passwords are "
@@ -4127,7 +4113,7 @@ msgstr ""
"`Использовать пустой пароль (Use an empty password)?` - Обычно `нет`, так "
"как пустые или простые пароли ненадёжны."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1113
msgid ""
"`Use a random password?` - Typically `no` so that the user can set their own "
@@ -4136,7 +4122,7 @@ msgstr ""
"`Использовать случайный пароль (Use a random password)?` - Обычно `нет`, "
"чтобы пользователь мог установить свой пароль в следующем запросе."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1114
msgid ""
"`Enter password` - The password for this user. Typed-in characters will not "
@@ -4145,7 +4131,7 @@ msgstr ""
"`Введите пароль (Enter password)` - Пароль для этого пользователя. Вводимые "
"символы не будут отображаться на экране."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1115
msgid ""
"`Enter password again` - The password must be typed again for verification."
@@ -4153,7 +4139,7 @@ msgstr ""
"`Повторите пароль (Enter password again)` - Пароль должен быть введён "
"повторно для проверки."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1116
msgid ""
"`Lock out the account after creation?` - Typically `no` so that the user can "
@@ -4162,7 +4148,7 @@ msgstr ""
"`Заблокировать учетную запись после создания (Lock out the account after "
"creation)?` - Обычно `нет`, чтобы пользователь мог войти в систему."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1120
msgid ""
"After entering all the details, a summary is shown for review. If a mistake "
@@ -4191,7 +4177,7 @@ msgstr "Меню с информацией о новом пользовател
msgid "bsdinstall-adduser3.png"
msgstr "bsdinstall-adduser3.png"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1127
msgid ""
"If there are more users to add, answer the `Add another user?` question with "
@@ -4201,11 +4187,11 @@ msgstr ""
"другого пользователя (Add another user)?`. Введите `no`, чтобы завершить "
"добавление пользователей и продолжить установку."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1129
msgid ""
-"For more information on adding users and user management, see "
-"crossref:basics[users-synopsis,Users and Basic Account Management]."
+"For more information on adding users and user management, see crossref:"
+"basics[users-synopsis,Users and Basic Account Management]."
msgstr ""
"Для получения дополнительной информации о добавлении пользователей и "
"управлении учетными записями см. crossref:basics[users-synopsis,Пользователи "
@@ -4218,7 +4204,7 @@ msgstr ""
msgid "Final Configuration"
msgstr "Окончательная конфигурация"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1134
msgid ""
"After everything has been installed and configured, a final chance is "
@@ -4239,7 +4225,7 @@ msgstr "Меню с различными вариантами действий
msgid "bsdinstall-finalconfiguration.png"
msgstr "bsdinstall-finalconfiguration.png"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1140
msgid ""
"Use this menu to make any changes or to do any additional configuration "
@@ -4248,16 +4234,16 @@ msgstr ""
"Используйте это меню для внесения изменений или выполнения дополнительной "
"настройки перед завершением установки."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1142
msgid ""
"`Add User` - Described in crossref:bsdinstall[bsdinstall-addusers, Add "
"Users]."
msgstr ""
-"`Добавить пользователя (Add User)` - Описано в "
-"crossref:bsdinstall[bsdinstall-addusers, Добавление пользователей]."
+"`Добавить пользователя (Add User)` - Описано в crossref:"
+"bsdinstall[bsdinstall-addusers, Добавление пользователей]."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1143
msgid ""
"`Root Password` - Described in crossref:bsdinstall[bsdinstall-post-root, "
@@ -4266,7 +4252,7 @@ msgstr ""
"`Пароль root (Root Password)` - Описано в crossref:bsdinstall[bsdinstall-"
"post-root, Установка пароля `root`]."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1144
msgid ""
"`Hostname` - Described in crossref:bsdinstall[bsdinstall-hostname, Setting "
@@ -4275,7 +4261,7 @@ msgstr ""
"`Имя хоста (Hostname)` - Описано в crossref:bsdinstall[bsdinstall-hostname, "
"Установка имени хоста]."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1145
msgid ""
"`Network` - Described in crossref:bsdinstall[bsdinstall-config-network-dev, "
@@ -4284,7 +4270,7 @@ msgstr ""
"`Сеть (Network)` - Описано в crossref:bsdinstall[bsdinstall-config-network-"
"dev, Настройка сетевых интерфейсов]."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1146
msgid ""
"`Services` - Described in crossref:bsdinstall[bsdinstall-sysconf, Enabling "
@@ -4293,17 +4279,16 @@ msgstr ""
"`Службы (Services)` - Описано в crossref:bsdinstall[bsdinstall-sysconf, "
"Включение служб]."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1147
msgid ""
"`System Hardening` - Described in crossref:bsdinstall[bsdinstall-hardening, "
"Enabling Hardening Security Options]."
msgstr ""
-"`Усиление защиты системы (System Hardening)` - Описано в "
-"crossref:bsdinstall[bsdinstall-hardening, Включение опций усиления "
-"безопасности]."
+"`Усиление защиты системы (System Hardening)` - Описано в crossref:"
+"bsdinstall[bsdinstall-hardening, Включение опций усиления безопасности]."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1148
msgid ""
"`Time Zone` - Described in crossref:bsdinstall[bsdinstall-timezone, Setting "
@@ -4312,12 +4297,12 @@ msgstr ""
"`Часовая зона (Time Zone)` - Описано в crossref:bsdinstall[bsdinstall-"
"timezone, Настройка часовой зоны]."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1149
msgid "`Handbook` - Download and install the FreeBSD Handbook."
msgstr "`Руководство (Handbook)` - Загрузить и установить Руководство FreeBSD."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1151
msgid "Once configuration is complete, select btn:[Exit]."
msgstr "После завершения настройки выберите btn:[Выход (Exit)]."
@@ -4340,7 +4325,7 @@ msgstr "Меню, показывающее, что установка завер
msgid "bsdinstall-final-modification-shell.png"
msgstr "bsdinstall-final-modification-shell.png"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1158
msgid ""
"bsdinstall will prompt for any additional configuration that needs to be "
@@ -4371,7 +4356,7 @@ msgstr "Меню, показывающее завершение установк
msgid "bsdinstall-mainexit.png"
msgstr "bsdinstall-mainexit.png"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1164
msgid ""
"If further configuration or special setup is needed, select btn:[Live CD] to "
@@ -4380,7 +4365,7 @@ msgstr ""
"Если требуется дополнительная настройка или специальная установка, выберите "
"btn:[Live CD], чтобы загрузить установочный носитель в режиме Live CD."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1167
msgid ""
"If the installation is complete, select btn:[Reboot] to reboot the computer "
@@ -4392,7 +4377,7 @@ msgstr ""
"установочный носитель FreeBSD, иначе компьютер может снова загрузиться с "
"него."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1173
msgid ""
"As FreeBSD boots, informational messages are displayed. After the system "
@@ -4409,7 +4394,7 @@ msgstr ""
"когда требуется административный доступ, приведены в crossref:basics[users-"
"superuser,Учётная запись суперпользователя]."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1179
msgid ""
"The messages that appear during boot can be reviewed by pressing kbd:[Scroll-"
@@ -4428,7 +4413,7 @@ msgstr ""
"некоторого времени введите `less /var/run/dmesg.boot` в командной строке. "
"Нажмите kbd:[q], чтобы вернуться в командную строку после просмотра."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1183
msgid ""
"If sshd was enabled in crossref:bsdinstall[bsdinstall-config-serv,Selecting "
@@ -4577,8 +4562,8 @@ msgid ""
"[FreeBSD Release Information] page for the version of FreeBSD to make sure "
"the hardware is supported."
msgstr ""
-"Проверьте заметки о совместимости оборудования на странице link:https://"
-"www.FreeBSD.org/releases/[информации о выпусках FreeBSD] для соответствующей "
+"Проверьте заметки о совместимости оборудования на странице link:https://www."
+"FreeBSD.org/releases/[информации о выпусках FreeBSD] для соответствующей "
"версии FreeBSD, чтобы убедиться, что оборудование поддерживается."
#. type: delimited block = 4
@@ -4617,8 +4602,8 @@ msgid ""
"extensive use of the system ACPI service on the i386 and amd64 platforms to "
"aid in system configuration if it is detected during boot. Unfortunately, "
"some bugs still exist in both the ACPI driver and within system motherboards "
-"and BIOS firmware. ACPI can be disabled by setting the "
-"`hint.acpi.0.disabled` hint in the third stage boot loader:"
+"and BIOS firmware. ACPI can be disabled by setting the `hint.acpi.0."
+"disabled` hint in the third stage boot loader:"
msgstr ""
"Если система зависает при проверке оборудования во время загрузки или ведет "
"себя странно в процессе установки, причиной может быть ACPI. FreeBSD активно "
diff --git a/documentation/content/ru/books/handbook/colophon.adoc b/documentation/content/ru/books/handbook/colophon.adoc
index 99ad60d901..0d8bd5aadf 100644
--- a/documentation/content/ru/books/handbook/colophon.adoc
+++ b/documentation/content/ru/books/handbook/colophon.adoc
@@ -3,7 +3,7 @@ description: 'Руководство FreeBSD: сведения об издани
params:
path: /books/handbook/colophon/
prev: books/handbook/glossary
-showBookMenu: true
+showBookMenu: 'true'
title: 'Сведения об издании'
weight: 46
---
diff --git a/documentation/content/ru/books/handbook/colophon.po b/documentation/content/ru/books/handbook/colophon.po
index 4d91113903..e70fc74eb6 100644
--- a/documentation/content/ru/books/handbook/colophon.po
+++ b/documentation/content/ru/books/handbook/colophon.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-06-04 18:10+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,7 +18,7 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/colophon.adoc:1
#, no-wrap
msgid "FreeBSD Handbook Colophon"
@@ -31,7 +31,7 @@ msgstr "Руководство FreeBSD: сведения об издании"
msgid "Colophon"
msgstr "Сведения об издании"
-#. type: colophon
+#. type: Plain text
#: documentation/content/en/books/handbook/colophon.adoc:49
msgid ""
"This book is the combined work of hundreds of contributors to \"The FreeBSD "
diff --git a/documentation/content/ru/books/handbook/config/_index.adoc b/documentation/content/ru/books/handbook/config/_index.adoc
index f13fba0153..f72181b72f 100644
--- a/documentation/content/ru/books/handbook/config/_index.adoc
+++ b/documentation/content/ru/books/handbook/config/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/config/
part: 'Часть III. Администрирование системы'
prev: books/handbook/partiii
-showBookMenu: true
+showBookMenu: 'true'
tags: ["configuration", "services", "cron", "periodic", "logging", "configuration files", "sysctl", "swap", "power management"]
title: 'Глава 14. Конфигурация, сервисы, журналирование и управление питанием'
weight: 18
@@ -89,7 +89,7 @@ FreeBSD поддерживает четкое разделение между б
[CAUTION]
====
-*Extreme* caution must be taken when modifying files in the [.filename]#/etc# directory; misconfiguration could make FreeBSD unbootable or malfunction.
+*Крайнюю* осторожность следует соблюдать при изменении файлов в каталоге [.filename]#/etc#; неправильная настройка может сделать FreeBSD незагружаемой или неработоспособной.
====
[.informaltable]
@@ -455,7 +455,7 @@ nginx is running as pid 27871.
В большинстве случаев это означает отправку службе сигнала `SIGHUP`.
-*Not all services support this feature.*
+*Не все службы поддерживают эту возможность.*
Система man:rc[8] используется для сетевых сервисов, а также играет важную роль в большинстве процессов инициализации системы. Например, при выполнении скрипта [.filename]#/etc/rc.d/bgfsck# выводится следующее сообщение:
diff --git a/documentation/content/ru/books/handbook/config/_index.po b/documentation/content/ru/books/handbook/config/_index.po
index 00f29035c3..77508535b6 100644
--- a/documentation/content/ru/books/handbook/config/_index.po
+++ b/documentation/content/ru/books/handbook/config/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-09-26 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,19 +18,22 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/config/_index.adoc:1
#, no-wrap
msgid "This chapter explains much of the FreeBSD configuration files, how to enable or disable a service, how to configure the logging system and the power management area."
-msgstr "Эта глава объясняет большинство файлов конфигурации FreeBSD, как включить или отключить службу, как настроить систему ведения журналов и область управления питанием."
+msgstr ""
+"Эта глава объясняет большинство файлов конфигурации FreeBSD, как включить "
+"или отключить службу, как настроить систему ведения журналов и область "
+"управления питанием."
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/config/_index.adoc:1
#, no-wrap
msgid "Part III. System Administration"
msgstr "Часть III. Администрирование системы"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/config/_index.adoc:1
#, no-wrap
msgid "Chapter 14. Configuration, Services, Logging and Power Management"
@@ -187,19 +190,12 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/config/_index.adoc:97
-#, fuzzy
-#| msgid ""
-#| "*Extreme* caution must be taken when modifying files in the [.filename]#/"
-#| "etc# directory; misconfiguration could make FreeBSD unbootable or "
-#| "malfunction.\n"
-msgid ""
-"*Extreme* caution must be taken when modifying files in the [.filename]#/"
-"etc# directory; misconfiguration could make FreeBSD unbootable or "
-"malfunction."
+#, no-wrap
+msgid "*Extreme* caution must be taken when modifying files in the [.filename]#/etc# directory; misconfiguration could make FreeBSD unbootable or malfunction.\n"
msgstr ""
-"*Крайнюю* осторожность следует соблюдать при изменении файлов в каталоге "
-"[.filename]#/etc#; неправильная настройка может сделать FreeBSD "
-"незагружаемой или неработоспособной.\n"
+"*Крайнюю* осторожность следует соблюдать при изменении файлов в каталоге [."
+"filename]#/etc#; неправильная настройка может сделать FreeBSD незагружаемой "
+"или неработоспособной.\n"
#. type: Table
#: documentation/content/en/books/handbook/config/_index.adoc:104
@@ -235,7 +231,8 @@ msgstr "[.filename]#/etc/fstab#"
#: documentation/content/en/books/handbook/config/_index.adoc:112
#, no-wrap
msgid "man:fstab[5] contains descriptive information about the various file systems."
-msgstr "man:fstab[5] содержит описательную информацию о различных файловых системах."
+msgstr ""
+"man:fstab[5] содержит описательную информацию о различных файловых системах."
#. type: Table
#: documentation/content/en/books/handbook/config/_index.adoc:113
@@ -247,7 +244,8 @@ msgstr "[.filename]#/etc/mail#"
#: documentation/content/en/books/handbook/config/_index.adoc:115
#, no-wrap
msgid "Extra man:sendmail[8] configuration and other MTA configuration files."
-msgstr "Дополнительная конфигурация man:sendmail[8] и другие файлы конфигурации MTA."
+msgstr ""
+"Дополнительная конфигурация man:sendmail[8] и другие файлы конфигурации MTA."
#. type: Table
#: documentation/content/en/books/handbook/config/_index.adoc:116
@@ -283,7 +281,9 @@ msgstr "[.filename]#/etc/periodic#"
#: documentation/content/en/books/handbook/config/_index.adoc:124
#, no-wrap
msgid "Scripts that are run daily, weekly, and monthly, via man:cron[8], see man:periodic[8] for more information."
-msgstr "Скрипты, выполняемые ежедневно, еженедельно и ежемесячно через man:cron[8]. Подробнее см. man:periodic[8]."
+msgstr ""
+"Скрипты, выполняемые ежедневно, еженедельно и ежемесячно через man:cron[8]. "
+"Подробнее см. man:periodic[8]."
#. type: Table
#: documentation/content/en/books/handbook/config/_index.adoc:125
@@ -295,7 +295,8 @@ msgstr "[.filename]#/etc/rc.d#"
#: documentation/content/en/books/handbook/config/_index.adoc:127
#, no-wrap
msgid "System and daemon startup/control scripts, see man:rc[8] for more information."
-msgstr "Системные и демон-скрипты запуска/управления, подробнее см. в man:rc[8]."
+msgstr ""
+"Системные и демон-скрипты запуска/управления, подробнее см. в man:rc[8]."
#. type: Table
#: documentation/content/en/books/handbook/config/_index.adoc:128
@@ -315,7 +316,8 @@ msgstr ""
"Содержит описательную информацию о локальном имени хоста,\n"
"настройках сетевых интерфейсов и службах, которые должны\n"
"запускаться при начальной загрузке системы. Подробнее в разделе\n"
-" crossref:bsdinstall[configtuning-core-configuration, Управление системными настройками]"
+" crossref:bsdinstall[configtuning-core-configuration, Управление системными "
+"настройками]"
#. type: Table
#: documentation/content/en/books/handbook/config/_index.adoc:134
@@ -327,7 +329,9 @@ msgstr "[.filename]#/etc/security#"
#: documentation/content/en/books/handbook/config/_index.adoc:136
#, no-wrap
msgid "OpenBSM audit configuration files, see man:audit[8] for more information."
-msgstr "Файлы конфигурации аудита OpenBSM, дополнительную информацию смотрите в man:audit[8]."
+msgstr ""
+"Файлы конфигурации аудита OpenBSM, дополнительную информацию смотрите в "
+"man:audit[8]."
#. type: Table
#: documentation/content/en/books/handbook/config/_index.adoc:137
@@ -816,8 +820,8 @@ msgid ""
"The entries in [.filename]#/etc/rc.conf# override the default settings in "
"[.filename]#/etc/defaults/rc.conf#."
msgstr ""
-"Записи в [.filename]#/etc/rc.conf# переопределяют настройки по умолчанию из "
-"[.filename]#/etc/defaults/rc.conf#."
+"Записи в [.filename]#/etc/rc.conf# переопределяют настройки по умолчанию из ["
+".filename]#/etc/defaults/rc.conf#."
#. type: delimited block = 4
#: documentation/content/en/books/handbook/config/_index.adoc:335
@@ -897,8 +901,8 @@ msgid ""
"unique."
msgstr ""
"Распределите [.filename]#/etc/rc.conf# на каждую систему с помощью таких "
-"приложений, как rsync или puppet, в то время как [.filename]#/etc/"
-"rc.conf.local# остается уникальным."
+"приложений, как rsync или puppet, в то время как [.filename]#/etc/rc.conf."
+"local# остается уникальным."
#. type: Plain text
#: documentation/content/en/books/handbook/config/_index.adoc:361
@@ -945,8 +949,8 @@ msgid ""
"man:service[8]."
msgstr ""
"Скрипты, перечисленные в [.filename]#/etc/rc.d#, предоставляют базовые "
-"сервисы, которыми можно управлять с помощью опций `start`, `stop` и "
-"`restart` команды man:service[8]."
+"сервисы, которыми можно управлять с помощью опций `start`, `stop` и `restart`"
+" команды man:service[8]."
#. type: Plain text
#: documentation/content/en/books/handbook/config/_index.adoc:377
@@ -1054,8 +1058,8 @@ msgid ""
"system initialization. This section explains the procedures available for "
"starting services."
msgstr ""
-"Службы, такие как package:security/openssh-portable[] или package:www/"
-"nginx[], являются лишь двумя из множества программных пакетов, которые могут "
+"Службы, такие как package:security/openssh-portable[] или package:www/nginx[]"
+", являются лишь двумя из множества программных пакетов, которые могут "
"запускаться при инициализации системы. В этом разделе описаны доступные "
"процедуры для запуска служб."
@@ -1068,9 +1072,9 @@ msgid ""
"rc.conf# variable is set."
msgstr ""
"Поскольку система man:rc[8] в первую очередь предназначена для запуска и "
-"остановки служб во время загрузки и выключения системы, опции `start`, "
-"`stop` и `restart` выполнят соответствующие действия только в том случае, "
-"если установлена соответствующая переменная в [.filename]#/etc/rc.conf#."
+"остановки служб во время загрузки и выключения системы, опции `start`, `stop`"
+" и `restart` выполнят соответствующие действия только в том случае, если "
+"установлена соответствующая переменная в [.filename]#/etc/rc.conf#."
#. type: Plain text
#: documentation/content/en/books/handbook/config/_index.adoc:418
@@ -1179,9 +1183,8 @@ msgstr "В большинстве случаев это означает отп
#. type: Plain text
#: documentation/content/en/books/handbook/config/_index.adoc:472
-#, fuzzy
-#| msgid "*Not all services support this feature.*\n"
-msgid "*Not all services support this feature.*"
+#, no-wrap
+msgid "*Not all services support this feature.*\n"
msgstr "*Не все службы поддерживают эту возможность.*\n"
#. type: Plain text
@@ -1240,8 +1243,8 @@ msgid ""
"servers[network-inetd,“The inetd Super-Server”]."
msgstr ""
"Другие службы могут быть запущены с помощью man:inetd[8]. Работа с "
-"man:inetd[8] и его настройка подробно описаны в crossref:network-"
-"servers[network-inetd,«Суперсервер inetd»]."
+"man:inetd[8] и его настройка подробно описаны в crossref:network-servers"
+"[network-inetd,«Суперсервер inetd»]."
#. type: Plain text
#: documentation/content/en/books/handbook/config/_index.adoc:496
@@ -1306,8 +1309,8 @@ msgid ""
"[.filename]#/etc/crontab# for tasks to execute and searches [.filename]#/var/"
"cron/tabs# for custom crontab files."
msgstr ""
-"Утилита man:cron[8] работает в фоновом режиме и периодически проверяет файл "
-"[.filename]#/etc/crontab# на наличие задач для выполнения, а также ищет "
+"Утилита man:cron[8] работает в фоновом режиме и периодически проверяет файл ["
+".filename]#/etc/crontab# на наличие задач для выполнения, а также ищет "
"пользовательские файлы crontab в каталоге [.filename]#/var/cron/tabs#."
#. type: Plain text
@@ -1341,8 +1344,8 @@ msgstr ""
"Используются два типа конфигурационных файлов: системный crontab, который не "
"следует изменять, и пользовательские crontabs, которые можно создавать и "
"редактировать по необходимости. Формат этих файлов описан в man:crontab[5]. "
-"Формат системного crontab, [.filename]#/etc/crontab#, включает столбец "
-"`who`, который отсутствует в пользовательских crontabs. В системном crontab "
+"Формат системного crontab, [.filename]#/etc/crontab#, включает столбец `who`"
+", который отсутствует в пользовательских crontabs. В системном crontab "
"команды выполняются от имени пользователя, указанного в этом столбце. В "
"пользовательском crontab все команды выполняются от имени пользователя, "
"создавшего crontab."
@@ -1403,7 +1406,8 @@ msgstr ""
"#minute hour mday month wday who command <.>\n"
"#\n"
"# Save some entropy so that /dev/random can re-seed on boot.\n"
-"*/11 * * * * operator /usr/libexec/save-entropy <.>\n"
+"*/11 * * * * operator /usr/libexec/save-entropy "
+"<.>\n"
"#\n"
"# Rotate log files every hour, if necessary.\n"
"0 * * * * root newsyslog\n"
@@ -1459,15 +1463,14 @@ msgid ""
"the system crontab and specifies which user the command should be run as. "
"The last field is the command to be executed."
msgstr ""
-"Эта строка определяет семь полей, используемых в системном crontab: "
-"`minute`, `hour`, `mday`, `month`, `wday`, `who` и `command`. Поле `minute` "
-"указывает время в минутах, когда должна выполняться указанная команда, "
-"`hour` — час, `mday` — день месяца, `month` — месяц, а `wday` — день недели. "
-"Эти поля должны содержать числовые значения в 24-часовом формате или символ "
-"`*`, обозначающий все возможные значения для данного поля. Поле `who` "
-"существует только в системном crontab и указывает, от имени какого "
-"пользователя должна выполняться команда. Последнее поле — это команда, "
-"которую нужно выполнить."
+"Эта строка определяет семь полей, используемых в системном crontab: `minute`"
+", `hour`, `mday`, `month`, `wday`, `who` и `command`. Поле `minute` "
+"указывает время в минутах, когда должна выполняться указанная команда, `hour`"
+" — час, `mday` — день месяца, `month` — месяц, а `wday` — день недели. Эти "
+"поля должны содержать числовые значения в 24-часовом формате или символ `*`, "
+"обозначающий все возможные значения для данного поля. Поле `who` существует "
+"только в системном crontab и указывает, от имени какого пользователя должна "
+"выполняться команда. Последнее поле — это команда, которую нужно выполнить."
#. type: Plain text
#: documentation/content/en/books/handbook/config/_index.adoc:563
@@ -1484,8 +1487,8 @@ msgstr ""
"entropy` запускается от имени пользователя `operator` каждые одиннадцать "
"минут каждого часа, каждого дня и дня недели, каждого месяца. Команды могут "
"включать любое количество параметров. Однако команды, занимающие несколько "
-"строк, должны быть разделены символом продолжения обратной косой черты \"\\"
-"\"."
+"строк, должны быть разделены символом продолжения обратной косой черты \"\\\""
+"."
#. type: Title ===
#: documentation/content/en/books/handbook/config/_index.adoc:565
@@ -1577,7 +1580,9 @@ msgstr ""
#: documentation/content/en/books/handbook/config/_index.adoc:605
#, no-wrap
msgid "env -i SHELL=/bin/sh PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin HOME=/home/user LOGNAME=user /home/user/bin/mycustomscript.sh\n"
-msgstr "env -i SHELL=/bin/sh PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin HOME=/home/user LOGNAME=user /home/user/bin/mycustomscript.sh\n"
+msgstr ""
+"env -i SHELL=/bin/sh PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin HOME=/home/user "
+"LOGNAME=user /home/user/bin/mycustomscript.sh\n"
#. type: Plain text
#: documentation/content/en/books/handbook/config/_index.adoc:609
@@ -1777,9 +1782,9 @@ msgid ""
"files at the appropriate times:"
msgstr ""
"Для записи периодического вывода в журнал вместо получения его по "
-"электронной почте добавьте следующие строки в [.filename]#/etc/"
-"periodic.conf#. Утилита man:newsyslog[8] будет выполнять ротацию этих файлов "
-"в соответствующее время:"
+"электронной почте добавьте следующие строки в [.filename]#/etc/periodic.conf#"
+". Утилита man:newsyslog[8] будет выполнять ротацию этих файлов в "
+"соответствующее время:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/config/_index.adoc:697
@@ -1942,7 +1947,8 @@ msgstr ""
"# may want to use only tabs as field separators here.\n"
"# Consult the syslog.conf(5) manpage.\n"
"*.err;kern.warning;auth.notice;mail.crit /dev/console <.>\n"
-"*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err /var/log/messages\n"
+"*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err /var/log/"
+"messages\n"
"security.* /var/log/security\n"
"auth.info;authpriv.info /var/log/auth.log\n"
"mail.info /var/log/maillog <.>\n"
@@ -1977,9 +1983,9 @@ msgid ""
"`kern.warning`, `auth.notice` and `mail.crit`, and sends these log messages "
"to the console ([.filename]#/dev/console#)."
msgstr ""
-"Соответствует всем сообщениям с уровнем `err` или выше, а также "
-"`kern.warning`, `auth.notice` и `mail.crit`, и отправляет эти сообщения "
-"журнала на консоль ([.filename]#/dev/console#)."
+"Соответствует всем сообщениям с уровнем `err` или выше, а также `kern."
+"warning`, `auth.notice` и `mail.crit`, и отправляет эти сообщения журнала на "
+"консоль ([.filename]#/dev/console#)."
#. type: Plain text
#: documentation/content/en/books/handbook/config/_index.adoc:768
@@ -2009,8 +2015,8 @@ msgid ""
msgstr ""
"Пример использования спецификации программы. Это делает следующие правила "
"действительными только для указанной программы. В данном случае только "
-"сообщения, генерируемые man:devd[8], записываются в [.filename]#/var/log/"
-"devd.log#."
+"сообщения, генерируемые man:devd[8], записываются в [.filename]#/var/log/devd"
+".log#."
#. type: Plain text
#: documentation/content/en/books/handbook/config/_index.adoc:772
@@ -2080,7 +2086,8 @@ msgstr "authpriv"
#: documentation/content/en/books/handbook/config/_index.adoc:790
#, no-wrap
msgid "The same as auth, but logged to a file readable only by root."
-msgstr "То же, что и auth, но записывается в файл, доступный только для чтения root."
+msgstr ""
+"То же, что и auth, но записывается в файл, доступный только для чтения root."
#. type: Table
#: documentation/content/en/books/handbook/config/_index.adoc:791
@@ -2092,7 +2099,9 @@ msgstr "console"
#: documentation/content/en/books/handbook/config/_index.adoc:793
#, no-wrap
msgid "Messages written to [.filename]#/dev/console# by the kernel console output driver."
-msgstr "Сообщения, записываемые драйвером вывода консоли ядра в [.filename]#/dev/console#."
+msgstr ""
+"Сообщения, записываемые драйвером вывода консоли ядра в [.filename]#/dev/"
+"console#."
#. type: Table
#: documentation/content/en/books/handbook/config/_index.adoc:794
@@ -2116,7 +2125,9 @@ msgstr "daemon"
#: documentation/content/en/books/handbook/config/_index.adoc:799
#, no-wrap
msgid "System daemons, such as man:routed[8], that are not provided for explicitly by other facilities."
-msgstr "Системные демоны, такие как man:routed[8], которые не предусмотрены явно другими средствами."
+msgstr ""
+"Системные демоны, такие как man:routed[8], которые не предусмотрены явно "
+"другими средствами."
#. type: Table
#: documentation/content/en/books/handbook/config/_index.adoc:800
@@ -2134,7 +2145,9 @@ msgstr "Демоны протокола передачи файлов: man:ftpd[
#: documentation/content/en/books/handbook/config/_index.adoc:805
#, no-wrap
msgid "Messages generated by the kernel. These cannot be generated by any user processes."
-msgstr "Сообщения, генерируемые ядром. Они не могут быть созданы какими-либо пользовательскими процессами."
+msgstr ""
+"Сообщения, генерируемые ядром. Они не могут быть созданы какими-либо "
+"пользовательскими процессами."
#. type: Table
#: documentation/content/en/books/handbook/config/_index.adoc:806
@@ -2146,7 +2159,8 @@ msgstr "lpr"
#: documentation/content/en/books/handbook/config/_index.adoc:808
#, no-wrap
msgid "The line printer spooling system: man:lpr[1], man:lpc[8], man:lpd[8], etc."
-msgstr "Система буферизации принтеров: man:lpr[1], man:lpc[8], man:lpd[8] и т.д."
+msgstr ""
+"Система буферизации принтеров: man:lpr[1], man:lpc[8], man:lpd[8] и т.д."
#. type: Table
#: documentation/content/en/books/handbook/config/_index.adoc:809
@@ -2224,7 +2238,9 @@ msgstr "Сообщения, генерируемые внутренне syslogd(
#: documentation/content/en/books/handbook/config/_index.adoc:829
#, no-wrap
msgid "Messages generated by random user processes. *This is the default facility identifier if none is specified*."
-msgstr "Сообщения, генерируемые случайными пользовательскими процессами. *Это идентификатор источника по умолчанию, если не указан другой*."
+msgstr ""
+"Сообщения, генерируемые случайными пользовательскими процессами. *Это "
+"идентификатор источника по умолчанию, если не указан другой*."
#. type: Table
#: documentation/content/en/books/handbook/config/_index.adoc:830
@@ -2236,7 +2252,9 @@ msgstr "uucp"
#: documentation/content/en/books/handbook/config/_index.adoc:832
#, no-wrap
msgid "The Unix-to-Unix Copy system. An ancient protocol. Really weird to see messages from this facility."
-msgstr "Система Unix-to-Unix Copy. Устаревший протокол. Очень странно видеть сообщения от этого сервиса."
+msgstr ""
+"Система Unix-to-Unix Copy. Устаревший протокол. Очень странно видеть "
+"сообщения от этого сервиса."
#. type: Table
#: documentation/content/en/books/handbook/config/_index.adoc:833
@@ -2293,7 +2311,9 @@ msgstr "alert"
#: documentation/content/en/books/handbook/config/_index.adoc:853
#, no-wrap
msgid "A condition that should be corrected immediately, such as a corrupted system database."
-msgstr "Условие, которое должно быть немедленно исправлено, например, повреждение системной базы данных."
+msgstr ""
+"Условие, которое должно быть немедленно исправлено, например, повреждение "
+"системной базы данных."
#. type: Table
#: documentation/content/en/books/handbook/config/_index.adoc:854
@@ -2341,7 +2361,9 @@ msgstr "notice"
#: documentation/content/en/books/handbook/config/_index.adoc:865
#, no-wrap
msgid "Conditions that are not error conditions, but should possibly be handled specially."
-msgstr "Условия, которые не являются ошибочными, но, возможно, требуют специальной обработки."
+msgstr ""
+"Условия, которые не являются ошибочными, но, возможно, требуют специальной "
+"обработки."
#. type: Table
#: documentation/content/en/books/handbook/config/_index.adoc:866
@@ -2359,7 +2381,9 @@ msgstr "Информационные сообщения."
#: documentation/content/en/books/handbook/config/_index.adoc:871
#, no-wrap
msgid "Messages that contain information normally of use only when debugging a program."
-msgstr "Сообщения, содержащие информацию, которая обычно полезна только при отладке программы."
+msgstr ""
+"Сообщения, содержащие информацию, которая обычно полезна только при отладке "
+"программы."
#. type: Table
#: documentation/content/en/books/handbook/config/_index.adoc:872
@@ -2387,10 +2411,10 @@ msgid ""
"Protocol. Learn more about other formats and how to use them at "
"man:syslog[8]."
msgstr ""
-"По умолчанию журнальные файлы FreeBSD используют формат link:https://"
-"datatracker.ietf.org/doc/html/rfc3164[rfc3164], также известный как протокол "
-"BSD syslog. Подробнее о других форматах и их использовании можно узнать в "
-"man:syslog[8]."
+"По умолчанию журнальные файлы FreeBSD используют формат "
+"link:https://datatracker.ietf.org/doc/html/rfc3164[rfc3164], также известный "
+"как протокол BSD syslog. Подробнее о других форматах и их использовании "
+"можно узнать в man:syslog[8]."
#. type: Plain text
#: documentation/content/en/books/handbook/config/_index.adoc:883
@@ -2421,8 +2445,10 @@ msgid ""
"[...]\n"
msgstr ""
"[...]\n"
-"Jul 16 12:40:00 FreeBSD /usr/sbin/cron[81519]: (root) CMD (/usr/libexec/atrun)\n"
-"Jul 16 12:44:00 FreeBSD /usr/sbin/cron[83072]: (operator) CMD (/usr/libexec/save-entropy)\n"
+"Jul 16 12:40:00 FreeBSD /usr/sbin/cron[81519]: (root) CMD (/usr/libexec/"
+"atrun)\n"
+"Jul 16 12:44:00 FreeBSD /usr/sbin/cron[83072]: (operator) CMD (/usr/libexec/"
+"save-entropy)\n"
"[...]\n"
#. type: Plain text
@@ -2460,8 +2486,10 @@ msgid ""
"[...]\n"
msgstr ""
"[...]\n"
-"Jul 16 17:40:00 <cron.info> FreeBSD /usr/sbin/cron[1016]: (root) CMD (/usr/libexec/atrun)\n"
-"Jul 16 17:44:00 <cron.info> FreeBSD /usr/sbin/cron[1030]: (operator) CMD (/usr/libexec/save-entropy)\n"
+"Jul 16 17:40:00 <cron.info> FreeBSD /usr/sbin/cron[1016]: (root) CMD (/usr/"
+"libexec/atrun)\n"
+"Jul 16 17:44:00 <cron.info> FreeBSD /usr/sbin/cron[1030]: (operator) CMD (/"
+"usr/libexec/save-entropy)\n"
"[...]\n"
#. type: Title ===
@@ -2565,13 +2593,15 @@ msgstr ""
"# is no process which needs to be signalled when a given log file is\n"
"# rotated, then the entry for that file should include the 'N' flag.\n"
"#\n"
-"# Note: some sites will want to select more restrictive protections than the\n"
+"# Note: some sites will want to select more restrictive protections than "
+"the\n"
"# defaults. In particular, it may be desirable to switch many of the 644\n"
"# entries to 640 or 600. For example, some sites will consider the\n"
"# contents of maillog, messages, and lpd-errs to be confidential. In the\n"
"# future, these defaults may change to more conservative ones.\n"
"#\n"
-"# logfilename [owner:group] mode count size when flags [/pid_file] [sig_num]\n"
+"# logfilename [owner:group] mode count size when flags "
+"[/pid_file] [sig_num]\n"
"/var/log/all.log 600 7 * @T00 J\n"
"/var/log/auth.log 600 7 1000 @0101T JC\n"
"/var/log/console.log 600 5 1000 * J\n"
@@ -2795,8 +2825,8 @@ msgstr ""
"указав имя клиента, от которого будут приниматься записи журнала, "
"используемое средство ведения журнала и имя файла для хранения записей "
"журнала данного хоста. В этом примере добавляется имя хоста `B`, "
-"регистрируются все средства и записи журнала сохраняются в файле "
-"[.filename]#/var/log/logclient.log#."
+"регистрируются все средства и записи журнала сохраняются в файле [."
+"filename]#/var/log/logclient.log#."
#. type: Block title
#: documentation/content/en/books/handbook/config/_index.adoc:1010
@@ -2899,8 +2929,8 @@ msgid ""
"[.filename]#/var/log/messages# for the error."
msgstr ""
"Если возвращен PID, сервер успешно перезапущен, и можно приступать к "
-"настройке клиента. Если сервер не перезапустился, проверьте ошибку в "
-"[.filename]#/var/log/messages#."
+"настройке клиента. Если сервер не перезапустился, проверьте ошибку в [."
+"filename]#/var/log/messages#."
#. type: Title ====
#: documentation/content/en/books/handbook/config/_index.adoc:1060
@@ -3028,9 +3058,9 @@ msgstr ""
"конфигурационном файле. Чтобы выявить причину, убедитесь, что и сервер "
"журналов, и клиент могут `ping` друг друга, используя имя хоста, указанное в "
"их [.filename]#/etc/rc.conf#. Если это не удаётся, проверьте сетевые кабели, "
-"набор правил межсетевого экрана и записи имён хостов на DNS-сервере или в "
-"[.filename]#/etc/hosts# как на сервере журналов, так и на клиентах. "
-"Повторяйте проверки, пока `ping` не будет успешным с обоих хостов."
+"набор правил межсетевого экрана и записи имён хостов на DNS-сервере или в [."
+"filename]#/etc/hosts# как на сервере журналов, так и на клиентах. Повторяйте "
+"проверки, пока `ping` не будет успешным с обоих хостов."
#. type: Plain text
#: documentation/content/en/books/handbook/config/_index.adoc:1109
@@ -3087,7 +3117,8 @@ msgid ""
msgstr ""
"logmsg: pri 56, flags 4, from logserv.example.com, msg syslogd: restart\n"
"syslogd: restarted\n"
-"logmsg: pri 6, flags 4, from logserv.example.com, msg syslogd: kernel boot file is /boot/kernel/kernel\n"
+"logmsg: pri 6, flags 4, from logserv.example.com, msg syslogd: kernel boot "
+"file is /boot/kernel/kernel\n"
"Logging to FILE /var/log/messages\n"
"syslogd: kernel boot file is /boot/kernel/kernel\n"
"cvthname(192.168.1.10)\n"
@@ -3126,14 +3157,17 @@ msgid ""
msgstr ""
"logmsg: pri 56, flags 4, from logserv.example.com, msg syslogd: restart\n"
"syslogd: restarted\n"
-"logmsg: pri 6, flags 4, from logserv.example.com, msg syslogd: kernel boot file is /boot/kernel/kernel\n"
+"logmsg: pri 6, flags 4, from logserv.example.com, msg syslogd: kernel boot "
+"file is /boot/kernel/kernel\n"
"syslogd: kernel boot file is /boot/kernel/kernel\n"
"logmsg: pri 166, flags 17, from logserv.example.com,\n"
-"msg Dec 10 20:55:02 <syslog.err> logserv.example.com syslogd: exiting on signal 2\n"
+"msg Dec 10 20:55:02 <syslog.err> logserv.example.com syslogd: exiting on "
+"signal 2\n"
"cvthname(192.168.1.10)\n"
"validate: dgram from IP 192.168.1.10, port 514, name logclient.example.com;\n"
"accepted in rule 0.\n"
-"logmsg: pri 15, flags 0, from logclient.example.com, msg Dec 11 02:01:28 trhodes: Test message 2\n"
+"logmsg: pri 15, flags 0, from logclient.example.com, msg Dec 11 02:01:28 "
+"trhodes: Test message 2\n"
"Logging to FILE /var/log/logclient.log\n"
"Logging to FILE /var/log/messages\n"
@@ -3510,8 +3544,7 @@ msgstr "# sysrc powerd_flags=\"-a hiadaptive -i 25 -r 85 -N\"\n"
#. type: Plain text
#: documentation/content/en/books/handbook/config/_index.adoc:1322
msgid "`-a`: Selects the mode to use while on AC power."
-msgstr ""
-"`-a`: Выбирает режим, используемый при работе от сети переменного тока."
+msgstr "`-a`: Выбирает режим, используемый при работе от сети переменного тока."
#. type: Plain text
#: documentation/content/en/books/handbook/config/_index.adoc:1323
@@ -3620,7 +3653,8 @@ msgstr ""
#: documentation/content/en/books/handbook/config/_index.adoc:1353
#, no-wrap
msgid "# sysctl dev.cpufreq.0.freq_driver dev.cpu.0.freq_levels dev.cpu.0.freq\n"
-msgstr "# sysctl dev.cpufreq.0.freq_driver dev.cpu.0.freq_levels dev.cpu.0.freq\n"
+msgstr ""
+"# sysctl dev.cpufreq.0.freq_driver dev.cpu.0.freq_levels dev.cpu.0.freq\n"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/config/_index.adoc:1362
@@ -3631,7 +3665,9 @@ msgid ""
"dev.cpu.0.freq: 800\n"
msgstr ""
"dev.cpufreq.0.freq_driver: est0\n"
-"dev.cpu.0.freq_levels: 3001/53000 3000/53000 2900/50301 2700/46082 2600/43525 2400/39557 2300/37137 2100/33398 2000/31112 1800/27610 1700/25455 1500/22171 1400/20144 1200/17084 1100/15181 900/12329 800/10550\n"
+"dev.cpu.0.freq_levels: 3001/53000 3000/53000 2900/50301 2700/46082 2600/"
+"43525 2400/39557 2300/37137 2100/33398 2000/31112 1800/27610 1700/25455 1500/"
+"22171 1400/20144 1200/17084 1100/15181 900/12329 800/10550\n"
"dev.cpu.0.freq: 800\n"
#. type: Plain text
@@ -3710,8 +3746,8 @@ msgid ""
"The current CPU frequency can be determined by examining the `dev.cpu."
"%d.freq` oid."
msgstr ""
-"Текущая частота процессора может быть определена путем проверки OID `dev.cpu."
-"%d.freq`."
+"Текущая частота процессора может быть определена путем проверки OID `dev."
+"cpu.%d.freq`."
#. type: delimited block . 4
#: documentation/content/en/books/handbook/config/_index.adoc:1396
@@ -3831,8 +3867,8 @@ msgid ""
msgstr ""
"Для корректной работы функции приостановки/возобновления в системе должны "
"быть загружены графические драйверы. В видеокартах без поддержки KMS следует "
-"использовать man:sc[4], чтобы не нарушить функциональность приостановки/"
-"возобновления."
+"использовать man:sc[4], чтобы не нарушить функциональность "
+"приостановки/возобновления."
#. type: delimited block = 4
#: documentation/content/en/books/handbook/config/_index.adoc:1443
@@ -3864,7 +3900,10 @@ msgstr "S1"
#: documentation/content/en/books/handbook/config/_index.adoc:1454
#, no-wrap
msgid "Quick suspend to RAM. The CPU enters a lower power state, but most peripherals are left running."
-msgstr "Быстрый переход в режим ожидания с сохранением в оперативной памяти. ЦП переходит в состояние пониженного энергопотребления, но большинство периферийных устройств остаются активными."
+msgstr ""
+"Быстрый переход в режим ожидания с сохранением в оперативной памяти. ЦП "
+"переходит в состояние пониженного энергопотребления, но большинство "
+"периферийных устройств остаются активными."
#. type: Table
#: documentation/content/en/books/handbook/config/_index.adoc:1455
@@ -3876,7 +3915,9 @@ msgstr "S2"
#: documentation/content/en/books/handbook/config/_index.adoc:1457
#, no-wrap
msgid "Lower power state than S1, but with the same basic characteristics. Not supported by many systems."
-msgstr "Состояние с меньшим энергопотреблением, чем S1, но с теми же основными характеристиками. Не поддерживается многими системами."
+msgstr ""
+"Состояние с меньшим энергопотреблением, чем S1, но с теми же основными "
+"характеристиками. Не поддерживается многими системами."
#. type: Table
#: documentation/content/en/books/handbook/config/_index.adoc:1458
@@ -3888,7 +3929,9 @@ msgstr "S3 (Режим сна)"
#: documentation/content/en/books/handbook/config/_index.adoc:1460
#, no-wrap
msgid "Suspend to RAM. Most devices are powered off, and the system stops running except for memory refresh."
-msgstr "Режим приостановки с сохранением в ОЗУ. Большинство устройств отключается, и система перестает работать, за исключением обновления памяти."
+msgstr ""
+"Режим приостановки с сохранением в ОЗУ. Большинство устройств отключается, и "
+"система перестает работать, за исключением обновления памяти."
#. type: Table
#: documentation/content/en/books/handbook/config/_index.adoc:1461
@@ -3900,7 +3943,10 @@ msgstr "S4 (Режим гибернации)"
#: documentation/content/en/books/handbook/config/_index.adoc:1463
#, no-wrap
msgid "Suspend to disk. All devices are powered off, and the system stops running. When resuming, the system starts as if from a cold power on. *Not yet supported by FreeBSD*."
-msgstr "Приостановка с сохранением состояния на диск. Все устройства отключаются, и система прекращает работу. При возобновлении система запускается, как после холодного включения. *Пока не поддерживается в FreeBSD*."
+msgstr ""
+"Приостановка с сохранением состояния на диск. Все устройства отключаются, и "
+"система прекращает работу. При возобновлении система запускается, как после "
+"холодного включения. *Пока не поддерживается в FreeBSD*."
#. type: Table
#: documentation/content/en/books/handbook/config/_index.adoc:1464
@@ -4056,8 +4102,8 @@ msgid ""
"Swap”]."
msgstr ""
"Для получения информации о том, как зашифровать пространство подкачки, какие "
-"существуют варианты и почему это следует делать, обратитесь к "
-"crossref:disks[swap-encrypting,\"Шифрование подкачки\"]."
+"существуют варианты и почему это следует делать, обратитесь к crossref:disks"
+"[swap-encrypting,\"Шифрование подкачки\"]."
#. type: Title ===
#: documentation/content/en/books/handbook/config/_index.adoc:1528
@@ -4182,8 +4228,8 @@ msgid ""
"The third step is to inform the system about the swap file by adding a line "
"to [.filename]#/etc/fstab#:"
msgstr ""
-"Третий шаг — сообщить системе о файле подкачки, добавив строку в "
-"[.filename]#/etc/fstab#:"
+"Третий шаг — сообщить системе о файле подкачки, добавив строку в [."
+"filename]#/etc/fstab#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/config/_index.adoc:1586
diff --git a/documentation/content/ru/books/handbook/cutting-edge/_index.adoc b/documentation/content/ru/books/handbook/cutting-edge/_index.adoc
index 9cb3c24d83..5c3dce7587 100644
--- a/documentation/content/ru/books/handbook/cutting-edge/_index.adoc
+++ b/documentation/content/ru/books/handbook/cutting-edge/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/cutting-edge/
part: 'Часть III. Администрирование системы'
prev: books/handbook/l10n
-showBookMenu: true
+showBookMenu: 'true'
tags: ["updating", "upgrading", "documentation", "FreeBSD-STABLE", "FreeBSD-CURRENT", "Security Patches"]
title: 'Глава 26. Обновление и смена версии FreeBSD'
weight: 30
@@ -86,7 +86,7 @@ FreeBSD постоянно развивается между выпусками.
Если существует man:crontab[5], использующий возможности man:freebsd-update[8], его необходимо отключить перед обновлением операционной системы.
====
-В этом разделе описывается файл конфигурации, используемый `freebsd-update`, демонстрируется применение патча безопасности, обновление со сменой мледшей или старшей версии операционной системы, а также рассматриваются некоторые аспекты, которые следует учитывать при обновлении ОС.
+В этом разделе описывается файл конфигурации, используемый `freebsd-update`, демонстрируется применение патча безопасности, обновление со сменой младшей или старшей версии операционной системы, а также рассматриваются некоторые аспекты, которые следует учитывать при обновлении ОС.
[[freebsdupdate-config-file]]
=== Файл конфигурации
@@ -226,7 +226,7 @@ _Мажорные_ обновления увеличивают номер ста
Итак, при любом обновлении ОС, будь то обновление младшей или старшей версии, если ваш пакет требует включить какой-либо модуль ядра:
-* *be prepared to build the module from source*.
+* *будьте готовы собрать модуль из исходного кода*
====
diff --git a/documentation/content/ru/books/handbook/cutting-edge/_index.po b/documentation/content/ru/books/handbook/cutting-edge/_index.po
index 689c7bc65f..aca247294c 100644
--- a/documentation/content/ru/books/handbook/cutting-edge/_index.po
+++ b/documentation/content/ru/books/handbook/cutting-edge/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
-"PO-Revision-Date: 2025-09-05 04:45+0000\n"
+"POT-Creation-Date: 2025-06-29 21:20+0100\n"
+"PO-Revision-Date: 2025-10-29 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/bookshandbookcutting-edge_index/ru/>\n"
@@ -18,19 +18,19 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1
#, no-wrap
msgid "Information about how to keep a FreeBSD system up-to-date with freebsd-update or Git, how to rebuild and reinstall the entire base system, etc"
msgstr "Информация о том, как поддерживать систему FreeBSD в актуальном состоянии с помощью `freebsd-update` или Git, как пересобрать и переустановить всю базовую систему и так далее"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1
#, no-wrap
msgid "Part III. System Administration"
msgstr "Часть III. Администрирование системы"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1
#, no-wrap
msgid "Chapter 26. Updating and Upgrading FreeBSD"
@@ -129,8 +129,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:73
msgid ""
-"Know how to install additional third-party software "
-"(crossref:ports[ports,Installing Applications: Packages and Ports])."
+"Know how to install additional third-party software (crossref:ports[ports,"
+"Installing Applications: Packages and Ports])."
msgstr ""
"Знать, как устанавливать дополнительное стороннее программное обеспечение "
"(crossref:ports[ports,Установка приложений: Пакеты и Порты])."
@@ -178,8 +178,8 @@ msgstr ""
"нового ядра. Бинарные обновления доступны для всех архитектур и выпусков, "
"которые в настоящее время поддерживаются командой безопасности. Список "
"поддерживаемых выпусков и их предполагаемые даты окончания поддержки "
-"приведены на странице https://www.FreeBSD.org/security/[https://"
-"www.FreeBSD.org/security/]."
+"приведены на странице https://www.FreeBSD.org/security/[https://www.FreeBSD."
+"org/security/]."
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:93
@@ -214,7 +214,7 @@ msgid ""
"when upgrading the operating system."
msgstr ""
"В этом разделе описывается файл конфигурации, используемый `freebsd-update`, "
-"демонстрируется применение патча безопасности, обновление со сменой мледшей "
+"демонстрируется применение патча безопасности, обновление со сменой младшей "
"или старшей версии операционной системы, а также рассматриваются некоторые "
"аспекты, которые следует учитывать при обновлении ОС."
@@ -289,8 +289,8 @@ msgid ""
"statement. This option may be used to prevent `freebsd-update` from "
"overwriting local modifications."
msgstr ""
-"Чтобы оставить указанные каталоги, такие как [.filename]#/bin# или "
-"[.filename]#/sbin#, без изменений в процессе обновления, добавьте их пути в "
+"Чтобы оставить указанные каталоги, такие как [.filename]#/bin# или [."
+"filename]#/sbin#, без изменений в процессе обновления, добавьте их пути в "
"эту инструкцию. Эта опция может быть использована для предотвращения "
"перезаписи локальных изменений с помощью `freebsd-update`."
@@ -582,13 +582,13 @@ msgid ""
"The updates distributed by `freebsd-update` do not always involve the "
"kernel. It is not necessary to rebuild a custom kernel if the kernel "
"sources have not been modified by `freebsd-update install`. However, "
-"`freebsd-update` will always update [.filename]#/usr/src/sys/conf/"
-"newvers.sh#. The current patch level, as indicated by the `-p` number "
-"reported by `uname -r`, is obtained from this file. Rebuilding a custom "
-"kernel, even if nothing else changed, allows `uname` to accurately report "
-"the current patch level of the system. This is particularly helpful when "
-"maintaining multiple systems, as it allows for a quick assessment of the "
-"updates installed in each one."
+"`freebsd-update` will always update [.filename]#/usr/src/sys/conf/newvers."
+"sh#. The current patch level, as indicated by the `-p` number reported by "
+"`uname -r`, is obtained from this file. Rebuilding a custom kernel, even if "
+"nothing else changed, allows `uname` to accurately report the current patch "
+"level of the system. This is particularly helpful when maintaining multiple "
+"systems, as it allows for a quick assessment of the updates installed in "
+"each one."
msgstr ""
"Обновления, распространяемые через `freebsd-update`, не всегда затрагивают "
"ядро. Нет необходимости пересобирать собственное ядро, если исходные коды "
@@ -684,16 +684,15 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:275
-#, fuzzy
-#| msgid "*be prepared to build the module from source*.\n"
-msgid "*be prepared to build the module from source*."
+#, no-wrap
+msgid "*be prepared to build the module from source*.\n"
msgstr "*будьте готовы собрать модуль из исходного кода*\n"
#. type: delimited block = 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:282
msgid ""
-"If the system is running a custom kernel, make sure that a copy of the "
-"[.filename]#GENERIC# kernel exists in [.filename]#/boot/GENERIC# before "
+"If the system is running a custom kernel, make sure that a copy of the [."
+"filename]#GENERIC# kernel exists in [.filename]#/boot/GENERIC# before "
"starting the upgrade. Refer to crossref:cutting-edge[freebsd-update-custom-"
"kernel-9x, Custom Kernels with FreeBSD 9.X and Later] for instructions on "
"how to get a copy of the [.filename]#GENERIC# kernel."
@@ -826,8 +825,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:338
msgid ""
-"This warning may be safely ignored at this point. The updated "
-"[.filename]#GENERIC# kernel will be used as an intermediate step in the "
+"This warning may be safely ignored at this point. The updated [."
+"filename]#GENERIC# kernel will be used as an intermediate step in the "
"upgrade process."
msgstr ""
"Это предупреждение можно безопасно проигнорировать на данном этапе. "
@@ -844,8 +843,8 @@ msgid ""
"may appear on screen for a manual merge. The results of every successful "
"merge will be shown to the user as the process continues. A failed or "
"ignored merge will cause the process to abort. Users may wish to make a "
-"backup of [.filename]#/etc# and manually merge important files, such as "
-"[.filename]#master.passwd# or [.filename]#group# at a later time."
+"backup of [.filename]#/etc# and manually merge important files, such as [."
+"filename]#master.passwd# or [.filename]#group# at a later time."
msgstr ""
"После загрузки всех патчей в локальную систему они будут применены. Этот "
"процесс может занять некоторое время в зависимости от скорости и "
@@ -914,10 +913,10 @@ msgstr ""
"все драйверы, необходимые для корректной загрузки системы и подключения к "
"сети, если обновляемая машина доступна удалённо. В частности, если текущее "
"кастомное ядро включает встроенную функциональность, обычно предоставляемую "
-"модулями ядра, убедитесь, что временно загрузили эти модули в ядро "
-"[.filename]#GENERIC# с помощью механизма [.filename]#/boot/loader.conf#. "
-"Также рекомендуется отключить несущественные сервисы, а также любые "
-"монтирования дисков и сетевые подключения до завершения процесса обновления."
+"модулями ядра, убедитесь, что временно загрузили эти модули в ядро [."
+"filename]#GENERIC# с помощью механизма [.filename]#/boot/loader.conf#. Также "
+"рекомендуется отключить несущественные сервисы, а также любые монтирования "
+"дисков и сетевые подключения до завершения процесса обновления."
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:381
@@ -974,14 +973,14 @@ msgstr "Собственные ядра в FreeBSD 9.X и более поздн
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:411
msgid ""
-"Before using `freebsd-update`, ensure that a copy of the "
-"[.filename]#GENERIC# kernel exists in [.filename]#/boot/GENERIC#. If a "
-"custom kernel has only been built once, the kernel in [.filename]#/boot/"
-"kernel.old# is the `GENERIC` kernel. Simply rename this directory to "
-"[.filename]#/boot/GENERIC#."
+"Before using `freebsd-update`, ensure that a copy of the [."
+"filename]#GENERIC# kernel exists in [.filename]#/boot/GENERIC#. If a custom "
+"kernel has only been built once, the kernel in [.filename]#/boot/kernel.old# "
+"is the `GENERIC` kernel. Simply rename this directory to [.filename]#/boot/"
+"GENERIC#."
msgstr ""
-"Перед использованием `freebsd-update` убедитесь, что копия ядра "
-"[.filename]#GENERIC# осталось в [.filename]#/boot/GENERIC#. Если собственное "
+"Перед использованием `freebsd-update` убедитесь, что копия ядра [."
+"filename]#GENERIC# осталось в [.filename]#/boot/GENERIC#. Если собственное "
"ядро собиралось только один раз, ядро в [.filename]#/boot/kernel.old# "
"является ядром `GENERIC`. Просто переименуйте этот каталог в [.filename]#/"
"boot/GENERIC#."
@@ -1139,8 +1138,8 @@ msgstr ""
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:475
msgid ""
"If the [.filename]#GENERIC# kernel was temporarily used, this is the time to "
-"build and install a new custom kernel using the instructions in "
-"crossref:kernelconfig[kernelconfig,Configuring the FreeBSD Kernel]."
+"build and install a new custom kernel using the instructions in crossref:"
+"kernelconfig[kernelconfig,Configuring the FreeBSD Kernel]."
msgstr ""
"Если временно использовалось ядро [.filename]#GENERIC#, сейчас самое время "
"собрать и установить новое пользовательское ядро, следуя инструкциям из "
@@ -1179,12 +1178,12 @@ msgstr ""
msgid ""
"This command is not a replacement for a real IDS such as package:security/"
"snort[]. As `freebsd-update` stores data on disk, the possibility of "
-"tampering is evident. While this possibility may be reduced using "
-"`kern.securelevel` and by storing the `freebsd-update` data on a read-only "
-"file system when not in use, a better solution would be to compare the "
-"system against a secure disk, such as a DVD or securely stored external USB "
-"disk device. An alternative method for providing IDS functionality using a "
-"built-in utility is described in crossref:security[security-ids,\"Binary "
+"tampering is evident. While this possibility may be reduced using `kern."
+"securelevel` and by storing the `freebsd-update` data on a read-only file "
+"system when not in use, a better solution would be to compare the system "
+"against a secure disk, such as a DVD or securely stored external USB disk "
+"device. An alternative method for providing IDS functionality using a built-"
+"in utility is described in crossref:security[security-ids,\"Binary "
"Verification\"]"
msgstr ""
"Эта команда не является заменой настоящей системы обнаружения вторжений, "
@@ -1274,12 +1273,12 @@ msgstr "Обновление загрузочного кода"
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:525
msgid ""
"The following manuals describe the upgrade process of bootcode and boot "
-"loaders: man:gpart[8], man:gptboot[8], man:gptzfsboot[8], and "
-"man:loader.efi[8]."
+"loaders: man:gpart[8], man:gptboot[8], man:gptzfsboot[8], and man:loader."
+"efi[8]."
msgstr ""
"Следующие руководства описывают процесс обновления загрузочного кода и "
-"загрузчиков: man:gpart[8], man:gptboot[8], man:gptzfsboot[8] и "
-"man:loader.efi[8]."
+"загрузчиков: man:gpart[8], man:gptboot[8], man:gptzfsboot[8] и man:loader."
+"efi[8]."
#. type: Title ==
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:527
@@ -1385,8 +1384,8 @@ msgid ""
"[.filename]#/usr/doc#, everything is ready for an update of the installed "
"documentation."
msgstr ""
-"После того как актуальный снимок исходников документации будет загружен в "
-"[.filename]#/usr/doc#, всё готово для обновления установленной документации."
+"После того как актуальный снимок исходников документации будет загружен в [."
+"filename]#/usr/doc#, всё готово для обновления установленной документации."
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:564
@@ -1563,8 +1562,8 @@ msgid ""
"check out the -CURRENT code from the `main` branch of the FreeBSD Git "
"repository (see crossref:mirrors[git,“Using Git”] for details)."
msgstr ""
-"Синхронизация с исходным кодом FreeBSD-CURRENT. Обычно для получения кода "
-"-CURRENT из ветки `main` репозитория FreeBSD Git используется `git` "
+"Синхронизация с исходным кодом FreeBSD-CURRENT. Обычно для получения кода -"
+"CURRENT из ветки `main` репозитория FreeBSD Git используется `git` "
"(подробности см. в crossref:mirrors[git,“Использование Git”])."
#. type: Plain text
@@ -1591,11 +1590,11 @@ msgid ""
"sometimes become necessary on the road to the next release."
msgstr ""
"Перед компиляцией FreeBSD-CURRENT внимательно прочитайте [.filename]#/usr/"
-"src/Makefile# и следуйте инструкциям в crossref:cutting-"
-"edge[makeworld,Обновление FreeBSD из исходного кода]. Ознакомьтесь с "
-"{freebsd-current} и [.filename]#/usr/src/UPDATING#, чтобы быть в курсе "
-"других процедур начальной загрузки, которые иногда становятся необходимыми "
-"на пути к следующему выпуску."
+"src/Makefile# и следуйте инструкциям в crossref:cutting-edge[makeworld,"
+"Обновление FreeBSD из исходного кода]. Ознакомьтесь с {freebsd-current} и [."
+"filename]#/usr/src/UPDATING#, чтобы быть в курсе других процедур начальной "
+"загрузки, которые иногда становятся необходимыми на пути к следующему "
+"выпуску."
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:613
@@ -1718,9 +1717,9 @@ msgstr ""
msgid ""
"To install a new FreeBSD-STABLE system, install the most recent FreeBSD-"
"STABLE release from the crossref:mirrors[mirrors,FreeBSD mirror sites] or "
-"use a monthly snapshot built from FreeBSD-STABLE. Refer to link:https://"
-"www.FreeBSD.org/snapshots/[www.freebsd.org/snapshots] for more information "
-"about snapshots."
+"use a monthly snapshot built from FreeBSD-STABLE. Refer to link:https://www."
+"FreeBSD.org/snapshots/[www.freebsd.org/snapshots] for more information about "
+"snapshots."
msgstr ""
"Для установки новой системы FreeBSD-STABLE установите последний выпуск "
"FreeBSD-STABLE с crossref:mirrors[mirrors,сайтов зеркал FreeBSD] или "
@@ -1733,8 +1732,8 @@ msgstr ""
msgid ""
"To compile or upgrade an existing FreeBSD system to FreeBSD-STABLE, use "
"`git` to check out the source for the desired branch. Branch names, such as "
-"`stable/13`, are listed at link:https://www.FreeBSD.org/releng/"
-"[www.freebsd.org/releng]."
+"`stable/13`, are listed at link:https://www.FreeBSD.org/releng/[www.freebsd."
+"org/releng]."
msgstr ""
"Для компиляции или обновления существующей системы FreeBSD до FreeBSD-STABLE "
"используйте `git` для получения исходного кода нужной ветки. Имена веток, "
@@ -1751,11 +1750,11 @@ msgid ""
"procedures that sometimes become necessary on the road to the next release."
msgstr ""
"Перед компиляцией или обновлением до FreeBSD-STABLE внимательно прочитайте "
-"файл [.filename]#/usr/src/Makefile# и следуйте инструкциям в "
-"crossref:cutting-edge[makeworld,Обновление FreeBSD из исходного кода]. "
-"Ознакомьтесь с {freebsd-stable} и файлом [.filename]#/usr/src/UPDATING#, "
-"чтобы быть в курсе других процедур начальной загрузки, которые иногда "
-"становятся необходимыми на пути к следующему выпуску."
+"файл [.filename]#/usr/src/Makefile# и следуйте инструкциям в crossref:"
+"cutting-edge[makeworld,Обновление FreeBSD из исходного кода]. Ознакомьтесь с "
+"{freebsd-stable} и файлом [.filename]#/usr/src/UPDATING#, чтобы быть в курсе "
+"других процедур начальной загрузки, которые иногда становятся необходимыми "
+"на пути к следующему выпуску."
#. type: Title ===
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:649
@@ -1998,7 +1997,7 @@ msgstr ""
"изменения, которые больше не нужны, чтобы уменьшить вероятность конфликтов "
"при будущих обновлениях."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:726
msgid "Update and Build"
msgstr "Обновление и сборка"
@@ -2324,10 +2323,10 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:850
msgid ""
-"The path from crossref:cutting-edge[updating-src-obtaining-src-"
-"repopath,FreeBSD Versions and Repository Branches] is added to the "
-"repository URL. The third parameter is the destination directory for the "
-"source code on the local system."
+"The path from crossref:cutting-edge[updating-src-obtaining-src-repopath,"
+"FreeBSD Versions and Repository Branches] is added to the repository URL. "
+"The third parameter is the destination directory for the source code on the "
+"local system."
msgstr ""
"Путь из crossref:cutting-edge[updating-src-obtaining-src-repopath,Версии "
"FreeBSD и ветви репозитория] добавляется к URL репозитория. Третий параметр "
@@ -2420,9 +2419,9 @@ msgid ""
"specified with `-j`."
msgstr ""
"Увеличение количества задач сборки на многоядерных процессорах может "
-"повысить скорость сборки. Определите количество ядер с помощью `sysctl "
-"hw.ncpu`. Процессоры различаются, как и системы сборки, используемые в "
-"разных версиях FreeBSD, поэтому тестирование — единственный надежный способ "
+"повысить скорость сборки. Определите количество ядер с помощью `sysctl hw."
+"ncpu`. Процессоры различаются, как и системы сборки, используемые в разных "
+"версиях FreeBSD, поэтому тестирование — единственный надежный способ "
"определить, как разное количество задач влияет на скорость сборки. В "
"качестве отправной точки рассмотрите значения от половины до удвоенного "
"количества ядер. Количество задач указывается с помощью `-j`."
@@ -2480,14 +2479,14 @@ msgstr "Сборка собственного ядра"
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:923
msgid ""
-"The standard FreeBSD kernel is based on a _kernel config file_ called "
-"[.filename]#GENERIC#. The [.filename]#GENERIC# kernel includes the most "
+"The standard FreeBSD kernel is based on a _kernel config file_ called [."
+"filename]#GENERIC#. The [.filename]#GENERIC# kernel includes the most "
"commonly-needed device drivers and options. Sometimes it is useful or "
"necessary to build a custom kernel, adding or removing device drivers or "
"options to fit a specific need."
msgstr ""
-"Стандартное ядро FreeBSD основано на _конфигурационном файле ядра_ "
-"[.filename]#GENERIC#. Ядро [.filename]#GENERIC# включает наиболее часто "
+"Стандартное ядро FreeBSD основано на _конфигурационном файле ядра_ [."
+"filename]#GENERIC#. Ядро [.filename]#GENERIC# включает наиболее часто "
"востребованные драйверы устройств и параметры. Иногда полезно или необходимо "
"собрать собственное ядро, добавляя или удаляя драйверы устройств и параметры "
"для соответствия конкретным требованиям."
@@ -2538,9 +2537,9 @@ msgid ""
"config file. In this example, the new custom kernel is for a storage "
"server, so is named [.filename]#STORAGESERVER#:"
msgstr ""
-"Собственный конфигурационный файл можно создать, скопировав файл "
-"[.filename]#GENERIC#. В этом примере новое собственное ядро предназначено "
-"для сервера хранения данных, поэтому он назван [.filename]#STORAGESERVER#:"
+"Собственный конфигурационный файл можно создать, скопировав файл [."
+"filename]#GENERIC#. В этом примере новое собственное ядро предназначено для "
+"сервера хранения данных, поэтому он назван [.filename]#STORAGESERVER#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:944
@@ -2673,8 +2672,8 @@ msgstr ""
"man:etcupdate[8] — это инструмент для управления обновлениями файлов, "
"которые не обновляются в процессе выполнения `installworld`, таких как файлы "
"в [.filename]#/etc/#. Он управляет обновлениями, выполняя трёхстороннее "
-"слияние изменений, внесённых в эти файлы, с локальными версиями. "
-"man:etcupdate[8] разработан для минимизации вмешательства пользователя."
+"слияние изменений, внесённых в эти файлы, с локальными версиями. man:"
+"etcupdate[8] разработан для минимизации вмешательства пользователя."
#. type: delimited block = 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:999
@@ -2872,13 +2871,13 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1111
msgid ""
-"All the machines in this build set need to mount [.filename]#/usr/obj# and "
-"[.filename]#/usr/src# from the build machine via NFS. For multiple build "
+"All the machines in this build set need to mount [.filename]#/usr/obj# and [."
+"filename]#/usr/src# from the build machine via NFS. For multiple build "
"sets, [.filename]#/usr/src# should be on one build machine, and NFS mounted "
"on the rest."
msgstr ""
-"Все машины в этом наборе сборки должны монтировать [.filename]#/usr/obj# и "
-"[.filename]#/usr/src# сборочной машины через NFS. Для нескольких наборов "
+"Все машины в этом наборе сборки должны монтировать [.filename]#/usr/obj# и [."
+"filename]#/usr/src# сборочной машины через NFS. Для нескольких наборов "
"сборки [.filename]#/usr/src# должен находиться на одной сборочной машине и "
"монтироваться по NFS на остальных."
@@ -2889,14 +2888,13 @@ msgid ""
"all the machines in the build set agree with the build machine. That means "
"that the build machine must build all the parts of the base system that any "
"machine in the build set is going to install. Also, each build machine "
-"should have its kernel name set with `KERNCONF` in [.filename]#/etc/"
-"make.conf#, and the build machine should list them all in its `KERNCONF`, "
-"listing its own kernel first. The build machine must have the kernel "
-"configuration files for each machine in its [.filename]#/usr/src/sys/arch/"
-"conf#."
-msgstr ""
-"Убедитесь, что файлы [.filename]#/etc/make.conf# и [.filename]#/etc/"
-"src.conf# на всех машинах в наборе сборки соответствуют таковым на машине "
+"should have its kernel name set with `KERNCONF` in [.filename]#/etc/make."
+"conf#, and the build machine should list them all in its `KERNCONF`, listing "
+"its own kernel first. The build machine must have the kernel configuration "
+"files for each machine in its [.filename]#/usr/src/sys/arch/conf#."
+msgstr ""
+"Убедитесь, что файлы [.filename]#/etc/make.conf# и [.filename]#/etc/src."
+"conf# на всех машинах в наборе сборки соответствуют таковым на машине "
"сборки. Это означает, что машина сборки должна собирать все части базовой "
"системы, которые будут устанавливаться на любой машине из набора сборки. "
"Кроме того, каждая машина сборки должна иметь имя ядра, указанное с помощью "
@@ -2908,21 +2906,21 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1125
msgid ""
-"On the build machine, build the kernel and world as described in "
-"crossref:cutting-edge[makeworld, Updating FreeBSD from Source], but do not "
-"install anything on the build machine. Instead, install the built kernel on "
-"the test machine. On the test machine, mount [.filename]#/usr/src# and "
-"[.filename]#/usr/obj# via NFS. Then, run `shutdown now` to go to single-"
-"user mode in order to install the new kernel and world and run `etcupdate` "
-"as usual. When done, reboot to return to normal multi-user operations."
+"On the build machine, build the kernel and world as described in crossref:"
+"cutting-edge[makeworld, Updating FreeBSD from Source], but do not install "
+"anything on the build machine. Instead, install the built kernel on the "
+"test machine. On the test machine, mount [.filename]#/usr/src# and [."
+"filename]#/usr/obj# via NFS. Then, run `shutdown now` to go to single-user "
+"mode in order to install the new kernel and world and run `etcupdate` as "
+"usual. When done, reboot to return to normal multi-user operations."
msgstr ""
"На машине для сборки соберите ядро и систему, как описано в crossref:cutting-"
"edge[makeworld,Обновление FreeBSD из исходного кода], но не устанавливайте "
"ничего на машину для сборки. Вместо этого установите собранное ядро на "
-"тестовую машину. На тестовой машине смонтируйте [.filename]#/usr/src# и "
-"[.filename]#/usr/obj# через NFS. Затем выполните `shutdown now`, чтобы "
-"перейти в однопользовательский режим для установки нового ядра и системы, а "
-"также запустите `etcupdate` как обычно. По завершении перезагрузитесь, чтобы "
+"тестовую машину. На тестовой машине смонтируйте [.filename]#/usr/src# и [."
+"filename]#/usr/obj# через NFS. Затем выполните `shutdown now`, чтобы перейти "
+"в однопользовательский режим для установки нового ядра и системы, а также "
+"запустите `etcupdate` как обычно. По завершении перезагрузитесь, чтобы "
"вернуться к обычной многопользовательской работе."
#. type: Plain text
@@ -3006,8 +3004,8 @@ msgid ""
msgstr ""
"Вместо скрипта `tools/build/make.py` также можно использовать свежую версию "
"`bmake`. Однако в этом случае необходимые переменные окружения нужно "
-"задавать вручную (проще всего получить их список, выполнив `tools/build/"
-"make.py --debug`)."
+"задавать вручную (проще всего получить их список, выполнив `tools/build/make."
+"py --debug`)."
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1157
@@ -3069,8 +3067,8 @@ msgstr "MAKEOBJDIRPREFIX=/tmp/obj tools/build/make.py -j 8 TARGET=arm64 TARGET_A
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1180
msgid ""
-"It builds the world for target `aarch64:arm64` on 8 CPUs and uses "
-"[.filename]#/tmp/obj# for object files. Note that the variables "
+"It builds the world for target `aarch64:arm64` on 8 CPUs and uses [."
+"filename]#/tmp/obj# for object files. Note that the variables "
"`MAKEOBJDIRPREFIX`, `TARGET`, and `TARGET_ARCH` are mandatory when building "
"on non-FreeBSD hosts. Also, make sure to create the object directory "
"pointed to by the `MAKEOBJDIRPREFIX` environment variable."
diff --git a/documentation/content/ru/books/handbook/desktop/_index.adoc b/documentation/content/ru/books/handbook/desktop/_index.adoc
index 53a3e93001..63db4deacd 100644
--- a/documentation/content/ru/books/handbook/desktop/_index.adoc
+++ b/documentation/content/ru/books/handbook/desktop/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/desktop/
part: 'Часть II. Стандартные задачи'
prev: books/handbook/partii
-showBookMenu: true
+showBookMenu: 'true'
tags: ["desktop", "KDE Plasma", "GNOME", "XFCE", "MATE", "Cinnamon", "LXQT", "browsers", "Firefox", "Chromium", "Iridium", "Falkon", "Konqueror", "Epiphany", "qutebrowser", "Dillo", "Links", "w3m", "Development tools", "Visual Studio Code", "Qt Creator", "Kdevelop", "Eclipse IDE", "Vim", "Neovim", "GNU Emacs", "Productivity", "LibreOffice", "Calligra", "AbiWord", "Viewers", "Okular", "Evince", "ePDFView", "Xpdf", "Finance", "KMyMoney", "GnuCash"]
title: 'Глава 8. Графические среды рабочего стола'
weight: 11
diff --git a/documentation/content/ru/books/handbook/desktop/_index.po b/documentation/content/ru/books/handbook/desktop/_index.po
index 28a84c522a..956313c282 100644
--- a/documentation/content/ru/books/handbook/desktop/_index.po
+++ b/documentation/content/ru/books/handbook/desktop/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-08-17 20:54+0100\n"
"PO-Revision-Date: 2025-10-02 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,19 +18,19 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/desktop/_index.adoc:1
#, no-wrap
msgid "This chapter demonstrates how to install numerous desktop environments, including web browsers, productivity software, document viewers, and financial software"
msgstr "Эта глава демонстрирует, как установить множество рабочих сред, включая веб-браузеры, офисные программы, средства просмотра документов и финансовое программное обеспечение"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/desktop/_index.adoc:1
#, no-wrap
msgid "Part II. Common Tasks"
msgstr "Часть II. Стандартные задачи"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/desktop/_index.adoc:1
#, no-wrap
msgid "Chapter 8. Desktop Environments"
@@ -92,8 +92,8 @@ msgid ""
"ports collection] to build customized packages from ports."
msgstr ""
"В этой главе читателям рекомендуется устанавливать официальные пакеты. Для "
-"сборки настраиваемых пакетов из портов обратитесь к разделу "
-"crossref:ports[ports-using,использование коллекции портов]."
+"сборки настраиваемых пакетов из портов обратитесь к разделу crossref:"
+"ports[ports-using,использование коллекции портов]."
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:70
@@ -878,8 +878,8 @@ msgid ""
msgstr ""
"Cinnamon использует man:dbus-daemon[1] для шины сообщений и абстракции "
"оборудования. Это приложение автоматически устанавливается как зависимость "
-"Cinnamon. Для запуска D-BUS при загрузке системы включите его в `/etc/"
-"rc.conf`:"
+"Cinnamon. Для запуска D-BUS при загрузке системы включите его в `/etc/rc."
+"conf`:"
#. type: Title ====
#: documentation/content/en/books/handbook/desktop/_index.adoc:444
@@ -1301,8 +1301,8 @@ msgstr "# pkg install chromium\n"
#. type: delimited block = 4
#: documentation/content/en/books/handbook/desktop/_index.adoc:641
msgid ""
-"The executable for Chromium is [.filename]#/usr/local/bin/chrome#, not "
-"[.filename]#/usr/local/bin/chromium#."
+"The executable for Chromium is [.filename]#/usr/local/bin/chrome#, not [."
+"filename]#/usr/local/bin/chromium#."
msgstr ""
"Исполняемый файл Chromium находится по пути [.filename]#/usr/local/bin/"
"chrome#, а не [.filename]#/usr/local/bin/chromium#."
@@ -1861,11 +1861,11 @@ msgstr "Настольные офисные приложения"
#: documentation/content/en/books/handbook/desktop/_index.adoc:905
msgid ""
"When it comes to productivity, users often look for an office suite or an "
-"easy-to-use word processor. While some desktop environments like "
-"crossref:desktop[kde-environment, KDE Plasma] provide an office suite, there "
-"is no default productivity package. Several office suites and graphical "
-"word processors are available for FreeBSD, regardless of the installed "
-"desktop environments."
+"easy-to-use word processor. While some desktop environments like crossref:"
+"desktop[kde-environment, KDE Plasma] provide an office suite, there is no "
+"default productivity package. Several office suites and graphical word "
+"processors are available for FreeBSD, regardless of the installed desktop "
+"environments."
msgstr ""
"Когда речь заходит о продуктивности, пользователи часто ищут офисный пакет "
"или простой в использовании текстовый редактор. Хотя некоторые окружения "
@@ -1939,8 +1939,8 @@ msgstr "package:editors/abiword[]"
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:938
msgid ""
-"LibreOffice is a free software office suite developed by http://"
-"www.documentfoundation.org/[The Document Foundation]. It is compatible with "
+"LibreOffice is a free software office suite developed by http://www."
+"documentfoundation.org/[The Document Foundation]. It is compatible with "
"other major office suites and available on a variety of platforms. It is a "
"rebranded fork of Apache OpenOffice and includes applications found in a "
"complete office productivity suite: a word processor, spreadsheet, "
@@ -1950,8 +1950,8 @@ msgid ""
"interfaces, spell checkers, and dictionaries. More information about "
"LibreOffice can be found at http://www.libreoffice.org/[libreoffice.org]."
msgstr ""
-"LibreOffice — это свободный офисный пакет, разрабатываемый http://"
-"www.documentfoundation.org/[The Document Foundation]. Он совместим с другими "
+"LibreOffice — это свободный офисный пакет, разрабатываемый http://www."
+"documentfoundation.org/[The Document Foundation]. Он совместим с другими "
"крупными офисными пакетами и доступен на различных платформах. Это "
"переименованная форк Apache OpenOffice, включающая приложения, входящие в "
"полный офисный пакет: текстовый процессор, электронные таблицы, программу "
@@ -2292,13 +2292,13 @@ msgstr "# pkg install zathura zathura-pdf-mupdf\n"
msgid ""
"Additionally, one can install package:graphics/zathura-pdf-poppler[] for "
"alternative PDF support, package:graphics/zathura-ps[] for PostScript "
-"support, package:graphics/zathura-djvu[] for DjVu support, and "
-"package:graphics/zathura-cb[] for comic book support."
+"support, package:graphics/zathura-djvu[] for DjVu support, and package:"
+"graphics/zathura-cb[] for comic book support."
msgstr ""
"Кроме того, можно установить package:graphics/zathura-pdf-poppler[] для "
"альтернативной поддержки PDF, package:graphics/zathura-ps[] для поддержки "
-"PostScript, package:graphics/zathura-djvu[] для поддержки DjVu и "
-"package:graphics/zathura-cb[] для поддержки комиксов."
+"PostScript, package:graphics/zathura-djvu[] для поддержки DjVu и package:"
+"graphics/zathura-cb[] для поддержки комиксов."
#. type: Title ==
#: documentation/content/en/books/handbook/desktop/_index.adoc:1092
diff --git a/documentation/content/ru/books/handbook/disks/_index.adoc b/documentation/content/ru/books/handbook/disks/_index.adoc
index a0bbb803ab..09db861d53 100644
--- a/documentation/content/ru/books/handbook/disks/_index.adoc
+++ b/documentation/content/ru/books/handbook/disks/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/disks/
part: 'Часть III. Администрирование системы'
prev: books/handbook/audit
-showBookMenu: true
+showBookMenu: 'true'
tags: ["storage", "disks", "gpart", "mount", "quotas", "encrypt", "GPT", "cdrecord", "quotas", "swap", "HAST", "CD", "DVD", "resizing", "growing"]
title: 'Глава 20. Устройства хранения'
weight: 24
@@ -69,7 +69,7 @@ endif::[]
Прежде чем читать эту главу, вы должны:
-* Знать, как crossref:kernelconfig[kernelconfig,конфигурировать и установливать новое ядро FreeBSD].
+* Знать, как crossref:kernelconfig[kernelconfig,конфигурировать и устанавливать новое ядро FreeBSD].
[[disks-adding]]
== Добавление дисков
@@ -521,7 +521,7 @@ device cd # needed for CD and DVD burners
device atapicam
....
-В качестве альтернативы, этот драйвер можно загрузить при загрузке, добавив следующую строку в файл [.filename]#/boot/loader.conf#:
+Или этот драйвер можно загрузить при загрузке, добавив следующую строку в файл [.filename]#/boot/loader.conf#:
[.programlisting]
....
@@ -978,7 +978,7 @@ DVD-RAM можно рассматривать как съемный жестки
[.procedure]
====
-*Procedure: Steps to Format a Floppy*
+*Процедура: Шаги для форматирования дискеты*
Дискету необходимо отформатировать на низком уровне перед использованием. Обычно это делается производителем, но форматирование — хороший способ проверить целостность носителя. Для низкоуровневого форматирования дискеты в FreeBSD используйте man:fdformat[1]. При работе с этой утилитой обратите внимание на сообщения об ошибках, так как они помогают определить, исправен диск или нет.
@@ -1308,7 +1308,7 @@ FreeBSD предлагает функцию в сочетании с crossref:co
Файлы снимков должны быть созданы в той файловой системе, над которой выполняется действие, и пользователь может создать не более 20 снимков для каждой файловой системы. Активные снимки записываются в суперблок, поэтому они сохраняются после размонтирования и повторного монтирования, а также после перезагрузки системы. Когда снимок больше не нужен, его можно удалить с помощью man:rm[1]. Хотя снимки можно удалять в любом порядке, не все освобождаемое пространство может быть использовано, так как другой снимок может претендовать на часть освобожденных блоков.
-Неизменяемый флаж файла `snapshot` устанавливается man:mksnap_ffs[8] после первоначального создания файла снимка. man:unlink[1] делает исключение для файлов снимков, так как позволяет их удалять.
+Неизменяемый флаг файла `snapshot` устанавливается man:mksnap_ffs[8] после первоначального создания файла снимка. man:unlink[1] делает исключение для файлов снимков, так как позволяет их удалять.
Снимки создаются с помощью man:mount[8]. Чтобы создать снимок [.filename]#/var# в файле [.filename]#/var/snapshot/snap#, используйте следующую команду:
@@ -1352,7 +1352,7 @@ FreeBSD предлагает функцию в сочетании с crossref:co
# mdconfig -d -u 4
....
-Для получения дополнительной информации о `softupdates` и снимках файловых систем, включая технические документы, посетите веб-сайт Маршалла Кирка Маккусика по адресу http://www.mckusick.com/[http://www.mckusick.com/].
+Для получения дополнительной информации о `softupdates` и снимках файловых систем, включая технические документы, посетите веб-сайт Маршалла Кирка МакКузика по адресу http://www.mckusick.com/[http://www.mckusick.com/].
[[quotas]]
== Квоты на диске
@@ -1672,7 +1672,7 @@ gbde_lockdir="/etc/gbde"
geom_eli_load="YES"
....
+
-Чтобы загрузуть модуля ядра сейчас:
+Чтобы загрузить модуль ядра сейчас:
+
[source, shell]
....
@@ -1687,7 +1687,7 @@ options GEOM_ELI
device crypto
....
-. Сгенеририруйте мастер-ключа
+. Сгенерируйте мастер-ключа
+
Следующие команды создают мастер-ключ, которым будут зашифрованы все данные. Этот ключ нельзя изменить. Вместо его прямого использования, он шифруется одним или несколькими пользовательскими ключами. Пользовательские ключи формируются из опциональной комбинации случайных байтов из файла [.filename]#/root/da2.key# и/или парольной фразы. В данном случае источником данных для ключевого файла является [.filename]#/dev/random#. Эта команда также устанавливает размер сектора провайдера ([.filename]#/dev/da2.eli#) равным 4 КБ для улучшения производительности:
+
diff --git a/documentation/content/ru/books/handbook/disks/_index.po b/documentation/content/ru/books/handbook/disks/_index.po
index b7581714b6..75602fb16a 100644
--- a/documentation/content/ru/books/handbook/disks/_index.po
+++ b/documentation/content/ru/books/handbook/disks/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
-"PO-Revision-Date: 2025-06-14 11:10+0000\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
+"PO-Revision-Date: 2025-10-29 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/bookshandbookdisks_index/ru/>\n"
@@ -18,19 +18,22 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/disks/_index.adoc:1
#, no-wrap
msgid "This chapter covers the use of disks and storage media in FreeBSD. This includes SCSI and IDE disks, CD and DVD media, memory-backed disks, and USB storage devices."
-msgstr "Эта глава посвящена использованию дисков и носителей данных в FreeBSD. Здесь рассматриваются SCSI- и IDE-диски, CD- и DVD-носители, диски в оперативной памяти и USB-устройства хранения данных."
+msgstr ""
+"Эта глава посвящена использованию дисков и носителей данных в FreeBSD. Здесь "
+"рассматриваются SCSI- и IDE-диски, CD- и DVD-носители, диски в оперативной "
+"памяти и USB-устройства хранения данных."
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/disks/_index.adoc:1
#, no-wrap
msgid "Part III. System Administration"
msgstr "Часть III. Администрирование системы"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/disks/_index.adoc:1
#, no-wrap
msgid "Chapter 20. Storage"
@@ -87,8 +90,7 @@ msgstr "Как использовать CD и DVD носители в систе
#. type: Plain text
#: documentation/content/en/books/handbook/disks/_index.adoc:65
msgid "How to use the backup programs available under FreeBSD."
-msgstr ""
-"Как использовать программы резервного копирования, доступные в FreeBSD."
+msgstr "Как использовать программы резервного копирования, доступные в FreeBSD."
#. type: Plain text
#: documentation/content/en/books/handbook/disks/_index.adoc:66
@@ -128,7 +130,7 @@ msgid ""
"FreeBSD kernel]."
msgstr ""
"Знать, как crossref:kernelconfig[kernelconfig,конфигурировать и "
-"установливать новое ядро FreeBSD]."
+"устанавливать новое ядро FreeBSD]."
#. type: Title ==
#: documentation/content/en/books/handbook/disks/_index.adoc:76
@@ -157,8 +159,8 @@ msgid ""
"In this example, the newly added SATA drive will appear as [.filename]#ada1#."
msgstr ""
"Проверьте [.filename]#/var/run/dmesg.boot#, чтобы убедиться, что новый диск "
-"обнаружен. В этом примере новый SATA-диск будет отображаться как "
-"[.filename]#ada1#."
+"обнаружен. В этом примере новый SATA-диск будет отображаться как [."
+"filename]#ada1#."
#. type: Plain text
#: documentation/content/en/books/handbook/disks/_index.adoc:87
@@ -314,8 +316,8 @@ msgid ""
"[.filename]#/var/run/dmesg.boot#. In this example, there is only one SATA "
"disk in the system, so the drive will appear as [.filename]#ada0#."
msgstr ""
-"Определите имя устройства диска, который нужно изменить, просмотрев "
-"[.filename]#/var/run/dmesg.boot#. В этом примере в системе только один SATA-"
+"Определите имя устройства диска, который нужно изменить, просмотрев [."
+"filename]#/var/run/dmesg.boot#. В этом примере в системе только один SATA-"
"диск, поэтому диск будет отображаться как [.filename]#ada0#."
#. type: Plain text
@@ -349,8 +351,8 @@ msgid ""
"because the GPT backup partition table is no longer at the end of the "
"drive. Fix the backup partition table with `gpart`:"
msgstr ""
-"Если диск был отформатирован с использованием схемы разделов https://"
-"en.wikipedia.org/wiki/GUID_Partition_Table[GPT], он может отображаться как "
+"Если диск был отформатирован с использованием схемы разделов https://en."
+"wikipedia.org/wiki/GUID_Partition_Table[GPT], он может отображаться как "
"\"повреждённый\", поскольку резервная таблица разделов GPT больше не "
"находится в конце диска. Восстановите резервную таблицу разделов с помощью "
"`gpart`:"
@@ -553,9 +555,11 @@ msgid ""
" 89756992, 91039232, 92321472, 93603712, 94885952, 96168192, 97450432\n"
msgstr ""
"# growfs /dev/ada0p2\n"
-"Device is mounted read-write; resizing will result in temporary write suspension for /.\n"
+"Device is mounted read-write; resizing will result in temporary write "
+"suspension for /.\n"
"It's strongly recommended to make a backup before growing the file system.\n"
-"OK to grow file system on /dev/ada0p2, mounted on /, from 38GB to 47GB? [Yes/No] Yes\n"
+"OK to grow file system on /dev/ada0p2, mounted on /, from 38GB to 47GB? [Yes/"
+"No] Yes\n"
"super-block backups (for fsck -b #) at:\n"
" 80781312, 82063552, 83345792, 84628032, 85910272, 87192512, 88474752,\n"
" 89756992, 91039232, 92321472, 93603712, 94885952, 96168192, 97450432\n"
@@ -599,8 +603,8 @@ msgid ""
msgstr ""
"Многие внешние устройства хранения данных, такие как жесткие диски, USB-"
"флешки, а также устройства для записи CD и DVD, используют универсальную "
-"последовательную шину (USB). FreeBSD поддерживает устройства USB 1.x, 2.0 и "
-"3.0."
+"последовательную шину (USB). FreeBSD поддерживает устройства USB 1.x, 2.0 и 3"
+".0."
#. type: delimited block = 4
#: documentation/content/en/books/handbook/disks/_index.adoc:295
@@ -661,8 +665,8 @@ msgstr ""
"FreeBSD использует драйвер man:umass[4], который задействует подсистему SCSI "
"для доступа к USB-устройствам хранения данных. Поскольку любое USB-"
"устройство будет распознаваться системой как SCSI-устройство, если USB-"
-"устройство является записывающим CD- или DVD-приводом, _не_ включайте "
-"`device atapicam` в конфигурационный файл пользовательского ядра."
+"устройство является записывающим CD- или DVD-приводом, _не_ включайте `"
+"device atapicam` в конфигурационный файл пользовательского ядра."
#. type: Plain text
#: documentation/content/en/books/handbook/disks/_index.adoc:318
@@ -688,9 +692,9 @@ msgid ""
"confirm that the drive appears in the system message buffer. It should look "
"something like this:"
msgstr ""
-"Для проверки конфигурации USB подключите USB-устройство. Используйте "
-"`dmesg`, чтобы убедиться, что устройство появилось в системном буфере "
-"сообщений. Результат должен выглядеть примерно так:"
+"Для проверки конфигурации USB подключите USB-устройство. Используйте `dmesg`"
+", чтобы убедиться, что устройство появилось в системном буфере сообщений. "
+"Результат должен выглядеть примерно так:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/disks/_index.adoc:336
@@ -761,7 +765,8 @@ msgid ""
"ugen0.3: <Simple Drive STECH> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (2mA)\n"
msgstr ""
"# usbconfig\n"
-"ugen0.3: <Simple Drive STECH> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (2mA)\n"
+"ugen0.3: <Simple Drive STECH> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) "
+"pwr=ON (2mA)\n"
#. type: Plain text
#: documentation/content/en/books/handbook/disks/_index.adoc:359
@@ -801,10 +806,10 @@ msgid ""
"lines to [.filename]#/etc/devfs.rules#:"
msgstr ""
"Чтобы устройство можно было монтировать обычным пользователем, одним из "
-"решений является добавление всех пользователей устройства в группу "
-"`operator` с помощью man:pw[8]. Затем убедитесь, что группа `operator` имеет "
-"права на чтение и запись устройства, добавив следующие строки в [.filename]#/"
-"etc/devfs.rules#:"
+"решений является добавление всех пользователей устройства в группу `operator`"
+" с помощью man:pw[8]. Затем убедитесь, что группа `operator` имеет права на "
+"чтение и запись устройства, добавив следующие строки в [.filename]#/etc/devfs"
+".rules#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/disks/_index.adoc:373
@@ -841,8 +846,8 @@ msgid ""
msgstr ""
"Это исключит первые три SCSI-диска ([.filename]#da0# — [.filename]#da2#) из "
"принадлежности к группе `operator`. Замените _3_ на количество внутренних "
-"SCSI-дисков. Дополнительную информацию об этом файле смотрите в "
-"man:devfs.rules[5]."
+"SCSI-дисков. Дополнительную информацию об этом файле смотрите в man:devfs."
+"rules[5]."
#. type: delimited block = 4
#: documentation/content/en/books/handbook/disks/_index.adoc:390
@@ -902,8 +907,8 @@ msgstr ""
"Последним шагом является создание каталога, в который будет монтироваться "
"файловая система. Этот каталог должен принадлежать пользователю, который "
"будет монтировать файловую систему. Один из способов сделать это — создать "
-"подкаталог от имени `root`, принадлежащий этому пользователю, например "
-"[.filename]#/mnt/username#. В следующем примере замените _username_ на имя "
+"подкаталог от имени `root`, принадлежащий этому пользователю, например [."
+"filename]#/mnt/username#. В следующем примере замените _username_ на имя "
"пользователя, а _usergroup_ на основную группу пользователя:"
#. type: delimited block . 4
@@ -1258,8 +1263,8 @@ msgid ""
"Alternately, this driver can be loaded at boot time by adding the following "
"line to [.filename]#/boot/loader.conf#:"
msgstr ""
-"В качестве альтернативы, этот драйвер можно загрузить при загрузке, добавив "
-"следующую строку в файл [.filename]#/boot/loader.conf#:"
+"Или этот драйвер можно загрузить при загрузке, добавив следующую строку в "
+"файл [.filename]#/boot/loader.conf#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/disks/_index.adoc:577
@@ -1284,10 +1289,10 @@ msgid ""
"first line of the output will be [.filename]#acd0# instead of "
"[.filename]#cd0#."
msgstr ""
-"Чтобы убедиться, что FreeBSD распознает устройство, выполните команду "
-"`dmesg` и найдите запись об этом устройстве. В системах до версии 10.x имя "
-"устройства в первой строке вывода будет [.filename]#acd0# вместо "
-"[.filename]#cd0#."
+"Чтобы убедиться, что FreeBSD распознает устройство, выполните команду `dmesg`"
+" и найдите запись об этом устройстве. В системах до версии 10.x имя "
+"устройства в первой строке вывода будет [.filename]#acd0# вместо [."
+"filename]#cd0#."
#. type: delimited block . 4
#: documentation/content/en/books/handbook/disks/_index.adoc:593
@@ -1305,7 +1310,8 @@ msgstr ""
"cd0: <HL-DT-ST DVDRAM GU70N LT20> Removable CD-ROM SCSI-0 device\n"
"cd0: Serial Number M3OD3S34152\n"
"cd0: 150.000MB/s transfers (SATA 1.x, UDMA6, ATAPI 12bytes, PIO 8192bytes)\n"
-"cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closed\n"
+"cd0: Attempt to query device size failed: NOT READY, Medium not present - "
+"tray closed\n"
#. type: Title ===
#: documentation/content/en/books/handbook/disks/_index.adoc:596
@@ -1345,8 +1351,8 @@ msgid ""
"To determine the device name of the burner, use `-scanbus` which might "
"produce results like this:"
msgstr ""
-"Чтобы определить имя устройства записывающего привода, используйте `-"
-"scanbus`, что может дать результат, подобный следующему:"
+"Чтобы определить имя устройства записывающего привода, используйте `-scanbus`"
+", что может дать результат, подобный следующему:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/disks/_index.adoc:634
@@ -1375,7 +1381,8 @@ msgid ""
" 1,7,0 107) *\n"
msgstr ""
"# cdrecord -scanbus\n"
-"ProDVD-ProBD-Clone 3.00 (amd64-unknown-freebsd10.0) Copyright (C) 1995-2010 Jörg Schilling\n"
+"ProDVD-ProBD-Clone 3.00 (amd64-unknown-freebsd10.0) Copyright (C) 1995-2010 "
+"Jörg Schilling\n"
"Using libscg version 'schily-0.9'\n"
"scsibus0:\n"
" 0,0,0 0) 'SEAGATE ' 'ST39236LW ' '0004' Disk\n"
@@ -1530,14 +1537,15 @@ msgstr ""
"загрузчики, например, используемые на дистрибутивных носителях FreeBSD, не "
"применяют режим эмуляции. В этом случае следует использовать опцию `-no-emul-"
"boot`. Таким образом, если [.filename]#/tmp/myboot# содержит загрузочную "
-"систему FreeBSD с загрузочным образом в [.filename]#/tmp/myboot/boot/"
-"cdboot#, то следующая команда создаст [.filename]#/tmp/bootable.iso#:"
+"систему FreeBSD с загрузочным образом в [.filename]#/tmp/myboot/boot/cdboot#"
+", то следующая команда создаст [.filename]#/tmp/bootable.iso#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/disks/_index.adoc:682
#, no-wrap
msgid "# mkisofs -R -no-emul-boot -b boot/cdboot -o /tmp/bootable.iso /tmp/myboot\n"
-msgstr "# mkisofs -R -no-emul-boot -b boot/cdboot -o /tmp/bootable.iso /tmp/myboot\n"
+msgstr ""
+"# mkisofs -R -no-emul-boot -b boot/cdboot -o /tmp/bootable.iso /tmp/myboot\n"
#. type: Plain text
#: documentation/content/en/books/handbook/disks/_index.adoc:685
@@ -1703,8 +1711,8 @@ msgstr ""
"времени ответить на сброс шины. Чтобы решить эту проблему, можно создать "
"пользовательское ядро с увеличенной задержкой SCSI по умолчанию. Добавьте "
"следующую опцию в конфигурационный файл собственного ядра и пересоберите "
-"ядро, следуя инструкциям в crossref:kernelconfig[kernelconfig-"
-"building,“Сборка и установка собственного ядра”]:"
+"ядро, следуя инструкциям в crossref:kernelconfig[kernelconfig-building,“"
+"Сборка и установка собственного ядра”]:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/disks/_index.adoc:751
@@ -1792,7 +1800,7 @@ msgstr ""
msgid "Procedure: Duplicating an Audio CD"
msgstr "Процедура: Копирование аудио-CD"
-#. type: .procedure
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/disks/_index.adoc:785
msgid ""
"The package:sysutils/cdrtools[] package or port installs `cdda2wav`. This "
@@ -1838,8 +1846,8 @@ msgid ""
"Make sure that _2,0_ is set appropriately, as described in "
"crossref:disks[cdrecord, Burning a CD]."
msgstr ""
-"Убедитесь, что _2,0_ установлено правильно, как описано в "
-"crossref:disks[cdrecord, Запись CD]."
+"Убедитесь, что _2,0_ установлено правильно, как описано в crossref:disks["
+"cdrecord, Запись CD]."
#. type: Title ==
#: documentation/content/en/books/handbook/disks/_index.adoc:803
@@ -1861,8 +1869,7 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/disks/_index.adoc:809
msgid "Five physical recordable formats can be defined for a recordable DVD:"
-msgstr ""
-"Для записываемого DVD можно определить пять физических форматов записи:"
+msgstr "Для записываемого DVD можно определить пять физических форматов записи:"
#. type: Plain text
#: documentation/content/en/books/handbook/disks/_index.adoc:811
@@ -1955,8 +1962,8 @@ msgid ""
"package:sysutils/dvd+rw-tools[] utilities which support all DVD media types."
msgstr ""
"Для записи DVD используйте man:growisofs[1]. Эта команда входит в набор "
-"утилит package:sysutils/dvd+rw-tools[], которые поддерживают все типы DVD-"
-"носителей."
+"утилит package:sysutils/dvd+rw-tools[], которые поддерживают все типы "
+"DVD-носителей."
#. type: Plain text
#: documentation/content/en/books/handbook/disks/_index.adoc:837
@@ -1995,9 +2002,8 @@ msgid ""
"Before attempting to use dvd+rw-tools, consult the http://fy.chalmers.se/"
"~appro/linux/DVD+RW/hcn.html[Hardware Compatibility Notes]."
msgstr ""
-"Перед попыткой использования dvd+rw-tools ознакомьтесь с http://"
-"fy.chalmers.se/~appro/linux/DVD+RW/hcn.html[примечаниями о совместимости "
-"оборудования]."
+"Перед попыткой использования dvd+rw-tools ознакомьтесь с http://fy.chalmers."
+"se/~appro/linux/DVD+RW/hcn.html[примечаниями о совместимости оборудования]."
#. type: delimited block = 4
#: documentation/content/en/books/handbook/disks/_index.adoc:850
@@ -2135,7 +2141,8 @@ msgstr "Для записи файлов непосредственно на д
#: documentation/content/en/books/handbook/disks/_index.adoc:901
#, no-wrap
msgid "# growisofs -dvd-compat -udf -iso-level 3 -Z /dev/cd0 -J -R /path/to/data\n"
-msgstr "# growisofs -dvd-compat -udf -iso-level 3 -Z /dev/cd0 -J -R /path/to/data\n"
+msgstr ""
+"# growisofs -dvd-compat -udf -iso-level 3 -Z /dev/cd0 -J -R /path/to/data\n"
#. type: Plain text
#: documentation/content/en/books/handbook/disks/_index.adoc:904
@@ -2187,9 +2194,9 @@ msgid ""
"should be used to burn the DVD-Video:"
msgstr ""
"Если уже существует образ файловой системы DVD-Video, его можно записать так "
-"же, как и любой другой образ. Если для создания DVD использовался "
-"`dvdauthor` и результат находится в [.filename]#/path/to/video#, то для "
-"записи DVD-Video следует использовать следующую команду:"
+"же, как и любой другой образ. Если для создания DVD использовался `dvdauthor`"
+" и результат находится в [.filename]#/path/to/video#, то для записи DVD-"
+"Video следует использовать следующую команду:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/disks/_index.adoc:920
@@ -2205,8 +2212,8 @@ msgid ""
"man:growisofs[1] option."
msgstr ""
"`-dvd-video` передается в man:mkisofs[8], чтобы указать создать файловую "
-"систему в формате DVD-Video. Эта опция подразумевает использование опции `-"
-"dvd-compat` man:growisofs[1]."
+"систему в формате DVD-Video. Эта опция подразумевает использование опции "
+"`-dvd-compat` man:growisofs[1]."
#. type: Title ===
#: documentation/content/en/books/handbook/disks/_index.adoc:925
@@ -2365,9 +2372,9 @@ msgid ""
"the command:"
msgstr ""
"Полное стирание с использованием `-blank=full` займет около одного часа для "
-"однократной записи (1x). Быстрое стирание можно выполнить с помощью `-"
-"blank`, если DVD-RW будет записываться в режиме Disk-At-Once (DAO). Для "
-"записи DVD-RW в режиме DAO используйте команду:"
+"однократной записи (1x). Быстрое стирание можно выполнить с помощью `-blank`"
+", если DVD-RW будет записываться в режиме Disk-At-Once (DAO). Для записи DVD-"
+"RW в режиме DAO используйте команду:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/disks/_index.adoc:997
@@ -2432,9 +2439,9 @@ msgid ""
"M`. The result will be a one-session DVD."
msgstr ""
"DVD-RW в формате с ограниченной перезаписью не требует очистки перед "
-"созданием новой начальной сессии. Вместо этого перезапишите диск с помощью `-"
-"Z`. Также можно расширить существующую файловую систему ISO 9660, записанную "
-"на диск, с помощью `-M`. Результатом будет односессионный DVD."
+"созданием новой начальной сессии. Вместо этого перезапишите диск с помощью "
+"`-Z`. Также можно расширить существующую файловую систему ISO 9660, "
+"записанную на диск, с помощью `-M`. Результатом будет односессионный DVD."
#. type: Plain text
#: documentation/content/en/books/handbook/disks/_index.adoc:1020
@@ -2626,9 +2633,8 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/disks/_index.adoc:1108
-#, fuzzy
-#| msgid "*Procedure: Steps to Format a Floppy*\n"
-msgid "*Procedure: Steps to Format a Floppy*"
+#, no-wrap
+msgid "*Procedure: Steps to Format a Floppy*\n"
msgstr "*Процедура: Шаги для форматирования дискеты*\n"
#. type: delimited block = 4
@@ -2714,8 +2720,8 @@ msgid ""
"mtools[] from the Ports Collection."
msgstr ""
"Диск готов к использованию. Чтобы использовать дискету, смонтируйте её с "
-"помощью man:mount_msdosfs[8]. Также можно установить и использовать "
-"package:emulators/mtools[] из Коллекции портов."
+"помощью man:mount_msdosfs[8]. Также можно установить и использовать package:"
+"emulators/mtools[] из Коллекции портов."
#. type: Title ==
#: documentation/content/en/books/handbook/disks/_index.adoc:1145
@@ -2841,7 +2847,7 @@ msgstr ""
"каталогов `dump` записывает непосредственно блоки данных, из которых состоят "
"файлы и каталоги."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/disks/_index.adoc:1173
msgid ""
"If `dump` is used on the root directory, it will not back up [.filename]#/"
@@ -2854,7 +2860,7 @@ msgstr ""
"каталогов, так как обычно они являются точками монтирования других файловых "
"систем или символическими ссылками на них."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/disks/_index.adoc:1177
msgid ""
"When used to restore data, `restore` stores temporary files in [.filename]#/"
@@ -2863,11 +2869,11 @@ msgid ""
"succeed."
msgstr ""
"При восстановлении данных `restore` по умолчанию сохраняет временные файлы в "
-"[.filename]#/tmp/#. Если используется диск восстановления с малым объемом "
-"[.filename]#/tmp#, следует установить переменную `TMPDIR` в каталог с "
-"большим свободным пространством для успешного выполнения восстановления."
+"[.filename]#/tmp/#. Если используется диск восстановления с малым объемом [."
+"filename]#/tmp#, следует установить переменную `TMPDIR` в каталог с большим "
+"свободным пространством для успешного выполнения восстановления."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/disks/_index.adoc:1181
msgid ""
"When using `dump`, be aware that some quirks remain from its early days in "
@@ -2883,7 +2889,7 @@ msgstr ""
"высокоплотные ленты. Эти значения по умолчанию необходимо переопределять в "
"командной строке."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/disks/_index.adoc:1184
msgid ""
"It is possible to backup a file system across the network to another system "
@@ -2896,7 +2902,7 @@ msgstr ""
"компьютеру. Хотя для этого можно использовать утилиты man:rdump[8] и "
"man:rrestore[8], они не считаются безопасными."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/disks/_index.adoc:1187
msgid ""
"Instead, one can use `dump` and `restore` more securely over an SSH "
@@ -2904,8 +2910,8 @@ msgid ""
"usr# and sends the backup file to the specified host over an SSH connection."
msgstr ""
"Вместо этого можно более безопасно использовать `dump` и `restore` через SSH-"
-"соединение. Этот пример создает полную сжатую резервную копию [.filename]#/"
-"usr# и отправляет её на указанный хост через SSH-соединение."
+"соединение. Этот пример создает полную сжатую резервную копию [."
+"filename]#/usr# и отправляет её на указанный хост через SSH-соединение."
#. type: Block title
#: documentation/content/en/books/handbook/disks/_index.adoc:1188
@@ -2921,7 +2927,8 @@ msgid ""
" targetuser@targetmachine.example.com dd of=/mybigfiles/dump-usr-l0.gz\n"
msgstr ""
"# /sbin/dump -0uan -f - /usr | gzip -2 | ssh -c blowfish \\\n"
-" targetuser@targetmachine.example.com dd of=/mybigfiles/dump-usr-l0.gz\n"
+" targetuser@targetmachine.example.com dd of=/mybigfiles/dump-usr-l0."
+"gz\n"
#. type: delimited block = 4
#: documentation/content/en/books/handbook/disks/_index.adoc:1199
@@ -2942,9 +2949,11 @@ msgstr "Использование `dump` через ssh с установлен
#: documentation/content/en/books/handbook/disks/_index.adoc:1206
#, no-wrap
msgid "# env RSH=/usr/bin/ssh /sbin/dump -0uan -f targetuser@targetmachine.example.com:/dev/sa0 /usr\n"
-msgstr "# env RSH=/usr/bin/ssh /sbin/dump -0uan -f targetuser@targetmachine.example.com:/dev/sa0 /usr\n"
+msgstr ""
+"# env RSH=/usr/bin/ssh /sbin/dump -0uan -f targetuser@targetmachine.example."
+"com:/dev/sa0 /usr\n"
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/disks/_index.adoc:1212
msgid ""
"Systems using the crossref:zfs[,Z file system (ZFS)] can make use of "
@@ -2961,7 +2970,7 @@ msgstr ""
msgid "Directory Backups"
msgstr "Резервное копирование каталогов"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/disks/_index.adoc:1217
msgid ""
"Several built-in utilities are available for backing up and restoring "
@@ -2970,7 +2979,7 @@ msgstr ""
"Некоторые встроенные утилиты могут делать резервное копирование и "
"восстановление указанных файлов и каталогов по мере необходимости."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/disks/_index.adoc:1221
msgid ""
"A good choice for making a backup of all of the files in a directory is "
@@ -2984,7 +2993,7 @@ msgstr ""
"ленточное устройство. С помощью ключей можно указать имя файла для резервной "
"копии."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/disks/_index.adoc:1224
msgid ""
"This example creates a compressed backup of the current directory and saves "
@@ -3076,7 +3085,9 @@ msgstr ""
#: documentation/content/en/books/handbook/disks/_index.adoc:1256
#, no-wrap
msgid "Using `ls` and `cpio` to Make a Recursive Backup of the Current Directory"
-msgstr "Использование `ls` и `cpio` для создания рекурсивной резервной копии текущего каталога"
+msgstr ""
+"Использование `ls` и `cpio` для создания рекурсивной резервной копии "
+"текущего каталога"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/disks/_index.adoc:1262
@@ -3149,11 +3160,11 @@ msgid ""
msgstr ""
"Для SCSI-ленточных устройств FreeBSD использует драйвер man:sa[4] и "
"устройства [.filename]#/dev/sa0#, [.filename]#/dev/nsa0# и [.filename]#/dev/"
-"esa0#. Физическое имя устройства — [.filename]#/dev/sa0#. При использовании "
-"[.filename]#/dev/nsa0# программа резервного копирования не перематывает "
-"ленту после записи файла, что позволяет записывать несколько файлов на одну "
-"ленту. Использование [.filename]#/dev/esa0# приводит к извлечению ленты "
-"после закрытия устройства."
+"esa0#. Физическое имя устройства — [.filename]#/dev/sa0#. При использовании ["
+".filename]#/dev/nsa0# программа резервного копирования не перематывает ленту "
+"после записи файла, что позволяет записывать несколько файлов на одну ленту. "
+"Использование [.filename]#/dev/esa0# приводит к извлечению ленты после "
+"закрытия устройства."
#. type: delimited block = 4
#: documentation/content/en/books/handbook/disks/_index.adoc:1293
@@ -3277,8 +3288,8 @@ msgid ""
"Bacula (package:sysutils/bacula13-server[] and package:sysutils/bacula13-"
"client[]),"
msgstr ""
-"Bacula (package:sysutils/bacula13-server[] и package:sysutils/bacula13-"
-"client[]),"
+"Bacula (package:sysutils/bacula13-server[] и package:sysutils/"
+"bacula13-client[]),"
#. type: Plain text
#: documentation/content/en/books/handbook/disks/_index.adoc:1341
@@ -3436,12 +3447,12 @@ msgid ""
"the memory device [.filename]#/dev/md0# then mounts that memory device on "
"[.filename]#/mnt#:"
msgstr ""
-"Для подключения существующего образа файловой системы используйте "
-"`mdconfig`, указав имя файла ISO и свободный номер устройства. Затем, "
-"используя этот номер устройства, подключите его к существующей точке "
-"монтирования. После подключения файлы из ISO будут доступны в точке "
-"монтирования. В этом примере _diskimage.iso_ подключается к устройству в "
-"памяти [.filename]#/dev/md0#, которое затем монтируется в [.filename]#/mnt#:"
+"Для подключения существующего образа файловой системы используйте `mdconfig`"
+", указав имя файла ISO и свободный номер устройства. Затем, используя этот "
+"номер устройства, подключите его к существующей точке монтирования. После "
+"подключения файлы из ISO будут доступны в точке монтирования. В этом примере "
+"_diskimage.iso_ подключается к устройству в памяти [.filename]#/dev/md0#, "
+"которое затем монтируется в [.filename]#/mnt#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/disks/_index.adoc:1394
@@ -3726,7 +3737,7 @@ msgid ""
"initial creation of a snapshot file. man:unlink[1] makes an exception for "
"snapshot files since it allows them to be removed."
msgstr ""
-"Неизменяемый флаж файла `snapshot` устанавливается man:mksnap_ffs[8] после "
+"Неизменяемый флаг файла `snapshot` устанавливается man:mksnap_ffs[8] после "
"первоначального создания файла снимка. man:unlink[1] делает исключение для "
"файлов снимков, так как позволяет их удалять."
@@ -3737,8 +3748,9 @@ msgid ""
"[.filename]#/var# in the file [.filename]#/var/snapshot/snap#, use the "
"following command:"
msgstr ""
-"Снимки создаются с помощью man:mount[8]. Чтобы создать снимок [.filename]#/"
-"var# в файле [.filename]#/var/snapshot/snap#, используйте следующую команду:"
+"Снимки создаются с помощью man:mount[8]. Чтобы создать снимок [."
+"filename]#/var# в файле [.filename]#/var/snapshot/snap#, используйте "
+"следующую команду:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/disks/_index.adoc:1506
@@ -3809,8 +3821,8 @@ msgid ""
msgstr ""
"Запуск man:dump[8] на снимке создаст дамп-файл, согласованный с файловой "
"системой и временной меткой снимка. man:dump[8] также может создать снимок, "
-"создать образ дампа и затем удалить снимок одной командой, используя опцию `-"
-"L`."
+"создать образ дампа и затем удалить снимок одной командой, используя опцию "
+"`-L`."
#. type: Plain text
#: documentation/content/en/books/handbook/disks/_index.adoc:1528
@@ -3865,7 +3877,7 @@ msgid ""
msgstr ""
"Для получения дополнительной информации о `softupdates` и снимках файловых "
"систем, включая технические документы, посетите веб-сайт Маршалла Кирка "
-"Маккусика по адресу http://www.mckusick.com/[http://www.mckusick.com/]."
+"МакКузика по адресу http://www.mckusick.com/[http://www.mckusick.com/]."
#. type: Title ==
#: documentation/content/en/books/handbook/disks/_index.adoc:1549
@@ -3930,8 +3942,8 @@ msgid ""
msgstr ""
"В этом примере `1` указывает на поддержку квот. Если значение равно `0`, "
"добавьте следующую строку в файл конфигурации собственного ядра и "
-"пересоберите ядро, используя инструкции из "
-"crossref:kernelconfig[kernelconfig,Настройка ядра FreeBSD]:"
+"пересоберите ядро, используя инструкции из crossref:kernelconfig["
+"kernelconfig,Настройка ядра FreeBSD]:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/disks/_index.adoc:1573
@@ -4013,10 +4025,10 @@ msgid ""
"man:fstab[5] for more information. Specifying an alternate location for the "
"quota files is not recommended."
msgstr ""
-"По умолчанию файлы квот хранятся в корневом каталоге файловой системы как "
-"[.filename]#quota.user# и [.filename]#quota.group#. Дополнительную "
-"информацию можно найти в man:fstab[5]. Указание альтернативного "
-"расположения для файлов квот не рекомендуется."
+"По умолчанию файлы квот хранятся в корневом каталоге файловой системы как [."
+"filename]#quota.user# и [.filename]#quota.group#. Дополнительную информацию "
+"можно найти в man:fstab[5]. Указание альтернативного расположения для "
+"файлов квот не рекомендуется."
#. type: Plain text
#: documentation/content/en/books/handbook/disks/_index.adoc:1614
@@ -4036,9 +4048,9 @@ msgid ""
"man:quotacheck[8], man:quotaon[8], or man:quotaoff[8]. However, one should "
"read these manual pages to be familiar with their operation."
msgstr ""
-"В обычном режиме работы нет необходимости вручную запускать "
-"man:quotacheck[8], man:quotaon[8] или man:quotaoff[8]. Однако рекомендуется "
-"ознакомиться с их руководствами, чтобы понимать принцип работы."
+"В обычном режиме работы нет необходимости вручную запускать man:quotacheck[8]"
+", man:quotaon[8] или man:quotaoff[8]. Однако рекомендуется ознакомиться с их "
+"руководствами, чтобы понимать принцип работы."
#. type: Title ===
#: documentation/content/en/books/handbook/disks/_index.adoc:1618
@@ -4083,9 +4095,9 @@ msgstr ""
"Доступно несколько вариантов для установки ограничений на объем дискового "
"пространства, который может быть выделен пользователю или группе, а также на "
"количество создаваемых ими файлов. Ограничения могут быть установлены на "
-"основе объема дискового пространства (блочные квоты), количества файлов "
-"(квоты inode) или их комбинации. Каждое ограничение дополнительно "
-"разделяется на две категории: жесткие и мягкие лимиты."
+"основе объема дискового пространства (блочные квоты), количества файлов ("
+"квоты inode) или их комбинации. Каждое ограничение дополнительно разделяется "
+"на две категории: жесткие и мягкие лимиты."
#. type: Plain text
#: documentation/content/en/books/handbook/disks/_index.adoc:1639
@@ -4234,9 +4246,9 @@ msgstr ""
"Обычно файловые системы, на которых пользователь не занимает места, не "
"отображаются в выводе команды `quota`, даже если для пользователя "
"установлено ограничение квоты для этой файловой системы. Используйте `-v`, "
-"чтобы отобразить эти файловые системы. Ниже приведён пример вывода `quota "
-"-v` для пользователя, у которого установлены ограничения квоты на двух "
-"файловых системах."
+"чтобы отобразить эти файловые системы. Ниже приведён пример вывода `quota -v`"
+" для пользователя, у которого установлены ограничения квоты на двух файловых "
+"системах."
#. type: delimited block . 4
#: documentation/content/en/books/handbook/disks/_index.adoc:1699
@@ -4248,7 +4260,8 @@ msgid ""
" /usr/var 0 50 75 0 50 60\n"
msgstr ""
"Disk quotas for user test (uid 1002):\n"
-" Filesystem usage quota limit grace files quota limit grace\n"
+" Filesystem usage quota limit grace files quota limit "
+"grace\n"
" /usr 65* 50 75 5days 7 50 60\n"
" /usr/var 0 50 75 0 50 60\n"
@@ -4259,8 +4272,8 @@ msgid ""
"kbytes on [.filename]#/usr# and has 5 days of grace period left. The "
"asterisk `*` indicates that the user is currently over the quota limit."
msgstr ""
-"В этом примере пользователь превысил мягкое ограничение в 50 Кб на "
-"[.filename]#/usr# на 15 Кб, и у него осталось 5 дней льготного периода. "
+"В этом примере пользователь превысил мягкое ограничение в 50 Кб на [."
+"filename]#/usr# на 15 Кб, и у него осталось 5 дней льготного периода. "
"Звёздочка `*` указывает, что пользователь в настоящее время превысил "
"ограничение квоты."
@@ -4288,14 +4301,15 @@ msgid ""
"On the NFS server, enable `rpc.rquotad` by removing the `+#+` from this line "
"in [.filename]*/etc/inetd.conf*:"
msgstr ""
-"На NFS-сервере включите `rpc.rquotad`, удалив `+#+` из этой строки в файле "
-"[.filename]*/etc/inetd.conf*:"
+"На NFS-сервере включите `rpc.rquotad`, удалив `+#+` из этой строки в файле [."
+"filename]*/etc/inetd.conf*:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/disks/_index.adoc:1714
#, no-wrap
msgid "rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad\n"
-msgstr "rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad\n"
+msgstr ""
+"rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad\n"
#. type: Plain text
#: documentation/content/en/books/handbook/disks/_index.adoc:1717
@@ -4326,13 +4340,13 @@ msgid ""
"another system to copy and analyze the data."
msgstr ""
"FreeBSD обеспечивает отличную защиту от несанкционированного доступа к "
-"данным в режиме онлайн. Права доступа к файлам и "
-"crossref:mac[mac,Принудительный контроль доступа] (MAC) помогают "
-"предотвратить доступ к данным неавторизованных пользователей, пока "
-"операционная система активна и компьютер включен. Однако принудительно "
-"устанавливаемые операционной системой права доступа не имеют значения, если "
-"злоумышленник получит физический доступ к компьютеру и сможет переместить "
-"его жесткий диск в другую систему для копирования и анализа данных."
+"данным в режиме онлайн. Права доступа к файлам и crossref:mac["
+"mac,Принудительный контроль доступа] (MAC) помогают предотвратить доступ к "
+"данным неавторизованных пользователей, пока операционная система активна и "
+"компьютер включен. Однако принудительно устанавливаемые операционной "
+"системой права доступа не имеют значения, если злоумышленник получит "
+"физический доступ к компьютеру и сможет переместить его жесткий диск в "
+"другую систему для копирования и анализа данных."
#. type: Plain text
#: documentation/content/en/books/handbook/disks/_index.adoc:1733
@@ -4444,8 +4458,8 @@ msgid ""
"private#."
msgstr ""
"Следующий пример демонстрирует добавление нового жесткого диска в систему, "
-"который будет содержать единственный зашифрованный раздел, монтируемый в "
-"[.filename]#/private#."
+"который будет содержать единственный зашифрованный раздел, монтируемый в [."
+"filename]#/private#."
#. type: Block title
#: documentation/content/en/books/handbook/disks/_index.adoc:1762
@@ -4453,12 +4467,12 @@ msgstr ""
msgid "Procedure: Encrypting a Partition with gbde"
msgstr "Процедура: Шифрование раздела с помощью gbde"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/handbook/disks/_index.adoc:1764
msgid "Add the New Hard Drive"
msgstr "Добавьте новый жесткий диск"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/handbook/disks/_index.adoc:1767
msgid ""
"Install the new drive to the system as explained in crossref:disks[disks-"
@@ -4567,8 +4581,8 @@ msgstr ""
"парольную фразу, используемую для защиты данных. Парольная фраза должна быть "
"одинаковой в обоих случаях. Способность gbde защищать данные полностью "
"зависит от качества парольной фразы. Советы по выбору безопасной парольной "
-"фразы, которую легко запомнить, можно найти по ссылке http://world.std.com/"
-"\\~reinhold/diceware.html[http://world.std.com/~reinhold/diceware.htm]."
+"фразы, которую легко запомнить, можно найти по ссылке http://world.std.com/\\"
+"~reinhold/diceware.html[http://world.std.com/~reinhold/diceware.htm]."
#. type: Plain text
#: documentation/content/en/books/handbook/disks/_index.adoc:1814
@@ -4613,8 +4627,8 @@ msgid ""
"will appear in [.filename]#/dev# as [.filename]#/dev/device_name.bde#:"
msgstr ""
"Эта команда запросит ввод парольной фразы, выбранной при инициализации "
-"зашифрованного раздела. Новое зашифрованное устройство появится в "
-"[.filename]#/dev# под именем [.filename]#/dev/имя_устройства.bde#:"
+"зашифрованного раздела. Новое зашифрованное устройство появится в [."
+"filename]#/dev# под именем [.filename]#/dev/имя_устройства.bde#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/disks/_index.adoc:1837
@@ -4744,8 +4758,8 @@ msgid ""
msgstr ""
"Для этого необходимо ввести пароль на консоли во время загрузки. После ввода "
"правильного пароля зашифрованный раздел будет автоматически подключен. "
-"Дополнительные параметры загрузки gbde доступны и перечислены в "
-"man:rc.conf[5]."
+"Дополнительные параметры загрузки gbde доступны и перечислены в man:rc."
+"conf[5]."
#. type: delimited block = 4
#: documentation/content/en/books/handbook/disks/_index.adoc:1895
@@ -4780,8 +4794,8 @@ msgid ""
"control utility adds some features and uses a different scheme for doing "
"cryptographic work. It provides the following features:"
msgstr ""
-"Альтернативный криптографический класс GEOM доступен с использованием "
-"`geli`. Эта утилита управления предоставляет дополнительные возможности и "
+"Альтернативный криптографический класс GEOM доступен с использованием `geli`"
+". Эта утилита управления предоставляет дополнительные возможности и "
"использует другую схему для выполнения криптографических операций. Она "
"обеспечивает следующие функции:"
@@ -4873,12 +4887,12 @@ msgstr ""
msgid "Procedure: Encrypting a Partition with `geli`"
msgstr "Процедура: Шифрование раздела с помощью `geli`"
-#. type: .procedure
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/disks/_index.adoc:1928
msgid "Load `geli` Support"
msgstr "Загрузите поддержку `geli`"
-#. type: .procedure
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/disks/_index.adoc:1930
msgid ""
"Support for `geli` is available as a loadable kernel module. To configure "
@@ -4898,7 +4912,7 @@ msgstr "geom_eli_load=\"YES\"\n"
#. type: Plain text
#: documentation/content/en/books/handbook/disks/_index.adoc:1937
msgid "To load the kernel module now:"
-msgstr "Чтобы загрузуть модуля ядра сейчас:"
+msgstr "Чтобы загрузить модуль ядра сейчас:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/disks/_index.adoc:1941
@@ -4928,7 +4942,7 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/disks/_index.adoc:1952
msgid "Generate the Master Key"
-msgstr "Сгенеририруйте мастер-ключа"
+msgstr "Сгенерируйте мастер-ключа"
#. type: Plain text
#: documentation/content/en/books/handbook/disks/_index.adoc:1959
@@ -4945,8 +4959,8 @@ msgstr ""
"Следующие команды создают мастер-ключ, которым будут зашифрованы все данные. "
"Этот ключ нельзя изменить. Вместо его прямого использования, он шифруется "
"одним или несколькими пользовательскими ключами. Пользовательские ключи "
-"формируются из опциональной комбинации случайных байтов из файла "
-"[.filename]#/root/da2.key# и/или парольной фразы. В данном случае источником "
+"формируются из опциональной комбинации случайных байтов из файла [."
+"filename]#/root/da2.key# и/или парольной фразы. В данном случае источником "
"данных для ключевого файла является [.filename]#/dev/random#. Эта команда "
"также устанавливает размер сектора провайдера ([.filename]#/dev/da2.eli#) "
"равным 4 КБ для улучшения производительности:"
@@ -5089,9 +5103,10 @@ msgid ""
"cold storage by unmounting and detaching the `geli` encrypted partition from "
"the kernel:"
msgstr ""
-"После завершения работы с зашифрованным разделом и когда раздел [.filename]#/"
-"private# больше не нужен, рекомендуется перевести устройство в холодное "
-"хранилище, размонтировав и отключив зашифрованный раздел `geli` от ядра:"
+"После завершения работы с зашифрованным разделом и когда раздел [."
+"filename]#/private# больше не нужен, рекомендуется перевести устройство в "
+"холодное хранилище, размонтировав и отключив зашифрованный раздел `geli` от "
+"ядра:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/disks/_index.adoc:2027
@@ -5146,10 +5161,10 @@ msgstr ""
"пароля могут отображаться другие сообщения ядра. Если процесс загрузки "
"кажется зависшим, внимательно поищите запрос пароля среди других сообщений. "
"После ввода правильной парольной фразы провайдер будет подключен. Файловая "
-"система затем монтируется, обычно с помощью записи в [.filename]#/etc/"
-"fstab#. Инструкции по настройке автоматического монтирования файловой "
-"системы при загрузке можно найти в crossref:basics[mount-"
-"unmount,“Монтирование и размонтирование файловых систем”]."
+"система затем монтируется, обычно с помощью записи в [.filename]#/etc/fstab#"
+". Инструкции по настройке автоматического монтирования файловой системы при "
+"загрузке можно найти в crossref:basics[mount-unmount,“Монтирование и "
+"размонтирование файловых систем”]."
#. type: Title ==
#: documentation/content/en/books/handbook/disks/_index.adoc:2047
@@ -5216,8 +5231,8 @@ msgid ""
"To encrypt the swap partition using man:gbde[8], add the `.bde` suffix to "
"the swap line in [.filename]#/etc/fstab#:"
msgstr ""
-"Для шифрования раздела подкачки с помощью man:gbde[8] добавьте суффикс "
-"`.bde` к строке подкачки в [.filename]#/etc/fstab#:"
+"Для шифрования раздела подкачки с помощью man:gbde[8] добавьте суффикс `.bde`"
+" к строке подкачки в [.filename]#/etc/fstab#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/disks/_index.adoc:2074
@@ -5235,8 +5250,8 @@ msgid ""
"To instead encrypt the swap partition using man:geli[8], use the `.eli` "
"suffix:"
msgstr ""
-"Для шифрования раздела подкачки с помощью man:geli[8] используйте суффикс "
-"`.eli`:"
+"Для шифрования раздела подкачки с помощью man:geli[8] используйте суффикс `."
+"eli`:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/disks/_index.adoc:2082
@@ -5343,7 +5358,8 @@ msgid ""
"/dev/ada0s1b.eli\tnone\t\tswap\tsw,ealgo=AES-XTS,keylen=128,sectorsize=4096\t0\t0\n"
msgstr ""
"# Device\t\tMountpoint\tFStype\tOptions\t\t\t\tDump\tPass#\n"
-"/dev/ada0s1b.eli\tnone\t\tswap\tsw,ealgo=AES-XTS,keylen=128,sectorsize=4096\t0\t0\n"
+"/dev/ada0s1b.eli\tnone\t\tswap\tsw,ealgo=AES-XTS,keylen=128,sectorsize="
+"4096\t0\t0\n"
#. type: Title ===
#: documentation/content/en/books/handbook/disks/_index.adoc:2113
@@ -5529,9 +5545,8 @@ msgid ""
"http://www.omc.net/[http://www.omc.net/] and http://www.transip.nl/[http://"
"www.transip.nl/]."
msgstr ""
-"Проект HAST был поддержан The FreeBSD Foundation при участии http://"
-"www.omc.net/[http://www.omc.net/] и http://www.transip.nl/[http://"
-"www.transip.nl/]."
+"Проект HAST был поддержан The FreeBSD Foundation при участии http://www.omc."
+"net/[http://www.omc.net/] и http://www.transip.nl/[http://www.transip.nl/]."
#. type: Title ===
#: documentation/content/en/books/handbook/disks/_index.adoc:2165
@@ -5583,8 +5598,8 @@ msgid ""
"difference between using HAST-provided devices and raw disks or partitions."
msgstr ""
"HAST работает синхронно на блочном уровне, что делает его прозрачным для "
-"файловых систем и приложений. HAST предоставляет обычные GEOM-провайдеры в "
-"[.filename]#/dev/hast/# для использования другими инструментами или "
+"файловых систем и приложений. HAST предоставляет обычные GEOM-провайдеры в [."
+"filename]#/dev/hast/# для использования другими инструментами или "
"приложениями. Нет разницы между использованием устройств, предоставляемых "
"HAST, и использованием обычных дисков или разделов."
@@ -5734,11 +5749,10 @@ msgid ""
msgstr ""
"Следующий пример описывает настройку двух узлов в режиме первичный-вторичный "
"с использованием HAST для репликации данных между ними. Узлы будут "
-"называться `hasta` с IP-адресом `172.16.0.1` и `hastb` с IP-адресом "
-"`172.16.0.2`. Оба узла будут иметь выделенный жесткий диск [.filename]#/dev/"
-"ad6# одинакового размера для работы с HAST. Пул HAST, иногда называемый "
-"ресурсом или провайдером GEOM в [.filename]#/dev/hast/#, будет называться "
-"`test`."
+"называться `hasta` с IP-адресом `172.16.0.1` и `hastb` с IP-адресом `172.16.0"
+".2`. Оба узла будут иметь выделенный жесткий диск [.filename]#/dev/ad6# "
+"одинакового размера для работы с HAST. Пул HAST, иногда называемый ресурсом "
+"или провайдером GEOM в [.filename]#/dev/hast/#, будет называться `test`."
#. type: Plain text
#: documentation/content/en/books/handbook/disks/_index.adoc:2218
@@ -5951,8 +5965,8 @@ msgid ""
"address and a shared IP address of _172.16.0.254_. The primary HAST node of "
"the cluster must be the primary CARP node."
msgstr ""
-"Для выполнения этой задачи используется Протокол избыточности общих адресов "
-"(CARP — Common Address Redundancy Protocol), который обеспечивает "
+"Для выполнения этой задачи используется Протокол избыточности общих адресов ("
+"CARP — Common Address Redundancy Protocol), который обеспечивает "
"автоматическое переключение на резервный узел на IP-уровне. CARP позволяет "
"нескольким узлам в одном сетевом сегменте совместно использовать один IP-"
"адрес. Настройте CARP на обоих узлах кластера в соответствии с "
@@ -6144,7 +6158,8 @@ msgid ""
msgstr ""
"case \"$1\" in\n"
"\tprimary)\n"
-"\t\tlogger -p $log -t $name \"Switching to primary provider for ${resources}.\"\n"
+"\t\tlogger -p $log -t $name \"Switching to primary provider for ${resources}."
+"\"\n"
"\t\tsleep ${delay}\n"
#. type: delimited block . 4
@@ -6159,7 +6174,8 @@ msgid ""
msgstr ""
"\t\t# Wait for any \"hastd secondary\" processes to stop\n"
"\t\tfor disk in ${resources}; do\n"
-"\t\t\twhile $( pgrep -lf \"hastd: ${disk} \\(secondary\\)\" > /dev/null 2>&1 ); do\n"
+"\t\t\twhile $( pgrep -lf \"hastd: ${disk} \\(secondary\\)\" > /dev/null 2>&1 "
+"); do\n"
"\t\t\t\tsleep 1\n"
"\t\t\tdone\n"
@@ -6178,7 +6194,8 @@ msgstr ""
"\t\t\t# Switch role for each disk\n"
"\t\t\thastctl role primary ${disk}\n"
"\t\t\tif [ $? -ne 0 ]; then\n"
-"\t\t\t\tlogger -p $log -t $name \"Unable to change role to primary for resource ${disk}.\"\n"
+"\t\t\t\tlogger -p $log -t $name \"Unable to change role to primary for "
+"resource ${disk}.\"\n"
"\t\t\t\texit 1\n"
"\t\t\tfi\n"
"\t\tdone\n"
@@ -6212,7 +6229,8 @@ msgid ""
"\t\tdone\n"
msgstr ""
"\t\t\tif [ ! -c \"/dev/hast/${disk}\" ]; then\n"
-"\t\t\t\tlogger -p $log -t $name \"GEOM provider /dev/hast/${disk} did not appear.\"\n"
+"\t\t\t\tlogger -p $log -t $name \"GEOM provider /dev/hast/${disk} did not "
+"appear.\"\n"
"\t\t\t\texit 1\n"
"\t\t\tfi\n"
"\t\tdone\n"
@@ -6221,7 +6239,9 @@ msgstr ""
#: documentation/content/en/books/handbook/disks/_index.adoc:2406
#, no-wrap
msgid "\t\tlogger -p $log -t $name \"Role for HAST resources ${resources} switched to primary.\"\n"
-msgstr "\t\tlogger -p $log -t $name \"Role for HAST resources ${resources} switched to primary.\"\n"
+msgstr ""
+"\t\tlogger -p $log -t $name \"Role for HAST resources ${resources} switched "
+"to primary.\"\n"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/disks/_index.adoc:2413
@@ -6255,7 +6275,8 @@ msgid ""
"\t\tlogger -p $log -t $name \"Switching to secondary provider for ${resources}.\"\n"
msgstr ""
"\tsecondary)\n"
-"\t\tlogger -p $log -t $name \"Switching to secondary provider for ${resources}.\"\n"
+"\t\tlogger -p $log -t $name \"Switching to secondary provider for "
+"${resources}.\"\n"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/disks/_index.adoc:2436
@@ -6289,10 +6310,12 @@ msgstr ""
"\t\t\tsleep $delay\n"
"\t\t\thastctl role secondary ${disk} 2>&1\n"
"\t\t\tif [ $? -ne 0 ]; then\n"
-"\t\t\t\tlogger -p $log -t $name \"Unable to switch role to secondary for resource ${disk}.\"\n"
+"\t\t\t\tlogger -p $log -t $name \"Unable to switch role to secondary for "
+"resource ${disk}.\"\n"
"\t\t\t\texit 1\n"
"\t\t\tfi\n"
-"\t\t\tlogger -p $log -t $name \"Role switched to secondary for resource ${disk}.\"\n"
+"\t\t\tlogger -p $log -t $name \"Role switched to secondary for resource "
+"${disk}.\"\n"
"\t\tdone\n"
"\t;;\n"
"esac\n"
@@ -6366,8 +6389,8 @@ msgid ""
"programs in ports (i.e. package:net/samba419[])."
msgstr ""
"Вместо использования высокодоступного хранилища локально, его также можно "
-"предоставить в общее пользование другим компьютерам в сети через "
-"crossref:network-servers[network-nfs,NFS], crossref:network-servers[network-"
+"предоставить в общее пользование другим компьютерам в сети через crossref"
+":network-servers[network-nfs,NFS], crossref:network-servers[network-"
"iscsi,iSCSI], man:sshfs[1] или программы из портов (например, package:net/"
"samba419[])."
diff --git a/documentation/content/ru/books/handbook/dtrace/_index.adoc b/documentation/content/ru/books/handbook/dtrace/_index.adoc
index a36b03b848..3241289910 100644
--- a/documentation/content/ru/books/handbook/dtrace/_index.adoc
+++ b/documentation/content/ru/books/handbook/dtrace/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/dtrace/
part: 'Часть III. Администрирование системы'
prev: books/handbook/cutting-edge
-showBookMenu: true
+showBookMenu: 'true'
tags: ["DTrace", "features", "guide", "tutorial", "kldload"]
title: 'Глава 27. DTrace'
weight: 31
diff --git a/documentation/content/ru/books/handbook/dtrace/_index.po b/documentation/content/ru/books/handbook/dtrace/_index.po
index 2438892891..a1a27fe14e 100644
--- a/documentation/content/ru/books/handbook/dtrace/_index.po
+++ b/documentation/content/ru/books/handbook/dtrace/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-08-17 20:54+0100\n"
"PO-Revision-Date: 2025-08-19 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,19 +18,19 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/dtrace/_index.adoc:1
#, no-wrap
msgid "This chapter explains how to use DTrace in FreeBSD"
msgstr "Эта глава объясняет, как использовать DTrace в FreeBSD"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/dtrace/_index.adoc:1
#, no-wrap
msgid "Part III. System Administration"
msgstr "Часть III. Администрирование системы"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/dtrace/_index.adoc:1
#, no-wrap
msgid "Chapter 27. DTrace"
@@ -149,8 +149,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/dtrace/_index.adoc:78
msgid ""
-"Have some familiarity with security and how it pertains to FreeBSD "
-"(crossref:security[security,Security])."
+"Have some familiarity with security and how it pertains to FreeBSD (crossref:"
+"security[security,Security])."
msgstr ""
"Иметь некоторое представление о безопасности и о том, как она относится к "
"FreeBSD (crossref:security[security,Безопасность])."
@@ -192,8 +192,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/dtrace/_index.adoc:97
msgid ""
-"FreeBSD uses the `DDB_CTF` kernel option to enable support for loading "
-"man:ctf[5] data from kernel modules and the kernel itself. `CTF` is the "
+"FreeBSD uses the `DDB_CTF` kernel option to enable support for loading man:"
+"ctf[5] data from kernel modules and the kernel itself. `CTF` is the "
"Solaris(TM) Compact C Type Format which encapsulates a reduced form of "
"debugging information similar to `DWARF` and the venerable stabs. `CTF` "
"data is added to binaries by the man:ctfconvert[1] and man:ctfmerge[1] build "
@@ -273,8 +273,8 @@ msgstr "Включение поддержки DTrace"
#. type: Plain text
#: documentation/content/en/books/handbook/dtrace/_index.adoc:118
msgid ""
-"In FreeBSD 9.2 and 10.0, DTrace support is built into the "
-"[.filename]#GENERIC# kernel. Users of earlier versions of FreeBSD or who "
+"In FreeBSD 9.2 and 10.0, DTrace support is built into the [."
+"filename]#GENERIC# kernel. Users of earlier versions of FreeBSD or who "
"prefer to statically compile in DTrace support should add the following "
"lines to a custom kernel configuration file and recompile the kernel using "
"the instructions in crossref:kernelconfig[kernelconfig,Configuring the "
@@ -334,11 +334,11 @@ msgid ""
"scripts in the base system as well; see [.filename]#/usr/share/dtrace#."
msgstr ""
"После перезагрузки системы FreeBSD с новым ядром или загрузки модулей DTrace "
-"с помощью `kldload dtraceall`, установите текущий DTrace Toolkit "
-"(package:sysutils/dtrace-toolkit[]) — набор готовых скриптов для сбора "
-"системной информации. Включает скрипты для проверки открытых файлов, "
-"использования памяти, загрузки CPU и многое другое. Некоторые скрипты также "
-"присутствуют в базовой системе FreeBSD — см. [.filename]#/usr/share/dtrace#."
+"с помощью `kldload dtraceall`, установите текущий DTrace Toolkit (package:"
+"sysutils/dtrace-toolkit[]) — набор готовых скриптов для сбора системной "
+"информации. Включает скрипты для проверки открытых файлов, использования "
+"памяти, загрузки CPU и многое другое. Некоторые скрипты также присутствуют в "
+"базовой системе FreeBSD — см. [.filename]#/usr/share/dtrace#."
#. type: delimited block = 4
#: documentation/content/en/books/handbook/dtrace/_index.adoc:145
@@ -359,14 +359,14 @@ msgid ""
"This language is called the D language and it is very similar to C++. An in "
"depth discussion of the language is beyond the scope of this document. "
"Refer to the FreeBSD man:d[7] manual page for an overview of the D language "
-"on FreeBSD. The D language is also covered extensively in the https://"
-"www.illumos.org/books/dtrace/bookinfo.html[illumos Dynamic Tracing Guide]."
+"on FreeBSD. The D language is also covered extensively in the https://www."
+"illumos.org/books/dtrace/bookinfo.html[illumos Dynamic Tracing Guide]."
msgstr ""
"Набор инструментов DTrace включает множество скриптов на специальном языке "
"DTrace. Этот язык называется D и очень похож на C++. Подробное обсуждение "
"языка выходит за рамки данного документа. Обратитесь к странице man:d[7] для "
-"обзора языка D в FreeBSD. Язык D также подробно рассмотрен в https://"
-"www.illumos.org/books/dtrace/bookinfo.html[illumos Dynamic Tracing Guide]."
+"обзора языка D в FreeBSD. Язык D также подробно рассмотрен в https://www."
+"illumos.org/books/dtrace/bookinfo.html[illumos Dynamic Tracing Guide]."
#. type: Title ==
#: documentation/content/en/books/handbook/dtrace/_index.adoc:154
@@ -607,8 +607,8 @@ msgstr ""
msgid ""
"The [.filename]#procsystime# script captures and prints the system call time "
"usage for a given process `ID` (`PID`) or process name. In the following "
-"example, a new instance of [.filename]#/bin/csh# was spawned. Then, "
-"[.filename]#procsystime# was executed and remained waiting while a few "
+"example, a new instance of [.filename]#/bin/csh# was spawned. Then, [."
+"filename]#procsystime# was executed and remained waiting while a few "
"commands were typed on the other incarnation of `csh`. These are the "
"results of this test:"
msgstr ""
@@ -711,8 +711,8 @@ msgstr ""
#~ "scripts for collecting system information. There are scripts to check "
#~ "open files, memory, `CPU` usage, and a lot more. FreeBSD 10 installs a "
#~ "few of these scripts into [.filename]#/usr/share/dtrace#. On other "
-#~ "FreeBSD versions, or to install the full DTrace Toolkit, use the "
-#~ "package:sysutils/dtrace-toolkit[] package or port."
+#~ "FreeBSD versions, or to install the full DTrace Toolkit, use the package:"
+#~ "sysutils/dtrace-toolkit[] package or port."
#~ msgstr ""
#~ "Наконец, установите текущую версию DTrace Toolkit — набор готовых "
#~ "скриптов для сбора системной информации. Существуют скрипты для проверки "
diff --git a/documentation/content/ru/books/handbook/eresources/_index.adoc b/documentation/content/ru/books/handbook/eresources/_index.adoc
index b5f6479b61..354e4f70ab 100644
--- a/documentation/content/ru/books/handbook/eresources/_index.adoc
+++ b/documentation/content/ru/books/handbook/eresources/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/eresources/
part: 'Часть V. Приложения'
prev: books/handbook/bibliography
-showBookMenu: true
+showBookMenu: 'true'
tags: ["eresources", "Websites", "Mailing Lists", "Usenet", "Newsgroups"]
title: 'Приложение C. Ресурсы в Интернете'
weight: 43
diff --git a/documentation/content/ru/books/handbook/eresources/_index.po b/documentation/content/ru/books/handbook/eresources/_index.po
index 89db87c3a0..71289b141e 100644
--- a/documentation/content/ru/books/handbook/eresources/_index.po
+++ b/documentation/content/ru/books/handbook/eresources/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-06-12 17:10+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,19 +18,21 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/eresources/_index.adoc:1
#, no-wrap
msgid "FreeBSD additional resources on internet like websites, mailing lists, mirrors, etc"
-msgstr "Дополнительные ресурсы FreeBSD в интернете, такие как веб-сайты, списки рассылки, зеркала и так далее"
+msgstr ""
+"Дополнительные ресурсы FreeBSD в интернете, такие как веб-сайты, списки "
+"рассылки, зеркала и так далее"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/eresources/_index.adoc:1
#, no-wrap
msgid "Part V. Appendices"
msgstr "Часть V. Приложения"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/eresources/_index.adoc:1
#, no-wrap
msgid "Appendix C. Resources on the Internet"
@@ -42,7 +44,7 @@ msgstr "Приложение C. Ресурсы в Интернете"
msgid "Resources on the Internet"
msgstr "Ресурсы в Интернете"
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:55
msgid ""
"Development of FreeBSD is too rapid for print media to be practical for "
@@ -53,7 +55,7 @@ msgstr ""
"эффективно информировать пользователей. Для отслеживания новостей лучше "
"использовать электронные альтернативы печати."
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:57
msgid ""
"The FreeBSD user community provides much technical support -- with forums, "
@@ -63,17 +65,17 @@ msgstr ""
"поддержку — среди наиболее популярных и эффективных способов общения можно "
"выделить форумы, чаты и электронную почту."
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:60
msgid ""
"The most important points of contact are outlined below. The link:https://"
"wiki.freebsd.org/Community[Community wiki area] may be more up-to-date."
msgstr ""
-"Ниже приведены наиболее важные точки взаимодействия. Раздел link:https://"
-"wiki.freebsd.org/Community[Сообщества на вики] может содержать более "
-"актуальную информацию."
+"Ниже приведены наиболее важные точки взаимодействия. Раздел link:https://wiki"
+".freebsd.org/Community[Сообщества на вики] может содержать более актуальную "
+"информацию."
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:62
msgid ""
"Please make the {freebsd-doc} aware of any resource that is either "
@@ -88,7 +90,7 @@ msgstr ""
msgid "Websites"
msgstr "Вебсайты"
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:67
msgid ""
"The link:https://forums.FreeBSD.org/[FreeBSD Forums] provide a web based "
@@ -97,7 +99,7 @@ msgstr ""
"link:https://forums.FreeBSD.org/[Форумы FreeBSD] предоставляют веб-форум для "
"обсуждения вопросов, связанных с FreeBSD, и технических дискуссий."
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:68
msgid ""
"The link:https://wiki.FreeBSD.org/[FreeBSD Wiki] provides various bits of "
@@ -106,7 +108,7 @@ msgstr ""
"Ссылка link:https://wiki.FreeBSD.org/[FreeBSD Wiki] содержит различную "
"информацию, которая ещё не вошла в Руководство."
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:69
msgid ""
"The link:https://docs.FreeBSD.org/[Documentation Portal] offers much more "
@@ -117,7 +119,7 @@ msgstr ""
"больше, чем просто Руководство FreeBSD, здесь доступно более сорока книг и "
"статей."
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:70
msgid ""
"The link:https://freebsdfoundation.org/our-work/journal/browser-based-"
@@ -125,12 +127,12 @@ msgid ""
"technical magazine released by link:https://freebsdfoundation.org[The "
"FreeBSD Foundation]."
msgstr ""
-"link:https://freebsdfoundation.org/our-work/journal/browser-based-edition/"
-"[FreeBSD Journal] — это бесплатный профессионально редактируемый технический "
-"журнал, выпускаемый раз в два месяца организацией link:https://"
-"freebsdfoundation.org[The FreeBSD Foundation]."
+"link:https://freebsdfoundation.org/our-work/journal/browser-based-edition/["
+"FreeBSD Journal] — это бесплатный профессионально редактируемый технический "
+"журнал, выпускаемый раз в два месяца организацией "
+"link:https://freebsdfoundation.org[The FreeBSD Foundation]."
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:71
msgid ""
"The link:http://www.youtube.com/bsdconferences[BSDConferences YouTube "
@@ -143,7 +145,7 @@ msgstr ""
"Это отличный способ увидеть выступления ключевых разработчиков о новых "
"работах в FreeBSD."
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:72
msgid ""
"link:https://www.freebsd.org/status/[FreeBSD Status Reports] are released "
@@ -152,16 +154,16 @@ msgstr ""
"link:https://www.freebsd.org/status/[Отчёты о состоянии FreeBSD] выпускаются "
"раз в три месяца и отслеживают прогресс в разработке FreeBSD."
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:73
msgid ""
"There's a link:https://www.reddit.com/r/freebsd/[FreeBSD-focused Reddit "
"group] at r/freebsd."
msgstr ""
-"Вот ссылка на группу в Reddit, посвящённую FreeBSD: link:https://"
-"www.reddit.com/r/freebsd/[r/freebsd]."
+"Вот ссылка на группу в Reddit, посвящённую FreeBSD: link:https://www.reddit."
+"com/r/freebsd/[r/freebsd]."
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:74
msgid ""
"link:https://superuser.com/questions/tagged/freebsd[Super User] and "
@@ -172,7 +174,7 @@ msgstr ""
"link:https://serverfault.com/questions/tagged/freebsd[Server Fault], сервисы "
"Stack Exchange для системных администраторов."
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:75
msgid ""
"link:https://wiki.freebsd.org/Discord[FreeBSD Discord server], a "
@@ -185,7 +187,7 @@ msgstr ""
"FreeBSD могут общаться, получать поддержку или помогать другим, учиться, "
"вносить свой вклад, сотрудничать и быть в курсе всего, что связано с FreeBSD."
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:76
msgid ""
"link:https://wiki.freebsd.org/IRC/Channels[IRC channels], a widely "
@@ -200,7 +202,7 @@ msgstr ""
msgid "Mailing Lists"
msgstr "Почтовые рассылки"
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:83
msgid ""
"The mailing lists are the most direct way of addressing questions or opening "
@@ -215,13 +217,13 @@ msgstr ""
"Отправка вопросов в наиболее подходящую рассылку, как правило, гарантирует "
"более быстрый и точный ответ."
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:85
msgid "Technical list threads should remain technical."
msgstr ""
"Технические обсуждения в списках рассылки должны оставаться техническими."
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:87
msgid ""
"All users and developers of FreeBSD should subscribe to the {freebsd-"
@@ -247,8 +249,8 @@ msgid ""
"questions-article}[How to get best results from the FreeBSD-questions "
"mailing list]."
msgstr ""
-"Если вы не уверены, в какой список отправить вопрос, обратитесь к extref:"
-"{freebsd-questions-article}[Как получить наилучшие результаты из списка "
+"Если вы не уверены, в какой список отправить вопрос, обратитесь к extref"
+":{freebsd-questions-article}[Как получить наилучшие результаты из списка "
"рассылки FreeBSD-questions]."
#. type: Plain text
@@ -331,8 +333,8 @@ msgid ""
"The FreeBSD public mailing lists can be consulted link:{mailing-lists-url}"
"[here]."
msgstr ""
-"Списки публичных рассылок FreeBSD можно найти link:{mailing-lists-url}"
-"[здесь]."
+"Списки публичных рассылок FreeBSD можно найти link:{mailing-lists-"
+"url}[здесь]."
#. type: Title ===
#: documentation/content/en/books/handbook/eresources/_index.adoc:119
@@ -353,9 +355,8 @@ msgid ""
"To post, after subscribing, send mail to `listname@FreeBSD.org`. The "
"message will be redistributed to list members."
msgstr ""
-"Для отправки сообщения после подписки отправьте письмо на "
-"`listname@FreeBSD.org`. Сообщение будет распространено среди участников "
-"списка."
+"Для отправки сообщения после подписки отправьте письмо на `listname@FreeBSD."
+"org`. Сообщение будет распространено среди участников списка."
#. type: Title ===
#: documentation/content/en/books/handbook/eresources/_index.adoc:127
@@ -611,7 +612,8 @@ msgstr "Новостные группы, специфичные для BSD"
#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:184
msgid "link:news:comp.unix.bsd.freebsd.announce[comp.unix.bsd.freebsd.announce]"
-msgstr "link:news:comp.unix.bsd.freebsd.announce[comp.unix.bsd.freebsd.announce]"
+msgstr ""
+"link:news:comp.unix.bsd.freebsd.announce[comp.unix.bsd.freebsd.announce]"
#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:185
diff --git a/documentation/content/ru/books/handbook/filesystems/_index.adoc b/documentation/content/ru/books/handbook/filesystems/_index.adoc
index 2e30a4139d..e98d69d35e 100644
--- a/documentation/content/ru/books/handbook/filesystems/_index.adoc
+++ b/documentation/content/ru/books/handbook/filesystems/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/filesystems/
part: 'Часть III. Администрирование системы'
prev: books/handbook/zfs
-showBookMenu: true
+showBookMenu: 'true'
tags: ["filesystem", "ext2", "ext3", "ext4", "ext2fs", "FAT", "exFAT", "NTFS", "HFS", "HFS+", "Apple", "Microsoft", "Linux"]
title: 'Глава 23. Поддержка файловых систем'
weight: 27
diff --git a/documentation/content/ru/books/handbook/filesystems/_index.po b/documentation/content/ru/books/handbook/filesystems/_index.po
index e981655679..c753762dd1 100644
--- a/documentation/content/ru/books/handbook/filesystems/_index.po
+++ b/documentation/content/ru/books/handbook/filesystems/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\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/"
@@ -18,19 +18,19 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/filesystems/_index.adoc:1
#, no-wrap
msgid "This chapter shows the other filesystems supported by FreeBSD"
msgstr "Эта глава описывает другие файловые системы, поддерживаемые FreeBSD"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/filesystems/_index.adoc:1
#, no-wrap
msgid "Part III. System Administration"
msgstr "Часть III. Администрирование системы"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/filesystems/_index.adoc:1
#, no-wrap
msgid "Chapter 23. Other File Systems"
@@ -105,8 +105,8 @@ msgstr "Знать концепции UNIX(R) и crossref:basics[basics,осно
#: documentation/content/en/books/handbook/filesystems/_index.adoc:70
msgid "Feel comfortable crossref:ports[ports,installing software] in FreeBSD."
msgstr ""
-"Свободно устанавливать программное обеспечение через "
-"crossref:ports[ports,установку программ] в FreeBSD."
+"Свободно устанавливать программное обеспечение через crossref:ports["
+"ports,установку программ] в FreeBSD."
#. type: Plain text
#: documentation/content/en/books/handbook/filesystems/_index.adoc:71
@@ -333,8 +333,8 @@ msgid ""
"[.filename]#/mnt#:"
msgstr ""
"Смонтируйте том exFAT, указав его имя раздела FreeBSD и существующую точку "
-"монтирования. В этом примере монтируется [.filename]#/dev/ada0s1# в "
-"[.filename]#/mnt#:"
+"монтирования. В этом примере монтируется [.filename]#/dev/ada0s1# в [."
+"filename]#/mnt#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/filesystems/_index.adoc:157
@@ -367,9 +367,9 @@ msgid ""
"To use NTFS on FreeBSD, install the package:filesystems/ntfs[] package, load "
"the FUSE kernel module, and mount the file system as shown below:"
msgstr ""
-"Для использования NTFS в FreeBSD установите пакет package:filesystems/"
-"ntfs[], загрузите модуль ядра FUSE и смонтируйте файловую систему, как "
-"показано ниже:"
+"Для использования NTFS в FreeBSD установите пакет package:filesystems/ntfs[]"
+", загрузите модуль ядра FUSE и смонтируйте файловую систему, как показано "
+"ниже:"
#. type: Plain text
#: documentation/content/en/books/handbook/filesystems/_index.adoc:168
@@ -390,8 +390,8 @@ msgid ""
"[.filename]#/mnt#:"
msgstr ""
"Смонтируйте том NTFS, указав его имя раздела в FreeBSD и существующую точку "
-"монтирования. В этом примере монтируется [.filename]#/dev/ada0s1# в "
-"[.filename]#/mnt#:"
+"монтирования. В этом примере монтируется [.filename]#/dev/ada0s1# в [."
+"filename]#/mnt#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/filesystems/_index.adoc:194
@@ -430,8 +430,8 @@ msgid ""
msgstr ""
"HFS/HFS+ была основной файловой системой для MacOS до APFS, часто "
"использовалась на старых устройствах Mac и внешних накопителях. FreeBSD "
-"предоставляет поддержку только для чтения HFS/HFS+ через пакет "
-"package:filesystems/hfsfuse[]."
+"предоставляет поддержку только для чтения HFS/HFS+ через пакет package:"
+"filesystems/hfsfuse[]."
#. type: Plain text
#: documentation/content/en/books/handbook/filesystems/_index.adoc:208
@@ -463,8 +463,8 @@ msgid ""
"[.filename]#/mnt#:"
msgstr ""
"Смонтируйте том HFS/HFS+, указав его имя раздела FreeBSD и существующую "
-"точку монтирования. В этом примере монтируется [.filename]#/dev/ada0s1# в "
-"[.filename]#/mnt#:"
+"точку монтирования. В этом примере монтируется [.filename]#/dev/ada0s1# в [."
+"filename]#/mnt#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/filesystems/_index.adoc:236
diff --git a/documentation/content/ru/books/handbook/firewalls/_index.adoc b/documentation/content/ru/books/handbook/firewalls/_index.adoc
index fb6638f307..709832dd52 100644
--- a/documentation/content/ru/books/handbook/firewalls/_index.adoc
+++ b/documentation/content/ru/books/handbook/firewalls/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/firewalls/
part: 'IV. Сетевое взаимодействие'
prev: books/handbook/network-servers
-showBookMenu: true
+showBookMenu: 'true'
tags: ["firewall", "pf", "ipfw", "ipfilter", "blacklistd", "filtering"]
title: 'Глава 33. Межсетевые экраны'
weight: 38
@@ -645,7 +645,7 @@ pass quick proto { tcp, udp } from any to any port ssh \
[NOTE]
====
-*It May Not be Necessary to Block All Overloaders:* +
+*Не всегда необходимо блокировать всех превышающих нагрузки:* +
Стоит отметить, что механизм превышения нагрузки — это общий метод, который применяется не только к SSH, и не всегда оптимально полностью блокировать весь трафик от нарушителей.
@@ -750,7 +750,7 @@ allowlist:\
+
[TIP]
====
-*Choose Data Sources with Care:* +
+*Выбирайте источники данных с осторожностью:* +
Использование всех блокирующих списков в примере [.filename]#spamd.conf# приведет к блокировке больших сегментов Интернета. Администраторам необходимо отредактировать файл, чтобы создать оптимальную конфигурацию, которая использует подходящие источники данных и, при необходимости, пользовательские списки.
====
diff --git a/documentation/content/ru/books/handbook/firewalls/_index.po b/documentation/content/ru/books/handbook/firewalls/_index.po
index d97ccc5e0b..2ab064051f 100644
--- a/documentation/content/ru/books/handbook/firewalls/_index.po
+++ b/documentation/content/ru/books/handbook/firewalls/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-06-29 21:20+0100\n"
"PO-Revision-Date: 2025-09-26 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,19 +18,19 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/firewalls/_index.adoc:1
#, no-wrap
msgid "FreeBSD has three firewalls built into the base system: PF, IPFW, and IPFILTER. This chapter covers how to define packet filtering rules, the differences between the firewalls built into FreeBSD and how to use them"
msgstr "В базовой системе FreeBSD встроено три межсетевых экрана: PF, IPFW и IPFILTER. В этой главе рассматривается, как определять правила фильтрации пакетов, различия между встроенными в FreeBSD межсетевыми экранами и способы их использования"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/firewalls/_index.adoc:1
#, no-wrap
msgid "IV. Network Communication"
msgstr "IV. Сетевое взаимодействие"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/firewalls/_index.adoc:1
#, no-wrap
msgid "Chapter 33. Firewalls"
@@ -119,11 +119,11 @@ msgid ""
msgstr ""
"В базовой системе FreeBSD встроено три межсетевых экрана: PF, IPFW и "
"IPFILTER, также известный как IPF. FreeBSD также предоставляет два "
-"инструмента для управления использованием пропускной способности: "
-"man:altq[4] и man:dummynet[4]. ALTQ традиционно тесно связан с PF, а "
-"dummynet — с IPFW. Каждый межсетевой экран использует правила для контроля "
-"доступа пакетов к системе FreeBSD и из неё, хотя подходы у них различаются, "
-"и каждый имеет свой собственный синтаксис правил."
+"инструмента для управления использованием пропускной способности: man:"
+"altq[4] и man:dummynet[4]. ALTQ традиционно тесно связан с PF, а dummynet — "
+"с IPFW. Каждый межсетевой экран использует правила для контроля доступа "
+"пакетов к системе FreeBSD и из неё, хотя подходы у них различаются, и каждый "
+"имеет свой собственный синтаксис правил."
#. type: Plain text
#: documentation/content/en/books/handbook/firewalls/_index.adoc:73
@@ -184,8 +184,8 @@ msgid ""
"control fields, the creator of the firewall ruleset must have an "
"understanding of how TCP/IP works, what the different values in the packet "
"control fields are, and how these values are used in a normal session "
-"conversation. For a good introduction, refer to http://"
-"www.ipprimer.com[Daryl's TCP/IP Primer]."
+"conversation. For a good introduction, refer to http://www.ipprimer."
+"com[Daryl's TCP/IP Primer]."
msgstr ""
"Поскольку все межсетевые экраны основаны на проверке значений выбранных "
"управляющих полей пакетов, создатель набора правил межсетевого экрана должен "
@@ -242,9 +242,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/firewalls/_index.adoc:106
msgid ""
-"Check out this link for http://web.archive.org/web/20150803024617/http://"
-"www.sans.org/security-resources/idfaq/oddports.php[port numbers used by "
-"Trojans]."
+"Check out this link for http://web.archive.org/web/20150803024617/http://www."
+"sans.org/security-resources/idfaq/oddports.php[port numbers used by Trojans]."
msgstr ""
"Ознакомьтесь с этой ссылкой для http://web.archive.org/web/20150803024617/"
"http://www.sans.org/security-resources/idfaq/oddports.php[номеров портов, "
@@ -262,8 +261,8 @@ msgstr ""
"FTP имеет два режима: активный режим и пассивный режим. Разница заключается "
"в том, как устанавливается канал передачи данных. Пассивный режим более "
"безопасен, так как канал передачи данных устанавливается инициатором сессии "
-"FTP. Для подробного объяснения работы FTP и различных режимов см. http://"
-"www.slacksite.com/other/ftp.html[http://www.slacksite.com/other/ftp.html]."
+"FTP. Для подробного объяснения работы FTP и различных режимов см. http://www."
+"slacksite.com/other/ftp.html[http://www.slacksite.com/other/ftp.html]."
#. type: Plain text
#: documentation/content/en/books/handbook/firewalls/_index.adoc:115
@@ -273,11 +272,11 @@ msgid ""
"matching the ruleset. An inclusive firewall does the reverse as it only "
"allows traffic matching the rules through and blocks everything else."
msgstr ""
-"Набор правил межсетевого экрана может быть \"исключающим\" или "
-"\"включающим\". Исключающий межсетевой экран пропускает весь трафик, кроме "
-"трафика, соответствующего набору правил. Включающий межсетевой экран "
-"действует наоборот, пропуская только трафик, соответствующий правилам, и "
-"блокируя всё остальное."
+"Набор правил межсетевого экрана может быть \"исключающим\" или \"включающим"
+"\". Исключающий межсетевой экран пропускает весь трафик, кроме трафика, "
+"соответствующего набору правил. Включающий межсетевой экран действует "
+"наоборот, пропуская только трафик, соответствующий правилам, и блокируя всё "
+"остальное."
#. type: Plain text
#: documentation/content/en/books/handbook/firewalls/_index.adoc:120
@@ -455,9 +454,9 @@ msgid ""
"www.openbsd.org/faq/pf/[PF FAQ]. Peter Hansteen maintains a thorough PF "
"tutorial at http://home.nuug.no/\\~peter/pf/[http://home.nuug.no/~peter/pf/]."
msgstr ""
-"Проект OpenBSD содержит каноническое справочное издание по PF в http://"
-"www.openbsd.org/faq/pf/[FAQ по PF]. Питер Ханстин ведет подробный учебник по "
-"PF на http://home.nuug.no/\\~peter/pf/[http://home.nuug.no/~peter/pf/]."
+"Проект OpenBSD содержит каноническое справочное издание по PF в http://www."
+"openbsd.org/faq/pf/[FAQ по PF]. Питер Ханстин ведет подробный учебник по PF "
+"на http://home.nuug.no/\\~peter/pf/[http://home.nuug.no/~peter/pf/]."
#. type: delimited block = 4
#: documentation/content/en/books/handbook/firewalls/_index.adoc:174
@@ -529,8 +528,8 @@ msgid ""
"specify any required flags between the two quotes (`\"\"`):"
msgstr ""
"Дополнительные параметры, описанные в man:pfctl[8], могут быть переданы в PF "
-"при его запуске. Добавьте или измените эту запись в [.filename]#/etc/"
-"rc.conf# и укажите необходимые флаги между кавычками (`\"\"`):"
+"при его запуске. Добавьте или измените эту запись в [.filename]#/etc/rc."
+"conf# и укажите необходимые флаги между кавычками (`\"\"`):"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/firewalls/_index.adoc:201
@@ -548,9 +547,9 @@ msgid ""
"line to [.filename]#/etc/rc.conf# which specifies the full path to the file:"
msgstr ""
"PF не запустится, если не сможет найти файл конфигурации набора правил. По "
-"умолчанию FreeBSD не поставляется с готовым набором правил, и файл "
-"[.filename]#/etc/pf.conf# отсутствует. Примеры наборов правил можно найти в "
-"[.filename]#/usr/share/examples/pf/#. Если пользовательский набор правил был "
+"умолчанию FreeBSD не поставляется с готовым набором правил, и файл [."
+"filename]#/etc/pf.conf# отсутствует. Примеры наборов правил можно найти в [."
+"filename]#/usr/share/examples/pf/#. Если пользовательский набор правил был "
"сохранён в другом месте, добавьте строку в [.filename]#/etc/rc.conf#, "
"указывающую полный путь к файлу:"
@@ -567,8 +566,8 @@ msgid ""
"support, add `pflog_enable=yes` to [.filename]#/etc/rc.conf#:"
msgstr ""
"Поддержка журналирования для PF предоставляется man:pflog[4]. Для включения "
-"поддержки журналирования добавьте `pflog_enable=yes` в [.filename]#/etc/"
-"rc.conf#:"
+"поддержки журналирования добавьте `pflog_enable=yes` в [.filename]#/etc/rc."
+"conf#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/firewalls/_index.adoc:219
@@ -642,19 +641,19 @@ msgid ""
"files located in [.filename]#/usr/share/examples/pf/#. Refer to the http://"
"www.openbsd.org/faq/pf/[PF FAQ] for complete coverage of PF rulesets."
msgstr ""
-"По умолчанию PF читает свои правила конфигурации из [.filename]#/etc/"
-"pf.conf# и изменяет, отбрасывает или пропускает пакеты в соответствии с "
+"По умолчанию PF читает свои правила конфигурации из [.filename]#/etc/pf."
+"conf# и изменяет, отбрасывает или пропускает пакеты в соответствии с "
"правилами или определениями, указанными в этом файле. Установка FreeBSD "
"включает несколько примеров файлов, расположенных в [.filename]#/usr/share/"
-"examples/pf/#. Полное описание наборов правил PF можно найти в http://"
-"www.openbsd.org/faq/pf/[PF FAQ]."
+"examples/pf/#. Полное описание наборов правил PF можно найти в http://www."
+"openbsd.org/faq/pf/[PF FAQ]."
#. type: Plain text
#: documentation/content/en/books/handbook/firewalls/_index.adoc:251
msgid ""
"To control PF, use `pfctl`. crossref:firewalls[pfctl,Useful `pfctl` "
-"Options] summarizes some useful options to this command. Refer to "
-"man:pfctl[8] for a description of all available options:"
+"Options] summarizes some useful options to this command. Refer to man:"
+"pfctl[8] for a description of all available options:"
msgstr ""
"Для управления PF используйте `pfctl`. crossref:firewalls[pfctl,Полезные "
"опции `pfctl`] содержит сводку полезных опций этой команды. За подробным "
@@ -980,8 +979,8 @@ msgstr ""
"В этом разделе показано, как настроить систему FreeBSD с PF для работы в "
"качестве шлюза как минимум для одного другого компьютера. Шлюзу требуется "
"как минимум два сетевых интерфейса, каждый из которых подключен к отдельной "
-"сети. В этом примере [.filename]#xl0# подключен к Интернету, а "
-"[.filename]#xl1# подключен к внутренней сети."
+"сети. В этом примере [.filename]#xl0# подключен к Интернету, а [."
+"filename]#xl1# подключен к внутренней сети."
#. type: Plain text
#: documentation/content/en/books/handbook/firewalls/_index.adoc:370
@@ -1014,8 +1013,8 @@ msgstr "# sysctl net.inet6.ip6.forwarding=1\n"
#. type: Plain text
#: documentation/content/en/books/handbook/firewalls/_index.adoc:384
msgid ""
-"To enable these settings at system boot, use man:sysrc[8] to add them to "
-"[.filename]#/etc/rc.conf#:"
+"To enable these settings at system boot, use man:sysrc[8] to add them to [."
+"filename]#/etc/rc.conf#:"
msgstr ""
"Чтобы включить эти настройки при загрузке системы, используйте man:sysrc[8] "
"для их добавления в [.filename]#/etc/rc.conf#:"
@@ -1095,17 +1094,17 @@ msgstr "pass from xl1:network to any port $ports keep state\n"
msgid ""
"The `interface:network` notation can be replaced with a macro to make the "
"ruleset even more readable. For example, a `$localnet` macro could be "
-"defined as the network directly attached to the internal interface "
-"(`$xl1:network`). Alternatively, the definition of `$localnet` could be "
-"changed to an _IP address/netmask_ notation to denote a network, such as "
+"defined as the network directly attached to the internal interface (`$xl1:"
+"network`). Alternatively, the definition of `$localnet` could be changed to "
+"an _IP address/netmask_ notation to denote a network, such as "
"`192.168.100.1/24` for a subnet of private addresses."
msgstr ""
"Обозначение `interface:network` может быть заменено макросом для повышения "
"читаемости набора правил. Например, можно определить макрос `$localnet` как "
-"сеть, непосредственно подключённую к внутреннему интерфейсу "
-"(`$xl1:network`). Или определение `$localnet` может быть изменено на _IP-"
-"адрес/маску сети_ для обозначения сети, например `192.168.100.1/24` для "
-"подсети частных адресов."
+"сеть, непосредственно подключённую к внутреннему интерфейсу (`$xl1:"
+"network`). Или определение `$localnet` может быть изменено на _IP-адрес/"
+"маску сети_ для обозначения сети, например `192.168.100.1/24` для подсети "
+"частных адресов."
#. type: Plain text
#: documentation/content/en/books/handbook/firewalls/_index.adoc:425
@@ -1145,8 +1144,8 @@ msgid ""
msgstr ""
"Для пользователей коммутируемого доступа внешний интерфейс будет "
"использовать [.filename]#tun0#. Для ADSL-подключения, особенно тех, которые "
-"используют PPP через Ethernet (PPPoE), правильный внешний интерфейс — это "
-"[.filename]#tun0#, а не физический Ethernet-интерфейс."
+"используют PPP через Ethernet (PPPoE), правильный внешний интерфейс — это [."
+"filename]#tun0#, а не физический Ethernet-интерфейс."
#. type: delimited block . 4
#: documentation/content/en/books/handbook/firewalls/_index.adoc:449
@@ -1340,8 +1339,8 @@ msgid ""
"handle FTP traffic."
msgstr ""
"Для случаев, когда требуется FTP, PF предоставляет возможность "
-"перенаправления FTP-трафика на небольшую прокси-программу под названием "
-"man:ftp-proxy[8], которая включена в базовую систему FreeBSD. Роль прокси "
+"перенаправления FTP-трафика на небольшую прокси-программу под названием man:"
+"ftp-proxy[8], которая включена в базовую систему FreeBSD. Роль прокси "
"заключается в динамическом добавлении и удалении правил в наборе правил, "
"используя набор якорей, для корректной обработки FTP-трафика."
@@ -1349,8 +1348,8 @@ msgstr ""
#: documentation/content/en/books/handbook/firewalls/_index.adoc:513
msgid "To enable the FTP proxy, add this line to [.filename]#/etc/rc.conf#:"
msgstr ""
-"Чтобы включить FTP-прокси, добавьте следующую строку в [.filename]#/etc/"
-"rc.conf#:"
+"Чтобы включить FTP-прокси, добавьте следующую строку в [.filename]#/etc/rc."
+"conf#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/firewalls/_index.adoc:517
@@ -1550,9 +1549,9 @@ msgid ""
"defining a macro for that type of message:"
msgstr ""
"Дополнительные параметры демонстрируют гибкость PF. Например, вместо "
-"разрешения всех ICMP-сообщений можно указать сообщения, используемые "
-"man:ping[8] и man:traceroute[8]. Начните с определения макроса для этого "
-"типа сообщения:"
+"разрешения всех ICMP-сообщений можно указать сообщения, используемые man:"
+"ping[8] и man:traceroute[8]. Начните с определения макроса для этого типа "
+"сообщения:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/firewalls/_index.adoc:600
@@ -1577,10 +1576,10 @@ msgstr "pass inet proto icmp all icmp-type $icmp_types keep state\n"
msgid ""
"If other types of ICMP packets are needed, expand `icmp_types` to a list of "
"those packet types. Type `more /usr/src/sbin/pfctl/pfctl_parser.c` to see "
-"the list of ICMP message types supported by PF. Refer to http://"
-"www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml[http://"
-"www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml] for an "
-"explanation of each message type."
+"the list of ICMP message types supported by PF. Refer to http://www.iana."
+"org/assignments/icmp-parameters/icmp-parameters.xhtml[http://www.iana.org/"
+"assignments/icmp-parameters/icmp-parameters.xhtml] for an explanation of "
+"each message type."
msgstr ""
"Если требуются другие типы ICMP-пакетов, расширьте `icmp_types` до списка "
"этих типов пакетов. Введите `more /usr/src/sbin/pfctl/pfctl_parser.c`, чтобы "
@@ -1621,8 +1620,8 @@ msgstr ""
"запроса эхо-ответа ICMP, достаточно только первого правила, чтобы разрешить "
"трассировку сети с этих систем. В Unix `traceroute` можно настроить на "
"использование других протоколов, и он будет использовать сообщения запроса "
-"эхо-ответа ICMP, если указан параметр `-I`. Подробности смотрите на "
-"man:traceroute[8]."
+"эхо-ответа ICMP, если указан параметр `-I`. Подробности смотрите на man:"
+"traceroute[8]."
#. type: Title =====
#: documentation/content/en/books/handbook/firewalls/_index.adoc:626
@@ -1960,9 +1959,8 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/firewalls/_index.adoc:760
msgid ""
-"These rules will _not_ block slow bruteforcers, as described in http://"
-"home.nuug.no/\\~peter/hailmary2013/[http://home.nuug.no/~peter/"
-"hailmary2013/]."
+"These rules will _not_ block slow bruteforcers, as described in http://home."
+"nuug.no/\\~peter/hailmary2013/[http://home.nuug.no/~peter/hailmary2013/]."
msgstr ""
"Эти правила _не_ заблокируют медленные брутфорсеры, как описано в http://"
"home.nuug.no/\\~peter/hailmary2013/[http://home.nuug.no/~peter/"
@@ -1997,9 +1995,8 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/firewalls/_index.adoc:776
-#, fuzzy
-#| msgid "*It May Not be Necessary to Block All Overloaders:* +\n"
-msgid "*It May Not be Necessary to Block All Overloaders:* +"
+#, no-wrap
+msgid "*It May Not be Necessary to Block All Overloaders:* +\n"
msgstr "*Не всегда необходимо блокировать всех превышающих нагрузки:* +\n"
#. type: delimited block = 4
@@ -2144,8 +2141,8 @@ msgid ""
msgstr ""
"В этом примере показана базовая процедура настройки spamd с автоматически "
"обновляемыми списками блокировки. Для получения дополнительной информации "
-"обратитесь к руководствам, которые устанавливаются вместе с пакетом "
-"package:mail/spamd[]."
+"обратитесь к руководствам, которые устанавливаются вместе с пакетом package:"
+"mail/spamd[]."
#. type: Block title
#: documentation/content/en/books/handbook/firewalls/_index.adoc:820
@@ -2218,8 +2215,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/firewalls/_index.adoc:850
msgid ""
-"The next step is to configure spamd in [.filename]#/usr/local/etc/"
-"spamd.conf# and to add some [.filename]#rc.conf# parameters."
+"The next step is to configure spamd in [.filename]#/usr/local/etc/spamd."
+"conf# and to add some [.filename]#rc.conf# parameters."
msgstr ""
"Следующий шаг — настроить spamd в [.filename]#/usr/local/etc/spamd.conf# и "
"добавить параметры в [.filename]#rc.conf#."
@@ -2228,20 +2225,20 @@ msgstr ""
#: documentation/content/en/books/handbook/firewalls/_index.adoc:853
msgid ""
"The installation of package:mail/spamd[] includes a sample configuration "
-"file ([.filename]#/usr/local/etc/spamd.conf.sample#) and a man page for "
-"[.filename]#spamd.conf#. Refer to these for additional configuration "
-"options beyond those shown in this example."
+"file ([.filename]#/usr/local/etc/spamd.conf.sample#) and a man page for [."
+"filename]#spamd.conf#. Refer to these for additional configuration options "
+"beyond those shown in this example."
msgstr ""
-"Установка пакета package:mail/spamd[] включает образец файла конфигурации "
-"([.filename]#/usr/local/etc/spamd.conf.sample#) и man-страницу для "
-"[.filename]#spamd.conf#. Обратитесь к ним для получения дополнительных "
+"Установка пакета package:mail/spamd[] включает образец файла конфигурации ([."
+"filename]#/usr/local/etc/spamd.conf.sample#) и man-страницу для [."
+"filename]#spamd.conf#. Обратитесь к ним для получения дополнительных "
"параметров конфигурации, помимо показанных в этом примере."
#. type: Plain text
#: documentation/content/en/books/handbook/firewalls/_index.adoc:855
msgid ""
-"One of the first lines in the configuration file that does not begin with a "
-"`+#+` comment sign contains the block which defines the `all` list, which "
+"One of the first lines in the configuration file that does not begin with a `"
+"+#+` comment sign contains the block which defines the `all` list, which "
"specifies the lists to use:"
msgstr ""
"Одна из первых строк в файле конфигурации, которая не начинается с символа "
@@ -2263,11 +2260,11 @@ msgstr ""
msgid ""
"This entry adds the desired blocklists, separated by colons (`:`). To use "
"an allowlist to subtract addresses from a blocklist, add the name of the "
-"allowlist _immediately_ after the name of that blocklist. For example: "
-"`:blocklist:allowlist:`."
+"allowlist _immediately_ after the name of that blocklist. For example: `:"
+"blocklist:allowlist:`."
msgstr ""
-"Эта запись добавляет желаемые списки блокировок, разделённые двоеточиями "
-"(`:`). Чтобы использовать список разрешений для исключения адресов из списка "
+"Эта запись добавляет желаемые списки блокировок, разделённые двоеточиями (`:"
+"`). Чтобы использовать список разрешений для исключения адресов из списка "
"блокировок, добавьте имя списка разрешений _непосредственно_ после имени "
"этого списка блокировок. Например: `:blocklist:allowlist:`."
@@ -2336,9 +2333,8 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/firewalls/_index.adoc:893
-#, fuzzy
-#| msgid "*Choose Data Sources with Care:* +\n"
-msgid "*Choose Data Sources with Care:* +"
+#, no-wrap
+msgid "*Choose Data Sources with Care:* +\n"
msgstr "*Выбирайте источники данных с осторожностью:* +\n"
#. type: delimited block = 4
@@ -2433,7 +2429,7 @@ msgstr "Основная процедура настройки серого сп
msgid "Procedure: Configuring Greylisting"
msgstr "Процедура: Настройка серого списка"
-#. type: .procedure
+#. type: delimited block * 4
#: documentation/content/en/books/handbook/firewalls/_index.adoc:925
msgid ""
"Make sure that man:fdescfs[5] is mounted as described in Step 1 of the "
@@ -2442,13 +2438,13 @@ msgstr ""
"Убедитесь, что man:fdescfs[5] смонтирован, как описано в Шаге 1 предыдущей "
"процедуры."
-#. type: .procedure
+#. type: delimited block * 4
#: documentation/content/en/books/handbook/firewalls/_index.adoc:926
msgid ""
"To run spamd in greylisting mode, add this line to [.filename]#/etc/rc.conf#:"
msgstr ""
-"Для запуска spamd в режиме серого списка добавьте следующую строку в "
-"[.filename]#/etc/rc.conf#:"
+"Для запуска spamd в режиме серого списка добавьте следующую строку в [."
+"filename]#/etc/rc.conf#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/firewalls/_index.adoc:930
@@ -2491,8 +2487,8 @@ msgstr ""
"За кулисами инструмент базы данных spamdb и обновляющий белый список "
"spamlogd выполняют важные функции для механизма отложенной доставки. spamdb "
"— это основной интерфейс администратора для управления списками блокировки, "
-"серого списка и списка с разрешениями через содержимое базы данных "
-"[.filename]#/var/db/spamdb#."
+"серого списка и списка с разрешениями через содержимое базы данных [."
+"filename]#/var/db/spamdb#."
#. type: Title ====
#: documentation/content/en/books/handbook/firewalls/_index.adoc:945
@@ -2572,9 +2568,9 @@ msgid ""
"~peter/pf/en/scrub.html] for more information."
msgstr ""
"Некоторые службы, такие как NFS, требуют специальных параметров обработки "
-"фрагментов. Дополнительную информацию можно найти по ссылке https://"
-"home.nuug.no/~peter/pf/en/scrub.html[https://home.nuug.no/~peter/pf/en/"
-"scrub.html]."
+"фрагментов. Дополнительную информацию можно найти по ссылке https://home."
+"nuug.no/~peter/pf/en/scrub.html[https://home.nuug.no/~peter/pf/en/scrub."
+"html]."
#. type: Plain text
#: documentation/content/en/books/handbook/firewalls/_index.adoc:975
@@ -2717,11 +2713,10 @@ msgid ""
"queueing scheduler algorithm:"
msgstr ""
"ALTQ недоступен в виде загружаемого модуля ядра. Если интерфейсы системы "
-"поддерживают ALTQ, создайте собственное ядро, следуя инструкциям в "
-"crossref:kernelconfig[kernelconfig,Настройка ядра FreeBSD]. Доступны "
-"следующие параметры ядра. Первый необходим для включения ALTQ. Хотя бы один "
-"из остальных параметров требуется для указания алгоритма планирования "
-"очередей:"
+"поддерживают ALTQ, создайте собственное ядро, следуя инструкциям в crossref:"
+"kernelconfig[kernelconfig,Настройка ядра FreeBSD]. Доступны следующие "
+"параметры ядра. Первый необходим для включения ALTQ. Хотя бы один из "
+"остальных параметров требуется для указания алгоритма планирования очередей:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/firewalls/_index.adoc:1032
@@ -2811,8 +2806,8 @@ msgid ""
"~hzhang/HFSC/main.html]."
msgstr ""
"Иерархический планировщик пакетов с гарантированной справедливой кривой "
-"обслуживания (HFSC) описан на http://www-2.cs.cmu.edu/\\~hzhang/HFSC/"
-"main.html[http://www-2.cs.cmu.edu/~hzhang/HFSC/main.html]."
+"обслуживания (HFSC) описан на http://www-2.cs.cmu.edu/\\~hzhang/HFSC/main."
+"html[http://www-2.cs.cmu.edu/~hzhang/HFSC/main.html]."
#. type: Labeled list
#: documentation/content/en/books/handbook/firewalls/_index.adoc:1049
@@ -2833,12 +2828,12 @@ msgstr ""
#: documentation/content/en/books/handbook/firewalls/_index.adoc:1053
msgid ""
"More information about the scheduling algorithms and example rulesets are "
-"available at the https://web.archive.org/web/20151109213426/http://"
-"www.openbsd.org/faq/pf/queueing.html[OpenBSD's web archive]."
+"available at the https://web.archive.org/web/20151109213426/http://www."
+"openbsd.org/faq/pf/queueing.html[OpenBSD's web archive]."
msgstr ""
"Дополнительная информация о алгоритмах планирования и примеры наборов правил "
-"доступны на https://web.archive.org/web/20151109213426/http://"
-"www.openbsd.org/faq/pf/queueing.html[архивированной странице OpenBSD]."
+"доступны на https://web.archive.org/web/20151109213426/http://www.openbsd."
+"org/faq/pf/queueing.html[архивированной странице OpenBSD]."
#. type: Title ==
#: documentation/content/en/books/handbook/firewalls/_index.adoc:1055
@@ -2917,8 +2912,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/firewalls/_index.adoc:1074
msgid ""
-"To configure the system to enable IPFW at boot time, add "
-"`firewall_enable=\"YES\"` to [.filename]#/etc/rc.conf#:"
+"To configure the system to enable IPFW at boot time, add `firewall_enable="
+"\"YES\"` to [.filename]#/etc/rc.conf#:"
msgstr ""
"Для настройки системы для включения IPFW при загрузке добавьте "
"`firewall_enable=\"YES\"` в файл [.filename]#/etc/rc.conf#:"
@@ -3020,8 +3015,8 @@ msgstr ""
"Альтернативный способ загрузки пользовательского набора правил — присвойте "
"переменной `firewall_script` значение, равное абсолютному пути к "
"_исполняемому скрипту_, который включает команды IPFW. Примеры, используемые "
-"в этом разделе, предполагают, что `firewall_script` установлен в "
-"[.filename]#/etc/ipfw.rules#:"
+"в этом разделе, предполагают, что `firewall_script` установлен в [."
+"filename]#/etc/ipfw.rules#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/firewalls/_index.adoc:1107
@@ -3050,8 +3045,8 @@ msgid ""
"advisable that the default ruleset is edited for logging. In addition, log "
"rotation may be desired if the logs are stored in a separate file."
msgstr ""
-"В журнал будут записываться только правила межсетевого экрана с опцией "
-"`log`. Правила по умолчанию не включают эту опцию, и её необходимо добавить "
+"В журнал будут записываться только правила межсетевого экрана с опцией `log`"
+". Правила по умолчанию не включают эту опцию, и её необходимо добавить "
"вручную. Поэтому рекомендуется отредактировать набор правил по умолчанию для "
"ведения журнала. Кроме того, может потребоваться ротация журналов, если они "
"сохраняются в отдельный файл."
@@ -3332,11 +3327,11 @@ msgstr ""
"записано в man:syslogd[8] с именем средства `SECURITY`. Запись в журнал "
"происходит только в том случае, если количество пакетов, зарегистрированных "
"для этого конкретного правила, не превышает указанного LOG_AMOUNT. Если "
-"LOG_AMOUNT не указан, лимит берется из значения "
-"`net.inet.ip.fw.verbose_limit`. Значение нуля снимает ограничение на запись "
-"в журнал. Как только лимит достигнут, запись в журнал можно снова включить, "
-"сбросив счетчик журналирования или счетчик пакетов для этого правила с "
-"помощью `ipfw resetlog`."
+"LOG_AMOUNT не указан, лимит берется из значения `net.inet.ip.fw."
+"verbose_limit`. Значение нуля снимает ограничение на запись в журнал. Как "
+"только лимит достигнут, запись в журнал можно снова включить, сбросив "
+"счетчик журналирования или счетчик пакетов для этого правила с помощью `ipfw "
+"resetlog`."
#. type: delimited block = 4
#: documentation/content/en/books/handbook/firewalls/_index.adoc:1226
@@ -4105,8 +4100,8 @@ msgstr ""
msgid ""
"The reassemble rule was not needed with userland man:natd[8] because the "
"internal workings of the IPFW `divert` action already takes care of "
-"reassembling packets before delivery to the socket as also stated in "
-"man:ipfw[8]."
+"reassembling packets before delivery to the socket as also stated in man:"
+"ipfw[8]."
msgstr ""
"Правило пересборки не требовалось при использовании пользовательского демона "
"man:natd[8], поскольку внутренняя работа действия `divert` в man:ipfw[8] уже "
@@ -4117,14 +4112,14 @@ msgstr ""
#: documentation/content/en/books/handbook/firewalls/_index.adoc:1485
msgid ""
"The NAT instance and rule number used in this example does not match with "
-"the default NAT instance and rule number created by "
-"[.filename]#rc.firewall#. [.filename]#rc.firewall# is a script that sets up "
-"the default firewall rules present in FreeBSD."
+"the default NAT instance and rule number created by [.filename]#rc."
+"firewall#. [.filename]#rc.firewall# is a script that sets up the default "
+"firewall rules present in FreeBSD."
msgstr ""
"Экземпляр NAT и номер правила, используемые в этом примере, не совпадают с "
-"экземпляром NAT и номером правила, созданными по умолчанию в "
-"[.filename]#rc.firewall#. [.filename]#rc.firewall# — это скрипт, который "
-"настраивает правила межсетевого экрана по умолчанию в FreeBSD."
+"экземпляром NAT и номером правила, созданными по умолчанию в [.filename]#rc."
+"firewall#. [.filename]#rc.firewall# — это скрипт, который настраивает "
+"правила межсетевого экрана по умолчанию в FreeBSD."
#. type: delimited block . 4
#: documentation/content/en/books/handbook/firewalls/_index.adoc:1495
@@ -4147,15 +4142,15 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/firewalls/_index.adoc:1499
msgid ""
-"The outbound rules are modified to replace the `allow` action with the "
-"`$skip` variable, indicating that rule processing will continue at rule "
-"`1000`. The seven `tcp` rules have been replaced by rule `125` as the "
-"`$good_tcpo` variable contains the seven allowed outbound ports."
+"The outbound rules are modified to replace the `allow` action with the `"
+"$skip` variable, indicating that rule processing will continue at rule "
+"`1000`. The seven `tcp` rules have been replaced by rule `125` as the `"
+"$good_tcpo` variable contains the seven allowed outbound ports."
msgstr ""
"Правила для исходящего трафика изменены, чтобы заменить действие `allow` на "
"переменную `$skip`, указывая, что обработка правил продолжится с правила "
-"`1000`. Семь правил для `tcp` заменены правилом `125`, так как переменная "
-"`$good_tcpo` содержит семь разрешённых исходящих портов."
+"`1000`. Семь правил для `tcp` заменены правилом `125`, так как переменная `"
+"$good_tcpo` содержит семь разрешённых исходящих портов."
#. type: delimited block = 4
#: documentation/content/en/books/handbook/firewalls/_index.adoc:1503
@@ -4283,34 +4278,34 @@ msgid ""
"Transitioning from userland man:natd[8] to in-kernel NAT might appear "
"seamless at first but there is small catch. When using the GENERIC kernel, "
"IPFW will load the [.filename]#libalias.ko# kernel module, when "
-"`firewall_nat_enable` is enabled in [.filename]#/etc/rc.conf#. The "
-"[.filename]#libalias.ko# kernel module only provides basic NAT "
-"functionality, whereas the userland implementation man:natd[8] has all NAT "
-"functionality available in its userland library without any extra "
-"configuration. All functionality refers to the following kernel modules "
-"that can additionally be loaded when needed besides the standard "
-"[.filename]#libalias.ko# kernel module: [.filename]#alias_ftp.ko#, "
-"[.filename]#alias_bbt.ko#, [.filename]#skinny.ko#, [.filename]#irc.ko#, "
-"[.filename]#alias_pptp.ko# and [.filename]#alias_smedia.ko# using the "
-"`kld_list` directive in [.filename]#/etc/rc.conf#. If a custom kernel is "
-"used, the full functionality of the userland library can be compiled in, in "
-"the kernel, using the `options LIBALIAS`."
+"`firewall_nat_enable` is enabled in [.filename]#/etc/rc.conf#. The [."
+"filename]#libalias.ko# kernel module only provides basic NAT functionality, "
+"whereas the userland implementation man:natd[8] has all NAT functionality "
+"available in its userland library without any extra configuration. All "
+"functionality refers to the following kernel modules that can additionally "
+"be loaded when needed besides the standard [.filename]#libalias.ko# kernel "
+"module: [.filename]#alias_ftp.ko#, [.filename]#alias_bbt.ko#, [."
+"filename]#skinny.ko#, [.filename]#irc.ko#, [.filename]#alias_pptp.ko# and [."
+"filename]#alias_smedia.ko# using the `kld_list` directive in [.filename]#/"
+"etc/rc.conf#. If a custom kernel is used, the full functionality of the "
+"userland library can be compiled in, in the kernel, using the `options "
+"LIBALIAS`."
msgstr ""
"Переход от пользовательской реализации man:natd[8] к NAT в ядре может "
"сначала показаться простым, но есть небольшой нюанс. При использовании "
-"GENERIC ядра IPFW загрузит модуль ядра [.filename]#libalias.ko#, когда в "
-"[.filename]#/etc/rc.conf# включена опция `firewall_nat_enable`. Модуль ядра "
-"[.filename]#libalias.ko# предоставляет только базовую функциональность NAT, "
-"в то время как пользовательская реализация man:natd[8] имеет все функции NAT "
-"в своей пользовательской библиотеке без дополнительной настройки. Под всей "
+"GENERIC ядра IPFW загрузит модуль ядра [.filename]#libalias.ko#, когда в [."
+"filename]#/etc/rc.conf# включена опция `firewall_nat_enable`. Модуль ядра [."
+"filename]#libalias.ko# предоставляет только базовую функциональность NAT, в "
+"то время как пользовательская реализация man:natd[8] имеет все функции NAT в "
+"своей пользовательской библиотеке без дополнительной настройки. Под всей "
"функциональностью подразумеваются следующие модули ядра, которые могут быть "
-"дополнительно загружены при необходимости, помимо стандартного модуля "
-"[.filename]#libalias.ko#: [.filename]#alias_ftp.ko#, "
-"[.filename]#alias_bbt.ko#, [.filename]#skinny.ko#, [.filename]#irc.ko#, "
-"[.filename]#alias_pptp.ko# и [.filename]#alias_smedia.ko# с использованием "
-"директивы `kld_list` в [.filename]#/etc/rc.conf#. Если используется "
-"собственное ядро, полная функциональность пользовательской библиотеки может "
-"быть встроена в ядро с помощью опции `options LIBALIAS`."
+"дополнительно загружены при необходимости, помимо стандартного модуля [."
+"filename]#libalias.ko#: [.filename]#alias_ftp.ko#, [.filename]#alias_bbt."
+"ko#, [.filename]#skinny.ko#, [.filename]#irc.ko#, [.filename]#alias_pptp.ko# "
+"и [.filename]#alias_smedia.ko# с использованием директивы `kld_list` в [."
+"filename]#/etc/rc.conf#. Если используется собственное ядро, полная "
+"функциональность пользовательской библиотеки может быть встроена в ядро с "
+"помощью опции `options LIBALIAS`."
#. type: Title ====
#: documentation/content/en/books/handbook/firewalls/_index.adoc:1554
@@ -4514,15 +4509,14 @@ msgstr "Пользовательский NAT"
#. type: Plain text
#: documentation/content/en/books/handbook/firewalls/_index.adoc:1627
msgid ""
-"Let us start with a statement: the userspace NAT implementation: "
-"man:natd[8], has more overhead than in-kernel NAT. For man:natd[8] to "
-"translate packets, the packets have to be copied from the kernel to "
-"userspace and back which brings in extra overhead that is not present with "
-"in-kernel NAT."
+"Let us start with a statement: the userspace NAT implementation: man:"
+"natd[8], has more overhead than in-kernel NAT. For man:natd[8] to translate "
+"packets, the packets have to be copied from the kernel to userspace and back "
+"which brings in extra overhead that is not present with in-kernel NAT."
msgstr ""
-"Начнем с утверждения: реализация NAT в пользовательском пространстве: "
-"man:natd[8], имеет больше накладных расходов, чем NAT в ядре. Для работы "
-"man:natd[8] по преобразованию пакетов, пакеты должны копироваться из ядра в "
+"Начнем с утверждения: реализация NAT в пользовательском пространстве: man:"
+"natd[8], имеет больше накладных расходов, чем NAT в ядре. Для работы man:"
+"natd[8] по преобразованию пакетов, пакеты должны копироваться из ядра в "
"пользовательское пространство и обратно, что создает дополнительные "
"накладные расходы, отсутствующие при использовании NAT в ядре."
@@ -4536,11 +4530,11 @@ msgid ""
"address is used and configure itself to handle that."
msgstr ""
"Для включения демона NAT в пользовательском пространстве man:natd[8] при "
-"загрузке, следующая минимальная конфигурация должна быть добавлена в "
-"[.filename]#/etc/rc.conf#. Параметр `natd_interface` должен быть установлен "
-"равным имени сетевого интерфейса, подключенного к Интернету. Скрипт "
-"man:rc[8] для man:natd[8] автоматически проверит, используется ли "
-"динамический IP-адрес, и настроит себя соответствующим образом."
+"загрузке, следующая минимальная конфигурация должна быть добавлена в [."
+"filename]#/etc/rc.conf#. Параметр `natd_interface` должен быть установлен "
+"равным имени сетевого интерфейса, подключенного к Интернету. Скрипт man:"
+"rc[8] для man:natd[8] автоматически проверит, используется ли динамический "
+"IP-адрес, и настроит себя соответствующим образом."
#. type: delimited block . 4
#: documentation/content/en/books/handbook/firewalls/_index.adoc:1637
@@ -4826,9 +4820,8 @@ msgid ""
"All logged packets messages are written by default to [.filename]#/var/log/"
"security#, which is defined in [.filename]#/etc/syslog.conf#."
msgstr ""
-"Все сообщения о зарегистрированных пакетах по умолчанию записываются в "
-"[.filename]#/var/log/security#, что определено в [.filename]#/etc/"
-"syslog.conf#."
+"Все сообщения о зарегистрированных пакетах по умолчанию записываются в [."
+"filename]#/var/log/security#, что определено в [.filename]#/etc/syslog.conf#."
#. type: Title ====
#: documentation/content/en/books/handbook/firewalls/_index.adoc:1758
@@ -4859,10 +4852,10 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/firewalls/_index.adoc:1769
msgid ""
-"This example script is compatible with the syntax used by the man:sh[1], "
-"man:csh[1], and man:tcsh[1] shells. Symbolic substitution fields are "
-"prefixed with a dollar sign ($). Symbolic fields do not have the $ prefix. "
-"The value to populate the symbolic field must be enclosed in double quotes "
+"This example script is compatible with the syntax used by the man:sh[1], man:"
+"csh[1], and man:tcsh[1] shells. Symbolic substitution fields are prefixed "
+"with a dollar sign ($). Symbolic fields do not have the $ prefix. The "
+"value to populate the symbolic field must be enclosed in double quotes "
"(\"\")."
msgstr ""
"Синтаксис примера, приведенного ниже, совместим с синтаксисом, используемым "
@@ -5073,10 +5066,9 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/firewalls/_index.adoc:1853
msgid ""
-"The IPF FAQ is at http://www.phildev.net/ipf/index.html[http://"
-"www.phildev.net/ipf/index.html]. A searchable archive of the IPFilter "
-"mailing list is available at http://marc.info/?l=ipfilter[http://marc.info/?"
-"l=ipfilter]."
+"The IPF FAQ is at http://www.phildev.net/ipf/index.html[http://www.phildev."
+"net/ipf/index.html]. A searchable archive of the IPFilter mailing list is "
+"available at http://marc.info/?l=ipfilter[http://marc.info/?l=ipfilter]."
msgstr ""
"Часто задаваемые вопросы по IPF находятся на сайте http://www.phildev.net/"
"ipf/index.html[http://www.phildev.net/ipf/index.html]. Доступен поисковый "
@@ -5115,9 +5107,9 @@ msgid ""
"the FreeBSD Kernel]. The following kernel options are available:"
msgstr ""
"Для пользователей, которые предпочитают статически компилировать поддержку "
-"IPF в пользовательское ядро, обратитесь к инструкциям в "
-"crossref:kernelconfig[kernelconfig,Настройка ядра FreeBSD]. Доступны "
-"следующие параметры ядра:"
+"IPF в пользовательское ядро, обратитесь к инструкциям в crossref:"
+"kernelconfig[kernelconfig,Настройка ядра FreeBSD]. Доступны следующие "
+"параметры ядра:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/firewalls/_index.adoc:1870
@@ -5144,12 +5136,12 @@ msgid ""
"matching a firewall `pass` rule gets blocked."
msgstr ""
"где `options IPFILTER` включает поддержку IPFILTER, `options IPFILTER_LOG` "
-"включает журналирование IPF с использованием псевдоустройства "
-"[.filename]#ipl# для записи пакетов для каждого правила, содержащего "
-"ключевое слово `log`, `IPFILTER_LOOKUP` включает пулы IP для ускорения "
-"поиска IP, а `options IPFILTER_DEFAULT_BLOCK` изменяет поведение по "
-"умолчанию так, что любой пакет, не соответствующий правилу `pass` "
-"межсетевого экрана, блокируется."
+"включает журналирование IPF с использованием псевдоустройства [."
+"filename]#ipl# для записи пакетов для каждого правила, содержащего ключевое "
+"слово `log`, `IPFILTER_LOOKUP` включает пулы IP для ускорения поиска IP, а `"
+"options IPFILTER_DEFAULT_BLOCK` изменяет поведение по умолчанию так, что "
+"любой пакет, не соответствующий правилу `pass` межсетевого экрана, "
+"блокируется."
#. type: Plain text
#: documentation/content/en/books/handbook/firewalls/_index.adoc:1877
@@ -5162,8 +5154,8 @@ msgid ""
msgstr ""
"Для настройки системы на включение IPF при загрузке добавьте следующие "
"записи в [.filename]#/etc/rc.conf#. Эти записи также включат журналирование "
-"и политику `default pass all`. Чтобы изменить политику по умолчанию на "
-"`block all` без компиляции пользовательского ядра, не забудьте добавить "
+"и политику `default pass all`. Чтобы изменить политику по умолчанию на `"
+"block all` без компиляции пользовательского ядра, не забудьте добавить "
"правило `block all` в конец набора правил."
#. type: delimited block . 4
@@ -5470,12 +5462,12 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/firewalls/_index.adoc:1982
msgid ""
-"`on`: must be followed by the interface name as displayed by "
-"man:ifconfig[8]. The rule will only match if the packet is going through "
-"the specified interface in the specified direction."
+"`on`: must be followed by the interface name as displayed by man:"
+"ifconfig[8]. The rule will only match if the packet is going through the "
+"specified interface in the specified direction."
msgstr ""
-"`on`: должен сопровождаться именем интерфейса, как отображается в "
-"man:ifconfig[8]. Правило будет применяться только в том случае, если пакет "
+"`on`: должен сопровождаться именем интерфейса, как отображается в man:"
+"ifconfig[8]. Правило будет применяться только в том случае, если пакет "
"проходит через указанный интерфейс в указанном направлении."
#. type: Plain text
@@ -5571,10 +5563,10 @@ msgid ""
"utility's web page: http://jodies.de/ipcalc[http://jodies.de/ipcalc]."
msgstr ""
"Единственный способ задать диапазоны IP-адресов, это представить их в "
-"нотации — числа, разделенные точками / длина маски. Пакет или порт "
-"package:net-mgmt/ipcalc[] может быть использован для упрощения расчета маски "
-"CIDR. Дополнительная информация доступна на веб-странице утилиты: http://"
-"jodies.de/ipcalc[http://jodies.de/ipcalc]."
+"нотации — числа, разделенные точками / длина маски. Пакет или порт package:"
+"net-mgmt/ipcalc[] может быть использован для упрощения расчета маски CIDR. "
+"Дополнительная информация доступна на веб-странице утилиты: http://jodies.de/"
+"ipcalc[http://jodies.de/ipcalc]."
#. type: Plain text
#: documentation/content/en/books/handbook/firewalls/_index.adoc:2012
@@ -5748,10 +5740,10 @@ msgid ""
"`127.0.0.1` for internal communication. The firewall ruleset must contain "
"rules to allow free movement of these internally used packets:"
msgstr ""
-"FreeBSD использует loopback-интерфейс (интерфейс обратной петли) "
-"([.filename]#lo0#) и IP-адрес `127.0.0.1` для внутреннего взаимодействия. "
-"Набор правил межсетевого экрана должен включать правила, разрешающие "
-"свободное перемещение этих внутренних пакетов:"
+"FreeBSD использует loopback-интерфейс (интерфейс обратной петли) ([."
+"filename]#lo0#) и IP-адрес `127.0.0.1` для внутреннего взаимодействия. Набор "
+"правил межсетевого экрана должен включать правила, разрешающие свободное "
+"перемещение этих внутренних пакетов:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/firewalls/_index.adoc:2061
@@ -6609,8 +6601,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/firewalls/_index.adoc:2382
msgid ""
-"To display the state table in a format similar to man:top[1], use `ipfstat "
-"-t`. When the firewall is under attack, this option provides the ability to "
+"To display the state table in a format similar to man:top[1], use `ipfstat -"
+"t`. When the firewall is under attack, this option provides the ability to "
"identify and see the attacking packets. The optional sub-flags give the "
"ability to select the destination or source IP, port, or protocol to be "
"monitored in real time. Refer to man:ipfstat[8] for details."
@@ -6732,8 +6724,8 @@ msgid ""
"In order to setup IPF to log all data to [.filename]#/var/log/ipfilter.log#, "
"first create the empty file:"
msgstr ""
-"Чтобы настроить IPF для записи всех данных в [.filename]#/var/log/"
-"ipfilter.log#, сначала создайте пустой файл:"
+"Чтобы настроить IPF для записи всех данных в [.filename]#/var/log/ipfilter."
+"log#, сначала создайте пустой файл:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/firewalls/_index.adoc:2423
@@ -6759,8 +6751,8 @@ msgstr "local0.* /var/log/ipfilter.log\n"
#. type: Plain text
#: documentation/content/en/books/handbook/firewalls/_index.adoc:2433
msgid ""
-"To activate the changes and instruct man:syslogd[8] to read the modified "
-"[.filename]#/etc/syslog.conf#, run `service syslogd reload`."
+"To activate the changes and instruct man:syslogd[8] to read the modified [."
+"filename]#/etc/syslog.conf#, run `service syslogd reload`."
msgstr ""
"Для активации изменений и указания man:syslogd[8] прочитать изменённый файл "
"[.filename]#/etc/syslog.conf#, выполните команду `service syslogd reload`."
@@ -7148,9 +7140,9 @@ msgstr "22 stream tcp * */24 3 24h\n"
#. type: delimited block = 4
#: documentation/content/en/books/handbook/firewalls/_index.adoc:2568
msgid ""
-"It is important to specify the proper protocol here. IPv4 and IPv6 treat /"
-"24 differently, that is the reason why `*` cannot be used in the third field "
-"for this rule."
+"It is important to specify the proper protocol here. IPv4 and IPv6 "
+"treat /24 differently, that is the reason why `*` cannot be used in the "
+"third field for this rule."
msgstr ""
"Здесь важно указать правильный протокол. IPv4 и IPv6 обрабатывают /24 по-"
"разному, поэтому `*` нельзя использовать в третьем поле для этого правила."
@@ -7310,10 +7302,10 @@ msgid ""
"daemon, add the following line to [.filename]#/etc/ssh/sshd_config#:"
msgstr ""
"В FreeBSD есть несколько программных пакетов, которые могут использовать "
-"функциональность blacklistd. Два наиболее заметных — это man:ftpd[8] и "
-"man:sshd[8], предназначенные для блокировки чрезмерных попыток подключения. "
-"Чтобы активировать blacklistd в демоне SSH, добавьте следующую строку в "
-"[.filename]#/etc/ssh/sshd_config#:"
+"функциональность blacklistd. Два наиболее заметных — это man:ftpd[8] и man:"
+"sshd[8], предназначенные для блокировки чрезмерных попыток подключения. "
+"Чтобы активировать blacklistd в демоне SSH, добавьте следующую строку в [."
+"filename]#/etc/ssh/sshd_config#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/firewalls/_index.adoc:2621
@@ -7357,16 +7349,16 @@ msgstr "Управление blacklistd"
#. type: Plain text
#: documentation/content/en/books/handbook/firewalls/_index.adoc:2639
msgid ""
-"Blacklistd provides the user with a management utility called "
-"man:blacklistctl[8]. It displays blocked addresses and networks that are "
+"Blacklistd provides the user with a management utility called man:"
+"blacklistctl[8]. It displays blocked addresses and networks that are "
"blocklisted by the rules defined in man:blacklistd.conf[5]. To see the list "
"of currently blocked hosts, use `dump` combined with `-b` like this."
msgstr ""
-"Blacklistd предоставляет пользователю утилиту управления под названием "
-"man:blacklistctl[8]. Она отображает заблокированные адреса и сети, которые "
-"внесены в список блокировки согласно правилам, определённым в "
-"man:blacklistd.conf[5]. Чтобы просмотреть список текущих заблокированных "
-"хостов, используйте команду `dump` с параметром `-b`, например."
+"Blacklistd предоставляет пользователю утилиту управления под названием man:"
+"blacklistctl[8]. Она отображает заблокированные адреса и сети, которые "
+"внесены в список блокировки согласно правилам, определённым в man:blacklistd."
+"conf[5]. Чтобы просмотреть список текущих заблокированных хостов, "
+"используйте команду `dump` с параметром `-b`, например."
#. type: delimited block . 4
#: documentation/content/en/books/handbook/firewalls/_index.adoc:2645
diff --git a/documentation/content/ru/books/handbook/geom/_index.adoc b/documentation/content/ru/books/handbook/geom/_index.adoc
index 2ca21627fa..90c3084977 100644
--- a/documentation/content/ru/books/handbook/geom/_index.adoc
+++ b/documentation/content/ru/books/handbook/geom/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/geom/
part: 'Часть III. Администрирование системы'
prev: books/handbook/disks
-showBookMenu: true
+showBookMenu: 'true'
tags: ["GEOM", "RAID", "RAID0", "RAID1", "RAID3", "Striping", "bsdlabel", "newfs", "labelling", "UFS", "journaling"]
title: 'Глава 21. GEOM: Модульная инфраструктура трансформации дискового пространства'
weight: 25
@@ -88,7 +88,7 @@ RAID0 _не_ обеспечивает избыточности. Это озна
[.procedure]
****
-*Procedure: Creating a Stripe of Unformatted ATA Disks*
+*Процедура: Создание последовательности неформатированных ATA-дисков*
. Загрузите модуль [.filename]#geom_stripe.ko#:
+
@@ -764,7 +764,7 @@ raid/r0 OPTIMAL ada0 (ACTIVE (ACTIVE))
[[geom-graid-volumes]]
=== Несколько томов
-Некоторые устройства программного RAID поддерживают более одного _тома_ в массиве. Томы работают подобно разделам, позволяя разделять пространство на физических дисках и использовать его различными способами. Например, устройства программного RAID от Intel поддерживают два тома. В этом примере создаётся зеркало размером 40 ГБ для безопасного хранения операционной системы, а затем том RAID0 (чередующийся) размером 20 ГБ для быстрого временного хранения:
+Некоторые устройства программного RAID поддерживают более одного _тома_ в массиве. Тома работают подобно разделам, позволяя разделять пространство на физических дисках и использовать его различными способами. Например, устройства программного RAID от Intel поддерживают два тома. В этом примере создаётся зеркало размером 40 ГБ для безопасного хранения операционной системы, а затем том RAID0 (чередующийся) размером 20 ГБ для быстрого временного хранения:
[source, shell]
....
diff --git a/documentation/content/ru/books/handbook/geom/_index.po b/documentation/content/ru/books/handbook/geom/_index.po
index 5ce0f29a52..88d847c35b 100644
--- a/documentation/content/ru/books/handbook/geom/_index.po
+++ b/documentation/content/ru/books/handbook/geom/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
-"PO-Revision-Date: 2025-09-26 04:45+0000\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
+"PO-Revision-Date: 2025-10-29 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/bookshandbookgeom_index/ru/>\n"
@@ -18,23 +18,27 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/geom/_index.adoc:1
#, no-wrap
msgid "In FreeBSD, the GEOM framework permits access and control to classes, such as Master Boot Records and BSD labels, through the use of providers, or the disk devices in /dev."
-msgstr "В FreeBSD инфраструктура GEOM предоставляет доступ и управление классами, такими как главная загрузочная запись (MBR) и метки BSD, через использование провайдеров или устройств дисков в `/dev`."
+msgstr ""
+"В FreeBSD инфраструктура GEOM предоставляет доступ и управление классами, "
+"такими как главная загрузочная запись (MBR) и метки BSD, через использование "
+"провайдеров или устройств дисков в `/dev`."
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/geom/_index.adoc:1
#, no-wrap
msgid "Part III. System Administration"
msgstr "Часть III. Администрирование системы"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/geom/_index.adoc:1
#, no-wrap
msgid "Chapter 21. GEOM: Modular Disk Transformation Framework"
-msgstr "Глава 21. GEOM: Модульная инфраструктура трансформации дискового пространства"
+msgstr ""
+"Глава 21. GEOM: Модульная инфраструктура трансформации дискового пространства"
#. type: Title =
#: documentation/content/en/books/handbook/geom/_index.adoc:15
@@ -129,8 +133,8 @@ msgid ""
"Know how to configure and install a new kernel "
"(crossref:kernelconfig[kernelconfig,Configuring the FreeBSD Kernel])."
msgstr ""
-"Знать, как настроить и установить новый ядро "
-"(crossref:kernelconfig[kernelconfig,Настройка ядра FreeBSD])."
+"Знать, как настроить и установить новый ядро (crossref:kernelconfig["
+"kernelconfig,Настройка ядра FreeBSD])."
#. type: Title ==
#: documentation/content/en/books/handbook/geom/_index.adoc:75
@@ -218,11 +222,9 @@ msgstr ""
#. type: delimited block * 4
#: documentation/content/en/books/handbook/geom/_index.adoc:102
-#, fuzzy
-#| msgid "*Procedure: Creating a Stripe of Unformatted ATA Disks*\n"
-msgid "*Procedure: Creating a Stripe of Unformatted ATA Disks*"
-msgstr ""
-"*Процедура: Создание последовательности неформатированных ATA-дисков*\n"
+#, no-wrap
+msgid "*Procedure: Creating a Stripe of Unformatted ATA Disks*\n"
+msgstr "*Процедура: Создание последовательности неформатированных ATA-дисков*\n"
#. type: delimited block * 4
#: documentation/content/en/books/handbook/geom/_index.adoc:104
@@ -257,8 +259,8 @@ msgstr ""
"Определите имена устройств для дисков, которые будут объединены в дисковую "
"последовательность, и создайте новое устройство для последовательности. "
"Например, для объединения в последовательность двух неиспользуемых и "
-"неразмеченных ATA-дисков с именами устройств [.filename]#/dev/ad2# и "
-"[.filename]#/dev/ad3#:"
+"неразмеченных ATA-дисков с именами устройств [.filename]#/dev/ad2# и [."
+"filename]#/dev/ad3#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/geom/_index.adoc:119
@@ -474,8 +476,8 @@ msgid ""
"primary and backup GPT partition tables from disk [.filename]#ada8#:"
msgstr ""
"Метаданные GPT можно удалить с помощью man:gpart[8]. В этом примере "
-"удаляются как основная, так и резервная таблицы разделов GPT с диска "
-"[.filename]#ada8#:"
+"удаляются как основная, так и резервная таблицы разделов GPT с диска [."
+"filename]#ada8#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/geom/_index.adoc:204
@@ -585,8 +587,8 @@ msgid ""
"dev/mirror/#."
msgstr ""
"[.filename]#gm0# — это выбранное пользователем имя устройства, назначенное "
-"новому зеркалу. После запуска зеркала это имя устройства появляется в "
-"[.filename]#/dev/mirror/#."
+"новому зеркалу. После запуска зеркала это имя устройства появляется в [."
+"filename]#/dev/mirror/#."
#. type: Plain text
#: documentation/content/en/books/handbook/geom/_index.adoc:253
@@ -599,9 +601,9 @@ msgid ""
msgstr ""
"Теперь таблицы разделов MBR и bsdlabel можно создавать на зеркале с помощью "
"man:gpart[8]. В этом примере используется традиционная структура файловой "
-"системы с разделами для [.filename]#/#, swap, [.filename]#/var#, "
-"[.filename]#/tmp# и [.filename]#/usr#. Также подойдёт одиночный раздел "
-"[.filename]#/# и раздел подкачки."
+"системы с разделами для [.filename]#/#, swap, [.filename]#/var#, [."
+"filename]#/tmp# и [.filename]#/usr#. Также подойдёт одиночный раздел [."
+"filename]#/# и раздел подкачки."
#. type: Plain text
#: documentation/content/en/books/handbook/geom/_index.adoc:255
@@ -777,8 +779,8 @@ msgid ""
"kernel, [.filename]#/mnt/boot/loader.conf# is edited to load the module at "
"boot:"
msgstr ""
-"Если модуль ядра [.filename]#geom_mirror.ko# не встроен в ядро, файл "
-"[.filename]#/mnt/boot/loader.conf# редактируется для загрузки модуля при "
+"Если модуль ядра [.filename]#geom_mirror.ko# не встроен в ядро, файл [."
+"filename]#/mnt/boot/loader.conf# редактируется для загрузки модуля при "
"старте системы:"
#. type: delimited block . 4
@@ -889,8 +891,8 @@ msgstr ""
"а служит только для ограничения размера зеркала. Когда man:gmirror[8] "
"создает зеркало, он ограничит объем до размера [.filename]#gzero.nop#, даже "
"если новый диск [.filename]#ada1# имеет больше места. Обратите внимание, что "
-"число _1000204821504_ во второй строке соответствует размеру носителя "
-"[.filename]#ada0#, показанному командой `diskinfo` выше."
+"число _1000204821504_ во второй строке соответствует размеру носителя [."
+"filename]#ada0#, показанному командой `diskinfo` выше."
#. type: delimited block . 4
#: documentation/content/en/books/handbook/geom/_index.adoc:384
@@ -927,8 +929,8 @@ msgid ""
"unallocated space at the end of the drive, the contents may be copied "
"directly from [.filename]#ada0# to the new mirror."
msgstr ""
-"После создания [.filename]#gm0# просмотрите таблицу разделов на "
-"[.filename]#ada0#. Этот вывод сделан для диска объемом 1 ТБ. Если в конце "
+"После создания [.filename]#gm0# просмотрите таблицу разделов на [."
+"filename]#ada0#. Этот вывод сделан для диска объемом 1 ТБ. Если в конце "
"диска осталось нераспределенное пространство, содержимое можно скопировать "
"напрямую с [.filename]#ada0# на новое зеркало."
@@ -990,8 +992,8 @@ msgid ""
"These commands create two files, [.filename]#table.ada0# and "
"[.filename]#table.ada0s1#. This example is from a 1 TB drive:"
msgstr ""
-"Эти команды создают два файла, [.filename]#table.ada0# и "
-"[.filename]#table.ada0s1#. Этот пример приведен для диска объемом 1 ТБ:"
+"Эти команды создают два файла, [.filename]#table.ada0# и [.filename]#table."
+"ada0s1#. Этот пример приведен для диска объемом 1 ТБ:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/geom/_index.adoc:422
@@ -1106,10 +1108,11 @@ msgid ""
"var#, [.filename]#gm0s1e# for [.filename]#/usr#, [.filename]#gm0s1f# for "
"[.filename]#/data1#, and [.filename]#gm0s1g# for [.filename]#/data2#."
msgstr ""
-"Проверьте таблицу разделов с помощью `gpart show`. В этом примере "
-"[.filename]#gm0s1a# для [.filename]#/#, [.filename]#gm0s1d# для [.filename]#/"
-"var#, [.filename]#gm0s1e# для [.filename]#/usr#, [.filename]#gm0s1f# для "
-"[.filename]#/data1# и [.filename]#gm0s1g# для [.filename]#/data2#."
+"Проверьте таблицу разделов с помощью `gpart show`. В этом примере [."
+"filename]#gm0s1a# для [.filename]#/#, [.filename]#gm0s1d# для [."
+"filename]#/var#, [.filename]#gm0s1e# для [.filename]#/usr#, [."
+"filename]#gm0s1f# для [.filename]#/data1# и [.filename]#gm0s1g# для [."
+"filename]#/data2#."
#. type: delimited block . 4
#: documentation/content/en/books/handbook/geom/_index.adoc:478
@@ -1190,8 +1193,8 @@ msgid ""
"Back up this file first by copying it to [.filename]#/etc/fstab.orig#."
msgstr ""
"Настройте [.filename]#/etc/fstab# для использования новых разделов на "
-"зеркале. Сначала создайте резервную копию этого файла, скопировав его в "
-"[.filename]#/etc/fstab.orig#."
+"зеркале. Сначала создайте резервную копию этого файла, скопировав его в [."
+"filename]#/etc/fstab.orig#."
#. type: delimited block . 4
#: documentation/content/en/books/handbook/geom/_index.adoc:519
@@ -1296,8 +1299,8 @@ msgid ""
"At this point, the mirror still consists of only the single "
"[.filename]#ada1# disk."
msgstr ""
-"На этом этапе зеркало всё ещё состоит только из одного диска "
-"[.filename]#ada1#."
+"На этом этапе зеркало всё ещё состоит только из одного диска [."
+"filename]#ada1#."
#. type: Plain text
#: documentation/content/en/books/handbook/geom/_index.adoc:565
@@ -1320,11 +1323,11 @@ msgid ""
"on [.filename]#ada0#, reboot, and start the whole procedure again."
msgstr ""
"Когда диск [.filename]#ada0# добавляется в зеркало, его прежнее содержимое "
-"будет перезаписано данными из зеркала. Убедитесь, что [.filename]#mirror/"
-"gm0# имеет такое же содержимое, как [.filename]#ada0#, перед добавлением "
-"[.filename]#ada0# в зеркало. Если данные, ранее скопированные с помощью "
-"man:dump[8] и man:restore[8], не идентичны тому, что было на "
-"[.filename]#ada0#, верните [.filename]#/etc/fstab# к монтированию файловых "
+"будет перезаписано данными из зеркала. Убедитесь, что [.filename]#mirror/gm0#"
+" имеет такое же содержимое, как [.filename]#ada0#, перед добавлением [."
+"filename]#ada0# в зеркало. Если данные, ранее скопированные с помощью "
+"man:dump[8] и man:restore[8], не идентичны тому, что было на [."
+"filename]#ada0#, верните [.filename]#/etc/fstab# к монтированию файловых "
"систем на [.filename]#ada0#, перезагрузите систему и начните всю процедуру "
"заново."
@@ -1390,10 +1393,10 @@ msgid ""
"other. In use, [.filename]#mirror/gm0# will behave just like the original "
"single drive."
msgstr ""
-"[.filename]#mirror/gm0# теперь состоит из двух дисков [.filename]#ada0# и "
-"[.filename]#ada1#, и их содержимое автоматически синхронизируется между "
-"собой. При использовании [.filename]#mirror/gm0# будет вести себя так же, "
-"как исходный одиночный диск."
+"[.filename]#mirror/gm0# теперь состоит из двух дисков [.filename]#ada0# и [."
+"filename]#ada1#, и их содержимое автоматически синхронизируется между собой. "
+"При использовании [.filename]#mirror/gm0# будет вести себя так же, как "
+"исходный одиночный диск."
#. type: Title ===
#: documentation/content/en/books/handbook/geom/_index.adoc:605
@@ -1494,11 +1497,11 @@ msgid ""
"installation media and choose `Shell` at the first prompt. Then load the "
"mirror module and mount the mirror device:"
msgstr ""
-"Проблема может быть вызвана тем, что забыли загрузить модуль "
-"[.filename]#geom_mirror.ko# , не добавив его в [.filename]#/boot/"
-"loader.conf#. Чтобы исправить её, загрузитесь с установочного носителя "
-"FreeBSD и выберите `Shell` при первом запросе. Затем загрузите модуль mirror "
-"и смонтируйте зеркальное устройство:"
+"Проблема может быть вызвана тем, что забыли загрузить модуль [."
+"filename]#geom_mirror.ko# , не добавив его в [.filename]#/boot/loader.conf#. "
+"Чтобы исправить её, загрузитесь с установочного носителя FreeBSD и выберите "
+"`Shell` при первом запросе. Затем загрузите модуль mirror и смонтируйте "
+"зеркальное устройство:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/geom/_index.adoc:645
@@ -1538,10 +1541,10 @@ msgstr ""
"Другие проблемы, вызывающие `ошибку 19`, требуют больше усилий для "
"исправления. Хотя система должна загружаться с [.filename]#ada0#, появится "
"ещё один запрос на выбор оболочки, если [.filename]#/etc/fstab# указан "
-"неверно. Введите `ufs:/dev/ada0s1a` в строке загрузчика и нажмите kbd:"
-"[Enter]. Отмените изменения в [.filename]#/etc/fstab#, затем смонтируйте "
-"файловые системы с исходного диска ([.filename]#ada0#) вместо зеркала. "
-"Перезагрузите систему и повторите процедуру снова."
+"неверно. Введите `ufs:/dev/ada0s1a` в строке загрузчика и нажмите kbd:[Enter]"
+". Отмените изменения в [.filename]#/etc/fstab#, затем смонтируйте файловые "
+"системы с исходного диска ([.filename]#ada0#) вместо зеркала. Перезагрузите "
+"систему и повторите процедуру снова."
#. type: delimited block . 4
#: documentation/content/en/books/handbook/geom/_index.adoc:667
@@ -1570,9 +1573,9 @@ msgid ""
"from the remaining working drive, [.filename]#ada1#."
msgstr ""
"Преимущество зеркалирования дисков заключается в том, что при отказе одного "
-"диска зеркало не теряет данных. В приведённом примере, если "
-"[.filename]#ada0# выйдет из строя, зеркало продолжит работать, предоставляя "
-"данные с оставшегося рабочего диска [.filename]#ada1#."
+"диска зеркало не теряет данных. В приведённом примере, если [.filename]#ada0#"
+" выйдет из строя, зеркало продолжит работать, предоставляя данные с "
+"оставшегося рабочего диска [.filename]#ada1#."
#. type: Plain text
#: documentation/content/en/books/handbook/geom/_index.adoc:677
@@ -1732,7 +1735,7 @@ msgstr ""
"В FreeBSD поддержка RAID3 реализована классом GEOM man:graid3[8]. Создание "
"выделенного массива RAID3 в FreeBSD требует выполнения следующих шагов."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/handbook/geom/_index.adoc:730
msgid ""
"First, load the [.filename]#geom_raid3.ko# kernel module by issuing one of "
@@ -1785,8 +1788,8 @@ msgstr ""
"Определите имена устройств для дисков, которые будут добавлены в массив, и "
"создайте новое устройство RAID3. Последнее указанное устройство будет "
"использоваться в качестве выделенного диска четности. В этом примере "
-"используются три неразделенных ATA-диска: [.filename]#ada1# и "
-"[.filename]#ada2# для данных, а [.filename]#ada3# для четности."
+"используются три неразделенных ATA-диска: [.filename]#ada1# и [."
+"filename]#ada2# для данных, а [.filename]#ada3# для четности."
#. type: delimited block . 4
#: documentation/content/en/books/handbook/geom/_index.adoc:759
@@ -1855,7 +1858,7 @@ msgstr ""
"Для сохранения данной конфигурации после перезагрузки системы требуется "
"дополнительная настройка."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/handbook/geom/_index.adoc:784
msgid ""
"The [.filename]#geom_raid3.ko# module must be loaded before the array can be "
@@ -1879,9 +1882,9 @@ msgid ""
"order to automatically mount the array's file system during the system boot "
"process:"
msgstr ""
-"Следующую информацию о разделе необходимо добавить в [.filename]#/etc/"
-"fstab#, чтобы автоматически монтировать файловую систему массива во время "
-"загрузки системы:"
+"Следующую информацию о разделе необходимо добавить в [.filename]#/etc/fstab#"
+", чтобы автоматически монтировать файловую систему массива во время загрузки "
+"системы:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/geom/_index.adoc:795
@@ -1908,9 +1911,9 @@ msgstr ""
"Некоторые материнские платы и карты расширения добавляют простые аппаратные "
"компоненты, обычно только ПЗУ, что позволяет компьютеру загружаться с RAID-"
"массива. После загрузки доступ к RAID-массиву обеспечивается программным "
-"обеспечением, работающим на основном процессоре компьютера. Такой "
-"\"аппаратно-ускоренный программный RAID\" создаёт массивы, не зависящие от "
-"конкретной операционной системы и функционирующие ещё до её загрузки."
+"обеспечением, работающим на основном процессоре компьютера. Такой \"аппаратно"
+"-ускоренный программный RAID\" создаёт массивы, не зависящие от конкретной "
+"операционной системы и функционирующие ещё до её загрузки."
#. type: Plain text
#: documentation/content/en/books/handbook/geom/_index.adoc:806
@@ -1961,9 +1964,9 @@ msgid ""
msgstr ""
"`graid label` используется для создания нового массива. В данном примере "
"используется материнская плата с чипсетом Intel software RAID, поэтому "
-"указан формат метаданных Intel. Новый массив получает метку "
-"[.filename]#gm0#, это зеркало (RAID1), и использует диски [.filename]#ada0# "
-"и [.filename]#ada1#."
+"указан формат метаданных Intel. Новый массив получает метку [.filename]#gm0#"
+", это зеркало (RAID1), и использует диски [.filename]#ada0# и [."
+"filename]#ada1#."
#. type: delimited block = 4
#: documentation/content/en/books/handbook/geom/_index.adoc:825
@@ -1992,11 +1995,14 @@ msgstr ""
"# graid label Intel gm0 RAID1 ada0 ada1\n"
"GEOM_RAID: Intel-a29ea104: Array Intel-a29ea104 created.\n"
"GEOM_RAID: Intel-a29ea104: Disk ada0 state changed from NONE to ACTIVE.\n"
-"GEOM_RAID: Intel-a29ea104: Subdisk gm0:0-ada0 state changed from NONE to ACTIVE.\n"
+"GEOM_RAID: Intel-a29ea104: Subdisk gm0:0-ada0 state changed from NONE to "
+"ACTIVE.\n"
"GEOM_RAID: Intel-a29ea104: Disk ada1 state changed from NONE to ACTIVE.\n"
-"GEOM_RAID: Intel-a29ea104: Subdisk gm0:1-ada1 state changed from NONE to ACTIVE.\n"
+"GEOM_RAID: Intel-a29ea104: Subdisk gm0:1-ada1 state changed from NONE to "
+"ACTIVE.\n"
"GEOM_RAID: Intel-a29ea104: Array started.\n"
-"GEOM_RAID: Intel-a29ea104: Volume gm0 state changed from STARTING to OPTIMAL.\n"
+"GEOM_RAID: Intel-a29ea104: Volume gm0 state changed from STARTING to OPTIMAL."
+"\n"
"Intel-a29ea104 created\n"
"GEOM_RAID: Intel-a29ea104: Provider raid/r0 for volume gm0 created.\n"
@@ -2043,8 +2049,8 @@ msgstr ""
"В меню BIOS на некоторых из этих устройств можно создавать массивы со "
"специальными символами в их именах. Чтобы избежать проблем с этими "
"специальными символами, массивам присваиваются простые числовые имена, "
-"например, [.filename]#r0#. Для отображения фактических меток, таких как "
-"[.filename]#gm0# в примере выше, используйте man:sysctl[8]:"
+"например, [.filename]#r0#. Для отображения фактических меток, таких как [."
+"filename]#gm0# в примере выше, используйте man:sysctl[8]:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/geom/_index.adoc:862
@@ -2069,7 +2075,7 @@ msgid ""
"temporary storage:"
msgstr ""
"Некоторые устройства программного RAID поддерживают более одного _тома_ в "
-"массиве. Томы работают подобно разделам, позволяя разделять пространство на "
+"массиве. Тома работают подобно разделам, позволяя разделять пространство на "
"физических дисках и использовать его различными способами. Например, "
"устройства программного RAID от Intel поддерживают два тома. В этом примере "
"создаётся зеркало размером 40 ГБ для безопасного хранения операционной "
@@ -2093,9 +2099,9 @@ msgid ""
"raid/#. An array with two volumes will show [.filename]#r0# and "
"[.filename]#r1#."
msgstr ""
-"Тома появляются как дополнительные записи [.filename]#rX# в каталоге "
-"[.filename]#/dev/raid/#. Массив с двумя томами будет отображать "
-"[.filename]#r0# и [.filename]#r1#."
+"Тома появляются как дополнительные записи [.filename]#rX# в каталоге [."
+"filename]#/dev/raid/#. Массив с двумя томами будет отображать [.filename]#r0#"
+" и [.filename]#r1#."
#. type: Plain text
#: documentation/content/en/books/handbook/geom/_index.adoc:882
@@ -2232,8 +2238,10 @@ msgid ""
msgstr ""
"# graid insert raid/r0 ada1\n"
"GEOM_RAID: Intel-a29ea104: Disk ada1 state changed from NONE to ACTIVE.\n"
-"GEOM_RAID: Intel-a29ea104: Subdisk gm0:1-ada1 state changed from NONE to NEW.\n"
-"GEOM_RAID: Intel-a29ea104: Subdisk gm0:1-ada1 state changed from NEW to REBUILD.\n"
+"GEOM_RAID: Intel-a29ea104: Subdisk gm0:1-ada1 state changed from NONE to NEW."
+"\n"
+"GEOM_RAID: Intel-a29ea104: Subdisk gm0:1-ada1 state changed from NEW to "
+"REBUILD.\n"
"GEOM_RAID: Intel-a29ea104: Subdisk gm0:1-ada1 rebuild start at 0.\n"
#. type: Title ===
@@ -2261,8 +2269,10 @@ msgid ""
msgstr ""
"# graid remove raid/r0 ada1\n"
"GEOM_RAID: Intel-a29ea104: Disk ada1 state changed from ACTIVE to OFFLINE.\n"
-"GEOM_RAID: Intel-a29ea104: Subdisk gm0:1-[unknown] state changed from ACTIVE to NONE.\n"
-"GEOM_RAID: Intel-a29ea104: Volume gm0 state changed from OPTIMAL to DEGRADED.\n"
+"GEOM_RAID: Intel-a29ea104: Subdisk gm0:1-[unknown] state changed from ACTIVE "
+"to NONE.\n"
+"GEOM_RAID: Intel-a29ea104: Volume gm0 state changed from OPTIMAL to DEGRADED."
+"\n"
#. type: Title ===
#: documentation/content/en/books/handbook/geom/_index.adoc:944
@@ -2382,7 +2392,7 @@ msgstr ""
"обнаружит эти диски и создаст массив, что помешает доступу к отдельному "
"диску. Для удаления нежелательных метаданных:"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/handbook/geom/_index.adoc:998
msgid ""
"Boot the system. At the boot menu, select `2` for the loader prompt. Enter:"
@@ -2437,8 +2447,8 @@ msgid ""
msgstr ""
"Для постоянного удаления метаданных man:graid[8] с затронутого диска "
"загрузитесь с установочного CD-ROM или USB-накопителя FreeBSD и выберите "
-"`Shell`. Используйте команду `status`, чтобы найти имя массива, обычно это "
-"`raid/r0`:"
+"`Shell`. Используйте команду `status`, чтобы найти имя массива, обычно это `"
+"raid/r0`:"
#. type: Plain text
#: documentation/content/en/books/handbook/geom/_index.adoc:1028
@@ -2462,9 +2472,8 @@ msgid ""
"[.filename]#/boot/loader.conf# can also be removed."
msgstr ""
"Перезагрузите систему и проверьте данные, восстановив их из резервной копии "
-"при необходимости. После удаления метаданных запись "
-"`kern.geom.raid.enable=0` в файле [.filename]#/boot/loader.conf# также можно "
-"удалить."
+"при необходимости. После удаления метаданных запись `kern.geom.raid.enable=0`"
+" в файле [.filename]#/boot/loader.conf# также можно удалить."
#. type: Title ==
#: documentation/content/en/books/handbook/geom/_index.adoc:1041
@@ -2504,8 +2513,8 @@ msgstr ""
"файла экспорта. Этот файл определяет, каким системам разрешён доступ к "
"экспортируемым ресурсам и какой уровень доступа им предоставляется. "
"Например, чтобы предоставить клиенту `192.168.1.5` права на чтение и запись "
-"для четвёртого раздела первого SCSI-диска, создайте файл [.filename]#/etc/"
-"gg.exports# со следующей строкой:"
+"для четвёртого раздела первого SCSI-диска, создайте файл [.filename]#/etc/gg."
+"exports# со следующей строкой:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/geom/_index.adoc:1054
@@ -2554,8 +2563,8 @@ msgstr ""
"устройства. В случае успеха эта команда выведет имя устройства `ggate`, "
"которое нужно смонтировать. Смонтируйте указанное имя устройства на "
"свободную точку монтирования. В этом примере выполняется подключение к "
-"разделу [.filename]#/dev/da0s4d# на `192.168.1.1`, затем монтируется "
-"[.filename]#/dev/ggate0# в [.filename]#/mnt#:"
+"разделу [.filename]#/dev/da0s4d# на `192.168.1.1`, затем монтируется [."
+"filename]#/dev/ggate0# в [.filename]#/mnt#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/geom/_index.adoc:1077
@@ -2620,9 +2629,9 @@ msgstr ""
"Во время инициализации системы ядро FreeBSD создает узлы устройств по мере "
"их обнаружения. Такой метод поиска устройств вызывает некоторые проблемы. "
"Например, что если новое дисковое устройство будет добавлено через USB? "
-"Вполне вероятно, что флеш-накопитель может получить имя устройства "
-"[.filename]#da0#, а исходное устройство [.filename]#da0# сместится на "
-"[.filename]#da1#. Это вызовет проблемы с монтированием файловых систем, если "
+"Вполне вероятно, что флеш-накопитель может получить имя устройства [."
+"filename]#da0#, а исходное устройство [.filename]#da0# сместится на [."
+"filename]#da1#. Это вызовет проблемы с монтированием файловых систем, если "
"они указаны в [.filename]#/etc/fstab#, что также может помешать загрузке "
"системы."
@@ -2690,12 +2699,12 @@ msgid ""
"specific and will be created in [.filename]#/dev/label#."
msgstr ""
"Постоянные метки могут быть общими или метками файловой системы. Постоянные "
-"метки файловой системы можно создать с помощью man:tunefs[8] или "
-"man:newfs[8]. Такие метки создаются в подкаталоге [.filename]#/dev# и "
-"именуются в соответствии с типом файловой системы. Например, метки файловой "
-"системы UFS2 будут созданы в [.filename]#/dev/ufs#. Общие постоянные метки "
-"можно создать с помощью `glabel label`. Они не привязаны к конкретной "
-"файловой системе и будут размещены в [.filename]#/dev/label#."
+"метки файловой системы можно создать с помощью man:tunefs[8] или man:newfs[8]"
+". Такие метки создаются в подкаталоге [.filename]#/dev# и именуются в "
+"соответствии с типом файловой системы. Например, метки файловой системы UFS2 "
+"будут созданы в [.filename]#/dev/ufs#. Общие постоянные метки можно создать "
+"с помощью `glabel label`. Они не привязаны к конкретной файловой системе и "
+"будут размещены в [.filename]#/dev/label#."
#. type: Plain text
#: documentation/content/en/books/handbook/geom/_index.adoc:1125
@@ -2704,8 +2713,8 @@ msgid ""
"in [.filename]#/dev/label# and are suited to experimentation. A temporary "
"label can be created using `glabel create`."
msgstr ""
-"Временные метки удаляются при следующей перезагрузке. Эти метки создаются в "
-"[.filename]#/dev/label# и подходят для экспериментов. Временную метку можно "
+"Временные метки удаляются при следующей перезагрузке. Эти метки создаются в ["
+".filename]#/dev/label# и подходят для экспериментов. Временную метку можно "
"создать с помощью `glabel create`."
#. type: Plain text
@@ -2763,10 +2772,10 @@ msgid ""
"kernel option is present, the device node may change without any ill effect "
"on the system."
msgstr ""
-"Начиная с этого момента, при условии, что модуль ядра "
-"[.filename]#geom_label.ko# загружается при загрузке через [.filename]#/boot/"
-"loader.conf# или присутствует опция ядра `GEOM_LABEL`, изменение узла "
-"устройства не окажет негативного влияния на систему."
+"Начиная с этого момента, при условии, что модуль ядра [.filename]#geom_label."
+"ko# загружается при загрузке через [.filename]#/boot/loader.conf# или "
+"присутствует опция ядра `GEOM_LABEL`, изменение узла устройства не окажет "
+"негативного влияния на систему."
#. type: Plain text
#: documentation/content/en/books/handbook/geom/_index.adoc:1156
@@ -2816,8 +2825,8 @@ msgstr ""
"контроллер или перенесен в другую систему. В этом примере предполагается, "
"что используется один ATA-диск, который система в настоящее время распознает "
"как [.filename]#ad0#. Также предполагается, что используется стандартная "
-"схема разделов FreeBSD с [.filename]#/#, [.filename]#/var#, [.filename]#/"
-"usr#, [.filename]#/tmp#, а также разделом подкачки."
+"схема разделов FreeBSD с [.filename]#/#, [.filename]#/var#, [.filename]#/usr#"
+", [.filename]#/tmp#, а также разделом подкачки."
#. type: delimited block = 4
#: documentation/content/en/books/handbook/geom/_index.adoc:1175
@@ -2880,7 +2889,8 @@ msgid ""
"/dev/label/usr /usr ufs rw 2 2\n"
"/dev/label/var /var ufs rw 2 2\n"
msgstr ""
-"# Device Mountpoint FStype Options Dump Pass#\n"
+"# Device Mountpoint FStype Options Dump Pass#"
+"\n"
"/dev/label/swap none swap sw 0 0\n"
"/dev/label/rootfs / ufs rw 1 1\n"
"/dev/label/tmp /tmp ufs rw 2 2\n"
@@ -2954,10 +2964,10 @@ msgid ""
"values shown, these partitions may now be mounted with the following entries "
"in [.filename]#/etc/fstab#:"
msgstr ""
-"В приведённом выше примере [.filename]#ad4s1d# соответствует [.filename]#/"
-"var#, а [.filename]#ad4s1f# — [.filename]#/usr#. Используя указанные "
-"значения `ufsid`, эти разделы можно смонтировать, добавив следующие строки в "
-"[.filename]#/etc/fstab#:"
+"В приведённом выше примере [.filename]#ad4s1d# соответствует [."
+"filename]#/var#, а [.filename]#ad4s1f# — [.filename]#/usr#. Используя "
+"указанные значения `ufsid`, эти разделы можно смонтировать, добавив "
+"следующие строки в [.filename]#/etc/fstab#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/geom/_index.adoc:1240
@@ -2966,8 +2976,10 @@ msgid ""
"/dev/ufsid/486b6fc38d330916 /var ufs rw 2 2\n"
"/dev/ufsid/486b6fc16926168e /usr ufs rw 2 2\n"
msgstr ""
-"/dev/ufsid/486b6fc38d330916 /var ufs rw 2 2\n"
-"/dev/ufsid/486b6fc16926168e /usr ufs rw 2 2\n"
+"/dev/ufsid/486b6fc38d330916 /var ufs rw 2 "
+"2\n"
+"/dev/ufsid/486b6fc16926168e /usr ufs rw 2 "
+"2\n"
#. type: Plain text
#: documentation/content/en/books/handbook/geom/_index.adoc:1243
@@ -3075,8 +3087,8 @@ msgid ""
"disk:"
msgstr ""
"После загрузки модуля журнал можно создать на новой файловой системе, "
-"выполнив следующие шаги. В этом примере [.filename]#da4# — это новый SCSI-"
-"диск:"
+"выполнив следующие шаги. В этом примере [.filename]#da4# — это новый "
+"SCSI-диск:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/geom/_index.adoc:1282
@@ -3126,8 +3138,8 @@ msgid ""
msgstr ""
"В случае нескольких разделов журнал будет создан для каждого отдельного "
"раздела. Например, если [.filename]#ad4s1# и [.filename]#ad4s2# являются "
-"разделами, то `gjournal` создаст [.filename]#ad4s1.journal# и "
-"[.filename]#ad4s2.journal#."
+"разделами, то `gjournal` создаст [.filename]#ad4s1.journal# и [."
+"filename]#ad4s2.journal#."
#. type: Plain text
#: documentation/content/en/books/handbook/geom/_index.adoc:1304
diff --git a/documentation/content/ru/books/handbook/glossary.adoc b/documentation/content/ru/books/handbook/glossary.adoc
index d9b7d3b693..0306a699a4 100644
--- a/documentation/content/ru/books/handbook/glossary.adoc
+++ b/documentation/content/ru/books/handbook/glossary.adoc
@@ -4,7 +4,7 @@ next: books/handbook/colophon
params:
path: /books/handbook/glossary/
prev: books/handbook/pgpkeys
-showBookMenu: true
+showBookMenu: 'true'
title: 'Глоссарий FreeBSD'
weight: 45
---
diff --git a/documentation/content/ru/books/handbook/glossary.po b/documentation/content/ru/books/handbook/glossary.po
index c1390844cc..61d63e92e7 100644
--- a/documentation/content/ru/books/handbook/glossary.po
+++ b/documentation/content/ru/books/handbook/glossary.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-08-17 20:54+0100\n"
"PO-Revision-Date: 2025-08-19 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,7 +18,7 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/glossary.adoc:1
#, no-wrap
msgid "FreeBSD Handbook Glossary"
@@ -31,7 +31,7 @@ msgstr "Глоссарий Руководства FreeBSD"
msgid "FreeBSD Glossary"
msgstr "Глоссарий FreeBSD"
-#. type: glossary
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:50
msgid ""
"This glossary contains terms and acronyms used within the FreeBSD community "
@@ -52,7 +52,7 @@ msgstr "A"
msgid "ACL"
msgstr "ACL"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:56
msgid "See crossref:glossary[acl-glossary,Access Control List]."
msgstr "См. crossref:glossary[acl-glossary,Access Control List]."
@@ -63,7 +63,7 @@ msgstr "См. crossref:glossary[acl-glossary,Access Control List]."
msgid "ACPI"
msgstr "ACPI"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:59
msgid ""
"See crossref:glossary[acpi-glossary,Advanced Configuration and Power "
@@ -78,7 +78,7 @@ msgstr ""
msgid "AMD"
msgstr "AMD"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:62
msgid "See crossref:glossary[amd-glossary,Automatic Mount Daemon]."
msgstr "См. crossref:glossary[amd-glossary,Automatic Mount Daemon]."
@@ -89,7 +89,7 @@ msgstr "См. crossref:glossary[amd-glossary,Automatic Mount Daemon]."
msgid "AML"
msgstr "AML"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:65
msgid "See crossref:glossary[aml-glossary,ACPI Machine Language]."
msgstr "См. crossref:glossary[aml-glossary,ACPI Machine Language]."
@@ -100,7 +100,7 @@ msgstr "См. crossref:glossary[aml-glossary,ACPI Machine Language]."
msgid "API"
msgstr "API"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:68
msgid "See crossref:glossary[api-glossary,Application Programming Interface]."
msgstr "См. crossref:glossary[api-glossary,Application Programming Interface]."
@@ -111,7 +111,7 @@ msgstr "См. crossref:glossary[api-glossary,Application Programming Interface].
msgid "APIC"
msgstr "APIC"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:71
msgid ""
"See crossref:glossary[apic-glossary,Advanced Programmable Interrupt "
@@ -126,7 +126,7 @@ msgstr ""
msgid "APM"
msgstr "APM"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:74
msgid "See crossref:glossary[apm-glossary,Advanced Power Management]."
msgstr "См. crossref:glossary[apm-glossary,Advanced Power Management]."
@@ -137,7 +137,7 @@ msgstr "См. crossref:glossary[apm-glossary,Advanced Power Management]."
msgid "APOP"
msgstr "APOP"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:77
msgid ""
"See crossref:glossary[apop-glossary,Authenticated Post Office Protocol]."
@@ -150,7 +150,7 @@ msgstr ""
msgid "ASL"
msgstr "ASL"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:80
msgid "See crossref:glossary[asl-glossary,ACPI Source Language]."
msgstr "См. crossref:glossary[asl-glossary,ACPI Source Language]."
@@ -161,7 +161,7 @@ msgstr "См. crossref:glossary[asl-glossary,ACPI Source Language]."
msgid "ATA"
msgstr "ATA"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:83
msgid "See crossref:glossary[ata-glossary,Advanced Technology Attachment]."
msgstr "См. crossref:glossary[ata-glossary,Advanced Technology Attachment]."
@@ -172,7 +172,7 @@ msgstr "См. crossref:glossary[ata-glossary,Advanced Technology Attachment]."
msgid "ATM"
msgstr "ATM"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:86
msgid "See crossref:glossary[atm-glossary,Asynchronous Transfer Mode]."
msgstr "См. crossref:glossary[atm-glossary,Asynchronous Transfer Mode]."
@@ -183,7 +183,7 @@ msgstr "См. crossref:glossary[atm-glossary,Asynchronous Transfer Mode]."
msgid "ACPI Machine Language"
msgstr "ACPI Machine Language"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:90
msgid ""
"Pseudocode, interpreted by a virtual machine within an ACPI-compliant "
@@ -200,7 +200,7 @@ msgstr ""
msgid "ACPI Source Language"
msgstr "ACPI Source Language"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:94
msgid "The programming language AML is written in."
msgstr "Язык программирования, на котором написан AML."
@@ -211,7 +211,7 @@ msgstr "Язык программирования, на котором напи
msgid "Access Control List"
msgstr "Access Control List"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:98
msgid ""
"A list of permissions attached to an object, usually either a file or a "
@@ -226,7 +226,7 @@ msgstr ""
msgid "Advanced Configuration and Power Interface"
msgstr "Advanced Configuration and Power Interface"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:103
msgid ""
"A specification which provides an abstraction of the interface the hardware "
@@ -250,7 +250,7 @@ msgstr ""
msgid "Application Programming Interface"
msgstr "Application Programming Interface"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:108
msgid ""
"A set of procedures, protocols and tools that specify the canonical "
@@ -267,7 +267,7 @@ msgstr ""
msgid "Advanced Power Management"
msgstr "Advanced Power Management"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:113
msgid ""
"An API enabling the operating system to work in conjunction with the BIOS in "
@@ -284,7 +284,7 @@ msgstr ""
msgid "Advanced Programmable Interrupt Controller"
msgstr "Advanced Programmable Interrupt Controller"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:117
#: documentation/content/en/books/handbook/glossary.adoc:121
#: documentation/content/en/books/handbook/glossary.adoc:125
@@ -365,7 +365,7 @@ msgstr "Authenticated Post Office Protocol"
msgid "Automatic Mount Daemon"
msgstr "Automatic Mount Daemon"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:133
msgid ""
"A daemon that automatically mounts a filesystem when a file or directory "
@@ -386,7 +386,7 @@ msgstr "B"
msgid "BAR"
msgstr "BAR"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:139
msgid "See crossref:glossary[bar-glossary,Base Address Register]."
msgstr "См. crossref:glossary[bar-glossary,Base Address Register]."
@@ -397,7 +397,7 @@ msgstr "См. crossref:glossary[bar-glossary,Base Address Register]."
msgid "BIND"
msgstr "BIND"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:142
msgid "See crossref:glossary[bind-glossary,Berkeley Internet Name Domain]."
msgstr "См. crossref:glossary[bind-glossary,Berkeley Internet Name Domain]."
@@ -408,7 +408,7 @@ msgstr "См. crossref:glossary[bind-glossary,Berkeley Internet Name Domain]."
msgid "BIOS"
msgstr "BIOS"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:145
msgid "See crossref:glossary[bios-glossary,Basic Input/Output System]."
msgstr "См. crossref:glossary[bios-glossary,Basic Input/Output System]."
@@ -419,7 +419,7 @@ msgstr "См. crossref:glossary[bios-glossary,Basic Input/Output System]."
msgid "BSD"
msgstr "BSD"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:148
msgid "See crossref:glossary[bsd-glossary,Berkeley Software Distribution]."
msgstr "См. crossref:glossary[bsd-glossary,Berkeley Software Distribution]."
@@ -430,7 +430,7 @@ msgstr "См. crossref:glossary[bsd-glossary,Berkeley Software Distribution]."
msgid "Base Address Register"
msgstr "Base Address Register"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:152
msgid ""
"The registers that determine which address range a PCI device will respond "
@@ -445,7 +445,7 @@ msgstr ""
msgid "Basic Input/Output System"
msgstr "Basic Input/Output System"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:160
msgid ""
"The definition of BIOS depends a bit on the context. Some people refer to "
@@ -469,7 +469,7 @@ msgstr ""
msgid "Berkeley Internet Name Domain"
msgstr "Berkeley Internet Name Domain"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:164
msgid "An implementation of the DNS protocols."
msgstr "Реализация протоколов DNS."
@@ -480,12 +480,12 @@ msgstr "Реализация протоколов DNS."
msgid "Berkeley Software Distribution"
msgstr "Berkeley Software Distribution"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:169
msgid ""
-"This is the name that the Computer Systems Research Group (CSRG) at "
-"link:http://www.berkeley.edu[The University of California at Berkeley] gave "
-"to their improvements and modifications to AT&T's 32V UNIX(R). FreeBSD is a "
+"This is the name that the Computer Systems Research Group (CSRG) at link:"
+"http://www.berkeley.edu[The University of California at Berkeley] gave to "
+"their improvements and modifications to AT&T's 32V UNIX(R). FreeBSD is a "
"descendant of the CSRG work."
msgstr ""
"Это название, которое Группа исследования компьютерных систем (CSRG) из "
@@ -499,7 +499,7 @@ msgstr ""
msgid "Bikeshed Building"
msgstr "Bikeshed Building"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:174
msgid ""
"A phenomenon whereby many people will give an opinion on an uncomplicated "
@@ -523,7 +523,7 @@ msgstr "C"
msgid "CD"
msgstr "CD"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:180
msgid "See crossref:glossary[cd-glossary,Carrier Detect]."
msgstr "См. crossref:glossary[cd-glossary,Carrier Detect]."
@@ -534,7 +534,7 @@ msgstr "См. crossref:glossary[cd-glossary,Carrier Detect]."
msgid "CHAP"
msgstr "CHAP"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:183
msgid ""
"See crossref:glossary[chap-glossary,Challenge Handshake Authentication "
@@ -549,7 +549,7 @@ msgstr ""
msgid "CLIP"
msgstr "CLIP"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:186
msgid "See crossref:glossary[clip-glossary,Classical IP over ATM]."
msgstr "См. crossref:glossary[clip-glossary,Classical IP over ATM]."
@@ -560,7 +560,7 @@ msgstr "См. crossref:glossary[clip-glossary,Classical IP over ATM]."
msgid "COFF"
msgstr "COFF"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:189
msgid "See crossref:glossary[coff-glossary,Common Object File Format]."
msgstr "См. crossref:glossary[coff-glossary,Common Object File Format]."
@@ -571,7 +571,7 @@ msgstr "См. crossref:glossary[coff-glossary,Common Object File Format]."
msgid "CPU"
msgstr "CPU"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:192
msgid "See crossref:glossary[cpu-glossary,Central Processing Unit]."
msgstr "См. crossref:glossary[cpu-glossary,Central Processing Unit]."
@@ -582,7 +582,7 @@ msgstr "См. crossref:glossary[cpu-glossary,Central Processing Unit]."
msgid "CTS"
msgstr "CTS"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:195
msgid "See crossref:glossary[cts-glossary,Clear To Send]."
msgstr "См. crossref:glossary[cts-glossary,Clear To Send]."
@@ -593,7 +593,7 @@ msgstr "См. crossref:glossary[cts-glossary,Clear To Send]."
msgid "Carrier Detect"
msgstr "Carrier Detect"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:199
msgid "An RS232C signal indicating that a carrier has been detected."
msgstr "Сигнал RS232C, указывающий на обнаружение несущей."
@@ -604,7 +604,7 @@ msgstr "Сигнал RS232C, указывающий на обнаружение
msgid "Central Processing Unit"
msgstr "Central Processing Unit"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:206
msgid ""
"Also known as the processor. This is the brain of the computer where all "
@@ -623,7 +623,7 @@ msgstr ""
msgid "Challenge Handshake Authentication Protocol"
msgstr "Challenge Handshake Authentication Protocol"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:210
msgid ""
"A method of authenticating a user, based on a secret shared between client "
@@ -644,12 +644,12 @@ msgstr "Classical IP over ATM"
msgid "Clear To Send"
msgstr "Clear To Send"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:218
msgid "An RS232C signal giving the remote system permission to send data."
msgstr "Сигнал RS232C, разрешающий удалённой системе передавать данные."
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:220
msgid "See crossref:glossary[rts-glossary,Also Request To Send]."
msgstr "См. crossref:glossary[rts-glossary,Also Request To Send]."
@@ -672,7 +672,7 @@ msgstr "D"
msgid "DAC"
msgstr "DAC"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:230
msgid "See crossref:glossary[dac-glossary,Discretionary Access Control]."
msgstr "См. crossref:glossary[dac-glossary,Discretionary Access Control]."
@@ -683,7 +683,7 @@ msgstr "См. crossref:glossary[dac-glossary,Discretionary Access Control]."
msgid "DDB"
msgstr "DDB"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:233
msgid "See crossref:glossary[ddb-glossary,Debugger]."
msgstr "См. crossref:glossary[ddb-glossary,Debugger]."
@@ -694,7 +694,7 @@ msgstr "См. crossref:glossary[ddb-glossary,Debugger]."
msgid "DES"
msgstr "DES"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:236
msgid "See crossref:glossary[des-glossary,Data Encryption Standard]."
msgstr "См. crossref:glossary[des-glossary,Data Encryption Standard]."
@@ -705,7 +705,7 @@ msgstr "См. crossref:glossary[des-glossary,Data Encryption Standard]."
msgid "DHCP"
msgstr "DHCP"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:239
msgid ""
"See crossref:glossary[dhcp-glossary,Dynamic Host Configuration Protocol]."
@@ -718,7 +718,7 @@ msgstr ""
msgid "DNS"
msgstr "DNS"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:242
msgid "See crossref:glossary[dns-glossary,Domain Name System]."
msgstr "См. crossref:glossary[dns-glossary,Domain Name System]."
@@ -729,7 +729,7 @@ msgstr "См. crossref:glossary[dns-glossary,Domain Name System]."
msgid "DRM"
msgstr "DRM"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:245
msgid "See crossref:glossary[drm-glossary,Direct Rendering Manager]."
msgstr "См. crossref:glossary[drm-glossary,Direct Rendering Manager]."
@@ -740,7 +740,7 @@ msgstr "См. crossref:glossary[drm-glossary,Direct Rendering Manager]."
msgid "DSDT"
msgstr "DSDT"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:248
msgid ""
"See crossref:glossary[dsdt-glossary,Differentiated System Description Table]."
@@ -753,7 +753,7 @@ msgstr ""
msgid "DSR"
msgstr "DSR"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:251
msgid "See crossref:glossary[dsr-glossary,Data Set Ready]."
msgstr "См. crossref:glossary[dsr-glossary,Data Set Ready]."
@@ -764,7 +764,7 @@ msgstr "См. crossref:glossary[dsr-glossary,Data Set Ready]."
msgid "DTR"
msgstr "DTR"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:254
msgid "See crossref:glossary[dtr-glossary,Data Terminal Ready]."
msgstr "См. crossref:glossary[dtr-glossary,Data Terminal Ready]."
@@ -775,7 +775,7 @@ msgstr "См. crossref:glossary[dtr-glossary,Data Terminal Ready]."
msgid "DVMRP"
msgstr "DVMRP"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:257
msgid ""
"See crossref:glossary[dvmrp-glossary,Distance-Vector Multicast Routing "
@@ -796,7 +796,7 @@ msgstr "Discretionary Access Control"
msgid "Data Encryption Standard"
msgstr "Data Encryption Standard"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:265
msgid ""
"A method of encrypting information, traditionally used as the method of "
@@ -811,7 +811,7 @@ msgstr ""
msgid "Data Set Ready"
msgstr "Готовность терминального оборудования (Data Set Ready)"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:269
msgid ""
"An RS232C signal sent from the modem to the computer or terminal indicating "
@@ -820,7 +820,7 @@ msgstr ""
"Сигнал RS232C, передаваемый от модема к компьютеру или терминалу, "
"указывающий на готовность к отправке и приему данных."
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:271
msgid "See crossref:glossary[dtr-glossary,Also Data Terminal Ready]."
msgstr "См. crossref:glossary[dtr-glossary,Also Data Terminal Ready]."
@@ -831,7 +831,7 @@ msgstr "См. crossref:glossary[dtr-glossary,Also Data Terminal Ready]."
msgid "Data Terminal Ready"
msgstr "Готовность терминального оборудования (Data Terminal Ready)"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:275
msgid ""
"An RS232C signal sent from the computer or terminal to the modem indicating "
@@ -846,7 +846,7 @@ msgstr ""
msgid "Debugger"
msgstr "Debugger"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:279
msgid ""
"An interactive in-kernel facility for examining the status of a system, "
@@ -863,7 +863,7 @@ msgstr ""
msgid "Differentiated System Description Table"
msgstr "Differentiated System Description Table"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:283
msgid ""
"An ACPI table, supplying basic configuration information about the base "
@@ -884,14 +884,14 @@ msgstr "Distance-Vector Multicast Routing Protocol"
msgid "Domain Name System"
msgstr "Domain Name System"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:291
msgid ""
"The system that converts humanly readable hostnames (i.e., mail.example.net) "
"to Internet addresses and vice versa."
msgstr ""
-"Система, преобразующая удобочитаемые имена хостов (например, "
-"mail.example.net) в интернет-адреса и обратно."
+"Система, преобразующая удобочитаемые имена хостов (например, mail.example."
+"net) в интернет-адреса и обратно."
#. type: Labeled list
#: documentation/content/en/books/handbook/glossary.adoc:293
@@ -899,7 +899,7 @@ msgstr ""
msgid "Direct Rendering Manager"
msgstr "Direct Rendering Manager"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:295
msgid ""
"The man:drm[7] kernel module allows client applications direct access to the "
@@ -914,7 +914,7 @@ msgstr ""
msgid "Dynamic Host Configuration Protocol"
msgstr "Dynamic Host Configuration Protocol"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:300
msgid ""
"A protocol that dynamically assigns IP addresses to a computer (host) when "
@@ -935,7 +935,7 @@ msgstr "E"
msgid "ECOFF"
msgstr "ECOFF"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:306
msgid "See crossref:glossary[ecoff-glossary,Extended COFF]."
msgstr "См. crossref:glossary[ecoff-glossary,Extended COFF]."
@@ -946,7 +946,7 @@ msgstr "См. crossref:glossary[ecoff-glossary,Extended COFF]."
msgid "ELF"
msgstr "ELF"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:309
msgid "See crossref:glossary[elf-glossary,Executable and Linking Format]."
msgstr "См. crossref:glossary[elf-glossary,Executable and Linking Format]."
@@ -957,7 +957,7 @@ msgstr "См. crossref:glossary[elf-glossary,Executable and Linking Format]."
msgid "ESP"
msgstr "ESP"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:312
msgid "See crossref:glossary[esp-glossary,Encapsulated Security Payload]."
msgstr "См. crossref:glossary[esp-glossary,Encapsulated Security Payload]."
@@ -992,7 +992,7 @@ msgstr "F"
msgid "FADT"
msgstr "FADT"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:329
msgid "See crossref:glossary[fadt-glossary,Fixed ACPI Description Table]."
msgstr "См. crossref:glossary[fadt-glossary,Fixed ACPI Description Table]."
@@ -1003,7 +1003,7 @@ msgstr "См. crossref:glossary[fadt-glossary,Fixed ACPI Description Table]."
msgid "FAT"
msgstr "FAT"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:332
msgid "See crossref:glossary[fat-glossary,File Allocation Table]."
msgstr "См. crossref:glossary[fat-glossary,File Allocation Table]."
@@ -1014,7 +1014,7 @@ msgstr "См. crossref:glossary[fat-glossary,File Allocation Table]."
msgid "FAT16"
msgstr "FAT16"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:335
msgid "See crossref:glossary[fat16-glossary,File Allocation Table (16-bit)]."
msgstr "См. crossref:glossary[fat16-glossary,File Allocation Table (16-bit)]."
@@ -1025,7 +1025,7 @@ msgstr "См. crossref:glossary[fat16-glossary,File Allocation Table (16-bit)]."
msgid "FTP"
msgstr "FTP"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:338
msgid "See crossref:glossary[ftp-glossary,File Transfer Protocol]."
msgstr "См. crossref:glossary[ftp-glossary,File Transfer Protocol]."
@@ -1048,7 +1048,7 @@ msgstr "File Allocation Table (16-bit)"
msgid "File Transfer Protocol"
msgstr "File Transfer Protocol"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:350
msgid ""
"A member of the family of high-level protocols implemented on top of TCP "
@@ -1075,7 +1075,7 @@ msgstr "G"
msgid "GUI"
msgstr "GUI"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:360
msgid "See crossref:glossary[gui-glossary,Graphical User Interface]."
msgstr "См. crossref:glossary[gui-glossary,Graphical User Interface]."
@@ -1086,7 +1086,7 @@ msgstr "См. crossref:glossary[gui-glossary,Graphical User Interface]."
msgid "Giant"
msgstr "Giant"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:366
msgid ""
"The name of a mutual exclusion mechanism (a sleep `mutex`) that protects a "
@@ -1113,7 +1113,7 @@ msgstr ""
msgid "Graphical User Interface"
msgstr "Graphical User Interface"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:370
msgid "A system where the user and computer interact with graphics."
msgstr ""
@@ -1132,7 +1132,7 @@ msgstr "H"
msgid "HTML"
msgstr "HTML"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:376
msgid "See crossref:glossary[html-glossary,HyperText Markup Language]."
msgstr "См. crossref:glossary[html-glossary,HyperText Markup Language]."
@@ -1143,7 +1143,7 @@ msgstr "См. crossref:glossary[html-glossary,HyperText Markup Language]."
msgid "HUP"
msgstr "HUP"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:379
msgid "See crossref:glossary[hup-glossary,HangUp]."
msgstr "См. crossref:glossary[hup-glossary,HangUp]."
@@ -1160,7 +1160,7 @@ msgstr "HangUp"
msgid "HyperText Markup Language"
msgstr "HyperText Markup Language"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:387
msgid "The markup language used to create web pages."
msgstr "Язык разметки, используемый для создания веб-страниц."
@@ -1177,7 +1177,7 @@ msgstr "I"
msgid "I/O"
msgstr "I/O"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:393
msgid "See crossref:glossary[io-glossary,Input/Output]."
msgstr "См. crossref:glossary[io-glossary,Input/Output]."
@@ -1188,7 +1188,7 @@ msgstr "См. crossref:glossary[io-glossary,Input/Output]."
msgid "IASL"
msgstr "IASL"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:396
msgid "See crossref:glossary[iasl-glossary,Intel’s ASL compiler]."
msgstr "См. crossref:glossary[iasl-glossary,Intel’s ASL compiler]."
@@ -1199,7 +1199,7 @@ msgstr "См. crossref:glossary[iasl-glossary,Intel’s ASL compiler]."
msgid "IMAP"
msgstr "IMAP"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:399
msgid "See crossref:glossary[imap-glossary,Internet Message Access Protocol]."
msgstr "См. crossref:glossary[imap-glossary,Internet Message Access Protocol]."
@@ -1210,7 +1210,7 @@ msgstr "См. crossref:glossary[imap-glossary,Internet Message Access Protocol].
msgid "IP"
msgstr "IP"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:402
msgid "See crossref:glossary[ip-glossary,Internet Protocol]."
msgstr "См. crossref:glossary[ip-glossary,Internet Protocol]."
@@ -1221,7 +1221,7 @@ msgstr "См. crossref:glossary[ip-glossary,Internet Protocol]."
msgid "IPFW"
msgstr "IPFW"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:405
msgid "See crossref:glossary[ipfw-glossary,IP Firewall]."
msgstr "См. crossref:glossary[ipfw-glossary,IP Firewall]."
@@ -1232,7 +1232,7 @@ msgstr "См. crossref:glossary[ipfw-glossary,IP Firewall]."
msgid "IPP"
msgstr "IPP"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:408
msgid "See crossref:glossary[ipp-glossary,Internet Printing Protocol]."
msgstr "См. crossref:glossary[ipp-glossary,Internet Printing Protocol]."
@@ -1243,7 +1243,7 @@ msgstr "См. crossref:glossary[ipp-glossary,Internet Printing Protocol]."
msgid "IPv4"
msgstr "IPv4"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:411
msgid "See crossref:glossary[ipv4-glossary,IP Version 4]."
msgstr "См. crossref:glossary[ipv4-glossary,IP Version 4]."
@@ -1254,7 +1254,7 @@ msgstr "См. crossref:glossary[ipv4-glossary,IP Version 4]."
msgid "IPv6"
msgstr "IPv6"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:414
msgid "See crossref:glossary[ipv6-glossary,IP Version 6]."
msgstr "См. crossref:glossary[ipv6-glossary,IP Version 6]."
@@ -1265,7 +1265,7 @@ msgstr "См. crossref:glossary[ipv6-glossary,IP Version 6]."
msgid "ISP"
msgstr "ISP"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:417
msgid "See crossref:glossary[isp-glossary,Internet Service Provider]."
msgstr "См. crossref:glossary[isp-glossary,Internet Service Provider]."
@@ -1282,7 +1282,7 @@ msgstr "IP Firewall"
msgid "IP Version 4"
msgstr "IP Version 4"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:426
msgid ""
"The IP protocol version 4, which uses 32 bits for addressing. This version "
@@ -1291,7 +1291,7 @@ msgstr ""
"Протокол IP версии 4, использующий 32-битную адресацию. Эта версия до сих "
"пор наиболее широко используется, но постепенно заменяется на IPv6."
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:428
msgid "See crossref:glossary[ipv6-glossary,Also IP Version 6]."
msgstr "См. crossref:glossary[ipv6-glossary,Also IP Version 6]."
@@ -1302,7 +1302,7 @@ msgstr "См. crossref:glossary[ipv6-glossary,Also IP Version 6]."
msgid "IP Version 6"
msgstr "IP Version 6"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:434
msgid ""
"The new IP protocol. Invented because the address space in IPv4 is running "
@@ -1323,7 +1323,7 @@ msgstr "Input/Output"
msgid "Intel’s ASL compiler"
msgstr "Intel’s ASL compiler"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:442
msgid "Intel’s compiler for converting ASL into AML."
msgstr "Компилятор Intel для преобразования ASL в AML."
@@ -1334,7 +1334,7 @@ msgstr "Компилятор Intel для преобразования ASL в AM
msgid "Internet Message Access Protocol"
msgstr "Internet Message Access Protocol"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:446
msgid ""
"A protocol for accessing email messages on a mail server, characterised by "
@@ -1345,7 +1345,7 @@ msgstr ""
"характеризующийся тем, что сообщения обычно хранятся на сервере, а не "
"загружаются в почтовый клиент."
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:448
#: documentation/content/en/books/handbook/glossary.adoc:786
msgid "See Also Post Office Protocol Version 3."
@@ -1363,7 +1363,7 @@ msgstr "Internet Printing Protocol"
msgid "Internet Protocol"
msgstr "Internet Protocol"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:459
msgid ""
"The packet transmitting protocol that is the basic protocol on the "
@@ -1375,8 +1375,8 @@ msgstr ""
"Протокол передачи пакетов, который является основным протоколом в Интернете. "
"Первоначально разработан в Министерстве обороны США и является чрезвычайно "
"важной частью стека TCP/IP. Без Интернет-протокола Интернет не стал бы тем, "
-"чем он является сегодня. Для получения дополнительной информации см. "
-"link:ftp://ftp.rfc-editor.org/in-notes/rfc791.txt[RFC 791]."
+"чем он является сегодня. Для получения дополнительной информации см. link:"
+"ftp://ftp.rfc-editor.org/in-notes/rfc791.txt[RFC 791]."
#. type: Labeled list
#: documentation/content/en/books/handbook/glossary.adoc:461
@@ -1384,7 +1384,7 @@ msgstr ""
msgid "Internet Service Provider"
msgstr "Internet Service Provider"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:463
msgid "A company that provides access to the Internet."
msgstr "Компания, предоставляющая доступ к Интернету."
@@ -1401,7 +1401,7 @@ msgstr "K"
msgid "KAME"
msgstr "KAME"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:470
msgid ""
"Japanese for “turtle”, the term KAME is used in computing circles to refer "
@@ -1418,7 +1418,7 @@ msgstr ""
msgid "KDC"
msgstr "KDC"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:473
msgid "See crossref:glossary[kdc-glossary,Key Distribution Center]."
msgstr "См. crossref:glossary[kdc-glossary,Key Distribution Center]."
@@ -1429,7 +1429,7 @@ msgstr "См. crossref:glossary[kdc-glossary,Key Distribution Center]."
msgid "KLD"
msgstr "KLD"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:476
msgid "See crossref:glossary[kld-glossary,Kernel ld(1)]."
msgstr "См. crossref:glossary[kld-glossary,Kernel ld(1)]."
@@ -1440,7 +1440,7 @@ msgstr "См. crossref:glossary[kld-glossary,Kernel ld(1)]."
msgid "KMS"
msgstr "KMS"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:479
msgid "See crossref:glossary[kms-glossary,Kernel Mode Setting]."
msgstr "См. crossref:glossary[kms-glossary,Kernel Mode Setting]."
@@ -1451,7 +1451,7 @@ msgstr "См. crossref:glossary[kms-glossary,Kernel Mode Setting]."
msgid "KSE"
msgstr "KSE"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:482
msgid "See crossref:glossary[kse-glossary,Kernel Scheduler Entities]."
msgstr "См. crossref:glossary[kse-glossary,Kernel Scheduler Entities]."
@@ -1462,7 +1462,7 @@ msgstr "См. crossref:glossary[kse-glossary,Kernel Scheduler Entities]."
msgid "KVA"
msgstr "KVA"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:485
msgid "See crossref:glossary[kva-glossary,Kernel Virtual Address]."
msgstr "См. crossref:glossary[kva-glossary,Kernel Virtual Address]."
@@ -1473,12 +1473,12 @@ msgstr "См. crossref:glossary[kva-glossary,Kernel Virtual Address]."
msgid "Kbps"
msgstr "Kbps"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:488
msgid "See crossref:glossary[kbps-glossary,Kilo Bits Per Second]."
msgstr "См. crossref:glossary[kbps-glossary,Kilo Bits Per Second]."
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:491
msgid "Setting the display mode in kernel space."
msgstr "Установка режима дисплея в пространстве ядра."
@@ -1489,7 +1489,7 @@ msgstr "Установка режима дисплея в пространств
msgid "Kernel man:ld[1]"
msgstr "Kernel man:ld[1]"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:495
msgid ""
"A method of dynamically loading functionality into a FreeBSD kernel without "
@@ -1504,14 +1504,14 @@ msgstr ""
msgid "Kernel Scheduler Entities"
msgstr "Kernel Scheduler Entities"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:500
msgid ""
"A kernel-supported threading system. See the link:http://www.freebsd.org/"
"kse[project home page] for further details."
msgstr ""
-"Поддерживаемая ядром система потоков. Дополнительные сведения см. на "
-"link:http://www.freebsd.org/kse[домашней странице проекта]."
+"Поддерживаемая ядром система потоков. Дополнительные сведения см. на link:"
+"http://www.freebsd.org/kse[домашней странице проекта]."
#. type: Labeled list
#: documentation/content/en/books/handbook/glossary.adoc:502
@@ -1531,7 +1531,7 @@ msgstr "Key Distribution Center"
msgid "Kilo Bits Per Second"
msgstr "Kilo Bits Per Second"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:513
msgid ""
"Used to measure bandwidth (how much data can pass a given point at a "
@@ -1554,7 +1554,7 @@ msgstr "L"
msgid "LAN"
msgstr "LAN"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:519
msgid "See crossref:glossary[lan-glossary,Local Area Network]."
msgstr "См. crossref:glossary[lan-glossary,Local Area Network]."
@@ -1565,7 +1565,7 @@ msgstr "См. crossref:glossary[lan-glossary,Local Area Network]."
msgid "LOR"
msgstr "LOR"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:522
msgid "See crossref:glossary[lor-glossary,Lock Order Reversal]."
msgstr "См. crossref:glossary[lor-glossary,Lock Order Reversal]."
@@ -1576,7 +1576,7 @@ msgstr "См. crossref:glossary[lor-glossary,Lock Order Reversal]."
msgid "LPD"
msgstr "LPD"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:525
msgid "See crossref:glossary[lpd-glossary,Line Printer Daemon]."
msgstr "См. crossref:glossary[lpd-glossary,Line Printer Daemon]."
@@ -1593,7 +1593,7 @@ msgstr "Line Printer Daemon"
msgid "Local Area Network"
msgstr "Local Area Network"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:533
msgid "A network used on a local area, e.g. office, home, or so forth."
msgstr ""
@@ -1606,7 +1606,7 @@ msgstr ""
msgid "Lock Order Reversal"
msgstr "Lock Order Reversal"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:540
msgid ""
"The FreeBSD kernel uses a number of resource locks to arbitrate contention "
@@ -1626,18 +1626,17 @@ msgstr ""
"срабатывание означает, что «если вам не повезло, здесь могла бы произойти "
"взаимоблокировка»."
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:542
msgid ""
-"True positive LORs tend to get fixed quickly, so check https://"
-"lists.FreeBSD.org/subscription/freebsd-current and the link:http://"
-"sources.zabbadoz.net/freebsd/lor.html[LORs Seen] page before posting to the "
-"mailing lists."
+"True positive LORs tend to get fixed quickly, so check https://lists.FreeBSD."
+"org/subscription/freebsd-current and the link:http://sources.zabbadoz.net/"
+"freebsd/lor.html[LORs Seen] page before posting to the mailing lists."
msgstr ""
"Истинные положительные LOR обычно быстро исправляются, поэтому перед "
"отправкой в списки рассылки проверьте https://lists.FreeBSD.org/subscription/"
-"freebsd-current и страницу link:http://sources.zabbadoz.net/freebsd/"
-"lor.html[LOR увиденные]."
+"freebsd-current и страницу link:http://sources.zabbadoz.net/freebsd/lor."
+"html[LOR увиденные]."
#. type: Title ==
#: documentation/content/en/books/handbook/glossary.adoc:544
@@ -1651,7 +1650,7 @@ msgstr "M"
msgid "MAC"
msgstr "MAC"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:548
msgid "See crossref:glossary[mac-glossary,Mandatory Access Control]."
msgstr "См. crossref:glossary[mac-glossary,Mandatory Access Control]."
@@ -1662,7 +1661,7 @@ msgstr "См. crossref:glossary[mac-glossary,Mandatory Access Control]."
msgid "MADT"
msgstr "MADT"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:551
msgid "See crossref:glossary[madt-glossary,Multiple APIC Description Table]."
msgstr "См. crossref:glossary[madt-glossary,Multiple APIC Description Table]."
@@ -1673,7 +1672,7 @@ msgstr "См. crossref:glossary[madt-glossary,Multiple APIC Description Table]."
msgid "MFC"
msgstr "MFC"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:554
msgid "See crossref:glossary[mfc-glossary,Merge From Current]."
msgstr "См. crossref:glossary[mfc-glossary,Merge From Current]."
@@ -1684,7 +1683,7 @@ msgstr "См. crossref:glossary[mfc-glossary,Merge From Current]."
msgid "MFH"
msgstr "MFH"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:557
msgid "See crossref:glossary[mfh-glossary,Merge From Head]."
msgstr "См. crossref:glossary[mfh-glossary,Merge From Head]."
@@ -1695,7 +1694,7 @@ msgstr "См. crossref:glossary[mfh-glossary,Merge From Head]."
msgid "MFS"
msgstr "MFS"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:560
msgid "See crossref:glossary[mfs-glossary,Merge From Stable]."
msgstr "См. crossref:glossary[mfs-glossary,Merge From Stable]."
@@ -1706,7 +1705,7 @@ msgstr "См. crossref:glossary[mfs-glossary,Merge From Stable]."
msgid "MFV"
msgstr "MFV"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:563
msgid "See crossref:glossary[mfv-glossary,Merge From Vendor]."
msgstr "См. crossref:glossary[mfv-glossary,Merge From Vendor]."
@@ -1717,7 +1716,7 @@ msgstr "См. crossref:glossary[mfv-glossary,Merge From Vendor]."
msgid "MIT"
msgstr "MIT"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:566
msgid ""
"See crossref:glossary[mit-glossary,Massachusetts Institute of Technology]."
@@ -1730,7 +1729,7 @@ msgstr ""
msgid "MLS"
msgstr "MLS"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:569
msgid "See crossref:glossary[mls-glossary,Multi-Level Security]."
msgstr "См. crossref:glossary[mls-glossary,Multi-Level Security]."
@@ -1741,7 +1740,7 @@ msgstr "См. crossref:glossary[mls-glossary,Multi-Level Security]."
msgid "MOTD"
msgstr "MOTD"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:572
msgid "See crossref:glossary[motd-glossary,Message Of The Day]."
msgstr "См. crossref:glossary[motd-glossary,Message Of The Day]."
@@ -1752,7 +1751,7 @@ msgstr "См. crossref:glossary[motd-glossary,Message Of The Day]."
msgid "MTA"
msgstr "MTA"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:575
msgid "See crossref:glossary[mta-glossary,Mail Transfer Agent]."
msgstr "См. crossref:glossary[mta-glossary,Mail Transfer Agent]."
@@ -1763,7 +1762,7 @@ msgstr "См. crossref:glossary[mta-glossary,Mail Transfer Agent]."
msgid "MUA"
msgstr "MUA"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:578
msgid "See crossref:glossary[mua-glossary,Mail User Agent]."
msgstr "См. crossref:glossary[mua-glossary,Mail User Agent]."
@@ -1774,7 +1773,7 @@ msgstr "См. crossref:glossary[mua-glossary,Mail User Agent]."
msgid "Mail Transfer Agent"
msgstr "Mail Transfer Agent"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:584
msgid ""
"An application used to transfer email. An MTA has traditionally been part "
@@ -1791,7 +1790,7 @@ msgstr ""
msgid "Mail User Agent"
msgstr "Mail User Agent"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:588
msgid "An application used by users to display and write email."
msgstr ""
@@ -1816,7 +1815,7 @@ msgstr "Massachusetts Institute of Technology"
msgid "Merge From Current"
msgstr "Merge From Current"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:600
msgid ""
"To merge functionality or a patch from the -CURRENT branch to another, most "
@@ -1831,7 +1830,7 @@ msgstr ""
msgid "Merge From Head"
msgstr "Merge From Head"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:604
msgid ""
"To merge functionality or a patch from a repository HEAD to an earlier "
@@ -1846,28 +1845,28 @@ msgstr ""
msgid "Merge From Stable"
msgstr "Merge From Stable"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:609
msgid ""
"In the normal course of FreeBSD development, a change will be committed to "
"the -CURRENT branch for testing before being merged to -STABLE. On rare "
-"occasions, a change will go into -STABLE first and then be merged to "
-"-CURRENT."
+"occasions, a change will go into -STABLE first and then be merged to -"
+"CURRENT."
msgstr ""
-"В обычном ходе разработки FreeBSD изменения сначала вносятся в ветку "
-"-CURRENT для тестирования, а затем переносятся в -STABLE. В редких случаях "
+"В обычном ходе разработки FreeBSD изменения сначала вносятся в ветку -"
+"CURRENT для тестирования, а затем переносятся в -STABLE. В редких случаях "
"изменения сначала попадают в -STABLE, а затем переносятся в -CURRENT."
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:611
msgid ""
"This term is also used when a patch is merged from -STABLE to a security "
"branch."
msgstr ""
-"Этот термин также используется, когда исправление переносится из ветки "
-"-STABLE в ветку безопасности."
+"Этот термин также используется, когда исправление переносится из ветки -"
+"STABLE в ветку безопасности."
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:613
msgid "See crossref:glossary[mfc-glossary,Also Merge From Current]."
msgstr "См. crossref:glossary[mfc-glossary,Also Merge From Current]."
@@ -1884,7 +1883,7 @@ msgstr "Merge From Vendor"
msgid "Message Of The Day"
msgstr "Message Of The Day"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:621
msgid ""
"A message, usually shown on login, often used to distribute information to "
@@ -1917,7 +1916,7 @@ msgstr "N"
msgid "NAT"
msgstr "NAT"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:635
msgid "See crossref:glossary[nat-glossary,Network Address Translation]."
msgstr "См. crossref:glossary[nat-glossary,Network Address Translation]."
@@ -1928,7 +1927,7 @@ msgstr "См. crossref:glossary[nat-glossary,Network Address Translation]."
msgid "NDISulator"
msgstr "NDISulator"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:638
msgid "See crossref:glossary[projectevil-glossary,Project Evil]."
msgstr "См. crossref:glossary[projectevil-glossary,Project Evil]."
@@ -1939,7 +1938,7 @@ msgstr "См. crossref:glossary[projectevil-glossary,Project Evil]."
msgid "NFS"
msgstr "NFS"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:641
msgid "See crossref:glossary[nfs-glossary,Network File System]."
msgstr "См. crossref:glossary[nfs-glossary,Network File System]."
@@ -1950,7 +1949,7 @@ msgstr "См. crossref:glossary[nfs-glossary,Network File System]."
msgid "NTFS"
msgstr "NTFS"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:644
msgid "See crossref:glossary[ntfs-glossary,New Technology File System]."
msgstr "См. crossref:glossary[ntfs-glossary,New Technology File System]."
@@ -1961,7 +1960,7 @@ msgstr "См. crossref:glossary[ntfs-glossary,New Technology File System]."
msgid "NTP"
msgstr "NTP"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:647
msgid "See crossref:glossary[ntp-glossary,Network Time Protocol]."
msgstr "См. crossref:glossary[ntp-glossary,Network Time Protocol]."
@@ -1972,7 +1971,7 @@ msgstr "См. crossref:glossary[ntp-glossary,Network Time Protocol]."
msgid "Network Address Translation"
msgstr "Network Address Translation"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:651
msgid ""
"A technique where IP packets are rewritten on the way through a gateway, "
@@ -1994,7 +1993,7 @@ msgstr "Network File System"
msgid "New Technology File System"
msgstr "New Technology File System"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:659
msgid ""
"A filesystem developed by Microsoft and available in its “New Technology” "
@@ -2010,7 +2009,7 @@ msgstr ""
msgid "Network Time Protocol"
msgstr "Network Time Protocol"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:663
msgid "A means of synchronizing clocks over a network."
msgstr "Средство синхронизации часов по сети."
@@ -2027,7 +2026,7 @@ msgstr "O"
msgid "OBE"
msgstr "OBE"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:669
msgid "See crossref:glossary[obe-glossary,Overtaken By Events]."
msgstr "См. crossref:glossary[obe-glossary,Overtaken By Events]."
@@ -2038,7 +2037,7 @@ msgstr "См. crossref:glossary[obe-glossary,Overtaken By Events]."
msgid "ODMR"
msgstr "ODMR"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:672
msgid "See crossref:glossary[odmr-glossary,On-Demand Mail Relay]."
msgstr "См. crossref:glossary[odmr-glossary,On-Demand Mail Relay]."
@@ -2049,7 +2048,7 @@ msgstr "См. crossref:glossary[odmr-glossary,On-Demand Mail Relay]."
msgid "OS"
msgstr "OS"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:675
msgid "See crossref:glossary[os-glossary,Operating System]."
msgstr "См. crossref:glossary[os-glossary,Operating System]."
@@ -2066,7 +2065,7 @@ msgstr "On-Demand Mail Relay"
msgid "Operating System"
msgstr "Operating System"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:684
msgid ""
"A set of programs, libraries and tools that provide access to the hardware "
@@ -2090,7 +2089,7 @@ msgstr ""
msgid "Overtaken By Events"
msgstr "Overtaken By Events"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:688
msgid ""
"Indicates a suggested change (such as a Problem Report or a feature request) "
@@ -2115,7 +2114,7 @@ msgstr "P"
msgid "PAE"
msgstr "PAE"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:694
msgid "See crossref:glossary[pae-glossary,Physical Address Extensions]."
msgstr "См. crossref:glossary[pae-glossary,Physical Address Extensions]."
@@ -2126,7 +2125,7 @@ msgstr "См. crossref:glossary[pae-glossary,Physical Address Extensions]."
msgid "PAM"
msgstr "PAM"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:697
msgid "See crossref:glossary[pam-glossary,Pluggable Authentication Modules]."
msgstr "См. crossref:glossary[pam-glossary,Pluggable Authentication Modules]."
@@ -2137,7 +2136,7 @@ msgstr "См. crossref:glossary[pam-glossary,Pluggable Authentication Modules]."
msgid "PAP"
msgstr "PAP"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:700
msgid "See crossref:glossary[pap-glossary,Password Authentication Protocol]."
msgstr "См. crossref:glossary[pap-glossary,Password Authentication Protocol]."
@@ -2148,7 +2147,7 @@ msgstr "См. crossref:glossary[pap-glossary,Password Authentication Protocol]."
msgid "PC"
msgstr "PC"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:703
msgid "See crossref:glossary[pc-glossary,Personal Computer]."
msgstr "См. crossref:glossary[pc-glossary,Personal Computer]."
@@ -2159,7 +2158,7 @@ msgstr "См. crossref:glossary[pc-glossary,Personal Computer]."
msgid "PCNSFD"
msgstr "PCNSFD"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:707
msgid ""
"See crossref:glossary[pcnfsd-glossary,Personal Computer Network File System "
@@ -2174,7 +2173,7 @@ msgstr ""
msgid "PDF"
msgstr "PDF"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:710
msgid "See crossref:glossary[pdf-glossary,Portable Document Format]."
msgstr "См. crossref:glossary[pdf-glossary,Portable Document Format]."
@@ -2185,7 +2184,7 @@ msgstr "См. crossref:glossary[pdf-glossary,Portable Document Format]."
msgid "PID"
msgstr "PID"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:713
msgid "See crossref:glossary[pid-glossary,Process ID]."
msgstr "См. crossref:glossary[pid-glossary,Process ID]."
@@ -2196,7 +2195,7 @@ msgstr "См. crossref:glossary[pid-glossary,Process ID]."
msgid "POLA"
msgstr "POLA"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:716
msgid "See crossref:glossary[pola-glossary,Principle Of Least Astonishment]."
msgstr "См. crossref:glossary[pola-glossary,Principle Of Least Astonishment]."
@@ -2207,7 +2206,7 @@ msgstr "См. crossref:glossary[pola-glossary,Principle Of Least Astonishment]."
msgid "POP"
msgstr "POP"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:719
msgid "See crossref:glossary[pop-glossary,Post Office Protocol]."
msgstr "См. crossref:glossary[pop-glossary,Post Office Protocol]."
@@ -2218,7 +2217,7 @@ msgstr "См. crossref:glossary[pop-glossary,Post Office Protocol]."
msgid "POP3"
msgstr "POP3"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:722
msgid "See crossref:glossary[pop3-glossary,Post Office Protocol Version 3]."
msgstr "См. crossref:glossary[pop3-glossary,Post Office Protocol Version 3]."
@@ -2229,7 +2228,7 @@ msgstr "См. crossref:glossary[pop3-glossary,Post Office Protocol Version 3]."
msgid "PPD"
msgstr "PPD"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:725
msgid "See crossref:glossary[ppd-glossary,PostScript Printer Description]."
msgstr "См. crossref:glossary[ppd-glossary,PostScript Printer Description]."
@@ -2240,7 +2239,7 @@ msgstr "См. crossref:glossary[ppd-glossary,PostScript Printer Description]."
msgid "PPP"
msgstr "PPP"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:728
msgid "See crossref:glossary[ppp-glossary,Point-to-Point Protocol]."
msgstr "См. crossref:glossary[ppp-glossary,Point-to-Point Protocol]."
@@ -2251,7 +2250,7 @@ msgstr "См. crossref:glossary[ppp-glossary,Point-to-Point Protocol]."
msgid "PPPoA"
msgstr "PPPoA"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:731
msgid "See crossref:glossary[pppoa-glossary,PPP over ATM]."
msgstr "См. crossref:glossary[pppoa-glossary,PPP over ATM]."
@@ -2262,7 +2261,7 @@ msgstr "См. crossref:glossary[pppoa-glossary,PPP over ATM]."
msgid "PPPoE"
msgstr "PPPoE"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:734
msgid "See crossref:glossary[pppoe-glossary,PPP over Ethernet]."
msgstr "См. crossref:glossary[pppoe-glossary,PPP over Ethernet]."
@@ -2285,7 +2284,7 @@ msgstr "PPP через Ethernet"
msgid "PR"
msgstr "PR"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:745
msgid "See crossref:glossary[pr-glossary,Problem Report]."
msgstr "См. crossref:glossary[pr-glossary,Problem Report]."
@@ -2296,7 +2295,7 @@ msgstr "См. crossref:glossary[pr-glossary,Problem Report]."
msgid "PXE"
msgstr "PXE"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:748
msgid "See crossref:glossary[pxe-glossary,Preboot eXecution Environment]."
msgstr "См. crossref:glossary[pxe-glossary,Preboot eXecution Environment]."
@@ -2325,7 +2324,7 @@ msgstr "Personal Computer Network File System Daemon"
msgid "Physical Address Extensions"
msgstr "Physical Address Extensions"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:764
msgid ""
"A method of enabling access to up to 64 GB of RAM on systems which only "
@@ -2354,7 +2353,7 @@ msgstr "Point-to-Point Protocol"
msgid "Pointy Hat"
msgstr "Pointy Hat"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:778
msgid ""
"A mythical piece of headgear, much like a dunce cap, awarded to any FreeBSD "
@@ -2387,7 +2386,7 @@ msgstr "Post Office Protocol"
msgid "Post Office Protocol Version 3"
msgstr "Post Office Protocol Version 3"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:790
msgid ""
"A protocol for accessing email messages on a mail server, characterised by "
@@ -2398,7 +2397,7 @@ msgstr ""
"характеризующийся тем, что сообщения обычно загружаются с сервера на клиент, "
"в отличие от хранения на сервере."
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:792
msgid ""
"See crossref:glossary[imap-glossary,Also Internet Message Access Protocol]."
@@ -2423,7 +2422,7 @@ msgstr "Preboot eXecution Environment"
msgid "Principle Of Least Astonishment"
msgstr "Principle Of Least Astonishment"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:806
msgid ""
"As FreeBSD evolves, changes visible to the user should be kept as "
@@ -2443,7 +2442,7 @@ msgstr ""
msgid "PRIME"
msgstr "PRIME"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:811
msgid ""
"A method of multiple physical graphics coprocessors coexisting by sharing "
@@ -2458,7 +2457,7 @@ msgstr ""
msgid "Problem Report"
msgstr "Problem Report"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:816
msgid ""
"A description of some kind of problem that has been found in either the "
@@ -2474,7 +2473,7 @@ msgstr ""
msgid "Process ID"
msgstr "Process ID"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:820
msgid ""
"A number, unique to a particular process on a system, which identifies it "
@@ -2489,7 +2488,7 @@ msgstr ""
msgid "Project Evil"
msgstr "Project Evil"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:827
msgid ""
"The working title for the NDISulator, written by Bill Paul, who named it "
@@ -2520,7 +2519,7 @@ msgstr "R"
msgid "RA"
msgstr "RA"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:833
msgid "See crossref:glossary[ra-glossary,Router Advertisement]."
msgstr "См. crossref:glossary[ra-glossary,Router Advertisement]."
@@ -2531,7 +2530,7 @@ msgstr "См. crossref:glossary[ra-glossary,Router Advertisement]."
msgid "RAID"
msgstr "RAID"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:836
msgid ""
"See crossref:glossary[raid-glossary,Redundant Array of Inexpensive Disks]."
@@ -2544,7 +2543,7 @@ msgstr ""
msgid "RAM"
msgstr "RAM"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:839
msgid "See crossref:glossary[ram-glossary,Random Access Memory]."
msgstr "См. crossref:glossary[ram-glossary,Random Access Memory]."
@@ -2555,7 +2554,7 @@ msgstr "См. crossref:glossary[ram-glossary,Random Access Memory]."
msgid "RD"
msgstr "RD"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:842
msgid "See crossref:glossary[rd-glossary,Received Data]."
msgstr "См. crossref:glossary[rd-glossary,Received Data]."
@@ -2566,7 +2565,7 @@ msgstr "См. crossref:glossary[rd-glossary,Received Data]."
msgid "RFC"
msgstr "RFC"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:845
msgid "See crossref:glossary[rfc-glossary,Request For Comments]."
msgstr "См. crossref:glossary[rfc-glossary,Request For Comments]."
@@ -2577,7 +2576,7 @@ msgstr "См. crossref:glossary[rfc-glossary,Request For Comments]."
msgid "RISC"
msgstr "RISC"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:848
msgid "See crossref:glossary[risc-glossary,Reduced Instruction Set Computer]."
msgstr "См. crossref:glossary[risc-glossary,Reduced Instruction Set Computer]."
@@ -2588,7 +2587,7 @@ msgstr "См. crossref:glossary[risc-glossary,Reduced Instruction Set Computer].
msgid "RPC"
msgstr "RPC"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:851
msgid "See crossref:glossary[rpc-glossary,Remote Procedure Call]."
msgstr "См. crossref:glossary[rpc-glossary,Remote Procedure Call]."
@@ -2599,7 +2598,7 @@ msgstr "См. crossref:glossary[rpc-glossary,Remote Procedure Call]."
msgid "RS232C"
msgstr "RS232C"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:854
msgid "See crossref:glossary[rs232c-glossary,Recommended Standard 232C]."
msgstr "См. crossref:glossary[rs232c-glossary,Recommended Standard 232C]."
@@ -2610,7 +2609,7 @@ msgstr "См. crossref:glossary[rs232c-glossary,Recommended Standard 232C]."
msgid "RTS"
msgstr "RTS"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:857
msgid "See crossref:glossary[rts-glossary,Request To Send]."
msgstr "См. crossref:glossary[rts-glossary,Request To Send]."
@@ -2627,7 +2626,7 @@ msgstr "Random Access Memory"
msgid "Revision Control System"
msgstr "Revision Control System"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:868
msgid ""
"The _Revision Control System (RCS)_ is one of the oldest software suites "
@@ -2647,7 +2646,7 @@ msgstr ""
"как Git, но она очень проста в установке, настройке и начале использования "
"для небольшого набора файлов."
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:870
msgid "See crossref:glossary[svn-glossary,Also Subversion]."
msgstr "См. crossref:glossary[svn-glossary,Also Subversion]."
@@ -2658,12 +2657,12 @@ msgstr "См. crossref:glossary[svn-glossary,Also Subversion]."
msgid "Received Data"
msgstr "Received Data"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:874
msgid "An RS232C pin or wire that data is received on."
msgstr "Контакт или провод кабеля RS232C, на который принимаются данные."
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:876
msgid "See crossref:glossary[td-glossary,Also Transmitted Data]."
msgstr "См. crossref:glossary[td-glossary,Also Transmitted Data]."
@@ -2674,7 +2673,7 @@ msgstr "См. crossref:glossary[td-glossary,Also Transmitted Data]."
msgid "Recommended Standard 232C"
msgstr "Recommended Standard 232C"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:880
msgid "A standard for communications between serial devices."
msgstr "Стандарт для связи между последовательными устройствами."
@@ -2685,7 +2684,7 @@ msgstr "Стандарт для связи между последователь
msgid "Reduced Instruction Set Computer"
msgstr "Reduced Instruction Set Computer"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:886
msgid ""
"An approach to processor design where the operations the hardware can "
@@ -2719,7 +2718,7 @@ msgstr "Remote Procedure Call"
msgid "Request For Comments"
msgstr "Request For Comments"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:899
msgid ""
"A set of documents defining Internet standards, protocols, and so forth. "
@@ -2728,7 +2727,7 @@ msgstr ""
"Набор документов, определяющих стандарты Интернета, протоколы и так далее. "
"См. www.rfc-editor.org."
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:901
msgid ""
"Also used as a general term when someone has a suggested change and wants "
@@ -2743,7 +2742,7 @@ msgstr ""
msgid "Request To Send"
msgstr "Request To Send"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:905
msgid ""
"An RS232C signal requesting that the remote system commences transmission of "
@@ -2751,7 +2750,7 @@ msgid ""
msgstr ""
"Сигнал RS232C, запрашивающий начало передачи данных от удаленной системы."
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:907
msgid "See crossref:glossary[cts-glossary,Also Clear To Send]."
msgstr "См. crossref:glossary[cts-glossary,Also Clear To Send]."
@@ -2774,7 +2773,7 @@ msgstr "S"
msgid "SCI"
msgstr "SCI"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:917
msgid "See crossref:glossary[sci-glossary,System Control Interrupt]."
msgstr "См. crossref:glossary[sci-glossary,System Control Interrupt]."
@@ -2785,7 +2784,7 @@ msgstr "См. crossref:glossary[sci-glossary,System Control Interrupt]."
msgid "SCSI"
msgstr "SCSI"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:920
msgid "See crossref:glossary[scsi-glossary,Small Computer System Interface]."
msgstr "См. crossref:glossary[scsi-glossary,Small Computer System Interface]."
@@ -2796,7 +2795,7 @@ msgstr "См. crossref:glossary[scsi-glossary,Small Computer System Interface]."
msgid "SG"
msgstr "SG"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:923
msgid "See crossref:glossary[sg-glossary,Signal Ground]."
msgstr "См. crossref:glossary[sg-glossary,Signal Ground]."
@@ -2807,7 +2806,7 @@ msgstr "См. crossref:glossary[sg-glossary,Signal Ground]."
msgid "SLAAC"
msgstr "SLAAC"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:926
msgid ""
"See crossref:glossary[slaac-glossary,StateLess Address AutoConfiguration]."
@@ -2820,7 +2819,7 @@ msgstr ""
msgid "SMB"
msgstr "SMB"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:929
msgid "See crossref:glossary[smb-glossary,Server Message Block]."
msgstr "См. crossref:glossary[smb-glossary,Server Message Block]."
@@ -2831,7 +2830,7 @@ msgstr "См. crossref:glossary[smb-glossary,Server Message Block]."
msgid "SMP"
msgstr "SMP"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:932
msgid "See crossref:glossary[smp-glossary,Symmetric MultiProcessor]."
msgstr "См. crossref:glossary[smp-glossary,Symmetric MultiProcessor]."
@@ -2842,7 +2841,7 @@ msgstr "См. crossref:glossary[smp-glossary,Symmetric MultiProcessor]."
msgid "SMTP"
msgstr "SMTP"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:935
msgid "See crossref:glossary[smtp-glossary,Simple Mail Transfer Protocol]."
msgstr "См. crossref:glossary[smtp-glossary,Simple Mail Transfer Protocol]."
@@ -2853,7 +2852,7 @@ msgstr "См. crossref:glossary[smtp-glossary,Simple Mail Transfer Protocol]."
msgid "SMTP AUTH"
msgstr "SMTP AUTH"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:938
msgid "See crossref:glossary[smtpauth-glossary,SMTP Authentication]."
msgstr "См. crossref:glossary[smtpauth-glossary,SMTP Authentication]."
@@ -2864,7 +2863,7 @@ msgstr "См. crossref:glossary[smtpauth-glossary,SMTP Authentication]."
msgid "SSH"
msgstr "SSH"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:941
msgid "See crossref:glossary[ssh-glossary,Secure Shell]."
msgstr "См. crossref:glossary[ssh-glossary,Secure Shell]."
@@ -2875,7 +2874,7 @@ msgstr "См. crossref:glossary[ssh-glossary,Secure Shell]."
msgid "STR"
msgstr "STR"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:944
msgid "See crossref:glossary[str-glossary,Suspend To RAM]."
msgstr "См. crossref:glossary[str-glossary,Suspend To RAM]."
@@ -2886,7 +2885,7 @@ msgstr "См. crossref:glossary[str-glossary,Suspend To RAM]."
msgid "SVN"
msgstr "SVN"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:947
msgid "See crossref:glossary[svn-glossary,Subversion]."
msgstr "См. crossref:glossary[svn-glossary,Subversion]."
@@ -2915,7 +2914,7 @@ msgstr "Server Message Block"
msgid "Signal Ground"
msgstr "Сигнальная земля (Signal Ground)"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:963
msgid "An RS232 pin or wire that is the ground reference for the signal."
msgstr ""
@@ -2945,7 +2944,7 @@ msgstr "Small Computer System Interface"
msgid "Subversion"
msgstr "Subversion"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:979
msgid ""
"Subversion is a version control system currently used by the FreeBSD project."
@@ -2983,7 +2982,7 @@ msgstr "T"
msgid "TCP"
msgstr "TCP"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:997
msgid "See crossref:glossary[tcp-glossary,Transmission Control Protocol]."
msgstr "См. crossref:glossary[tcp-glossary,Transmission Control Protocol]."
@@ -2994,7 +2993,7 @@ msgstr "См. crossref:glossary[tcp-glossary,Transmission Control Protocol]."
msgid "TCP/IP"
msgstr "TCP/IP"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:1001
msgid ""
"See crossref:glossary[tcpip-glossary,Transmission Control Protocol/Internet "
@@ -3009,7 +3008,7 @@ msgstr ""
msgid "TD"
msgstr "TD"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:1004
msgid "See crossref:glossary[td-glossary,Transmitted Data]."
msgstr "См. crossref:glossary[td-glossary,Transmitted Data]."
@@ -3020,7 +3019,7 @@ msgstr "См. crossref:glossary[td-glossary,Transmitted Data]."
msgid "TFTP"
msgstr "TFTP"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:1007
msgid "See crossref:glossary[tftp-glossary,Trivial FTP]."
msgstr "См. crossref:glossary[tftp-glossary,Trivial FTP]."
@@ -3031,7 +3030,7 @@ msgstr "См. crossref:glossary[tftp-glossary,Trivial FTP]."
msgid "TGT"
msgstr "TGT"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:1010
msgid "See crossref:glossary[tgt-glossary,Ticket-Granting Ticket]."
msgstr "См. crossref:glossary[tgt-glossary,Ticket-Granting Ticket]."
@@ -3042,7 +3041,7 @@ msgstr "См. crossref:glossary[tgt-glossary,Ticket-Granting Ticket]."
msgid "TSC"
msgstr "TSC"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:1013
msgid "See crossref:glossary[tsc-glossary,Time Stamp Counter]."
msgstr "См. crossref:glossary[tsc-glossary,Time Stamp Counter]."
@@ -3059,7 +3058,7 @@ msgstr "Ticket-Granting Ticket"
msgid "Time Stamp Counter"
msgstr "Time Stamp Counter"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:1021
msgid ""
"A profiling counter internal to modern Pentium(R) processors that counts "
@@ -3074,7 +3073,7 @@ msgstr ""
msgid "Transmission Control Protocol"
msgstr "Transmission Control Protocol"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:1025
msgid ""
"A protocol that sits on top of (e.g.) the IP protocol and guarantees that "
@@ -3089,7 +3088,7 @@ msgstr ""
msgid "Transmission Control Protocol/Internet Protocol"
msgstr "Transmission Control Protocol/Internet Protocol"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:1030
msgid ""
"The term for the combination of the TCP protocol running over the IP "
@@ -3104,12 +3103,12 @@ msgstr ""
msgid "Transmitted Data"
msgstr "Transmitted Data"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:1034
msgid "An RS232C pin or wire that data is transmitted on."
msgstr "Контакт или провод RS232C, по которому передаются данные."
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:1036
msgid "See crossref:glossary[rd-glossary,Also Received Data]."
msgstr "См. crossref:glossary[rd-glossary,Also Received Data]."
@@ -3132,7 +3131,7 @@ msgstr "U"
msgid "UDP"
msgstr "UDP"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:1046
msgid "See crossref:glossary[udp-glossary,User Datagram Protocol]."
msgstr "См. crossref:glossary[udp-glossary,User Datagram Protocol]."
@@ -3143,7 +3142,7 @@ msgstr "См. crossref:glossary[udp-glossary,User Datagram Protocol]."
msgid "UFS1"
msgstr "UFS1"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:1049
msgid "See crossref:glossary[ufs1-glossary,Unix File System Version 1]."
msgstr "См. crossref:glossary[ufs1-glossary,Unix File System Version 1]."
@@ -3154,7 +3153,7 @@ msgstr "См. crossref:glossary[ufs1-glossary,Unix File System Version 1]."
msgid "UFS2"
msgstr "UFS2"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:1052
msgid "See crossref:glossary[ufs2-glossary,Unix File System Version 2]."
msgstr "См. crossref:glossary[ufs2-glossary,Unix File System Version 2]."
@@ -3165,7 +3164,7 @@ msgstr "См. crossref:glossary[ufs2-glossary,Unix File System Version 2]."
msgid "UID"
msgstr "UID"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:1055
msgid "See crossref:glossary[uid-glossary,User ID]."
msgstr "См. crossref:glossary[uid-glossary,User ID]."
@@ -3176,7 +3175,7 @@ msgstr "См. crossref:glossary[uid-glossary,User ID]."
msgid "URL"
msgstr "URL"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:1058
msgid "See crossref:glossary[url-glossary,Uniform Resource Locator]."
msgstr "См. crossref:glossary[url-glossary,Uniform Resource Locator]."
@@ -3187,7 +3186,7 @@ msgstr "См. crossref:glossary[url-glossary,Uniform Resource Locator]."
msgid "USB"
msgstr "USB"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:1061
msgid "See crossref:glossary[usb-glossary,Universal Serial Bus]."
msgstr "См. crossref:glossary[usb-glossary,Universal Serial Bus]."
@@ -3198,7 +3197,7 @@ msgstr "См. crossref:glossary[usb-glossary,Universal Serial Bus]."
msgid "Uniform Resource Locator"
msgstr "Uniform Resource Locator"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:1065
msgid ""
"A method of locating a resource, such as a document on the Internet and a "
@@ -3213,7 +3212,7 @@ msgstr ""
msgid "Unix File System Version 1"
msgstr "Unix File System Version 1"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:1069
msgid ""
"The original UNIX(R) file system, sometimes called the Berkeley Fast File "
@@ -3228,7 +3227,7 @@ msgstr ""
msgid "Unix File System Version 2"
msgstr "Unix File System Version 2"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:1074
msgid ""
"An extension to UFS1, introduced in FreeBSD 5-CURRENT. UFS2 adds 64 bit "
@@ -3245,7 +3244,7 @@ msgstr ""
msgid "Universal Serial Bus"
msgstr "Universal Serial Bus"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:1078
msgid ""
"A hardware standard used to connect a wide variety of computer peripherals "
@@ -3260,7 +3259,7 @@ msgstr ""
msgid "User ID"
msgstr "User ID"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:1082
msgid ""
"A unique number assigned to each user of a computer, by which the resources "
@@ -3275,7 +3274,7 @@ msgstr ""
msgid "User Datagram Protocol"
msgstr "User Datagram Protocol"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:1087
msgid ""
"A simple, unreliable datagram protocol which is used for exchanging data on "
@@ -3298,7 +3297,7 @@ msgstr "V"
msgid "VPN"
msgstr "VPN"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:1093
msgid "See crossref:glossary[vpn-glossary,Virtual Private Network]."
msgstr "См. crossref:glossary[vpn-glossary,Virtual Private Network]."
@@ -3309,7 +3308,7 @@ msgstr "См. crossref:glossary[vpn-glossary,Virtual Private Network]."
msgid "Virtual Private Network"
msgstr "Virtual Private Network"
-#. type: discrete
+#. type: Plain text
#: documentation/content/en/books/handbook/glossary.adoc:1096
msgid ""
"A method of using a public telecommunication such as the Internet, to "
diff --git a/documentation/content/ru/books/handbook/introduction.po b/documentation/content/ru/books/handbook/introduction.po
index 73063ec38f..3eb4b7f51c 100644
--- a/documentation/content/ru/books/handbook/introduction.po
+++ b/documentation/content/ru/books/handbook/introduction.po
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-06-29 21:20+0100\n"
"PO-Revision-Date: 2025-07-05 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -19,12 +19,12 @@ msgstr ""
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.17\n"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/books/handbook/introduction.adoc:3
msgid "Abstract"
msgstr "Аннотация"
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/books/handbook/introduction.adoc:8
msgid ""
"Welcome to FreeBSD! This handbook covers the installation and day to day use "
@@ -34,28 +34,27 @@ msgid ""
"should send email to the {freebsd-doc}."
msgstr ""
"Добро пожаловать в FreeBSD! Данное руководство охватывает установку и "
-"повседневное использование FreeBSD {rel143-current}-RELEASE и {rel135-"
-"current}-RELEASE. Эта книга стала результатом постоянной работы многих "
-"участников. Некоторые разделы могут быть устаревшими. Все желающие помочь в "
-"обновлении и расширении данного документа могут написать на электронную "
-"почту {freebsd-doc}."
+"повседневное использование FreeBSD {rel143-current}-RELEASE и "
+"{rel135-current}-RELEASE. Эта книга стала результатом постоянной работы "
+"многих участников. Некоторые разделы могут быть устаревшими. Все желающие "
+"помочь в обновлении и расширении данного документа могут написать на "
+"электронную почту {freebsd-doc}."
-#. type: .abstract-title
+#. type: Plain text
#: documentation/content/en/books/handbook/introduction.adoc:12
msgid ""
-"The latest version of this book is available from the https://"
-"www.FreeBSD.org/[FreeBSD web site]. Previous versions can be obtained from "
-"https://docs.FreeBSD.org/doc/[https://docs.FreeBSD.org/doc/]. The book can "
-"be downloaded in a variety of formats and compression options from the "
-"https://download.freebsd.org/doc/[FreeBSD download server] or one of the "
-"numerous link:./mirrors#mirrors[mirror sites]. Searches can be performed on "
-"the handbook and other documents on the link:https://www.FreeBSD.org/search/"
-"[search page]."
+"The latest version of this book is available from the https://www.FreeBSD."
+"org/[FreeBSD web site]. Previous versions can be obtained from https://docs."
+"FreeBSD.org/doc/[https://docs.FreeBSD.org/doc/]. The book can be downloaded "
+"in a variety of formats and compression options from the https://download."
+"freebsd.org/doc/[FreeBSD download server] or one of the numerous link:./"
+"mirrors#mirrors[mirror sites]. Searches can be performed on the handbook "
+"and other documents on the link:https://www.FreeBSD.org/search/[search page]."
msgstr ""
"Последняя версия данного руководства доступна на https://www.FreeBSD.org/"
-"[веб-сайте FreeBSD]. Предыдущие версии можно получить по адресу https://"
-"docs.FreeBSD.org/doc/[https://docs.FreeBSD.org/doc/]. Книгу можно загрузить "
-"в различных форматах и вариантах сжатия с https://download.freebsd.org/doc/"
+"[веб-сайте FreeBSD]. Предыдущие версии можно получить по адресу https://docs."
+"FreeBSD.org/doc/[https://docs.FreeBSD.org/doc/]. Книгу можно загрузить в "
+"различных форматах и вариантах сжатия с https://download.freebsd.org/doc/"
"[сервера загрузок FreeBSD] или одного из link:./"
"mirrors#mirrors[многочисленных зеркал]. Поиск по данному руководству и "
"другим документам доступен на https://www.FreeBSD.org/search/[странице "
diff --git a/documentation/content/ru/books/handbook/introduction/_index.adoc b/documentation/content/ru/books/handbook/introduction/_index.adoc
index a559ed26e6..c073e1517b 100644
--- a/documentation/content/ru/books/handbook/introduction/_index.adoc
+++ b/documentation/content/ru/books/handbook/introduction/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/introduction/
part: 'В начале'
prev: books/handbook/parti
-showBookMenu: true
+showBookMenu: 'true'
tags: ["introduction", "synopsis", "about", "Who Uses FreeBSD", "goals", "history"]
title: 'Глава 1. Введение'
weight: 3
@@ -67,7 +67,7 @@ endif::[]
FreeBSD — это операционная система с открытым исходным кодом, соответствующая стандартам и похожая на Unix, предназначенная для компьютеров на архитектурах x86 (как 32-, так и 64-битных), ARM, AArch64, RISC-V, POWER и PowerPC. Она предоставляет все функции, которые сегодня считаются само собой разумеющимися, такие как вытесняющая многозадачность, защита памяти, виртуальная память, многопользовательские возможности, поддержка SMP, все инструменты разработки с открытым исходным кодом для различных языков и фреймворков, а также возможности для рабочих станций, включая X Window System, KDE или GNOME. Её основные преимущества:
-* _Лицензия Open Source с либеральными условиями_, которая предоставляет вам права свободно изменять и расширять её исходный код, а также включать его как в проекты с открытым исходным кодом, так и в закрытые продукты, не накладывая ограничений, характерных для копилефт-лицензий, и избегая потенциальных проблем несовместимости лицензий.
+* _Лицензия Open Source с либеральными условиями_, которая предоставляет вам права свободно изменять и расширять её исходный код, а также включать его как в проекты с открытым исходным кодом, так и в закрытые продукты, не накладывая ограничений, характерных для коплефтых лицензий, и избегая потенциальных проблем несовместимости лицензий.
* _Мощные TCP/IP сети_ — FreeBSD реализует промышленные стандартные протоколы с постоянно растущей производительностью и масштабируемостью. Это делает её отличным выбором как для серверов, так и для маршрутизации/файрволинга — и действительно, многие компании и поставщики используют её именно для этих целей.
* _Полностью интегрированная поддержка OpenZFS_, включая root-on-ZFS, ZFS Boot Environments, управление отказами, делегирование административных задач, поддержку клеток (jail), документацию, специфичную для FreeBSD, и поддержку системного установщика.
* _Расширенные функции безопасности_, от системы принудительного контроля доступа до механизмов песочницы и возможностей Capsicum.
diff --git a/documentation/content/ru/books/handbook/introduction/_index.po b/documentation/content/ru/books/handbook/introduction/_index.po
index 0d404d2c9a..2e78dba0d1 100644
--- a/documentation/content/ru/books/handbook/introduction/_index.po
+++ b/documentation/content/ru/books/handbook/introduction/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
-"PO-Revision-Date: 2025-09-05 04:45+0000\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
+"PO-Revision-Date: 2025-10-30 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/bookshandbookintroduction_index/ru/>\n"
@@ -18,19 +18,21 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/introduction/_index.adoc:1
#, no-wrap
msgid "This chapter covers various aspects of the FreeBSD Project, such as its history, goals, development model, and so on"
-msgstr "В этой главе рассматриваются различные аспекты проекта FreeBSD, такие как его история, цели, модель разработки и так далее"
+msgstr ""
+"В этой главе рассматриваются различные аспекты проекта FreeBSD, такие как "
+"его история, цели, модель разработки и так далее"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/introduction/_index.adoc:1
#, no-wrap
msgid "Part I. Getting Started"
msgstr "В начале"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/introduction/_index.adoc:1
#, no-wrap
msgid "Chapter 1. Introduction"
@@ -127,7 +129,7 @@ msgstr ""
"_Лицензия Open Source с либеральными условиями_, которая предоставляет вам "
"права свободно изменять и расширять её исходный код, а также включать его "
"как в проекты с открытым исходным кодом, так и в закрытые продукты, не "
-"накладывая ограничений, характерных для копилефт-лицензий, и избегая "
+"накладывая ограничений, характерных для коплефтых лицензий, и избегая "
"потенциальных проблем несовместимости лицензий."
#. type: Plain text
@@ -458,11 +460,12 @@ msgid ""
"en.wikipedia.org/wiki/List_of_products_based_on_FreeBSD[list of products "
"based on FreeBSD]."
msgstr ""
-"FreeBSD известна своими возможностями веб-сервера. Список link:https://"
-"freebsdfoundation.org/about-us/testimonials/[отзывов компаний, которые "
-"используют FreeBSD в своих продуктах и услугах], можно найти на сайте "
-"FreeBSD Foundation. Wikipedia также ведёт link:https://en.wikipedia.org/wiki/"
-"List_of_products_based_on_FreeBSD[список продуктов, основанных на FreeBSD]."
+"FreeBSD известна своими возможностями веб-сервера. Список "
+"link:https://freebsdfoundation.org/about-us/testimonials/[отзывов компаний, "
+"которые используют FreeBSD в своих продуктах и услугах], можно найти на "
+"сайте FreeBSD Foundation. Wikipedia также ведёт link:https://en.wikipedia."
+"org/wiki/List_of_products_based_on_FreeBSD[список продуктов, основанных на "
+"FreeBSD]."
#. type: Title ==
#: documentation/content/en/books/handbook/introduction/_index.adoc:124
@@ -717,13 +720,12 @@ msgid ""
"becoming more closely involved should consult the article on extref:"
"{contributing}[Contributing to FreeBSD]."
msgstr ""
-"Разработка FreeBSD — это extref:{dev-model}[очень открытый и гибкий "
-"процесс], буквально созданный из вклада тысяч людей по всему миру, что можно "
-"увидеть в нашем extref:{contributors}[списке участников]. Инфраструктура "
-"разработки FreeBSD позволяет этим тысячам участников сотрудничать через "
-"Интернет. Мы постоянно ищем новых добровольцев, и тем, кто хочет более тесно "
-"вовлечься, стоит ознакомиться со статьёй о extref:{contributing}[вкладе в "
-"FreeBSD]."
+"Разработка FreeBSD — это extref:{dev-model}[очень открытый и гибкий процесс]"
+", буквально созданный из вклада тысяч людей по всему миру, что можно увидеть "
+"в нашем extref:{contributors}[списке участников]. Инфраструктура разработки "
+"FreeBSD позволяет этим тысячам участников сотрудничать через Интернет. Мы "
+"постоянно ищем новых добровольцев, и тем, кто хочет более тесно вовлечься, "
+"стоит ознакомиться со статьёй о extref:{contributing}[вкладе в FreeBSD]."
#. type: Plain text
#: documentation/content/en/books/handbook/introduction/_index.adoc:183
@@ -801,10 +803,10 @@ msgstr ""
"и которые уполномочены вносить изменения в исходный код FreeBSD (термин "
"«коммиттер» происходит от команды `commit`, используемой в системе контроля "
"версий для добавления новых изменений в репозиторий). Любой может отправить "
-"отчёт об ошибке в link:https://bugs.FreeBSD.org/submit/ [Базу данных "
-"ошибок]. Перед отправкой отчёта можно воспользоваться списками рассылки "
-"FreeBSD, IRC-каналами или форумами, чтобы убедиться, что проблема "
-"действительно является ошибкой."
+"отчёт об ошибке в link:https://bugs.FreeBSD.org/submit/ [Базу данных ошибок]"
+". Перед отправкой отчёта можно воспользоваться списками рассылки FreeBSD, "
+"IRC-каналами или форумами, чтобы убедиться, что проблема действительно "
+"является ошибкой."
#. type: Labeled list
#: documentation/content/en/books/handbook/introduction/_index.adoc:197
@@ -845,10 +847,10 @@ msgid ""
msgstr ""
"Как и большинство разработчиков, большинство членов основной команды также "
"являются добровольцами в разработке FreeBSD и не получают финансовой выгоды "
-"от проекта, поэтому «обязательство» не следует ошибочно истолковывать как "
-"«гарантированную поддержку». Приведённая выше аналогия с «советом "
-"директоров» не совсем точна, и, возможно, правильнее будет сказать, что это "
-"люди, которые вопреки здравому смыслу посвятили свою жизнь FreeBSD!"
+"от проекта, поэтому «обязательство» не следует ошибочно истолковывать как «"
+"гарантированную поддержку». Приведённая выше аналогия с «советом директоров» "
+"не совсем точна, и, возможно, правильнее будет сказать, что это люди, "
+"которые вопреки здравому смыслу посвятили свою жизнь FreeBSD!"
#. type: Labeled list
#: documentation/content/en/books/handbook/introduction/_index.adoc:210
@@ -942,10 +944,9 @@ msgstr ""
"_пользователей_ FreeBSD, которым предоставляется простой способ отслеживания "
"единой централизованной кодовой базы, а не для того, чтобы исключить "
"потенциальных участников! Наше стремление — предоставить стабильную "
-"операционную систему с обширным набором согласованных "
-"crossref:ports[портов,прикладных программ], которые пользователи могут легко "
-"устанавливать и использовать — данная модель отлично справляется с этой "
-"задачей."
+"операционную систему с обширным набором согласованных crossref:ports["
+"портов,прикладных программ], которые пользователи могут легко устанавливать "
+"и использовать — данная модель отлично справляется с этой задачей."
#. type: Plain text
#: documentation/content/en/books/handbook/introduction/_index.adoc:233
@@ -1070,8 +1071,8 @@ msgid ""
"You can always find up to date documentation at link:https://"
"docs.FreeBSD.org/[The Documentation Portal]."
msgstr ""
-"Актуальную документацию всегда можно найти на link:https://docs.FreeBSD.org/"
-"[Портале документации]."
+"Актуальную документацию всегда можно найти на link:https://docs.FreeBSD.org/["
+"Портале документации]."
#. type: Plain text
#: documentation/content/en/books/handbook/introduction/_index.adoc:268
diff --git a/documentation/content/ru/books/handbook/jails/_index.adoc b/documentation/content/ru/books/handbook/jails/_index.adoc
index 0b15c25900..65e064fe4c 100644
--- a/documentation/content/ru/books/handbook/jails/_index.adoc
+++ b/documentation/content/ru/books/handbook/jails/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/jails/
part: 'Часть III. Администрирование системы'
prev: books/handbook/security
-showBookMenu: true
+showBookMenu: 'true'
tags: ["jails", "creating", "managing", "updating"]
title: 'Глава 17. Клетки и контейнеры'
weight: 21
diff --git a/documentation/content/ru/books/handbook/jails/_index.po b/documentation/content/ru/books/handbook/jails/_index.po
index fc90c18019..e82693c20c 100644
--- a/documentation/content/ru/books/handbook/jails/_index.po
+++ b/documentation/content/ru/books/handbook/jails/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-08-17 20:54+0100\n"
"PO-Revision-Date: 2025-09-27 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,19 +18,19 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/jails/_index.adoc:1
#, no-wrap
msgid "Jails improve on the concept of the traditional chroot environment in several ways"
msgstr "Клетки (jails) улучшают концепцию традиционного окружения chroot несколькими способами"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/jails/_index.adoc:1
#, no-wrap
msgid "Part III. System Administration"
msgstr "Часть III. Администрирование системы"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/jails/_index.adoc:1
#, no-wrap
msgid "Chapter 17. Jails and Containers"
@@ -789,12 +789,12 @@ msgstr "Для файлов клеток не назначено какого-т
#: documentation/content/en/books/handbook/jails/_index.adoc:247
msgid ""
"Some administrators use [.filename]#/jail#, others [.filename]#/usr/jail#, "
-"and still others [.filename]#/usr/local/jails#. In this chapter "
-"[.filename]#/usr/local/jails# will be used."
+"and still others [.filename]#/usr/local/jails#. In this chapter [."
+"filename]#/usr/local/jails# will be used."
msgstr ""
-"Некоторые администраторы используют [.filename]#/jail#, другие — "
-"[.filename]#/usr/jail#, а третьи — [.filename]#/usr/local/jails#. В этой "
-"главе будет использоваться [.filename]#/usr/local/jails#."
+"Некоторые администраторы используют [.filename]#/jail#, другие — [."
+"filename]#/usr/jail#, а третьи — [.filename]#/usr/local/jails#. В этой главе "
+"будет использоваться [.filename]#/usr/local/jails#."
#. type: Plain text
#: documentation/content/en/books/handbook/jails/_index.adoc:249
@@ -906,8 +906,8 @@ msgstr ""
msgid ""
"In case a host system has few jails, an entry for each jail can be added in "
"the file [.filename]#/etc/jail.conf#. If the host system has many jails, it "
-"is a good idea to have one configuration file for each jail in the "
-"[.filename]#/etc/jail.conf.d/# directory."
+"is a good idea to have one configuration file for each jail in the [."
+"filename]#/etc/jail.conf.d/# directory."
msgstr ""
"В случае, если на хостовой системе мало клеток, записи для каждого клетки "
"можно добавить в файл [.filename]#/etc/jail.conf#. Если на хостовой системе "
@@ -1031,8 +1031,8 @@ msgid ""
"operate inside the jail."
msgstr ""
"`allow.raw_sockets` — разрешает создание raw-сокетов внутри клетки. "
-"Установка этого параметра позволяет использовать такие утилиты, как "
-"man:ping[8] и man:traceroute[8], внутри клетки."
+"Установка этого параметра позволяет использовать такие утилиты, как man:"
+"ping[8] и man:traceroute[8], внутри клетки."
#. type: Plain text
#: documentation/content/en/books/handbook/jails/_index.adoc:332
@@ -1046,8 +1046,8 @@ msgid ""
"dev# directory, and apply the ruleset in the devfs_ruleset parameter to "
"restrict the devices visible inside the jail."
msgstr ""
-"`mount.devfs` - подключает файловую систему man:devfs[5] в каталоге "
-"[.filename]#/dev# внутри chroot и применяет набор правил из параметра "
+"`mount.devfs` - подключает файловую систему man:devfs[5] в каталоге [."
+"filename]#/dev# внутри chroot и применяет набор правил из параметра "
"devfs_ruleset, чтобы ограничить видимость устройств внутри клетки."
#. type: Plain text
@@ -1106,8 +1106,8 @@ msgid ""
"More information about configuration variables can be found in man:jail[8] "
"and man:jail.conf[5]."
msgstr ""
-"Дополнительную информацию о переменных конфигурации можно найти в "
-"man:jail[8] и man:jail.conf[5]."
+"Дополнительную информацию о переменных конфигурации можно найти в man:"
+"jail[8] и man:jail.conf[5]."
#. type: Title ==
#: documentation/content/en/books/handbook/jails/_index.adoc:350
@@ -1228,12 +1228,12 @@ msgstr "# freebsd-update -b /usr/local/jails/containers/classic/ fetch install\n
#: documentation/content/en/books/handbook/jails/_index.adoc:506
msgid ""
"The last step is to configure the jail. It will be necessary to add an "
-"entry to the configuration file [.filename]#/etc/jail.conf# or in "
-"[.filename]#jail.conf.d# with the parameters of the jail."
+"entry to the configuration file [.filename]#/etc/jail.conf# or in [."
+"filename]#jail.conf.d# with the parameters of the jail."
msgstr ""
"Последним шагом является настройка клетки. Необходимо добавить запись в "
-"конфигурационный файл [.filename]#/etc/jail.conf# или в "
-"[.filename]#jail.conf.d# с параметрами клетки."
+"конфигурационный файл [.filename]#/etc/jail.conf# или в [.filename]#jail."
+"conf.d# с параметрами клетки."
#. type: Plain text
#: documentation/content/en/books/handbook/jails/_index.adoc:398
@@ -1318,8 +1318,8 @@ msgstr "# service jail start classic\n"
#: documentation/content/en/books/handbook/jails/_index.adoc:430
#: documentation/content/en/books/handbook/jails/_index.adoc:541
msgid ""
-"More information on how to manage jails can be found in the section "
-"crossref:jails[jail-management, Jail Management]."
+"More information on how to manage jails can be found in the section crossref:"
+"jails[jail-management, Jail Management]."
msgstr ""
"Дополнительная информация об управлении клетками приведена в разделе "
"crossref:jails[jail-management,Управление клетками]."
@@ -1364,9 +1364,8 @@ msgid ""
"configuration-directories, \"Setting up the Jail Directory Tree\"]."
msgstr ""
"Для создания тонкой клетки с использованием снимков OpenZFS первым шагом "
-"является создание дерева каталогов клетки, следуя инструкциям в "
-"crossref:jails[host-configuration-directories, \"Настройка дерева каталогов "
-"клетки\"]."
+"является создание дерева каталогов клетки, следуя инструкциям в crossref:"
+"jails[host-configuration-directories, \"Настройка дерева каталогов клетки\"]."
#. type: Plain text
#: documentation/content/en/books/handbook/jails/_index.adoc:449
@@ -1772,11 +1771,11 @@ msgstr "# mkdir -p /usr/local/jails/thinjail-nullfs-base\n"
#. type: Plain text
#: documentation/content/en/books/handbook/jails/_index.adoc:662
msgid ""
-"Add a jail entry in [.filename]#/etc/jail.conf# or a file in "
-"[.filename]#jail.conf.d# as follows:"
+"Add a jail entry in [.filename]#/etc/jail.conf# or a file in [."
+"filename]#jail.conf.d# as follows:"
msgstr ""
-"Добавьте запись о клетке в [.filename]#/etc/jail.conf# или файл в "
-"[.filename]#jail.conf.d# следующим образом:"
+"Добавьте запись о клетке в [.filename]#/etc/jail.conf# или файл в [."
+"filename]#jail.conf.d# следующим образом:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/jails/_index.adoc:679
@@ -1898,8 +1897,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/jails/_index.adoc:732
msgid ""
-"To make this setting persist across reboots, add the following lines to "
-"[.filename]#/etc/rc.conf#:"
+"To make this setting persist across reboots, add the following lines to [."
+"filename]#/etc/rc.conf#:"
msgstr ""
"Чтобы сохранить этот параметр после перезагрузки, добавьте следующие строки "
"в [.filename]#/etc/rc.conf#:"
@@ -1951,8 +1950,8 @@ msgid ""
"The path [.filename]#/usr/local/jails/containers/vnet# will be used as an "
"example for the created jail."
msgstr ""
-"В качестве примера для созданной клетки будет использоваться путь "
-"[.filename]#/usr/local/jails/containers/vnet#."
+"В качестве примера для созданной клетки будет использоваться путь [."
+"filename]#/usr/local/jails/containers/vnet#."
#. type: Plain text
#: documentation/content/en/books/handbook/jails/_index.adoc:752
@@ -2081,10 +2080,10 @@ msgid ""
"They run on the host's kernel. Therefore it is necessary to enable Linux "
"Binary Compatibility in the host system."
msgstr ""
-"FreeBSD может запускать Linux внутри клетки, используя "
-"crossref:linuxemu[linuxemu,Linux Binary Compatibility] и man:debootstrap[8]. "
-"Клетки не имеют собственного ядра. Они работают на ядре хостовой системы. "
-"Поэтому необходимо включить Linux Binary Compatibility в хостовой системе."
+"FreeBSD может запускать Linux внутри клетки, используя crossref:"
+"linuxemu[linuxemu,Linux Binary Compatibility] и man:debootstrap[8]. Клетки "
+"не имеют собственного ядра. Они работают на ядре хостовой системы. Поэтому "
+"необходимо включить Linux Binary Compatibility в хостовой системе."
#. type: Plain text
#: documentation/content/en/books/handbook/jails/_index.adoc:805
@@ -2204,8 +2203,8 @@ msgid ""
"Inside the jail, execute the following commands to install package:sysutils/"
"debootstrap[] and prepare the Ubuntu environment:"
msgstr ""
-"Внутри клетки выполните следующие команды для установки пакета "
-"package:sysutils/debootstrap[] и подготовки окружения Ubuntu:"
+"Внутри клетки выполните следующие команды для установки пакета package:"
+"sysutils/debootstrap[] и подготовки окружения Ubuntu:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/jails/_index.adoc:861
@@ -2333,11 +2332,11 @@ msgstr "# jexec ubuntu chroot /compat/ubuntu /bin/bash\n"
#. type: Plain text
#: documentation/content/en/books/handbook/jails/_index.adoc:921
msgid ""
-"More information can be found in the chapter "
-"crossref:linuxemu[linuxemu,Linux Binary Compatibility]."
+"More information can be found in the chapter crossref:linuxemu[linuxemu,"
+"Linux Binary Compatibility]."
msgstr ""
-"Дополнительную информацию можно найти в главе "
-"crossref:linuxemu[linuxemu,Совместимость с Linux-бинарниками]."
+"Дополнительную информацию можно найти в главе crossref:linuxemu[linuxemu,"
+"Совместимость с Linux-бинарниками]."
#. type: Title ===
#: documentation/content/en/books/handbook/jails/_index.adoc:923
@@ -2348,14 +2347,14 @@ msgstr "Настройка сервисных клеток"
#. type: Plain text
#: documentation/content/en/books/handbook/jails/_index.adoc:930
msgid ""
-"A service jail is configured completely via [.filename]#/etc/rc.conf# or "
-"man:sysrc[8]. The base system services are service jails ready. They "
-"contain a config line which enables networking or lift other restrictions of "
-"jails. Base system services which do not make sense to run inside jails are "
-"configured to not be started as a service jail, even if enabled in "
-"[.filename]#/etc/rc.conf#. Some examples of such a service are services "
-"which want to mount or unmount something in the start of stop method, or "
-"only configure something like a route, or firewall, or the like."
+"A service jail is configured completely via [.filename]#/etc/rc.conf# or man:"
+"sysrc[8]. The base system services are service jails ready. They contain a "
+"config line which enables networking or lift other restrictions of jails. "
+"Base system services which do not make sense to run inside jails are "
+"configured to not be started as a service jail, even if enabled in [."
+"filename]#/etc/rc.conf#. Some examples of such a service are services which "
+"want to mount or unmount something in the start of stop method, or only "
+"configure something like a route, or firewall, or the like."
msgstr ""
"Сервисная клетка полностью настраивается через [.filename]#/etc/rc.conf# или "
"man:sysrc[8]. Базовые системные сервисы готовы для работы в сервисных "
@@ -2453,8 +2452,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/jails/_index.adoc:964
msgid ""
-"Service jails are managed only via man:rc.conf[5]/man:sysrc[8] and the "
-"man:service[8] command. The jail utilities, like man:jls[8] as described in "
+"Service jails are managed only via man:rc.conf[5]/man:sysrc[8] and the man:"
+"service[8] command. The jail utilities, like man:jls[8] as described in "
"crossref:jails[jail-management,Jail Management] can be used to investigate "
"the operation, but the man:jail[8] command is not supposed to be used to "
"manage them."
@@ -2493,8 +2492,8 @@ msgstr "Список работающих клеток"
#. type: Plain text
#: documentation/content/en/books/handbook/jails/_index.adoc:975
msgid ""
-"To list the jails that are running on the host system, the command "
-"man:jls[8] can be used:"
+"To list the jails that are running on the host system, the command man:"
+"jls[8] can be used:"
msgstr ""
"Для вывода списка клеток, запущенных в основной системе, можно использовать "
"команду man:jls[8]:"
@@ -2522,9 +2521,9 @@ msgid ""
"library allows other types of formats to be displayed, such as `JSON`, "
"`HTML`, etc."
msgstr ""
-"man:jls[8] поддерживает аргумент `--libxo`, который через библиотеку "
-"man:libxo[3] позволяет отображать данные в других форматах, таких как "
-"`JSON`, `HTML` и т.д."
+"man:jls[8] поддерживает аргумент `--libxo`, который через библиотеку man:"
+"libxo[3] позволяет отображать данные в других форматах, таких как `JSON`, "
+"`HTML` и т.д."
#. type: Plain text
#: documentation/content/en/books/handbook/jails/_index.adoc:991
@@ -2685,8 +2684,8 @@ msgstr "# pkg -j classic install nginx-lite\n"
#. type: Plain text
#: documentation/content/en/books/handbook/jails/_index.adoc:1062
msgid ""
-"For more information on working with packages in FreeBSD, see "
-"crossref:ports[ports,\"Installing Applications: Packages and Ports\"]."
+"For more information on working with packages in FreeBSD, see crossref:"
+"ports[ports,\"Installing Applications: Packages and Ports\"]."
msgstr ""
"Для получения дополнительной информации о работе с пакетами в FreeBSD см. "
"crossref:ports[ports,\"Установка приложений: Пакеты и порты\"]."
@@ -2737,8 +2736,8 @@ msgid ""
"To execute a command from the host system in a jail the man:jexec[8] can be "
"used."
msgstr ""
-"Для выполнения команды в клетке из основной системы можно использовать "
-"man:jexec[8]."
+"Для выполнения команды в клетке из основной системы можно использовать man:"
+"jexec[8]."
#. type: Plain text
#: documentation/content/en/books/handbook/jails/_index.adoc:1083
@@ -2993,8 +2992,8 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/jails/_index.adoc:1184
msgid ""
-"The `kern.racct.enable` tunable must be enabled at [.filename]#/boot/"
-"loader.conf#."
+"The `kern.racct.enable` tunable must be enabled at [.filename]#/boot/loader."
+"conf#."
msgstr ""
"Настройка `kern.racct.enable` должна быть включена в файле [.filename]#/boot/"
"loader.conf#."
diff --git a/documentation/content/ru/books/handbook/kernelconfig/_index.adoc b/documentation/content/ru/books/handbook/kernelconfig/_index.adoc
index 746a202645..1c3b8805e2 100644
--- a/documentation/content/ru/books/handbook/kernelconfig/_index.adoc
+++ b/documentation/content/ru/books/handbook/kernelconfig/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/kernelconfig/
part: 'Часть II. Стандартные задачи'
prev: books/handbook/multimedia
-showBookMenu: true
+showBookMenu: 'true'
tags: ["configuring", "kernel", "custom kernel", "hardware requirements", "pciconf"]
title: 'Глава 10. Настройка ядра FreeBSD'
weight: 13
@@ -157,7 +157,7 @@ ath_hal(4) - Atheros Hardware Access Layer (HAL)
Если [.filename]#/usr/src/# не существует или пуст, исходный код не установлен. Исходный код можно установить с помощью Git, следуя инструкциям в crossref:mirrors[git,“Использование Git”].
-После установки исходного кода ознакомьтесь с содержимым каталога [.filename]#/usr/src/sys#. Этот каталог содержит несколько подкаталогов, включая те, которые соответствуют следующим поддерживаемым архитектурам: [.filename]#amd64#, [.filename]#i386#, [.filename]#powerpc# и [.filename]#sparc64#. Всё содержимое каталога конкретной архитектуры относится только к этой архитектуре, а остальной код является машинно-независимым и общим для всех платформ. Каждая поддерживаемая архитектура имеет подкаталог [.filename]#conf#, который содержит файл конфигурации ядра [.filename]#GENERIC# для данной архитектуры.
+После установки исходного кода ознакомьтесь с содержимым каталога [.filename]#/usr/src/sys#. Этот каталог содержит несколько подкаталогов, включая те, которые соответствуют следующим поддерживаемым архитектурам: [.filename]#amd64#, [.filename]#i386#, [.filename]#powerpc# и [.filename]#sparc64#. Всё содержимое каталога конкретной архитектуры относится только к этой архитектуре, а остальной код является машинонезависимым и общим для всех платформ. Каждая поддерживаемая архитектура имеет подкаталог [.filename]#conf#, который содержит файл конфигурации ядра [.filename]#GENERIC# для данной архитектуры.
Не вносите изменения в файл [.filename]#GENERIC#. Вместо этого скопируйте его под другим именем и редактируйте копию. По сложившейся практике имя файла должно состоять из заглавных букв. Если вы обслуживаете несколько машин FreeBSD с разным оборудованием, разумно назвать файл по имени хоста соответствующей машины. В следующем примере создаётся копия файла конфигурации [.filename]#GENERIC# для архитектуры `amd64` с именем [.filename]#MYKERNEL#:
@@ -182,7 +182,7 @@ ath_hal(4) - Atheros Hardware Access Layer (HAL)
====
После завершения настройки конфигурационного файла ядра сохраните резервную копию в расположении за пределами [.filename]#/usr/src#.
-Альтернативно, можно сохранить файл конфигурации ядра в другом месте и создать символическую ссылку на него:
+Или можно сохранить файл конфигурации ядра в другом месте и создать символическую ссылку на него:
[source, shell]
....
@@ -227,7 +227,7 @@ options IPDIVERT
[.procedure]
====
-*Procedure: Building a Kernel*
+*Процедура: Сборка ядра*
. Перейдите в этот каталог:
+
@@ -262,7 +262,7 @@ options IPDIVERT
MODULES_OVERRIDE = linux acpi
....
-В качестве альтернативы, эта переменная указывает, какие модули исключить из процесса сборки:
+Или эта переменная указывает, какие модули исключить из процесса сборки:
[.programlisting]
....
diff --git a/documentation/content/ru/books/handbook/kernelconfig/_index.po b/documentation/content/ru/books/handbook/kernelconfig/_index.po
index a6260a05f9..5cd6c75e69 100644
--- a/documentation/content/ru/books/handbook/kernelconfig/_index.po
+++ b/documentation/content/ru/books/handbook/kernelconfig/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
-"PO-Revision-Date: 2025-06-14 04:45+0000\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
+"PO-Revision-Date: 2025-10-29 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/bookshandbookkernelconfig_index/ru/>\n"
@@ -18,19 +18,22 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:1
#, no-wrap
msgid "This chapter covers how to configure the FreeBSD Kernel. When to build a custom kernel, how to take a hardware inventory, how to customize a kernel configuration file, etc"
-msgstr "Эта глава рассказывает о настройке ядра FreeBSD. Когда стоит собирать собственное ядро, как провести инвентаризацию оборудования, как настроить конфигурационный файл ядра и т. д."
+msgstr ""
+"Эта глава рассказывает о настройке ядра FreeBSD. Когда стоит собирать "
+"собственное ядро, как провести инвентаризацию оборудования, как настроить "
+"конфигурационный файл ядра и т. д."
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:1
#, no-wrap
msgid "Part II. Common Tasks"
msgstr "Часть II. Стандартные задачи"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:1
#, no-wrap
msgid "Chapter 10. Configuring the FreeBSD Kernel"
@@ -169,11 +172,10 @@ msgid ""
msgstr ""
"Сборка собственного ядра часто является своего рода обрядом посвящения для "
"опытных пользователей BSD. Этот процесс, хотя и отнимает много времени, "
-"может принести пользу системе FreeBSD. В отличие от ядра "
-"[.filename]#GENERIC#, которое должно поддерживать широкий спектр "
-"оборудования, собственное ядро можно сократить до поддержки только "
-"аппаратного обеспечения данного компьютера. Это дает ряд преимуществ, таких "
-"как:"
+"может принести пользу системе FreeBSD. В отличие от ядра [.filename]#GENERIC#"
+", которое должно поддерживать широкий спектр оборудования, собственное ядро "
+"можно сократить до поддержки только аппаратного обеспечения данного "
+"компьютера. Это дает ряд преимуществ, таких как:"
#. type: Plain text
#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:90
@@ -260,7 +262,8 @@ msgid ""
"Alternatively, to load the driver as a module at boot time, place the\n"
"following line in man:loader.conf[5]:\n"
msgstr ""
-"В качестве альтернативы, для загрузки драйвера в виде модуля при старте системы,\n"
+"В качестве альтернативы, для загрузки драйвера в виде модуля при старте "
+"системы,\n"
"поместите следующую строку в man:loader.conf[5]:\n"
#. type: delimited block . 4
@@ -284,8 +287,8 @@ msgid ""
"In some cases, there is no associated module in [.filename]#/boot/kernel#. "
"This is mostly true for certain subsystems."
msgstr ""
-"В некоторых случаях связанный модуль отсутствует в [.filename]#/boot/"
-"kernel#. Это в основном относится к определенным подсистемам."
+"В некоторых случаях связанный модуль отсутствует в [.filename]#/boot/kernel#"
+". Это в основном относится к определенным подсистемам."
#. type: Title ==
#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:121
@@ -383,7 +386,8 @@ msgid ""
" subclass = ethernet\n"
msgstr ""
"% pciconf -lv\n"
-"ath0@pci0:3:0:0: class=0x020000 card=0x058a1014 chip=0x1014168c rev=0x01 hdr=0x00\n"
+"ath0@pci0:3:0:0: class=0x020000 card=0x058a1014 chip=0x1014168c "
+"rev=0x01 hdr=0x00\n"
" vendor = 'Atheros Communications Inc.'\n"
" device = 'AR5212 Atheros AR5212 802.11abg wireless'\n"
" class = network\n"
@@ -471,15 +475,15 @@ msgid ""
"[.filename]#conf# subdirectory which contains the [.filename]#GENERIC# "
"kernel configuration file for that architecture."
msgstr ""
-"После установки исходного кода ознакомьтесь с содержимым каталога "
-"[.filename]#/usr/src/sys#. Этот каталог содержит несколько подкаталогов, "
-"включая те, которые соответствуют следующим поддерживаемым архитектурам: "
-"[.filename]#amd64#, [.filename]#i386#, [.filename]#powerpc# и "
-"[.filename]#sparc64#. Всё содержимое каталога конкретной архитектуры "
-"относится только к этой архитектуре, а остальной код является машинно-"
-"независимым и общим для всех платформ. Каждая поддерживаемая архитектура "
-"имеет подкаталог [.filename]#conf#, который содержит файл конфигурации ядра "
-"[.filename]#GENERIC# для данной архитектуры."
+"После установки исходного кода ознакомьтесь с содержимым каталога [."
+"filename]#/usr/src/sys#. Этот каталог содержит несколько подкаталогов, "
+"включая те, которые соответствуют следующим поддерживаемым архитектурам: [."
+"filename]#amd64#, [.filename]#i386#, [.filename]#powerpc# и [."
+"filename]#sparc64#. Всё содержимое каталога конкретной архитектуры относится "
+"только к этой архитектуре, а остальной код является машинонезависимым и "
+"общим для всех платформ. Каждая поддерживаемая архитектура имеет подкаталог ["
+".filename]#conf#, который содержит файл конфигурации ядра [."
+"filename]#GENERIC# для данной архитектуры."
#. type: Plain text
#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:193
@@ -496,8 +500,8 @@ msgstr ""
"файла должно состоять из заглавных букв. Если вы обслуживаете несколько "
"машин FreeBSD с разным оборудованием, разумно назвать файл по имени хоста "
"соответствующей машины. В следующем примере создаётся копия файла "
-"конфигурации [.filename]#GENERIC# для архитектуры `amd64` с именем "
-"[.filename]#MYKERNEL#:"
+"конфигурации [.filename]#GENERIC# для архитектуры `amd64` с именем [."
+"filename]#MYKERNEL#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:198
@@ -580,8 +584,8 @@ msgid ""
"Alternately, keep the kernel configuration file elsewhere and create a "
"symbolic link to the file:"
msgstr ""
-"Альтернативно, можно сохранить файл конфигурации ядра в другом месте и "
-"создать символическую ссылку на него:"
+"Или можно сохранить файл конфигурации ядра в другом месте и создать "
+"символическую ссылку на него:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:231
@@ -684,14 +688,13 @@ msgstr ""
"После сохранения изменений в пользовательском конфигурационном файле "
"исходный код ядра можно скомпилировать, выполнив следующие шаги:"
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:273
-#, fuzzy
-#| msgid "*Procedure: Building a Kernel*\n"
-msgid "*Procedure: Building a Kernel*"
+#, no-wrap
+msgid "*Procedure: Building a Kernel*\n"
msgstr "*Процедура: Сборка ядра*\n"
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:275
msgid "Change to this directory:"
msgstr "Перейдите в этот каталог:"
@@ -776,8 +779,7 @@ msgid ""
"Alternately, this variable lists which modules to exclude from the build "
"process:"
msgstr ""
-"В качестве альтернативы, эта переменная указывает, какие модули исключить из "
-"процесса сборки:"
+"Или эта переменная указывает, какие модули исключить из процесса сборки:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:314
@@ -822,8 +824,8 @@ msgid ""
msgstr ""
"Если `config` завершается с ошибкой, он выводит номер строки, содержащей "
"ошибку. Например, при получении следующего сообщения убедитесь, что строка "
-"17 введена правильно, сравнив её с [.filename]#GENERIC# или "
-"[.filename]#NOTES#:"
+"17 введена правильно, сравнив её с [.filename]#GENERIC# или [."
+"filename]#NOTES#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:331
@@ -932,9 +934,9 @@ msgid ""
"version of the kernel than the rest of the operating system."
msgstr ""
"Если версия ядра отличается от той, с которой собраны системные утилиты, "
-"например, при установке ядра, собранного из исходников -CURRENT, на систему "
-"-RELEASE, многие команды для просмотра состояния системы, такие как "
-"man:ps[1] и man:vmstat[8], не будут работать. Чтобы исправить это, "
-"crossref:cutting-edge[makeworld,пересоберите и установите world], собранный "
-"из той же версии исходного дерева, что и ядро. Никогда не рекомендуется "
-"использовать версию ядра, отличную от остальной операционной системы."
+"например, при установке ядра, собранного из исходников -CURRENT, на систему -"
+"RELEASE, многие команды для просмотра состояния системы, такие как man:ps[1] "
+"и man:vmstat[8], не будут работать. Чтобы исправить это, crossref:cutting-"
+"edge[makeworld,пересоберите и установите world], собранный из той же версии "
+"исходного дерева, что и ядро. Никогда не рекомендуется использовать версию "
+"ядра, отличную от остальной операционной системы."
diff --git a/documentation/content/ru/books/handbook/l10n/_index.adoc b/documentation/content/ru/books/handbook/l10n/_index.adoc
index 488f127292..8ffb31c34a 100644
--- a/documentation/content/ru/books/handbook/l10n/_index.adoc
+++ b/documentation/content/ru/books/handbook/l10n/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/l10n/
part: 'Часть III. Администрирование системы'
prev: books/handbook/virtualization
-showBookMenu: true
+showBookMenu: 'true'
tags: ["i18n", "L10n", "localization", "Locale", "LANG", "MM_CHARSET", "cap_mkdb"]
title: 'Глава 25. Локализация — использование и настройка i18n/L10n'
weight: 29
@@ -164,7 +164,7 @@ me:\
:xmodifiers="@im=gcin": #Set gcin as the XIM Input Server
....
-Альтернативно, суперпользователь может настроить локализацию для всех пользователей системы. Следующие переменные в [.filename]#/etc/login.conf# используются для установки локали и набора символов MIME:
+Или суперпользователь может настроить локализацию для всех пользователей системы. Следующие переменные в [.filename]#/etc/login.conf# используются для установки локали и набора символов MIME:
[.programlisting]
....
@@ -296,7 +296,7 @@ keymap=keymap_name
keychange="fkey_number sequence"
....
-Чтобы просмотреть список доступных карт экрана, введите `ls /usr/share/syscons/scrnmaps`. Не указывайте суффикс [.filename]#.scm# при указании _screenmap_name_. Обычно требуется карта экрана с соответствующим сопоставленным фонтом в качестве обходного решения для расширения 8-го бита до 9-го в матрице символов шрифта адаптера VGA, чтобы буквы были выведены из области псевдографики, если экранный шрифт использует столбец 8-го бита.
+Чтобы просмотреть список доступных карт экрана, введите `ls /usr/share/syscons/scrnmaps`. Не указывайте суффикс [.filename]#.scm# при указании _screenmap_name_. Обычно требуется карта экрана с соответствующим сопоставленным шрифтом в качестве обходного решения для расширения 8-го бита до 9-го в матрице символов шрифта адаптера VGA, чтобы буквы были выведены из области псевдографики, если экранный шрифт использует столбец 8-го бита.
Чтобы просмотреть список доступных раскладок клавиатуры, введите `ls /usr/share/syscons/keymaps`. При указании _keymap_name_ не включайте суффикс [.filename]#.kbd#. Для проверки раскладок без перезагрузки используйте man:kbdmap[1].
diff --git a/documentation/content/ru/books/handbook/l10n/_index.po b/documentation/content/ru/books/handbook/l10n/_index.po
index 4d7e9a0143..0b8481381f 100644
--- a/documentation/content/ru/books/handbook/l10n/_index.po
+++ b/documentation/content/ru/books/handbook/l10n/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
-"PO-Revision-Date: 2025-06-09 04:45+0000\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
+"PO-Revision-Date: 2025-10-29 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/bookshandbookl10n_index/ru/>\n"
@@ -18,19 +18,22 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/l10n/_index.adoc:1
#, no-wrap
msgid "FreeBSD supports localization into many languages, allowing users to view, input, or process data in non-English languages"
-msgstr "FreeBSD поддерживает локализацию на множество языков, позволяя пользователям просматривать, вводить или обрабатывать данные на языках, отличных от английского"
+msgstr ""
+"FreeBSD поддерживает локализацию на множество языков, позволяя пользователям "
+"просматривать, вводить или обрабатывать данные на языках, отличных от "
+"английского"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/l10n/_index.adoc:1
#, no-wrap
msgid "Part III. System Administration"
msgstr "Часть III. Администрирование системы"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/l10n/_index.adoc:1
#, no-wrap
msgid "Chapter 25. Localization - i18n/L10n Usage and Setup"
@@ -306,8 +309,8 @@ msgid ""
"[.filename]#~/.bashrc#, or [.filename]#~/.cshrc#."
msgstr ""
"Настройки локали настраиваются либо в файле [.filename]#~/.login_conf# "
-"пользователя, либо в стартовом файле его оболочки: [.filename]#~/.profile#, "
-"[.filename]#~/.bashrc# или [.filename]#~/.cshrc#."
+"пользователя, либо в стартовом файле его оболочки: [.filename]#~/.profile#, ["
+".filename]#~/.bashrc# или [.filename]#~/.cshrc#."
#. type: Plain text
#: documentation/content/en/books/handbook/l10n/_index.adoc:144
@@ -342,9 +345,9 @@ msgid ""
"method, and the crossref:l10n[startup-file,startup file] method. The next "
"two sections demonstrate how to use both methods."
msgstr ""
-"Доступны два метода для задания необходимых переменных: метод "
-"crossref:l10n[login-class,класса входа], который является рекомендуемым, и "
-"метод crossref:l10n[startup-file,файла запуска]. В следующих двух разделах "
+"Доступны два метода для задания необходимых переменных: метод crossref:l10n"
+"[login-class,класса входа], который является рекомендуемым, и метод "
+"crossref:l10n[startup-file,файла запуска]. В следующих двух разделах "
"показано, как использовать оба метода."
#. type: Title ====
@@ -417,7 +420,9 @@ msgstr ""
"#of Taiwan can manually change each variable\n"
"me:\\\n"
"\t:lang=zh_TW.Big5:\\\n"
-"\t:setenv=LC_ALL=zh_TW.Big5,LC_COLLATE=zh_TW.Big5,LC_CTYPE=zh_TW.Big5,LC_MESSAGES=zh_TW.Big5,LC_MONETARY=zh_TW.Big5,LC_NUMERIC=zh_TW.Big5,LC_TIME=zh_TW.Big5:\\\n"
+"\t:setenv=LC_ALL=zh_TW.Big5,LC_COLLATE=zh_TW.Big5,LC_CTYPE=zh_TW."
+"Big5,LC_MESSAGES=zh_TW.Big5,LC_MONETARY=zh_TW.Big5,LC_NUMERIC=zh_TW."
+"Big5,LC_TIME=zh_TW.Big5:\\\n"
"\t:charset=big5:\\\n"
"\t:xmodifiers=\"@im=gcin\": #Set gcin as the XIM Input Server\n"
@@ -428,9 +433,9 @@ msgid ""
"localization. The following variables in [.filename]#/etc/login.conf# are "
"used to set the locale and MIME character set:"
msgstr ""
-"Альтернативно, суперпользователь может настроить локализацию для всех "
-"пользователей системы. Следующие переменные в [.filename]#/etc/login.conf# "
-"используются для установки локали и набора символов MIME:"
+"Или суперпользователь может настроить локализацию для всех пользователей "
+"системы. Следующие переменные в [.filename]#/etc/login.conf# используются "
+"для установки локали и набора символов MIME:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/l10n/_index.adoc:193
@@ -620,11 +625,11 @@ msgid ""
msgstr ""
"Этот второй метод не рекомендуется, так как каждая используемая оболочка "
"требует ручной настройки, причём у каждой оболочки свой файл конфигурации и "
-"разный синтаксис. Например, чтобы установить немецкий язык для оболочки "
-"`sh`, можно добавить следующие строки в [.filename]#~/.profile# для "
-"настройки оболочки только этого пользователя. Эти же строки можно добавить в "
-"[.filename]#/etc/profile# или [.filename]#/usr/share/skel/dot.profile#, "
-"чтобы настроить эту оболочку для всех пользователей:"
+"разный синтаксис. Например, чтобы установить немецкий язык для оболочки `sh`"
+", можно добавить следующие строки в [.filename]#~/.profile# для настройки "
+"оболочки только этого пользователя. Эти же строки можно добавить в [."
+"filename]#/etc/profile# или [.filename]#/usr/share/skel/dot.profile#, чтобы "
+"настроить эту оболочку для всех пользователей:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/l10n/_index.adoc:276
@@ -645,8 +650,8 @@ msgid ""
"share/skel/dot.login#:"
msgstr ""
"Однако имя файла конфигурации и используемый синтаксис отличаются для "
-"оболочки `csh`. Вот эквивалентные настройки для [.filename]#~/.login#, "
-"[.filename]#/etc/csh.login# или [.filename]#/usr/share/skel/dot.login#:"
+"оболочки `csh`. Вот эквивалентные настройки для [.filename]#~/.login#, [."
+"filename]#/etc/csh.login# или [.filename]#/usr/share/skel/dot.login#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/l10n/_index.adoc:285
@@ -665,9 +670,9 @@ msgid ""
"[.filename]#~/.xinitrc# also depends upon the shell. The first example is "
"for the `sh` shell and the second is for the `csh` shell:"
msgstr ""
-"Чтобы усложнить ситуацию, синтаксис, необходимый для настройки Xorg в "
-"[.filename]#~/.xinitrc#, также зависит от оболочки. Первый пример приведён "
-"для оболочки `sh`, а второй — для `csh`:"
+"Чтобы усложнить ситуацию, синтаксис, необходимый для настройки Xorg в [."
+"filename]#~/.xinitrc#, также зависит от оболочки. Первый пример приведён для "
+"оболочки `sh`, а второй — для `csh`:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/l10n/_index.adoc:293
@@ -746,7 +751,7 @@ msgstr ""
"Чтобы просмотреть список доступных карт экрана, введите `ls /usr/share/"
"syscons/scrnmaps`. Не указывайте суффикс [.filename]#.scm# при указании "
"_screenmap_name_. Обычно требуется карта экрана с соответствующим "
-"сопоставленным фонтом в качестве обходного решения для расширения 8-го бита "
+"сопоставленным шрифтом в качестве обходного решения для расширения 8-го бита "
"до 9-го в матрице символов шрифта адаптера VGA, чтобы буквы были выведены из "
"области псевдографики, если экранный шрифт использует столбец 8-го бита."
@@ -758,8 +763,8 @@ msgid ""
"suffix. To test keymaps without rebooting, use man:kbdmap[1]."
msgstr ""
"Чтобы просмотреть список доступных раскладок клавиатуры, введите `ls /usr/"
-"share/syscons/keymaps`. При указании _keymap_name_ не включайте суффикс "
-"[.filename]#.kbd#. Для проверки раскладок без перезагрузки используйте "
+"share/syscons/keymaps`. При указании _keymap_name_ не включайте суффикс [."
+"filename]#.kbd#. Для проверки раскладок без перезагрузки используйте "
"man:kbdmap[1]."
#. type: Plain text
@@ -1036,9 +1041,9 @@ msgstr ""
"В crossref:x11[x11,Система X Window] описана установка и настройка Xorg. При "
"настройке Xorg для локализации дополнительные шрифты и методы ввода доступны "
"в коллекции портов FreeBSD. Настройки интернационализации для конкретных "
-"приложений, такие как шрифты и меню, можно настроить в "
-"[.filename]#~/.Xresources#, что должно позволить пользователям видеть "
-"выбранный язык в меню графических приложений."
+"приложений, такие как шрифты и меню, можно настроить в [.filename]#~/."
+"Xresources#, что должно позволить пользователям видеть выбранный язык в меню "
+"графических приложений."
#. type: Plain text
#: documentation/content/en/books/handbook/l10n/_index.adoc:415
@@ -1465,8 +1470,8 @@ msgid ""
"[.filename]#/etc/fstab#:"
msgstr ""
"Для настройки поддержки русских имен файлов в монтируемых файловых системах "
-"MS-DOS(R) добавьте параметр `-L` и указание локали при добавлении записи в "
-"[.filename]#/etc/fstab#:"
+"MS-DOS(R) добавьте параметр `-L` и указание локали при добавлении записи в [."
+"filename]#/etc/fstab#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/l10n/_index.adoc:587
@@ -1550,8 +1555,8 @@ msgid ""
"mapped incorrectly, add the following line to [.filename]#/etc/xorg.conf#:"
msgstr ""
"Если на клавиатуре есть клавиши «Windows(R)» и некоторые неалфавитные "
-"клавиши отображаются неправильно, добавьте следующую строку в файл "
-"[.filename]#/etc/xorg.conf#:"
+"клавиши отображаются неправильно, добавьте следующую строку в файл [."
+"filename]#/etc/xorg.conf#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/l10n/_index.adoc:619
@@ -1567,8 +1572,8 @@ msgid ""
"NULL, NULL);` function early in the program."
msgstr ""
"Русская раскладка XKB может не работать с нелокализованными приложениями. "
-"Минимально локализованные приложения должны вызывать функцию "
-"`XtSetLanguageProc (NULL, NULL, NULL);` в начале программы."
+"Минимально локализованные приложения должны вызывать функцию `"
+"XtSetLanguageProc (NULL, NULL, NULL);` в начале программы."
#. type: Plain text
#: documentation/content/en/books/handbook/l10n/_index.adoc:629
@@ -1579,8 +1584,8 @@ msgid ""
msgstr ""
"См. http://koi8.pp.ru/xwin.html[http://koi8.pp.ru/xwin.html] для получения "
"дополнительных инструкций по локализации приложений Xorg. Более общую "
-"информацию о кодировке KOI8-R можно найти на http://koi8.pp.ru/[http://"
-"koi8.pp.ru/]."
+"информацию о кодировке KOI8-R можно найти на http://koi8.pp.ru/[http://koi8."
+"pp.ru/]."
#. type: Title ===
#: documentation/content/en/books/handbook/l10n/_index.adoc:630
@@ -1609,8 +1614,8 @@ msgid ""
"~statue/freebsd/zh-tut/]."
msgstr ""
"Проект FreeBSD-Taiwan предлагает руководство на китайском языке по FreeBSD "
-"по адресу http://netlab.cse.yzu.edu.tw/\\~statue/freebsd/zh-tut/[http://"
-"netlab.cse.yzu.edu.tw/~statue/freebsd/zh-tut/]."
+"по адресу http://netlab.cse.yzu.edu.tw/\\~statue/freebsd/zh-tut/"
+"[http://netlab.cse.yzu.edu.tw/~statue/freebsd/zh-tut/]."
#. type: Labeled list
#: documentation/content/en/books/handbook/l10n/_index.adoc:637
@@ -1625,8 +1630,8 @@ msgid ""
"www.FreeBSD.org/doc/gr/articles/greek-language-support/[here], in Greek "
"only, as part of the official FreeBSD Greek documentation."
msgstr ""
-"Полная статья о поддержке греческого языка в FreeBSD доступна https://"
-"www.FreeBSD.org/doc/gr/articles/greek-language-support/[здесь], только на "
+"Полная статья о поддержке греческого языка в FreeBSD доступна https://www."
+"FreeBSD.org/doc/gr/articles/greek-language-support/[здесь], только на "
"греческом, как часть официальной документации FreeBSD на греческом языке."
#. type: Labeled list
@@ -1642,9 +1647,9 @@ msgid ""
"www.jp.FreeBSD.org/], and for Korean, refer to http://www.kr.FreeBSD.org/"
"[http://www.kr.FreeBSD.org/]."
msgstr ""
-"Для японского языка обратитесь к http://www.jp.FreeBSD.org/[http://"
-"www.jp.FreeBSD.org/], а для корейского — к http://www.kr.FreeBSD.org/[http://"
-"www.kr.FreeBSD.org/]."
+"Для японского языка обратитесь к http://www.jp.FreeBSD.org/[http://www.jp."
+"FreeBSD.org/], а для корейского — к http://www.kr.FreeBSD.org/[http://www.kr."
+"FreeBSD.org/]."
#. type: Labeled list
#: documentation/content/en/books/handbook/l10n/_index.adoc:643
diff --git a/documentation/content/ru/books/handbook/linuxemu/_index.adoc b/documentation/content/ru/books/handbook/linuxemu/_index.adoc
index 97d7ff42f7..afa79a152a 100644
--- a/documentation/content/ru/books/handbook/linuxemu/_index.adoc
+++ b/documentation/content/ru/books/handbook/linuxemu/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/linuxemu/
part: 'Часть II. Стандартные задачи'
prev: books/handbook/printing
-showBookMenu: true
+showBookMenu: 'true'
tags: ["linux", "linuxulator", "emulation", "binary", "compatibility"]
title: 'Глава 12. Двоичная совместимость с Linux'
weight: 15
diff --git a/documentation/content/ru/books/handbook/linuxemu/_index.po b/documentation/content/ru/books/handbook/linuxemu/_index.po
index 76665d365d..6eb436b4ce 100644
--- a/documentation/content/ru/books/handbook/linuxemu/_index.po
+++ b/documentation/content/ru/books/handbook/linuxemu/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-09-23 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,19 +18,22 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/linuxemu/_index.adoc:1
#, no-wrap
msgid "FreeBSD provides binary compatibility with Linux, allowing users to install and run most Linux binaries on a FreeBSD system without having to first modify the binary"
-msgstr "FreeBSD обеспечивает двоичную совместимость с Linux, позволяя пользователям устанавливать и запускать большинство двоичных исполняемых файлов Linux в системе FreeBSD без необходимости предварительного изменения двоичного файла"
+msgstr ""
+"FreeBSD обеспечивает двоичную совместимость с Linux, позволяя пользователям "
+"устанавливать и запускать большинство двоичных исполняемых файлов Linux в "
+"системе FreeBSD без необходимости предварительного изменения двоичного файла"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/linuxemu/_index.adoc:1
#, no-wrap
msgid "Part II. Common Tasks"
msgstr "Часть II. Стандартные задачи"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/linuxemu/_index.adoc:1
#, no-wrap
msgid "Chapter 12. Linux Binary Compatibility"
@@ -442,8 +445,8 @@ msgid ""
"ubuntu#:"
msgstr ""
"Для работы man:debootstrap[8] требуется включённый man:linux[4] ABI. После "
-"его активации выполните следующую команду для установки Ubuntu или Debian в "
-"[.filename]#/compat/ubuntu#:"
+"его активации выполните следующую команду для установки Ubuntu или Debian в ["
+".filename]#/compat/ubuntu#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/linuxemu/_index.adoc:235
@@ -486,7 +489,8 @@ msgid ""
msgstr ""
"I: Retrieving InRelease \n"
"I: Checking Release signature\n"
-"I: Valid Release signature (key id F6ECB3762474EDA9D21B7022871920D1991BC93C)\n"
+"I: Valid Release signature (key id F6ECB3762474EDA9D21B7022871920D1991BC93C)"
+"\n"
"I: Retrieving Packages \n"
"I: Validating Packages \n"
"I: Resolving dependencies of required packages...\n"
@@ -535,14 +539,22 @@ msgid ""
"/tmp /compat/ubuntu/tmp nullfs rw,late 0 0\n"
"/home /compat/ubuntu/home nullfs rw,late 0 0\n"
msgstr ""
-"# Device Mountpoint FStype Options Dump Pass#\n"
-"devfs /compat/ubuntu/dev devfs rw,late 0 0\n"
-"tmpfs /compat/ubuntu/dev/shm tmpfs rw,late,size=1g,mode=1777 0 0\n"
-"fdescfs /compat/ubuntu/dev/fd fdescfs rw,late,linrdlnk 0 0\n"
-"linprocfs /compat/ubuntu/proc linprocfs rw,late 0 0\n"
-"linsysfs /compat/ubuntu/sys linsysfs rw,late 0 0\n"
-"/tmp /compat/ubuntu/tmp nullfs rw,late 0 0\n"
-"/home /compat/ubuntu/home nullfs rw,late 0 0\n"
+"# Device Mountpoint FStype "
+"Options Dump Pass#\n"
+"devfs /compat/ubuntu/dev devfs "
+"rw,late 0 0\n"
+"tmpfs /compat/ubuntu/dev/shm tmpfs "
+"rw,late,size=1g,mode=1777 0 0\n"
+"fdescfs /compat/ubuntu/dev/fd fdescfs "
+"rw,late,linrdlnk 0 0\n"
+"linprocfs /compat/ubuntu/proc linprocfs "
+"rw,late 0 0\n"
+"linsysfs /compat/ubuntu/sys linsysfs "
+"rw,late 0 0\n"
+"/tmp /compat/ubuntu/tmp nullfs "
+"rw,late 0 0\n"
+"/home /compat/ubuntu/home nullfs "
+"rw,late 0 0\n"
#. type: Plain text
#: documentation/content/en/books/handbook/linuxemu/_index.adoc:285
@@ -619,10 +631,14 @@ msgid ""
"deb http://archive.ubuntu.com/ubuntu focal-backports universe multiverse restricted main\n"
"deb http://archive.ubuntu.com/ubuntu focal-updates universe multiverse restricted main\n"
msgstr ""
-"deb http://archive.ubuntu.com/ubuntu focal main universe restricted multiverse\n"
-"deb http://security.ubuntu.com/ubuntu/ focal-security universe multiverse restricted main\n"
-"deb http://archive.ubuntu.com/ubuntu focal-backports universe multiverse restricted main\n"
-"deb http://archive.ubuntu.com/ubuntu focal-updates universe multiverse restricted main\n"
+"deb http://archive.ubuntu.com/ubuntu focal main universe restricted "
+"multiverse\n"
+"deb http://security.ubuntu.com/ubuntu/ focal-security universe multiverse "
+"restricted main\n"
+"deb http://archive.ubuntu.com/ubuntu focal-backports universe multiverse "
+"restricted main\n"
+"deb http://archive.ubuntu.com/ubuntu focal-updates universe multiverse "
+"restricted main\n"
#. type: Plain text
#: documentation/content/en/books/handbook/linuxemu/_index.adoc:331
@@ -633,7 +649,9 @@ msgstr "Для arm64 можно использовать следующий пр
#: documentation/content/en/books/handbook/linuxemu/_index.adoc:335
#, no-wrap
msgid "deb http://ports.ubuntu.com/ubuntu-ports bionic main universe restricted multiverse\n"
-msgstr "deb http://ports.ubuntu.com/ubuntu-ports bionic main universe restricted multiverse\n"
+msgstr ""
+"deb http://ports.ubuntu.com/ubuntu-ports bionic main universe restricted "
+"multiverse\n"
#. type: Title ==
#: documentation/content/en/books/handbook/linuxemu/_index.adoc:339
@@ -677,8 +695,8 @@ msgid ""
"fstab#:"
msgstr ""
"Файловые системы, смонтированные скриптом rc, не будут работать для Linux-"
-"процессов внутри chroot или клетки. При необходимости настройте их в "
-"[.filename]#/etc/fstab#:"
+"процессов внутри chroot или клетки. При необходимости настройте их в [."
+"filename]#/etc/fstab#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/linuxemu/_index.adoc:361
@@ -690,11 +708,16 @@ msgid ""
"linprocfs /compat/linux/proc linprocfs rw,late 0 0\n"
"linsysfs /compat/linux/sys linsysfs rw,late 0 0\n"
msgstr ""
-"devfs /compat/linux/dev devfs rw,late 0 0\n"
-"tmpfs /compat/linux/dev/shm tmpfs rw,late,size=1g,mode=1777 0 0\n"
-"fdescfs /compat/linux/dev/fd fdescfs rw,late,linrdlnk 0 0\n"
-"linprocfs /compat/linux/proc linprocfs rw,late 0 0\n"
-"linsysfs /compat/linux/sys linsysfs rw,late 0 0\n"
+"devfs /compat/linux/dev devfs rw,late 0 "
+"0\n"
+"tmpfs /compat/linux/dev/shm tmpfs rw,late,size=1g,mode=1777 0 "
+"0\n"
+"fdescfs /compat/linux/dev/fd fdescfs rw,late,linrdlnk 0 "
+"0\n"
+"linprocfs /compat/linux/proc linprocfs rw,late 0 "
+"0\n"
+"linsysfs /compat/linux/sys linsysfs rw,late 0 "
+"0\n"
#. type: Plain text
#: documentation/content/en/books/handbook/linuxemu/_index.adoc:364
@@ -777,8 +800,8 @@ msgid ""
"system into [.filename]#/compat/linux# on the FreeBSD system. Once copied, "
"create symbolic links to the names in the first column."
msgstr ""
-"Затем скопируйте все файлы из последнего столбца вывода с системы Linux в "
-"[.filename]#/compat/linux# на системе FreeBSD. После копирования создайте "
+"Затем скопируйте все файлы из последнего столбца вывода с системы Linux в [."
+"filename]#/compat/linux# на системе FreeBSD. После копирования создайте "
"символические ссылки на имена из первого столбца."
#. type: Plain text
@@ -858,8 +881,8 @@ msgid ""
msgstr ""
"Поскольку существующая библиотека устарела всего на одну или две версии в "
"последней цифре, программа должна по-прежнему работать с немного более "
-"старой версией. Однако можно безопасно заменить существующий "
-"[.filename]#libc.so# на более новую версию:"
+"старой версией. Однако можно безопасно заменить существующий [.filename]#libc"
+".so# на более новую версию:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/linuxemu/_index.adoc:434
@@ -902,9 +925,9 @@ msgid ""
msgstr ""
"Ядро FreeBSD использует несколько методов для определения, является ли "
"запускаемый двоичный файл Linux-программой: оно проверяет бренд в заголовке "
-"ELF-файла, ищет известные пути к ELF-интерпретаторам и проверяет ELF-"
-"заметки; наконец, по умолчанию небрендированные ELF-исполняемые файлы в "
-"любом случае считаются Linux-программами."
+"ELF-файла, ищет известные пути к ELF-интерпретаторам и проверяет ELF-заметки;"
+" наконец, по умолчанию небрендированные ELF-исполняемые файлы в любом случае "
+"считаются Linux-программами."
#. type: Plain text
#: documentation/content/en/books/handbook/linuxemu/_index.adoc:444
diff --git a/documentation/content/ru/books/handbook/mac/_index.adoc b/documentation/content/ru/books/handbook/mac/_index.adoc
index 112221a658..ade03c3916 100644
--- a/documentation/content/ru/books/handbook/mac/_index.adoc
+++ b/documentation/content/ru/books/handbook/mac/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/mac/
part: 'Часть III. Администрирование системы'
prev: books/handbook/jails
-showBookMenu: true
+showBookMenu: 'true'
tags: ["MAC", "labels", "security", "configuration", "nagios"]
title: 'Глава 18. Принудительное управление доступом (MAC)'
weight: 22
@@ -84,7 +84,7 @@ FreeBSD поддерживает расширения безопасности,
В документации FreeBSD при обращении к инфраструктуре MAC используются следующие ключевые термины:
-* _отдел (compartment)_: набор программ и данных, которые должны быть разделены или изолированы, при этом пользователи получают явный доступ к определенным компонентам системы. Компартмент представляет собой группу, такую как рабочая группа, отдел, проект или тема. Компартменты позволяют реализовать политику безопасности на основе принципа "необходимо знать".
+* _компартмент (compartment)_: набор программ и данных, которые должны быть разделены или изолированы, при этом пользователи получают явный доступ к определенным компонентам системы. Компартмент представляет собой группу, такую как рабочая группа, отдел, проект или тема. Компартменты позволяют реализовать политику безопасности на основе принципа "необходимо знать".
* _целостность (integrity)_: уровень доверия, который может быть оказан данным. По мере повышения целостности данных возрастает и возможность доверять этим данным.
* _уровень (level)_: увеличенное или уменьшенное значение атрибута безопасности. По мере повышения уровня его безопасность также считается более высокой.
* _метка (label)_: атрибут безопасности, который может быть применён к файлам, каталогам или другим элементам системы. Его можно рассматривать как штамп конфиденциальности. Когда метка назначается файлу, она описывает его свойства безопасности и разрешает доступ только файлам, пользователям и ресурсам с аналогичными настройками безопасности. Значение и интерпретация меток зависят от конфигурации политики. Некоторые политики рассматривают метку как показатель целостности или секретности объекта, тогда как другие могут использовать метки для хранения правил доступа.
@@ -154,7 +154,7 @@ test: biba/high
Для уже запущенных процессов, таких как sendmail, обычно используется `getpmac` вместо этого. Эта команда принимает идентификатор процесса (PID) вместо имени команды. Если пользователи пытаются работать с файлом, к которому у них нет доступа, в соответствии с правилами загруженных модулей политики, будет отображаться ошибка `Операция не разрешена (Operation not permitted)`.
-=== Предопределенные Метки
+=== Предопределенные метки
Несколько модулей политики FreeBSD, поддерживающих функцию меток, предлагают три предопределённых метки: `low`, `equal` и `high`, где:
@@ -173,13 +173,13 @@ test: biba/high
biba/10:2+3+6(5:2+3-20:2+3+4+5+6)
....
-может интерпретироваться как "Метка/уровень политики Biba 10: отделы 2, 3 и 6: (уровень 5 ..."
+может интерпретироваться как "Метка/уровень целостности (grade) политики Biba 10: компартменты 2, 3 и 6: (уровень 5 ...)"
-В этом примере первая степень будет считаться эффективной с эффективными отделами, вторая степень — низкой, а последняя — высокой. В большинстве конфигураций такие детальные настройки не требуются, так как они считаются расширенными конфигурациями.
+В этом примере первый уровень целостности будет считаться эффективным с эффективными компартментами, второй уровень — низкий уровень, а последний — высокий. В большинстве конфигураций такие детальные настройки не требуются, так как они считаются расширенными конфигурациями.
-Системные объекты имеют только текущий уровень и категорию. Системные субъекты отражают диапазон доступных прав в системе, а сетевые интерфейсы используются для контроля доступа.
+Системные объекты имеют только текущий уровень целостности и компартмент. Системные субъекты отражают диапазон доступных прав в системе, а сетевые интерфейсы используются для контроля доступа.
-Уровни и категории в паре субъект-объект используются для построения отношения, известного как _доминирование_, при котором субъект доминирует над объектом, объект доминирует над субъектом, ни один не доминирует над другим или оба доминируют друг над другом. Случай «оба доминируют» возникает, когда две метки равны. В силу природы информационных потоков в модели Biba пользователь имеет права на набор категорий, которые могут соответствовать проектам, но объекты также имеют набор категорий. Пользователям может потребоваться ограничить свои права с помощью `su` или `setpmac`, чтобы получить доступ к объектам в категории, от которой они не ограничены.
+Уровни целостности и компартменты в паре субъект-объект используются для построения отношения, известного как _доминирование_, при котором субъект доминирует над объектом, объект доминирует над субъектом, ни один не доминирует над другим или оба доминируют друг над другом. Случай «оба доминируют» возникает, когда две метки равны. В силу природы информационных потоков в модели Biba пользователь имеет права на набор компартментов, которые могут соответствовать проектам, но объекты также имеют набор компартментов. Пользователям может потребоваться ограничить свои права с помощью `su` или `setpmac`, чтобы получить доступ к объектам в компартментах, от которой они не ограничены.
=== Пользовательские метки
@@ -451,7 +451,7 @@ FreeBSD включает набор политик, которые охваты
Политика man:mac_mls[4] контролирует доступ между субъектами и объектами в системе, применяя строгую политику управления потоком информации.
-В средах MLS в метке каждого субъекта или объекта устанавливается уровень "допуска" вместе с категориями. Поскольку эти уровни допуска могут достигать значений, превышающих несколько тысяч, тщательная настройка каждого субъекта или объекта была бы сложной задачей. Для снижения административной нагрузки в эту политику включены три метки: `mls/low`, `mls/equal` и `mls/high`, где:
+В средах MLS в метке каждого субъекта или объекта устанавливается уровень "допуска" вместе с компартментами. Поскольку эти уровни допуска могут достигать значений, превышающих несколько тысяч, тщательная настройка каждого субъекта или объекта была бы сложной задачей. Для снижения административной нагрузки в эту политику включены три метки: `mls/low`, `mls/equal` и `mls/high`, где:
* Все объекты, помеченные меткой `mls/low`, будут иметь низкий уровень доступа и не смогут обращаться к информации более высокого уровня. Эта метка также предотвращает запись или передачу информации от объектов с более высоким уровнем доступа к объектам с более низким уровнем.
* `mls/equal` следует размещать на объектах, которые должны быть освобождены от политики.
@@ -468,8 +468,8 @@ MLS предоставляет:
* `security.mac.mls.enabled` используется для включения или отключения политики MLS.
* `security.mac.mls.ptys_equal` помечает все устройства man:pty[4] как `mls/equal` при создании.
-* `security.mac.mls.revocation_enabled` отзывает доступ к объектам после изменения их метки на метку более низкого уровня.
-* `security.mac.mls.max_compartments` устанавливает максимальное количество уровней отделов (compartment), разрешенных в системе.
+* `security.mac.mls.revocation_enabled` отзывает доступ к объектам после изменения их метки на метку более низкого уровня целостности.
+* `security.mac.mls.max_compartments` устанавливает максимальное количество уровней компартментов, разрешенных в системе.
Для работы с метками MLS используйте man:setfmac[8]. Чтобы назначить метку объекту:
@@ -504,7 +504,7 @@ MLS предоставляет:
Модуль man:mac_biba[4] загружает политику MAC Biba. Эта политика похожа на политику MLS, за исключением того, что правила передачи информации слегка изменены в обратном порядке. Это предотвращает поток конфиденциальной информации вниз, тогда как политика MLS предотвращает поток конфиденциальной информации вверх.
-В средах Biba для каждого субъекта или объекта устанавливается метка «целостности». Эти метки состоят из иерархических уровней и неиерархических компонентов. По мере повышения уровня увеличивается и его целостность.
+В средах Biba для каждого субъекта или объекта устанавливается метка «целостности». Эти метки состоят из иерархических уровней целостности и неиерархических компонентов. По мере повышения уровня увеличивается и его целостность.
Поддерживаемые метки: `biba/low`, `biba/equal` и `biba/high`, где:
@@ -536,7 +536,7 @@ test: biba/low
Целостность, которая отличается от конфиденциальности, используется для гарантии того, что информация не будет изменена ненадёжными сторонами. Это включает информацию, передаваемую между субъектами и объектами. Она обеспечивает пользователям возможность изменять или получать доступ только к той информации, к которой у них есть явный доступ. Модуль политики безопасности man:mac_biba[4] позволяет администратору настроить, какие файлы и программы пользователь может просматривать и запускать, гарантируя, что эти программы и файлы считаются системой доверенными для данного пользователя.
-В ходе начального этапа планирования администратор должен быть готов разделить пользователей по категориям, уровням и областям. После включения этого модуля политики система по умолчанию перейдет на высокий уровень метки, и администратору потребуется настроить различные категории и уровни для пользователей. Вместо использования уровней доступа хорошим методом планирования может стать использование тематик. Например, разрешить разработчикам доступ на изменение только к репозиторию исходного кода, компилятору исходного кода и другим инструментам разработки. Остальные пользователи будут распределены по другим категориям, таким как тестировщики, дизайнеры или конечные пользователи, и им будет разрешен только доступ на чтение.
+В ходе начального этапа планирования администратор должен быть готов разделить пользователей по уровням целостности (grade), уровням объектов (level) и областям. После включения этого модуля политики система по умолчанию перейдет на высокий уровень метки, и администратору потребуется настроить различные уровни целостности и уровни объектов для пользователей. Вместо использования уровней доступа хорошим методом планирования может стать использование тематик. Например, разрешить разработчикам доступ на изменение только к репозиторию исходного кода, компилятору исходного кода и другим инструментам разработки. Остальные пользователи будут распределены по другим категориям, таким как тестировщики, дизайнеры или конечные пользователи, и им будет разрешен только доступ на чтение.
Субъект с более низким уровнем целостности не может записывать данные в субъект с более высоким уровнем целостности, а субъект с более высоким уровнем целостности не может просматривать или читать объект с более низким уровнем целостности. Установка метки на минимально возможном уровне может сделать объект недоступным для субъектов. Перспективными средами для использования этого модуля политики безопасности могут быть ограниченный веб-сервер, машина для разработки и тестирования, а также репозиторий исходного кода. Менее полезной реализацией будет персональная рабочая станция, машина, используемая в качестве маршрутизатора, или сетевой межсетевой экран.
@@ -551,9 +551,9 @@ test: biba/low
В отличие от политики MAC Biba, политика man:mac_lomac[4] разрешает доступ к объектам с более низким уровнем целостности только после понижения уровня целостности, чтобы не нарушать правила целостности.
-Политика целостности Low-watermark работает почти идентично Biba, за исключением использования плавающих меток для поддержки понижения уровня субъекта через вспомогательный отдел (compartment) вспомогательных градаций. Этот вторичный отдел имеет вид `[auxgrade]`. При назначении политики с вспомогательной градацией используйте синтаксис `lomac/10[2]`, где `2` — это вспомогательная градация.
+Политика целостности Low-watermark работает почти идентично Biba, за исключением использования плавающих меток для поддержки понижения уровня субъекта через компартмент с вспомогательным уровнем целостности. Этот вторичный компартмент имеет вид `[auxgrade]`. При назначении политики с вспомогательным уровнем целостности используйте синтаксис `lomac/10[2]`, где `2` — это вспомогательный уровень целостности.
-Данная политика основывается на повсеместной маркировке всех системных объектов метками целостности, позволяя субъектам читать из объектов с низкой целостностью, а затем понижая метку субъекта с помощью `[auxgrade]`, чтобы предотвратить последующие записи в объекты с высокой целостностью. Эта политика может обеспечить большую совместимость и потребовать меньше начальной настройки по сравнению с Biba.
+Данная политика основывается на повсеместной маркировке всех системных объектов метками целостности, позволяя субъектам читать из объектов с низкой целостностью, а затем понижая уровень метки на субъекте с помощью `[auxgrade]`, чтобы предотвратить последующие записи в объекты с высокой целостностью. Эта политика может обеспечить большую совместимость и потребовать меньше начальной настройки по сравнению с Biba.
Как и в политиках Biba и MLS, `setfmac` и `setpmac` используются для назначения меток объектам системы:
@@ -563,7 +563,7 @@ test: biba/low
# getfmac /usr/home/trhodes lomac/high[low]
....
-Вспомогательная градация `low` — это функция, предоставляемая только политикой MACLOMAC.
+Вспомогательный уровень целостности `low` — это функция, предоставляемая только политикой MACLOMAC.
[[mac-userlocked]]
== Блокировка пользователя
@@ -761,14 +761,14 @@ setpmac biba/10\(10-10\) /usr/local/etc/rc.d/nagios.sh forcestart
[NOTE]
====
-Пользователь `root` всё ещё может изменять параметры безопасности и редактировать конфигурационные файлы. Следующая команда разрешит понижение уровня политики безопасности для нового запущенного shell:
+Пользователь `root` всё ещё может изменять параметры безопасности и редактировать конфигурационные файлы. Следующая команда разрешит понижение уровня целостности политики безопасности для нового запущенного shell:
[source, shell]
....
# setpmac biba/10 csh
....
-Чтобы предотвратить это, принудительно ограничьте пользователя диапазоном с помощью man:login.conf[5]. Если man:setpmac[8] попытается выполнить команду вне пределов отдела, будет возвращена ошибка и команда не выполнится. В данном случае установите root в `biba/high(high-high)`.
+Чтобы предотвратить это, принудительно ограничьте пользователя диапазоном с помощью man:login.conf[5]. Если man:setpmac[8] попытается выполнить команду вне пределов компартмента, будет возвращена ошибка и команда не выполнится. В данном случае установите root в `biba/high(high-high)`.
====
[[mac-troubleshoot]]
diff --git a/documentation/content/ru/books/handbook/mac/_index.po b/documentation/content/ru/books/handbook/mac/_index.po
index d740ae9462..3d37f35da3 100644
--- a/documentation/content/ru/books/handbook/mac/_index.po
+++ b/documentation/content/ru/books/handbook/mac/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
-"PO-Revision-Date: 2025-06-19 04:45+0000\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
+"PO-Revision-Date: 2025-10-30 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/bookshandbookmac_index/ru/>\n"
@@ -18,19 +18,22 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/mac/_index.adoc:1
#, no-wrap
msgid "This chapter focuses on the MAC framework and the set of pluggable security policy modules FreeBSD provides for enabling various security mechanisms"
-msgstr "Эта глава посвящена инфраструктуре MAC и набору модулей политики безопасности, предоставляемых FreeBSD для включения различных механизмов безопасности"
+msgstr ""
+"Эта глава посвящена инфраструктуре MAC и набору модулей политики "
+"безопасности, предоставляемых FreeBSD для включения различных механизмов "
+"безопасности"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/mac/_index.adoc:1
#, no-wrap
msgid "Part III. System Administration"
msgstr "Часть III. Администрирование системы"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/mac/_index.adoc:1
#, no-wrap
msgid "Chapter 18. Mandatory Access Control"
@@ -206,8 +209,8 @@ msgstr ""
"включенных в фреймворк MAC, обладают специфическими характеристиками, "
"которые предоставляются как для тестирования, так и для разработки новых "
"модулей. Дополнительную информацию об этих модулях политики безопасности и "
-"предоставляемых ими механизмах можно найти в man:mac_test[4], "
-"man:mac_stub[4] и man:mac_none[4]."
+"предоставляемых ими механизмах можно найти в man:mac_test[4], man:mac_stub[4]"
+" и man:mac_none[4]."
#. type: Title ==
#: documentation/content/en/books/handbook/mac/_index.adoc:95
@@ -231,7 +234,7 @@ msgid ""
"project, or topic. Compartments make it possible to implement a need-to-know-"
"basis security policy."
msgstr ""
-"_отдел (compartment)_: набор программ и данных, которые должны быть "
+"_компартмент (compartment)_: набор программ и данных, которые должны быть "
"разделены или изолированы, при этом пользователи получают явный доступ к "
"определенным компонентам системы. Компартмент представляет собой группу, "
"такую как рабочая группа, отдел, проект или тема. Компартменты позволяют "
@@ -664,7 +667,7 @@ msgstr ""
#: documentation/content/en/books/handbook/mac/_index.adoc:197
#, no-wrap
msgid "Predefined Labels"
-msgstr "Предопределенные Метки"
+msgstr "Предопределенные метки"
#. type: Plain text
#: documentation/content/en/books/handbook/mac/_index.adoc:200
@@ -751,8 +754,8 @@ msgid ""
"may be interpreted as \"Biba Policy Label/Grade 10:Compartments 2, 3 and 6: "
"(grade 5 ...\")"
msgstr ""
-"может интерпретироваться как \"Метка/уровень политики Biba 10: отделы 2, 3 и "
-"6: (уровень 5 ...\""
+"может интерпретироваться как \"Метка/уровень целостности (grade) политики "
+"Biba 10: компартменты 2, 3 и 6: (уровень 5 ...)\""
#. type: Plain text
#: documentation/content/en/books/handbook/mac/_index.adoc:224
@@ -762,10 +765,10 @@ msgid ""
"one is the high grade. In most configurations, such fine-grained settings "
"are not needed as they are considered to be advanced configurations."
msgstr ""
-"В этом примере первая степень будет считаться эффективной с эффективными "
-"отделами, вторая степень — низкой, а последняя — высокой. В большинстве "
-"конфигураций такие детальные настройки не требуются, так как они считаются "
-"расширенными конфигурациями."
+"В этом примере первый уровень целостности будет считаться эффективным с "
+"эффективными компартментами, второй уровень — низкий уровень, а последний — "
+"высокий. В большинстве конфигураций такие детальные настройки не требуются, "
+"так как они считаются расширенными конфигурациями."
#. type: Plain text
#: documentation/content/en/books/handbook/mac/_index.adoc:227
@@ -774,9 +777,9 @@ msgid ""
"reflect the range of available rights in the system, and network interfaces, "
"where they are used for access control."
msgstr ""
-"Системные объекты имеют только текущий уровень и категорию. Системные "
-"субъекты отражают диапазон доступных прав в системе, а сетевые интерфейсы "
-"используются для контроля доступа."
+"Системные объекты имеют только текущий уровень целостности и компартмент. "
+"Системные субъекты отражают диапазон доступных прав в системе, а сетевые "
+"интерфейсы используются для контроля доступа."
#. type: Plain text
#: documentation/content/en/books/handbook/mac/_index.adoc:232
@@ -791,16 +794,16 @@ msgid ""
"rights using `su` or `setpmac` in order to access objects in a compartment "
"from which they are not restricted."
msgstr ""
-"Уровни и категории в паре субъект-объект используются для построения "
-"отношения, известного как _доминирование_, при котором субъект доминирует "
-"над объектом, объект доминирует над субъектом, ни один не доминирует над "
-"другим или оба доминируют друг над другом. Случай «оба доминируют» "
-"возникает, когда две метки равны. В силу природы информационных потоков в "
-"модели Biba пользователь имеет права на набор категорий, которые могут "
-"соответствовать проектам, но объекты также имеют набор категорий. "
-"Пользователям может потребоваться ограничить свои права с помощью `su` или "
-"`setpmac`, чтобы получить доступ к объектам в категории, от которой они не "
-"ограничены."
+"Уровни целостности и компартменты в паре субъект-объект используются для "
+"построения отношения, известного как _доминирование_, при котором субъект "
+"доминирует над объектом, объект доминирует над субъектом, ни один не "
+"доминирует над другим или оба доминируют друг над другом. Случай «оба "
+"доминируют» возникает, когда две метки равны. В силу природы информационных "
+"потоков в модели Biba пользователь имеет права на набор компартментов, "
+"которые могут соответствовать проектам, но объекты также имеют набор "
+"компартментов. Пользователям может потребоваться ограничить свои права с "
+"помощью `su` или `setpmac`, чтобы получить доступ к объектам в "
+"компартментах, от которой они не ограничены."
#. type: Title ===
#: documentation/content/en/books/handbook/mac/_index.adoc:233
@@ -832,9 +835,9 @@ msgid ""
"chapter be reviewed before any configuration is implemented."
msgstr ""
"Чтобы установить метку класса пользователя по умолчанию, которая будет "
-"применяться MAC, добавьте запись `label`. Ниже приведен пример записи "
-"`label`, содержащей каждый модуль политики. Обратите внимание, что в "
-"реальной конфигурации администратор никогда не включает все модули политики. "
+"применяться MAC, добавьте запись `label`. Ниже приведен пример записи `label`"
+", содержащей каждый модуль политики. Обратите внимание, что в реальной "
+"конфигурации администратор никогда не включает все модули политики. "
"Рекомендуется ознакомиться с остальной частью этой главы перед внедрением "
"любой конфигурации."
@@ -870,7 +873,8 @@ msgstr ""
"\t:copyright=/etc/COPYRIGHT:\\\n"
"\t:welcome=/etc/motd:\\\n"
"\t:setenv=MAIL=/var/mail/$,BLOCKSIZE=K:\\\n"
-"\t:path=~/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:\\\n"
+"\t:path=~/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:\\"
+"\n"
"\t:manpath=/usr/share/man /usr/local/man:\\\n"
"\t:nologin=/usr/sbin/nologin:\\\n"
"\t:cputime=1h30m:\\\n"
@@ -1253,10 +1257,10 @@ msgid ""
"require any labels to be set before configuration and can operate "
"transparently with other modules."
msgstr ""
-"Модуль man:mac_seeotheruids[4] расширяет настройки "
-"`security.bsd.see_other_uids` и `security.bsd.see_other_gids sysctl`. Эта "
-"опция не требует предварительной установки меток для настройки и может "
-"работать прозрачно с другими модулями."
+"Модуль man:mac_seeotheruids[4] расширяет настройки `security.bsd."
+"see_other_uids` и `security.bsd.see_other_gids sysctl`. Эта опция не требует "
+"предварительной установки меток для настройки и может работать прозрачно с "
+"другими модулями."
#. type: Plain text
#: documentation/content/en/books/handbook/mac/_index.adoc:373
@@ -1345,11 +1349,10 @@ msgstr ""
"защиты файлов, утилит и каталогов в иерархии файловой системы. При попытке "
"доступа к объекту файловой системы происходит перебор списка правил до тех "
"пор, пока не будет найдено соответствующее правило или не будет достигнут "
-"конец списка. Это поведение можно изменить с помощью параметра "
-"`security.mac.bsdextended.firstmatch_enabled`. Подобно другим модулям "
-"межсетевого экрана в FreeBSD, файл с правилами контроля доступа может быть "
-"создан и прочитан системой во время загрузки с использованием переменной "
-"man:rc.conf[5]."
+"конец списка. Это поведение можно изменить с помощью параметра `security.mac."
+"bsdextended.firstmatch_enabled`. Подобно другим модулям межсетевого экрана в "
+"FreeBSD, файл с правилами контроля доступа может быть создан и прочитан "
+"системой во время загрузки с использованием переменной man:rc.conf[5]."
#. type: Plain text
#: documentation/content/en/books/handbook/mac/_index.adoc:395
@@ -1829,7 +1832,7 @@ msgid ""
"low`, `mls/equal`, and `mls/high`, where:"
msgstr ""
"В средах MLS в метке каждого субъекта или объекта устанавливается уровень "
-"\"допуска\" вместе с категориями. Поскольку эти уровни допуска могут "
+"\"допуска\" вместе с компартментами. Поскольку эти уровни допуска могут "
"достигать значений, превышающих несколько тысяч, тщательная настройка "
"каждого субъекта или объекта была бы сложной задачей. Для снижения "
"административной нагрузки в эту политику включены три метки: `mls/low`, `mls/"
@@ -1877,8 +1880,7 @@ msgstr "MLS предоставляет:"
#: documentation/content/en/books/handbook/mac/_index.adoc:567
msgid ""
"A hierarchical security level with a set of non-hierarchical categories."
-msgstr ""
-"Иерархический уровень безопасности с набором неиерархических категорий."
+msgstr "Иерархический уровень безопасности с набором неиерархических категорий."
#. type: Plain text
#: documentation/content/en/books/handbook/mac/_index.adoc:568
@@ -1937,7 +1939,7 @@ msgid ""
"label changes to a label of a lower grade."
msgstr ""
"`security.mac.mls.revocation_enabled` отзывает доступ к объектам после "
-"изменения их метки на метку более низкого уровня."
+"изменения их метки на метку более низкого уровня целостности."
#. type: Plain text
#: documentation/content/en/books/handbook/mac/_index.adoc:577
@@ -1946,7 +1948,7 @@ msgid ""
"levels allowed on a system."
msgstr ""
"`security.mac.mls.max_compartments` устанавливает максимальное количество "
-"уровней отделов (compartment), разрешенных в системе."
+"уровней компартментов, разрешенных в системе."
#. type: Plain text
#: documentation/content/en/books/handbook/mac/_index.adoc:579
@@ -2012,11 +2014,10 @@ msgstr ""
"пользователей и группы по мере необходимости, чтобы блокировать поток "
"информации между ними. Возможно, будет проще рассматривать информацию на "
"уровнях допуска, используя описательные слова, такие как классификации "
-"`Confidential` (`Конфиденциально`), `Secret` (`Секретно`) и `Top Secret` "
-"(`Совершенно секретно`). Некоторые администраторы вместо этого создают "
-"разные группы на основе уровней проектов. Независимо от метода "
-"классификации, перед внедрением ограничительной политики должен существовать "
-"продуманный план."
+"`Confidential` (`Конфиденциально`), `Secret` (`Секретно`) и `Top Secret` (`"
+"Совершенно секретно`). Некоторые администраторы вместо этого создают разные "
+"группы на основе уровней проектов. Независимо от метода классификации, перед "
+"внедрением ограничительной политики должен существовать продуманный план."
#. type: Plain text
#: documentation/content/en/books/handbook/mac/_index.adoc:604
@@ -2073,8 +2074,9 @@ msgid ""
"hierarchical components. As a grade ascends, so does its integrity."
msgstr ""
"В средах Biba для каждого субъекта или объекта устанавливается метка "
-"«целостности». Эти метки состоят из иерархических уровней и неиерархических "
-"компонентов. По мере повышения уровня увеличивается и его целостность."
+"«целостности». Эти метки состоят из иерархических уровней целостности и "
+"неиерархических компонентов. По мере повышения уровня увеличивается и его "
+"целостность."
#. type: Plain text
#: documentation/content/en/books/handbook/mac/_index.adoc:623
@@ -2241,16 +2243,16 @@ msgid ""
"testers, designers, or end users and would only be permitted read access."
msgstr ""
"В ходе начального этапа планирования администратор должен быть готов "
-"разделить пользователей по категориям, уровням и областям. После включения "
-"этого модуля политики система по умолчанию перейдет на высокий уровень "
-"метки, и администратору потребуется настроить различные категории и уровни "
-"для пользователей. Вместо использования уровней доступа хорошим методом "
-"планирования может стать использование тематик. Например, разрешить "
-"разработчикам доступ на изменение только к репозиторию исходного кода, "
-"компилятору исходного кода и другим инструментам разработки. Остальные "
-"пользователи будут распределены по другим категориям, таким как "
-"тестировщики, дизайнеры или конечные пользователи, и им будет разрешен "
-"только доступ на чтение."
+"разделить пользователей по уровням целостности (grade), уровням объектов "
+"(level) и областям. После включения этого модуля политики система по "
+"умолчанию перейдет на высокий уровень метки, и администратору потребуется "
+"настроить различные уровни целостности и уровни объектов для пользователей. "
+"Вместо использования уровней доступа хорошим методом планирования может "
+"стать использование тематик. Например, разрешить разработчикам доступ на "
+"изменение только к репозиторию исходного кода, компилятору исходного кода и "
+"другим инструментам разработки. Остальные пользователи будут распределены по "
+"другим категориям, таким как тестировщики, дизайнеры или конечные "
+"пользователи, и им будет разрешен только доступ на чтение."
#. type: Plain text
#: documentation/content/en/books/handbook/mac/_index.adoc:665
@@ -2316,10 +2318,10 @@ msgid ""
msgstr ""
"Политика целостности Low-watermark работает почти идентично Biba, за "
"исключением использования плавающих меток для поддержки понижения уровня "
-"субъекта через вспомогательный отдел (compartment) вспомогательных градаций. "
-"Этот вторичный отдел имеет вид `[auxgrade]`. При назначении политики с "
-"вспомогательной градацией используйте синтаксис `lomac/10[2]`, где `2` — это "
-"вспомогательная градация."
+"субъекта через компартмент с вспомогательным уровнем целостности. Этот "
+"вторичный компартмент имеет вид `[auxgrade]`. При назначении политики с "
+"вспомогательным уровнем целостности используйте синтаксис `lomac/10[2]`, где "
+"`2` — это вспомогательный уровень целостности."
#. type: Plain text
#: documentation/content/en/books/handbook/mac/_index.adoc:683
@@ -2332,10 +2334,10 @@ msgid ""
msgstr ""
"Данная политика основывается на повсеместной маркировке всех системных "
"объектов метками целостности, позволяя субъектам читать из объектов с низкой "
-"целостностью, а затем понижая метку субъекта с помощью `[auxgrade]`, чтобы "
-"предотвратить последующие записи в объекты с высокой целостностью. Эта "
-"политика может обеспечить большую совместимость и потребовать меньше "
-"начальной настройки по сравнению с Biba."
+"целостностью, а затем понижая уровень метки на субъекте с помощью "
+"`[auxgrade]`, чтобы предотвратить последующие записи в объекты с высокой "
+"целостностью. Эта политика может обеспечить большую совместимость и "
+"потребовать меньше начальной настройки по сравнению с Biba."
#. type: Plain text
#: documentation/content/en/books/handbook/mac/_index.adoc:685
@@ -2361,8 +2363,8 @@ msgstr ""
msgid ""
"The auxiliary grade `low` is a feature provided only by the MACLOMAC policy."
msgstr ""
-"Вспомогательная градация `low` — это функция, предоставляемая только "
-"политикой MACLOMAC."
+"Вспомогательный уровень целостности `low` — это функция, предоставляемая "
+"только политикой MACLOMAC."
#. type: Title ==
#: documentation/content/en/books/handbook/mac/_index.adoc:695
@@ -2395,8 +2397,7 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/mac/_index.adoc:703
msgid "Begin by adding the following line to [.filename]#/boot/loader.conf#:"
-msgstr ""
-"Начните с добавления следующей строки в [.filename]#/boot/loader.conf#:"
+msgstr "Начните с добавления следующей строки в [.filename]#/boot/loader.conf#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/mac/_index.adoc:707
@@ -2428,13 +2429,13 @@ msgid ""
"commented out except the last two lines in order to force the loading of "
"user owned system objects by default."
msgstr ""
-"Файл с правилами по умолчанию, хранящийся в [.filename]#/etc/"
-"rc.bsdextended#, будет загружен при инициализации системы. Однако "
-"стандартные записи могут потребовать изменения. Поскольку предполагается, "
-"что данная машина будет обслуживать только пользователей, все строки можно "
-"оставить закомментированными, за исключением последних двух, чтобы "
-"обеспечить принудительную загрузку системных объектов, принадлежащих "
-"пользователям, по умолчанию."
+"Файл с правилами по умолчанию, хранящийся в [.filename]#/etc/rc.bsdextended#"
+", будет загружен при инициализации системы. Однако стандартные записи могут "
+"потребовать изменения. Поскольку предполагается, что данная машина будет "
+"обслуживать только пользователей, все строки можно оставить "
+"закомментированными, за исключением последних двух, чтобы обеспечить "
+"принудительную загрузку системных объектов, принадлежащих пользователям, по "
+"умолчанию."
#. type: Plain text
#: documentation/content/en/books/handbook/mac/_index.adoc:724
@@ -2469,8 +2470,8 @@ msgid ""
msgstr ""
"При добавлении нового пользователя его правило man:mac_bsdextended[4] не "
"будет в списке набора правил. Чтобы быстро обновить набор правил, выгрузите "
-"модуль политики безопасности и загрузите его снова с помощью "
-"man:kldunload[8] и man:kldload[8]."
+"модуль политики безопасности и загрузите его снова с помощью man:kldunload[8]"
+" и man:kldload[8]."
#. type: Title ==
#: documentation/content/en/books/handbook/mac/_index.adoc:734
@@ -2662,8 +2663,8 @@ msgstr "Создайте файл контекстов"
msgid ""
"A contexts file should now be created as [.filename]#/etc/policy.contexts#:"
msgstr ""
-"Файл контекстов теперь должен быть создан как [.filename]#/etc/"
-"policy.contexts#:"
+"Файл контекстов теперь должен быть создан как [.filename]#/etc/policy."
+"contexts#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/mac/_index.adoc:821
@@ -2784,8 +2785,8 @@ msgstr "# setfsmac -ef /etc/policy.contexts /\n"
msgid ""
"Next, add these edits to the main section of [.filename]#/etc/mac.conf#:"
msgstr ""
-"Далее добавьте эти изменения в основной раздел файла [.filename]#/etc/"
-"mac.conf#:"
+"Далее добавьте эти изменения в основной раздел файла [.filename]#/etc/mac."
+"conf#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/mac/_index.adoc:867
@@ -2813,8 +2814,8 @@ msgid ""
"To finish the configuration, add the following lines to [.filename]#/boot/"
"loader.conf#:"
msgstr ""
-"Для завершения настройки добавьте следующие строки в [.filename]#/boot/"
-"loader.conf#:"
+"Для завершения настройки добавьте следующие строки в [.filename]#/boot/loader"
+".conf#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/mac/_index.adoc:878
@@ -2835,8 +2836,8 @@ msgid ""
"[.filename]#/etc/rc.conf#. If the primary network configuration is done via "
"DHCP, this may need to be configured manually after every system boot:"
msgstr ""
-"Добавьте следующую строку в конфигурацию сетевой карты, хранящуюся в "
-"[.filename]#/etc/rc.conf#. Если основная настройка сети выполняется через "
+"Добавьте следующую строку в конфигурацию сетевой карты, хранящуюся в [."
+"filename]#/etc/rc.conf#. Если основная настройка сети выполняется через "
"DHCP, это может потребовать ручной настройки после каждой загрузки системы:"
#. type: delimited block . 4
@@ -2869,8 +2870,7 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/mac/_index.adoc:896
msgid "If all seems well, Nagios, Apache, and Sendmail can now be started:"
-msgstr ""
-"Если все выглядит нормально, можно запустить Nagios, Apache и Sendmail:"
+msgstr "Если все выглядит нормально, можно запустить Nagios, Apache и Sendmail:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/mac/_index.adoc:902
@@ -2881,7 +2881,8 @@ msgid ""
"setpmac biba/10\\(10-10\\) /usr/local/etc/rc.d/nagios.sh forcestart\n"
msgstr ""
"# cd /etc/mail && make stop && \\\n"
-"setpmac biba/equal make start && setpmac biba/10\\(10-10\\) apachectl start && \\\n"
+"setpmac biba/equal make start && setpmac biba/10\\(10-10\\) apachectl start "
+"&& \\\n"
"setpmac biba/10\\(10-10\\) /usr/local/etc/rc.d/nagios.sh forcestart\n"
#. type: Plain text
@@ -2894,8 +2895,8 @@ msgid ""
msgstr ""
"Тщательно проверьте, чтобы всё работало правильно. Если нет, проверьте файлы "
"журналов на наличие сообщений об ошибках. При необходимости используйте "
-"`man:sysctl[8]` для отключения модуля политики безопасности "
-"`man:mac_biba[4]` и попробуйте запустить всё снова как обычно."
+"`man:sysctl[8]` для отключения модуля политики безопасности `man:mac_biba[4]`"
+" и попробуйте запустить всё снова как обычно."
#. type: delimited block = 4
#: documentation/content/en/books/handbook/mac/_index.adoc:912
@@ -2906,7 +2907,7 @@ msgid ""
msgstr ""
"Пользователь `root` всё ещё может изменять параметры безопасности и "
"редактировать конфигурационные файлы. Следующая команда разрешит понижение "
-"уровня политики безопасности для нового запущенного shell:"
+"уровня целостности политики безопасности для нового запущенного shell:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/mac/_index.adoc:916
@@ -2924,8 +2925,8 @@ msgid ""
msgstr ""
"Чтобы предотвратить это, принудительно ограничьте пользователя диапазоном с "
"помощью man:login.conf[5]. Если man:setpmac[8] попытается выполнить команду "
-"вне пределов отдела, будет возвращена ошибка и команда не выполнится. В "
-"данном случае установите root в `biba/high(high-high)`."
+"вне пределов компартмента, будет возвращена ошибка и команда не выполнится. "
+"В данном случае установите root в `biba/high(high-high)`."
#. type: Title ==
#: documentation/content/en/books/handbook/mac/_index.adoc:924
@@ -2952,7 +2953,7 @@ msgstr "Флаг `multilabel` не сохраняется на корневом
msgid "The following steps may resolve this transient error:"
msgstr "Следующие действия могут помочь устранить эту временную ошибку:"
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/mac/_index.adoc:934
msgid ""
"Edit [.filename]#/etc/fstab# and set the root partition to `ro` for read-"
@@ -2961,31 +2962,31 @@ msgstr ""
"Отредактируйте файл [.filename]#/etc/fstab# и установите корневой раздел в "
"`ro` для режима только для чтения."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/mac/_index.adoc:935
msgid "Reboot into single user mode."
msgstr "Перезагрузитесь в однопользовательском режиме."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/mac/_index.adoc:936
msgid "Run `tunefs -l enable` on [.filename]#/#."
msgstr "Выполните команду `tunefs -l enable` для раздела [.filename]#/#."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/mac/_index.adoc:937
msgid "Reboot the system."
msgstr "Перезагрузите систему."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/mac/_index.adoc:938
msgid ""
"Run `mount -urw`[.filename]#/# and change the `ro` back to `rw` in "
"[.filename]#/etc/fstab# and reboot the system again."
msgstr ""
-"Выполните `mount -urw`[.filename]#/#, измените `ro` обратно на `rw` в "
-"[.filename]#/etc/fstab# и перезагрузите систему снова."
+"Выполните `mount -urw`[.filename]#/#, измените `ro` обратно на `rw` в [."
+"filename]#/etc/fstab# и перезагрузите систему снова."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/mac/_index.adoc:939
msgid ""
"Double-check the output from `mount` to ensure that `multilabel` has been "
@@ -3000,7 +3001,7 @@ msgstr ""
msgid "After establishing a secure environment with MAC, Xorg no longer starts"
msgstr "После настройки безопасной среды с MAC, Xorg больше не запускается"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/mac/_index.adoc:944
msgid ""
"This could be caused by the MAC `partition` policy or by a mislabeling in "
@@ -3009,7 +3010,7 @@ msgstr ""
"Это может быть вызвано политикой MAC `partition` или ошибкой маркировки в "
"одной из политик маркировки MAC. Для диагностики попробуйте следующее:"
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/mac/_index.adoc:948
msgid ""
"Check the error message. If the user is in the `insecure` class, the "
@@ -3019,10 +3020,10 @@ msgid ""
msgstr ""
"Проверьте сообщение об ошибке. Если пользователь находится в классе "
"`insecure`, проблема может быть в политике `partition`. Попробуйте вернуть "
-"пользователя в класс `default` и пересобрать базу данных с помощью "
-"`cap_mkdb`. Если это не решит проблему, перейдите ко второму шагу."
+"пользователя в класс `default` и пересобрать базу данных с помощью `cap_mkdb`"
+". Если это не решит проблему, перейдите ко второму шагу."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/mac/_index.adoc:949
msgid ""
"Double-check that the label policies are set correctly for the user, Xorg, "
@@ -3031,7 +3032,7 @@ msgstr ""
"Перепроверьте, что политики меток правильно установлены для пользователя, "
"Xorg и записей в [.filename]#/dev#."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/mac/_index.adoc:950
msgid ""
"If neither of these resolve the problem, send the error message and a "
@@ -3046,7 +3047,7 @@ msgstr ""
msgid "The `_secure_path: unable to stat .login_conf` error appears"
msgstr "Появляется ошибка `_secure_path: unable to stat .login_conf`"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/mac/_index.adoc:957
msgid ""
"This error can appear when a user attempts to switch from the `root` user to "
@@ -3074,13 +3075,13 @@ msgstr ""
msgid "The system no longer recognizes `root`"
msgstr "Система больше не распознает `root`"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/mac/_index.adoc:960
msgid "When this occurs, `whoami` returns `0` and `su` returns `who are you?`."
msgstr ""
"Когда это происходит, `whoami` возвращает `0`, а `su` выводит `who are you?`."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/mac/_index.adoc:964
msgid ""
"This can happen if a labeling policy has been disabled by man:sysctl[8] or "
@@ -3095,7 +3096,7 @@ msgstr ""
"etc/login.conf#, чтобы убедиться, что все опции `label` удалены, и "
"перестройте базу данных с помощью `cap_mkdb`."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/mac/_index.adoc:968
msgid ""
"This may also happen if a policy restricts access to "
@@ -3106,8 +3107,8 @@ msgid ""
"new label. Disable the policy using man:sysctl[8] and everything should "
"return to normal."
msgstr ""
-"Это также может произойти, если политика ограничивает доступ к "
-"[.filename]#master.passwd#. Обычно это происходит, когда администратор "
+"Это также может произойти, если политика ограничивает доступ к [."
+"filename]#master.passwd#. Обычно это происходит, когда администратор "
"изменяет файл под меткой, которая конфликтует с общей политикой, "
"используемой системой. В таких случаях система прочитает информацию о "
"пользователе, но доступ будет заблокирован, так как файл унаследовал новую "
diff --git a/documentation/content/ru/books/handbook/mail/_index.adoc b/documentation/content/ru/books/handbook/mail/_index.adoc
index b1401f66fd..3d69a51013 100644
--- a/documentation/content/ru/books/handbook/mail/_index.adoc
+++ b/documentation/content/ru/books/handbook/mail/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/mail/
part: 'IV. Сетевое взаимодействие'
prev: books/handbook/ppp-and-slip
-showBookMenu: true
+showBookMenu: 'true'
tags: ["mail", "sendmail", "dma", "MTA", "SMTP", "mail user agents", "fetchmail", "procmail", "alpine", "mutt", "postfix"]
title: 'Глава 31. Электронная почта'
weight: 36
@@ -269,7 +269,7 @@ www.example.org
+
После создания или редактирования этого файла перезапустите Sendmail с помощью команды `service sendmail restart`.
+
-Теперь любая почта, отправленная через систему с любого хоста из этого списка, при условии, что у пользователя есть учетная запись в системе, будет доставлена успешно. Это позволяет пользователям отправлять почту с системы удаленно, не открывая систему для ретрансляции СПАМа из Интернета.
+Теперь любая почта, отправленная через систему с любого хоста из этого списка, при условии, что у пользователя есть учетная запись в системе, будет доставлена успешно. Это позволяет пользователям отправлять почту с системы удаленно, не открывая систему для ретрансляции спама из Интернета.
[[mail-changingmta]]
== Изменение агента передачи почты
diff --git a/documentation/content/ru/books/handbook/mail/_index.po b/documentation/content/ru/books/handbook/mail/_index.po
index 6876751c70..eb7d318734 100644
--- a/documentation/content/ru/books/handbook/mail/_index.po
+++ b/documentation/content/ru/books/handbook/mail/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
-"PO-Revision-Date: 2025-06-19 04:45+0000\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
+"PO-Revision-Date: 2025-10-30 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/bookshandbookmail_index/ru/>\n"
@@ -18,19 +18,22 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/mail/_index.adoc:1
#, no-wrap
msgid "This chapter provides a basic introduction to running a mail server on FreeBSD, as well as an introduction to sending and receiving email using FreeBSD"
-msgstr "Эта глава содержит базовое введение в настройку почтового сервера на FreeBSD, а также основы отправки и получения электронной почты с использованием FreeBSD"
+msgstr ""
+"Эта глава содержит базовое введение в настройку почтового сервера на "
+"FreeBSD, а также основы отправки и получения электронной почты с "
+"использованием FreeBSD"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/mail/_index.adoc:1
#, no-wrap
msgid "IV. Network Communication"
msgstr "IV. Сетевое взаимодействие"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/mail/_index.adoc:1
#, no-wrap
msgid "Chapter 31. Electronic Mail"
@@ -309,7 +312,9 @@ msgstr ""
#: documentation/content/en/books/handbook/mail/_index.adoc:121
#, no-wrap
msgid "Using DMA to Route Outgoing Mail through Gmail (STARTTLS:SMTP example)"
-msgstr "Использование DMA для маршрутизации исходящей почты через Gmail (пример STARTTLS:SMTP)"
+msgstr ""
+"Использование DMA для маршрутизации исходящей почты через Gmail (пример "
+"STARTTLS:SMTP)"
#. type: Plain text
#: documentation/content/en/books/handbook/mail/_index.adoc:124
@@ -345,8 +350,8 @@ msgstr ""
msgid ""
"Authentication can be set with one line in [.filename]#/etc/dma/auth.conf#:"
msgstr ""
-"Аутентификацию можно настроить одной строкой в [.filename]#/etc/dma/"
-"auth.conf#:"
+"Аутентификацию можно настроить одной строкой в [.filename]#/etc/dma/auth."
+"conf#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/mail/_index.adoc:140
@@ -364,8 +369,8 @@ msgid ""
msgstr ""
"Если у вас включена двухфакторная аутентификация, потребуется сгенерировать "
"пароль для приложения, так как обычный пароль для входа будет отклонён. "
-"Дополнительную информацию о https://myaccount.google.com/"
-"apppasswords[паролях для приложений] смотрите в документации Google."
+"Дополнительную информацию о https://myaccount.google.com/apppasswords["
+"паролях для приложений] смотрите в документации Google."
#. type: Plain text
#: documentation/content/en/books/handbook/mail/_index.adoc:151
@@ -384,7 +389,9 @@ msgstr "% echo this is a test | mail -v -s testing-email username@gmail.com\n"
#: documentation/content/en/books/handbook/mail/_index.adoc:158
#, no-wrap
msgid "Using DMA to Route Outgoing Mail through Fastmail (SSL/TLS example)"
-msgstr "Использование DMA для маршрутизации исходящей почты через Fastmail (пример SSL/TLS)"
+msgstr ""
+"Использование DMA для маршрутизации исходящей почты через Fastmail (пример "
+"SSL/TLS)"
#. type: Plain text
#: documentation/content/en/books/handbook/mail/_index.adoc:161
@@ -421,13 +428,16 @@ msgstr "username@fastmail.com|smtp.fastmail.com:password\n"
#: documentation/content/en/books/handbook/mail/_index.adoc:183
#, no-wrap
msgid "% echo this is a test | mail -v -s testing-email username@fastmail.com\n"
-msgstr "% echo this is a test | mail -v -s testing-email username@fastmail.com\n"
+msgstr ""
+"% echo this is a test | mail -v -s testing-email username@fastmail.com\n"
#. type: Title ====
#: documentation/content/en/books/handbook/mail/_index.adoc:186
#, no-wrap
msgid "Using DMA to Route Outgoing Mail through a Custom Mail Host"
-msgstr "Использование DMA для маршрутизации исходящей почты через пользовательский почтовый хост"
+msgstr ""
+"Использование DMA для маршрутизации исходящей почты через пользовательский "
+"почтовый хост"
#. type: Plain text
#: documentation/content/en/books/handbook/mail/_index.adoc:189
@@ -750,8 +760,8 @@ msgstr ""
"ящиком. Наконец, любой электронный адрес из `example.com`, который не совпал "
"ни с одной из предыдущих записей, будет соответствовать последнему "
"сопоставлению и отправлен в локальный почтовый ящик `joe`. При создании "
-"пользовательских записей используйте этот формат и добавляйте их в "
-"[.filename]#/etc/mail/virtusertable#. При каждом редактировании этого файла "
+"пользовательских записей используйте этот формат и добавляйте их в [."
+"filename]#/etc/mail/virtusertable#. При каждом редактировании этого файла "
"обновите его базу данных и перезапустите Sendmail:"
#. type: delimited block . 4
@@ -793,8 +803,8 @@ msgid ""
"etc/mail/relay-domains#. If multiple addresses are needed, add them one per "
"line:"
msgstr ""
-"Наиболее простое решение — добавить полное доменное имя (FQDN) провайдера в "
-"[.filename]#/etc/mail/relay-domains#. Если требуется добавить несколько "
+"Наиболее простое решение — добавить полное доменное имя (FQDN) провайдера в ["
+".filename]#/etc/mail/relay-domains#. Если требуется добавить несколько "
"адресов, укажите их по одному на строку:"
#. type: delimited block . 4
@@ -831,7 +841,7 @@ msgstr ""
"Теперь любая почта, отправленная через систему с любого хоста из этого "
"списка, при условии, что у пользователя есть учетная запись в системе, будет "
"доставлена успешно. Это позволяет пользователям отправлять почту с системы "
-"удаленно, не открывая систему для ретрансляции СПАМа из Интернета."
+"удаленно, не открывая систему для ретрансляции спама из Интернета."
#. type: Title ==
#: documentation/content/en/books/handbook/mail/_index.adoc:332
@@ -881,8 +891,7 @@ msgstr "Замена Sendmail на другой MTA"
msgid ""
"In order to completely disable man:sendmail[8] execute the following "
"commands:"
-msgstr ""
-"Чтобы полностью отключить man:sendmail[8], выполните следующие команды:"
+msgstr "Чтобы полностью отключить man:sendmail[8], выполните следующие команды:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/mail/_index.adoc:357
@@ -1009,9 +1018,11 @@ msgid ""
"mailq /usr/local/libexec/dma\n"
"newaliases /usr/local/libexec/dma\n"
msgstr ""
-"# Execute the \"real\" sendmail program, named /usr/libexec/sendmail/sendmail\n"
+"# Execute the \"real\" sendmail program, named /usr/libexec/sendmail/"
+"sendmail\n"
"#\n"
-"# If dma(8) is installed, an example mailer.conf that uses dma(8) instead can\n"
+"# If dma(8) is installed, an example mailer.conf that uses dma(8) instead "
+"can\n"
"# be found in /usr/share/examples/dma\n"
"#\n"
"sendmail /usr/local/libexec/dma\n"
@@ -1123,8 +1134,8 @@ msgid ""
"If postfix is *not* already activated in [.filename]#/usr/local/etc/mail/"
"mailer.conf# execute the following commands:"
msgstr ""
-"Если postfix *ещё не* активирован в [.filename]#/usr/local/etc/mail/"
-"mailer.conf#, выполните следующие команды:"
+"Если postfix *ещё не* активирован в [.filename]#/usr/local/etc/mail/mailer."
+"conf#, выполните следующие команды:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/mail/_index.adoc:472
@@ -1136,7 +1147,8 @@ msgid ""
msgstr ""
"mv /usr/local/etc/mail/mailer.conf /usr/local/etc/mail/mailer.conf.old\n"
"install -d /usr/local/etc/mail\n"
-"install -m 0644 /usr/local/share/postfix/mailer.conf.postfix /usr/local/etc/mail/mailer.conf\n"
+"install -m 0644 /usr/local/share/postfix/mailer.conf.postfix /usr/local/etc/"
+"mail/mailer.conf\n"
#. type: Plain text
#: documentation/content/en/books/handbook/mail/_index.adoc:476
@@ -1148,8 +1160,8 @@ msgid ""
msgstr ""
"При использовании SASL убедитесь, что postfix имеет доступ на чтение файла "
"sasldb. Это достигается добавлением postfix в группу mail и установкой прав "
-"на чтение для группы mail для файлов [.filename]#/usr/local/etc/sasldb*# "
-"(это должно быть настроено по умолчанию при новых установках)."
+"на чтение для группы mail для файлов [.filename]#/usr/local/etc/sasldb*# ("
+"это должно быть настроено по умолчанию при новых установках)."
#. type: Title ==
#: documentation/content/en/books/handbook/mail/_index.adoc:481
@@ -1462,9 +1474,9 @@ msgid ""
"from `mutt` to `neomutt`."
msgstr ""
"Стоит упомянуть форк Mutt под названием NeoMutt, который добавляет новые "
-"возможности. Подробнее можно узнать по ссылке link:https://neomutt.org/"
-"about.html[сайт NeoMutt]. Если выбран NeoMutt, замените следующие примеры "
-"команд с `mutt` на `neomutt`."
+"возможности. Подробнее можно узнать по ссылке link:https://neomutt.org/about."
+"html[сайт NeoMutt]. Если выбран NeoMutt, замените следующие примеры команд с "
+"`mutt` на `neomutt`."
#. type: Plain text
#: documentation/content/en/books/handbook/mail/_index.adoc:606
@@ -1511,8 +1523,8 @@ msgid ""
"To read an email, select it using the cursor keys and press kbd:[Enter]. An "
"example of Mutt displaying email can be seen below:"
msgstr ""
-"Чтобы прочитать письмо, выберите его с помощью клавиш курсора и нажмите kbd:"
-"[Enter]. Пример отображения письма в Mutt показан ниже:"
+"Чтобы прочитать письмо, выберите его с помощью клавиш курсора и нажмите "
+"kbd:[Enter]. Пример отображения письма в Mutt показан ниже:"
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/mail/_index.adoc:621
@@ -1553,8 +1565,8 @@ msgstr ""
"письма. Каждый пользователь может изменить это, создав или отредактировав "
"файл [.filename]#.muttrc# в своём домашнем каталоге и установив переменную "
"`editor`, либо задав переменную окружения `EDITOR`. Дополнительную "
-"информацию о настройке Mutt можно найти на link:http://www.mutt.org/[http://"
-"www.mutt.org/]."
+"информацию о настройке Mutt можно найти на link:http://www.mutt.org/"
+"[http://www.mutt.org/]."
#. type: Plain text
#: documentation/content/en/books/handbook/mail/_index.adoc:640
@@ -1634,9 +1646,8 @@ msgid ""
"alpine[] port. Once the port has installed, alpine can be started by "
"issuing the following command:"
msgstr ""
-"Текущую версию alpine можно установить с помощью порта package:mail/"
-"alpine[]. После установки порта alpine можно запустить, выполнив следующую "
-"команду:"
+"Текущую версию alpine можно установить с помощью порта package:mail/alpine[]"
+". После установки порта alpine можно запустить, выполнив следующую команду:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/mail/_index.adoc:664
@@ -1772,8 +1783,8 @@ msgstr ""
"Для ответа на письмо в alpine запускается редактор pico, который "
"устанавливается по умолчанию вместе с alpine. pico упрощает навигацию по "
"сообщению и более удобен для начинающих пользователей, чем man:vi[1] или "
-"man:mail[1]. После завершения ответа сообщение можно отправить, нажав kbd:"
-"[Ctrl+X]. alpine запросит подтверждение перед отправкой сообщения."
+"man:mail[1]. После завершения ответа сообщение можно отправить, нажав "
+"kbd:[Ctrl+X]. alpine запросит подтверждение перед отправкой сообщения."
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/mail/_index.adoc:698
@@ -1921,12 +1932,11 @@ msgid ""
"`example.FreeBSD.org`. Note that man:dma[8] does not listen on port 25 for "
"incoming connections and cannot be used in this scenario."
msgstr ""
-"В этом примере письма, отправленные напрямую на "
-"mailto:yourlogin@example.FreeBSD.org[yourlogin@example.FreeBSD.org], должны "
-"работать без проблем, при условии что полнофункциональный MTA корректно "
-"работает на `example.FreeBSD.org`. Обратите внимание, что man:dma[8] не "
-"слушает порт 25 для входящих соединений и не может быть использован в данном "
-"сценарии."
+"В этом примере письма, отправленные напрямую на mailto:yourlogin@example."
+"FreeBSD.org[yourlogin@example.FreeBSD.org], должны работать без проблем, при "
+"условии что полнофункциональный MTA корректно работает на `example.FreeBSD."
+"org`. Обратите внимание, что man:dma[8] не слушает порт 25 для входящих "
+"соединений и не может быть использован в данном сценарии."
#. type: Plain text
#: documentation/content/en/books/handbook/mail/_index.adoc:756
@@ -1961,9 +1971,9 @@ msgid ""
"will be delivered directly to the host by way of its IP address."
msgstr ""
"Указанная выше информация обрабатывается DNS-сервером. DNS-запись, "
-"содержащая информацию о маршрутизации почты, называется link:https://"
-"en.wikipedia.org/wiki/MX_record[записью почтового обменника (MX-запись)]. "
-"Если MX-запись отсутствует, почта будет доставлена напрямую на хост по его "
+"содержащая информацию о маршрутизации почты, называется link:https://en."
+"wikipedia.org/wiki/MX_record[записью почтового обменника (MX-запись)]. Если "
+"MX-запись отсутствует, почта будет доставлена напрямую на хост по его "
"IP-адресу."
#. type: Plain text
@@ -2098,8 +2108,8 @@ msgid ""
"Consider a customer with the domain `customer1.org`, where all the mail for "
"`customer1.org` should be sent to `mail.myhost.com`."
msgstr ""
-"Рассмотрим клиента с доменом `customer1.org`, где вся почта для "
-"`customer1.org` должна отправляться на `mail.myhost.com`."
+"Рассмотрим клиента с доменом `customer1.org`, где вся почта для `customer1."
+"org` должна отправляться на `mail.myhost.com`."
#. type: Plain text
#: documentation/content/en/books/handbook/mail/_index.adoc:827
@@ -2119,8 +2129,8 @@ msgid ""
"email for that domain. However, running `ping` against `customer1.org` will "
"not work unless an `A` record exists for it."
msgstr ""
-"Для обработки только электронной почты домена `customer1.org` запись типа "
-"`A` _не_ требуется. Однако команда `ping` для `customer1.org` не будет "
+"Для обработки только электронной почты домена `customer1.org` запись типа `A`"
+" _не_ требуется. Однако команда `ping` для `customer1.org` не будет "
"работать, если для этого домена не существует записи `A`."
#. type: Plain text
@@ -2144,8 +2154,7 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/mail/_index.adoc:841
msgid "Add a `Cwyour.host.com` line to [.filename]#/etc/sendmail.cf#."
-msgstr ""
-"Добавьте строку `Cwyour.host.com` в файл [.filename]#/etc/sendmail.cf#."
+msgstr "Добавьте строку `Cwyour.host.com` в файл [.filename]#/etc/sendmail.cf#."
#. type: Title ===
#: documentation/content/en/books/handbook/mail/_index.adoc:843
@@ -2241,8 +2250,8 @@ msgid ""
"Once installed, package:mail/ssmtp[] can be configured with [.filename]#/usr/"
"local/etc/ssmtp/ssmtp.conf#:"
msgstr ""
-"После установки пакет package:mail/ssmtp[] можно настроить с помощью файла "
-"[.filename]#/usr/local/etc/ssmtp/ssmtp.conf#:"
+"После установки пакет package:mail/ssmtp[] можно настроить с помощью файла [."
+"filename]#/usr/local/etc/ssmtp/ssmtp.conf#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/mail/_index.adoc:876
@@ -2266,9 +2275,9 @@ msgid ""
"server\" or \"SMTP server\"."
msgstr ""
"Используйте настоящий адрес электронной почты для `root`. Введите исходящий "
-"почтовый релейный сервер вашего интернет-провайдера вместо "
-"`mail.example.com`. Некоторые провайдеры называют это \"исходящий почтовый "
-"сервер\" или \"SMTP-сервер\"."
+"почтовый релейный сервер вашего интернет-провайдера вместо `mail.example.com`"
+". Некоторые провайдеры называют это \"исходящий почтовый сервер\" или \"SMTP-"
+"сервер\"."
#. type: Plain text
#: documentation/content/en/books/handbook/mail/_index.adoc:883
@@ -2335,8 +2344,8 @@ msgid ""
"lib/sasl2/Sendmail.conf#, or create it if it does not exist, and add the "
"following line:"
msgstr ""
-"После установки пакета package:security/cyrus-sasl2[] отредактируйте файл "
-"[.filename]#/usr/local/lib/sasl2/Sendmail.conf# или создайте его, если он не "
+"После установки пакета package:security/cyrus-sasl2[] отредактируйте файл [."
+"filename]#/usr/local/lib/sasl2/Sendmail.conf# или создайте его, если он не "
"существует, и добавьте следующую строку:"
#. type: delimited block . 4
@@ -2410,8 +2419,8 @@ msgid ""
"has been installed before recompiling Sendmail."
msgstr ""
"Эти строки предоставляют Sendmail правильные параметры конфигурации для "
-"связи с package:cyrus-sasl2[] во время компиляции. Убедитесь, что "
-"package:cyrus-sasl2[] установлен перед перекомпиляцией Sendmail."
+"связи с package:cyrus-sasl2[] во время компиляции. Убедитесь, что package"
+":cyrus-sasl2[] установлен перед перекомпиляцией Sendmail."
#. type: Plain text
#: documentation/content/en/books/handbook/mail/_index.adoc:934
@@ -2495,8 +2504,8 @@ msgid ""
"[.filename]#freebsd.cf# or the name used for the local [.filename]#.mc#."
msgstr ""
"Наконец, выполните man:make[1] в каталоге [.filename]#/etc/mail#. Это "
-"приведёт к обработке нового файла [.filename]#.mc# и созданию файла "
-"[.filename]#.cf# с именем [.filename]#freebsd.cf# или именем, использованным "
+"приведёт к обработке нового файла [.filename]#.mc# и созданию файла [."
+"filename]#.cf# с именем [.filename]#freebsd.cf# или именем, использованным "
"для локального файла [.filename]#.mc#."
#. type: Plain text
@@ -2505,8 +2514,8 @@ msgid ""
"Then, run `make install restart`, which will copy the file to "
"[.filename]#sendmail.cf#, and properly restart Sendmail."
msgstr ""
-"Затем выполните `make install restart`, что скопирует файл в "
-"[.filename]#sendmail.cf# и корректно перезапустит Sendmail."
+"Затем выполните `make install restart`, что скопирует файл в [."
+"filename]#sendmail.cf# и корректно перезапустит Sendmail."
#. type: Plain text
#: documentation/content/en/books/handbook/mail/_index.adoc:968
@@ -2514,8 +2523,8 @@ msgid ""
"For more information about this process, refer to [.filename]#/etc/mail/"
"Makefile#."
msgstr ""
-"Для получения дополнительной информации об этом процессе обратитесь к "
-"[.filename]#/etc/mail/Makefile#."
+"Для получения дополнительной информации об этом процессе обратитесь к [."
+"filename]#/etc/mail/Makefile#."
#. type: Plain text
#: documentation/content/en/books/handbook/mail/_index.adoc:971
diff --git a/documentation/content/ru/books/handbook/mirrors/_index.adoc b/documentation/content/ru/books/handbook/mirrors/_index.adoc
index 87204b135b..cc83d5a66d 100644
--- a/documentation/content/ru/books/handbook/mirrors/_index.adoc
+++ b/documentation/content/ru/books/handbook/mirrors/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/mirrors/
part: 'Часть V. Приложения'
prev: books/handbook/partv
-showBookMenu: true
+showBookMenu: 'true'
tags: ["Obtaining", "CD", "DVD", "FTP", "Git"]
title: 'Приложение A. Получение FreeBSD'
weight: 41
@@ -435,22 +435,22 @@ GitLab::
Копии дисков FreeBSD доступны у нескольких онлайн-продавцов:
* FreeBSD Mall, Inc. +
-1164 Claremont Dr +
-Brentwood, CA +
-94513 +
-USA +
-Phone: +1 925 240-6652 +
-Fax: +1 925 674-0821 +
-Email: info@freebsdmall.com +
-Website: https://www.freebsdmall.com
+ 1164 Claremont Dr +
+ Brentwood, CA +
+ 94513 +
+ USA +
+ Phone: +1 925 240-6652 +
+ Fax: +1 925 674-0821 +
+ Email: info@freebsdmall.com +
+ Website: https://www.freebsdmall.com
* Getlinux +
-Website: https://www.getlinux.fr/
+ Website: https://www.getlinux.fr/
* Dr. Hinner EDV +
-Schäftlarnstr. 10 // 4. Stock +
-D-81371 München +
-Germany +
-Phone: +49 171 417 544 6 +
-Email: infow@hinner.de +
-Website: http://www.hinner.de/linux/freebsd.html
+ Schäftlarnstr. 10 // 4. Stock +
+ D-81371 München +
+ Germany +
+ Phone: +49 171 417 544 6 +
+ Email: infow@hinner.de +
+ Website: http://www.hinner.de/linux/freebsd.html
diff --git a/documentation/content/ru/books/handbook/mirrors/_index.po b/documentation/content/ru/books/handbook/mirrors/_index.po
index 3b6aa457ce..2531a1d6a6 100644
--- a/documentation/content/ru/books/handbook/mirrors/_index.po
+++ b/documentation/content/ru/books/handbook/mirrors/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-08-17 20:54+0100\n"
"PO-Revision-Date: 2025-08-19 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,19 +18,19 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/mirrors/_index.adoc:1
#, no-wrap
msgid "How to get FreeBSD: CD and DVD sets, FTP sites and how to install and use Git"
msgstr "Как получить FreeBSD: наборы CD и DVD, FTP-сайты и как установить и использовать Git"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/mirrors/_index.adoc:1
#, no-wrap
msgid "Part V. Appendices"
msgstr "Часть V. Приложения"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/mirrors/_index.adoc:1
#, no-wrap
msgid "Appendix A. Obtaining FreeBSD"
@@ -48,7 +48,7 @@ msgstr "Получение FreeBSD"
msgid "Mirrors"
msgstr "Зеркала"
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/mirrors/_index.adoc:57
msgid ""
"The official mirrors of the FreeBSD project are made up of many machines "
@@ -65,7 +65,7 @@ msgstr ""
"Тайвань, Соединённые Штаты Америки (Калифорния, Иллинойс — две площадки, Нью-"
"Джерси и Вашингтон)."
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/mirrors/_index.adoc:59
msgid "Official mirrors service:"
msgstr "Официальный сервис зеркал:"
@@ -242,16 +242,16 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/mirrors/_index.adoc:100
msgid ""
-"There is an ongoing project to provide **download.FreeBSD.org** and "
-"**pkg.FreeBSD.org** through link:https://www.fastly.com[Fastly], using its "
-"CDN acceleration, caching, and bandwidth to bring FreeBSD images and "
-"packages to our globally distributed community."
+"There is an ongoing project to provide **download.FreeBSD.org** and **pkg."
+"FreeBSD.org** through link:https://www.fastly.com[Fastly], using its CDN "
+"acceleration, caching, and bandwidth to bring FreeBSD images and packages to "
+"our globally distributed community."
msgstr ""
-"В настоящее время реализуется проект по предоставлению доступа к "
-"**download.FreeBSD.org** и **pkg.FreeBSD.org** через link:https://"
-"www.fastly.com[Fastly], использующий CDN-ускорение, кэширование и пропускную "
-"способность этой сети для распространения образов и пакетов FreeBSD среди "
-"нашей глобально распределённой пользовательской базы."
+"В настоящее время реализуется проект по предоставлению доступа к **download."
+"FreeBSD.org** и **pkg.FreeBSD.org** через link:https://www.fastly.com[Fastly]"
+", использующий CDN-ускорение, кэширование и пропускную способность этой сети "
+"для распространения образов и пакетов FreeBSD среди нашей глобально "
+"распределённой пользовательской базы."
#. type: Plain text
#: documentation/content/en/books/handbook/mirrors/_index.adoc:102
@@ -1140,8 +1140,8 @@ msgstr ""
"Git использует URL-адреса для указания репозитория. Существует три разных "
"репозитория: `src` для исходного кода системы FreeBSD, `doc` для "
"документации и `ports` для коллекции портов FreeBSD. Все три доступны по "
-"двум разным протоколам: HTTPS и SSH. Например, URL-адрес `https://"
-"git.FreeBSD.org/src.git` указывает на основную ветку репозитория `src`, "
+"двум разным протоколам: HTTPS и SSH. Например, URL-адрес `https://git."
+"FreeBSD.org/src.git` указывает на основную ветку репозитория `src`, "
"используя протокол `https`."
#. type: Block title
@@ -1293,8 +1293,8 @@ msgid ""
"The working tree can be updated with `git pull`. To update [.filename]#/usr/"
"src# created in the example above, use:"
msgstr ""
-"Рабочее дерево можно обновить с помощью `git pull`. Чтобы обновить "
-"[.filename]#/usr/src#, созданный в примере выше, используйте:"
+"Рабочее дерево можно обновить с помощью `git pull`. Чтобы обновить [."
+"filename]#/usr/src#, созданный в примере выше, используйте:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/mirrors/_index.adoc:394
@@ -1324,11 +1324,11 @@ msgstr "Веб-интерфейс репозиториев"
#. type: Plain text
#: documentation/content/en/books/handbook/mirrors/_index.adoc:401
msgid ""
-"The FreeBSD project uses cgit as the web-based repository browser: "
-"link:https://cgit.FreeBSD.org/[https://cgit.FreeBSD.org/]."
+"The FreeBSD project uses cgit as the web-based repository browser: link:"
+"https://cgit.FreeBSD.org/[https://cgit.FreeBSD.org/]."
msgstr ""
-"Проект FreeBSD использует cgit в качестве веб-браузера репозиториев: "
-"link:https://cgit.FreeBSD.org/[https://cgit.FreeBSD.org/]."
+"Проект FreeBSD использует cgit в качестве веб-браузера репозиториев: link:"
+"https://cgit.FreeBSD.org/[https://cgit.FreeBSD.org/]."
#. type: Title ===
#: documentation/content/en/books/handbook/mirrors/_index.adoc:402
@@ -1469,11 +1469,11 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/mirrors/_index.adoc:438
msgid ""
-"ED25519 key fingerprint is "
-"`SHA256:lNR6i4BEOaaUhmDHBA1WJsO7H3KtvjE2r5q4sOxtIWo`"
+"ED25519 key fingerprint is `SHA256:"
+"lNR6i4BEOaaUhmDHBA1WJsO7H3KtvjE2r5q4sOxtIWo`"
msgstr ""
-"Отпечаток ключа ED25519 — "
-"`SHA256:lNR6i4BEOaaUhmDHBA1WJsO7H3KtvjE2r5q4sOxtIWo`"
+"Отпечаток ключа ED25519 — `SHA256:"
+"lNR6i4BEOaaUhmDHBA1WJsO7H3KtvjE2r5q4sOxtIWo`"
#. type: Plain text
#: documentation/content/en/books/handbook/mirrors/_index.adoc:439
@@ -1497,11 +1497,11 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/mirrors/_index.adoc:443
msgid ""
-"ED25519 key fingerprint is "
-"`SHA256:y1ljKrKMD3lDObRUG3xJ9gXwEIuqnh306tSyFd1tuZE`"
+"ED25519 key fingerprint is `SHA256:"
+"y1ljKrKMD3lDObRUG3xJ9gXwEIuqnh306tSyFd1tuZE`"
msgstr ""
-"Отпечаток ключа ED25519 — "
-"`SHA256:y1ljKrKMD3lDObRUG3xJ9gXwEIuqnh306tSyFd1tuZE`"
+"Отпечаток ключа ED25519 — `SHA256:"
+"y1ljKrKMD3lDObRUG3xJ9gXwEIuqnh306tSyFd1tuZE`"
#. type: Plain text
#: documentation/content/en/books/handbook/mirrors/_index.adoc:444
diff --git a/documentation/content/ru/books/handbook/multimedia/_index.adoc b/documentation/content/ru/books/handbook/multimedia/_index.adoc
index d6aade0fc7..806d621493 100644
--- a/documentation/content/ru/books/handbook/multimedia/_index.adoc
+++ b/documentation/content/ru/books/handbook/multimedia/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/multimedia/
part: 'Часть II. Стандартные задачи'
prev: books/handbook/desktop
-showBookMenu: true
+showBookMenu: 'true'
tags: ["multimedia", "sound card", "Audio players", "scanner", "SANE", "Video players", "Conferencing and Meetings", "Setting Up the Webcam"]
title: 'Глава 9. Мультимедиа'
weight: 12
diff --git a/documentation/content/ru/books/handbook/multimedia/_index.po b/documentation/content/ru/books/handbook/multimedia/_index.po
index 4aea569f9b..8f7e145e85 100644
--- a/documentation/content/ru/books/handbook/multimedia/_index.po
+++ b/documentation/content/ru/books/handbook/multimedia/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-08-17 20:54+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/"
@@ -18,19 +18,19 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/multimedia/_index.adoc:1
#, no-wrap
msgid "The multimedia chapter provides an overview of multimedia support on FreeBSD"
msgstr "Глава о мультимедиа предоставляет обзор поддержки мультимедиа в FreeBSD"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/multimedia/_index.adoc:1
#, no-wrap
msgid "Part II. Common Tasks"
msgstr "Часть II. Стандартные задачи"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/multimedia/_index.adoc:1
#, no-wrap
msgid "Chapter 9. Multimedia"
@@ -451,11 +451,11 @@ msgstr "# sysctl hw.snd.default_unit=4\n"
#. type: Plain text
#: documentation/content/en/books/handbook/multimedia/_index.adoc:201
msgid ""
-"To make this change permanent add the next line to [.filename]#/etc/"
-"sysctl.conf#:"
+"To make this change permanent add the next line to [.filename]#/etc/sysctl."
+"conf#:"
msgstr ""
-"Чтобы сделать это изменение постоянным, добавьте следующую строку в "
-"[.filename]#/etc/sysctl.conf#:"
+"Чтобы сделать это изменение постоянным, добавьте следующую строку в [."
+"filename]#/etc/sysctl.conf#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/multimedia/_index.adoc:205
@@ -473,8 +473,8 @@ msgstr "Автоматическое переключение на наушни
#: documentation/content/en/books/handbook/multimedia/_index.adoc:211
msgid ""
"Some systems may struggle with switching between audio outputs, but "
-"fortunately FreeBSD allows automatic switchover to be configured in "
-"[.filename]#device.hints#."
+"fortunately FreeBSD allows automatic switchover to be configured in [."
+"filename]#device.hints#."
msgstr ""
"Некоторые системы могут испытывать трудности при переключении между "
"аудиовыходами, но, к счастью, FreeBSD позволяет настроить автоматическое "
@@ -572,15 +572,15 @@ msgstr "grep dsp` для проверки, удерживает ли друго
#. type: Plain text
#: documentation/content/en/books/handbook/multimedia/_index.adoc:263
msgid ""
-"Programs using package:audio/pulseaudio[] might need to restart the "
-"package:audio/pulseaudio[] daemon for the changes in `hw.snd.default_unit` "
-"to take effect. Alternatively, package:audio/pulseaudio[] settings can be "
-"changed on the fly. man:pacmd[1] opens a command line connection to the "
-"package:audio/pulseaudio[] daemon:"
+"Programs using package:audio/pulseaudio[] might need to restart the package:"
+"audio/pulseaudio[] daemon for the changes in `hw.snd.default_unit` to take "
+"effect. Alternatively, package:audio/pulseaudio[] settings can be changed "
+"on the fly. man:pacmd[1] opens a command line connection to the package:"
+"audio/pulseaudio[] daemon:"
msgstr ""
"Программы, использующие package:audio/pulseaudio[], могут потребовать "
-"перезапуска демона package:audio/pulseaudio[] для применения изменений в "
-"`hw.snd.default_unit`. В качестве альтернативы, настройки package:audio/"
+"перезапуска демона package:audio/pulseaudio[] для применения изменений в `hw."
+"snd.default_unit`. В качестве альтернативы, настройки package:audio/"
"pulseaudio[] можно изменить на лету. man:pacmd[1] открывает командное "
"соединение с демоном package:audio/pulseaudio[]:"
@@ -1360,8 +1360,8 @@ msgid ""
"project.org[SANE (Scanner Access Now Easy)], which is available in the "
"FreeBSD Ports Collection."
msgstr ""
-"В FreeBSD доступ к сканерам изображений обеспечивается через link:http://"
-"www.sane-project.org[SANE (Scanner Access Now Easy)], который доступен в "
+"В FreeBSD доступ к сканерам изображений обеспечивается через link:http://www."
+"sane-project.org[SANE (Scanner Access Now Easy)], который доступен в "
"Коллекции портов FreeBSD."
#. type: Title ===
@@ -1469,8 +1469,8 @@ msgstr ""
#: documentation/content/en/books/handbook/multimedia/_index.adoc:664
msgid ""
"Once the `idVendor` and the `idProduct` have been obtained, it is necessary "
-"to check in the link:http://www.sane-project.org/lists/sane-mfgs-"
-"cvs.html[list of supported devices of SANE] if the scanner is supported by "
+"to check in the link:http://www.sane-project.org/lists/sane-mfgs-cvs."
+"html[list of supported devices of SANE] if the scanner is supported by "
"filtering by the idProduct."
msgstr ""
"После получения `idVendor` и `idProduct` необходимо проверить в link:http://"
@@ -1559,8 +1559,8 @@ msgid ""
"`vendor`: Is the idVendor obtained previously by running the `usbconfig -d "
"3.2 dump_device_desc` command."
msgstr ""
-"`vendor`: Это idVendor, полученный ранее при выполнении команды `usbconfig "
-"-d 3.2 dump_device_desc`."
+"`vendor`: Это idVendor, полученный ранее при выполнении команды `usbconfig -"
+"d 3.2 dump_device_desc`."
#. type: Plain text
#: documentation/content/en/books/handbook/multimedia/_index.adoc:701
diff --git a/documentation/content/ru/books/handbook/network-servers/_index.adoc b/documentation/content/ru/books/handbook/network-servers/_index.adoc
index 3ea093d18f..38c7aaa95b 100644
--- a/documentation/content/ru/books/handbook/network-servers/_index.adoc
+++ b/documentation/content/ru/books/handbook/network-servers/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/network-servers/
part: 'IV. Сетевое взаимодействие'
prev: books/handbook/mail
-showBookMenu: true
+showBookMenu: 'true'
tags: ["network", "servers", "inetd", "NFS", "NIS", "LDAP", "DHCP", "DNS", "Apache HTTP", "FTP", "Samba", "NTP", "iSCSI"]
title: 'Глава 32. Сетевые серверы'
weight: 37
@@ -175,8 +175,7 @@ protocol::
|Как UDP IPv4, так и IPv6
|===
-{wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-ip]]]::
-In this field, `wait` or `nowait` must be specified. `max-child`, `max-connections-per-ip-per-minute` and `max-child-per-ip` are optional.
+{wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-ip]]]:: В этом поле необходимо указать `wait` или `nowait`. Параметры `max-child`, `max-connections-per-ip-per-minute` и `max-child-per-ip` являются необязательными.
+
`wait|nowait` указывает, способна ли служба обрабатывать свой собственный сокет. Типы сокетов `dgram` должны использовать `wait`, в то время как для демонов `stream`, которые обычно многопоточные, следует использовать `nowait`. `wait` обычно передаёт несколько сокетов одному демону, тогда как `nowait` создаёт дочерний демон для каждого нового сокета.
+
@@ -1002,7 +1001,7 @@ USERBOX IT_EMP ITINTERN USERS
Этот метод определения ограничений входа работает достаточно хорошо, когда можно определить группы машин с одинаковыми ограничениями. К сожалению, это скорее исключение, чем правило. В большинстве случаев требуется возможность определять ограничения входа для каждой машины отдельно.
-Определения машинно-зависимых сетевых групп — ещё один способ справиться с изменениями политики. В этом сценарии файл [.filename]#/etc/master.passwd# на каждой системе содержит две строки, начинающиеся с "+". Первая строка добавляет сетевую группу с учётными записями, которым разрешён вход на эту машину, а вторая строка добавляет все остальные учётные записи с оболочкой [.filename]#/usr/sbin/nologin#. Рекомендуется использовать имя сетевой группы в версии "ВСЕ-ЗАГЛАВНЫЕ", соответствующее имени хоста:
+Определения машинозависимых сетевых групп — ещё один способ справиться с изменениями политики. В этом сценарии файл [.filename]#/etc/master.passwd# на каждой системе содержит две строки, начинающиеся с "+". Первая строка добавляет сетевую группу с учётными записями, которым разрешён вход на эту машину, а вторая строка добавляет все остальные учётные записи с оболочкой [.filename]#/usr/sbin/nologin#. Рекомендуется использовать имя сетевой группы в версии "ВСЕ-ЗАГЛАВНЫЕ", соответствующее имени хоста:
[.programlisting]
....
@@ -2469,7 +2468,7 @@ target iqn.2012-06.com.example:target0 {
[NOTE]
====
-Описаный в этом разделе инициатор iSCSI поддерживается начиная с FreeBSD 10.0-RELEASE. Для использования инициатора iSCSI, доступного в более старых версиях, обратитесь к man:iscontrol[8].
+Описанный в этом разделе инициатор iSCSI поддерживается начиная с FreeBSD 10.0-RELEASE. Для использования инициатора iSCSI, доступного в более старых версиях, обратитесь к man:iscontrol[8].
====
Инициатору iSCSI требуется, чтобы демон man:iscsid[8] был запущен. Этот демон не использует файл конфигурации. Для его автоматического запуска при загрузке добавьте следующую строку в [.filename]#/etc/rc.conf#:
diff --git a/documentation/content/ru/books/handbook/network-servers/_index.po b/documentation/content/ru/books/handbook/network-servers/_index.po
index 24b48f88f8..a383145eed 100644
--- a/documentation/content/ru/books/handbook/network-servers/_index.po
+++ b/documentation/content/ru/books/handbook/network-servers/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
-"PO-Revision-Date: 2025-09-09 04:45+0000\n"
+"POT-Creation-Date: 2025-06-29 21:20+0100\n"
+"PO-Revision-Date: 2025-10-29 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/bookshandbooknetwork-servers_index/ru/>\n"
@@ -18,19 +18,19 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/network-servers/_index.adoc:1
#, no-wrap
msgid "This chapter covers some of the more frequently used network services on UNIX systems"
msgstr "Эта глава рассказывает о некоторых из наиболее часто используемых сетевых служб в системах UNIX"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/network-servers/_index.adoc:1
#, no-wrap
msgid "IV. Network Communication"
msgstr "IV. Сетевое взаимодействие"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/network-servers/_index.adoc:1
#, no-wrap
msgid "Chapter 32. Network Servers"
@@ -150,11 +150,11 @@ msgstr "Сетевой терминологии."
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:78
msgid ""
-"Installation of additional third-party software "
-"(crossref:ports[ports,Installing Applications: Packages and Ports])."
+"Installation of additional third-party software (crossref:ports[ports,"
+"Installing Applications: Packages and Ports])."
msgstr ""
-"Установке дополнительного стороннего программного обеспечения "
-"(crossref:ports[ports,Установка приложений: Пакеты и Порты])."
+"Установке дополнительного стороннего программного обеспечения (crossref:"
+"ports[ports,Установка приложений: Пакеты и Порты])."
#. type: Title ==
#: documentation/content/en/books/handbook/network-servers/_index.adoc:80
@@ -215,8 +215,8 @@ msgid ""
"inetd to listen for an application's connections, remove the `+#+` at the "
"beginning of the line for that application."
msgstr ""
-"Настройка inetd выполняется путем редактирования [.filename]#/etc/"
-"inetd.conf#. Каждая строка этого файла конфигурации представляет приложение, "
+"Настройка inetd выполняется путем редактирования [.filename]#/etc/inetd."
+"conf#. Каждая строка этого файла конфигурации представляет приложение, "
"которое может быть запущено inetd. По умолчанию каждая строка начинается с "
"комментария (`+#+`), что означает, что inetd не ожидает подключений для "
"каких-либо приложений. Чтобы настроить inetd на ожидание подключений для "
@@ -257,8 +257,8 @@ msgid ""
"Once inetd is started, it needs to be notified whenever a modification is "
"made to [.filename]#/etc/inetd.conf#:"
msgstr ""
-"После запуска inetd необходимо уведомлять его о каждом изменении в файле "
-"[.filename]#/etc/inetd.conf#:"
+"После запуска inetd необходимо уведомлять его о каждом изменении в файле [."
+"filename]#/etc/inetd.conf#:"
#. type: Block title
#: documentation/content/en/books/handbook/network-servers/_index.adoc:116
@@ -453,38 +453,12 @@ msgstr "udp46"
msgid "Both UDP IPv4 and IPv6"
msgstr "Как UDP IPv4, так и IPv6"
-#. type: Labeled list
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:191
-#, fuzzy, no-wrap
-#| msgid ""
-#| "service-name\n"
-#| "socket-type\n"
-#| "protocol\n"
-#| "{wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-ip]]]\n"
-#| "user[:group][/login-class]\n"
-#| "server-program\n"
-#| "server-program-arguments\n"
-msgid "{wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-ip]]]"
-msgstr ""
-"service-name\n"
-"socket-type\n"
-"protocol\n"
-"{wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-ip]]]\n"
-"user[:group][/login-class]\n"
-"server-program\n"
-"server-program-arguments\n"
-
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:194
-#, fuzzy
-#| msgid ""
-#| "{wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-"
-#| "per-ip]]]:: In this field, `wait` or `nowait` must be specified. `max-"
-#| "child`, `max-connections-per-ip-per-minute` and `max-child-per-ip` are "
-#| "optional."
msgid ""
-"In this field, `wait` or `nowait` must be specified. `max-child`, `max-"
-"connections-per-ip-per-minute` and `max-child-per-ip` are optional."
+"{wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-"
+"ip]]]:: In this field, `wait` or `nowait` must be specified. `max-child`, "
+"`max-connections-per-ip-per-minute` and `max-child-per-ip` are optional."
msgstr ""
"{wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-"
"ip]]]:: В этом поле необходимо указать `wait` или `nowait`. Параметры `max-"
@@ -697,8 +671,8 @@ msgstr "-s maximum"
msgid ""
"Specify the maximum number of times a service can be invoked from a single "
"IP address at any one time, where the default is unlimited. May be "
-"overridden on a per-service basis by using `max-child-per-ip` in "
-"[.filename]#/etc/inetd.conf#."
+"overridden on a per-service basis by using `max-child-per-ip` in [."
+"filename]#/etc/inetd.conf#."
msgstr ""
"Укажите максимальное количество раз, которое служба может быть вызвана с "
"одного IP-адреса одновременно, по умолчанию значение не ограничено. Может "
@@ -711,8 +685,8 @@ msgid ""
"Additional options are available. Refer to man:inetd[8] for the full list of "
"options."
msgstr ""
-"Доступны дополнительные параметры. Полный список параметров смотрите в "
-"man:inetd[8]."
+"Доступны дополнительные параметры. Полный список параметров смотрите в man:"
+"inetd[8]."
#. type: Title ===
#: documentation/content/en/books/handbook/network-servers/_index.adoc:259
@@ -914,13 +888,13 @@ msgstr "Настройка сервера"
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:316
msgid ""
-"The file systems which the NFS server will share are specified in "
-"[.filename]#/etc/exports#. Each line in this file specifies a file system "
-"to be exported, which clients have access to that file system, and any "
-"access options. When adding entries to this file, each exported file "
-"system, its properties, and allowed hosts must occur on a single line. If "
-"no clients are listed in the entry, then any client on the network can mount "
-"that file system."
+"The file systems which the NFS server will share are specified in [."
+"filename]#/etc/exports#. Each line in this file specifies a file system to "
+"be exported, which clients have access to that file system, and any access "
+"options. When adding entries to this file, each exported file system, its "
+"properties, and allowed hosts must occur on a single line. If no clients "
+"are listed in the entry, then any client on the network can mount that file "
+"system."
msgstr ""
"Файловые системы, которые сервер NFS будет предоставлять в общий доступ, "
"указаны в [.filename]#/etc/exports#. Каждая строка в этом файле определяет "
@@ -936,8 +910,8 @@ msgid ""
"The following [.filename]#/etc/exports# entries demonstrate how to export "
"file systems. The examples can be modified to match the file systems and "
"client names on the reader's network. There are many options that can be "
-"used in this file, but only a few will be mentioned here. See "
-"man:exports[5] for the full list of options."
+"used in this file, but only a few will be mentioned here. See man:"
+"exports[5] for the full list of options."
msgstr ""
"Следующие записи в [.filename]#/etc/exports# демонстрируют, как "
"экспортировать файловые системы. Примеры могут быть изменены в соответствии "
@@ -970,8 +944,8 @@ msgid ""
msgstr ""
"Флаг `-ro` делает файловую систему доступной только для чтения, предотвращая "
"внесение клиентами изменений в экспортированную файловую систему. В этом "
-"примере предполагается, что имена хостов находятся либо в DNS, либо в "
-"[.filename]#/etc/hosts#. Обратитесь к man:hosts[5], если в сети нет DNS-"
+"примере предполагается, что имена хостов находятся либо в DNS, либо в [."
+"filename]#/etc/hosts#. Обратитесь к man:hosts[5], если в сети нет DNS-"
"сервера."
#. type: Plain text
@@ -1022,8 +996,8 @@ msgstr "/a -maproot=root host.example.com box.example.org\n"
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:354
msgid ""
-"A client can only be specified once per file system. For example, if "
-"[.filename]#/usr# is a single file system, these entries would be invalid as "
+"A client can only be specified once per file system. For example, if [."
+"filename]#/usr# is a single file system, these entries would be invalid as "
"both entries specify the same host:"
msgstr ""
"Клиент может быть указан только один раз для каждой файловой системы. "
@@ -1060,8 +1034,8 @@ msgid ""
"The following is an example of a valid export list, where [.filename]#/usr# "
"and [.filename]#/exports# are local file systems:"
msgstr ""
-"Ниже приведён пример корректного списка экспорта, где [.filename]#/usr# и "
-"[.filename]#/exports# являются локальными файловыми системами:"
+"Ниже приведён пример корректного списка экспорта, где [.filename]#/usr# и [."
+"filename]#/exports# являются локальными файловыми системами:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:381
@@ -1159,11 +1133,11 @@ msgstr "Настройка клиента"
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:415
msgid ""
-"To enable NFS clients, set this option in each client's [.filename]#/etc/"
-"rc.conf#:"
+"To enable NFS clients, set this option in each client's [.filename]#/etc/rc."
+"conf#:"
msgstr ""
-"Чтобы включить клиенты NFS, установите эту опцию в файле [.filename]#/etc/"
-"rc.conf# каждого клиента:"
+"Чтобы включить клиенты NFS, установите эту опцию в файле [.filename]#/etc/rc."
+"conf# каждого клиента:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:419
@@ -1213,8 +1187,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:440
msgid ""
-"To mount a remote file system each time the client boots, add it to "
-"[.filename]#/etc/fstab#:"
+"To mount a remote file system each time the client boots, add it to [."
+"filename]#/etc/fstab#:"
msgstr ""
"Для монтирования удаленной файловой системы при каждой загрузке клиента "
"добавьте её в [.filename]#/etc/fstab#:"
@@ -1267,8 +1241,8 @@ msgstr "# service lockd start\n"
#: documentation/content/en/books/handbook/network-servers/_index.adoc:467
msgid ""
"If locking is not required on the server, the NFS client can be configured "
-"to lock locally by including `-L` when running mount. Refer to "
-"man:mount_nfs[8] for further details."
+"to lock locally by including `-L` when running mount. Refer to man:"
+"mount_nfs[8] for further details."
msgstr ""
"Если блокировка не требуется на сервере, клиент NFS можно настроить для "
"локальной блокировки, добавив параметр `-L` при выполнении команды mount. "
@@ -1310,8 +1284,8 @@ msgstr ""
"которые вместе позволяют автоматически монтировать удалённые и локальные "
"файловые системы при обращении к файлу или каталогу внутри этих файловых "
"систем. Она состоит из компонента ядра man:autofs[5] и нескольких "
-"пользовательских приложений: man:automount[8], man:automountd[8] и "
-"man:autounmountd[8]. Она служит альтернативой для man:amd[8] из предыдущих "
+"пользовательских приложений: man:automount[8], man:automountd[8] и man:"
+"autounmountd[8]. Она служит альтернативой для man:amd[8] из предыдущих "
"выпусков FreeBSD. amd по-прежнему предоставляется для обратной "
"совместимости, так как эти утилиты используют разные форматы карт; формат, "
"используемый autofs, совпадает с форматом других автомонтировщиков SVR4, "
@@ -1334,9 +1308,9 @@ msgid ""
"mountpoint, the kernel will notify man:automountd[8] daemon and pause the "
"triggering process. The man:automountd[8] daemon will handle kernel "
"requests by finding the proper map and mounting the filesystem according to "
-"it, then signal the kernel to release blocked process. The "
-"man:autounmountd[8] daemon automatically unmounts automounted filesystems "
-"after some time, unless they are still being used."
+"it, then signal the kernel to release blocked process. The man:"
+"autounmountd[8] daemon automatically unmounts automounted filesystems after "
+"some time, unless they are still being used."
msgstr ""
"Всякий раз, когда процесс пытается получить доступ к файлу в точке "
"монтирования man:autofs[5], ядро уведомляет демон man:automountd[8] и "
@@ -1351,8 +1325,8 @@ msgstr ""
#: documentation/content/en/books/handbook/network-servers/_index.adoc:491
msgid ""
"The primary autofs configuration file is [.filename]#/etc/auto_master#. It "
-"assigns individual maps to top-level mounts. For an explanation of "
-"[.filename]#auto_master# and the map syntax, refer to man:auto_master[5]."
+"assigns individual maps to top-level mounts. For an explanation of [."
+"filename]#auto_master# and the map syntax, refer to man:auto_master[5]."
msgstr ""
"Основной файл конфигурации autofs — это [.filename]#/etc/auto_master#. Он "
"связывает отдельные карты с корневыми точками монтирования. Для объяснения "
@@ -1364,9 +1338,8 @@ msgid ""
"There is a special automounter map mounted on [.filename]#/net#. When a "
"file is accessed within this directory, man:autofs[5] looks up the "
"corresponding remote mount and automatically mounts it. For instance, an "
-"attempt to access a file within [.filename]#/net/foobar/usr# would tell "
-"man:automountd[8] to mount the [.filename]#/usr# export from the host "
-"`foobar`."
+"attempt to access a file within [.filename]#/net/foobar/usr# would tell man:"
+"automountd[8] to mount the [.filename]#/usr# export from the host `foobar`."
msgstr ""
"Существует специальная карта автомонтирования, смонтированная в [.filename]#/"
"net#. При обращении к файлу в этом каталоге, man:autofs[5] ищет "
@@ -1415,19 +1388,18 @@ msgid ""
"successful, man:automountd[8] automatically mounts the source export."
msgstr ""
"Результат выполнения `showmount` показывает, что [.filename]#/usr# "
-"экспортируется. При переходе в каталог [.filename]#/host/foobar/usr#, "
-"man:automountd[8] перехватывает запрос и пытается разрешить имя хоста "
-"`foobar`. В случае успеха man:automountd[8] автоматически монтирует исходный "
-"экспорт."
+"экспортируется. При переходе в каталог [.filename]#/host/foobar/usr#, man:"
+"automountd[8] перехватывает запрос и пытается разрешить имя хоста `foobar`. "
+"В случае успеха man:automountd[8] автоматически монтирует исходный экспорт."
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:517
msgid ""
-"To enable man:autofs[5] at boot time, add this line to [.filename]#/etc/"
-"rc.conf#:"
+"To enable man:autofs[5] at boot time, add this line to [.filename]#/etc/rc."
+"conf#:"
msgstr ""
-"Чтобы включить man:autofs[5] при загрузке, добавьте следующую строку в "
-"[.filename]#/etc/rc.conf#:"
+"Чтобы включить man:autofs[5] при загрузке, добавьте следующую строку в [."
+"filename]#/etc/rc.conf#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:521
@@ -1462,8 +1434,8 @@ msgid ""
msgstr ""
"Формат карты man:autofs[5] такой же, как и в других операционных системах. "
"Информация об этом формате из других источников может быть полезной, "
-"например, из http://web.archive.org/web/20160813071113/http://"
-"images.apple.com/business/docs/Autofs.pdf[документации Mac OS X]."
+"например, из http://web.archive.org/web/20160813071113/http://images.apple."
+"com/business/docs/Autofs.pdf[документации Mac OS X]."
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:536
@@ -1471,9 +1443,8 @@ msgid ""
"Consult the man:automount[8], man:automountd[8], man:autounmountd[8], and "
"man:auto_master[5] manual pages for more information."
msgstr ""
-"Обратитесь к справочным страницам man:automount[8], man:automountd[8], "
-"man:autounmountd[8] и man:auto_master[5] для получения дополнительной "
-"информации."
+"Обратитесь к справочным страницам man:automount[8], man:automountd[8], man:"
+"autounmountd[8] и man:auto_master[5] для получения дополнительной информации."
#. type: Title ==
#: documentation/content/en/books/handbook/network-servers/_index.adoc:538
@@ -1669,11 +1640,11 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:595
msgid ""
-"Information in many files can be shared using NIS. The "
-"[.filename]#master.passwd#, [.filename]#group#, and [.filename]#hosts# files "
-"are commonly shared via NIS. Whenever a process on a client needs "
-"information that would normally be found in these files locally, it makes a "
-"query to the NIS server that it is bound to instead."
+"Information in many files can be shared using NIS. The [.filename]#master."
+"passwd#, [.filename]#group#, and [.filename]#hosts# files are commonly "
+"shared via NIS. Whenever a process on a client needs information that would "
+"normally be found in these files locally, it makes a query to the NIS server "
+"that it is bound to instead."
msgstr ""
"Информация из многих файлов может быть совместно использована с помощью NIS. "
"Файлы [.filename]#master.passwd#, [.filename]#group# и [.filename]#hosts# "
@@ -1916,15 +1887,15 @@ msgstr "Настройка основного сервера NIS"
msgid ""
"The canonical copies of all NIS files are stored on the master server. The "
"databases used to store the information are called NIS maps. In FreeBSD, "
-"these maps are stored in [.filename]#/var/yp/[domainname]# where "
-"[.filename]#[domainname]# is the name of the NIS domain. Since multiple "
+"these maps are stored in [.filename]#/var/yp/[domainname]# where [."
+"filename]#[domainname]# is the name of the NIS domain. Since multiple "
"domains are supported, it is possible to have several directories, one for "
"each domain. Each domain will have its own independent set of maps."
msgstr ""
"Канонические копии всех NIS-файлов хранятся на основном сервере. Базы "
"данных, используемые для хранения информации, называются NIS-картами. В "
-"FreeBSD эти карты хранятся в [.filename]#/var/yp/[domainname]#, где "
-"[.filename]#[domainname]# — это имя NIS-домена. Поскольку поддерживается "
+"FreeBSD эти карты хранятся в [.filename]#/var/yp/[domainname]#, где [."
+"filename]#[domainname]# — это имя NIS-домена. Поскольку поддерживается "
"несколько доменов, возможно наличие нескольких каталогов, по одному для "
"каждого домена. Каждый домен будет иметь свой независимый набор карт."
@@ -1936,10 +1907,10 @@ msgid ""
"translating the requested domain and map name to a path to the corresponding "
"database file, and transmitting data from the database back to the client."
msgstr ""
-"Основные и подчинённые серверы NIS обрабатывают все запросы NIS через "
-"man:ypserv[8]. Этот демон отвечает за приём входящих запросов от клиентов "
-"NIS, преобразование запрошенного домена и имени карты в путь к "
-"соответствующему файлу базы данных и передачу данных из базы обратно клиенту."
+"Основные и подчинённые серверы NIS обрабатывают все запросы NIS через man:"
+"ypserv[8]. Этот демон отвечает за приём входящих запросов от клиентов NIS, "
+"преобразование запрошенного домена и имени карты в путь к соответствующему "
+"файлу базы данных и передачу данных из базы обратно клиенту."
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:673
@@ -2016,8 +1987,8 @@ msgid ""
"by adding these additional lines to [.filename]#/etc/rc.conf#:"
msgstr ""
"Сервер, который также является клиентом, может быть принудительно привязан к "
-"определённому серверу путём добавления следующих строк в [.filename]#/etc/"
-"rc.conf#:"
+"определённому серверу путём добавления следующих строк в [.filename]#/etc/rc."
+"conf#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:696
@@ -2251,8 +2222,8 @@ msgstr "Настройка подчиненного сервера NIS"
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:792
msgid ""
-"To set up an NIS slave server, log on to the slave server and edit "
-"[.filename]#/etc/rc.conf# as for the master server. Do not generate any NIS "
+"To set up an NIS slave server, log on to the slave server and edit [."
+"filename]#/etc/rc.conf# as for the master server. Do not generate any NIS "
"maps, as these already exist on the master server. When running `ypinit` on "
"the slave server, use `-s` (for slave) instead of `-m` (for master). This "
"option requires the name of the NIS master in addition to the domain name, "
@@ -2513,10 +2484,10 @@ msgid ""
"following line to the end of the file:"
msgstr ""
"Для импорта всех возможных записей паролей с сервера NIS, используйте "
-"`vipw`, чтобы удалить все учетные записи пользователей, кроме одной, из "
-"[.filename]#/etc/master.passwd#. При удалении учетных записей учитывайте, "
-"что хотя бы одна локальная учетная запись должна остаться, и эта учетная "
-"запись должна быть членом группы `wheel`. Если возникнут проблемы с NIS, эту "
+"`vipw`, чтобы удалить все учетные записи пользователей, кроме одной, из [."
+"filename]#/etc/master.passwd#. При удалении учетных записей учитывайте, что "
+"хотя бы одна локальная учетная запись должна остаться, и эта учетная запись "
+"должна быть членом группы `wheel`. Если возникнут проблемы с NIS, эту "
"локальную учетную запись можно использовать для удаленного входа, получения "
"прав суперпользователя и устранения проблемы. Перед сохранением изменений "
"добавьте следующую строку в конец файла:"
@@ -2549,8 +2520,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:902
msgid ""
-"To import all possible group entries from the NIS server, add this line to "
-"[.filename]#/etc/group#:"
+"To import all possible group entries from the NIS server, add this line to [."
+"filename]#/etc/group#:"
msgstr ""
"Для импорта всех возможных записей групп с сервера NIS добавьте следующую "
"строку в [.filename]#/etc/group#:"
@@ -2614,8 +2585,8 @@ msgstr ""
"предотвратить несанкционированные операции, man:ypserv[8] поддерживает "
"функцию под названием \"securenets\", которая может использоваться для "
"ограничения доступа к определённому набору хостов. По умолчанию эта "
-"информация хранится в [.filename]#/var/yp/securenets#, если только "
-"man:ypserv[8] не запущен с ключом `-p` и альтернативным путём. Этот файл "
+"информация хранится в [.filename]#/var/yp/securenets#, если только man:"
+"ypserv[8] не запущен с ключом `-p` и альтернативным путём. Этот файл "
"содержит записи, состоящие из спецификации сети и сетевой маски, разделённых "
"пробелами. Строки, начинающиеся с `+\"#\"+`, считаются комментариями. Пример "
"файла [.filename]#securenets# может выглядеть так:"
@@ -2682,8 +2653,8 @@ msgid ""
"set all host bits to zero when doing broadcasts or fail to observe the "
"subnet mask when calculating the broadcast address. While some of these "
"problems can be fixed by changing the client configuration, other problems "
-"may force the retirement of these client systems or the abandonment of "
-"[.filename]#securenets#."
+"may force the retirement of these client systems or the abandonment of [."
+"filename]#securenets#."
msgstr ""
"Серверы, использующие [.filename]#securenets#, могут не обслуживать "
"легитимных клиентов NIS с устаревшими реализациями TCP/IP. Некоторые из этих "
@@ -2741,8 +2712,8 @@ msgid ""
msgstr ""
"Чтобы предотвратить вход определенных пользователей в систему, даже если они "
"присутствуют в базе данных NIS, используйте `vipw` для добавления `-"
-"_имя_пользователя_` с правильным количеством двоеточий в конце файла "
-"[.filename]#/etc/master.passwd# на клиенте, где _имя_пользователя_ — это имя "
+"_имя_пользователя_` с правильным количеством двоеточий в конце файла [."
+"filename]#/etc/master.passwd# на клиенте, где _имя_пользователя_ — это имя "
"пользователя, которому запрещен вход. Строка с заблокированным пользователем "
"должна находиться перед строкой `+`, которая разрешает вход пользователям "
"NIS. В этом примере пользователю `bill` запрещен вход на `basie`:"
@@ -3126,13 +3097,13 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:1098
msgid ""
-"This will generate the three NIS maps [.filename]#netgroup#, "
-"[.filename]#netgroup.byhost# and [.filename]#netgroup.byuser#. Use the map "
+"This will generate the three NIS maps [.filename]#netgroup#, [."
+"filename]#netgroup.byhost# and [.filename]#netgroup.byuser#. Use the map "
"key option of man:ypcat[1] to check if the new NIS maps are available:"
msgstr ""
-"Это создаст три карты NIS [.filename]#netgroup#, "
-"[.filename]#netgroup.byhost# и [.filename]#netgroup.byuser#. Используйте "
-"опцию ключа карты в man:ypcat[1], чтобы проверить доступность новых карт NIS:"
+"Это создаст три карты NIS [.filename]#netgroup#, [.filename]#netgroup."
+"byhost# и [.filename]#netgroup.byuser#. Используйте опцию ключа карты в man:"
+"ypcat[1], чтобы проверить доступность новых карт NIS:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:1104
@@ -3331,13 +3302,13 @@ msgid ""
"shell. It is recommended to use the \"ALL-CAPS\" version of the hostname as "
"the name of the netgroup:"
msgstr ""
-"Определения машинно-зависимых сетевых групп — ещё один способ справиться с "
+"Определения машинозависимых сетевых групп — ещё один способ справиться с "
"изменениями политики. В этом сценарии файл [.filename]#/etc/master.passwd# "
"на каждой системе содержит две строки, начинающиеся с \"+\". Первая строка "
"добавляет сетевую группу с учётными записями, которым разрешён вход на эту "
-"машину, а вторая строка добавляет все остальные учётные записи с оболочкой "
-"[.filename]#/usr/sbin/nologin#. Рекомендуется использовать имя сетевой "
-"группы в версии \"ВСЕ-ЗАГЛАВНЫЕ\", соответствующее имени хоста:"
+"машину, а вторая строка добавляет все остальные учётные записи с оболочкой [."
+"filename]#/usr/sbin/nologin#. Рекомендуется использовать имя сетевой группы "
+"в версии \"ВСЕ-ЗАГЛАВНЫЕ\", соответствующее имени хоста:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:1186
@@ -3475,8 +3446,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:1241
msgid ""
-"To check which format a server or client is using, look at this section of "
-"[.filename]#/etc/login.conf#:"
+"To check which format a server or client is using, look at this section of [."
+"filename]#/etc/login.conf#:"
msgstr ""
"Чтобы проверить, какой формат использует сервер или клиент, посмотрите на "
"этот раздел в [.filename]#/etc/login.conf#:"
@@ -3501,8 +3472,8 @@ msgid ""
"In this example, the system is using the DES format for password hashing. "
"Other possible values include `blf` for Blowfish, `md5` for MD5, `sha256` "
"and `sha512` for SHA-256 and SHA-512 respectively. For more information and "
-"the up to date list of what is available on your system, consult the "
-"man:crypt[3] manpage."
+"the up to date list of what is available on your system, consult the man:"
+"crypt[3] manpage."
msgstr ""
"В этом примере система использует формат DES для хеширования паролей. Другие "
"возможные значения включают `blf` для Blowfish, `md5` для MD5, `sha256` и "
@@ -3696,8 +3667,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:1317
msgid ""
-"More information about LDAP and its terminology can be found at http://"
-"www.openldap.org/doc/admin24/intro.html[http://www.openldap.org/doc/admin24/"
+"More information about LDAP and its terminology can be found at http://www."
+"openldap.org/doc/admin24/intro.html[http://www.openldap.org/doc/admin24/"
"intro.html]."
msgstr ""
"Дополнительная информация о LDAP и его терминологии доступна по адресу "
@@ -3762,17 +3733,17 @@ msgid ""
"commands must be executed from [.filename]#/usr/local/etc/openldap/"
"private#. This is important as the file permissions need to be restrictive "
"and users should not have access to these files. More detailed information "
-"about certificates and their parameters can be found in "
-"crossref:security[openssl,\"OpenSSL\"]. To create the Certificate "
-"Authority, start with this command and follow the prompts:"
+"about certificates and their parameters can be found in crossref:"
+"security[openssl,\"OpenSSL\"]. To create the Certificate Authority, start "
+"with this command and follow the prompts:"
msgstr ""
"Следующий этап — настройка Центра Сертификации. Следующие команды должны "
"быть выполнены из директории [.filename]#/usr/local/etc/openldap/private#. "
"Это важно, так как права доступа к файлам должны быть строгими, и "
"пользователи не должны иметь доступ к этим файлам. Более подробную "
-"информацию о сертификатах и их параметрах можно найти в "
-"crossref:security[openssl,\"OpenSSL\"]. Чтобы создать Центр Сертификации, "
-"начните с этой команды и следуйте инструкциям:"
+"информацию о сертификатах и их параметрах можно найти в crossref:"
+"security[openssl,\"OpenSSL\"]. Чтобы создать Центр Сертификации, начните с "
+"этой команды и следуйте инструкциям:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:1350
@@ -3860,19 +3831,19 @@ msgstr ""
#: documentation/content/en/books/handbook/network-servers/_index.adoc:1385
msgid ""
"The daemon running the OpenLDAP server is [.filename]#slapd#. Its "
-"configuration is performed through [.filename]#slapd.ldif#: the old "
-"[.filename]#slapd.conf# has been deprecated by OpenLDAP."
+"configuration is performed through [.filename]#slapd.ldif#: the old [."
+"filename]#slapd.conf# has been deprecated by OpenLDAP."
msgstr ""
"Демон, запускающий сервер OpenLDAP, называется [.filename]#slapd#. Его "
-"настройка выполняется через файл [.filename]#slapd.ldif#: старый файл "
-"[.filename]#slapd.conf# больше не используется в OpenLDAP."
+"настройка выполняется через файл [.filename]#slapd.ldif#: старый файл [."
+"filename]#slapd.conf# больше не используется в OpenLDAP."
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:1392
msgid ""
"http://www.openldap.org/doc/admin24/slapdconf2.html[Configuration examples] "
-"for [.filename]#slapd.ldif# are available and can also be found in "
-"[.filename]#/usr/local/etc/openldap/slapd.ldif.sample#. Options are "
+"for [.filename]#slapd.ldif# are available and can also be found in [."
+"filename]#/usr/local/etc/openldap/slapd.ldif.sample#. Options are "
"documented in slapd-config(5). Each section of [.filename]#slapd.ldif#, "
"like all the other LDAP attribute sets, is uniquely identified through a "
"DN. Be sure that no blank lines are left between the `dn:` statement and "
@@ -4131,16 +4102,16 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:1504
msgid ""
-"The default administrator username is `cn=config`. Type "
-"[.filename]#slappasswd# in a shell, choose a password and use its hash in "
-"`olcRootPW`. If this option is not specified now, before "
-"[.filename]#slapd.ldif# is imported, no one will be later able to modify the "
-"_global configuration_ section."
+"The default administrator username is `cn=config`. Type [."
+"filename]#slappasswd# in a shell, choose a password and use its hash in "
+"`olcRootPW`. If this option is not specified now, before [.filename]#slapd."
+"ldif# is imported, no one will be later able to modify the _global "
+"configuration_ section."
msgstr ""
-"Имя администратора по умолчанию — `cn=config`. Введите "
-"[.filename]#slappasswd# в оболочке, выберите пароль и используйте его хеш в "
-"`olcRootPW`. Если этот параметр не указан сейчас, до импорта "
-"[.filename]#slapd.ldif#, никто не сможет впоследствии изменить раздел "
+"Имя администратора по умолчанию — `cn=config`. Введите [."
+"filename]#slappasswd# в оболочке, выберите пароль и используйте его хеш в "
+"`olcRootPW`. Если этот параметр не указан сейчас, до импорта [."
+"filename]#slapd.ldif#, никто не сможет впоследствии изменить раздел "
"_глобальной конфигурации_."
#. type: Plain text
@@ -4216,20 +4187,19 @@ msgstr ""
#: documentation/content/en/books/handbook/network-servers/_index.adoc:1538
msgid ""
"This http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=tree;f=tests/"
-"data/regressions/"
-"its8444;h=8a5e808e63b0de3d2bdaf2cf34fecca8577ca7fd;hb=HEAD[repository] "
-"contains four examples of [.filename]#slapd.ldif#. To convert an existing "
-"[.filename]#slapd.conf# into [.filename]#slapd.ldif#, refer to http://"
-"www.openldap.org/doc/admin24/slapdconf2.html[this page] (please note that "
-"this may introduce some unuseful options)."
+"data/regressions/its8444;h=8a5e808e63b0de3d2bdaf2cf34fecca8577ca7fd;"
+"hb=HEAD[repository] contains four examples of [.filename]#slapd.ldif#. To "
+"convert an existing [.filename]#slapd.conf# into [.filename]#slapd.ldif#, "
+"refer to http://www.openldap.org/doc/admin24/slapdconf2.html[this page] "
+"(please note that this may introduce some unuseful options)."
msgstr ""
"Этот http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=tree;f=tests/"
-"data/regressions/"
-"its8444;h=8a5e808e63b0de3d2bdaf2cf34fecca8577ca7fd;hb=HEAD[репозиторий] "
-"содержит четыре примера файла [.filename]#slapd.ldif#. Для преобразования "
-"существующего [.filename]#slapd.conf# в [.filename]#slapd.ldif# обратитесь к "
-"http://www.openldap.org/doc/admin24/slapdconf2.html[этой странице] (обратите "
-"внимание, что это может добавить некоторые бесполезные опции)."
+"data/regressions/its8444;h=8a5e808e63b0de3d2bdaf2cf34fecca8577ca7fd;"
+"hb=HEAD[репозиторий] содержит четыре примера файла [.filename]#slapd.ldif#. "
+"Для преобразования существующего [.filename]#slapd.conf# в [.filename]#slapd."
+"ldif# обратитесь к http://www.openldap.org/doc/admin24/slapdconf2.html[этой "
+"странице] (обратите внимание, что это может добавить некоторые бесполезные "
+"опции)."
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:1541
@@ -4329,11 +4299,11 @@ msgstr "# pkg install openssl\n"
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:1597
msgid ""
-"From the directory where [.filename]#ca.crt# is stored (in this example, "
-"[.filename]#/usr/local/etc/openldap#), run:"
+"From the directory where [.filename]#ca.crt# is stored (in this example, [."
+"filename]#/usr/local/etc/openldap#), run:"
msgstr ""
-"Из каталога, где находится [.filename]#ca.crt# (в данном примере, "
-"[.filename]#/usr/local/etc/openldap#), выполните:"
+"Из каталога, где находится [.filename]#ca.crt# (в данном примере, [."
+"filename]#/usr/local/etc/openldap#), выполните:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:1601
@@ -4345,8 +4315,8 @@ msgstr "# c_rehash .\n"
#: documentation/content/en/books/handbook/network-servers/_index.adoc:1605
msgid ""
"Both the CA and the server certificate are now correctly recognized in their "
-"respective roles. To verify this, run this command from the "
-"[.filename]#server.crt# directory:"
+"respective roles. To verify this, run this command from the [."
+"filename]#server.crt# directory:"
msgstr ""
"И сертификат центра сертификации, и сертификат сервера теперь правильно "
"распознаются в своих соответствующих ролях. Чтобы проверить это, выполните "
@@ -4365,10 +4335,10 @@ msgid ""
"usr/local/etc/rc.d/slapd#, to properly run [.filename]#slapd# at boot the "
"following lines must be added to [.filename]#/etc/rc.conf#:"
msgstr ""
-"Если [.filename]#slapd# был запущен, перезапустите его. Как указано в "
-"[.filename]#/usr/local/etc/rc.d/slapd#, для корректного запуска "
-"[.filename]#slapd# при загрузке следующие строки должны быть добавлены в "
-"[.filename]#/etc/rc.conf#:"
+"Если [.filename]#slapd# был запущен, перезапустите его. Как указано в [."
+"filename]#/usr/local/etc/rc.d/slapd#, для корректного запуска [."
+"filename]#slapd# при загрузке следующие строки должны быть добавлены в [."
+"filename]#/etc/rc.conf#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:1621
@@ -4394,8 +4364,8 @@ msgid ""
"for this purpose."
msgstr ""
"[.filename]#slapd# не предоставляет отладку при загрузке. Для этой цели "
-"проверьте [.filename]#/var/log/debug.log#, [.filename]#dmesg -a# и "
-"[.filename]#/var/log/messages#."
+"проверьте [.filename]#/var/log/debug.log#, [.filename]#dmesg -a# и [."
+"filename]#/var/log/messages#."
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:1628
@@ -4405,8 +4375,8 @@ msgid ""
"file [.filename]#domain.ldif#:"
msgstr ""
"Следующий пример добавляет группу `team` и пользователя `john` в базу данных "
-"LDAP `domain.example`, которая пока пуста. Сначала создайте файл "
-"[.filename]#domain.ldif#:"
+"LDAP `domain.example`, которая пока пуста. Сначала создайте файл [."
+"filename]#domain.ldif#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:1637
@@ -4503,8 +4473,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:1672
msgid ""
-"See the OpenLDAP documentation for more details. Use "
-"[.filename]#slappasswd# to replace the plain text password `secret` with a "
+"See the OpenLDAP documentation for more details. Use [."
+"filename]#slappasswd# to replace the plain text password `secret` with a "
"hash in `userPassword`. The path specified as `loginShell` must exist in "
"all the systems where `john` is allowed to login. Finally, use the `mdb` "
"administrator to modify the database:"
@@ -4679,9 +4649,9 @@ msgstr "Настройка клиента DHCP"
msgid ""
"DHCP client support is included in the FreeBSD installer, making it easy to "
"configure a newly installed system to automatically receive its networking "
-"addressing information from an existing DHCP server. Refer to "
-"crossref:bsdinstall[bsdinstall-post,\"Accounts, Time Zone, Services and "
-"Hardening\"] for examples of network configuration."
+"addressing information from an existing DHCP server. Refer to crossref:"
+"bsdinstall[bsdinstall-post,\"Accounts, Time Zone, Services and Hardening\"] "
+"for examples of network configuration."
msgstr ""
"Поддержка DHCP-клиента включена в установщик FreeBSD, что позволяет легко "
"настроить новую систему для автоматического получения сетевой адресации от "
@@ -4761,8 +4731,8 @@ msgstr "ifconfig_fxp0=\"DHCP\"\n"
msgid ""
"This line may already exist if the system was configured to use DHCP during "
"installation. Replace the _fxp0_ shown in these examples with the name of "
-"the interface to be dynamically configured, as described in "
-"crossref:config[config-network-setup,“Setting Up Network Interface Cards”]."
+"the interface to be dynamically configured, as described in crossref:"
+"config[config-network-setup,“Setting Up Network Interface Cards”]."
msgstr ""
"Эта строка может уже существовать, если система была настроена на "
"использование DHCP во время установки. Замените `_fxp0_`, указанный в этих "
@@ -4788,8 +4758,8 @@ msgstr "ifconfig_fxp0=\"SYNCDHCP\"\n"
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:1776
msgid ""
-"Additional client options are available. Search for `dhclient` in "
-"man:rc.conf[5] for details."
+"Additional client options are available. Search for `dhclient` in man:rc."
+"conf[5] for details."
msgstr ""
"Есть еще несколько опций клиента. Подробности смотрите в man:rc.conf[5], "
"выполнив поиск по `dhclient`."
@@ -4839,9 +4809,9 @@ msgid ""
"man:dhclient-script[8], but should not need any user modification to "
"function properly."
msgstr ""
-"Специфичный для FreeBSD скрипт конфигурации DHCP-клиента. Он описан в "
-"man:dhclient-script[8], но для правильной работы не требует изменений со "
-"стороны пользователя."
+"Специфичный для FreeBSD скрипт конфигурации DHCP-клиента. Он описан в man:"
+"dhclient-script[8], но для правильной работы не требует изменений со стороны "
+"пользователя."
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:1792
@@ -4884,9 +4854,9 @@ msgid ""
"[.filename]#/usr/local/etc/dhcpd.conf# and make any edits to this new file."
msgstr ""
"Установка пакета package:net/isc-dhcp44-server[] включает образец файла "
-"конфигурации. Скопируйте [.filename]#/usr/local/etc/dhcpd.conf.example# в "
-"[.filename]#/usr/local/etc/dhcpd.conf# и внесите необходимые изменения в "
-"этот новый файл."
+"конфигурации. Скопируйте [.filename]#/usr/local/etc/dhcpd.conf.example# в [."
+"filename]#/usr/local/etc/dhcpd.conf# и внесите необходимые изменения в этот "
+"новый файл."
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:1807
@@ -4958,8 +4928,8 @@ msgid ""
"clients. Refer to man:resolv.conf[5] for more information."
msgstr ""
"Этот параметр задаёт домен поиска по умолчанию, который будет "
-"предоставляться клиентам. Дополнительную информацию можно найти в "
-"man:resolv.conf[5]."
+"предоставляться клиентам. Дополнительную информацию можно найти в man:resolv."
+"conf[5]."
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:1831
@@ -5067,8 +5037,8 @@ msgid ""
"Once the configuration of [.filename]#dhcpd.conf# is complete, enable the "
"DHCP server in [.filename]#/etc/rc.conf#:"
msgstr ""
-"После завершения настройки [.filename]#dhcpd.conf# включите DHCP-сервер в "
-"[.filename]#/etc/rc.conf#:"
+"После завершения настройки [.filename]#dhcpd.conf# включите DHCP-сервер в [."
+"filename]#/etc/rc.conf#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:1849
@@ -5138,8 +5108,8 @@ msgstr "[.filename]#/usr/local/etc/dhcpd.conf#"
msgid ""
"The server configuration file needs to contain all the information that "
"should be provided to clients, along with information regarding the "
-"operation of the server. This configuration file is described in "
-"dhcpd.conf(5)."
+"operation of the server. This configuration file is described in dhcpd."
+"conf(5)."
msgstr ""
"Файл конфигурации сервера должен содержать всю информацию, которую "
"необходимо предоставить клиентам, а также сведения о работе сервера. Этот "
@@ -5440,8 +5410,8 @@ msgstr ""
#: documentation/content/en/books/handbook/network-servers/_index.adoc:1954
msgid "To enable Unbound, add the following to [.filename]#/etc/rc.conf#:"
msgstr ""
-"Чтобы включить Unbound, добавьте следующую строку в [.filename]#/etc/"
-"rc.conf#:"
+"Чтобы включить Unbound, добавьте следующую строку в [.filename]#/etc/rc."
+"conf#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:1958
@@ -5667,14 +5637,14 @@ msgstr ""
#: documentation/content/en/books/handbook/network-servers/_index.adoc:2044
msgid ""
"This section summarizes how to configure and start version 2._x_ of the "
-"Apache HTTP Server on FreeBSD. For more detailed information about Apache "
-"2.X and its configuration directives, refer to http://httpd.apache.org/"
-"[httpd.apache.org]."
+"Apache HTTP Server on FreeBSD. For more detailed information about Apache 2."
+"X and its configuration directives, refer to http://httpd.apache.org/[httpd."
+"apache.org]."
msgstr ""
"В этом разделе приведена сводка по настройке и запуску версии 2._x_ HTTP-"
"сервера Apache на FreeBSD. Более подробная информация о Apache 2.X и его "
-"директивах конфигурации доступна по ссылке http://httpd.apache.org/"
-"[httpd.apache.org]."
+"директивах конфигурации доступна по ссылке http://httpd.apache.org/[httpd."
+"apache.org]."
#. type: Title ===
#: documentation/content/en/books/handbook/network-servers/_index.adoc:2045
@@ -5685,8 +5655,8 @@ msgstr "Настройка и запуск Apache"
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:2050
msgid ""
-"In FreeBSD, the main Apache HTTP Server configuration file is installed as "
-"[.filename]#/usr/local/etc/apache2x/httpd.conf#, where _x_ represents the "
+"In FreeBSD, the main Apache HTTP Server configuration file is installed as [."
+"filename]#/usr/local/etc/apache2x/httpd.conf#, where _x_ represents the "
"version number. This ASCII text file begins comment lines with a `+#+`. "
"The most frequently modified directives are:"
msgstr ""
@@ -5787,8 +5757,8 @@ msgid ""
"To launch Apache at system startup, add the following line to [.filename]#/"
"etc/rc.conf#:"
msgstr ""
-"Чтобы запускать Apache при загрузке системы, добавьте следующую строку в "
-"[.filename]#/etc/rc.conf#:"
+"Чтобы запускать Apache при загрузке системы, добавьте следующую строку в [."
+"filename]#/etc/rc.conf#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:2078
@@ -5829,8 +5799,8 @@ msgstr "# service apache24 start\n"
msgid ""
"The `httpd` service can be tested by entering `http://_localhost_` in a web "
"browser, replacing _localhost_ with the fully-qualified domain name of the "
-"machine running `httpd`. The default web page that is displayed is "
-"[.filename]#/usr/local/www/apache24/data/index.html#."
+"machine running `httpd`. The default web page that is displayed is [."
+"filename]#/usr/local/www/apache24/data/index.html#."
msgstr ""
"Службу `httpd` можно проверить, введя `http://_localhost_` в веб-браузере, "
"заменив _localhost_ на полное доменное имя машины, на которой работает "
@@ -5938,12 +5908,12 @@ msgstr ""
#: documentation/content/en/books/handbook/network-servers/_index.adoc:2135
msgid ""
"For more information about setting up virtual hosts, consult the official "
-"Apache documentation at: http://httpd.apache.org/docs/vhosts/[http://"
-"httpd.apache.org/docs/vhosts/]."
+"Apache documentation at: http://httpd.apache.org/docs/vhosts/[http://httpd."
+"apache.org/docs/vhosts/]."
msgstr ""
"Для получения дополнительной информации о настройке виртуальных хостов "
-"обратитесь к официальной документации Apache по адресу: http://"
-"httpd.apache.org/docs/vhosts/[http://httpd.apache.org/docs/vhosts/]."
+"обратитесь к официальной документации Apache по адресу: http://httpd.apache."
+"org/docs/vhosts/[http://httpd.apache.org/docs/vhosts/]."
#. type: Title ===
#: documentation/content/en/books/handbook/network-servers/_index.adoc:2136
@@ -5955,8 +5925,8 @@ msgstr "Модули Apache"
#: documentation/content/en/books/handbook/network-servers/_index.adoc:2140
msgid ""
"Apache uses modules to augment the functionality provided by the basic "
-"server. Refer to http://httpd.apache.org/docs/current/mod/[http://"
-"httpd.apache.org/docs/current/mod/] for a complete listing of and the "
+"server. Refer to http://httpd.apache.org/docs/current/mod/[http://httpd."
+"apache.org/docs/current/mod/] for a complete listing of and the "
"configuration details for the available modules."
msgstr ""
"Apache использует модули для расширения функциональности, предоставляемой "
@@ -5993,11 +5963,11 @@ msgid ""
"At one point, support for SSL inside of Apache required a secondary module "
"called [.filename]#mod_ssl#. This is no longer the case and the default "
"install of Apache comes with SSL built into the web server. An example of "
-"how to enable support for SSL websites is available in the installed file, "
-"[.filename]#httpd-ssl.conf# inside of the [.filename]#/usr/local/etc/"
-"apache24/extra# directory Inside this directory is also a sample file called "
-"named [.filename]#ssl.conf-sample#. It is recommended that both files be "
-"evaluated to properly set up secure websites in the Apache web server."
+"how to enable support for SSL websites is available in the installed file, [."
+"filename]#httpd-ssl.conf# inside of the [.filename]#/usr/local/etc/apache24/"
+"extra# directory Inside this directory is also a sample file called named [."
+"filename]#ssl.conf-sample#. It is recommended that both files be evaluated "
+"to properly set up secure websites in the Apache web server."
msgstr ""
"В прошлом поддержка SSL в Apache требовала дополнительного модуля под "
"названием [.filename]#mod_ssl#. Сейчас это не так, и стандартная установка "
@@ -6074,8 +6044,8 @@ msgid ""
"The following lines must also be uncommented in the [.filename]#httpd.conf# "
"to fully support SSL in Apache:"
msgstr ""
-"Следующие строки также должны быть раскомментированы в файле "
-"[.filename]#httpd.conf# для полной поддержки SSL в Apache:"
+"Следующие строки также должны быть раскомментированы в файле [."
+"filename]#httpd.conf# для полной поддержки SSL в Apache:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:2190
@@ -6123,8 +6093,8 @@ msgstr ""
msgid ""
"The [.filename]#mod_perl# can be installed using the package:www/mod_perl2[] "
"package or port. Documentation for using this module can be found at http://"
-"perl.apache.org/docs/2.0/index.html[http://perl.apache.org/docs/2.0/"
-"index.html]."
+"perl.apache.org/docs/2.0/index.html[http://perl.apache.org/docs/2.0/index."
+"html]."
msgstr ""
"[.filename]#mod_perl# можно установить с помощью пакета package:www/"
"mod_perl2[] или порта. Документация по использованию этого модуля доступна "
@@ -6321,8 +6291,8 @@ msgid ""
"Finally, to make any changes to the global configuration of PHP there is a "
"well documented file installed into [.filename]#/usr/local/etc/php.ini#. At "
"the time of install, this file will not exist because there are two versions "
-"to choose from, one is [.filename]#php.ini-development# and the other is "
-"[.filename]#php.ini-production#. These are starting points to assist "
+"to choose from, one is [.filename]#php.ini-development# and the other is [."
+"filename]#php.ini-production#. These are starting points to assist "
"administrators in their deployment."
msgstr ""
"Наконец, для внесения изменений в глобальную конфигурацию PHP существует "
@@ -6392,13 +6362,13 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:2299
msgid ""
-"Start the process by enabling the http2 module by uncommenting the line in "
-"[.filename]#/usr/local/etc/apache24/httpd.conf# and replace the mpm_prefork "
+"Start the process by enabling the http2 module by uncommenting the line in [."
+"filename]#/usr/local/etc/apache24/httpd.conf# and replace the mpm_prefork "
"module with mpm_event as the former does not support HTTP2."
msgstr ""
-"Начните процесс, включив модуль http2, раскомментировав строку в "
-"[.filename]#/usr/local/etc/apache24/httpd.conf#, и замените модуль "
-"mpm_prefork на mpm_event, так как первый не поддерживает HTTP2."
+"Начните процесс, включив модуль http2, раскомментировав строку в [."
+"filename]#/usr/local/etc/apache24/httpd.conf#, и замените модуль mpm_prefork "
+"на mpm_event, так как первый не поддерживает HTTP2."
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:2304
@@ -6421,10 +6391,10 @@ msgid ""
msgstr ""
"Существует отдельный порт [.filename]#mod_http2#, который доступен. Он "
"предназначен для более быстрого получения исправлений безопасности и ошибок "
-"по сравнению с модулем, установленным через встроенный порт "
-"[.filename]#apache24#. Он не обязателен для поддержки HTTP2, но доступен. "
-"При установке следует использовать [.filename]#mod_h2.so# вместо "
-"[.filename]#mod_http2.so# в конфигурации Apache."
+"по сравнению с модулем, установленным через встроенный порт [."
+"filename]#apache24#. Он не обязателен для поддержки HTTP2, но доступен. При "
+"установке следует использовать [.filename]#mod_h2.so# вместо [."
+"filename]#mod_http2.so# в конфигурации Apache."
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:2316
@@ -6446,8 +6416,8 @@ msgstr "Protocols h2 http/1.1\n"
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:2325
msgid ""
-"To enable HTTP2 over plaintext, use h2h2chttp/1.1 in the "
-"[.filename]#httpd.conf#."
+"To enable HTTP2 over plaintext, use h2h2chttp/1.1 in the [.filename]#httpd."
+"conf#."
msgstr ""
"Для включения HTTP2 в незашифрованном виде используйте h2h2chttp/1.1 в файле "
"[.filename]#httpd.conf#."
@@ -6524,12 +6494,12 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:2353
msgid ""
-"Support for HTTP2 reverse proxy connections by using the "
-"[.filename]#mod_proxy_http2.so# module. When configuring the ProxyPass or "
+"Support for HTTP2 reverse proxy connections by using the [."
+"filename]#mod_proxy_http2.so# module. When configuring the ProxyPass or "
"RewriteRules [P] statements, they should use h2:// for the connection."
msgstr ""
-"Поддержка обратных прокси-соединений HTTP2 с использованием модуля "
-"[.filename]#mod_proxy_http2.so#. При настройке директив ProxyPass или "
+"Поддержка обратных прокси-соединений HTTP2 с использованием модуля [."
+"filename]#mod_proxy_http2.so#. При настройке директив ProxyPass или "
"RewriteRules с флагом [P] следует использовать h2:// для соединения."
#. type: Title ===
@@ -6577,15 +6547,15 @@ msgstr ""
#: documentation/content/en/books/handbook/network-servers/_index.adoc:2369
msgid ""
"Django depends on [.filename]#mod_python#, and an SQL database engine. In "
-"FreeBSD, the package:www/py-django[] port automatically installs "
-"[.filename]#mod_python# and supports the PostgreSQL, MySQL, or SQLite "
+"FreeBSD, the package:www/py-django[] port automatically installs [."
+"filename]#mod_python# and supports the PostgreSQL, MySQL, or SQLite "
"databases, with the default being SQLite. To change the database engine, "
"type `make config` within [.filename]#/usr/ports/www/py-django#, then "
"install the port."
msgstr ""
"Django зависит от [.filename]#mod_python# и движка SQL-базы данных. В "
-"FreeBSD порт package:www/py-django[] автоматически устанавливает "
-"[.filename]#mod_python# и поддерживает базы данных PostgreSQL, MySQL или "
+"FreeBSD порт package:www/py-django[] автоматически устанавливает [."
+"filename]#mod_python# и поддерживает базы данных PostgreSQL, MySQL или "
"SQLite, по умолчанию используется SQLite. Чтобы изменить движок базы данных, "
"введите `make config` в [.filename]#/usr/ports/www/py-django#, затем "
"установите порт."
@@ -6662,8 +6632,8 @@ msgstr ""
"Ruby on Rails — это еще один фреймворк с открытым исходным кодом для веб-"
"разработки, предоставляющий полный стек разработки. Он оптимизирован для "
"повышения продуктивности веб-разработчиков и позволяет быстро создавать "
-"мощные приложения. В FreeBSD его можно установить с помощью пакета "
-"package:www/rubygem-rails[] или порта."
+"мощные приложения. В FreeBSD его можно установить с помощью пакета package:"
+"www/rubygem-rails[] или порта."
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:2396
@@ -6722,8 +6692,8 @@ msgstr ""
"Самый важный этап настройки — определение учётных записей, которым будет "
"разрешён доступ к FTP-серверу. В системе FreeBSD существует ряд системных "
"учётных записей, которым не следует разрешать доступ по FTP. Список "
-"пользователей, которым запрещён любой доступ по FTP, можно найти в "
-"[.filename]#/etc/ftpusers#. По умолчанию в него включены системные учётные "
+"пользователей, которым запрещён любой доступ по FTP, можно найти в [."
+"filename]#/etc/ftpusers#. По умолчанию в него включены системные учётные "
"записи. Можно добавить дополнительных пользователей, которым не следует "
"разрешать доступ к FTP."
@@ -6782,11 +6752,11 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:2429
msgid ""
-"Once the FTP server has been configured, set the appropriate variable in "
-"[.filename]#/etc/rc.conf# to start the service during boot:"
+"Once the FTP server has been configured, set the appropriate variable in [."
+"filename]#/etc/rc.conf# to start the service during boot:"
msgstr ""
-"После настройки FTP-сервера установите соответствующую переменную в "
-"[.filename]#/etc/rc.conf#, чтобы служба запускалась при загрузке:"
+"После настройки FTP-сервера установите соответствующую переменную в [."
+"filename]#/etc/rc.conf#, чтобы служба запускалась при загрузке:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:2433
@@ -6825,10 +6795,9 @@ msgid ""
"following line in [.filename]#/etc/syslog.conf#:"
msgstr ""
"Демон ftpd использует man:syslog[3] для записи сообщений. По умолчанию, "
-"демон системного журнала записывает сообщения, связанные с FTP, в "
-"[.filename]#/var/log/xferlog#. Местоположение журнала FTP может быть "
-"изменено путём редактирования следующей строки в [.filename]#/etc/"
-"syslog.conf#:"
+"демон системного журнала записывает сообщения, связанные с FTP, в [."
+"filename]#/var/log/xferlog#. Местоположение журнала FTP может быть изменено "
+"путём редактирования следующей строки в [.filename]#/etc/syslog.conf#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:2456
@@ -6884,9 +6853,9 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:2478
msgid ""
-"On FreeBSD, the Samba client libraries can be installed using the "
-"package:net/samba416[] port or package. The client provides the ability for "
-"a FreeBSD system to access SMB/CIFS shares in a Microsoft(R) Windows(R) "
+"On FreeBSD, the Samba client libraries can be installed using the package:"
+"net/samba416[] port or package. The client provides the ability for a "
+"FreeBSD system to access SMB/CIFS shares in a Microsoft(R) Windows(R) "
"network."
msgstr ""
"На FreeBSD клиентские библиотеки Samba могут быть установлены с помощью "
@@ -6997,8 +6966,8 @@ msgid ""
"Settings that describe the network are added in [.filename]#/usr/local/etc/"
"smb4.conf#:"
msgstr ""
-"Настройки, описывающие сеть, добавляются в [.filename]#/usr/local/etc/"
-"smb4.conf#:"
+"Настройки, описывающие сеть, добавляются в [.filename]#/usr/local/etc/smb4."
+"conf#:"
#. type: Labeled list
#: documentation/content/en/books/handbook/network-servers/_index.adoc:2518
@@ -7169,8 +7138,8 @@ msgstr "Начало работы с Samba"
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:2567
msgid ""
-"To enable Samba at boot time, add the following line to [.filename]#/etc/"
-"rc.conf#:"
+"To enable Samba at boot time, add the following line to [.filename]#/etc/rc."
+"conf#:"
msgstr ""
"Чтобы включить Samba при загрузке, добавьте следующую строку в [.filename]#/"
"etc/rc.conf#:"
@@ -7239,8 +7208,8 @@ msgstr ""
"Samba — это комплексный программный комплект, функциональность которого "
"обеспечивает широкую интеграцию с сетями Microsoft(R) Windows(R). Для "
"получения дополнительной информации о возможностях, выходящих за рамки "
-"базовой конфигурации, описанной здесь, обратитесь к https://"
-"www.samba.org[https://www.samba.org]."
+"базовой конфигурации, описанной здесь, обратитесь к https://www.samba."
+"org[https://www.samba.org]."
#. type: Title ==
#: documentation/content/en/books/handbook/network-servers/_index.adoc:2603
@@ -7295,8 +7264,8 @@ msgstr "Конфигурация NTP"
#: documentation/content/en/books/handbook/network-servers/_index.adoc:2619
msgid ""
"On FreeBSD, the built-in ntpd can be used to synchronize a system's clock. "
-"ntpd is configured using man:rc.conf[5] variables and [.filename]#/etc/"
-"ntp.conf#, as detailed in the following sections."
+"ntpd is configured using man:rc.conf[5] variables and [.filename]#/etc/ntp."
+"conf#, as detailed in the following sections."
msgstr ""
"На FreeBSD встроенный ntpd может использоваться для синхронизации системных "
"часов. Настройка ntpd осуществляется с помощью переменных man:rc.conf[5] и "
@@ -7341,15 +7310,15 @@ msgstr ""
"случай, если один из серверов станет недоступен или его часы окажутся "
"ненадёжными. По мере получения ответов ntpd отдаёт предпочтение более "
"надёжным серверам перед менее надёжными. Запрашиваемые серверы могут быть "
-"локальными в сети, предоставляться ISP или выбираться из http://"
-"support.ntp.org/bin/view/Servers/WebHome[онлайн-списка общедоступных "
-"серверов NTP]. При выборе общедоступного сервера NTP следует выбирать "
-"сервер, географически близкий к вам, и ознакомиться с его политикой "
-"использования. Ключевое слово `pool` в конфигурации выбирает один или "
-"несколько серверов из пула серверов. Доступен http://support.ntp.org/bin/"
-"view/Servers/NTPPoolServers[онлайн-список общедоступных пулов NTP], "
-"организованный по географическим регионам. Кроме того, FreeBSD предоставляет "
-"спонсируемый проектом пул `0.freebsd.pool.ntp.org`."
+"локальными в сети, предоставляться ISP или выбираться из http://support.ntp."
+"org/bin/view/Servers/WebHome[онлайн-списка общедоступных серверов NTP]. При "
+"выборе общедоступного сервера NTP следует выбирать сервер, географически "
+"близкий к вам, и ознакомиться с его политикой использования. Ключевое слово "
+"`pool` в конфигурации выбирает один или несколько серверов из пула серверов. "
+"Доступен http://support.ntp.org/bin/view/Servers/NTPPoolServers[онлайн-"
+"список общедоступных пулов NTP], организованный по географическим регионам. "
+"Кроме того, FreeBSD предоставляет спонсируемый проектом пул `0.freebsd.pool."
+"ntp.org`."
#. type: Block title
#: documentation/content/en/books/handbook/network-servers/_index.adoc:2634
@@ -7480,8 +7449,8 @@ msgstr ""
#: documentation/content/en/books/handbook/network-servers/_index.adoc:2683
msgid ""
"The `leapfile` keyword specifies the location of a file containing "
-"information about leap seconds. The file is updated automatically by "
-"man:periodic[8]. The file location specified by this keyword must match the "
+"information about leap seconds. The file is updated automatically by man:"
+"periodic[8]. The file location specified by this keyword must match the "
"location set in the `ntp_db_leapfile` variable in [.filename]#/etc/rc.conf#."
msgstr ""
"Ключевое слово `leapfile` указывает расположение файла, содержащего "
@@ -7519,8 +7488,8 @@ msgid ""
"variables listed below may also be set as needed."
msgstr ""
"Для использования ntpd необходимо установить только `ntpd_enable`. При "
-"необходимости также могут быть заданы перечисленные ниже переменные "
-"[.filename]#rc.conf#."
+"необходимости также могут быть заданы перечисленные ниже переменные [."
+"filename]#rc.conf#."
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:2700
@@ -7551,8 +7520,8 @@ msgid ""
"Set `ntpd_config=` to the location of an alternate [.filename]#ntp.conf# "
"file."
msgstr ""
-"Установите в значении`ntpd_config=` расположение альтернативного файла "
-"[.filename]#ntp.conf#."
+"Установите в значении`ntpd_config=` расположение альтернативного файла [."
+"filename]#ntp.conf#."
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:2706
@@ -7561,8 +7530,8 @@ msgid ""
"these flags which are managed internally by [.filename]#/etc/rc.d/ntpd#:"
msgstr ""
"Установите `ntpd_flags=` с любыми другими флагами ntpd по необходимости, но "
-"избегайте использования тех флагов, которые устанавливаются внутри файла "
-"[.filename]#/etc/rc.d/ntpd#:"
+"избегайте использования тех флагов, которые устанавливаются внутри файла [."
+"filename]#/etc/rc.d/ntpd#:"
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:2708
@@ -7709,8 +7678,8 @@ msgid ""
"ntpd does not need a permanent connection to the Internet to function "
"properly. However, if a PPP connection is configured to dial out on demand, "
"NTP traffic should be prevented from triggering a dial out or keeping the "
-"connection alive. This can be configured with `filter` directives in "
-"[.filename]#/etc/ppp/ppp.conf#. For example:"
+"connection alive. This can be configured with `filter` directives in [."
+"filename]#/etc/ppp/ppp.conf#. For example:"
msgstr ""
"ntpd не требует постоянного подключения к Интернету для корректной работы. "
"Однако, если PPP-соединение настроено на дозвон по требованию, следует "
@@ -7793,8 +7762,8 @@ msgstr ""
msgid ""
"The clients which access the iSCSI storage are called _initiators_. To "
"initiators, the storage available through iSCSI appears as a raw, "
-"unformatted disk known as a LUN. Device nodes for the disk appear in "
-"[.filename]#/dev/# and the device must be separately formatted and mounted."
+"unformatted disk known as a LUN. Device nodes for the disk appear in [."
+"filename]#/dev/# and the device must be separately formatted and mounted."
msgstr ""
"Клиенты, которые обращаются к хранилищу iSCSI, называются _инициаторами_. "
"Для инициаторов хранилище, доступное через iSCSI, отображается как "
@@ -7827,8 +7796,8 @@ msgid ""
"man:ctld[8] daemon is automatically started at boot, and then start the "
"daemon."
msgstr ""
-"Для настройки цели iSCSI создайте конфигурационный файл [.filename]#/etc/"
-"ctl.conf#, добавьте строку в [.filename]#/etc/rc.conf#, чтобы убедиться, что "
+"Для настройки цели iSCSI создайте конфигурационный файл [.filename]#/etc/ctl."
+"conf#, добавьте строку в [.filename]#/etc/rc.conf#, чтобы убедиться, что "
"демон man:ctld[8] автоматически запускается при загрузке, а затем запустите "
"демон."
@@ -7964,8 +7933,8 @@ msgstr ""
"отдельное дисковое устройство. Для каждой цели можно определить несколько "
"LUN. Каждый LUN идентифицируется числом, где LUN 0 является обязательным. "
"Строка `path /data/target0-0` определяет полный путь к файлу или zvol, "
-"который используется для LUN. Этот путь должен существовать до запуска "
-"man:ctld[8]. Вторая строка необязательна и указывает размер LUN."
+"который используется для LUN. Этот путь должен существовать до запуска man:"
+"ctld[8]. Вторая строка необязательна и указывает размер LUN."
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:2837
@@ -8000,8 +7969,8 @@ msgid ""
"If this file is edited after the daemon starts, use this command so that the "
"changes take effect immediately:"
msgstr ""
-"Поскольку демон man:ctld[8] запускается, он читает файл [.filename]#/etc/"
-"ctl.conf#. Если этот файл был изменён после запуска демона, используйте "
+"Поскольку демон man:ctld[8] запускается, он читает файл [.filename]#/etc/ctl."
+"conf#. Если этот файл был изменён после запуска демона, используйте "
"следующую команду, чтобы изменения вступили в силу немедленно:"
#. type: delimited block . 4
@@ -8117,8 +8086,8 @@ msgid ""
"FreeBSD 10.0-RELEASE. To use the iSCSI initiator available in older "
"versions, refer to man:iscontrol[8]."
msgstr ""
-"Описаный в этом разделе инициатор iSCSI поддерживается начиная с FreeBSD "
-"10.0-RELEASE. Для использования инициатора iSCSI, доступного в более старых "
+"Описанный в этом разделе инициатор iSCSI поддерживается начиная с FreeBSD 10."
+"0-RELEASE. Для использования инициатора iSCSI, доступного в более старых "
"версиях, обратитесь к man:iscontrol[8]."
#. type: Plain text
@@ -8152,8 +8121,8 @@ msgstr "# service iscsid start\n"
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:2936
msgid ""
-"Connecting to a target can be done with or without an [.filename]#/etc/"
-"iscsi.conf# configuration file. This section demonstrates both types of "
+"Connecting to a target can be done with or without an [.filename]#/etc/iscsi."
+"conf# configuration file. This section demonstrates both types of "
"connections."
msgstr ""
"Подключение к цели может быть выполнено с файлом конфигурации [.filename]#/"
@@ -8202,10 +8171,10 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:2957
msgid ""
-"In this example, the iSCSI session was successfully established, with "
-"[.filename]#/dev/da0# representing the attached LUN. If the "
-"`iqn.2012-06.com.example:target0` target exports more than one LUN, multiple "
-"device nodes will be shown in that section of the output:"
+"In this example, the iSCSI session was successfully established, with [."
+"filename]#/dev/da0# representing the attached LUN. If the `iqn.2012-06.com."
+"example:target0` target exports more than one LUN, multiple device nodes "
+"will be shown in that section of the output:"
msgstr ""
"В этом примере сеанс iSCSI был успешно установлен, где [.filename]#/dev/da0# "
"представляет подключённый LUN. Если цель `iqn.2012-06.com.example:target0` "
@@ -8312,8 +8281,8 @@ msgid ""
"To connect using a configuration file, create [.filename]#/etc/iscsi.conf# "
"with contents like this:"
msgstr ""
-"Для подключения с использованием файла конфигурации создайте файл "
-"[.filename]#/etc/iscsi.conf# с содержимым, подобным этому:"
+"Для подключения с использованием файла конфигурации создайте файл [."
+"filename]#/etc/iscsi.conf# с содержимым, подобным этому:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:3017
diff --git a/documentation/content/ru/books/handbook/network/_index.adoc b/documentation/content/ru/books/handbook/network/_index.adoc
index e8b99fd715..683011c14f 100644
--- a/documentation/content/ru/books/handbook/network/_index.adoc
+++ b/documentation/content/ru/books/handbook/network/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/network/
part: 'В начале'
prev: books/handbook/wayland
-showBookMenu: true
+showBookMenu: 'true'
tags: ["network", "ipv4", "ipv6", "wireless", "wpa_supplicant", "static ip", "dynamic ip"]
title: 'Глава 7. Сеть'
weight: 9
diff --git a/documentation/content/ru/books/handbook/network/_index.po b/documentation/content/ru/books/handbook/network/_index.po
index d38e0fea76..8811addf8d 100644
--- a/documentation/content/ru/books/handbook/network/_index.po
+++ b/documentation/content/ru/books/handbook/network/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-08-17 20:54+0100\n"
"PO-Revision-Date: 2025-09-23 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,19 +18,19 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/network/_index.adoc:1
#, no-wrap
msgid "This chapter delves into the topic of network configuration and performance, showcasing the robust networking capabilities of the FreeBSD operating system."
msgstr "Эта глава рассматривает тему настройки сети и производительности, демонстрируя мощные сетевые возможности операционной системы FreeBSD."
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/network/_index.adoc:1
#, no-wrap
msgid "Part I. Getting Started"
msgstr "В начале"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/network/_index.adoc:1
#, no-wrap
msgid "Chapter 7. Network"
@@ -174,11 +174,11 @@ msgstr "IP-адрес шлюза по умолчанию"
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:85
msgid ""
-"The network connection may have been configured at installation time by "
-"man:bsdinstall[8]."
+"The network connection may have been configured at installation time by man:"
+"bsdinstall[8]."
msgstr ""
-"Сетевое соединение могло быть настроено во время установки с помощью "
-"man:bsdinstall[8]."
+"Сетевое соединение могло быть настроено во время установки с помощью man:"
+"bsdinstall[8]."
#. type: Title ===
#: documentation/content/en/books/handbook/network/_index.adoc:88
@@ -190,9 +190,9 @@ msgstr "Определение сетевых адаптеров"
#: documentation/content/en/books/handbook/network/_index.adoc:92
msgid ""
"FreeBSD supports a wide variety of network adapters for both wired and "
-"wireless networks. Check the Hardware Compatibility List for the used "
-"link:https://www.freebsd.org/releases/[FreeBSD release] to see if the "
-"network adapter is supported."
+"wireless networks. Check the Hardware Compatibility List for the used link:"
+"https://www.freebsd.org/releases/[FreeBSD release] to see if the network "
+"adapter is supported."
msgstr ""
"FreeBSD поддерживает широкий спектр сетевых адаптеров как для проводных, так "
"и для беспроводных сетей. Проверьте link:https://www.freebsd.org/releases/"
@@ -435,11 +435,11 @@ msgstr "Интерфейс имеет IPv4 адрес в Интернете (`in
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:190
msgid ""
-"The interface has an IPv6 Internet (`inet6`) address, "
-"`fe80::21f:16ff:fe0f:275a%em0`."
+"The interface has an IPv6 Internet (`inet6`) address, `fe80::21f:16ff:"
+"fe0f:275a%em0`."
msgstr ""
-"Интерфейс имеет IPv6-адрес (`inet6`) в Интернете: "
-"`fe80::21f:16ff:fe0f:275a%em0`."
+"Интерфейс имеет IPv6-адрес (`inet6`) в Интернете: `fe80::21f:16ff:fe0f:275a"
+"%em0`."
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:191
@@ -542,8 +542,8 @@ msgid ""
msgstr ""
"Если сеть была настроена во время установки с помощью man:bsdinstall[8], "
"некоторые записи для сетевой интерфейсной карты (NIC) могут уже "
-"присутствовать. Проверьте [.filename]#/etc/rc.conf# перед выполнением "
-"man:sysrc[8]."
+"присутствовать. Проверьте [.filename]#/etc/rc.conf# перед выполнением man:"
+"sysrc[8]."
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:222
@@ -902,14 +902,13 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:386
msgid ""
-"When reading an IPv6 address, the canonical form is represented as "
-"`x:x:x:x:x:x:x:x`, where each `x` represents a 16 bit hex value. An example "
-"is `FEBC:A574:382B:23C1:AA49:4592:4EFE:9982`."
+"When reading an IPv6 address, the canonical form is represented as `x:x:x:x:"
+"x:x:x:x`, where each `x` represents a 16 bit hex value. An example is `FEBC:"
+"A574:382B:23C1:AA49:4592:4EFE:9982`."
msgstr ""
-"При чтении IPv6-адреса каноническая форма представляется как "
-"`x:x:x:x:x:x:x:x`, где каждый `x` соответствует 16-битному "
-"шестнадцатеричному значению. Пример: "
-"`FEBC:A574:382B:23C1:AA49:4592:4EFE:9982`."
+"При чтении IPv6-адреса каноническая форма представляется как `x:x:x:x:x:x:x:"
+"x`, где каждый `x` соответствует 16-битному шестнадцатеричному значению. "
+"Пример: `FEBC:A574:382B:23C1:AA49:4592:4EFE:9982`."
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:391
@@ -975,9 +974,9 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:417
msgid ""
-"In this example, the `em0` interface is using "
-"`fe80::21f:16ff:fe0f:275a%em0`, an auto-configured link-local address which "
-"was automatically generated from the MAC address."
+"In this example, the `em0` interface is using `fe80::21f:16ff:fe0f:275a"
+"%em0`, an auto-configured link-local address which was automatically "
+"generated from the MAC address."
msgstr ""
"В этом примере интерфейс `em0` использует `fe80::21f:16ff:fe0f:275a%em0` — "
"автоматически сконфигурированный link-local адрес, который был автоматически "
@@ -1238,11 +1237,11 @@ msgstr "Настройка динамического адреса IPv6"
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:495
msgid ""
-"To dynamically configure the IPv6 address of the interface using "
-"crossref:glossary[slaac-glossary,SLAAC], execute the following commands:"
+"To dynamically configure the IPv6 address of the interface using crossref:"
+"glossary[slaac-glossary,SLAAC], execute the following commands:"
msgstr ""
-"Для динамической настройки IPv6-адреса интерфейса с использованием "
-"crossref:glossary[slaac-glossary,SLAAC], выполните следующие команды:"
+"Для динамической настройки IPv6-адреса интерфейса с использованием crossref:"
+"glossary[slaac-glossary,SLAAC], выполните следующие команды:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:500
@@ -1399,8 +1398,8 @@ msgid ""
"Most wireless networks are based on the link:https://en.wikipedia.org/wiki/"
"IEEE_802.11[IEEE(R) 802.11 standards]."
msgstr ""
-"Большинство беспроводных сетей основаны на стандартах link:https://"
-"en.wikipedia.org/wiki/IEEE_802.11[IEEE(R) 802.11]."
+"Большинство беспроводных сетей основаны на стандартах link:https://en."
+"wikipedia.org/wiki/IEEE_802.11[IEEE(R) 802.11]."
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:559
@@ -1411,11 +1410,11 @@ msgid ""
"IEEE_802.11g-2003[802.11g] and link:https://en.wikipedia.org/wiki/"
"IEEE_802.11n-2009[802.11n]."
msgstr ""
-"FreeBSD поддерживает сети, работающие по стандартам link:https://"
-"en.wikipedia.org/wiki/IEEE_802.11a-1999[802.11a], link:https://"
-"en.wikipedia.org/wiki/IEEE_802.11b-1999[802.11b], link:https://"
-"en.wikipedia.org/wiki/IEEE_802.11g-2003[802.11g] и link:https://"
-"en.wikipedia.org/wiki/IEEE_802.11n-2009[802.11n]."
+"FreeBSD поддерживает сети, работающие по стандартам link:https://en."
+"wikipedia.org/wiki/IEEE_802.11a-1999[802.11a], link:https://en.wikipedia.org/"
+"wiki/IEEE_802.11b-1999[802.11b], link:https://en.wikipedia.org/wiki/"
+"IEEE_802.11g-2003[802.11g] и link:https://en.wikipedia.org/wiki/"
+"IEEE_802.11n-2009[802.11n]."
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:563
@@ -1557,8 +1556,7 @@ msgstr "Это SSID беспроводной сети. Замените его
msgid ""
"Is the PSK of the wireless network. Replace it with the password of the "
"wireless network."
-msgstr ""
-"Это PSK беспроводной сети. Замените его на пароль от беспроводной сети."
+msgstr "Это PSK беспроводной сети. Замените его на пароль от беспроводной сети."
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:611
@@ -1569,9 +1567,9 @@ msgid ""
"the network device interface is \"iwn0\"."
msgstr ""
"Третий шаг — добавить запись о сетевом интерфейсе для настройки сети при "
-"загрузке. Получите имя сетевого интерфейса с помощью sysctl "
-"`net.wlan.devices`. В приведённом ниже примере вывод этой команды "
-"показывает, что сетевым интерфейсом является \"iwn0\"."
+"загрузке. Получите имя сетевого интерфейса с помощью sysctl `net.wlan."
+"devices`. В приведённом ниже примере вывод этой команды показывает, что "
+"сетевым интерфейсом является \"iwn0\"."
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:615
@@ -1657,12 +1655,11 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:664
msgid ""
-"The available region definitions can be found in [.filename]#/etc/"
-"regdomain.xml#. To set the data at runtime, use `ifconfig`:"
+"The available region definitions can be found in [.filename]#/etc/regdomain."
+"xml#. To set the data at runtime, use `ifconfig`:"
msgstr ""
-"Доступные определения регионов можно найти в [.filename]#/etc/"
-"regdomain.xml#. Для установки данных во время выполнения используйте "
-"`ifconfig`:"
+"Доступные определения регионов можно найти в [.filename]#/etc/regdomain."
+"xml#. Для установки данных во время выполнения используйте `ifconfig`:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:668
@@ -1738,8 +1735,8 @@ msgstr "BSSID идентифицирует MAC-адрес точки досту
#: documentation/content/en/books/handbook/network/_index.adoc:706
msgid ""
"CAPS field identifies the type of each network and the capabilities of the "
-"stations operating there (see the definition of `list scan` in "
-"man:ifconfig[8] for more details)."
+"stations operating there (see the definition of `list scan` in man:"
+"ifconfig[8] for more details)."
msgstr ""
"Поле `CAPS` определяет тип каждой сети и возможности работающих в ней "
"станций (подробности см. в определении `list scan` в man:ifconfig[8])."
@@ -1778,18 +1775,18 @@ msgstr "Аутентификация с WPA2/WPA/Personal"
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:718
msgid ""
-"The authentication process in a wireless network is managed by "
-"man:wpa_supplicant[8]."
+"The authentication process in a wireless network is managed by man:"
+"wpa_supplicant[8]."
msgstr ""
-"Процесс аутентификации в беспроводной сети управляется с помощью "
-"man:wpa_supplicant[8]."
+"Процесс аутентификации в беспроводной сети управляется с помощью man:"
+"wpa_supplicant[8]."
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:721
msgid ""
"The man:wpa_supplicant[8] configuration will be made in the [.filename]#/etc/"
-"wpa_supplicant.conf# file. For more information, see "
-"man:wpa_supplicant.conf[5]."
+"wpa_supplicant.conf# file. For more information, see man:wpa_supplicant."
+"conf[5]."
msgstr ""
"Конфигурация man:wpa_supplicant[8] задаётся в файле [.filename]#/etc/"
"wpa_supplicant.conf#. Подробнее см. man:wpa_supplicant.conf[5]."
@@ -1842,11 +1839,11 @@ msgstr "Пароль беспроводной сети."
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:738
msgid ""
-"The next step will be to configure the wireless connection in the file "
-"[.filename]#/etc/rc.conf#."
+"The next step will be to configure the wireless connection in the file [."
+"filename]#/etc/rc.conf#."
msgstr ""
-"Следующим шагом будет настройка беспроводного соединения в файле "
-"[.filename]#/etc/rc.conf#."
+"Следующим шагом будет настройка беспроводного соединения в файле [."
+"filename]#/etc/rc.conf#."
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:740
@@ -2068,8 +2065,8 @@ msgstr ""
#: documentation/content/en/books/handbook/network/_index.adoc:841
msgid ""
"There are three files that handle how a FreeBSD system interact with the "
-"DNS. These three files are man:hosts[5], man:resolv.conf[5] and "
-"man:nsswitch.conf[5]"
+"DNS. These three files are man:hosts[5], man:resolv.conf[5] and man:"
+"nsswitch.conf[5]"
msgstr ""
"Существует три файла, которые управляют взаимодействием системы FreeBSD с "
"DNS. Эти три файла: man:hosts[5], man:resolv.conf[5] и man:nsswitch.conf[5]"
@@ -2143,8 +2140,8 @@ msgstr ""
"Файл [.filename]#/etc/hosts# представляет собой простую текстовую базу "
"данных, которая сопоставляет имена хостов с IP-адресами. В него можно "
"добавить записи для локальных компьютеров, подключенных через LAN, чтобы "
-"использовать простые имена вместо настройки DNS-сервера. Кроме того, "
-"[.filename]#/etc/hosts# может использоваться для хранения локальных записей "
+"использовать простые имена вместо настройки DNS-сервера. Кроме того, [."
+"filename]#/etc/hosts# может использоваться для хранения локальных записей "
"интернет-имен, что уменьшает необходимость запрашивать внешние DNS-серверы "
"для часто используемых имен."
@@ -2152,8 +2149,8 @@ msgstr ""
#: documentation/content/en/books/handbook/network/_index.adoc:872
msgid ""
"For example, in the case of having a local instance of package:www/gitlab-"
-"ce[] in a local environment, it could be added as follows to the file "
-"[.filename]#/etc/hosts#:"
+"ce[] in a local environment, it could be added as follows to the file [."
+"filename]#/etc/hosts#:"
msgstr ""
"Например, если в локальной среде имеется локальный экземпляр package:www/"
"gitlab-ce[], его можно добавить следующим образом в файл [.filename]#/etc/"
@@ -2247,8 +2244,8 @@ msgstr "Должна использоваться только одна из о
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:914
msgid ""
-"When using DHCP, man:dhclient[8] usually rewrites [.filename]#/etc/"
-"resolv.conf# with information received from the DHCP server."
+"When using DHCP, man:dhclient[8] usually rewrites [.filename]#/etc/resolv."
+"conf# with information received from the DHCP server."
msgstr ""
"При использовании DHCP man:dhclient[8] обычно перезаписывает [.filename]#/"
"etc/resolv.conf# информацией, полученной от DHCP-сервера."
@@ -2327,13 +2324,13 @@ msgstr "Поддерживается ли сетевая карта (NIC) в Fre
msgid "Is the router working correctly?"
msgstr "Работает ли маршрутизатор правильно?"
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:948
msgid ""
-"Before sending a bug report, always check the Hardware Notes in the "
-"link:https://www.freebsd.org/releases/[FreeBSD release page], update the "
-"version of FreeBSD to the latest STABLE version, check the mailing list "
-"archives, and search the Internet."
+"Before sending a bug report, always check the Hardware Notes in the link:"
+"https://www.freebsd.org/releases/[FreeBSD release page], update the version "
+"of FreeBSD to the latest STABLE version, check the mailing list archives, "
+"and search the Internet."
msgstr ""
"Прежде чем отправить отчёт об ошибке, всегда проверяйте раздел \"Аппаратные "
"требования\" на странице link:https://www.freebsd.org/releases/[релиза "
@@ -2346,18 +2343,18 @@ msgstr ""
msgid "Troubleshooting in Wired Networks"
msgstr "Устранение неполадок в проводных сетях"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:955
msgid ""
"If the card works, yet performance is poor, read through man:tuning[7]. "
"Also, check the network configuration as incorrect network settings can "
"cause slow connections."
msgstr ""
-"Если карта работает, но производительность низкая, ознакомьтесь с "
-"man:tuning[7]. Также проверьте настройки сети, так как неправильные "
-"параметры могут быть причиной медленного соединения."
+"Если карта работает, но производительность низкая, ознакомьтесь с man:"
+"tuning[7]. Также проверьте настройки сети, так как неправильные параметры "
+"могут быть причиной медленного соединения."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:960
msgid ""
"`No route to host` messages occur if the system is unable to route a packet "
@@ -2373,13 +2370,13 @@ msgstr ""
"ознакомьтесь с разделом crossref:advanced-networking[network-routing,\"Шлюзы "
"и маршруты\"]."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:964
msgid ""
"`ping: sendto: Permission denied` error messages are often caused by a "
"misconfigured firewall. If a firewall is enabled on FreeBSD but no rules "
-"have been defined, the default policy is to deny all traffic, even "
-"man:ping[8]. Refer to crossref:firewalls[firewalls,Firewalls] for more "
+"have been defined, the default policy is to deny all traffic, even man:"
+"ping[8]. Refer to crossref:firewalls[firewalls,Firewalls] for more "
"information."
msgstr ""
"Сообщения об ошибках `ping: sendto: Permission denied` часто возникают из-за "
@@ -2394,7 +2391,7 @@ msgstr ""
msgid "Troubleshooting in Wireless Networks"
msgstr "Устранение неполадок в беспроводных сетях"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:969
msgid ""
"This section describes a number of steps to help troubleshoot common "
@@ -2403,7 +2400,7 @@ msgstr ""
"В этом разделе описаны шаги для устранения распространённых проблем с "
"беспроводными сетями."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:971
msgid ""
"If the access point is not listed when scanning, check that the "
@@ -2414,7 +2411,7 @@ msgstr ""
"конфигурация не ограничивает беспроводное устройство определенным набором "
"каналов."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:973
msgid ""
"If the device cannot associate with an access point, verify that the "
@@ -2431,7 +2428,7 @@ msgstr ""
"WPA2 или WPA, настройте точку доступа на открытую аутентификацию без защиты, "
"чтобы проверить, проходит ли трафик."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:975
msgid ""
"Once the system can associate with the access point, diagnose the network "
@@ -2440,15 +2437,15 @@ msgstr ""
"Как только система сможет подключиться к точке доступа, диагностируйте "
"конфигурацию сети с помощью таких инструментов, как man:ping[8]."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:976
msgid ""
"There are many lower-level debugging tools. Debugging messages can be "
"enabled in the 802.11 protocol support layer using man:wlandebug[8]."
msgstr ""
"Для низкоуровневой отладки существует множество инструментов. Сообщения "
-"отладки можно включить в слое поддержки протокола 802.11 с помощью "
-"man:wlandebug[8]."
+"отладки можно включить в слое поддержки протокола 802.11 с помощью man:"
+"wlandebug[8]."
#~ msgid "This procedure shows the steps required:"
#~ msgstr "Эта процедура показывает необходимые шаги:"
diff --git a/documentation/content/ru/books/handbook/parti.adoc b/documentation/content/ru/books/handbook/parti.adoc
index 0295da4d60..d9812df997 100644
--- a/documentation/content/ru/books/handbook/parti.adoc
+++ b/documentation/content/ru/books/handbook/parti.adoc
@@ -3,7 +3,7 @@ next: books/handbook/introduction
params:
path: /books/handbook/parti/
prev: books/handbook/preface
-showBookMenu: true
+showBookMenu: 'true'
title: 'В начале'
weight: 2
---
diff --git a/documentation/content/ru/books/handbook/parti.po b/documentation/content/ru/books/handbook/parti.po
index f7122d6d96..510ac8661c 100644
--- a/documentation/content/ru/books/handbook/parti.po
+++ b/documentation/content/ru/books/handbook/parti.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-06-08 14:10+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,7 +18,7 @@ msgstr ""
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.17\n"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/parti.adoc:1
#, no-wrap
msgid "Part I. Getting Started"
diff --git a/documentation/content/ru/books/handbook/partii.adoc b/documentation/content/ru/books/handbook/partii.adoc
index 40692a372b..db9005d114 100644
--- a/documentation/content/ru/books/handbook/partii.adoc
+++ b/documentation/content/ru/books/handbook/partii.adoc
@@ -3,7 +3,7 @@ next: books/handbook/desktop
params:
path: /books/handbook/partii/
prev: books/handbook/network
-showBookMenu: true
+showBookMenu: 'true'
title: 'Часть II. Стандартные задачи'
weight: 10
---
diff --git a/documentation/content/ru/books/handbook/partii.po b/documentation/content/ru/books/handbook/partii.po
index 80b16cccb8..9c337608be 100644
--- a/documentation/content/ru/books/handbook/partii.po
+++ b/documentation/content/ru/books/handbook/partii.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-06-11 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,7 +18,7 @@ msgstr ""
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.17\n"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/partii.adoc:1
#, no-wrap
msgid "Part II. Common Tasks"
diff --git a/documentation/content/ru/books/handbook/partiii.adoc b/documentation/content/ru/books/handbook/partiii.adoc
index cc29f56fea..fae085e86f 100644
--- a/documentation/content/ru/books/handbook/partiii.adoc
+++ b/documentation/content/ru/books/handbook/partiii.adoc
@@ -3,7 +3,7 @@ next: books/handbook/config
params:
path: /books/handbook/partiii/
prev: books/handbook/linuxemu
-showBookMenu: true
+showBookMenu: 'true'
title: 'Часть III. Администрирование системы'
weight: 17
---
diff --git a/documentation/content/ru/books/handbook/partiii.po b/documentation/content/ru/books/handbook/partiii.po
index 0695fe8cb4..c858b1275f 100644
--- a/documentation/content/ru/books/handbook/partiii.po
+++ b/documentation/content/ru/books/handbook/partiii.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-06-11 09:10+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,7 +18,7 @@ msgstr ""
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.17\n"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/partiii.adoc:1
#, no-wrap
msgid "Part III. System Administration"
diff --git a/documentation/content/ru/books/handbook/partiv.adoc b/documentation/content/ru/books/handbook/partiv.adoc
index e174c65f44..d61dd531d4 100644
--- a/documentation/content/ru/books/handbook/partiv.adoc
+++ b/documentation/content/ru/books/handbook/partiv.adoc
@@ -3,7 +3,7 @@ next: books/handbook/serialcomms
params:
path: /books/handbook/partiv/
prev: books/handbook/usb-device-mode
-showBookMenu: true
+showBookMenu: 'true'
title: 'Часть IV. Сетевое взаимодействие'
weight: 33
---
diff --git a/documentation/content/ru/books/handbook/partiv.po b/documentation/content/ru/books/handbook/partiv.po
index e0a01194eb..a68086fd5c 100644
--- a/documentation/content/ru/books/handbook/partiv.po
+++ b/documentation/content/ru/books/handbook/partiv.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-06-11 10:10+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,7 +18,7 @@ msgstr ""
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.17\n"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/partiv.adoc:1
#, no-wrap
msgid "Part IV. Network Communication"
diff --git a/documentation/content/ru/books/handbook/partv.adoc b/documentation/content/ru/books/handbook/partv.adoc
index 8d48f84de8..6ce3ead936 100644
--- a/documentation/content/ru/books/handbook/partv.adoc
+++ b/documentation/content/ru/books/handbook/partv.adoc
@@ -3,7 +3,7 @@ next: books/handbook/mirrors
params:
path: /books/handbook/partv/
prev: books/handbook/advanced-networking
-showBookMenu: true
+showBookMenu: 'true'
title: 'Часть V. Приложения'
weight: 40
---
diff --git a/documentation/content/ru/books/handbook/partv.po b/documentation/content/ru/books/handbook/partv.po
index 49733e5efa..e32ae2ef37 100644
--- a/documentation/content/ru/books/handbook/partv.po
+++ b/documentation/content/ru/books/handbook/partv.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-06-08 14:10+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,7 +18,7 @@ msgstr ""
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.17\n"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/partv.adoc:1
#, no-wrap
msgid "Part V. Appendices"
diff --git a/documentation/content/ru/books/handbook/pgpkeys/_index.adoc b/documentation/content/ru/books/handbook/pgpkeys/_index.adoc
index 61862b69b6..6cbe963ae6 100644
--- a/documentation/content/ru/books/handbook/pgpkeys/_index.adoc
+++ b/documentation/content/ru/books/handbook/pgpkeys/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/pgpkeys/
part: 'Часть V. Приложения'
prev: books/handbook/eresources
-showBookMenu: true
+showBookMenu: 'true'
tags: ["OpenGPG", "keys", "officers"]
title: 'Приложение D. Ключи OpenPGP'
weight: 44
diff --git a/documentation/content/ru/books/handbook/pgpkeys/_index.po b/documentation/content/ru/books/handbook/pgpkeys/_index.po
index 1a395c97bd..bb087f163a 100644
--- a/documentation/content/ru/books/handbook/pgpkeys/_index.po
+++ b/documentation/content/ru/books/handbook/pgpkeys/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-06-12 17:10+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,19 +18,19 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/pgpkeys/_index.adoc:1
#, no-wrap
msgid "List of OpenPGP keys of the FreeBSD officers are shown here"
msgstr "Здесь представлен список OpenPGP-ключей должностных лиц FreeBSD"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/pgpkeys/_index.adoc:1
#, no-wrap
msgid "Part V. Appendices"
msgstr "Часть V. Приложения"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/pgpkeys/_index.adoc:1
#, no-wrap
msgid "Appendix D. OpenPGP Keys"
@@ -42,7 +42,7 @@ msgstr "Приложение D. Ключи OpenPGP"
msgid "OpenPGP Keys"
msgstr "Ключи OpenPGP"
-#. type: appendix
+#. type: Plain text
#: documentation/content/en/books/handbook/pgpkeys/_index.adoc:61
msgid ""
"The OpenPGP keys of the `FreeBSD.org` officers are shown here. These keys "
diff --git a/documentation/content/ru/books/handbook/ports/_index.adoc b/documentation/content/ru/books/handbook/ports/_index.adoc
index 8cf472e160..a38d6af2ac 100644
--- a/documentation/content/ru/books/handbook/ports/_index.adoc
+++ b/documentation/content/ru/books/handbook/ports/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/ports/
part: 'В начале'
prev: books/handbook/basics
-showBookMenu: true
+showBookMenu: 'true'
tags: ["ports", "collection", "pkg", "poudriere", "management"]
title: 'Глава 4. Установка приложений: Пакеты и Порты'
weight: 6
@@ -651,11 +651,11 @@ man:pkg-lock[8] используется для блокировки пакет
Коллекция портов содержит каталоги для категорий программного обеспечения. В каждой категории находятся подкаталоги для отдельных приложений. Каждый подкаталог приложения содержит набор файлов, которые сообщают FreeBSD, как компилировать и устанавливать эту программу, называемый _каркасом порта_ (ports skeleton). Каждый каркас порта включает следующие файлы и каталоги:
-* *Makefile*: contains statements that specify how the application should be compiled and where its components should be installed.
-* *distinfo*: contains the names and checksums of the files that must be downloaded to build the port.
-* *files/*: this directory contains any patches needed for the program to compile and install on FreeBSD. This directory may also contain other files used to build the port.
-* *pkg-descr*: provides a more detailed description of the program.
-* *pkg-plist*: a list of all the files that will be installed by the port. It also tells the ports system which files to remove upon deinstallation.
+* *Makefile*: содержит инструкции, определяющие порядок компиляции приложения и расположение его компонентов при установке.
+* *distinfo*: содержит имена и контрольные суммы файлов, которые необходимо загрузить для сборки порта.
+* *files/*: в этом каталоге содержатся все необходимые патчи для компиляции и установки программы в FreeBSD. Также в этом каталоге могут находиться другие файлы, используемые для сборки порта.
+* *pkg-descr*: содержит более подробное описание программы.
+* *pkg-plist*: список всех файлов, которые будут установлены портом. Также он указывает системе портов, какие файлы следует удалить при деинсталляции.
Некоторые порты включают файлы `pkg-message` или другие для обработки особых ситуаций. Для получения более подробной информации об этих файлах и о портах в целом обратитесь к extref:{porters-handbook}[Руководству по созданию портов FreeBSD].
@@ -669,7 +669,7 @@ man:pkg-lock[8] используется для блокировки пакет
[[ports-using-git-method]]
[.procedure]
****
-*Procedure: Git Method*
+*Процедура: Метод Git*
Если требуется больше контроля над деревом портов или необходимо поддерживать локальные изменения, либо если используется FreeBSD-CURRENT, для получения коллекции портов можно использовать Git. Подробное описание Git см. в extref:{committers-guide}[руководстве по Git, git-primer].
@@ -841,7 +841,7 @@ ftp://ftp.organization.org/pub/FreeBSD/ports/distfiles/ fetch
Установленные порты можно удалить с помощью `pkg delete`. Примеры использования этой команды приведены на man:pkg-delete[8].
-Альтернативно, в каталоге порта можно выполнить `make deinstall`:
+Или в каталоге порта можно выполнить `make deinstall`:
[source, shell]
....
@@ -980,7 +980,7 @@ package:ports-mgmt/portupgrade[] — это ещё одна утилита, ко
Прежде чем выполнять обновление с помощью этой утилиты, рекомендуется проверить список установленных портов с помощью `pkgdb -F` и исправить все обнаруженные несоответствия.
-Для обновления всех устаревших портов, установленных в системе, используйте `portupgrade -a`. Альтернативно, добавьте `-i` для запроса подтверждения каждого обновления:
+Для обновления всех устаревших портов, установленных в системе, используйте `portupgrade -a`. Или добавьте `-i` для запроса подтверждения каждого обновления:
[source, shell]
....
diff --git a/documentation/content/ru/books/handbook/ports/_index.po b/documentation/content/ru/books/handbook/ports/_index.po
index 413229e23d..fd8c907eec 100644
--- a/documentation/content/ru/books/handbook/ports/_index.po
+++ b/documentation/content/ru/books/handbook/ports/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
-"PO-Revision-Date: 2025-08-19 04:45+0000\n"
+"POT-Creation-Date: 2025-08-17 20:54+0100\n"
+"PO-Revision-Date: 2025-10-21 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/bookshandbookports_index/ru/>\n"
@@ -18,19 +18,19 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/ports/_index.adoc:1
#, no-wrap
msgid "FreeBSD provides two complementary technologies for installing third-party software: the FreeBSD Ports Collection, for installing from source, and packages, for installing from pre-built binaries"
msgstr "FreeBSD предоставляет две взаимодополняющие технологии для установки стороннего программного обеспечения: коллекцию портов FreeBSD для установки из исходного кода и пакеты для установки из предварительно собранных бинарных файлов"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/ports/_index.adoc:1
#, no-wrap
msgid "Part I. Getting Started"
msgstr "В начале"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/ports/_index.adoc:1
#, no-wrap
msgid "Chapter 4. Installing Applications: Packages and Ports"
@@ -326,8 +326,8 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/ports/_index.adoc:114
msgid ""
-"To audit installed packages against known vulnerabilities, run `pkg audit "
-"-F`."
+"To audit installed packages against known vulnerabilities, run `pkg audit -"
+"F`."
msgstr ""
"Для проверки установленных пакетов на наличие известных уязвимостей "
"выполните команду `pkg audit -F`."
@@ -392,10 +392,9 @@ msgid ""
"to see if the application has been ported."
msgstr ""
"Если найти конкретное приложение становится сложно, попробуйте поискать на "
-"таких сайтах, как https://sourceforge.net/[SourceForge] или https://"
-"github.com/[GitHub], а затем проверьте ссылку link:https://"
-"ports.FreeBSD.org[Ports Portal], чтобы узнать, было ли это приложение "
-"портировано."
+"таких сайтах, как https://sourceforge.net/[SourceForge] или https://github."
+"com/[GitHub], а затем проверьте ссылку link:https://ports.FreeBSD.org[Ports "
+"Portal], чтобы узнать, было ли это приложение портировано."
#. type: Plain text
#: documentation/content/en/books/handbook/ports/_index.adoc:128
@@ -403,8 +402,8 @@ msgid ""
"Search the binary package repository for an application using the man:pkg[8] "
"command"
msgstr ""
-"Поиск репозитория бинарных пакетов для приложения с помощью команды "
-"man:pkg[8]"
+"Поиск репозитория бинарных пакетов для приложения с помощью команды man:"
+"pkg[8]"
#. type: Title ==
#: documentation/content/en/books/handbook/ports/_index.adoc:130
@@ -434,8 +433,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/ports/_index.adoc:138
msgid ""
-"However, for those sites building from source a separate "
-"crossref:ports[ports-upgrading-tools, port management tool] will be needed."
+"However, for those sites building from source a separate crossref:"
+"ports[ports-upgrading-tools, port management tool] will be needed."
msgstr ""
"Однако для сайтов, собирающих из исходного кода, потребуется отдельный "
"crossref:ports[ports-upgrading-tools,инструмент управления портами]."
@@ -462,14 +461,14 @@ msgstr "Начало работы с pkg"
#. type: Plain text
#: documentation/content/en/books/handbook/ports/_index.adoc:147
msgid ""
-"All supported versions of FreeBSD now contain `/usr/sbin/pkg` a.k.a "
-"man:pkg[7]. This is a small placeholder that has just the minimum "
-"functionality required to install the real man:pkg[8]."
+"All supported versions of FreeBSD now contain `/usr/sbin/pkg` a.k.a man:"
+"pkg[7]. This is a small placeholder that has just the minimum functionality "
+"required to install the real man:pkg[8]."
msgstr ""
"Все поддерживаемые версии FreeBSD теперь содержат `/usr/sbin/pkg`, также "
"известный как man:pkg[7]. Это небольшая заглушка, которая обладает лишь "
-"минимальной функциональностью, необходимой для установки настоящего "
-"man:pkg[8]."
+"минимальной функциональностью, необходимой для установки настоящего man:"
+"pkg[8]."
#. type: delimited block = 4
#: documentation/content/en/books/handbook/ports/_index.adoc:151
@@ -833,9 +832,9 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/ports/_index.adoc:276
msgid ""
-"The file is in UCL format. For more information on the syntax of "
-"man:libucl[3], please visit the link:https://github.com/vstakhov/"
-"libucl[official UCL website]."
+"The file is in UCL format. For more information on the syntax of man:"
+"libucl[3], please visit the link:https://github.com/vstakhov/libucl[official "
+"UCL website]."
msgstr ""
"Файл имеет формат UCL. Для получения дополнительной информации о синтаксисе "
"man:libucl[3] посетите link:https://github.com/vstakhov/libucl[официальный "
@@ -1456,9 +1455,9 @@ msgid ""
"system. For instance, command `pkg prime-origins` can be used to get the "
"origin port directory of the list mentioned above:"
msgstr ""
-"`pkg prime-list` — это псевдоним команды, объявленный в `/usr/local/etc/"
-"pkg.conf`. Существует множество других команд, которые можно использовать "
-"для запросов к базе данных пакетов системы. Например, команда `pkg prime-"
+"`pkg prime-list` — это псевдоним команды, объявленный в `/usr/local/etc/pkg."
+"conf`. Существует множество других команд, которые можно использовать для "
+"запросов к базе данных пакетов системы. Например, команда `pkg prime-"
"origins` позволяет получить каталог портов происхождения для упомянутого "
"выше списка:"
@@ -1643,8 +1642,8 @@ msgid ""
"As another example, to update package:lang/ruby31[] to package:lang/"
"ruby32[], run:"
msgstr ""
-"В качестве другого примера, чтобы обновить package:lang/ruby31[] до "
-"package:lang/ruby32[], выполните:"
+"В качестве другого примера, чтобы обновить package:lang/ruby31[] до package:"
+"lang/ruby32[], выполните:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/ports/_index.adoc:672
@@ -1693,7 +1692,7 @@ msgid ""
"ports`."
msgstr "По умолчанию Коллекция портов хранится в подкаталоге `/usr/ports`."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/ports/_index.adoc:699
msgid ""
"Before installing and using the Ports Collection, please be aware that it is "
@@ -1717,7 +1716,7 @@ msgstr ""
"использовать Коллекцию портов и pkg вместе, убедитесь, что ваша Коллекция "
"портов и pkg находятся на одной ветке релиза дерева портов."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/ports/_index.adoc:705
msgid ""
"The Ports Collection contains directories for software categories. Inside "
@@ -1732,70 +1731,37 @@ msgstr ""
"компилировать и устанавливать эту программу, называемый _каркасом порта_ "
"(ports skeleton). Каждый каркас порта включает следующие файлы и каталоги:"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/ports/_index.adoc:707
-#, fuzzy
-#| msgid ""
-#| "*Makefile*: contains statements that specify how the application should "
-#| "be compiled and where its components should be installed.\n"
-msgid ""
-"*Makefile*: contains statements that specify how the application should be "
-"compiled and where its components should be installed."
-msgstr ""
-"*Makefile*: содержит инструкции, определяющие порядок компиляции приложения "
-"и расположение его компонентов при установке.\n"
+#, no-wrap
+msgid "*Makefile*: contains statements that specify how the application should be compiled and where its components should be installed.\n"
+msgstr "*Makefile*: содержит инструкции, определяющие порядок компиляции приложения и расположение его компонентов при установке.\n"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/ports/_index.adoc:708
-#, fuzzy
-#| msgid ""
-#| "*distinfo*: contains the names and checksums of the files that must be "
-#| "downloaded to build the port.\n"
-msgid ""
-"*distinfo*: contains the names and checksums of the files that must be "
-"downloaded to build the port."
-msgstr ""
-"*distinfo*: содержит имена и контрольные суммы файлов, которые необходимо "
-"загрузить для сборки порта.\n"
+#, no-wrap
+msgid "*distinfo*: contains the names and checksums of the files that must be downloaded to build the port.\n"
+msgstr "*distinfo*: содержит имена и контрольные суммы файлов, которые необходимо загрузить для сборки порта.\n"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/ports/_index.adoc:709
-#, fuzzy
-#| msgid ""
-#| "*files/*: this directory contains any patches needed for the program to "
-#| "compile and install on FreeBSD. This directory may also contain other "
-#| "files used to build the port.\n"
-msgid ""
-"*files/*: this directory contains any patches needed for the program to "
-"compile and install on FreeBSD. This directory may also contain other files "
-"used to build the port."
-msgstr ""
-"*files/*: в этом каталоге содержатся все необходимые патчи для компиляции и "
-"установки программы в FreeBSD. Также в этом каталоге могут находиться другие "
-"файлы, используемые для сборки порта.\n"
+#, no-wrap
+msgid "*files/*: this directory contains any patches needed for the program to compile and install on FreeBSD. This directory may also contain other files used to build the port.\n"
+msgstr "*files/*: в этом каталоге содержатся все необходимые патчи для компиляции и установки программы в FreeBSD. Также в этом каталоге могут находиться другие файлы, используемые для сборки порта.\n"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/ports/_index.adoc:710
-#, fuzzy
-#| msgid "*pkg-descr*: provides a more detailed description of the program.\n"
-msgid "*pkg-descr*: provides a more detailed description of the program."
+#, no-wrap
+msgid "*pkg-descr*: provides a more detailed description of the program.\n"
msgstr "*pkg-descr*: содержит более подробное описание программы.\n"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/ports/_index.adoc:711
-#, fuzzy
-#| msgid ""
-#| "*pkg-plist*: a list of all the files that will be installed by the port. "
-#| "It also tells the ports system which files to remove upon "
-#| "deinstallation.\n"
-msgid ""
-"*pkg-plist*: a list of all the files that will be installed by the port. It "
-"also tells the ports system which files to remove upon deinstallation."
-msgstr ""
-"*pkg-plist*: список всех файлов, которые будут установлены портом. Также он "
-"указывает системе портов, какие файлы следует удалить при деинсталляции.\n"
+#, no-wrap
+msgid "*pkg-plist*: a list of all the files that will be installed by the port. It also tells the ports system which files to remove upon deinstallation.\n"
+msgstr "*pkg-plist*: список всех файлов, которые будут установлены портом. Также он указывает системе портов, какие файлы следует удалить при деинсталляции.\n"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/ports/_index.adoc:714
msgid ""
"Some ports include `pkg-message` or other files to handle special "
@@ -1807,7 +1773,7 @@ msgstr ""
"в целом обратитесь к extref:{porters-handbook}[Руководству по созданию "
"портов FreeBSD]."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/ports/_index.adoc:717
msgid ""
"The port does not include the actual source code, also known as a "
@@ -1824,7 +1790,7 @@ msgstr ""
msgid "Installing the Ports Collection"
msgstr "Установка коллекции портов"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/ports/_index.adoc:723
msgid ""
"Before an application can be compiled using a port, the Ports Collection "
@@ -1837,9 +1803,8 @@ msgstr ""
#. type: delimited block * 4
#: documentation/content/en/books/handbook/ports/_index.adoc:728
-#, fuzzy
-#| msgid "*Procedure: Git Method*\n"
-msgid "*Procedure: Git Method*"
+#, no-wrap
+msgid "*Procedure: Git Method*\n"
msgstr "*Процедура: Метод Git*\n"
#. type: delimited block * 4
@@ -1977,8 +1942,8 @@ msgid ""
"to the port. Alternatively, run `pkg audit -F` before installing a new "
"port. This command can be configured to automatically perform a security "
"audit and an update of the vulnerability database during the daily security "
-"system check. For more information, refer to man:pkg-audit[8] and "
-"man:periodic[8]."
+"system check. For more information, refer to man:pkg-audit[8] and man:"
+"periodic[8]."
msgstr ""
"Прежде чем компилировать любой порт, обязательно обновите коллекцию портов, "
"как описано в предыдущем разделе. Поскольку установка любого стороннего "
@@ -2344,7 +2309,7 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/ports/_index.adoc:933
msgid "Alternately, `make deinstall` can be run in the port\\'s directory:"
-msgstr "Альтернативно, в каталоге порта можно выполнить `make deinstall`:"
+msgstr "Или в каталоге порта можно выполнить `make deinstall`:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/ports/_index.adoc:941
@@ -2413,9 +2378,9 @@ msgstr ""
msgid ""
"To determine if newer versions of installed ports are available, ensure that "
"the latest version of the ports tree is installed, using the updating "
-"command described in crossref:ports[ports-using-git-method, \"Git "
-"Method\"]. The following command will list the installed ports which are "
-"out of date:"
+"command described in crossref:ports[ports-using-git-method, \"Git Method"
+"\"]. The following command will list the installed ports which are out of "
+"date:"
msgstr ""
"Чтобы определить, доступны ли более новые версии установленных портов, "
"убедитесь, что у вас установлена последняя версия дерева портов, используя "
@@ -2722,13 +2687,13 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/ports/_index.adoc:1093
msgid ""
-"To upgrade all the outdated ports installed on the system, use `portupgrade "
-"-a`. Alternately, include `-i` to be asked for confirmation of every "
+"To upgrade all the outdated ports installed on the system, use `portupgrade -"
+"a`. Alternately, include `-i` to be asked for confirmation of every "
"individual upgrade:"
msgstr ""
-"Для обновления всех устаревших портов, установленных в системе, используйте "
-"`portupgrade -a`. Альтернативно, добавьте `-i` для запроса подтверждения "
-"каждого обновления:"
+"Для обновления всех устаревших портов, установленных в системе, используйте `"
+"portupgrade -a`. Или добавьте `-i` для запроса подтверждения каждого "
+"обновления:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/ports/_index.adoc:1097
@@ -2922,9 +2887,9 @@ msgid ""
msgstr ""
"poudriere устанавливается с помощью пакета package:ports-mgmt/poudriere[] "
"или порта. Установка включает пример файла конфигурации `/usr/local/etc/"
-"poudriere.conf.sample`. Скопируйте этот файл в `/usr/local/etc/"
-"poudriere.conf`. Отредактируйте скопированный файл в соответствии с "
-"локальной конфигурацией."
+"poudriere.conf.sample`. Скопируйте этот файл в `/usr/local/etc/poudriere."
+"conf`. Отредактируйте скопированный файл в соответствии с локальной "
+"конфигурацией."
#. type: Plain text
#: documentation/content/en/books/handbook/ports/_index.adoc:1181
@@ -3114,12 +3079,12 @@ msgid ""
"file are combined at build time to create the `make.conf` used by the build "
"jail."
msgstr ""
-"Базовая конфигурация, представленная здесь, размещает отдельные файлы "
-"`make.conf` для каждого jail, порта и набора в `/usr/local/etc/poudriere.d`. "
-"Имя файла в этом примере формируется путем объединения имени jail, имени "
-"порта и имени набора: `13amd64-local-workstation-make.conf`. Системный "
-"`make.conf` и этот новый файл объединяются во время сборки, чтобы создать "
-"`make.conf`, используемый build jail."
+"Базовая конфигурация, представленная здесь, размещает отдельные файлы `make."
+"conf` для каждого jail, порта и набора в `/usr/local/etc/poudriere.d`. Имя "
+"файла в этом примере формируется путем объединения имени jail, имени порта и "
+"имени набора: `13amd64-local-workstation-make.conf`. Системный `make.conf` и "
+"этот новый файл объединяются во время сборки, чтобы создать `make.conf`, "
+"используемый build jail."
#. type: Plain text
#: documentation/content/en/books/handbook/ports/_index.adoc:1258
@@ -3196,8 +3161,8 @@ msgid ""
"For more information on using poudriere, see man:poudriere[8] and the main "
"web site, https://github.com/freebsd/poudriere/wiki[]."
msgstr ""
-"Для получения дополнительной информации об использовании poudriere см. "
-"man:poudriere[8] и основной веб-сайт: https://github.com/freebsd/poudriere/"
+"Для получения дополнительной информации об использовании poudriere см. man:"
+"poudriere[8] и основной веб-сайт: https://github.com/freebsd/poudriere/"
"wiki[]."
#. type: Title ===
@@ -3250,8 +3215,8 @@ msgstr ""
#: documentation/content/en/books/handbook/ports/_index.adoc:1307
msgid ""
"If the URL to the package repository is: `http://pkg.example.com/13amd64`, "
-"then the repository configuration file in `/usr/local/etc/pkg/repos/"
-"custom.conf` would look like:"
+"then the repository configuration file in `/usr/local/etc/pkg/repos/custom."
+"conf` would look like:"
msgstr ""
"Если URL репозитория пакетов: `http://pkg.example.com/13amd64`, то файл "
"конфигурации репозитория в `/usr/local/etc/pkg/repos/custom.conf` будет "
@@ -3319,10 +3284,10 @@ msgid ""
"Most applications install at least one default configuration file in `/usr/"
"local/etc`. In cases where an application has a large number of "
"configuration files, a subdirectory will be created to hold them. Often, "
-"sample configuration files are installed which end with a suffix such as "
-"`.sample`. The configuration files should be reviewed and possibly edited to "
-"meet the system's needs. To edit a sample file, first copy it without the "
-"`.sample` extension."
+"sample configuration files are installed which end with a suffix such as `."
+"sample`. The configuration files should be reviewed and possibly edited to "
+"meet the system's needs. To edit a sample file, first copy it without the `."
+"sample` extension."
msgstr ""
"Большинство приложений устанавливают как минимум один конфигурационный файл "
"по умолчанию в `/usr/local/etc`. В случаях, когда приложение имеет большое "
@@ -3399,12 +3364,12 @@ msgstr "Когда порт не собирается или не устанав
#. type: Plain text
#: documentation/content/en/books/handbook/ports/_index.adoc:1351
msgid ""
-"Search to see if there is a fix pending for the port in the link:https://"
-"www.FreeBSD.org/support/[Problem Report database]. If so, implementing the "
+"Search to see if there is a fix pending for the port in the link:https://www."
+"FreeBSD.org/support/[Problem Report database]. If so, implementing the "
"proposed fix may fix the issue."
msgstr ""
-"Поищите, есть ли исправление для порта в базе данных link:https://"
-"www.FreeBSD.org/support/[отчётов о проблемах]. Если оно есть, применение "
+"Поищите, есть ли исправление для порта в базе данных link:https://www."
+"FreeBSD.org/support/[отчётов о проблемах]. Если оно есть, применение "
"предложенного исправления может решить проблему."
#. type: Plain text
@@ -3425,29 +3390,27 @@ msgstr ""
msgid ""
"Some ports are not maintained by an individual but instead by a group "
"maintainer represented by a extref:{mailing-list-faq}[mailing list]. Many, "
-"but not all, of these addresses look like mailto:freebsd-"
-"listname@FreeBSD.org[freebsd-listname@FreeBSD.org]. Please take this into "
-"account when sending an email."
+"but not all, of these addresses look like mailto:freebsd-listname@FreeBSD."
+"org[freebsd-listname@FreeBSD.org]. Please take this into account when "
+"sending an email."
msgstr ""
"Некоторые порты поддерживаются не отдельными людьми, а группой "
"сопровождающих, представленной extref:{mailing-list-faq}[рассылкой]. Многие, "
-"но не все, такие адреса выглядят как mailto:freebsd-"
-"listname@FreeBSD.org[freebsd-listname@FreeBSD.org]. Учтите это при отправке "
-"письма."
+"но не все, такие адреса выглядят как mailto:freebsd-listname@FreeBSD."
+"org[freebsd-listname@FreeBSD.org]. Учтите это при отправке письма."
#. type: delimited block = 4
#: documentation/content/en/books/handbook/ports/_index.adoc:1361
msgid ""
-"In particular, ports maintained by "
-"mailto:ports@FreeBSD.org[ports@FreeBSD.org] are not maintained by a specific "
-"individual. Instead, any fixes and support come from the general community "
-"who subscribe to that mailing list. More volunteers are always needed!"
+"In particular, ports maintained by mailto:ports@FreeBSD.org[ports@FreeBSD."
+"org] are not maintained by a specific individual. Instead, any fixes and "
+"support come from the general community who subscribe to that mailing list. "
+"More volunteers are always needed!"
msgstr ""
-"В частности, порты, поддерживаемые "
-"mailto:ports@FreeBSD.org[ports@FreeBSD.org], не курируются конкретным "
-"человеком. Вместо этого исправления и поддержка поступают от сообщества в "
-"целом, участники которого подписаны на этот список рассылки. Добровольцы "
-"всегда нужны!"
+"В частности, порты, поддерживаемые mailto:ports@FreeBSD.org[ports@FreeBSD."
+"org], не курируются конкретным человеком. Вместо этого исправления и "
+"поддержка поступают от сообщества в целом, участники которого подписаны на "
+"этот список рассылки. Добровольцы всегда нужны!"
#. type: Plain text
#: documentation/content/en/books/handbook/ports/_index.adoc:1364
@@ -3474,8 +3437,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/ports/_index.adoc:1365
msgid ""
-"Install the package instead of the port using the instructions in "
-"crossref:ports[pkgng-intro, Using pkg for Binary Package Management]."
+"Install the package instead of the port using the instructions in crossref:"
+"ports[pkgng-intro, Using pkg for Binary Package Management]."
msgstr ""
"Установите пакет вместо порта, следуя инструкциям в crossref:ports[pkgng-"
"intro, Использование pkg для управления бинарными пакетами]."
diff --git a/documentation/content/ru/books/handbook/ppp-and-slip/_index.adoc b/documentation/content/ru/books/handbook/ppp-and-slip/_index.adoc
index f01e9fb3cb..73b754821b 100644
--- a/documentation/content/ru/books/handbook/ppp-and-slip/_index.adoc
+++ b/documentation/content/ru/books/handbook/ppp-and-slip/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/ppp-and-slip/
part: 'IV. Сетевое взаимодействие'
prev: books/handbook/serialcomms
-showBookMenu: true
+showBookMenu: 'true'
tags: ["PPP", "PPPoE", "PPPoA", "modem"]
title: 'Глава 30. PPP'
weight: 35
@@ -310,7 +310,7 @@ hostname="foo.example.com"
Если интернет-провайдер предоставил статический IP-адрес и имя, используйте это имя в качестве имени хоста.
-Прповерьте переменную `network_interfaces`. Чтобы настроить систему для дозвона к интернет-провайдеру по требованию, убедитесь, что устройство [.filename]#tun0# добавлено в список, в противном случае удалите его.
+Проверьте переменную `network_interfaces`. Чтобы настроить систему для дозвона к интернет-провайдеру по требованию, убедитесь, что устройство [.filename]#tun0# добавлено в список, в противном случае удалите его.
[.programlisting]
....
diff --git a/documentation/content/ru/books/handbook/ppp-and-slip/_index.po b/documentation/content/ru/books/handbook/ppp-and-slip/_index.po
index 3982b4e80e..7e0dd67cb9 100644
--- a/documentation/content/ru/books/handbook/ppp-and-slip/_index.po
+++ b/documentation/content/ru/books/handbook/ppp-and-slip/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
-"PO-Revision-Date: 2025-07-05 04:45+0000\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
+"PO-Revision-Date: 2025-10-29 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/bookshandbookppp-and-slip_index/ru/>\n"
@@ -18,19 +18,21 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/ppp-and-slip/_index.adoc:1
#, no-wrap
msgid "FreeBSD supports the Point-to-Point (PPP) protocol which can be used to establish a network or Internet connection using a dial-up modem"
-msgstr "FreeBSD поддерживает протокол Point-to-Point (PPP), который можно использовать для установки сетевого или интернет-соединения с помощью модема"
+msgstr ""
+"FreeBSD поддерживает протокол Point-to-Point (PPP), который можно "
+"использовать для установки сетевого или интернет-соединения с помощью модема"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/ppp-and-slip/_index.adoc:1
#, no-wrap
msgid "IV. Network Communication"
msgstr "IV. Сетевое взаимодействие"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/ppp-and-slip/_index.adoc:1
#, no-wrap
msgid "Chapter 30. PPP"
@@ -113,8 +115,8 @@ msgid ""
"used to start and manage connections."
msgstr ""
"FreeBSD предоставляет встроенную поддержку для управления коммутируемыми PPP-"
-"соединениями с помощью man:ppp[8]. Стандартное ядро FreeBSD поддерживает "
-"[.filename]#tun#, который используется для взаимодействия с модемным "
+"соединениями с помощью man:ppp[8]. Стандартное ядро FreeBSD поддерживает [."
+"filename]#tun#, который используется для взаимодействия с модемным "
"оборудованием. Настройка выполняется путём редактирования как минимум одного "
"конфигурационного файла, и предоставляются примеры таких файлов. Наконец, "
"`ppp` используется для запуска и управления соединениями."
@@ -128,8 +130,8 @@ msgstr "Для использования PPP-соединения необхо
#: documentation/content/en/books/handbook/ppp-and-slip/_index.adoc:80
msgid "A dial-up account with an Internet Service Provider (ISP)."
msgstr ""
-"Учетная запись для коммутируемого доступа у поставщика интернет-услуг "
-"(Internet Service Provider — ISP)."
+"Учетная запись для коммутируемого доступа у поставщика интернет-услуг ("
+"Internet Service Provider — ISP)."
#. type: Plain text
#: documentation/content/en/books/handbook/ppp-and-slip/_index.adoc:81
@@ -160,8 +162,8 @@ msgstr ""
#: documentation/content/en/books/handbook/ppp-and-slip/_index.adoc:86
msgid "If any of the required information is missing, contact the ISP."
msgstr ""
-"Если отсутствует какая-либо необходимая информация, обратитесь к интернет-"
-"провайдеру."
+"Если отсутствует какая-либо необходимая информация, обратитесь к "
+"интернет-провайдеру."
#. type: Plain text
#: documentation/content/en/books/handbook/ppp-and-slip/_index.adoc:88
@@ -284,7 +286,8 @@ msgstr ""
"4 set device /dev/cuau0\n"
"5 set speed 115200\n"
"6 set dial \"ABORT BUSY ABORT NO\\\\sCARRIER TIMEOUT 5 \\\n"
-"7 \\\"\\\" AT OK-AT-OK ATE1Q0 OK \\\\dATDT\\\\T TIMEOUT 40 CONNECT\"\n"
+"7 \\\"\\\" AT OK-AT-OK ATE1Q0 OK \\\\dATDT\\\\T TIMEOUT 40 "
+"CONNECT\"\n"
"8 set timeout 180\n"
"9 enable dns\n"
"10\n"
@@ -362,8 +365,8 @@ msgid ""
"[.filename]#/dev/cuau1#."
msgstr ""
"Определяет устройство, к которому подключен модем, где [.filename]#COM1# "
-"соответствует [.filename]#/dev/cuau0#, а [.filename]#COM2# соответствует "
-"[.filename]#/dev/cuau1#."
+"соответствует [.filename]#/dev/cuau0#, а [.filename]#COM2# соответствует [."
+"filename]#/dev/cuau1#."
#. type: Labeled list
#: documentation/content/en/books/handbook/ppp-and-slip/_index.adoc:153
@@ -592,9 +595,9 @@ msgid ""
msgstr ""
"В зависимости от того, запускается ли man:ppp[8] вручную или автоматически, "
"может потребоваться создать файл [.filename]#/etc/ppp/ppp.linkup# со "
-"следующим содержимым. Этот файл необходим при запуске `ppp` в режиме `-"
-"auto`. Он используется после установки соединения. На этом этапе IP-адрес "
-"уже будет назначен, и можно добавить записи в таблицу маршрутизации. При "
+"следующим содержимым. Этот файл необходим при запуске `ppp` в режиме `-auto`"
+". Он используется после установки соединения. На этом этапе IP-адрес уже "
+"будет назначен, и можно добавить записи в таблицу маршрутизации. При "
"создании этого файла убедитесь, что значение _provider_ совпадает с "
"указанным в строке 11 файла [.filename]#ppp.conf#."
@@ -618,8 +621,8 @@ msgid ""
"usr/share/examples/ppp/#."
msgstr ""
"Этот файл также необходим, когда адрес шлюза по умолчанию \"угадывается\" в "
-"конфигурации статического IP-адреса. В этом случае удалите строку 17 из "
-"[.filename]#ppp.conf# и создайте файл [.filename]#/etc/ppp/ppp.linkup# с "
+"конфигурации статического IP-адреса. В этом случае удалите строку 17 из [."
+"filename]#ppp.conf# и создайте файл [.filename]#/etc/ppp/ppp.linkup# с "
"указанными двумя строками. Дополнительные примеры для этого файла можно "
"найти в [.filename]#/usr/share/examples/ppp/#."
@@ -641,10 +644,10 @@ msgid ""
"ppp.conf# with `allow`. For example, to give `fred` and `mary` permission "
"to only the `provider:` entry, add this line to the `provider:` section:"
msgstr ""
-"Затем предоставьте пользователю доступ к одной или нескольким записям в "
-"[.filename]#/etc/ppp/ppp.conf# с помощью `allow`. Например, чтобы дать "
-"`fred` и `mary` разрешение только на запись `provider:`, добавьте следующую "
-"строку в раздел `provider:`:"
+"Затем предоставьте пользователю доступ к одной или нескольким записям в [."
+"filename]#/etc/ppp/ppp.conf# с помощью `allow`. Например, чтобы дать `fred` "
+"и `mary` разрешение только на запись `provider:`, добавьте следующую строку "
+"в раздел `provider:`:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/ppp-and-slip/_index.adoc:238
@@ -762,8 +765,8 @@ msgid ""
msgstr ""
"PAP менее безопасен, чем CHAP, но безопасность обычно не является проблемой, "
"так как пароли, хотя и передаются в открытом виде с PAP, передаются только "
-"по последовательной линии. У взломщиков мало возможностей для "
-"\"прослушивания\"."
+"по последовательной линии. У взломщиков мало возможностей для \"прослушивания"
+"\"."
#. type: Plain text
#: documentation/content/en/books/handbook/ppp-and-slip/_index.adoc:278
@@ -877,8 +880,8 @@ msgid ""
"also [.filename]#/etc/rc.conf# knob named `ppp_nat`, which is enabled by "
"default."
msgstr ""
-"Альтернативно, NAT может быть включён с помощью параметра командной строки `-"
-"nat`. Также существует параметр [.filename]#/etc/rc.conf# с именем "
+"Альтернативно, NAT может быть включён с помощью параметра командной строки "
+"`-nat`. Также существует параметр [.filename]#/etc/rc.conf# с именем "
"`ppp_nat`, который включён по умолчанию."
#. type: Plain text
@@ -959,9 +962,9 @@ msgid ""
"the ISP on demand, make sure the [.filename]#tun0# device is added to the "
"list, otherwise remove it."
msgstr ""
-"Прповерьте переменную `network_interfaces`. Чтобы настроить систему для "
-"дозвона к интернет-провайдеру по требованию, убедитесь, что устройство "
-"[.filename]#tun0# добавлено в список, в противном случае удалите его."
+"Проверьте переменную `network_interfaces`. Чтобы настроить систему для "
+"дозвона к интернет-провайдеру по требованию, убедитесь, что устройство [."
+"filename]#tun0# добавлено в список, в противном случае удалите его."
#. type: delimited block . 4
#: documentation/content/en/books/handbook/ppp-and-slip/_index.adoc:362
@@ -1006,8 +1009,8 @@ msgid ""
"Make sure that the router program is set to `NO` with the following line in "
"[.filename]#/etc/rc.conf#:"
msgstr ""
-"Убедитесь, что программа маршрутизатора отключена, проверив, что в "
-"[.filename]#/etc/rc.conf# следующая строка установлена в `NO`:"
+"Убедитесь, что программа маршрутизатора отключена, проверив, что в [."
+"filename]#/etc/rc.conf# следующая строка установлена в `NO`:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/ppp-and-slip/_index.adoc:383
@@ -1032,9 +1035,9 @@ msgid ""
"lookup every now and then, possibly causing your machine to dial out. You "
"may try:"
msgstr ""
-"Вероятно, стоит убедиться, что строка `sendmail_flags` не содержит опцию `-"
-"q`, иначе `sendmail` будет периодически пытаться выполнить сетевой запрос, "
-"что может привести к нежелательному дозвону. Можно попробовать:"
+"Вероятно, стоит убедиться, что строка `sendmail_flags` не содержит опцию `-q`"
+", иначе `sendmail` будет периодически пытаться выполнить сетевой запрос, что "
+"может привести к нежелательному дозвону. Можно попробовать:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/ppp-and-slip/_index.adoc:393
@@ -1235,8 +1238,8 @@ msgid ""
"Ensure that [.filename]#/usr/local/etc/mgetty+sendfax/login.config# has the "
"following:"
msgstr ""
-"Убедитесь, что в файле [.filename]#/usr/local/etc/mgetty+sendfax/"
-"login.config# присутствует следующее:"
+"Убедитесь, что в файле [.filename]#/usr/local/etc/mgetty+sendfax/login."
+"config# присутствует следующее:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/ppp-and-slip/_index.adoc:462
@@ -1396,10 +1399,10 @@ msgid ""
"up, if the modem is on [.filename]#uart1#, the modem device would be "
"[.filename]#/dev/cuau1#."
msgstr ""
-"Это должно вывести некоторую важную информацию об устройствах "
-"[.filename]#uart#. Это COM-порты, которые нам нужны. Если модем работает как "
-"стандартный последовательный порт, он должен быть указан как "
-"[.filename]#uart1# или [.filename]#COM2#. Если это так, пересборка ядра не "
+"Это должно вывести некоторую важную информацию об устройствах [."
+"filename]#uart#. Это COM-порты, которые нам нужны. Если модем работает как "
+"стандартный последовательный порт, он должен быть указан как [."
+"filename]#uart1# или [.filename]#COM2#. Если это так, пересборка ядра не "
"требуется. При сопоставлении, если модем находится на [.filename]#uart1#, "
"устройство модема будет [.filename]#/dev/cuau1#."
@@ -1461,8 +1464,8 @@ msgid ""
"[.filename]#/etc/resolv.conf#. If `ppp` cannot determine the hostname, it "
"can manually be set later."
msgstr ""
-"Это указывает `ppp` настроить резолвер и добавить строки nameserver в "
-"[.filename]#/etc/resolv.conf#. Если `ppp` не может определить имя хоста, его "
+"Это указывает `ppp` настроить резолвер и добавить строки nameserver в [."
+"filename]#/etc/resolv.conf#. Если `ppp` не может определить имя хоста, его "
"можно задать вручную позже."
#. type: delimited block . 4
@@ -1668,8 +1671,8 @@ msgstr ""
"RTS с помощью `set ctsrts off`. Это в основном происходит при подключении к "
"некоторым терминальным серверам с поддержкой PPP, где PPP зависает при "
"попытке записи данных в линию связи и ожидает сигнала Clear To Send (CTS), "
-"который может никогда не поступить. При использовании этой опции включите "
-"`set accmap`, так как может потребоваться обойти аппаратную зависимость от "
+"который может никогда не поступить. При использовании этой опции включите `"
+"set accmap`, так как может потребоваться обойти аппаратную зависимость от "
"передачи определённых символов от конца к концу, чаще всего XON/XOFF. "
"Дополнительную информацию об этой опции и её использовании см. в man:ppp[8]."
@@ -1867,7 +1870,8 @@ msgid ""
msgstr ""
"ppp_enable=\"YES\"\n"
"ppp_mode=\"ddial\"\n"
-"ppp_nat=\"YES\"\t# if you want to enable nat for your local network, otherwise NO\n"
+"ppp_nat=\"YES\"\t# if you want to enable nat for your local network, "
+"otherwise NO\n"
"ppp_profile=\"name_of_service_provider\"\n"
#. type: Title ===
@@ -1935,8 +1939,8 @@ msgstr "set device PPPoE:xl1:ISP\n"
msgid ""
"Do not forget to change _xl1_ to the proper device for the Ethernet card."
msgstr ""
-"Не забудьте изменить _xl1_ на соответствующее имя устройства вашей Ethernet-"
-"карты."
+"Не забудьте изменить _xl1_ на соответствующее имя устройства вашей "
+"Ethernet-карты."
#. type: Plain text
#: documentation/content/en/books/handbook/ppp-and-slip/_index.adoc:766
@@ -1949,9 +1953,9 @@ msgid ""
"For additional information, refer to http://renaud.waldura.com/doc/freebsd/"
"pppoe/[Cheaper Broadband with FreeBSD on DSL] by Renaud Waldura."
msgstr ""
-"Для получения дополнительной информации обратитесь к http://"
-"renaud.waldura.com/doc/freebsd/pppoe/[более дешёвому широкополосному доступу "
-"с FreeBSD через DSL] от Renaud Waldura."
+"Для получения дополнительной информации обратитесь к http://renaud.waldura."
+"com/doc/freebsd/pppoe/[более дешёвому широкополосному доступу с FreeBSD "
+"через DSL] от Renaud Waldura."
#. type: Title ===
#: documentation/content/en/books/handbook/ppp-and-slip/_index.adoc:770
@@ -1965,8 +1969,8 @@ msgid ""
"This modem does not follow the PPPoE specification defined in http://"
"www.faqs.org/rfcs/rfc2516.html[RFC 2516]."
msgstr ""
-"Этот модем не соответствует спецификации PPPoE, определённой в http://"
-"www.faqs.org/rfcs/rfc2516.html[RFC 2516]."
+"Этот модем не соответствует спецификации PPPoE, определённой в http://www."
+"faqs.org/rfcs/rfc2516.html[RFC 2516]."
#. type: Plain text
#: documentation/content/en/books/handbook/ppp-and-slip/_index.adoc:776
@@ -2151,9 +2155,8 @@ msgid ""
"above example is given beneath:"
msgstr ""
"Информация о соединении или соединениях, которые необходимо установить, "
-"находится в файле [.filename]#mpd.links#. Пример файла "
-"[.filename]#mpd.links#, соответствующий приведенному выше примеру, "
-"представлен ниже:"
+"находится в файле [.filename]#mpd.links#. Пример файла [.filename]#mpd.links#"
+", соответствующий приведенному выше примеру, представлен ниже:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/ppp-and-slip/_index.adoc:855
diff --git a/documentation/content/ru/books/handbook/preface/_index.adoc b/documentation/content/ru/books/handbook/preface/_index.adoc
index 1abf941d3a..955989824d 100644
--- a/documentation/content/ru/books/handbook/preface/_index.adoc
+++ b/documentation/content/ru/books/handbook/preface/_index.adoc
@@ -4,7 +4,7 @@ next: books/handbook/parti
params:
path: /books/handbook/preface/
prev: books/handbook
-showBookMenu: true
+showBookMenu: 'true'
tags: ["preface", "audience", "organization", "conventions", "acknowledgments"]
title: Предисловие
weight: 1
diff --git a/documentation/content/ru/books/handbook/preface/_index.po b/documentation/content/ru/books/handbook/preface/_index.po
index 0f80a225a6..ffba9e99ba 100644
--- a/documentation/content/ru/books/handbook/preface/_index.po
+++ b/documentation/content/ru/books/handbook/preface/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\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/"
@@ -18,11 +18,14 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/preface/_index.adoc:1
#, no-wrap
msgid "The FreeBSD newcomer will find that the first section of this book guides the user through the FreeBSD installation process and gently introduces the concepts and conventions that underpin UNIX"
-msgstr "Новичок в FreeBSD обнаружит, что первая часть этой книги проведёт его через процесс установки FreeBSD и мягко познакомит с концепциями и соглашениями, лежащими в основе UNIX"
+msgstr ""
+"Новичок в FreeBSD обнаружит, что первая часть этой книги проведёт его через "
+"процесс установки FreeBSD и мягко познакомит с концепциями и соглашениями, "
+"лежащими в основе UNIX"
#. type: Title =
#: documentation/content/en/books/handbook/preface/_index.adoc:1
@@ -37,7 +40,7 @@ msgstr "Предисловие"
msgid "Intended Audience"
msgstr "Целевая аудитория"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:53
msgid ""
"The FreeBSD newcomer will find that the first section of this book guides "
@@ -52,7 +55,7 @@ msgstr ""
"частью требуется лишь желание исследовать и способность усваивать новые "
"концепции по мере их появления."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:56
msgid ""
"Once you have traveled this far, the second, far larger, section of the "
@@ -67,7 +70,7 @@ msgstr ""
"глав могут рекомендовать предварительное ознакомление с другими материалами, "
"что отмечается в кратком обзоре в начале каждой главы."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:58
msgid ""
"For a list of additional sources of information, please see "
@@ -82,7 +85,7 @@ msgstr ""
msgid "Fourth Edition"
msgstr "Четвертое издание"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:64
msgid ""
"The current version of the Handbook represents the cumulative effort of a "
@@ -94,7 +97,7 @@ msgstr ""
"Руководства. Ниже приведены основные изменения по сравнению с четвёртым "
"изданием Руководства."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:66
msgid ""
"The Handbook has been converted from link:https://docbook.org/[Docbook] to "
@@ -103,14 +106,14 @@ msgstr ""
"Справочник был преобразован из link:https://docbook.org/[Docbook] в "
"link:https://gohugo.io/[Hugo] и link:https://asciidoctor.org/[AsciiDoctor]"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:67
msgid ""
"The link:https://docs.FreeBSD.org[FreeBSD Documentation Portal] has been "
"created."
msgstr "link:https://docs.FreeBSD.org[Портал документации FreeBSD] был создан."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:68
msgid ""
"The crossref:introduction[introduction, Introduction] chapter has been "
@@ -119,7 +122,7 @@ msgstr ""
"Глава crossref:introduction[introduction, Введение] была обновлена для "
"улучшения описания истории FreeBSD и исправления незначительных опечаток."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:69
msgid ""
"The crossref:bsdinstall[bsdinstall, Install] chapter has been updated with "
@@ -131,7 +134,7 @@ msgstr ""
"изображениями, добавленным альтернативным текстом для изображений и "
"удалением упоминаний конкретных версий."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:70
msgid ""
"The crossref:basics[basics, Basics] chapter has updated tables, command "
@@ -140,7 +143,7 @@ msgstr ""
"Глава crossref:basics[basics, Основы] содержит обновлённые таблицы, выводы "
"команд и структуру каталогов в соответствии с man:hier."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:71
msgid ""
"The crossref:ports[ports, Ports] chapter has been updated and now simplifies "
@@ -153,7 +156,7 @@ msgstr ""
"улучшает процесс начальной загрузки man:pkg[8] и добавляет новые инструкции "
"по настройке и управлению пакетами, включая их блокировку и разблокировку."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:72
msgid ""
"The crossref:x11[x11, X11] chapter has been updated to reflect the current "
@@ -169,7 +172,7 @@ msgstr ""
"стола», так как эти окружения теперь поддерживают не только X11, но и "
"Wayland."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:73
msgid ""
"The crossref:wayland[wayland,Wayland] chapter has been added with "
@@ -178,7 +181,7 @@ msgstr ""
"Добавлена глава crossref:wayland[wayland,Wayland] с информацией об установке "
"и настройке Wayland в FreeBSD."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:74
msgid ""
"The crossref:network[network, Network] chapter has been created to cover "
@@ -193,7 +196,7 @@ msgstr ""
"были перемещены и обновлены с улучшенными выводами команд, использованием "
"sysrc и улучшенным синтаксисом AsciiDoc."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:75
msgid ""
"The crossref:desktop[desktop, Desktop] chapter has been updated with "
@@ -208,7 +211,7 @@ msgstr ""
"разработки, а также обновлены разделы о офисных приложениях, программах для "
"просмотра документов и финансовых инструментах."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:76
msgid ""
"The crossref:multimedia[multimedia, Multimedia] chapter has been reworked "
@@ -222,7 +225,7 @@ msgstr ""
"на наушники, новым разделом о конференциях и встречах, а также "
"пересмотренным разделом о сканерах изображений."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:77
msgid ""
"The crossref:linuxemu[linuxemu, Linuxemu] chapter has been improved with "
@@ -233,7 +236,7 @@ msgstr ""
"инструкций по настройке базовой системы Debian/Ubuntu с использованием "
"debootstrap."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:78
msgid ""
"The crossref:config[config, Config] chapter has been renamed for accuracy, "
@@ -246,7 +249,7 @@ msgstr ""
"управления питанием и подкачки. Добавлена новая запись о конфигурационных "
"файлах, а устаревший раздел по настройке удалён."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:79
msgid ""
"The crossref:security[security, Security] chapter has been updated with "
@@ -259,7 +262,7 @@ msgstr ""
"OpenSSH/OpenSSL. Добавлены новые разделы, посвященные IDS, уровням "
"безопасности, флагам файлов, Capsicum, ACL NFSv4 и ограничениям ресурсов."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:80
msgid ""
"The crossref:jails[jails, Jails] chapter has been updated to include details "
@@ -274,7 +277,7 @@ msgstr ""
"конфигурации клетки, процедурах настройки, методах обновления, ограничениях "
"ресурсов, а также различных менеджерах клеток и решениях для контейнеров."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:81
msgid ""
"The crossref:mail[mail, Mail] chapter has been updated to include "
@@ -287,7 +290,7 @@ msgstr ""
"MTA, а также удаление разделов Dialup и Fetchmail с последующей "
"реорганизацией главы."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:82
msgid ""
"The crossref:bibliography[bibliography,Bibliography] has been extensively "
@@ -301,7 +304,7 @@ msgstr ""
msgid "Third Edition"
msgstr "Третье издание"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:88
msgid ""
"The current online version of the Handbook represents the cumulative effort "
@@ -314,7 +317,7 @@ msgstr ""
"значительные изменения, внесённые с момента публикации третьего издания в "
"двух томах в 2004 году:"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:90
msgid ""
"crossref:wine[wine,WINE] has been added with information about how to run "
@@ -323,7 +326,7 @@ msgstr ""
"В документацию FreeBSD добавлен раздел crossref:wine[wine,WINE] с "
"информацией о запуске приложений Windows(R) в FreeBSD."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:91
msgid ""
"crossref:dtrace[dtrace,DTrace] has been added with information about the "
@@ -332,7 +335,7 @@ msgstr ""
"В документацию FreeBSD добавлен раздел crossref:dtrace[dtrace,DTrace] с "
"информацией о мощном инструменте анализа производительности DTrace."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:92
msgid ""
"crossref:filesystems[filesystems,Other File Systems] have been added with "
@@ -342,7 +345,7 @@ msgstr ""
"В файле crossref:filesystems[filesystems,Другие файловые системы] добавлена "
"информация о не родных файловых системах в FreeBSD, таких как ZFS от Sun(TM)."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:93
msgid ""
"crossref:audit[audit,Security Event Auditing] has been added to cover the "
@@ -352,7 +355,7 @@ msgstr ""
"раздел, посвящённый новым возможностям аудита в FreeBSD, с объяснением их "
"использования."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:94
msgid ""
"crossref:virtualization[virtualization,Virtualization] has been added with "
@@ -362,7 +365,7 @@ msgstr ""
"crossref:virtualization[виртуализация,Виртуализация] с информацией об "
"установке FreeBSD на программное обеспечение для виртуализации."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:95
msgid ""
"crossref:bsdinstall[bsdinstall,Installing FreeBSD] has been added to cover "
@@ -377,7 +380,7 @@ msgstr ""
msgid "Second Edition (2004)"
msgstr "Второе издание (2004)"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:102
msgid ""
"The third edition was the culmination of over two years of work by the "
@@ -390,7 +393,7 @@ msgstr ""
"увеличилось до такого объёма, что потребовалось выпустить его в виде двух "
"отдельных томов. Ниже приведены основные изменения в этом новом издании:"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:104
msgid ""
"crossref:config[config-tuning,Configuration and Tuning] has been expanded "
@@ -401,7 +404,7 @@ msgstr ""
"дополнена новой информацией об управлении питанием и ресурсами ACPI, "
"системной утилите `cron`, а также дополнительными параметрами настройки ядра."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:105
msgid ""
"crossref:security[security,Security] has been expanded with new information "
@@ -412,7 +415,7 @@ msgstr ""
"виртуальных частных сетях (VPN), списках контроля доступа (ACL) файловых "
"систем и рекомендациях по безопасности."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:106
msgid ""
"crossref:mac[mac,Mandatory Access Control] is a new chapter with this "
@@ -423,7 +426,7 @@ msgstr ""
"издании. В ней объясняется, что такое MAC и как этот механизм может быть "
"использован для защиты системы FreeBSD."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:107
msgid ""
"crossref:disks[disks,Storage] has been expanded with new information about "
@@ -434,7 +437,7 @@ msgstr ""
"накопителях, снимках файловых систем, квотах файловых систем, файловых и "
"сетевых файловых системах, а также о зашифрованных разделах диска."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:108
msgid ""
"A troubleshooting section has been added to crossref:ppp-and-slip[ppp-and-"
@@ -443,7 +446,7 @@ msgstr ""
"В раздел crossref:ppp-and-slip[ppp-and-slip,PPP] добавлен подраздел по "
"устранению неполадок."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:109
msgid ""
"crossref:mail[mail,Electronic Mail] has been expanded with new information "
@@ -454,7 +457,7 @@ msgstr ""
"использовании альтернативных транспортных агентов, SMTP-аутентификации, "
"UUCP, fetchmail, procmail и других расширенных темах."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:110
msgid ""
"crossref:network-servers[network-servers,Network Servers] is all new with "
@@ -466,11 +469,11 @@ msgstr ""
"crossref:network-servers[network-servers,Сетевые серверы] полностью "
"обновлена в этом издании. Эта глава включает информацию о настройке Apache "
"HTTP Server, ftpd, а также о настройке сервера для клиентов Microsoft(R) "
-"Windows(R) с помощью Samba. Некоторые разделы из crossref:advanced-"
-"networking[advanced-networking,Расширенные сетевые технологии] были "
-"перемещены сюда для улучшения изложения."
+"Windows(R) с помощью Samba. Некоторые разделы из crossref:advanced-networking"
+"[advanced-networking,Расширенные сетевые технологии] были перемещены сюда "
+"для улучшения изложения."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:111
msgid ""
"crossref:advanced-networking[advanced-networking,Advanced Networking] has "
@@ -483,7 +486,7 @@ msgstr ""
"Bluetooth(R) с FreeBSD, настройке беспроводных сетей и работе с сетями "
"Asynchronous Transfer Mode (ATM)."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:112
msgid ""
"A glossary has been added to provide a central location for the definitions "
@@ -492,7 +495,7 @@ msgstr ""
"В книгу добавлен глоссарий, который служит центральным местом для "
"определений технических терминов, используемых в тексте."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:113
msgid ""
"A number of aesthetic improvements have been made to the tables and figures "
@@ -505,7 +508,7 @@ msgstr "В книгу внесен ряд визуальных улучшени
msgid "First Edition (2001)"
msgstr "Первое издание (2001)"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:119
msgid ""
"The second edition was the culmination of over two years of work by the "
@@ -515,17 +518,17 @@ msgstr ""
"Второе издание стало результатом более двух лет работы преданных членов "
"Проекта документации FreeBSD. Основные изменения в этом издании включали:"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:121
msgid "A complete Index has been added."
msgstr "Добавлен полный указатель."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:122
msgid "All ASCII figures have been replaced by graphical diagrams."
msgstr "Все ASCII-рисунки заменены графическими диаграммами."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:123
msgid ""
"A standard synopsis has been added to each chapter to give a quick summary "
@@ -536,16 +539,16 @@ msgstr ""
"общее представление о том, какую информацию содержит глава и какие знания "
"ожидаются от читателя."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:124
msgid ""
"The content has been logically reorganized into three parts: \"Getting "
"Started\", \"System Administration\", and \"Appendices\"."
msgstr ""
-"Содержание было логически реорганизовано в три части: «Начало работы», "
-"«Администрирование системы» и «Приложения»."
+"Содержание было логически реорганизовано в три части: «Начало работы», «"
+"Администрирование системы» и «Приложения»."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:125
msgid ""
"crossref:basics[basics,FreeBSD Basics] has been expanded to contain "
@@ -554,7 +557,7 @@ msgstr ""
"Раздел crossref:basics[basics,Основы FreeBSD] был расширен, и теперь "
"включает дополнительную информацию о процессах, демонах и сигналах."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:126
msgid ""
"crossref:ports[ports,Installing Applications: Packages and Ports] has been "
@@ -563,7 +566,7 @@ msgstr ""
"Раздел crossref:ports[ports,Установка приложений: Пакеты и порты] был "
"дополнен дополнительной информацией об управлении бинарными пакетами."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:127
msgid ""
"crossref:x11[x11,The X Window System] has been completely rewritten with an "
@@ -574,12 +577,12 @@ msgstr ""
"на использование современных технологий для рабочих столов, таких как KDE и "
"GNOME на XFree86(TM) 4.X."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:128
msgid "crossref:boot[boot,The FreeBSD Booting Process] has been expanded."
msgstr "Раздел crossref:boot[boot,Процесс загрузки FreeBSD] был расширен."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:129
msgid ""
"crossref:disks[disks,Storage] has been written from what used to be two "
@@ -587,12 +590,12 @@ msgid ""
"easier to comprehend when presented as a single chapter. A section on RAID "
"(both hardware and software) has also been added."
msgstr ""
-"Раздел crossref:disks[disks,Хранение данных] был написан на основе двух "
-"глав: «Диски» и «Резервное копирование», которые ранее были отдельными. Мы "
+"Раздел crossref:disks[disks,Хранение данных] был написан на основе двух глав:"
+" «Диски» и «Резервное копирование», которые ранее были отдельными. Мы "
"считаем, что объединение этих тем в одну главу облегчает их понимание. Также "
"добавлен раздел о RAID (как аппаратном, так и программном)."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:130
msgid ""
"crossref:serialcomms[serialcomms,Serial Communications] has been completely "
@@ -601,13 +604,13 @@ msgstr ""
"Раздел crossref:serialcomms[serialcomms,Последовательные коммуникации] был "
"полностью переработан и обновлен для FreeBSD 4.X/5.X."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:131
msgid "crossref:ppp-and-slip[ppp-and-slip,PPP] has been substantially updated."
msgstr ""
"Раздел crossref:ppp-and-slip[ppp-and-slip,PPP] был значительно обновлен."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:132
msgid ""
"Many new sections have been added to crossref:advanced-networking[advanced-"
@@ -616,7 +619,7 @@ msgstr ""
"В новую секцию crossref:advanced-networking[advanced-networking,Сложные "
"вопросы работы в сети] добавлено множество новых разделов."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:133
msgid ""
"crossref:mail[mail,Electronic Mail] has been expanded to include more "
@@ -625,7 +628,7 @@ msgstr ""
"Раздел crossref:mail[mail,Электронная почта] был дополнен дополнительной "
"информацией о настройке sendmail."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:134
msgid ""
"crossref:linuxemu[linuxemu,Linux® Binary Compatibility] has been expanded to "
@@ -634,17 +637,17 @@ msgstr ""
"Раздел crossref:linuxemu[linuxemu,Совместимость с бинарными файлами Linux®] "
"был расширен и включает информацию об установке Oracle(R) и SAP(R) R/3(R)."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:135
msgid "The following new topics are covered in this second edition:"
msgstr "В этом втором издании рассматриваются следующие новые темы:"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:137
msgid "crossref:config[config-tuning,Configuration and Tuning]."
msgstr "crossref:config[config-tuning,Настройка и конфигурирование]."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:138
msgid "crossref:multimedia[multimedia,Multimedia]."
msgstr "crossref:multimedia[multimedia,Мультимедиа]."
@@ -655,7 +658,7 @@ msgstr "crossref:multimedia[multimedia,Мультимедиа]."
msgid "Organization of This Book"
msgstr "Организация книги"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:152
msgid ""
"This book is split into five logically distinct sections. The first "
@@ -690,7 +693,7 @@ msgstr ""
msgid "_crossref:introduction[introduction,Introduction]_"
msgstr "_crossref:introduction[introduction,Введение]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:155
msgid ""
"Introduces FreeBSD to a new user. It describes the history of the FreeBSD "
@@ -705,7 +708,7 @@ msgstr ""
msgid "_crossref:bsdinstall[bsdinstall,Installing FreeBSD]_"
msgstr "_crossref:bsdinstall[bsdinstall,Установка FreeBSD]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:158
msgid ""
"Walks a user through the entire installation process of FreeBSD 9._x_ and "
@@ -720,7 +723,7 @@ msgstr ""
msgid "_crossref:basics[basics,FreeBSD Basics]_"
msgstr "_crossref:basics[basics,Основы FreeBSD]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:161
msgid ""
"Covers the basic commands and functionality of the FreeBSD operating system. "
@@ -737,7 +740,7 @@ msgstr ""
msgid "_crossref:ports[ports,Installing Applications: Packages and Ports]_"
msgstr "_crossref:ports[ports,Установка приложений: Пакеты и порты]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:164
msgid ""
"Covers the installation of third-party software with both FreeBSD's "
@@ -752,7 +755,7 @@ msgstr ""
msgid "_crossref:x11[x11,The X Window System]_"
msgstr "_crossref:x11[x11,Система X Window]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:167
msgid ""
"Describes the X Window System in general and using X11 on FreeBSD in "
@@ -768,7 +771,7 @@ msgstr ""
msgid "_crossref:wayland[wayland,Wayland]_"
msgstr "_crossref:wayland[wayland,Wayland]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:170
msgid ""
"Describes the Wayland display server in general and using Wayland on FreeBSD "
@@ -785,7 +788,7 @@ msgstr ""
msgid "_crossref:desktop[desktop,Desktop Applications]_"
msgstr "_crossref:desktop[desktop,Приложения для рабочего стола]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:173
msgid ""
"Lists some common desktop applications, such as web browsers and "
@@ -800,7 +803,7 @@ msgstr ""
msgid "_crossref:multimedia[multimedia,Multimedia]_"
msgstr "_crossref:multimedia[multimedia,Мультимедиа]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:176
msgid ""
"Shows how to set up sound and video playback support for your system. Also "
@@ -815,7 +818,7 @@ msgstr ""
msgid "_crossref:kernelconfig[kernelconfig,Configuring the FreeBSD Kernel]_"
msgstr "_crossref:kernelconfig[kernelconfig,Настройка ядра FreeBSD]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:179
msgid ""
"Explains why you might need to configure a new kernel and provides detailed "
@@ -830,7 +833,7 @@ msgstr ""
msgid "_crossref:printing[printing,Printing]_"
msgstr "_crossref:printing[printing,Печать]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:182
msgid ""
"Describes managing printers on FreeBSD, including information about banner "
@@ -845,7 +848,7 @@ msgstr ""
msgid "_crossref:linuxemu[linuxemu,Linux® Binary Compatibility]_"
msgstr "_crossref:linuxemu[linuxemu,Совместимость с бинарными файлами Linux®]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:185
msgid ""
"Describes the Linux(R) compatibility features of FreeBSD. Also provides "
@@ -862,7 +865,7 @@ msgstr ""
msgid "_crossref:wine[wine,WINE]_"
msgstr "_crossref:wine[wine,WINE]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:188
msgid ""
"Describes WINE and provides detailed installation instructions. Also "
@@ -880,7 +883,7 @@ msgstr ""
msgid "_crossref:config[config-tuning,Configuration and Tuning]_"
msgstr "_crossref:config[config-tuning,Настройка и Тонкая Настройка]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:191
msgid ""
"Describes the parameters available for system administrators to tune a "
@@ -898,7 +901,7 @@ msgstr ""
msgid "_crossref:boot[boot,The FreeBSD Booting Process]_"
msgstr "_crossref:boot[boot,Процесс загрузки FreeBSD]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:194
msgid ""
"Describes the FreeBSD boot process and explains how to control this process "
@@ -913,7 +916,7 @@ msgstr ""
msgid "_crossref:security[security,Security]_"
msgstr "_crossref:security[security,Безопасность]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:197
msgid ""
"Describes many different tools available to help keep your FreeBSD system "
@@ -928,7 +931,7 @@ msgstr ""
msgid "_crossref:jails[jails,Jails]_"
msgstr "_crossref:jails[jails,Клетки]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:200
msgid ""
"Describes the jails framework, and the improvements of jails over the "
@@ -943,7 +946,7 @@ msgstr ""
msgid "_crossref:mac[mac,Mandatory Access Control]_"
msgstr "_crossref:mac[mac,Принудительный контроль доступа]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:203
msgid ""
"Explains what Mandatory Access Control (MAC) is and how this mechanism can "
@@ -959,7 +962,7 @@ msgstr ""
msgid "_crossref:audit[audit,Security Event Auditing]_"
msgstr "_crossref:audit[audit,Аудит событий безопасности]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:206
msgid ""
"Describes what FreeBSD Event Auditing is, how it can be installed, "
@@ -974,7 +977,7 @@ msgstr ""
msgid "_crossref:disks[disks,Storage]_"
msgstr "_crossref:disks[disks,Устройства хранения]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:209
msgid ""
"Describes how to manage storage media and filesystems with FreeBSD. This "
@@ -989,9 +992,11 @@ msgstr ""
#: documentation/content/en/books/handbook/preface/_index.adoc:210
#, no-wrap
msgid "_crossref:geom[geom,GEOM: Modular Disk Transformation Framework]_"
-msgstr "_crossref:geom[geom,GEOM: Модульная инфраструктура преобразования дисковых запросов]_"
+msgstr ""
+"_crossref:geom[geom,GEOM: Модульная инфраструктура преобразования дисковых "
+"запросов]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:212
msgid ""
"Describes what the GEOM framework in FreeBSD is and how to configure various "
@@ -1006,7 +1011,7 @@ msgstr ""
msgid "_crossref:zfs[zfs,The OpenZFS storage platform]_"
msgstr "_crossref:zfs[zfs,Платформа хранения данных OpenZFS]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:215
msgid ""
"Describes the OpenZFS storage platform and provides a quick-start guide and "
@@ -1022,7 +1027,7 @@ msgstr ""
msgid "_crossref:filesystems[filesystems,Other File Systems]_"
msgstr "_crossref:filesystems[filesystems,Другие файловые системы]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:218
msgid ""
"Examines support for non-native file systems under FreeBSD like ext2, ext3 "
@@ -1037,7 +1042,7 @@ msgstr ""
msgid "_crossref:virtualization[virtualization,Virtualization]_"
msgstr "_crossref:virtualization[virtualization,Виртуализация]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:221
msgid ""
"Describes what virtualization systems offer, and how they can be used with "
@@ -1050,9 +1055,10 @@ msgstr ""
#: documentation/content/en/books/handbook/preface/_index.adoc:222
#, no-wrap
msgid "_crossref:l10n[l10n,Localization - i18n/L10n Usage and Setup]_"
-msgstr "_crossref:l10n[l10n, Локализация - использование и настройка i18n/L10n]_"
+msgstr ""
+"_crossref:l10n[l10n, Локализация - использование и настройка i18n/L10n]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:224
msgid ""
"Describes how to use FreeBSD in languages other than English. Covers both "
@@ -1065,9 +1071,10 @@ msgstr ""
#: documentation/content/en/books/handbook/preface/_index.adoc:225
#, no-wrap
msgid "_crossref:cutting-edge[updating-upgrading,Updating and Upgrading FreeBSD]_"
-msgstr "_crossref:cutting-edge[updating-upgrading,Обновление и модернизация FreeBSD]_"
+msgstr ""
+"_crossref:cutting-edge[updating-upgrading,Обновление и модернизация FreeBSD]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:227
msgid ""
"Explains the differences between FreeBSD-STABLE, FreeBSD-CURRENT, and "
@@ -1087,7 +1094,7 @@ msgstr ""
msgid "_crossref:dtrace[dtrace,DTrace]_"
msgstr "_crossref:dtrace[dtrace,DTrace]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:230
msgid ""
"Describes how to configure and use the DTrace tool from Sun(TM) on FreeBSD. "
@@ -1102,9 +1109,10 @@ msgstr ""
#: documentation/content/en/books/handbook/preface/_index.adoc:231
#, no-wrap
msgid "_crossref:usb-device-mode[usb-device-mode,USB Device Mode / USB OTG]_"
-msgstr "_crossref:usb-device-mode[usb-device-mode,Режим USB-устройства / USB OTG]_"
+msgstr ""
+"_crossref:usb-device-mode[usb-device-mode,Режим USB-устройства / USB OTG]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:233
msgid ""
"Explains the use of USB Device Mode and USB On The Go (USB OTG) on FreeBSD."
@@ -1118,7 +1126,7 @@ msgstr ""
msgid "_crossref:ppp-and-slip[ppp-and-slip,PPP]_"
msgstr "_crossref:ppp-and-slip[ppp-and-slip,PPP]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:236
msgid "Describes how to use PPP to connect to remote systems in FreeBSD."
msgstr ""
@@ -1131,7 +1139,7 @@ msgstr ""
msgid "_crossref:mail[mail,Electronic Mail]_"
msgstr "_crossref:mail[mail,Электронная Почта]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:239
msgid ""
"Explains the different components of an email server and dives into simple "
@@ -1146,7 +1154,7 @@ msgstr ""
msgid "_crossref:network-servers[network-servers,Network Servers]_"
msgstr "_crossref:network-servers[network-servers,Сетевые серверы]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:242
msgid ""
"Provides detailed instructions and example configuration files to set up "
@@ -1164,7 +1172,7 @@ msgstr ""
msgid "_crossref:firewalls[firewalls,Firewalls]_"
msgstr "_crossref:firewalls[firewalls,Межсетевые экраны]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:245
msgid ""
"Explains the philosophy behind software-based firewalls and provides "
@@ -1178,9 +1186,11 @@ msgstr ""
#: documentation/content/en/books/handbook/preface/_index.adoc:246
#, no-wrap
msgid "_crossref:advanced-networking[advanced-networking,Advanced Networking]_"
-msgstr "_crossref:advanced-networking[advanced-networking,Расширенные сетевые технологии]_"
+msgstr ""
+"_crossref:advanced-networking[advanced-networking,Расширенные сетевые "
+"технологии]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:248
msgid ""
"Describes many networking topics, including sharing an Internet connection "
@@ -1198,7 +1208,7 @@ msgstr ""
msgid "_crossref:mirrors[mirrors,Obtaining FreeBSD]_"
msgstr "_crossref:mirrors[mirrors,Получение FreeBSD]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:251
msgid ""
"Lists different sources for obtaining FreeBSD media on CDROM or DVD as well "
@@ -1215,7 +1225,7 @@ msgstr ""
msgid "_crossref:bibliography[bibliography,Bibliography]_"
msgstr "_crossref: bibliography[bibliography,Библиография]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:254
msgid ""
"This book touches on many different subjects that may leave you hungry for a "
@@ -1232,7 +1242,7 @@ msgstr ""
msgid "_crossref:eresources[eresources,Resources on the Internet]_"
msgstr "_crossref:eresources[eresources,Ресурсы в Интернете]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:257
msgid ""
"Describes the many forums available for FreeBSD users to post questions and "
@@ -1248,7 +1258,7 @@ msgstr ""
msgid "_crossref:pgpkeys[pgpkeys,OpenPGP Keys]_"
msgstr "_crossref:pgpkeys[pgpkeys,OpenPGP Ключи]_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:260
msgid "Lists the PGP fingerprints of several FreeBSD Developers."
msgstr "Перечисляет PGP-отпечатки нескольких разработчиков FreeBSD."
@@ -1259,7 +1269,7 @@ msgstr "Перечисляет PGP-отпечатки нескольких ра
msgid "Conventions used in this book"
msgstr "Условные обозначения, используемые в этой книге"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:265
msgid ""
"To provide a consistent and easy to read text, several conventions are "
@@ -1280,7 +1290,7 @@ msgstr "Типографические соглашения"
msgid "_Italic_"
msgstr "_Курсив_"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:271
msgid ""
"An _italic_ font is used for filenames, URLs, emphasized text, and the first "
@@ -1295,7 +1305,7 @@ msgstr ""
msgid "`Monospace`"
msgstr "`Моноширинный`"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:274
msgid ""
"A `monospaced` font is used for error messages, commands, environment "
@@ -1312,7 +1322,7 @@ msgstr ""
msgid "*Bold*"
msgstr "*Жирный*"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:277
msgid "A *bold* font is used for applications, commands, and keys."
msgstr "*Жирный* шрифт используется для приложений, команд и клавиш."
@@ -1323,7 +1333,7 @@ msgstr "*Жирный* шрифт используется для приложе
msgid "User Input"
msgstr "Ввод пользователя"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:283
msgid ""
"Keys are shown in *bold* to stand out from other text. Key combinations "
@@ -1334,21 +1344,21 @@ msgstr ""
"Комбинации клавиш, которые нужно нажимать одновременно, обозначаются "
"символом `+` между клавишами, например:"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:285
msgid "kbd:[Ctrl+Alt+Del]"
msgstr "kbd:[Ctrl+Alt+Del]"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:287
msgid ""
"Meaning the user should type the kbd:[Ctrl], kbd:[Alt], and kbd:[Del] keys "
"at the same time."
msgstr ""
-"Пользователь должен одновременно нажать клавиши kbd:[Ctrl], kbd:[Alt] и kbd:"
-"[Del]."
+"Пользователь должен одновременно нажать клавиши kbd:[Ctrl], kbd:[Alt] и "
+"kbd:[Del]."
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:289
msgid ""
"Keys that are meant to be typed in sequence will be separated with commas, "
@@ -1357,12 +1367,12 @@ msgstr ""
"Клавиши, которые нужно нажимать последовательно, разделяются запятыми, "
"например:"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:291
msgid "kbd:[Ctrl+X], kbd:[Ctrl+S]"
msgstr "kbd:[Ctrl+X], kbd:[Ctrl+S]"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:293
msgid ""
"Would mean that the user is expected to type the kbd:[Ctrl] and kbd:[X] keys "
@@ -1378,7 +1388,7 @@ msgstr ""
msgid "Examples"
msgstr "Примеры"
-#. type: preface
+#. type: Plain text
#: documentation/content/en/books/handbook/preface/_index.adoc:299
msgid ""
"Examples starting with [.filename]#C:\\># indicate a MS-DOS(R) command. "
@@ -1469,12 +1479,12 @@ msgid ""
"Guide (ISBN 1-57176-328-7)."
msgstr ""
"Несколько компаний поддержали разработку этого документа, оплачивая работу "
-"авторов на полную ставку, финансируя публикацию и т.д. В частности, BSDi "
-"(позже приобретенная http://www.windriver.com[Wind River Systems]) "
-"оплачивала членам FreeBSD Documentation Project работу над улучшением этой "
-"книги на полной ставке вплоть до публикации первого печатного издания в "
-"марте 2000 года (ISBN 1-57176-241-8). Затем Wind River Systems оплатила "
-"работу нескольких дополнительных авторов для внесения ряда улучшений в "
+"авторов на полную ставку, финансируя публикацию и т.д. В частности, BSDi ("
+"позже приобретенная http://www.windriver.com[Wind River Systems]) оплачивала "
+"членам FreeBSD Documentation Project работу над улучшением этой книги на "
+"полной ставке вплоть до публикации первого печатного издания в марте 2000 "
+"года (ISBN 1-57176-241-8). Затем Wind River Systems оплатила работу "
+"нескольких дополнительных авторов для внесения ряда улучшений в "
"инфраструктуру печатного вывода и добавления новых глав к тексту. Эта работа "
"завершилась публикацией второго печатного издания в ноябре 2001 года (ISBN "
"1-57176-303-1). В 2003-2004 годах http://www.freebsdmall.com[FreeBSD Mall, "
diff --git a/documentation/content/ru/books/handbook/printing/_index.adoc b/documentation/content/ru/books/handbook/printing/_index.adoc
index a00e65ce80..47e29c6fe0 100644
--- a/documentation/content/ru/books/handbook/printing/_index.adoc
+++ b/documentation/content/ru/books/handbook/printing/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/printing/
part: 'Часть II. Стандартные задачи'
prev: books/handbook/kernelconfig
-showBookMenu: true
+showBookMenu: 'true'
tags: ["printing", "CUPS", "LPD", "PostScript", "PDLs", "HPLIP", "LPRng"]
title: 'Глава 11. Печать'
weight: 14
diff --git a/documentation/content/ru/books/handbook/printing/_index.po b/documentation/content/ru/books/handbook/printing/_index.po
index 027949f9ee..db83763e82 100644
--- a/documentation/content/ru/books/handbook/printing/_index.po
+++ b/documentation/content/ru/books/handbook/printing/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\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/"
@@ -18,19 +18,19 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/printing/_index.adoc:1
#, no-wrap
msgid "This chapter covers the printing system in FreeBSD"
msgstr "Эта глава посвящена системе печати в FreeBSD"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/printing/_index.adoc:1
#, no-wrap
msgid "Part II. Common Tasks"
msgstr "Часть II. Стандартные задачи"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/printing/_index.adoc:1
#, no-wrap
msgid "Chapter 11. Printing"
@@ -189,7 +189,10 @@ msgstr "Напечатайте тест:"
#: documentation/content/en/books/handbook/printing/_index.adoc:124
#, no-wrap
msgid "# printf \"1. This printer can print.\\n2. This is the second line.\\n\" | lpr\n"
-msgstr "# printf \"1. This printer can print.\\n2. This is the second line.\\n\" | lpr\n"
+msgstr ""
+"# printf \"1. This printer can print.\\n"
+"2. This is the second line.\\n"
+"\" | lpr\n"
#. type: delimited block = 4
#: documentation/content/en/books/handbook/printing/_index.adoc:130
@@ -271,12 +274,12 @@ msgid ""
"problems with some printers, so the [.filename]#unlpt0# device is usually "
"used instead. [.filename]#unlpt0# does not reset the USB port at all."
msgstr ""
-"Когда FreeBSD обнаруживает принтер `USB`, создаются два устройства: "
-"[.filename]#/dev/ulpt0# и [.filename]#/dev/unlpt0#. Данные, отправленные на "
-"любое из этих устройств, будут переданы принтеру. После каждой печати "
-"[.filename]#ulpt0# сбрасывает порт `USB`. Сброс порта может вызывать "
-"проблемы с некоторыми принтерами, поэтому обычно используется устройство "
-"[.filename]#unlpt0#. [.filename]#unlpt0# не сбрасывает порт USB вообще."
+"Когда FreeBSD обнаруживает принтер `USB`, создаются два устройства: [."
+"filename]#/dev/ulpt0# и [.filename]#/dev/unlpt0#. Данные, отправленные на "
+"любое из этих устройств, будут переданы принтеру. После каждой печати [."
+"filename]#ulpt0# сбрасывает порт `USB`. Сброс порта может вызывать проблемы "
+"с некоторыми принтерами, поэтому обычно используется устройство [."
+"filename]#unlpt0#. [.filename]#unlpt0# не сбрасывает порт USB вообще."
#. type: Labeled list
#: documentation/content/en/books/handbook/printing/_index.adoc:164
@@ -634,7 +637,8 @@ msgstr "`PCLXL` или `PCL6`"
#: documentation/content/en/books/handbook/printing/_index.adoc:277
#, no-wrap
msgid "`-sDEVICE=pxlmono` for monochrome, `-sDEVICE=pxlcolor` for color"
-msgstr "`-sDEVICE=pxlmono` для монохромного режима, `-sDEVICE=pxlcolor` для цветного"
+msgstr ""
+"`-sDEVICE=pxlmono` для монохромного режима, `-sDEVICE=pxlcolor` для цветного"
#. type: Table
#: documentation/content/en/books/handbook/printing/_index.adoc:278
@@ -704,10 +708,10 @@ msgid ""
"http://www.openprinting.org/printers[]."
msgstr ""
"Настроить принтеры, управляемые хостом, часто сложнее. Некоторые из них "
-"вообще нельзя использовать из-за проприетарных языков описания страниц "
-"(PDL). По возможности избегайте таких принтеров. Информацию о конкретных "
-"`PDL`, используемых различными моделями принтеров, можно найти на сайте "
-"http://www.openprinting.org/printers[]."
+"вообще нельзя использовать из-за проприетарных языков описания страниц (PDL)"
+". По возможности избегайте таких принтеров. Информацию о конкретных `PDL`, "
+"используемых различными моделями принтеров, можно найти на сайте http://www."
+"openprinting.org/printers[]."
#. type: Title ==
#: documentation/content/en/books/handbook/printing/_index.adoc:305
@@ -723,8 +727,8 @@ msgid ""
"be sent to a `USB` printer:"
msgstr ""
"Для периодической печати файлы можно отправлять непосредственно на "
-"устройство принтера без дополнительной настройки. Например, файл с именем "
-"[.filename]#sample.txt# можно отправить на принтер с интерфейсом `USB`:"
+"устройство принтера без дополнительной настройки. Например, файл с именем [."
+"filename]#sample.txt# можно отправить на принтер с интерфейсом `USB`:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/printing/_index.adoc:313
@@ -1042,8 +1046,8 @@ msgid ""
"just one long line with entries delimited by colon characters. An earlier "
"example can be rewritten as a single less-readable line:"
msgstr ""
-"Символы обратной косой черты _продолжения строки_ в конце строк в записях "
-"[.filename]#printcap# показывают, что запись для принтера на самом деле "
+"Символы обратной косой черты _продолжения строки_ в конце строк в записях [."
+"filename]#printcap# показывают, что запись для принтера на самом деле "
"представляет собой одну длинную строку с элементами, разделёнными "
"двоеточиями. Предыдущий пример можно переписать в виде одной менее читаемой "
"строки:"
@@ -1052,7 +1056,9 @@ msgstr ""
#: documentation/content/en/books/handbook/printing/_index.adoc:453
#, no-wrap
msgid "lp:lp=/dev/unlpt0:sh:mx#0:sd=/var/spool/lpd/lp:if=/usr/local/libexec/lf2crlf:lf=/var/log/lpd-errs:\n"
-msgstr "lp:lp=/dev/unlpt0:sh:mx#0:sd=/var/spool/lpd/lp:if=/usr/local/libexec/lf2crlf:lf=/var/log/lpd-errs:\n"
+msgstr ""
+"lp:lp=/dev/unlpt0:sh:mx#0:sd=/var/spool/lpd/lp:if=/usr/local/libexec/"
+"lf2crlf:lf=/var/log/lpd-errs:\n"
#. type: Title ====
#: documentation/content/en/books/handbook/printing/_index.adoc:458
@@ -1146,7 +1152,9 @@ msgstr ""
#: documentation/content/en/books/handbook/printing/_index.adoc:499
#, no-wrap
msgid "Fancy Plain Text on PostScript(R) Printers with package:print/enscript[]"
-msgstr "Красивое оформление текста на PostScript(R) принтерах с помощью package:print/enscript[]"
+msgstr ""
+"Красивое оформление текста на PostScript(R) принтерах с помощью package:"
+"print/enscript[]"
#. type: Plain text
#: documentation/content/en/books/handbook/printing/_index.adoc:504
@@ -1162,9 +1170,8 @@ msgstr ""
"отформатированный PostScript(R) для печати на принтерах PostScript(R). Он "
"добавляет номера страниц, переносит длинные строки и предоставляет множество "
"других функций, чтобы сделать печать текстовых файлов более удобочитаемой. В "
-"зависимости от местного размера бумаги установите один из пакетов: "
-"package:print/enscript-letter[] или package:print/enscript-a4[] из коллекции "
-"портов."
+"зависимости от местного размера бумаги установите один из пакетов: package:"
+"print/enscript-letter[] или package:print/enscript-a4[] из коллекции портов."
#. type: Plain text
#: documentation/content/en/books/handbook/printing/_index.adoc:506
@@ -1240,7 +1247,8 @@ msgid ""
"/usr/local/bin/gs -dSAFER -dNOPAUSE -dBATCH -q -sDEVICE=ljet4 -sOutputFile=- -\n"
msgstr ""
"#!/bin/sh\n"
-"/usr/local/bin/gs -dSAFER -dNOPAUSE -dBATCH -q -sDEVICE=ljet4 -sOutputFile=- -\n"
+"/usr/local/bin/gs -dSAFER -dNOPAUSE -dBATCH -q -sDEVICE=ljet4 -sOutputFile=- "
+"-\n"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/printing/_index.adoc:551
@@ -1284,7 +1292,8 @@ msgid ""
"% printf \"%%\\!PS \\n /Helvetica findfont 18 scalefont setfont \\\n"
"72 432 moveto (PostScript printing successful.) show showpage \\004\" | lpr\n"
msgstr ""
-"% printf \"%%\\!PS \\n /Helvetica findfont 18 scalefont setfont \\\n"
+"% printf \"%%\\!PS \\n"
+" /Helvetica findfont 18 scalefont setfont \\\n"
"72 432 moveto (PostScript printing successful.) show showpage \\004\" | lpr\n"
#. type: Title ====
@@ -1409,8 +1418,8 @@ msgstr ""
"В качестве примера рассмотрим сетевой PostScript(R) лазерный принтер в "
"офисе. Большинство пользователей хотят печатать простой текст, но несколько "
"продвинутых пользователей хотят иметь возможность печатать PostScript(R) "
-"файлы напрямую. Для одного и того же принтера можно создать две записи в "
-"[.filename]#/etc/printcap#:"
+"файлы напрямую. Для одного и того же принтера можно создать две записи в [."
+"filename]#/etc/printcap#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/printing/_index.adoc:639
@@ -1457,8 +1466,8 @@ msgid ""
"local/libexec/enscript# filter shown in an earlier example. Advanced users "
"can print PostScript(R) files on `psprinter`, where no filtering is done."
msgstr ""
-"Документы, отправленные на `textprinter`, будут отформатированы фильтром "
-"[.filename]#/usr/local/libexec/enscript#, показанным в предыдущем примере. "
+"Документы, отправленные на `textprinter`, будут отформатированы фильтром [."
+"filename]#/usr/local/libexec/enscript#, показанным в предыдущем примере. "
"Опытные пользователи могут печатать PostScript(R) файлы на `psprinter`, где "
"фильтрация не выполняется."
@@ -1930,8 +1939,8 @@ msgid ""
"both carriage returns and line feeds when a line feed is received."
msgstr ""
"Заголовочные страницы на непосредственно подключенных принтерах включаются "
-"путем удаления строки `:sh:\\` (Suppress Header) из записи в файле "
-"[.filename]#/etc/printcap#. Эти заголовочные страницы используют только "
+"путем удаления строки `:sh:\\` (Suppress Header) из записи в файле [."
+"filename]#/etc/printcap#. Эти заголовочные страницы используют только "
"символы перевода строки для новых строк. Некоторым принтерам может "
"потребоваться фильтр [.filename]#/usr/share/examples/printing/hpif#, чтобы "
"предотвратить ступенчатый текст. Фильтр настраивает принтеры `PCL` на печать "
@@ -1968,8 +1977,8 @@ msgid ""
"The _4.3BSD Line Printer Spooler Manual_, [.filename]#/usr/share/doc/smm/"
"07.lpd/paper.ascii.gz#."
msgstr ""
-"_Руководство по системе печати 4.3BSD_, [.filename]#/usr/share/doc/smm/"
-"07.lpd/paper.ascii.gz#."
+"_Руководство по системе печати 4.3BSD_, [.filename]#/usr/share/doc/smm/07."
+"lpd/paper.ascii.gz#."
#. type: Plain text
#: documentation/content/en/books/handbook/printing/_index.adoc:871
@@ -1993,9 +2002,9 @@ msgid ""
"man:lpd[8]. These systems offer support for other protocols or additional "
"features."
msgstr ""
-"Несколько других систем печати доступны в дополнение к встроенной "
-"man:lpd[8]. Эти системы обеспечивают поддержку других протоколов или "
-"дополнительные возможности."
+"Несколько других систем печати доступны в дополнение к встроенной man:lpd[8]"
+". Эти системы обеспечивают поддержку других протоколов или дополнительные "
+"возможности."
#. type: Title ===
#: documentation/content/en/books/handbook/printing/_index.adoc:879
@@ -2011,8 +2020,8 @@ msgid ""
"[CUPS]"
msgstr ""
"CUPS — это популярная система печати, доступная во многих операционных "
-"системах. Использование CUPS в FreeBSD описано в отдельной статье: extref:"
-"{cups}[CUPS]"
+"системах. Использование CUPS в FreeBSD описано в отдельной статье: "
+"extref:{cups}[CUPS]"
#. type: Title ===
#: documentation/content/en/books/handbook/printing/_index.adoc:885
@@ -2034,8 +2043,8 @@ msgstr ""
"их струйные и лазерные принтеры. Порт находится в package:print/hplip[]. "
"Основная веб-страница расположена по адресу https://developers.hp.com/hp-"
"linux-imaging-and-printing[]. Порт обрабатывает все детали установки в "
-"FreeBSD. Информация по настройке доступна на странице https://"
-"developers.hp.com/hp-linux-imaging-and-printing/install[]."
+"FreeBSD. Информация по настройке доступна на странице https://developers.hp."
+"com/hp-linux-imaging-and-printing/install[]."
#. type: Title ===
#: documentation/content/en/books/handbook/printing/_index.adoc:894
diff --git a/documentation/content/ru/books/handbook/security/_index.adoc b/documentation/content/ru/books/handbook/security/_index.adoc
index a5ff6753f2..c2faf73ac1 100644
--- a/documentation/content/ru/books/handbook/security/_index.adoc
+++ b/documentation/content/ru/books/handbook/security/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/security/
part: 'Часть III. Администрирование системы'
prev: books/handbook/boot
-showBookMenu: true
+showBookMenu: 'true'
tags: ["security", "TCP Wrappers", "Kerberos", "OpenSSL", "OpenSSH", "ACL", "NFSv4 ACLs", "advisories", "sudo", "doas", "capsicum", "monitoring"]
title: 'Глава 16. Безопасность'
weight: 20
@@ -505,19 +505,26 @@ securelevel — это механизм безопасности, реализо
Определения безопасности следующие:
-1::
-*Permanently insecure mode* - always run the system in insecure mode. This is the default initial value.
+*Постоянный небезопасный режим* — всегда запускать систему в небезопасном режиме.
+Это значение по умолчанию при начальной настройке.
0::
-*Insecure mode* - immutable and append-only flags may be turned off. All devices may be read or written subject to their permissions.
+*Небезопасный режим* - флаги `immutable` и `append-only` могут быть отключены.
+Доступ на чтение и запись всех устройств разрешён в соответствии с их правами доступа.
1::
-*Secure mode* - the system immutable and system append-only flags may not be turned off; disks for mounted file systems, [.filename]#/dev/mem# and [.filename]#/dev/kmem# may not be opened for writing; [.filename]#/dev/io# (if your platform has it) may not be opened at all; kernel modules (see man:kld[4]) may not be loaded or unloaded. The kernel debugger may not be entered using the debug.kdb.enter sysctl. A panic or trap cannot be forced using the debug.kdb.panic, debug.kdb.panic_str and other sysctl's.
+*Безопасный режим* - флаги «только для чтения» (system immutable) и «только для дополнения» (system append-only) не могут быть отключены;
+диски с смонтированными файловыми системами, [.filename]#/dev/mem# и [.filename]#/dev/kmem# не могут быть открыты для записи;
+[.filename]#/dev/io# (если он есть на вашей платформе) не может быть открыт вообще; загрузка и выгрузка модулей ядра (см. man:kld[4]) запрещены.
+Нельзя перейти в отладчик ядра с помощью sysctl debug.kdb.enter.
+Нельзя вызвать панику или прерывание через sysctl debug.kdb.panic, debug.kdb.panic_str и другие.
2::
-*Highly secure mode* - same as secure mode, plus disks may not be opened for writing (except by man:mount[2]) whether mounted or not. This level precludes tampering with file systems by unmounting them, but also inhibits running man:newfs[8] while the system is multiuser.
+*Высокозащищённый режим* — аналогичен защищённому режиму, но дополнительно запрещает открывать диски на запись (за исключением man:mount[2]), независимо от того, смонтированы они или нет.
+Этот уровень предотвращает изменение файловых систем путём их размонтирования, но также запрещает запуск man:newfs[8] в многопользовательском режиме.
3::
-*Network secure mode* - same as highly secure mode, plus IP packet filter rules (see man:ipfw[8], man:ipfirewall[4] and man:pfctl[8]) cannot be changed and man:dummynet[4] or man:pf[4] configuration cannot be adjusted.
+*Режим сетевой безопасности* - аналогично режиму высокой безопасности, плюс правила фильтрации IP-пакетов (см. man:ipfw[8], man:ipfirewall[4] и man:pfctl[8]) не могут быть изменены, а конфигурация man:dummynet[4] или man:pf[4] не может быть скорректирована.
[TIP]
====
diff --git a/documentation/content/ru/books/handbook/security/_index.po b/documentation/content/ru/books/handbook/security/_index.po
index f84c8639c1..3c024916b8 100644
--- a/documentation/content/ru/books/handbook/security/_index.po
+++ b/documentation/content/ru/books/handbook/security/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-09-26 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,19 +18,22 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/security/_index.adoc:1
#, no-wrap
msgid "Hundreds of standard practices have been authored about how to secure systems and networks, and as a user of FreeBSD, understanding how to protect against attacks and intruders is a must"
-msgstr "Описаны сотни стандартных практик о том, как защитить системы и сети, и для пользователя FreeBSD понимание того, как защититься от атак и злоумышленников, является обязательным"
+msgstr ""
+"Описаны сотни стандартных практик о том, как защитить системы и сети, и для "
+"пользователя FreeBSD понимание того, как защититься от атак и "
+"злоумышленников, является обязательным"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/security/_index.adoc:1
#, no-wrap
msgid "Part III. System Administration"
msgstr "Часть III. Администрирование системы"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/security/_index.adoc:1
#, no-wrap
msgid "Chapter 16. Security"
@@ -152,9 +155,9 @@ msgid ""
"Access Control] and articles like extref:{vpn-ipsec}[VPN over IPsec]."
msgstr ""
"Некоторые темы из-за их сложности рассматриваются в отдельных главах, таких "
-"как crossref:firewalls[firewalls,Межсетевые экраны], "
-"crossref:mac[mac,Принудительное управление доступом], и статьях, например "
-"extref:{vpn-ipsec}[VPN через IPsec]."
+"как crossref:firewalls[firewalls,Межсетевые экраны], crossref:mac["
+"mac,Принудительное управление доступом], и статьях, например extref:{vpn-"
+"ipsec}[VPN через IPsec]."
#. type: Title ==
#: documentation/content/en/books/handbook/security/_index.adoc:78
@@ -467,7 +470,9 @@ msgstr "Вывод должен быть похож на следующий:"
#: documentation/content/en/books/handbook/security/_index.adoc:176
#, no-wrap
msgid "imani:$6$pzIjSvCAn.PBYQBA$PXpSeWPx3g5kscj3IMiM7tUEUSPmGexxta.8Lt9TGSi2lNQqYGKszsBPuGME0:1001:1001::0:0:imani:/usr/home/imani:/bin/sh\n"
-msgstr "imani:$6$pzIjSvCAn.PBYQBA$PXpSeWPx3g5kscj3IMiM7tUEUSPmGexxta.8Lt9TGSi2lNQqYGKszsBPuGME0:1001:1001::0:0:imani:/usr/home/imani:/bin/sh\n"
+msgstr ""
+"imani:$6$pzIjSvCAn.PBYQBA$PXpSeWPx3g5kscj3IMiM7tUEUSPmGexxta."
+"8Lt9TGSi2lNQqYGKszsBPuGME0:1001:1001::0:0:imani:/usr/home/imani:/bin/sh\n"
#. type: Plain text
#: documentation/content/en/books/handbook/security/_index.adoc:179
@@ -515,8 +520,8 @@ msgstr ":passwd_format=blf:\\\n"
msgid ""
"Then, man:cap_mkdb[1] must be executed to upgrade the login.conf database:"
msgstr ""
-"Затем необходимо выполнить man:cap_mkdb[1] для обновления базы данных "
-"login.conf:"
+"Затем необходимо выполнить man:cap_mkdb[1] для обновления базы данных login."
+"conf:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/security/_index.adoc:206
@@ -586,7 +591,9 @@ msgstr "Затем отредактируйте эту строку в соот
#: documentation/content/en/books/handbook/security/_index.adoc:227
#, no-wrap
msgid "password requisite pam_passwdqc.so min=disabled,disabled,disabled,12,10 similar=deny retry=3 enforce=users\n"
-msgstr "password requisite pam_passwdqc.so min=disabled,disabled,disabled,12,10 similar=deny retry=3 enforce=users\n"
+msgstr ""
+"password requisite pam_passwdqc.so "
+"min=disabled,disabled,disabled,12,10 similar=deny retry=3 enforce=users\n"
#. type: Plain text
#: documentation/content/en/books/handbook/security/_index.adoc:230
@@ -662,8 +669,8 @@ msgid ""
"the `passwordtime` in the user's login class in [.filename]#/etc/login.conf#"
msgstr ""
"Если политика вашей организации требует, чтобы пароли имели срок действия, "
-"FreeBSD поддерживает параметр `passwordtime` в классе пользователя в "
-"[.filename]#/etc/login.conf#"
+"FreeBSD поддерживает параметр `passwordtime` в классе пользователя в [."
+"filename]#/etc/login.conf#"
#. type: Plain text
#: documentation/content/en/books/handbook/security/_index.adoc:262
@@ -823,8 +830,8 @@ msgstr ""
"позволяют проводить детальную настройку. В следующем примере администратору "
"веб-приложения, user1, требуется запускать, останавливать и перезапускать "
"веб-приложение с именем _webservice_. Чтобы предоставить этому пользователю "
-"права на выполнение данных задач, добавьте следующую строку в конец файла "
-"[.filename]#/usr/local/etc/sudoers#:"
+"права на выполнение данных задач, добавьте следующую строку в конец файла [."
+"filename]#/usr/local/etc/sudoers#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/security/_index.adoc:325
@@ -1027,8 +1034,7 @@ msgstr "$ doas vi /etc/rc.conf\n"
#. type: Plain text
#: documentation/content/en/books/handbook/security/_index.adoc:412
msgid "For more configuration examples, please read man:doas.conf[5]."
-msgstr ""
-"Для дополнительных примеров конфигурации обратитесь к man:doas.conf[5]."
+msgstr "Для дополнительных примеров конфигурации обратитесь к man:doas.conf[5]."
#. type: Title ==
#: documentation/content/en/books/handbook/security/_index.adoc:414
@@ -1111,9 +1117,9 @@ msgid ""
msgstr ""
"Рекомендуется создавать спецификации для каталогов, содержащих исполняемые "
"файлы и конфигурационные файлы, а также для любых каталогов с "
-"чувствительными данными. Обычно спецификации создаются для [.filename]#/"
-"bin#, [.filename]#/sbin#, [.filename]#/usr/bin#, [.filename]#/usr/sbin#, "
-"[.filename]#/usr/local/bin#, [.filename]#/etc# и [.filename]#/usr/local/etc#."
+"чувствительными данными. Обычно спецификации создаются для [.filename]#/bin#"
+", [.filename]#/sbin#, [.filename]#/usr/bin#, [.filename]#/usr/sbin#, [."
+"filename]#/usr/local/bin#, [.filename]#/etc# и [.filename]#/usr/local/etc#."
#. type: Plain text
#: documentation/content/en/books/handbook/security/_index.adoc:440
@@ -1124,14 +1130,16 @@ msgid ""
msgstr ""
"Следующий пример создает набор хешей `sha512` — по одному для каждого "
"системного бинарного файла в [.filename]#/bin# — и сохраняет эти значения в "
-"скрытый файл в домашней директории пользователя [.filename]#/home/"
-"user/.bin_chksum_mtree#:"
+"скрытый файл в домашней директории пользователя [.filename]#/home/user/."
+"bin_chksum_mtree#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/security/_index.adoc:444
#, no-wrap
msgid "# mtree -s 123456789 -c -K cksum,sha512 -p /bin > /home/user/.bin_chksum_mtree\n"
-msgstr "# mtree -s 123456789 -c -K cksum,sha512 -p /bin > /home/user/.bin_chksum_mtree\n"
+msgstr ""
+"# mtree -s 123456789 -c -K cksum,sha512 -p /bin > /home/user/."
+"bin_chksum_mtree\n"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/security/_index.adoc:451
@@ -1230,15 +1238,21 @@ msgstr ""
". type=dir mode=0755 nlink=2 time=1681388848.239523000 <.>\n"
" \\133 nlink=2 size=12520 time=1685991378.688509000 \\\n"
" cksum=520880818 \\\n"
-" sha512=5c1374ce0e2ba1b3bc5a41b23f4bbdc1ec89ae82fa01237f376a5eeef41822e68f1d8f75ec46b7bceb65396c122a9d837d692740fdebdcc376a05275adbd3471\n"
-" cat size=14600 time=1685991378.694601000 cksum=3672531848 \\ <.>\n"
-" sha512=b30b96d155fdc4795432b523989a6581d71cdf69ba5f0ccb45d9b9e354b55a665899b16aee21982fffe20c4680d11da4e3ed9611232a775c69f926e5385d53a2\n"
+" sha512=5c1374ce0e2ba1b3bc5a41b23f4bbdc1ec89ae82fa01237f376a5e"
+"eef41822e68f1d8f75ec46b7bceb65396c122a9d837d692740fdebdcc376a05275adbd3471\n"
+" cat size=14600 time=1685991378.694601000 cksum=3672531848 \\ <.>"
+"\n"
+" sha512=b30b96d155fdc4795432b523989a6581d71cdf69ba5f0ccb45d9b9"
+"e354b55a665899b16aee21982fffe20c4680d11da4e3ed9611232a775c69f926e5385d53a2\n"
" chflags size=8920 time=1685991378.700385000 cksum=1629328991 \\\n"
-" sha512=289a088cbbcbeb436dd9c1f74521a89b66643976abda696b99b9cc1fbfe8b76107c5b54d4a6a9b65332386ada73fc1bbb10e43c4e3065fa2161e7be269eaf86a\n"
+" sha512=289a088cbbcbeb436dd9c1f74521a89b66643976abda696b99b9cc"
+"1fbfe8b76107c5b54d4a6a9b65332386ada73fc1bbb10e43c4e3065fa2161e7be269eaf86a\n"
" chio size=20720 time=1685991378.706095000 cksum=1948751604 \\\n"
-" sha512=46f58277ff16c3495ea51e74129c73617f31351e250315c2b878a88708c2b8a7bb060e2dc8ff92f606450dbc7dd2816da4853e465ec61ee411723e8bf52709ee\n"
+" sha512=46f58277ff16c3495ea51e74129c73617f31351e250315c2b878a8"
+"8708c2b8a7bb060e2dc8ff92f606450dbc7dd2816da4853e465ec61ee411723e8bf52709ee\n"
" chmod size=9616 time=1685991378.712546000 cksum=4244658911 \\\n"
-" sha512=1769313ce08cba84ecdc2b9c07ef86d2b70a4206420dd71343867be7ab59659956f6f5a458c64e2531a1c736277a8e419c633a31a8d3c7ccc43e99dd4d71d630\n"
+" sha512=1769313ce08cba84ecdc2b9c07ef86d2b70a4206420dd71343867b"
+"e7ab59659956f6f5a458c64e2531a1c736277a8e419c633a31a8d3c7ccc43e99dd4d71d630\n"
#. type: Plain text
#: documentation/content/en/books/handbook/security/_index.adoc:495
@@ -1318,7 +1332,9 @@ msgstr ""
#: documentation/content/en/books/handbook/security/_index.adoc:529
#, no-wrap
msgid "# mtree -s 123456789 -p /bin < /home/user/.bin_chksum_mtree >> /home/user/.bin_chksum_output\n"
-msgstr "# mtree -s 123456789 -p /bin < /home/user/.bin_chksum_mtree >> /home/user/.bin_chksum_output\n"
+msgstr ""
+"# mtree -s 123456789 -p /bin < /home/user/.bin_chksum_mtree >> /home/user/."
+"bin_chksum_output\n"
#. type: Plain text
#: documentation/content/en/books/handbook/security/_index.adoc:516
@@ -1368,7 +1384,9 @@ msgstr "# cat /root/.bin_chksum_output\n"
#: documentation/content/en/books/handbook/security/_index.adoc:543
#, no-wrap
msgid "cat: modification time (Fri Aug 25 13:30:17 2023, Fri Aug 25 13:34:20 2023)\n"
-msgstr "cat: modification time (Fri Aug 25 13:30:17 2023, Fri Aug 25 13:34:20 2023)\n"
+msgstr ""
+"cat: modification time (Fri Aug 25 13:30:17 2023, Fri Aug 25 13:34:20 "
+"2023)\n"
#. type: delimited block = 4
#: documentation/content/en/books/handbook/security/_index.adoc:549
@@ -1454,13 +1472,10 @@ msgstr "-1"
#. type: Plain text
#: documentation/content/en/books/handbook/security/_index.adoc:575
-#, fuzzy
-#| msgid ""
-#| "*Permanently insecure mode* - always run the system in insecure mode.\n"
-#| "This is the default initial value.\n"
+#, no-wrap
msgid ""
-"*Permanently insecure mode* - always run the system in insecure mode. This "
-"is the default initial value."
+"*Permanently insecure mode* - always run the system in insecure mode.\n"
+"This is the default initial value.\n"
msgstr ""
"*Постоянный небезопасный режим* — всегда запускать систему в небезопасном "
"режиме.\n"
@@ -1474,13 +1489,10 @@ msgstr "0"
#. type: Plain text
#: documentation/content/en/books/handbook/security/_index.adoc:579
-#, fuzzy
-#| msgid ""
-#| "*Insecure mode* - immutable and append-only flags may be turned off.\n"
-#| "All devices may be read or written subject to their permissions.\n"
+#, no-wrap
msgid ""
-"*Insecure mode* - immutable and append-only flags may be turned off. All "
-"devices may be read or written subject to their permissions."
+"*Insecure mode* - immutable and append-only flags may be turned off.\n"
+"All devices may be read or written subject to their permissions.\n"
msgstr ""
"*Небезопасный режим* - флаги `immutable` и `append-only` могут быть "
"отключены.\n"
@@ -1495,30 +1507,18 @@ msgstr "1"
#. type: Plain text
#: documentation/content/en/books/handbook/security/_index.adoc:586
-#, fuzzy
-#| msgid ""
-#| "*Secure mode* - the system immutable and system append-only flags may not "
-#| "be turned off;\n"
-#| "disks for mounted file systems, [.filename]#/dev/mem# and [.filename]#/"
-#| "dev/kmem# may not be opened for writing;\n"
-#| "[.filename]#/dev/io# (if your platform has it) may not be opened at all; "
-#| "kernel modules (see man:kld[4]) may not be loaded or unloaded.\n"
-#| "The kernel debugger may not be entered using the debug.kdb.enter sysctl.\n"
-#| "A panic or trap cannot be forced using the debug.kdb.panic, "
-#| "debug.kdb.panic_str and other sysctl's.\n"
-msgid ""
-"*Secure mode* - the system immutable and system append-only flags may not be "
-"turned off; disks for mounted file systems, [.filename]#/dev/mem# and "
-"[.filename]#/dev/kmem# may not be opened for writing; [.filename]#/dev/io# "
-"(if your platform has it) may not be opened at all; kernel modules (see "
-"man:kld[4]) may not be loaded or unloaded. The kernel debugger may not be "
-"entered using the debug.kdb.enter sysctl. A panic or trap cannot be forced "
-"using the debug.kdb.panic, debug.kdb.panic_str and other sysctl's."
+#, no-wrap
+msgid ""
+"*Secure mode* - the system immutable and system append-only flags may not be turned off;\n"
+"disks for mounted file systems, [.filename]#/dev/mem# and [.filename]#/dev/kmem# may not be opened for writing;\n"
+"[.filename]#/dev/io# (if your platform has it) may not be opened at all; kernel modules (see man:kld[4]) may not be loaded or unloaded.\n"
+"The kernel debugger may not be entered using the debug.kdb.enter sysctl.\n"
+"A panic or trap cannot be forced using the debug.kdb.panic, debug.kdb.panic_str and other sysctl's.\n"
msgstr ""
"*Безопасный режим* - флаги «только для чтения» (system immutable) и «только "
"для дополнения» (system append-only) не могут быть отключены;\n"
-"диски с смонтированными файловыми системами, [.filename]#/dev/mem# и "
-"[.filename]#/dev/kmem# не могут быть открыты для записи;\n"
+"диски с смонтированными файловыми системами, [.filename]#/dev/mem# и [."
+"filename]#/dev/kmem# не могут быть открыты для записи;\n"
"[.filename]#/dev/io# (если он есть на вашей платформе) не может быть открыт "
"вообще; загрузка и выгрузка модулей ядра (см. man:kld[4]) запрещены.\n"
"Нельзя перейти в отладчик ядра с помощью sysctl debug.kdb.enter.\n"
@@ -1533,17 +1533,10 @@ msgstr "2"
#. type: Plain text
#: documentation/content/en/books/handbook/security/_index.adoc:590
-#, fuzzy
-#| msgid ""
-#| "*Highly secure mode* - same as secure mode, plus disks may not be opened "
-#| "for writing (except by man:mount[2]) whether mounted or not.\n"
-#| "This level precludes tampering with file systems by unmounting them, but "
-#| "also inhibits running man:newfs[8] while the system is multiuser.\n"
-msgid ""
-"*Highly secure mode* - same as secure mode, plus disks may not be opened for "
-"writing (except by man:mount[2]) whether mounted or not. This level "
-"precludes tampering with file systems by unmounting them, but also inhibits "
-"running man:newfs[8] while the system is multiuser."
+#, no-wrap
+msgid ""
+"*Highly secure mode* - same as secure mode, plus disks may not be opened for writing (except by man:mount[2]) whether mounted or not.\n"
+"This level precludes tampering with file systems by unmounting them, but also inhibits running man:newfs[8] while the system is multiuser.\n"
msgstr ""
"*Высокозащищённый режим* — аналогичен защищённому режиму, но дополнительно "
"запрещает открывать диски на запись (за исключением man:mount[2]), "
@@ -1560,16 +1553,8 @@ msgstr "3"
#. type: Plain text
#: documentation/content/en/books/handbook/security/_index.adoc:593
-#, fuzzy
-#| msgid ""
-#| "*Network secure mode* - same as highly secure mode, plus IP packet filter "
-#| "rules (see man:ipfw[8], man:ipfirewall[4] and man:pfctl[8]) cannot be "
-#| "changed and man:dummynet[4] or man:pf[4] configuration cannot be "
-#| "adjusted.\n"
-msgid ""
-"*Network secure mode* - same as highly secure mode, plus IP packet filter "
-"rules (see man:ipfw[8], man:ipfirewall[4] and man:pfctl[8]) cannot be "
-"changed and man:dummynet[4] or man:pf[4] configuration cannot be adjusted."
+#, no-wrap
+msgid "*Network secure mode* - same as highly secure mode, plus IP packet filter rules (see man:ipfw[8], man:ipfirewall[4] and man:pfctl[8]) cannot be changed and man:dummynet[4] or man:pf[4] configuration cannot be adjusted.\n"
msgstr ""
"*Режим сетевой безопасности* - аналогично режиму высокой безопасности, плюс "
"правила фильтрации IP-пакетов (см. man:ipfw[8], man:ipfirewall[4] и "
@@ -1585,8 +1570,8 @@ msgid ""
"restrictions, while `Insecure Mode` relaxes some restrictions but still "
"maintains a level of control and security."
msgstr ""
-"Вкратце, ключевое различие между `Режимом постоянной незащищённости` и "
-"`Незащищённым режимом` в уровнях безопасности FreeBSD заключается в степени "
+"Вкратце, ключевое различие между `Режимом постоянной незащищённости` и `"
+"Незащищённым режимом` в уровнях безопасности FreeBSD заключается в степени "
"предоставляемой защиты. `Режим постоянной незащищённости` полностью снимает "
"все ограничения безопасности, тогда как `Незащищённый режим` ослабляет "
"некоторые ограничения, но сохраняет определённый уровень контроля и защиты."
@@ -1903,12 +1888,11 @@ msgid ""
msgstr ""
"SSH использует систему отпечатков ключей для проверки подлинности сервера "
"при подключении клиента. Когда пользователь принимает отпечаток ключа, введя "
-"`yes` при первом подключении, копия ключа сохраняется в файле "
-"[.filename]#~/.ssh/known_hosts# в домашнем каталоге пользователя. "
-"Последующие попытки входа проверяются по сохранённому ключу, и man:ssh[1] "
-"выведет предупреждение, если ключ сервера не совпадает с сохранённым. В "
-"таком случае пользователю следует сначала проверить, почему изменился ключ, "
-"прежде чем продолжать подключение."
+"`yes` при первом подключении, копия ключа сохраняется в файле [.filename]#~/."
+"ssh/known_hosts# в домашнем каталоге пользователя. Последующие попытки входа "
+"проверяются по сохранённому ключу, и man:ssh[1] выведет предупреждение, если "
+"ключ сервера не совпадает с сохранённым. В таком случае пользователю следует "
+"сначала проверить, почему изменился ключ, прежде чем продолжать подключение."
#. type: delimited block = 4
#: documentation/content/en/books/handbook/security/_index.adoc:720
@@ -2081,10 +2065,10 @@ msgid ""
"copied to [.filename]#~/.ssh/authorized_keys# on the remote machine for key-"
"based authentication to work."
msgstr ""
-"Закрытый ключ хранится в [.filename]#~/.ssh/id_rsa#, а открытый ключ — в "
-"[.filename]#~/.ssh/id_rsa.pub#. _Открытый_ ключ должен быть скопирован в "
-"файл [.filename]#~/.ssh/authorized_keys# на удалённой машине, чтобы "
-"аутентификация по ключу работала."
+"Закрытый ключ хранится в [.filename]#~/.ssh/id_rsa#, а открытый ключ — в [."
+"filename]#~/.ssh/id_rsa.pub#. _Открытый_ ключ должен быть скопирован в файл ["
+".filename]#~/.ssh/authorized_keys# на удалённой машине, чтобы аутентификация "
+"по ключу работала."
#. type: delimited block = 4
#: documentation/content/en/books/handbook/security/_index.adoc:798
@@ -2188,8 +2172,8 @@ msgid ""
"be configured as an SSH server, accepting connections from other SSH clients."
msgstr ""
"В дополнение к встроенным клиентским утилитам SSH, система FreeBSD может "
-"быть настроена как SSH-сервер, принимающий подключения от других SSH-"
-"клиентов."
+"быть настроена как SSH-сервер, принимающий подключения от других "
+"SSH-клиентов."
#. type: delimited block = 4
#: documentation/content/en/books/handbook/security/_index.adoc:834
@@ -2318,8 +2302,8 @@ msgid ""
"Authentication]."
msgstr ""
"После завершения настройки пользователям необходимо отправить системному "
-"администратору свой *открытый ключ*, и эти ключи будут добавлены в "
-"[.filename]#.ssh/authorized_keys#. Процесс генерации ключей описан в "
+"администратору свой *открытый ключ*, и эти ключи будут добавлены в [."
+"filename]#.ssh/authorized_keys#. Процесс генерации ключей описан в "
"crossref:security[security-ssh-keygen,Аутентификация на основе ключей]."
#. type: Plain text
@@ -2371,8 +2355,8 @@ msgid ""
"done in [.filename]#/etc/ssh/sshd_config#"
msgstr ""
"В этом разделе описаны дополнительные параметры, которые помогают "
-"предотвратить успех подобных атак. Все настройки выполняются в файле "
-"[.filename]#/etc/ssh/sshd_config#"
+"предотвратить успех подобных атак. Все настройки выполняются в файле [."
+"filename]#/etc/ssh/sshd_config#"
#. type: delimited block = 4
#: documentation/content/en/books/handbook/security/_index.adoc:899
@@ -2592,8 +2576,8 @@ msgid ""
"OpenSSL supports the generation of certificates both to be validated by a "
"link:https://en.wikipedia.org/wiki/Certificate_authority[CA] and for own use."
msgstr ""
-"OpenSSL поддерживает создание сертификатов как для проверки link:https://"
-"en.wikipedia.org/wiki/Certificate_authority[ЦС], так и для собственного "
+"OpenSSL поддерживает создание сертификатов как для проверки link:https://en."
+"wikipedia.org/wiki/Certificate_authority[ЦС], так и для собственного "
"использования."
#. type: Plain text
@@ -2630,7 +2614,9 @@ msgstr "Выполните следующую команду для создан
#: documentation/content/en/books/handbook/security/_index.adoc:991
#, no-wrap
msgid "# openssl req -new -nodes -out req.pem -keyout cert.key -sha3-512 -newkey rsa:4096\n"
-msgstr "# openssl req -new -nodes -out req.pem -keyout cert.key -sha3-512 -newkey rsa:4096\n"
+msgstr ""
+"# openssl req -new -nodes -out req.pem -keyout cert.key -sha3-512 -newkey "
+"rsa:4096\n"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/security/_index.adoc:1016
@@ -2657,7 +2643,8 @@ msgid ""
"Email Address []:user@FreeBSD.org\n"
msgstr ""
"Generating a RSA private key\n"
-"..................................................................................................................................+++++\n"
+"............................................................................."
+".....................................................+++++\n"
"......................................+++++\n"
"writing new private key to 'cert.key'\n"
"-----\n"
@@ -2714,7 +2701,9 @@ msgstr ""
#: documentation/content/en/books/handbook/security/_index.adoc:1033
#, no-wrap
msgid "# openssl req -new -x509 -days 365 -sha3-512 -keyout /etc/ssl/private/cert.key -out /etc/ssl/certs/cert.crt\n"
-msgstr "# openssl req -new -x509 -days 365 -sha3-512 -keyout /etc/ssl/private/cert.key -out /etc/ssl/certs/cert.crt\n"
+msgstr ""
+"# openssl req -new -x509 -days 365 -sha3-512 -keyout /etc/ssl/private/"
+"cert.key -out /etc/ssl/certs/cert.crt\n"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/security/_index.adoc:1060
@@ -2839,10 +2828,14 @@ msgid ""
msgstr ""
"aes-128-cbc: unable to load provider fips\n"
"Hint: use -provider-path option or OPENSSL_MODULES environment variable.\n"
-"00206124D94D0000:error:1C8000D5:Provider routines:SELF_TEST_post:missing config data:crypto/openssl/providers/fips/self_test.c:275:\n"
-"00206124D94D0000:error:1C8000E0:Provider routines:ossl_set_error_state:fips module entering error state:crypto/openssl/providers/fips/self_test.c:373:\n"
-"00206124D94D0000:error:1C8000D8:Provider routines:OSSL_provider_init_int:self test post failure:crypto/openssl/providers/fips/fipsprov.c:707:\n"
-"00206124D94D0000:error:078C0105:common libcrypto routines:provider_init:init fail:crypto/openssl/crypto/provider_core.c:932:name=fips\n"
+"00206124D94D0000:error:1C8000D5:Provider routines:SELF_TEST_post:missing "
+"config data:crypto/openssl/providers/fips/self_test.c:275:\n"
+"00206124D94D0000:error:1C8000E0:Provider routines:ossl_set_error_state:fips "
+"module entering error state:crypto/openssl/providers/fips/self_test.c:373:\n"
+"00206124D94D0000:error:1C8000D8:Provider routines:OSSL_provider_init_int:"
+"self test post failure:crypto/openssl/providers/fips/fipsprov.c:707:\n"
+"00206124D94D0000:error:078C0105:common libcrypto routines:provider_init:init "
+"fail:crypto/openssl/crypto/provider_core.c:932:name=fips\n"
#. type: Plain text
#: documentation/content/en/books/handbook/security/_index.adoc:1094
@@ -2863,7 +2856,9 @@ msgstr ""
#: documentation/content/en/books/handbook/security/_index.adoc:1098
#, no-wrap
msgid "# openssl fipsinstall -module /usr/lib/ossl-modules/fips.so -out /etc/ssl/fipsmodule.cnf\n"
-msgstr "# openssl fipsinstall -module /usr/lib/ossl-modules/fips.so -out /etc/ssl/fipsmodule.cnf\n"
+msgstr ""
+"# openssl fipsinstall -module /usr/lib/ossl-modules/fips.so -out /etc/ssl/"
+"fipsmodule.cnf\n"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/security/_index.adoc:1105
@@ -2908,7 +2903,8 @@ msgstr ""
"[...]\n"
"# For FIPS\n"
"# Optionally include a file that is generated by the OpenSSL fipsinstall\n"
-"# application. This file contains configuration data required by the OpenSSL\n"
+"# application. This file contains configuration data required by the "
+"OpenSSL\n"
"# fips provider. It contains a named section e.g. [fips_sect] which is\n"
"# referenced from the [provider_sect] below.\n"
"# Refer to the OpenSSL security policy for more information.\n"
@@ -2953,12 +2949,15 @@ msgid ""
"[default_sect]\n"
"activate = 1\n"
msgstr ""
-"# If no providers are activated explicitly, the default one is activated implicitly.\n"
+"# If no providers are activated explicitly, the default one is activated "
+"implicitly.\n"
"# See man 7 OSSL_PROVIDER-default for more details.\n"
"#\n"
-"# If you add a section explicitly activating any other provider(s), you most\n"
+"# If you add a section explicitly activating any other provider(s), you "
+"most\n"
"# probably need to explicitly activate the default provider, otherwise it\n"
-"# becomes unavailable in openssl. As a consequence applications depending on\n"
+"# becomes unavailable in openssl. As a consequence applications depending "
+"on\n"
"# OpenSSL may not work correctly which could lead to significant system\n"
"# problems including inability to remotely access the system.\n"
"[default_sect]\n"
@@ -3090,8 +3089,7 @@ msgstr ""
msgid ""
"For purposes of demonstrating a Kerberos installation, the name spaces will "
"be as follows:"
-msgstr ""
-"Для демонстрации установки Kerberos пространства имен будут следующими:"
+msgstr "Для демонстрации установки Kerberos пространства имен будут следующими:"
#. type: Plain text
#: documentation/content/en/books/handbook/security/_index.adoc:1191
@@ -3131,8 +3129,8 @@ msgid ""
"Direct access to the KDC should be limited."
msgstr ""
"Центр распределения ключей (Key Distribution Center — KDC) — это "
-"централизованная служба аутентификации, предоставляемая Kerberos, "
-"«доверенная третья сторона» системы. Это компьютер, который выдает билеты "
+"централизованная служба аутентификации, предоставляемая Kerberos, «"
+"доверенная третья сторона» системы. Это компьютер, который выдает билеты "
"Kerberos, используемые клиентами для аутентификации на серверах. Поскольку "
"KDC считается доверенным для всех остальных компьютеров в области Kerberos, "
"к нему предъявляются повышенные требования безопасности. Прямой доступ к KDC "
@@ -3213,8 +3211,8 @@ msgid ""
"`kerberos.example.org`. The hostname of the KDC must be resolvable in the "
"DNS."
msgstr ""
-"В этом примере KDC будет использовать полное доменное имя "
-"`kerberos.example.org`. Имя хоста KDC должно разрешаться в DNS."
+"В этом примере KDC будет использовать полное доменное имя `kerberos.example."
+"org`. Имя хоста KDC должно разрешаться в DNS."
#. type: Plain text
#: documentation/content/en/books/handbook/security/_index.adoc:1243
@@ -3271,8 +3269,8 @@ msgid ""
"server."
msgstr ""
"Чтобы клиенты могли найти службы Kerberos, они _должны_ иметь либо полностью "
-"настроенный файл [.filename]#/etc/krb5.conf#, либо минимально настроенный "
-"[.filename]#/etc/krb5.conf# _и_ правильно настроенный DNS-сервер."
+"настроенный файл [.filename]#/etc/krb5.conf#, либо минимально настроенный [."
+"filename]#/etc/krb5.conf# _и_ правильно настроенный DNS-сервер."
#. type: Plain text
#: documentation/content/en/books/handbook/security/_index.adoc:1272
@@ -3469,9 +3467,9 @@ msgid ""
"regenerated on the new system."
msgstr ""
"Первым шагом в настройке сервера для использования аутентификации Kerberos "
-"является проверка правильности конфигурации в файле [.filename]#/etc/"
-"krb5.conf#. Версию с KDC можно использовать как есть или пересоздать на "
-"новой системе."
+"является проверка правильности конфигурации в файле [.filename]#/etc/krb5."
+"conf#. Версию с KDC можно использовать как есть или пересоздать на новой "
+"системе."
#. type: Plain text
#: documentation/content/en/books/handbook/security/_index.adoc:1380
@@ -3498,12 +3496,12 @@ msgstr ""
"ключ, хранящийся в \"keytab\". Keytab содержит хост-ключ сервера, который "
"позволяет ему и KDC проверять подлинность друг друга. Этот файл должен быть "
"передан на сервер безопасным способом, так как если ключ станет "
-"общедоступным, безопасность сервера может быть нарушена. Обычно "
-"[.filename]#keytab# генерируется на доверенной машине администратора с "
-"помощью `kadmin`, а затем безопасно передается на сервер, например, с "
-"помощью man:scp[1]; его также можно создать непосредственно на сервере, если "
-"это соответствует выбранной политике безопасности. Очень важно, чтобы keytab "
-"был передан на сервер безопасным способом: если ключ станет известен третьей "
+"общедоступным, безопасность сервера может быть нарушена. Обычно [."
+"filename]#keytab# генерируется на доверенной машине администратора с помощью "
+"`kadmin`, а затем безопасно передается на сервер, например, с помощью "
+"man:scp[1]; его также можно создать непосредственно на сервере, если это "
+"соответствует выбранной политике безопасности. Очень важно, чтобы keytab был "
+"передан на сервер безопасным способом: если ключ станет известен третьей "
"стороне, эта сторона сможет выдавать себя за любого пользователя на сервере! "
"Использование `kadmin` непосредственно на сервере удобно, так как запись для "
"хостового принципала в базе данных KDC также создается с помощью `kadmin`."
@@ -3528,8 +3526,8 @@ msgstr ""
"захвачен), `kadmin` запросит пароль для получения нового билета. Учётная "
"запись, аутентифицирующаяся в службе kadmin, должна иметь разрешение на "
"использование интерфейса `kadmin`, как указано в [.filename]#/var/heimdal/"
-"kadmind.acl#. Подробнее о создании списков контроля доступа см. в разделе "
-"«Удалённое администрирование» в `info heimdal`. Вместо включения удалённого "
+"kadmind.acl#. Подробнее о создании списков контроля доступа см. в разделе «"
+"Удалённое администрирование» в `info heimdal`. Вместо включения удалённого "
"доступа к `kadmin` администратор может безопасно подключиться к KDC через "
"локальную консоль или man:ssh[1] и выполнять администрирование локально с "
"помощью `kadmin -l`."
@@ -3588,8 +3586,8 @@ msgid ""
msgstr ""
"Обратите внимание, что `ext_keytab` по умолчанию сохраняет извлечённый ключ "
"в [.filename]#/etc/krb5.keytab#. Это удобно при выполнении на сервере, "
-"который керберизируется, но следует использовать аргумент `--keytab _путь/к/"
-"файлу_`, когда извлечение keytab происходит на другом устройстве:"
+"который керберизируется, но следует использовать аргумент `--keytab "
+"_путь/к/файлу_`, когда извлечение keytab происходит на другом устройстве:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/security/_index.adoc:1422
@@ -3624,8 +3622,8 @@ msgstr ""
"На этом этапе сервер может читать зашифрованные сообщения от KDC, используя "
"свой общий ключ, хранящийся в [.filename]#krb5.keytab#. Теперь он готов к "
"включению служб, использующих Kerberos. Одна из самых распространённых таких "
-"служб — man:sshd[8], которая поддерживает Kerberos через GSS-API. В файле "
-"[.filename]#/etc/ssh/sshd_config# добавьте строку:"
+"служб — man:sshd[8], которая поддерживает Kerberos через GSS-API. В файле [."
+"filename]#/etc/ssh/sshd_config# добавьте строку:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/security/_index.adoc:1435
@@ -3654,8 +3652,8 @@ msgid ""
"As it was for the server, the client requires configuration in [.filename]#/"
"etc/krb5.conf#. Copy the file in place (securely) or re-enter it as needed."
msgstr ""
-"Как и для сервера, клиенту требуется настройка в [.filename]#/etc/"
-"krb5.conf#. Скопируйте файл (безопасным способом) или введите его заново при "
+"Как и для сервера, клиенту требуется настройка в [.filename]#/etc/krb5.conf#"
+". Скопируйте файл (безопасным способом) или введите его заново при "
"необходимости."
#. type: Plain text
@@ -3747,8 +3745,8 @@ msgstr ""
#: documentation/content/en/books/handbook/security/_index.adoc:1469
msgid "Refer to man:ksu[1] for more information about [.filename]#.k5users#."
msgstr ""
-"Обратитесь к man:ksu[1] для получения дополнительной информации о "
-"[.filename]#.k5users#."
+"Обратитесь к man:ksu[1] для получения дополнительной информации о [."
+"filename]#.k5users#."
#. type: Title ===
#: documentation/content/en/books/handbook/security/_index.adoc:1470
@@ -3856,8 +3854,8 @@ msgid ""
"principal used for Apache's package:www/mod_auth_kerb[]."
msgstr ""
"Если имя хоста изменено, необходимо изменить принципал `host/` и обновить "
-"keytab. Это также относится к особым записям keytab, таким как принципал "
-"`HTTP/`, используемый для пакета Apache package:www/mod_auth_kerb[]."
+"keytab. Это также относится к особым записям keytab, таким как принципал `"
+"HTTP/`, используемый для пакета Apache package:www/mod_auth_kerb[]."
#. type: Plain text
#: documentation/content/en/books/handbook/security/_index.adoc:1498
@@ -4040,8 +4038,8 @@ msgstr ""
"собой. Однако у него нет механизма для аутентификации KDC перед "
"пользователями, хостами или службами. Это означает, что троянская версия "
"`kinit` может записывать все имена пользователей и пароли. Инструменты "
-"проверки целостности файловой системы, такие как package:security/"
-"tripwire[], могут помочь смягчить эту проблему."
+"проверки целостности файловой системы, такие как package:security/tripwire[]"
+", могут помочь смягчить эту проблему."
#. type: Title ===
#: documentation/content/en/books/handbook/security/_index.adoc:1527
@@ -4159,9 +4157,9 @@ msgid ""
"[.filename]#hosts.deny# is deprecated in FreeBSD. All configuration options "
"should be placed in [.filename]#/etc/hosts.allow#."
msgstr ""
-"В отличие от других реализаций TCP Wrappers, использование "
-"[.filename]#hosts.deny# в FreeBSD считается устаревшим. Все параметры "
-"конфигурации должны размещаться в [.filename]#/etc/hosts.allow#."
+"В отличие от других реализаций TCP Wrappers, использование [.filename]#hosts."
+"deny# в FreeBSD считается устаревшим. Все параметры конфигурации должны "
+"размещаться в [.filename]#/etc/hosts.allow#."
#. type: Plain text
#: documentation/content/en/books/handbook/security/_index.adoc:1567
@@ -4202,9 +4200,8 @@ msgid ""
"daemon, the following lines should be appended to [.filename]#/etc/"
"hosts.allow#:"
msgstr ""
-"Например, чтобы разрешить соединения POP3 через демон package:mail/"
-"qpopper[], в файл [.filename]#/etc/hosts.allow# следует добавить следующие "
-"строки:"
+"Например, чтобы разрешить соединения POP3 через демон package:mail/qpopper[]"
+", в файл [.filename]#/etc/hosts.allow# следует добавить следующие строки:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/security/_index.adoc:1578
@@ -4533,10 +4530,10 @@ msgid ""
"Capsicum makes file descriptors into capabilities."
msgstr ""
"Capsicum — это легковесная платформа возможностей ОС и песочницы, "
-"реализующая гибридную модель системы возможностей. Возможности "
-"(capabilities) являются не подделываемыми токенами авторизации, которые "
-"могут быть делегированы и должны быть предъявлены для выполнения действия. "
-"Capsicum преобразует файловые дескрипторы в возможности."
+"реализующая гибридную модель системы возможностей. Возможности (capabilities)"
+" являются не подделываемыми токенами авторизации, которые могут быть "
+"делегированы и должны быть предъявлены для выполнения действия. Capsicum "
+"преобразует файловые дескрипторы в возможности."
#. type: Plain text
#: documentation/content/en/books/handbook/security/_index.adoc:1716
@@ -4629,14 +4626,13 @@ msgid ""
"files, change the mode of the [.filename]#/var/account# directory to allow "
"access only by `root`."
msgstr ""
-"Информация учёта хранится в файлах, расположенных в [.filename]#/var/"
-"account#, который автоматически создаётся при необходимости при первом "
-"запуске службы учёта. Эти файлы содержат конфиденциальную информацию, "
-"включая все команды, выполненные всеми пользователями. Право записи в файлы "
-"ограничено для `root`, а право чтения — для `root` и членов группы `wheel`. "
-"Чтобы также запретить членам `wheel` читать эти файлы, измените режим "
-"доступа к каталогу [.filename]#/var/account#, разрешив доступ только для "
-"`root`."
+"Информация учёта хранится в файлах, расположенных в [.filename]#/var/account#"
+", который автоматически создаётся при необходимости при первом запуске "
+"службы учёта. Эти файлы содержат конфиденциальную информацию, включая все "
+"команды, выполненные всеми пользователями. Право записи в файлы ограничено "
+"для `root`, а право чтения — для `root` и членов группы `wheel`. Чтобы также "
+"запретить членам `wheel` читать эти файлы, измените режим доступа к каталогу "
+"[.filename]#/var/account#, разрешив доступ только для `root`."
#. type: Plain text
#: documentation/content/en/books/handbook/security/_index.adoc:1751
@@ -4685,8 +4681,8 @@ msgid ""
"Many other useful options exist and are explained in man:lastcomm[1], "
"man:acct[5], and man:sa[8]."
msgstr ""
-"Существует множество других полезных опций, которые описаны в "
-"man:lastcomm[1], man:acct[5] и man:sa[8]."
+"Существует множество других полезных опций, которые описаны в man:lastcomm[1]"
+", man:acct[5] и man:sa[8]."
#. type: Title ==
#: documentation/content/en/books/handbook/security/_index.adoc:1764
@@ -4802,7 +4798,9 @@ msgstr "Время процессора"
#: documentation/content/en/books/handbook/security/_index.adoc:1794
#, no-wrap
msgid "Limits the amount of CPU time a process can consume"
-msgstr "Ограничивает количество процессорного времени, которое может использовать процесс"
+msgstr ""
+"Ограничивает количество процессорного времени, которое может использовать "
+"процесс"
#. type: Table
#: documentation/content/en/books/handbook/security/_index.adoc:1795
@@ -4814,7 +4812,8 @@ msgstr "Память"
#: documentation/content/en/books/handbook/security/_index.adoc:1797
#, no-wrap
msgid "Controls the amount of physical memory a process can use"
-msgstr "Управляет количеством физической памяти, которое может использовать процесс"
+msgstr ""
+"Управляет количеством физической памяти, которое может использовать процесс"
#. type: Table
#: documentation/content/en/books/handbook/security/_index.adoc:1798
@@ -4826,7 +4825,8 @@ msgstr "Открытые файлы"
#: documentation/content/en/books/handbook/security/_index.adoc:1800
#, no-wrap
msgid "Limits the number of files a process can have open simultaneously"
-msgstr "Ограничивает количество файлов, которые процесс может открыть одновременно"
+msgstr ""
+"Ограничивает количество файлов, которые процесс может открыть одновременно"
#. type: Table
#: documentation/content/en/books/handbook/security/_index.adoc:1801
@@ -4838,7 +4838,9 @@ msgstr "Процессы"
#: documentation/content/en/books/handbook/security/_index.adoc:1803
#, no-wrap
msgid "Controls the number of processes a user or a process can create"
-msgstr "Управляет количеством процессов, которые пользователь или процесс может создать"
+msgstr ""
+"Управляет количеством процессов, которые пользователь или процесс может "
+"создать"
#. type: Table
#: documentation/content/en/books/handbook/security/_index.adoc:1804
@@ -4874,7 +4876,9 @@ msgstr "Сетевые ресурсы"
#: documentation/content/en/books/handbook/security/_index.adoc:1812
#, no-wrap
msgid "Limits the amount of network resources (e.g., sockets) a process can use"
-msgstr "Ограничивает количество сетевых ресурсов (например, сокетов), которые может использовать процесс"
+msgstr ""
+"Ограничивает количество сетевых ресурсов (например, сокетов), которые может "
+"использовать процесс"
#. type: Plain text
#: documentation/content/en/books/handbook/security/_index.adoc:1815
@@ -4913,8 +4917,8 @@ msgid ""
"The first step to configure a resource limit will be to open [.filename]#/"
"etc/login.conf# by executing the following command:"
msgstr ""
-"Первым шагом для настройки ограничения ресурсов будет открытие файла "
-"[.filename]#/etc/login.conf# с помощью следующей команды:"
+"Первым шагом для настройки ограничения ресурсов будет открытие файла [."
+"filename]#/etc/login.conf# с помощью следующей команды:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/security/_index.adoc:1829
@@ -5024,7 +5028,8 @@ msgid ""
msgstr ""
"#Changing user information for username.\n"
"Login: username\n"
-"Password: $6$2H.419USdGaiJeqK$6kgcTnDadasdasd3YnlNZsOni5AMymibkAfRCPirc7ZFjjv\n"
+"Password: $6$2H.419USdGaiJeqK$"
+"6kgcTnDadasdasd3YnlNZsOni5AMymibkAfRCPirc7ZFjjv\n"
"DVsKyXx26daabdfqSdasdsmL/ZMUpdHiO0\n"
"Uid [#]: 1001\n"
"Gid [# or name]: 1001\n"
@@ -5058,8 +5063,8 @@ msgid ""
"effect. Additionally, always exercise caution when editing system "
"configuration files, especially when using privileged access."
msgstr ""
-"Имейте в виду, что после внесения изменений в файл [.filename]#/etc/"
-"login.conf# пользователю необходимо выйти из системы и снова войти, чтобы "
+"Имейте в виду, что после внесения изменений в файл [.filename]#/etc/login."
+"conf# пользователю необходимо выйти из системы и снова войти, чтобы "
"изменения вступили в силу. Кроме того, всегда соблюдайте осторожность при "
"редактировании системных конфигурационных файлов, особенно при использовании "
"привилегированного доступа."
@@ -5282,7 +5287,8 @@ msgstr ""
" CVE: CVE-2023-4428\n"
" CVE: CVE-2023-4429\n"
" CVE: CVE-2023-4430\n"
-" WWW: https://vuxml.FreeBSD.org/freebsd/5fa332b9-4269-11ee-8290-a8a1599412c6.html\n"
+" WWW: https://vuxml.FreeBSD.org/freebsd/5fa332b9-4269-11ee-8290-a8a1599412c6"
+".html\n"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/security/_index.adoc:1991
@@ -5304,7 +5310,8 @@ msgstr ""
" CVE: CVE-2023-34968\n"
" CVE: CVE-2022-2127\n"
" CVE: CVE-2023-34967\n"
-" WWW: https://vuxml.FreeBSD.org/freebsd/441e1e1a-27a5-11ee-a156-080027f5fec9.html\n"
+" WWW: https://vuxml.FreeBSD.org/freebsd/441e1e1a-27a5-11ee-a156-080027f5fec9"
+".html\n"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/security/_index.adoc:1993
@@ -5369,8 +5376,8 @@ msgstr ""
"Одна из задач команды безопасности — реагировать на сообщения об уязвимостях "
"в операционной системе FreeBSD. После подтверждения уязвимости команда "
"безопасности проверяет шаги, необходимые для её устранения, и обновляет "
-"исходный код с исправлением. Затем она публикует подробности в виде "
-"«Рекомендации по безопасности» (Security Advisory). Рекомендации по "
+"исходный код с исправлением. Затем она публикует подробности в виде «"
+"Рекомендации по безопасности» (Security Advisory). Рекомендации по "
"безопасности публикуются на сайте link:https://www.FreeBSD.org/security/"
"advisories/[FreeBSD] и рассылаются в списки рассылки {freebsd-security-"
"notifications}, {freebsd-security} и {freebsd-announce}."
@@ -5404,9 +5411,12 @@ msgid ""
"FreeBSD-SA-23:07.bhyve Security Advisory\n"
" The FreeBSD Project\n"
msgstr ""
-"=============================================================================\n"
-"FreeBSD-SA-23:07.bhyve Security Advisory\n"
-" The FreeBSD Project\n"
+"============================================================================="
+"\n"
+"FreeBSD-SA-23:07.bhyve Security "
+"Advisory\n"
+" The FreeBSD "
+"Project\n"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/security/_index.adoc:2024
@@ -5824,8 +5834,8 @@ msgid ""
"crossref:pgpkeys[pgpkeys,OpenPGP Keys]."
msgstr ""
"Каждое уведомление о безопасности подписано PGP-ключом офицера безопасности. "
-"Открытый ключ офицера безопасности можно проверить в "
-"crossref:pgpkeys[pgpkeys,OpenPGP Keys]."
+"Открытый ключ офицера безопасности можно проверить в crossref:pgpkeys["
+"pgpkeys,OpenPGP Keys]."
#. type: Plain text
#: documentation/content/en/books/handbook/security/_index.adoc:2170
diff --git a/documentation/content/ru/books/handbook/serialcomms/_index.adoc b/documentation/content/ru/books/handbook/serialcomms/_index.adoc
index abbe4bbb45..404a924d6a 100644
--- a/documentation/content/ru/books/handbook/serialcomms/_index.adoc
+++ b/documentation/content/ru/books/handbook/serialcomms/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/serialcomms/
part: 'Часть IV. Сетевое взаимодействие'
prev: books/handbook/partiv
-showBookMenu: true
+showBookMenu: 'true'
tags: ["serial", "communications", "terminal", "modem", "console"]
title: 'Глава 29. Последовательная передача данных'
weight: 34
@@ -456,7 +456,7 @@ ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure
Первое поле указывает имя устройства последовательного терминала.
-Второе поле указывает `getty` инициализировать и открыть линию, установить скорость линии, запросить имя пользователя и затем выполнить программу `login`. Необязательный _тип getty_ настрайвает характеристики линии терминала, такие как скорость передачи и контроль четности. Доступные типы getty перечислены в [.filename]#/etc/gettytab#. Почти во всех случаях подходят типы getty, начинающиеся с `std`, так как эти записи игнорируют контроль четности. Для каждой скорости передачи от 110 до 115200 существует запись `std`. Дополнительную информацию можно найти в man:gettytab[5]. При настройке типа getty убедитесь, что он соответствует параметрам связи, используемым терминалом. В данном примере Wyse-50 работает без контроля четности и подключается на скорости 38400 бод. Компьютер также работает без контроля четности и подключается на скорости 19200 бод.
+Второе поле указывает `getty` инициализировать и открыть линию, установить скорость линии, запросить имя пользователя и затем выполнить программу `login`. Необязательный _тип getty_ настрайвает характеристики линии терминала, такие как скорость передачи и контроль четности. Доступные типы getty перечислены в [.filename]#/etc/gettytab#. Почти во всех случаях подходят типы getty, начинающиеся с `std`, так как эти записи игнорируют контроль четности. Для каждой скорости передачи от 110 до 115200 существует запись `std`. Дополнительную информацию можно найти в man:gettytab[5]. При настройке типа getty убедитесь, что он соответствует параметрам связи, используемым терминалом. В данном примере Wyse-50 работает без контроля четности и подключается на скорости 38400 бод. Компьютер также работает без контроля четности и подключается на скорости 19200 бод.
Третье поле указывает тип терминала. Для коммутируемых портов обычно используется `unknown` или `dialup`, так как пользователи могут подключаться практически с любым типом терминала или программного обеспечения. Поскольку тип терминала не меняется для проводных терминалов, можно указать реальный тип терминала из [.filename]#/etc/termcap#. В данном примере для Wyse-50 используется реальный тип терминала, а для компьютера с Procomm установлена эмуляция VT-100.
@@ -941,7 +941,7 @@ Default: 0:ad(0,a)/boot/loader
boot:
....
+
-Убедитесь, что указанное сообщение появилось на последовательном или внутреннем консоле, или на обоих, в соответствии с параметрами в [.filename]#/boot.config#. Если сообщение появилось на правильной консоли, нажмите kbd:[Enter] для продолжения процесса загрузки.
+Убедитесь, что указанное сообщение появилось на последовательной или внутренней консоли, или на обоих, в соответствии с параметрами в [.filename]#/boot.config#. Если сообщение появилось на правильной консоли, нажмите kbd:[Enter] для продолжения процесса загрузки.
+
Если на последовательном терминале нет приглашения, значит, что-то не так с настройками. Введите `-h`, затем kbd:[Enter] или kbd:[Return], чтобы указать загрузочному блоку (а затем загрузчику и ядру) выбрать последовательный порт для консоли. После загрузки системы вернитесь и проверьте, что пошло не так.
diff --git a/documentation/content/ru/books/handbook/serialcomms/_index.po b/documentation/content/ru/books/handbook/serialcomms/_index.po
index 99f7123380..5795e1b9c0 100644
--- a/documentation/content/ru/books/handbook/serialcomms/_index.po
+++ b/documentation/content/ru/books/handbook/serialcomms/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
-"PO-Revision-Date: 2025-08-16 04:45+0000\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
+"PO-Revision-Date: 2025-10-30 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/bookshandbookserialcomms_index/ru/>\n"
@@ -18,19 +18,21 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1
#, no-wrap
msgid "This chapter covers some of the ways serial communications can be used on FreeBSD"
-msgstr "Эта глава рассказывает о некоторых способах использования последовательной передачи данных в FreeBSD"
+msgstr ""
+"Эта глава рассказывает о некоторых способах использования последовательной "
+"передачи данных в FreeBSD"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1
#, no-wrap
msgid "Part IV. Network Communication"
msgstr "Часть IV. Сетевое взаимодействие"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1
#, no-wrap
msgid "Chapter 29. Serial Communications"
@@ -228,8 +230,8 @@ msgid ""
"for the hardware should describe the type of cable required."
msgstr ""
"Существует несколько различных типов последовательных кабелей. Два наиболее "
-"распространённых типа — это нуль-модемные кабели и стандартные кабели "
-"RS-232. В документации к оборудованию должен быть указан тип необходимого "
+"распространённых типа — это нуль-модемные кабели и стандартные кабели RS-"
+"232. В документации к оборудованию должен быть указан тип необходимого "
"кабеля."
#. type: Plain text
@@ -668,8 +670,8 @@ msgid ""
"In FreeBSD, each serial port is accessed through an entry in [.filename]#/"
"dev#. There are two different kinds of entries:"
msgstr ""
-"В FreeBSD каждый последовательный порт доступен через запись в [.filename]#/"
-"dev#. Существует два разных типа записей:"
+"В FreeBSD каждый последовательный порт доступен через запись в [."
+"filename]#/dev#. Существует два разных типа записей:"
#. type: Plain text
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:367
@@ -720,10 +722,10 @@ msgid ""
"man:uart[4], and man:stty[1] for information on terminal settings, locking "
"and initializing devices, and setting terminal options, respectively."
msgstr ""
-"FreeBSD также предоставляет устройства инициализации ([.filename]#/dev/"
-"ttyuN.init# и [.filename]#/dev/cuauN.init# или [.filename]#/dev/cuadN.init#) "
-"и устройства блокировки ([.filename]#/dev/ttyuN.lock# и [.filename]#/dev/"
-"cuauN.lock# или [.filename]#/dev/cuadN.lock#). Устройства инициализации "
+"FreeBSD также предоставляет устройства инициализации ([.filename]#/dev/ttyuN."
+"init# и [.filename]#/dev/cuauN.init# или [.filename]#/dev/cuadN.init#) и "
+"устройства блокировки ([.filename]#/dev/ttyuN.lock# и [.filename]#/dev/cuauN."
+"lock# или [.filename]#/dev/cuadN.lock#). Устройства инициализации "
"используются для установки параметров порта связи при каждом его открытии, "
"например, `crtscts` для модемов, использующих сигнализацию `RTS/CTS` для "
"управления потоком. Устройства блокировки применяются для фиксации флагов на "
@@ -750,8 +752,8 @@ msgid ""
"kernel only looks for the standard [.filename]#COM# ports."
msgstr ""
"По умолчанию FreeBSD поддерживает четыре последовательных порта, обычно "
-"известных как [.filename]#COM1#, [.filename]#COM2#, [.filename]#COM3# и "
-"[.filename]#COM4#. FreeBSD также поддерживает простые многопортовые "
+"известных как [.filename]#COM1#, [.filename]#COM2#, [.filename]#COM3# и [."
+"filename]#COM4#. FreeBSD также поддерживает простые многопортовые "
"последовательные интерфейсные карты, такие как BocaBoard 1008 и 2016, а "
"также более интеллектуальные многопортовые карты, например, производства "
"Digiboard. Однако стандартное ядро ищет только порты [.filename]#COM#."
@@ -782,11 +784,11 @@ msgid ""
"Common IRQ addresses are `5` for [.filename]#COM3# and `9` for "
"[.filename]#COM4#."
msgstr ""
-"Если система не распознает все необходимые последовательные порты, в файл "
-"[.filename]#/boot/device.hints# можно добавить дополнительные записи. Этот "
-"файл уже содержит записи `hint.uart.0.\\*` для [.filename]#COM1# и "
-"`hint.uart.1.*` для [.filename]#COM2#. При добавлении записи для порта "
-"[.filename]#COM3# используйте `0x3E8`, а для [.filename]#COM4# — `0x2E8`. "
+"Если система не распознает все необходимые последовательные порты, в файл [."
+"filename]#/boot/device.hints# можно добавить дополнительные записи. Этот "
+"файл уже содержит записи `hint.uart.0.\\*` для [.filename]#COM1# и `hint.uart"
+".1.*` для [.filename]#COM2#. При добавлении записи для порта [."
+"filename]#COM3# используйте `0x3E8`, а для [.filename]#COM4# — `0x2E8`. "
"Обычные адреса IRQ: `5` для [.filename]#COM3# и `9` для [.filename]#COM4#."
#. type: Plain text
@@ -818,15 +820,15 @@ msgid ""
"For example, to turn on `CLOCAL` mode, 8 bit communication, and `XON/XOFF` "
"flow control for [.filename]#ttyu5#, type:"
msgstr ""
-"Системная инициализация последовательных устройств управляется файлом "
-"[.filename]#/etc/rc.d/serial#. Этот файл влияет на настройки по умолчанию "
-"для последовательных устройств. Чтобы изменить настройки устройства, "
-"используйте команду `stty`. По умолчанию изменённые настройки действуют до "
-"закрытия устройства, а при повторном открытии устройства возвращаются "
-"значения по умолчанию. Чтобы навсегда изменить настройки по умолчанию, "
-"откройте и настройте параметры инициализационного устройства. Например, "
-"чтобы включить режим `CLOCAL`, 8-битную передачу данных и управление потоком "
-"`XON/XOFF` для устройства [.filename]#ttyu5#, введите:"
+"Системная инициализация последовательных устройств управляется файлом [."
+"filename]#/etc/rc.d/serial#. Этот файл влияет на настройки по умолчанию для "
+"последовательных устройств. Чтобы изменить настройки устройства, используйте "
+"команду `stty`. По умолчанию изменённые настройки действуют до закрытия "
+"устройства, а при повторном открытии устройства возвращаются значения по "
+"умолчанию. Чтобы навсегда изменить настройки по умолчанию, откройте и "
+"настройте параметры инициализационного устройства. Например, чтобы включить "
+"режим `CLOCAL`, 8-битную передачу данных и управление потоком `XON/XOFF` для "
+"устройства [.filename]#ttyu5#, введите:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:411
@@ -842,8 +844,8 @@ msgid ""
"[.filename]#ttyu5# to 57600 bps, type:"
msgstr ""
"Чтобы предотвратить изменение определённых настроек приложением, внесите "
-"изменения в блокирующее устройство. Например, чтобы зафиксировать скорость "
-"[.filename]#ttyu5# на уровне 57600 бод, введите:"
+"изменения в блокирующее устройство. Например, чтобы зафиксировать скорость [."
+"filename]#ttyu5# на уровне 57600 бод, введите:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:419
@@ -1037,8 +1039,8 @@ msgid ""
"Additional programs are available through the Ports Collection, such as "
"package:comms/minicom[]."
msgstr ""
-"Дополнительные программы доступны через Коллекцию портов, например, "
-"package:comms/minicom[]."
+"Дополнительные программы доступны через Коллекцию портов, например, package:"
+"comms/minicom[]."
#. type: Labeled list
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:472
@@ -1106,8 +1108,8 @@ msgstr ""
"Например, первая виртуальная консоль [.filename]#ttyv0# имеет запись в этом "
"файле, что разрешает вход на консоли. Этот файл также содержит записи для "
"других виртуальных консолей, последовательных портов и псевдо-терминалов. "
-"Для физического терминала последовательный порт указывается как запись в "
-"[.filename]#/dev# без части `/dev`. Например, [.filename]#/dev/ttyv0# "
+"Для физического терминала последовательный порт указывается как запись в [."
+"filename]#/dev# без части `/dev`. Например, [.filename]#/dev/ttyv0# "
"указывается как `ttyv0`."
#. type: Plain text
@@ -1205,7 +1207,7 @@ msgstr ""
"getty перечислены в [.filename]#/etc/gettytab#. Почти во всех случаях "
"подходят типы getty, начинающиеся с `std`, так как эти записи игнорируют "
"контроль четности. Для каждой скорости передачи от 110 до 115200 существует "
-"запись `std`. Дополнительную информацию можно найти в man:gettytab[5]. При "
+"запись `std`. Дополнительную информацию можно найти в man:gettytab[5]. При "
"настройке типа getty убедитесь, что он соответствует параметрам связи, "
"используемым терминалом. В данном примере Wyse-50 работает без контроля "
"четности и подключается на скорости 38400 бод. Компьютер также работает без "
@@ -1264,8 +1266,8 @@ msgid ""
"After making any changes to [.filename]#/etc/ttys#, send a SIGHUP (hangup) "
"signal to the `init` process to force it to re-read its configuration file:"
msgstr ""
-"После внесения изменений в [.filename]#/etc/ttys# отправьте сигнал SIGHUP "
-"(завершения работы) процессу `init`, чтобы заставить его перечитать "
+"После внесения изменений в [.filename]#/etc/ttys# отправьте сигнал SIGHUP ("
+"завершения работы) процессу `init`, чтобы заставить его перечитать "
"конфигурационный файл:"
#. type: delimited block . 4
@@ -1356,8 +1358,8 @@ msgid ""
msgstr ""
"Используйте `ps`, чтобы убедиться, что процесс `getty` запущен и обслуживает "
"терминал. Например, следующий вывод показывает, что `getty` работает на "
-"втором последовательном порту, [.filename]#ttyu1#, и использует запись "
-"`std.38400` в файле [.filename]#/etc/gettytab#:"
+"втором последовательном порту, [.filename]#ttyu1#, и использует запись `std."
+"38400` в файле [.filename]#/etc/gettytab#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:583
@@ -1376,8 +1378,8 @@ msgid ""
"[.filename]#/etc/ttys#. Remember to run `kill -HUP 1` after modifying "
"[.filename]#/etc/ttys#."
msgstr ""
-"Если процесс `getty` не запущен, убедитесь, что порт включен в файле "
-"[.filename]#/etc/ttys#. Не забудьте выполнить `kill -HUP 1` после изменения "
+"Если процесс `getty` не запущен, убедитесь, что порт включен в файле [."
+"filename]#/etc/ttys#. Не забудьте выполнить `kill -HUP 1` после изменения "
"файла [.filename]#/etc/ttys#."
#. type: Plain text
@@ -1396,8 +1398,8 @@ msgstr ""
"приглашение для входа, или если он отображает приглашение, но не принимает "
"вводимые данные, возможно, терминал или кабель не поддерживают аппаратное "
"подтверждение связи. Попробуйте изменить запись в [.filename]#/etc/ttys# с "
-"`std.38400` на `3wire.38400`, затем выполните `kill -HUP 1` после изменения "
-"[.filename]#/etc/ttys#. Запись `3wire` аналогична `std`, но игнорирует "
+"`std.38400` на `3wire.38400`, затем выполните `kill -HUP 1` после изменения ["
+".filename]#/etc/ttys#. Запись `3wire` аналогична `std`, но игнорирует "
"аппаратное подтверждение связи. Также может потребоваться уменьшить скорость "
"передачи данных или включить программное управление потоком при "
"использовании `3wire`, чтобы избежать переполнения буфера."
@@ -1424,8 +1426,8 @@ msgid ""
"\"local echo\" to \"full duplex.\""
msgstr ""
"Если символы отображаются удвоенными, а пароль виден при вводе, переключите "
-"терминал или программу эмуляции терминала из режима «полудуплексный» или "
-"«локальный эхо-контроль» в режим «полнодуплексный»."
+"терминал или программу эмуляции терминала из режима «полудуплексный» или «"
+"локальный эхо-контроль» в режим «полнодуплексный»."
#. type: Title ==
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:600
@@ -1921,9 +1923,9 @@ msgid ""
"`init` or `getty`."
msgstr ""
"Если нет процессов `getty`, ожидающих открытия порта, дважды проверьте, что "
-"запись для порта корректна в [.filename]#/etc/ttys#. Также проверьте "
-"[.filename]#/var/log/messages#, чтобы увидеть, есть ли какие-либо сообщения "
-"в логе от `init` или `getty`."
+"запись для порта корректна в [.filename]#/etc/ttys#. Также проверьте [."
+"filename]#/var/log/messages#, чтобы увидеть, есть ли какие-либо сообщения в "
+"логе от `init` или `getty`."
#. type: Plain text
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:767
@@ -1965,15 +1967,15 @@ msgstr ""
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:772
msgid "Each `nx=` entry matches another [.filename]#gettytab# capability name."
msgstr ""
-"Каждая запись `nx=` соответствует другому имени возможности в "
-"[.filename]#gettytab#."
+"Каждая запись `nx=` соответствует другому имени возможности в [."
+"filename]#gettytab#."
#. type: Plain text
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:773
msgid "Each `tc=` entry matches another [.filename]#gettytab# capability name."
msgstr ""
-"Каждая запись `tc=` соответствует другому имени возможности в "
-"[.filename]#gettytab#."
+"Каждая запись `tc=` соответствует другому имени возможности в [."
+"filename]#gettytab#."
#. type: Plain text
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:776
@@ -2131,10 +2133,10 @@ msgid ""
"special character in capability files like [.filename]#/etc/remote#, so it "
"needs to be escaped with a backslash:"
msgstr ""
-"Знак `@` в параметре номера телефона указывает `tip` искать номер в файле "
-"[.filename]#/etc/phones#. Однако, знак `@` также является специальным "
-"символом в файлах параметров, таких как [.filename]#/etc/remote#, поэтому "
-"его необходимо экранировать обратной косой чертой:"
+"Знак `@` в параметре номера телефона указывает `tip` искать номер в файле [."
+"filename]#/etc/phones#. Однако, знак `@` также является специальным символом "
+"в файлах параметров, таких как [.filename]#/etc/remote#, поэтому его "
+"необходимо экранировать обратной косой чертой:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:835
@@ -2240,10 +2242,10 @@ msgid ""
"hosts `pain` or `muffin`, and `tip deep13` to connect to the terminal server."
msgstr ""
"Вместо того чтобы каждый раз ждать подключения и вводить `CONNECT _хост_`, "
-"используйте возможность `cm` в ``tip``. Например, следующие записи в "
-"[.filename]#/etc/remote# позволят вам набрать `tip pain` или `tip muffin` "
-"для подключения к хостам `pain` или `muffin`, а `tip deep13` — для "
-"подключения к терминальному серверу."
+"используйте возможность `cm` в ``tip``. Например, следующие записи в [."
+"filename]#/etc/remote# позволят вам набрать `tip pain` или `tip muffin` для "
+"подключения к хостам `pain` или `muffin`, а `tip deep13` — для подключения к "
+"терминальному серверу."
#. type: delimited block . 4
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:893
@@ -2257,9 +2259,11 @@ msgid ""
" :dv=/dev/cuau2:br#38400:at=hayes:du:pa=none:pn=5551234:\n"
msgstr ""
"pain|pain.deep13.com|Forrester's machine:\\\n"
-" :cm=CONNECT pain\\n:tc=deep13:\n"
+" :cm=CONNECT pain\\n"
+":tc=deep13:\n"
"muffin|muffin.deep13.com|Frank's machine:\\\n"
-" :cm=CONNECT muffin\\n:tc=deep13:\n"
+" :cm=CONNECT muffin\\n"
+":tc=deep13:\n"
"deep13:Gizmonics Institute terminal server:\\\n"
" :dv=/dev/cuau2:br#38400:at=hayes:du:pa=none:pn=5551234:\n"
@@ -2358,8 +2362,8 @@ msgid ""
msgstr ""
"Введите `~sforce=_одиночный-символ_`, затем нажмите Enter. _одиночный-"
"символ_ — это любой одиночный символ. Если _одиночный-символ_ не указан, то "
-"управляющий символ будет нулевым символом, который вводится с помощью kbd:"
-"[Ctrl+2] или kbd:[Ctrl+Пробел]. Хорошим значением для _одиночный-символ_ "
+"управляющий символ будет нулевым символом, который вводится с помощью "
+"kbd:[Ctrl+2] или kbd:[Ctrl+Пробел]. Хорошим значением для _одиночный-символ_ "
"может быть kbd:[Shift+Ctrl+6], который используется только на некоторых "
"терминальных серверах."
@@ -2541,7 +2545,7 @@ msgstr ""
msgid "Procedure: Configuring a Serial Console on [.filename]#COM1#"
msgstr "Процедура: Настройка последовательной консоли на [.filename]#COM1#"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:998
msgid ""
"Connect the serial cable to [.filename]#COM1# and the controlling terminal."
@@ -2549,7 +2553,7 @@ msgstr ""
"Подключите последовательный кабель к [.filename]#COM1# и управляющему "
"терминалу."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:999
msgid ""
"To configure boot messages to display on the serial console, issue the "
@@ -2611,12 +2615,12 @@ msgstr ""
msgid "Procedure: Configuring a Serial Console"
msgstr "Процедура: Настройка последовательной консоли"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1018
msgid "Prepare a serial cable."
msgstr "Подготовьте последовательный кабель."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1021
msgid ""
"Use either a null-modem cable or a standard serial cable and a null-modem "
@@ -2627,12 +2631,12 @@ msgstr ""
"нуль-модемным адаптером. Подробнее о последовательных кабелях см. в разделе "
"crossref:serialcomms[term-cables-null, Последовательные кабели и порты]."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1022
msgid "Unplug the keyboard."
msgstr "Отключите клавиатуру."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1025
msgid ""
"Many systems probe for the keyboard during the Power-On Self-Test (POST) and "
@@ -2643,7 +2647,7 @@ msgstr ""
"включении (POST) и выдают ошибку, если клавиатура не обнаружена. Некоторые "
"компьютеры отказываются загружаться, пока клавиатура не будет подключена."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1027
msgid ""
"If the computer complains about the error, but boots anyway, no further "
@@ -2652,7 +2656,7 @@ msgstr ""
"Если компьютер сообщает об ошибке, но всё же загружается, дальнейшая "
"настройка не требуется."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1030
msgid ""
"If the computer refuses to boot without a keyboard attached, configure the "
@@ -2728,10 +2732,10 @@ msgid ""
"options. Refer to man:uart[4] for the required options and device hints for "
"each supported serial port."
msgstr ""
-"Добавьте соответствующие записи `hint.uart.*` в файл [.filename]#/boot/"
-"device.hints# для последовательного порта. Некоторые многопортовые карты "
-"также требуют настройки параметров ядра. Рекомендуемые параметры и подсказки "
-"для устройств каждого поддерживаемого последовательного порта смотрите в "
+"Добавьте соответствующие записи `hint.uart.*` в файл [.filename]#/boot/device"
+".hints# для последовательного порта. Некоторые многопортовые карты также "
+"требуют настройки параметров ядра. Рекомендуемые параметры и подсказки для "
+"устройств каждого поддерживаемого последовательного порта смотрите в "
"man:uart[4]."
#. type: Plain text
@@ -2844,8 +2848,8 @@ msgid ""
"details."
msgstr ""
"Используйте `-P` для автоматического выбора консоли или `-h` для активации "
-"последовательной консоли. Подробности смотрите в man:boot[8] и "
-"man:boot.config[5]."
+"последовательной консоли. Подробности смотрите в man:boot[8] и man:boot."
+"config[5]."
#. type: Plain text
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1089
@@ -2875,8 +2879,8 @@ msgid ""
"When FreeBSD starts, the boot blocks echo the contents of [.filename]#/"
"boot.config# to the console. For example:"
msgstr ""
-"При загрузке FreeBSD загрузочные блоки выводят содержимое файла [.filename]#/"
-"boot.config# на консоль. Например:"
+"При загрузке FreeBSD загрузочные блоки выводят содержимое файла [."
+"filename]#/boot.config# на консоль. Например:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1097
@@ -3002,9 +3006,9 @@ msgid ""
"the message appears in the correct console, press kbd:[Enter] to continue "
"the boot process."
msgstr ""
-"Убедитесь, что указанное сообщение появилось на последовательном или "
-"внутреннем консоле, или на обоих, в соответствии с параметрами в "
-"[.filename]#/boot.config#. Если сообщение появилось на правильной консоли, "
+"Убедитесь, что указанное сообщение появилось на последовательной или "
+"внутренней консоли, или на обоих, в соответствии с параметрами в [."
+"filename]#/boot.config#. Если сообщение появилось на правильной консоли, "
"нажмите kbd:[Enter] для продолжения процесса загрузки."
#. type: Plain text
@@ -3039,10 +3043,10 @@ msgid ""
"boot messages to the serial console, regardless of the options in "
"[.filename]#/boot.config#:"
msgstr ""
-"Эта строка в [.filename]#/boot/loader.conf# или [.filename]#/boot/"
-"loader.conf.local# настраивает загрузчик и ядро для отправки загрузочных "
-"сообщений на последовательную консоль, независимо от параметров в "
-"[.filename]#/boot.config#:"
+"Эта строка в [.filename]#/boot/loader.conf# или [.filename]#/boot/loader.conf"
+".local# настраивает загрузчик и ядро для отправки загрузочных сообщений на "
+"последовательную консоль, независимо от параметров в [.filename]#/boot."
+"config#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1157
@@ -3081,7 +3085,7 @@ msgstr ""
"блоке, и не предусмотрена возможность автоматического выбора внутренней "
"консоли и последовательной консоли в зависимости от наличия клавиатуры."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1173
msgid ""
"While it is not required, it is possible to provide a `login` prompt over "
@@ -3092,10 +3096,9 @@ msgid ""
msgstr ""
"Хотя это и не обязательно, можно настроить вывод приглашения `login` через "
"последовательный порт. Для этого отредактируйте запись для последовательного "
-"порта в [.filename]#/etc/ttys#, следуя инструкциям в "
-"crossref:serialcomms[term-config, Настройка терминала]. Если скорость "
-"последовательного порта была изменена, замените `std.115200` на новое "
-"значение."
+"порта в [.filename]#/etc/ttys#, следуя инструкциям в crossref:serialcomms"
+"[term-config, Настройка терминала]. Если скорость последовательного порта "
+"была изменена, замените `std.115200` на новое значение."
#. type: Title ===
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1175
@@ -3103,7 +3106,7 @@ msgstr ""
msgid "Setting a Faster Serial Port Speed"
msgstr "Установка более высокой скорости последовательного порта"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1179
msgid ""
"By default, the serial port settings are 115200 baud, 8 bits, no parity, and "
@@ -3114,7 +3117,7 @@ msgstr ""
"данных, без контроля чётности и 1 стоповый бит. Чтобы изменить стандартную "
"скорость консоли, используйте один из следующих вариантов:"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1182
msgid ""
"Edit [.filename]#/etc/make.conf# and set `BOOT_COMCONSOLE_SPEED` to the new "
@@ -3147,10 +3150,10 @@ msgid ""
"used by the boot blocks, add the following option, with the desired speed, "
"to a custom kernel configuration file and compile a new kernel:"
msgstr ""
-"Если последовательная консоль настроена иным способом, кроме загрузки с `-"
-"h`, или если последовательная консоль, используемая ядром, отличается от "
-"той, что используется загрузочными блоками, добавьте следующую опцию с "
-"нужной скоростью в файл конфигурации собственного ядра и соберите новое ядро:"
+"Если последовательная консоль настроена иным способом, кроме загрузки с `-h`"
+", или если последовательная консоль, используемая ядром, отличается от той, "
+"что используется загрузочными блоками, добавьте следующую опцию с нужной "
+"скоростью в файл конфигурации собственного ядра и соберите новое ядро:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1196
@@ -3209,11 +3212,11 @@ msgid ""
msgstr ""
"Для настройки возможности перехода в отладчик ядра с последовательной "
"консоли добавьте следующие параметры в пользовательский конфигурационный "
-"файл ядра и соберите ядро, используя инструкции из "
-"crossref:kernelconfig[kernelconfig,Настройка ядра FreeBSD]. Обратите "
-"внимание, что хотя это полезно для удалённой диагностики, это также опасно, "
-"если на последовательном порту генерируется ложный BREAK. Дополнительную "
-"информацию об отладчике ядра можно найти в man:ddb[4] и man:ddb[8]."
+"файл ядра и соберите ядро, используя инструкции из crossref:kernelconfig["
+"kernelconfig,Настройка ядра FreeBSD]. Обратите внимание, что хотя это "
+"полезно для удалённой диагностики, это также опасно, если на "
+"последовательном порту генерируется ложный BREAK. Дополнительную информацию "
+"об отладчике ядра можно найти в man:ddb[4] и man:ddb[8]."
#. type: delimited block . 4
#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1220
diff --git a/documentation/content/ru/books/handbook/usb-device-mode/_index.adoc b/documentation/content/ru/books/handbook/usb-device-mode/_index.adoc
index 8278e3e2b2..73b5f1e941 100644
--- a/documentation/content/ru/books/handbook/usb-device-mode/_index.adoc
+++ b/documentation/content/ru/books/handbook/usb-device-mode/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/usb-device-mode/
part: 'Часть III. Администрирование системы'
prev: books/handbook/dtrace
-showBookMenu: true
+showBookMenu: 'true'
tags: ["OTG", "USB"]
title: 'Глава 28. Режим USB-устройства / USB OTG'
weight: 32
diff --git a/documentation/content/ru/books/handbook/usb-device-mode/_index.po b/documentation/content/ru/books/handbook/usb-device-mode/_index.po
index 6141d4b9b2..b194108b30 100644
--- a/documentation/content/ru/books/handbook/usb-device-mode/_index.po
+++ b/documentation/content/ru/books/handbook/usb-device-mode/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-06-09 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,19 +18,21 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:1
#, no-wrap
msgid "This chapter covers the use of USB Device Mode and USB On The Go (USB OTG) in FreeBSD"
-msgstr "Эта глава посвящена использованию режима USB Device Mode и USB On The Go (USB OTG) в FreeBSD"
+msgstr ""
+"Эта глава посвящена использованию режима USB Device Mode и USB On The Go ("
+"USB OTG) в FreeBSD"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:1
#, no-wrap
msgid "Part III. System Administration"
msgstr "Часть III. Администрирование системы"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:1
#, no-wrap
msgid "Chapter 28. USB Device Mode / USB OTG"
@@ -113,8 +115,8 @@ msgid ""
"console, and a network interface. See man:usb_template[4] for the list of "
"available values."
msgstr ""
-"То, что FreeBSD предоставляет USB-хосту, зависит от параметра "
-"`hw.usb.template` в sysctl. Некоторые шаблоны предоставляют одно устройство, "
+"То, что FreeBSD предоставляет USB-хосту, зависит от параметра `hw.usb."
+"template` в sysctl. Некоторые шаблоны предоставляют одно устройство, "
"например, последовательный терминал; другие предоставляют несколько "
"устройств, которые можно использовать одновременно. Примером является шаблон "
"10, который предоставляет устройство хранения данных, последовательную "
@@ -137,9 +139,8 @@ msgstr ""
"конфигурации, может потребоваться либо физическое отключение и повторное "
"подключение, либо принудительное повторное сканирование шины USB способом, "
"зависящим от системы. Если на хосте запущена FreeBSD, можно использовать "
-"man:usbconfig[8] `reset`. Это также необходимо сделать после загрузки "
-"[.filename]#usb_template.ko#, если USB-хост уже был подключен к разъему "
-"USBOTG."
+"man:usbconfig[8] `reset`. Это также необходимо сделать после загрузки [."
+"filename]#usb_template.ko#, если USB-хост уже был подключен к разъему USBOTG."
#. type: Plain text
#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:79
@@ -372,7 +373,9 @@ msgstr "# minicom -D /dev/ttyACM0\n"
#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:174
#, no-wrap
msgid "Connecting to USB Device Mode Serial Ports from Microsoft Windows 10"
-msgstr "Подключение к последовательным портам в режиме USB-устройства из Microsoft Windows 10"
+msgstr ""
+"Подключение к последовательным портам в режиме USB-устройства из Microsoft "
+"Windows 10"
#. type: Plain text
#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:182
@@ -561,8 +564,8 @@ msgid ""
"If [.filename]#cfumass.ko# has not been built into the kernel, [.filename]#/"
"boot/loader.conf# can be set to load the module at boot:"
msgstr ""
-"Если модуль [.filename]#cfumass.ko# не встроен в ядро, можно настроить "
-"[.filename]#/boot/loader.conf# для его загрузки при старте системы:"
+"Если модуль [.filename]#cfumass.ko# не встроен в ядро, можно настроить [."
+"filename]#/boot/loader.conf# для его загрузки при старте системы:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:262
@@ -591,8 +594,8 @@ msgid ""
msgstr ""
"Это предоставляет содержимое файла образа [.filename]#/data/target0# как LUN "
"для USB-хоста. Файл должен существовать до выполнения команды. Чтобы "
-"настроить LUN при загрузке системы, добавьте команду в [.filename]#/etc/"
-"rc.local#."
+"настроить LUN при загрузке системы, добавьте команду в [.filename]#/etc/rc."
+"local#."
#. type: Plain text
#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:277
@@ -601,10 +604,10 @@ msgid ""
"ctl.conf#, add a line to [.filename]#/etc/rc.conf# to make sure man:ctld[8] "
"is automatically started at boot, and then start the daemon."
msgstr ""
-"man:ctld[8] также может использоваться для управления LUN. Создайте файл "
-"[.filename]#/etc/ctl.conf#, добавьте строку в [.filename]#/etc/rc.conf#, "
-"чтобы убедиться, что man:ctld[8] автоматически запускается при загрузке, а "
-"затем запустите демон."
+"man:ctld[8] также может использоваться для управления LUN. Создайте файл [."
+"filename]#/etc/ctl.conf#, добавьте строку в [.filename]#/etc/rc.conf#, чтобы "
+"убедиться, что man:ctld[8] автоматически запускается при загрузке, а затем "
+"запустите демон."
#. type: Plain text
#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:280
diff --git a/documentation/content/ru/books/handbook/virtualization/_index.adoc b/documentation/content/ru/books/handbook/virtualization/_index.adoc
index 27129b9dec..1aca0dcf7d 100644
--- a/documentation/content/ru/books/handbook/virtualization/_index.adoc
+++ b/documentation/content/ru/books/handbook/virtualization/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/virtualization/
part: 'Часть III. Администрирование системы'
prev: books/handbook/filesystems
-showBookMenu: true
+showBookMenu: 'true'
tags: ["virtualization", "Parallels", "VMware", "VirtualBox", "QEMU", "bhyve", "XEN"]
title: 'Глава 24. Виртуализация'
weight: 28
diff --git a/documentation/content/ru/books/handbook/virtualization/_index.po b/documentation/content/ru/books/handbook/virtualization/_index.po
index 7a47166076..473cef17c3 100644
--- a/documentation/content/ru/books/handbook/virtualization/_index.po
+++ b/documentation/content/ru/books/handbook/virtualization/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-08-17 20:54+0100\n"
"PO-Revision-Date: 2025-10-14 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,19 +18,19 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1
#, no-wrap
msgid "Virtualization software allows multiple operating systems to run simultaneously on the same computer"
msgstr "Программное обеспечение виртуализации позволяет нескольким операционным системам работать одновременно на одном компьютере"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1
#, no-wrap
msgid "Part III. System Administration"
msgstr "Часть III. Администрирование системы"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1
#, no-wrap
msgid "Chapter 24. Virtualization"
@@ -346,13 +346,13 @@ msgstr ""
"можно выполнить ряд шагов по настройке для оптимизации системы в виртуальной "
"среде."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:130
#: documentation/content/en/books/handbook/virtualization/_index.adoc:243
msgid "Set Boot Loader Variables"
msgstr "Установка переменных загрузчика"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:133
msgid ""
"The most important step is to reduce the `kern.hz` tunable to reduce the CPU "
@@ -388,8 +388,8 @@ msgid ""
"the following additional line to [.filename]#/boot/loader.conf#:"
msgstr ""
"Если установлена FreeBSD 14.0 или более поздняя версия, а использование ЦП "
-"по-прежнему высокое, добавьте следующую строку в [.filename]#/boot/"
-"loader.conf#:"
+"по-прежнему высокое, добавьте следующую строку в [.filename]#/boot/loader."
+"conf#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/virtualization/_index.adoc:147
@@ -483,13 +483,13 @@ msgstr "vmware-freebsd01.png"
#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:175
msgid ""
-"This will load the New Virtual Machine Assistant. Choose "
-"[.guimenuitem]#Create a custom virtual machine# and click "
-"[.guimenuitem]#Continue# to proceed:"
+"This will load the New Virtual Machine Assistant. Choose [."
+"guimenuitem]#Create a custom virtual machine# and click [."
+"guimenuitem]#Continue# to proceed:"
msgstr ""
-"Это запустит Мастер создания новой виртуальной машины. Выберите "
-"[.guimenuitem]#Создать пользовательскую виртуальную машину# и нажмите "
-"[.guimenuitem]#Продолжить#, чтобы продолжить:"
+"Это запустит Мастер создания новой виртуальной машины. Выберите [."
+"guimenuitem]#Создать пользовательскую виртуальную машину# и нажмите [."
+"guimenuitem]#Продолжить#, чтобы продолжить:"
#. type: Target for macro image
#: documentation/content/en/books/handbook/virtualization/_index.adoc:176
@@ -528,11 +528,11 @@ msgstr "vmware-freebsd04.png"
#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:187
msgid ""
-"Choose [.guimenuitem]#Create a new virtual disk# and click "
-"[.guimenuitem]#Continue#:"
+"Choose [.guimenuitem]#Create a new virtual disk# and click [."
+"guimenuitem]#Continue#:"
msgstr ""
-"Выберите [.guimenuitem]#Создать новый виртуальный диск# и нажмите "
-"[.guimenuitem]#Продолжить#:"
+"Выберите [.guimenuitem]#Создать новый виртуальный диск# и нажмите [."
+"guimenuitem]#Продолжить#:"
#. type: Target for macro image
#: documentation/content/en/books/handbook/virtualization/_index.adoc:188
@@ -571,8 +571,8 @@ msgid ""
"Press command+E to open virtual machine settings and click [.guimenuitem]#CD/"
"DVD#:"
msgstr ""
-"Нажмите command+E, чтобы открыть настройки виртуальной машины, и выберите "
-"[.guimenuitem]#CD/DVD#:"
+"Нажмите command+E, чтобы открыть настройки виртуальной машины, и выберите [."
+"guimenuitem]#CD/DVD#:"
#. type: Target for macro image
#: documentation/content/en/books/handbook/virtualization/_index.adoc:200
@@ -662,8 +662,8 @@ msgstr ""
"Последнее, что нужно изменить, — это способ подключения виртуальной машины к "
"сети. Чтобы разрешить подключения к виртуальной машине с других машин, кроме "
"хоста, выберите [.guimenuitem]#Подключиться напрямую к физической сети "
-"(Bridged)#. В противном случае предпочтительнее выбрать "
-"[.guimenuitem]#Использовать интернет-подключение хоста (NAT)#, чтобы "
+"(Bridged)#. В противном случае предпочтительнее выбрать [."
+"guimenuitem]#Использовать интернет-подключение хоста (NAT)#, чтобы "
"виртуальная машина имела доступ в Интернет, но сеть не могла получить доступ "
"к виртуальной машине."
@@ -699,7 +699,7 @@ msgstr ""
"Fusion можно выполнить ряд шагов по настройке для оптимизации системы в "
"виртуальной среде."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:246
msgid ""
"The most important step is to reduce the `kern.hz` tunable to reduce the CPU "
@@ -782,8 +782,8 @@ msgstr "Включение мыши"
#: documentation/content/en/books/handbook/virtualization/_index.adoc:284
msgid ""
"Some users have reported issues using the mouse in the virtual machine. The "
-"mouse may be enabled by appending the following to [.filename]#/boot/"
-"loader.conf#:"
+"mouse may be enabled by appending the following to [.filename]#/boot/loader."
+"conf#:"
msgstr ""
"Некоторые пользователи сообщали о проблемах с использованием мыши в "
"виртуальной машине. Мышь можно включить, добавив следующее в [.filename]#/"
@@ -842,12 +842,12 @@ msgstr "Масштабирование окна."
msgid "Seamless mode."
msgstr "Бесшовный режим."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:308
msgid "These commands are run in the FreeBSD guest."
msgstr "Эти команды выполняются в гостевой системе FreeBSD."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/virtualization/_index.adoc:312
msgid ""
"First, install the package:emulators/virtualbox-ose-additions[] package or "
@@ -1015,9 +1015,8 @@ msgstr "Установка VirtualBox(TM)"
#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:388
msgid ""
-"VirtualBox(TM) is available as a FreeBSD package or port in "
-"package:emulators/virtualbox-ose[]. The port can be installed using these "
-"commands:"
+"VirtualBox(TM) is available as a FreeBSD package or port in package:"
+"emulators/virtualbox-ose[]. The port can be installed using these commands:"
msgstr ""
"VirtualBox(TM) доступен в FreeBSD как пакет или порт в package:emulators/"
"virtualbox-ose[]. Порт можно установить с помощью следующих команд:"
@@ -1071,11 +1070,11 @@ msgstr "# kldload vboxdrv\n"
#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:408
msgid ""
-"To ensure the module is always loaded after a reboot, add this line to "
-"[.filename]#/boot/loader.conf#:"
+"To ensure the module is always loaded after a reboot, add this line to [."
+"filename]#/boot/loader.conf#:"
msgstr ""
-"Чтобы модуль всегда загружался после перезагрузки, добавьте эту строку в "
-"[.filename]#/boot/loader.conf#:"
+"Чтобы модуль всегда загружался после перезагрузки, добавьте эту строку в [."
+"filename]#/boot/loader.conf#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/virtualization/_index.adoc:412
@@ -1143,8 +1142,8 @@ msgid ""
"To make this permissions change permanent, add these lines to [.filename]#/"
"etc/devfs.conf#:"
msgstr ""
-"Чтобы сделать это изменение прав постоянным, добавьте следующие строки в "
-"[.filename]#/etc/devfs.conf#:"
+"Чтобы сделать это изменение прав постоянным, добавьте следующие строки в [."
+"filename]#/etc/devfs.conf#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/virtualization/_index.adoc:444
@@ -1172,8 +1171,8 @@ msgstr "% VirtualBox\n"
msgid ""
"For more information on configuring and using VirtualBox(TM), refer to the "
"http://www.virtualbox.org[official website]. For FreeBSD-specific "
-"information and troubleshooting instructions, refer to the http://"
-"wiki.FreeBSD.org/VirtualBox[relevant page in the FreeBSD wiki]."
+"information and troubleshooting instructions, refer to the http://wiki."
+"FreeBSD.org/VirtualBox[relevant page in the FreeBSD wiki]."
msgstr ""
"Для получения дополнительной информации о настройке и использовании "
"VirtualBox(TM) обратитесь к http://www.virtualbox.org[официальному сайту]. "
@@ -1239,8 +1238,8 @@ msgstr ""
msgid ""
"To load these new rules, add the following to [.filename]#/etc/rc.conf#:"
msgstr ""
-"Чтобы загрузить эти новые правила, добавьте следующее в [.filename]#/etc/"
-"rc.conf#:"
+"Чтобы загрузить эти новые правила, добавьте следующее в [.filename]#/etc/rc."
+"conf#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/virtualization/_index.adoc:482
@@ -1302,10 +1301,10 @@ msgstr ""
#: documentation/content/en/books/handbook/virtualization/_index.adoc:506
msgid ""
"In order for users to be able to use VirtualBox(TM)DVD/CD functions, they "
-"need access to [.filename]#/dev/xpt0#, [.filename]#/dev/cdN#, and "
-"[.filename]#/dev/passN#. This is usually achieved by making the user a "
-"member of `operator`. Permissions to these devices have to be corrected by "
-"adding these lines to [.filename]#/etc/devfs.conf#:"
+"need access to [.filename]#/dev/xpt0#, [.filename]#/dev/cdN#, and [."
+"filename]#/dev/passN#. This is usually achieved by making the user a member "
+"of `operator`. Permissions to these devices have to be corrected by adding "
+"these lines to [.filename]#/etc/devfs.conf#:"
msgstr ""
"Для того чтобы пользователи могли использовать функции VirtualBox(TM) для "
"работы с DVD/CD, им необходим доступ к [.filename]#/dev/xpt0#, [.filename]#/"
@@ -1393,15 +1392,15 @@ msgstr ""
msgid ""
"QEMU can emulate a wide number of architectures including `Arm(TM)`, `i386`, "
"`x86_64`, `MIPS(TM)`, `s390X`, `SPARC(TM)` (Sparc(TM) and Sparc64(TM)), and "
-"others. The list of link:https://www.qemu.org/docs/master/system/"
-"targets.html#system-targets-ref[QEMU System Emulator Targets] is regularly "
-"kept up to date."
+"others. The list of link:https://www.qemu.org/docs/master/system/targets."
+"html#system-targets-ref[QEMU System Emulator Targets] is regularly kept up "
+"to date."
msgstr ""
"QEMU может эмулировать широкий спектр архитектур, включая `Arm(TM)`, `i386`, "
"`x86_64`, `MIPS(TM)`, `s390X`, `SPARC(TM)` (Sparc(TM) и Sparc64(TM)), и "
-"другие. Список link:https://www.qemu.org/docs/master/system/"
-"targets.html#system-targets-ref[целевых систем QEMU System Emulator] "
-"регулярно обновляется."
+"другие. Список link:https://www.qemu.org/docs/master/system/targets."
+"html#system-targets-ref[целевых систем QEMU System Emulator] регулярно "
+"обновляется."
#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:540
@@ -1512,8 +1511,8 @@ msgid ""
"change from one version to the next. This section provides examples "
"developed with QEMU version 9.0.1 (Summer, 2024). When in doubt, always "
"consult the link:https://www.qemu.org/docs/master/[QEMU Documentation] "
-"particularly the link:https://www.qemu.org/docs/master/about/"
-"index.html[About QEMU] page which has links to supported build platforms, "
+"particularly the link:https://www.qemu.org/docs/master/about/index."
+"html[About QEMU] page which has links to supported build platforms, "
"emulation, deprecated features, and removed features."
msgstr ""
"QEMU находится в стадии активной разработки. Возможности и параметры команд "
@@ -1548,8 +1547,8 @@ msgstr "% mkdir -p ~/QEMU ~/QEMU/SCRIPTS ~/QEMU/ISO ~/QEMU/VM\n"
#: documentation/content/en/books/handbook/virtualization/_index.adoc:600
msgid ""
"The [.filename]#SCRIPTS# directory is for startup scripts and utilities. "
-"The [.filename]#ISO# directory is for the guest ISO boot images. The "
-"[.filename]#VM# directory is where the virtual machine images (`VMs`) will "
+"The [.filename]#ISO# directory is for the guest ISO boot images. The [."
+"filename]#VM# directory is where the virtual machine images (`VMs`) will "
"reside."
msgstr ""
"Каталог [.filename]#SCRIPTS# предназначен для стартовых скриптов и утилит. "
@@ -1778,9 +1777,9 @@ msgstr ""
#: documentation/content/en/books/handbook/virtualization/_index.adoc:701
msgid ""
"QEMU will start up a virtual machine in a separate window and boot the "
-"FreeBSD iso as shown in crossref:virtualization[qemu-newboot-loader-"
-"menu,Figure {counter:figure}]. All command options such as `-cpu` and `-"
-"boot` are fully described in the QEMU man page man:qemu[1]."
+"FreeBSD iso as shown in crossref:virtualization[qemu-newboot-loader-menu,"
+"Figure {counter:figure}]. All command options such as `-cpu` and `-boot` "
+"are fully described in the QEMU man page man:qemu[1]."
msgstr ""
"QEMU запустит виртуальную машину в отдельном окне и загрузит FreeBSD iso, "
"как показано на crossref:virtualization[qemu-newboot-loader-menu,рисунке "
@@ -1809,8 +1808,8 @@ msgstr "qemu-freebsd02.png"
#: documentation/content/en/books/handbook/virtualization/_index.adoc:711
msgid ""
"If the mouse is clicked in the QEMU console window, QEMU will “grab” the "
-"mouse as shown in crossref:virtualization[qemu-grab,Figure "
-"{counter:figure}]. Type kbd:[Ctl]+kbd:[Alt]+kbd:[G]” to release the mouse."
+"mouse as shown in crossref:virtualization[qemu-grab,Figure {counter:"
+"figure}]. Type kbd:[Ctl]+kbd:[Alt]+kbd:[G]” to release the mouse."
msgstr ""
"Если в окне консоли QEMU кликнуть мышкой , QEMU «захватит» мышь, как "
"показано в crossref:virtualization[qemu-grab,Рисунок {counter:figure}]. "
@@ -2037,16 +2036,16 @@ msgstr "% startx\n"
#: documentation/content/en/books/handbook/virtualization/_index.adoc:803
msgid ""
"The XFCE4 window manager should start up and present a functioning graphical "
-"desktop as in crossref:virtualization[qemu-two-qemu,Figure "
-"{counter:figure}]. On initial startup, it may take up to a minute to "
-"display the desktop. See the documentation at the link:https://"
-"www.xfce.org[XFCE website] for usage details."
+"desktop as in crossref:virtualization[qemu-two-qemu,Figure {counter:"
+"figure}]. On initial startup, it may take up to a minute to display the "
+"desktop. See the documentation at the link:https://www.xfce.org[XFCE "
+"website] for usage details."
msgstr ""
"Менеджер окон XFCE4 должен запуститься и предоставить рабочий графический "
-"рабочий стол, как на crossref:virtualization[qemu-two-qemu,рисунке "
-"{counter:figure}]. При первом запуске отображение рабочего стола может "
-"занять до минуты. Подробности использования см. в документации на "
-"link:https://www.xfce.org[сайте XFCE]."
+"рабочий стол, как на crossref:virtualization[qemu-two-qemu,рисунке {counter:"
+"figure}]. При первом запуске отображение рабочего стола может занять до "
+"минуты. Подробности использования см. в документации на link:https://www."
+"xfce.org[сайте XFCE]."
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/virtualization/_index.adoc:804
@@ -2100,15 +2099,14 @@ msgstr ""
msgid ""
"To switch to another virtual console, click into the QEMU window and type "
"kbd:[Alt+F2] or kbd:[Alt+F3]. FreeBSD should switch to another virtual "
-"console. crossref:virtualization[qemu-console-ttyv3,Figure "
-"{counter:figure}] shows the \"left\" VM displaying the virtual console on "
-"`ttyv3`."
+"console. crossref:virtualization[qemu-console-ttyv3,Figure {counter:"
+"figure}] shows the \"left\" VM displaying the virtual console on `ttyv3`."
msgstr ""
"Для переключения на другую виртуальную консоль кликните в окно QEMU и "
"нажмите kbd:[Alt+F2] или kbd:[Alt+F3]. FreeBSD должна переключиться на "
-"другую виртуальную консоль. crossref:virtualization[qemu-console-"
-"ttyv3,Рисунок {counter:figure}] показывает ВМ \"left\" с виртуальной "
-"консолью на `ttyv3`."
+"другую виртуальную консоль. crossref:virtualization[qemu-console-ttyv3,"
+"Рисунок {counter:figure}] показывает ВМ \"left\" с виртуальной консолью на "
+"`ttyv3`."
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/virtualization/_index.adoc:823
@@ -2133,10 +2131,10 @@ msgid ""
"details."
msgstr ""
"Текущий менеджер рабочего стола или оконный менеджер на хосте может быть уже "
-"настроен на другое действие для комбинаций клавиш kbd:[Alt+F1], kbd:"
-"[Alt+F2]. В таком случае попробуйте нажать kbd:[Ctrl+Alt+F1], kbd:"
-"[Ctrl+Alt+F2] или другую подобную комбинацию. Подробности смотрите в "
-"документации вашего оконного менеджера или менеджера рабочего стола."
+"настроен на другое действие для комбинаций клавиш kbd:[Alt+F1], kbd:[Alt"
+"+F2]. В таком случае попробуйте нажать kbd:[Ctrl+Alt+F1], kbd:[Ctrl+Alt+F2] "
+"или другую подобную комбинацию. Подробности смотрите в документации вашего "
+"оконного менеджера или менеджера рабочего стола."
#. type: Title ====
#: documentation/content/en/books/handbook/virtualization/_index.adoc:834
@@ -2150,16 +2148,15 @@ msgid ""
"Another feature of the QEMU window is the `View` menu and the Zoom "
"controls. The most useful is `Zoom to Fit`. When this menu selection is "
"clicked, it is then possible to resize the QEMU window by clicking the "
-"window corner controls and resizing the window. "
-"crossref:virtualization[qemu-zoom-to-fit,Figure {counter:figure}] shows the "
-"effect of resizing the \"left\" window while in graphics mode."
+"window corner controls and resizing the window. crossref:"
+"virtualization[qemu-zoom-to-fit,Figure {counter:figure}] shows the effect of "
+"resizing the \"left\" window while in graphics mode."
msgstr ""
"Еще одна особенность окна QEMU — это меню `View` и элементы управления "
"масштабом. Наиболее полезным является пункт `Zoom to Fit`. При выборе этого "
"пункта меню появляется возможность изменить размер окна QEMU, перетаскивая "
-"его углы. На crossref:virtualization[qemu-zoom-to-fit,рисунке "
-"{counter:figure}] показан эффект изменения размера окна \"left\" в "
-"графическом режиме."
+"его углы. На crossref:virtualization[qemu-zoom-to-fit,рисунке {counter:"
+"figure}] показан эффект изменения размера окна \"left\" в графическом режиме."
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/virtualization/_index.adoc:842
@@ -2344,30 +2341,30 @@ msgstr "qemu-freebsd07.png"
#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:906
msgid ""
-"In crossref:virtualization[qemu-notes-on-serial-console,Figure "
-"{counter:figure}], the serial port is redirected to a TCP port on the host "
-"system at VM startup and the QEMU monitor waits (`wait=on`) to activate the "
-"guest VM until a man:telnet[1] connection occurs on the indicated localhost "
-"port. After receiving a connection from a separate session, the FreeBSD "
-"system starts booting and looks for a console directive in [.filename]#/boot/"
-"loader.conf#. With the directive \"console=comconsole\", FreeBSD starts up "
-"a console session on a serial port. The QEMU monitor detects this and "
-"directs the necessary character I/O on that serial port to the telnet "
-"session on the host. The system boots and once finished, login prompts are "
-"enabled on the serial port (`ttyu0`) and on the console (`ttyv0`)."
-msgstr ""
-"На crossref:virtualization[qemu-notes-on-serial-console,рисунке "
-"{counter:figure}] последовательный порт перенаправляется на TCP-порт хост-"
-"системы при запуске ВМ, а монитор QEMU ожидает (`wait=on`), активируя "
-"гостевую ВМ только после установления соединения man:telnet[1] с указанным "
-"портом localhost. После получения соединения из отдельного сеанса система "
-"FreeBSD начинает загрузку и ищет директиву консоли в [.filename]#/boot/"
-"loader.conf#. С директивой \"console=comconsole\" FreeBSD запускает "
-"консольный сеанс на последовательном порту. Монитор QEMU обнаруживает это и "
-"направляет необходимый символьный ввод-вывод с этого последовательного порта "
-"в telnet-сеанс на хосте. Система загружается, и после завершения загрузки "
-"приглашения для входа в систему становятся доступными на последовательном "
-"порту (`ttyu0`) и на консоли (`ttyv0`)."
+"In crossref:virtualization[qemu-notes-on-serial-console,Figure {counter:"
+"figure}], the serial port is redirected to a TCP port on the host system at "
+"VM startup and the QEMU monitor waits (`wait=on`) to activate the guest VM "
+"until a man:telnet[1] connection occurs on the indicated localhost port. "
+"After receiving a connection from a separate session, the FreeBSD system "
+"starts booting and looks for a console directive in [.filename]#/boot/loader."
+"conf#. With the directive \"console=comconsole\", FreeBSD starts up a "
+"console session on a serial port. The QEMU monitor detects this and directs "
+"the necessary character I/O on that serial port to the telnet session on the "
+"host. The system boots and once finished, login prompts are enabled on the "
+"serial port (`ttyu0`) and on the console (`ttyv0`)."
+msgstr ""
+"На crossref:virtualization[qemu-notes-on-serial-console,рисунке {counter:"
+"figure}] последовательный порт перенаправляется на TCP-порт хост-системы при "
+"запуске ВМ, а монитор QEMU ожидает (`wait=on`), активируя гостевую ВМ только "
+"после установления соединения man:telnet[1] с указанным портом localhost. "
+"После получения соединения из отдельного сеанса система FreeBSD начинает "
+"загрузку и ищет директиву консоли в [.filename]#/boot/loader.conf#. С "
+"директивой \"console=comconsole\" FreeBSD запускает консольный сеанс на "
+"последовательном порту. Монитор QEMU обнаруживает это и направляет "
+"необходимый символьный ввод-вывод с этого последовательного порта в telnet-"
+"сеанс на хосте. Система загружается, и после завершения загрузки приглашения "
+"для входа в систему становятся доступными на последовательном порту "
+"(`ttyu0`) и на консоли (`ttyv0`)."
#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:910
@@ -2396,20 +2393,20 @@ msgid ""
"On the serial console, if the window is resized, execute man:resizewin[1] to "
"update the terminal size."
msgstr ""
-"На последовательной консоли, если размер окна изменен, выполните "
-"man:resizewin[1], чтобы обновить размер терминала."
+"На последовательной консоли, если размер окна изменен, выполните man:"
+"resizewin[1], чтобы обновить размер терминала."
#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:918
msgid ""
"It may be desirable (even necessary) to stop syslog message from being sent "
-"to the console (both the QEMU console and the serial port). Consult "
-"man:syslog.conf[5] for details on redirecting console messages."
+"to the console (both the QEMU console and the serial port). Consult man:"
+"syslog.conf[5] for details on redirecting console messages."
msgstr ""
"Может быть желательно (или даже необходимо) остановить отправку сообщений "
"syslog на консоль (как консоль QEMU, так и последовательный порт). "
-"Подробности о перенаправлении сообщений консоли можно найти в "
-"man:syslog.conf[5]."
+"Подробности о перенаправлении сообщений консоли можно найти в man:syslog."
+"conf[5]."
#. type: delimited block = 4
#: documentation/content/en/books/handbook/virtualization/_index.adoc:924
@@ -2625,8 +2622,8 @@ msgid ""
"connect to localhost on port 4410."
msgstr ""
"Как и ранее, параметр сервера `telnet` настроен на ожидание отдельного "
-"подключения на порту 4410. Запустите еще один сеанс и используйте "
-"man:telnet[1] для подключения к localhost на порту 4410."
+"подключения на порту 4410. Запустите еще один сеанс и используйте man:"
+"telnet[1] для подключения к localhost на порту 4410."
#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1004
@@ -2647,24 +2644,23 @@ msgid ""
"methods is here: link:https://wiki.qemu.org/Documentation/Networking[QEMU "
"Networking Documentation]"
msgstr ""
-"Сетевое взаимодействие не настраивается через комбинацию man:tap[4] / "
-"man:if_bridge[4]. В этом примере используется отдельный метод сетевого "
-"взаимодействия QEMU, известный как \"Serial Line Internet Protocol\" "
-"(SLIRP), иногда называемый \"User Mode Networking\". Документация по этому и "
-"другим методам сетевого взаимодействия QEMU находится здесь: link:https://"
-"wiki.qemu.org/Documentation/Networking[Документация по сетевому "
+"Сетевое взаимодействие не настраивается через комбинацию man:tap[4] / man:"
+"if_bridge[4]. В этом примере используется отдельный метод сетевого "
+"взаимодействия QEMU, известный как \"Serial Line Internet Protocol"
+"\" (SLIRP), иногда называемый \"User Mode Networking\". Документация по "
+"этому и другим методам сетевого взаимодействия QEMU находится здесь: link:"
+"https://wiki.qemu.org/Documentation/Networking[Документация по сетевому "
"взаимодействию QEMU]"
#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1010
msgid ""
-"If everything is set correctly, the system will boot as shown in "
-"crossref:virtualization[qemu-sparc64-boot-cdrom-installation,Figure "
-"{counter:figure}]."
+"If everything is set correctly, the system will boot as shown in crossref:"
+"virtualization[qemu-sparc64-boot-cdrom-installation,Figure {counter:figure}]."
msgstr ""
-"Если все настроено правильно, система загрузится, как показано на "
-"crossref:virtualization[qemu-sparc64-boot-cdrom-installation,рисунке "
-"{counter:figure}]."
+"Если все настроено правильно, система загрузится, как показано на crossref:"
+"virtualization[qemu-sparc64-boot-cdrom-installation,рисунке {counter:"
+"figure}]."
#. type: Block title
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1011
@@ -2712,8 +2708,8 @@ msgstr ""
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1025
msgid ""
"crossref:virtualization[qemu-sparc64-login-to-installed-system,Figure "
-"{counter:figure}] shows a root login to the installed system and running "
-"man:uname[1]."
+"{counter:figure}] shows a root login to the installed system and running man:"
+"uname[1]."
msgstr ""
"На crossref:virtualization[qemu-sparc64-login-to-installed-system,рисунке "
"{counter:figure}] показан вход в систему от имени root в установленной "
@@ -3085,16 +3081,15 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1146
msgid ""
-"crossref:virtualization[qemu-using-monitor-snapshots,Figure "
-"{counter:figure}] shows the newly installed FreeBSD system with no packages, "
-"and separately, the editing session on ttyv1. The man:vi[1] editor is "
-"currently in `insert` mode with the typist typing the word \"broadcast\"."
+"crossref:virtualization[qemu-using-monitor-snapshots,Figure {counter:"
+"figure}] shows the newly installed FreeBSD system with no packages, and "
+"separately, the editing session on ttyv1. The man:vi[1] editor is currently "
+"in `insert` mode with the typist typing the word \"broadcast\"."
msgstr ""
-"crossref:virtualization[qemu-using-monitor-snapshots,Рисунок "
-"{counter:figure}] показывает новую установленную систему FreeBSD без "
-"пакетов, а также отдельно сеанс редактирования на ttyv1. Редактор man:vi[1] "
-"в данный момент находится в режиме `insert`, и пользователь набирает слово "
-"\"broadcast\"."
+"crossref:virtualization[qemu-using-monitor-snapshots,Рисунок {counter:"
+"figure}] показывает новую установленную систему FreeBSD без пакетов, а также "
+"отдельно сеанс редактирования на ttyv1. Редактор man:vi[1] в данный момент "
+"находится в режиме `insert`, и пользователь набирает слово \"broadcast\"."
#. type: Block title
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1148
@@ -3143,13 +3138,13 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1165
msgid ""
-"crossref:virtualization[qemu-after-monitor-snapshots,Figure "
-"{counter:figure}] shows the results of the above commands and the output of "
-"the `info shapshots` command."
+"crossref:virtualization[qemu-after-monitor-snapshots,Figure {counter:"
+"figure}] shows the results of the above commands and the output of the `info "
+"shapshots` command."
msgstr ""
-"crossref:virtualization[qemu-after-monitor-snapshots,Рисунок "
-"{counter:figure}] показывает результаты выполненных выше команд и вывод "
-"команды `info shapshots`."
+"crossref:virtualization[qemu-after-monitor-snapshots,Рисунок {counter:"
+"figure}] показывает результаты выполненных выше команд и вывод команды `info "
+"shapshots`."
#. type: Block title
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1167
@@ -3230,9 +3225,8 @@ msgstr ""
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1195
msgid ""
"By default QEMU stores snapshot data in the same file as the image. View "
-"the list of snapshots with man:qemu-img[1] as shown below in "
-"crossref:virtualization[qemu-examine-monitor-snapshots,Figure "
-"{counter:figure}]."
+"the list of snapshots with man:qemu-img[1] as shown below in crossref:"
+"virtualization[qemu-examine-monitor-snapshots,Figure {counter:figure}]."
msgstr ""
"По умолчанию QEMU хранит данные снимков в том же файле, что и образ. "
"Просмотреть список снимков можно с помощью man:qemu-img[1], как показано "
@@ -3328,8 +3322,8 @@ msgstr ""
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1234
msgid ""
"When the system is booted, FreeBSD will recognize a USB hub, add the "
-"attached USB device, and assign it to `da0` as shown in "
-"crossref:virtualization[qemu-usb-internal-storage,Figure {counter:figure}]."
+"attached USB device, and assign it to `da0` as shown in crossref:"
+"virtualization[qemu-usb-internal-storage,Figure {counter:figure}]."
msgstr ""
"При загрузке системы FreeBSD распознает USB-концентратор, добавит "
"подключенное USB-устройство и назначит его на `da0`, как показано на "
@@ -3391,8 +3385,8 @@ msgid ""
"The upper part of crossref:virtualization[qemu-usb-passthrough,Figure "
"{counter:figure}] shows the QEMU monitor commands:"
msgstr ""
-"Верхняя часть crossref:virtualization[qemu-usb-passthrough,рисунка "
-"{counter:figure}] показывает команды монитора QEMU:"
+"Верхняя часть crossref:virtualization[qemu-usb-passthrough,рисунка {counter:"
+"figure}] показывает команды монитора QEMU:"
#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1258
@@ -3467,9 +3461,9 @@ msgid ""
"device. The device is then unmounted with man:umount[8]."
msgstr ""
"Если USB-устройство отформатировано как файловая система FAT16 или FAT32, "
-"его можно подключить как файловую систему MS-DOS(TM) с помощью "
-"man:mount_msdosfs[8], как показано в примере. Файл `/etc/hosts` копируется "
-"на только что подключённый диск, и для проверки целостности файла на USB-"
+"его можно подключить как файловую систему MS-DOS(TM) с помощью man:"
+"mount_msdosfs[8], как показано в примере. Файл `/etc/hosts` копируется на "
+"только что подключённый диск, и для проверки целостности файла на USB-"
"устройстве вычисляются контрольные суммы. Затем устройство отключается с "
"помощью man:umount[8]."
@@ -3536,9 +3530,9 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1300
msgid ""
-"The list of link:https://www.qemu.org/docs/master/system/"
-"introduction.html#virtualisation-accelerators[Virtualization Accelerators] "
-"supported by QEMU includes:"
+"The list of link:https://www.qemu.org/docs/master/system/introduction."
+"html#virtualisation-accelerators[Virtualization Accelerators] supported by "
+"QEMU includes:"
msgstr ""
"Список поддерживаемых QEMU link:https://www.qemu.org/docs/master/system/"
"introduction.html#virtualisation-accelerators[ускорителей виртуализации] "
@@ -3665,8 +3659,8 @@ msgid ""
"`EPT` and `UG` on the `VT-x` line for Intel(R) processors."
msgstr ""
"Самый простой способ проверить, поддерживает ли процессор Intel или AMD "
-"технологию bhyve, — выполнить команду `dmesg` или посмотреть в файле "
-"[.filename]#/var/run/dmesg.boot# флаг `POPCNT` в строке `Features2` для "
+"технологию bhyve, — выполнить команду `dmesg` или посмотреть в файле [."
+"filename]#/var/run/dmesg.boot# флаг `POPCNT` в строке `Features2` для "
"процессоров AMD(R) или флаги `EPT` и `UG` в строке `VT-x` для процессоров "
"Intel(R)."
@@ -3695,8 +3689,8 @@ msgstr "# kldload vmm\n"
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1343
msgid ""
"There are several ways to connect a virtual machine guest to a host's "
-"network; one straightforward way to accomplish this is to create a "
-"[.filename]#tap# interface for the network device in the virtual machine to "
+"network; one straightforward way to accomplish this is to create a [."
+"filename]#tap# interface for the network device in the virtual machine to "
"attach to. For the network device to participate in the network, also "
"create a bridge interface containing the [.filename]#tap# interface and the "
"physical interface as members. In this example, the physical interface is "
@@ -3879,15 +3873,15 @@ msgstr "Создание гостевой системы Linux(R)"
#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1417
msgid ""
-"Linux guests can be booted either like any other regular "
-"crossref:virtualization[virtualization-bhyve-uefi,\"UEFI-based guest\"] "
-"virtual machine, or alternatively, you can make use of the package:sysutils/"
-"grub2-bhyve[] port."
+"Linux guests can be booted either like any other regular crossref:"
+"virtualization[virtualization-bhyve-uefi,\"UEFI-based guest\"] virtual "
+"machine, or alternatively, you can make use of the package:sysutils/grub2-"
+"bhyve[] port."
msgstr ""
"Гостевые системы Linux можно загружать как любую другую обычную виртуальную "
-"машину на основе crossref:virtualization[virtualization-bhyve-uefi,"
-"\"UEFI\"], либо, в качестве альтернативы, можно использовать порт "
-"package:sysutils/grub2-bhyve[]."
+"машину на основе crossref:virtualization[virtualization-bhyve-uefi,\"UEFI"
+"\"], либо, в качестве альтернативы, можно использовать порт package:sysutils/"
+"grub2-bhyve[]."
#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1419
@@ -3960,13 +3954,13 @@ msgstr "# grub-bhyve -m device.map -r cd0 -M 1024M linuxguest\n"
#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1448
msgid ""
-"This will start grub. If the installation CD contains a "
-"[.filename]#grub.cfg#, a menu will be displayed. If not, the `vmlinuz` and "
-"`initrd` files must be located and loaded manually:"
+"This will start grub. If the installation CD contains a [.filename]#grub."
+"cfg#, a menu will be displayed. If not, the `vmlinuz` and `initrd` files "
+"must be located and loaded manually:"
msgstr ""
-"Это запустит grub. Если на установочном CD содержится файл "
-"[.filename]#grub.cfg#, будет отображено меню. Если нет, файлы `vmlinuz` и "
-"`initrd` необходимо найти и загрузить вручную:"
+"Это запустит grub. Если на установочном CD содержится файл [.filename]#grub."
+"cfg#, будет отображено меню. Если нет, файлы `vmlinuz` и `initrd` необходимо "
+"найти и загрузить вручную:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1459
@@ -4198,8 +4192,8 @@ msgid ""
"partition files."
msgstr ""
"Некоторые дистрибутивы Linux требуют использования переменных UEFI для "
-"хранения пути к их загрузочному файлу UEFI (например, используют "
-"`linux64.efi` или `grubx64.efi` вместо `bootx64.efi`). Поэтому рекомендуется "
+"хранения пути к их загрузочному файлу UEFI (например, используют `linux64."
+"efi` или `grubx64.efi` вместо `bootx64.efi`). Поэтому рекомендуется "
"использовать файл переменных для виртуальных машин Linux, чтобы избежать "
"необходимости вручную изменять файлы загрузочного раздела."
@@ -4209,8 +4203,8 @@ msgid ""
"To view or modify the variables file contents, use man:efivar[8] from the "
"host."
msgstr ""
-"Для просмотра или изменения содержимого файла переменных используйте "
-"man:efivar[8] с хоста."
+"Для просмотра или изменения содержимого файла переменных используйте man:"
+"efivar[8] с хоста."
#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1566
@@ -4255,8 +4249,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1585
msgid ""
-"Support for the UEFI-GOP framebuffer may also be enabled with the `-s "
-"29,fbuf,tcp=_0.0.0.0:5900_` flags. The framebuffer resolution may be "
+"Support for the UEFI-GOP framebuffer may also be enabled with the `-s 29,"
+"fbuf,tcp=_0.0.0.0:5900_` flags. The framebuffer resolution may be "
"configured with `w=_800_` and `h=_600_`, and bhyve can be instructed to wait "
"for a VNC connection before booting the guest by adding `wait`. The "
"framebuffer may be accessed from the host or over the network via the VNC "
@@ -4383,11 +4377,11 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1632
msgid ""
-"link:https://github.com/virtio-win/virtio-win-pkg-scripts/blob/master/"
-"README.md[VirtIO drivers] must be installed to use the defined `virtio-net` "
-"network interface. An alternative is to switch to E1000 (Intel E82545) "
-"emulation by changing `virtio-net` to `e1000` in the above command line. "
-"However, performance will be impacted."
+"link:https://github.com/virtio-win/virtio-win-pkg-scripts/blob/master/README."
+"md[VirtIO drivers] must be installed to use the defined `virtio-net` network "
+"interface. An alternative is to switch to E1000 (Intel E82545) emulation by "
+"changing `virtio-net` to `e1000` in the above command line. However, "
+"performance will be impacted."
msgstr ""
"Для использования определенного сетевого интерфейса `virtio-net` необходимо "
"установить link:https://github.com/virtio-win/virtio-win-pkg-scripts/blob/"
@@ -4407,8 +4401,8 @@ msgid ""
"Beginning with Windows 11, Microsoft introduced a hardware requirement for a "
"TPM 2 module. bhyve supports passing a hardware TPM through to a guest. "
"The installation media can be modified to disable the relevant hardware "
-"checks. A detailed description for this process can be found on the "
-"link:https://wiki.freebsd.org/bhyve/Windows#iso-remaster[FreeBSD Wiki]."
+"checks. A detailed description for this process can be found on the link:"
+"https://wiki.freebsd.org/bhyve/Windows#iso-remaster[FreeBSD Wiki]."
msgstr ""
"Начиная с Windows 11, Microsoft ввела требование к оборудованию в виде "
"модуля TPM 2. bhyve поддерживает передачу аппаратного TPM гостевой системе. "
@@ -4652,8 +4646,8 @@ msgid ""
"Updating the Source] for the detailed procedure how to do this."
msgstr ""
"Убедитесь, что каталог [.filename]#/usr/src# актуален, прежде чем выполнять "
-"следующие шаги. Подробная процедура обновления описана в разделе "
-"crossref:cutting-edge[updating-src-obtaining-src, Updating the Source]."
+"следующие шаги. Подробная процедура обновления описана в разделе crossref:"
+"cutting-edge[updating-src-obtaining-src, Updating the Source]."
#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1732
@@ -4771,11 +4765,11 @@ msgstr "моментальный снимок памяти - назван ана
#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1785
msgid ""
-"kernel file - name like the input to `--suspend` with the suffix "
-"[.filename]#.kern#"
+"kernel file - name like the input to `--suspend` with the suffix [."
+"filename]#.kern#"
msgstr ""
-"файл ядра - имя, аналогичное входному параметру `--suspend`, с суффиксом "
-"[.filename]#.kern#"
+"файл ядра - имя, аналогичное входному параметру `--suspend`, с суффиксом [."
+"filename]#.kern#"
#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1786
@@ -4821,14 +4815,13 @@ msgstr "bhyve в клетке"
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1802
msgid ""
"For improved security and separation of virtual machines from the host "
-"operating system, it is possible to run bhyve in a jail. See "
-"crossref:jails[,Jails] for an in-depth description of jails and their "
-"security benefits."
+"operating system, it is possible to run bhyve in a jail. See crossref:"
+"jails[,Jails] for an in-depth description of jails and their security "
+"benefits."
msgstr ""
"Для повышения безопасности и изоляции виртуальных машин от основной "
-"операционной системы можно запускать bhyve в клетке. См. "
-"crossref:jails[,Клетки] для подробного описания клеток и их преимуществ в "
-"плане безопасности."
+"операционной системы можно запускать bhyve в клетке. См. crossref:jails[,"
+"Клетки] для подробного описания клеток и их преимуществ в плане безопасности."
#. type: Title ====
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1804
@@ -4925,8 +4918,8 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1849
msgid ""
-"Running a higher FreeBSD version in a jail than the host is unsupported "
-"(i.e. running 14.0-RELEASE in a jail, embedded in a 13.2-RELEASE host)."
+"Running a higher FreeBSD version in a jail than the host is unsupported (i."
+"e. running 14.0-RELEASE in a jail, embedded in a 13.2-RELEASE host)."
msgstr ""
"Запуск более высокой версии FreeBSD в клетке, чем на хосте, не "
"поддерживается (например, запуск 14.0-RELEASE в jail на хосте с 13.2-"
@@ -5050,8 +5043,8 @@ msgid ""
"will prevent the jail (and thus bhyve) from seeing [.filename]#tap# "
"interfaces of the host and other jails."
msgstr ""
-"Ограничение доступа к подмножеству возможных имён интерфейсов "
-"[.filename]#tap# предотвратит доступ клетки (и, следовательно, bhyve) к "
+"Ограничение доступа к подмножеству возможных имён интерфейсов [."
+"filename]#tap# предотвратит доступ клетки (и, следовательно, bhyve) к "
"интерфейсам [.filename]#tap# хоста и других клеток."
#. type: delimited block = 4
@@ -5060,8 +5053,8 @@ msgid ""
"use [.filename]#nmdm# devices prefixed with \"bhyve\", i.e. [.filename]#/dev/"
"nmdmbhyve0#."
msgstr ""
-"используйте устройства [.filename]#nmdm# с префиксом \"bhyve\", например "
-"[.filename]#/dev/nmdmbhyve0#."
+"используйте устройства [.filename]#nmdm# с префиксом \"bhyve\", например [."
+"filename]#/dev/nmdmbhyve0#."
#. type: delimited block = 4
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1907
@@ -5072,7 +5065,7 @@ msgstr ""
"Эти правила можно расширять и изменять, используя различные имена гостевых "
"систем и интерфейсов по необходимости."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1912
msgid ""
"If you intend to use bhyve on the host as well as in a one or more jails, "
@@ -5081,11 +5074,11 @@ msgid ""
"nmdmbhyve0# only either for bhyve on the host or in a jail."
msgstr ""
"Если вы планируете использовать bhyve как на хосте, так и в одной или "
-"нескольких клеток, помните, что имена интерфейсов [.filename]#tap# и "
-"[.filename]#nmdm# будут работать в общей среде. Например, [.filename]#/dev/"
+"нескольких клеток, помните, что имена интерфейсов [.filename]#tap# и [."
+"filename]#nmdm# будут работать в общей среде. Например, [.filename]#/dev/"
"nmdmbhyve0# можно использовать либо для bhyve на хосте, либо в клетке."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1915
msgid "Restart devfs for the changes to be loaded:"
msgstr "Перезапустите devfs для применения изменений:"
@@ -5094,12 +5087,12 @@ msgstr "Перезапустите devfs для применения измен
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1923
msgid ""
"Then add a definition for your new jail into [.filename]#/etc/jail.conf# or "
-"[.filename]#/etc/jail.conf.d#. Replace the interface number "
-"[.filename]#$if# and IP address with your personal variations."
+"[.filename]#/etc/jail.conf.d#. Replace the interface number [.filename]#"
+"$if# and IP address with your personal variations."
msgstr ""
-"Затем добавьте определение для вашей новой клетке в [.filename]#/etc/"
-"jail.conf# или [.filename]#/etc/jail.conf.d#. Замените номер интерфейса "
-"[.filename]#$if# и IP-адрес на свои значения."
+"Затем добавьте определение для вашей новой клетке в [.filename]#/etc/jail."
+"conf# или [.filename]#/etc/jail.conf.d#. Замените номер интерфейса [."
+"filename]#$if# и IP-адрес на свои значения."
#. type: Block title
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1924
@@ -5197,8 +5190,8 @@ msgid ""
msgstr ""
"Этот пример предполагает использование межсетевого экрана, такого как `pf` "
"или `ipfw`, для трансляции сетевых адресов (NAT) трафика вашей jail. "
-"Подробнее о доступных вариантах реализации этого смотрите в главе "
-"crossref:firewalls[,Межсетевые экраны]."
+"Подробнее о доступных вариантах реализации этого смотрите в главе crossref:"
+"firewalls[,Межсетевые экраны]."
#. type: Block title
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1961
@@ -5228,7 +5221,7 @@ msgstr ""
" exec.prestart += \"/sbin/ifconfig bridge0 addm ${name}0\";\n"
" exec.prestart += \"/sbin/sysctl net.inet.ip.forwarding=1\";\n"
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:1999
msgid ""
"If you previously replaced the devfs ruleset ID 100 in [.filename]#/etc/"
@@ -5245,7 +5238,7 @@ msgstr ""
msgid "Configuring the Jail"
msgstr "Настройка клетки"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/virtualization/_index.adoc:2005
msgid ""
"To start the jail for the first time and do some additional configuration "
@@ -5376,7 +5369,8 @@ msgid ""
msgstr ""
"# jexec bhyve\n"
"# sh /usr/share/examples/bhyve/vmrun.sh -c 1 -m 1024M \\\n"
-" -t tap100 -d /dev/zvol/zroot/vms/bhyvevm0 -i -I /vms/FreeBSD-14.0-RELEASE-amd64-bootonly.iso bhyvevm0\n"
+" -t tap100 -d /dev/zvol/zroot/vms/bhyvevm0 -i -I /vms/FreeBSD-14.0"
+"-RELEASE-amd64-bootonly.iso bhyvevm0\n"
#. type: Block title
#: documentation/content/en/books/handbook/virtualization/_index.adoc:2070
@@ -5384,7 +5378,7 @@ msgstr ""
msgid "Starting with `vmrun.sh` and UFS"
msgstr "Запуск с `vmrun.sh` и UFS"
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:2074
msgid "Using `vmrun.sh` on a UFS filesystem:"
msgstr "Используя `vmrun.sh` на файловой системе UFS:"
@@ -5407,7 +5401,7 @@ msgstr ""
msgid "Starting bhyve for an UEFI guest with ZFS"
msgstr "Запуск bhyve для гостевой системы UEFI с ZFS"
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:2087
msgid ""
"If instead you want to use an UEFI guest, remember to first install the "
@@ -5544,22 +5538,22 @@ msgid ""
"The number in the [.filename]#nmdm# device path must be unique for each "
"virtual machine and must not be used by any other processes before bhyve "
"starts. The number can be chosen arbitrarily and does not need to be taken "
-"from a consecutive sequence of numbers. The device node pair (i.e. "
-"[.filename]#/dev/nmdm0a# and [.filename]#/dev/nmdm0b#) are created "
-"dynamically when bhyve connects its console and destroyed when it shuts "
-"down. Keep this in mind when creating scripts to start your virtual "
-"machines: you need to make sure that all virtual machines are assigned "
-"unique [.filename]#nmdm# devices."
+"from a consecutive sequence of numbers. The device node pair (i.e. [."
+"filename]#/dev/nmdm0a# and [.filename]#/dev/nmdm0b#) are created dynamically "
+"when bhyve connects its console and destroyed when it shuts down. Keep this "
+"in mind when creating scripts to start your virtual machines: you need to "
+"make sure that all virtual machines are assigned unique [.filename]#nmdm# "
+"devices."
msgstr ""
"Число в пути устройства [.filename]#nmdm# должно быть уникальным для каждой "
"виртуальной машины и не должно использоваться другими процессами до запуска "
"bhyve. Это число можно выбирать произвольно, оно не обязательно должно быть "
-"взято из последовательного ряда чисел. Пара узлов устройств (например, "
-"[.filename]#/dev/nmdm0a# и [.filename]#/dev/nmdm0b#) создаётся динамически "
-"при подключении консоли bhyve и уничтожается при её завершении. Учитывайте "
-"это при создании скриптов для запуска виртуальных машин: необходимо "
-"убедиться, что всем виртуальным машинам назначены уникальные устройства "
-"[.filename]#nmdm#."
+"взято из последовательного ряда чисел. Пара узлов устройств (например, [."
+"filename]#/dev/nmdm0a# и [.filename]#/dev/nmdm0b#) создаётся динамически при "
+"подключении консоли bhyve и уничтожается при её завершении. Учитывайте это "
+"при создании скриптов для запуска виртуальных машин: необходимо убедиться, "
+"что всем виртуальным машинам назначены уникальные устройства [."
+"filename]#nmdm#."
#. type: Title ===
#: documentation/content/en/books/handbook/virtualization/_index.adoc:2145
@@ -5824,12 +5818,12 @@ msgstr ""
"Для настройки системы на автоматический запуск гостевых систем bhyve при "
"загрузке необходимо внести изменения в некоторые конфигурационные файлы."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:2227
msgid "[.filename]#/etc/sysctl.conf#"
msgstr "[.filename]#/etc/sysctl.conf#"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:2229
msgid ""
"When using [.filename]#tap# interfaces as network backend, you either need "
@@ -5837,8 +5831,8 @@ msgid ""
"following sysctl:"
msgstr ""
"При использовании интерфейсов [.filename]#tap# в качестве сетевого бэкенда "
-"необходимо либо вручную переводить каждый используемый интерфейс "
-"[.filename]#tap# в состояние UP, либо просто установить следующий параметр "
+"необходимо либо вручную переводить каждый используемый интерфейс [."
+"filename]#tap# в состояние UP, либо просто установить следующий параметр "
"sysctl:"
#. type: delimited block . 4
@@ -5856,8 +5850,8 @@ msgstr "[.filename]#/etc/rc.conf#"
#: documentation/content/en/books/handbook/virtualization/_index.adoc:2240
msgid ""
"To connect your virtual machine's [.filename]#tap# device to the network via "
-"a [.filename]#bridge#, you need to persist the device settings in "
-"[.filename]#/etc/rc.conf#. Additionally, you can load the necessary kernel "
+"a [.filename]#bridge#, you need to persist the device settings in [."
+"filename]#/etc/rc.conf#. Additionally, you can load the necessary kernel "
"modules `vmm` for bhyve and `nmdm` for [.filename]#nmdm# devices through the "
"`kld_list` configuration variable. When configuring `ifconfig_bridge0`, "
"make sure to replace `<ipaddr>/<netmask>` with the actual IP address of your "
@@ -5865,8 +5859,8 @@ msgid ""
"settings from your physical device."
msgstr ""
"Чтобы подключить устройство [.filename]#tap# вашей виртуальной машины к сети "
-"через [.filename]#bridge#, необходимо сохранить настройки устройства в "
-"[.filename]#/etc/rc.conf#. Дополнительно можно загрузить необходимые модули "
+"через [.filename]#bridge#, необходимо сохранить настройки устройства в [."
+"filename]#/etc/rc.conf#. Дополнительно можно загрузить необходимые модули "
"ядра `vmm` для bhyve и `nmdm` для устройств [.filename]#nmdm# через "
"переменную конфигурации `kld_list`. При настройке `ifconfig_bridge0` "
"убедитесь, что заменили `<ipaddr>/<netmask>` на реальный IP-адрес вашего "
@@ -5917,7 +5911,7 @@ msgstr ""
"# sysrc kld_list+=\"nmdm vmm\"\n"
"# sysrc cloned_interfaces+=\"bridge0 tap0\"\n"
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:2268
msgid ""
"Modifying the IP address configuration of a system may lock you out if you "
@@ -5936,13 +5930,13 @@ msgstr ""
msgid "FreeBSD as a Xen(TM)-Host"
msgstr "FreeBSD в качестве хоста Xen(TM)"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/virtualization/_index.adoc:2276
msgid ""
"Xen is a GPLv2-licensed https://en.wikipedia.org/wiki/"
"Hypervisor#Classification[type 1 hypervisor] for Intel(R) and ARM(R) "
-"architectures. FreeBSD has included i386(TM) and AMD(R) 64-Bit https://"
-"wiki.xenproject.org/wiki/DomU[DomU] and https://en.wikipedia.org/wiki/"
+"architectures. FreeBSD has included i386(TM) and AMD(R) 64-Bit https://wiki."
+"xenproject.org/wiki/DomU[DomU] and https://en.wikipedia.org/wiki/"
"Amazon_Elastic_Compute_Cloud[Amazon EC2] unprivileged domain (virtual "
"machine) support since FreeBSD 8.0 and includes Dom0 control domain (host) "
"support in FreeBSD 11.0. Support for para-virtualized (PV) domains has been "
@@ -5959,7 +5953,7 @@ msgstr ""
"в пользу аппаратно-виртуализованных (HVM) доменов, которые обеспечивают "
"лучшую производительность."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/virtualization/_index.adoc:2284
msgid ""
"Xen(TM) is a bare-metal hypervisor, which means that it is the first program "
@@ -5987,7 +5981,7 @@ msgstr ""
"консолью других гипервизоров, в то время как DomU — это среда, в которой "
"запускаются отдельные гостевые виртуальные машины."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/virtualization/_index.adoc:2291
msgid ""
"Xen(TM) can migrate VMs between different Xen(TM) servers. When the two xen "
@@ -6016,7 +6010,7 @@ msgstr ""
msgid "Hardware Requirements for Xen(TM) Dom0"
msgstr "Требования к оборудованию для Xen(TM) Dom0"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/virtualization/_index.adoc:2297
msgid ""
"To run the Xen(TM) hypervisor on a host, certain hardware functionality is "
@@ -6030,12 +6024,12 @@ msgstr ""
"Для запуска гипервизора Xen(TM) на хосте требуется определенная аппаратная "
"функциональность. Для работы FreeBSD в качестве хоста Xen (Dom0) необходимы "
"поддержка Intel Extended Page Tables (https://en.wikipedia.org/wiki/"
-"Extended_Page_Table[EPT]) или AMD Nested Page Tables (https://"
-"en.wikipedia.org/wiki/Rapid_Virtualization_Indexing[NPT]), а также поддержка "
-"Input/Output Memory Management Unit (https://en.wikipedia.org/wiki/"
-"List_of_IOMMU-supporting_hardware[IOMMU]) в процессоре хоста."
+"Extended_Page_Table[EPT]) или AMD Nested Page Tables (https://en.wikipedia."
+"org/wiki/Rapid_Virtualization_Indexing[NPT]), а также поддержка Input/Output "
+"Memory Management Unit (https://en.wikipedia.org/wiki/List_of_IOMMU-"
+"supporting_hardware[IOMMU]) в процессоре хоста."
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:2302
msgid ""
"In order to run a FreeBSD 13 Xen(TM) Dom0 the box must be booted using "
@@ -6052,7 +6046,7 @@ msgstr ""
msgid "Xen(TM) Dom0 Control Domain Setup"
msgstr "Настройка управляющего домена Xen(TM) Dom0"
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/virtualization/_index.adoc:2308
msgid ""
"Users should install the package:emulators/xen-kernel[] and package:sysutils/"
@@ -6061,7 +6055,7 @@ msgstr ""
"Пользователям следует установить пакеты package:emulators/xen-kernel[] и "
"package:sysutils/xen-tools[], основанные на Xen(TM) 4.18."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/virtualization/_index.adoc:2312
msgid ""
"Configuration files must be edited to prepare the host for the Dom0 "
@@ -6086,20 +6080,20 @@ msgstr "# echo 'vm.max_wired=-1' >> /etc/sysctl.conf\n"
#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:2322
msgid ""
-"Another memory-related setting involves changing [.filename]#/etc/"
-"login.conf#, setting the `memorylocked` option to `unlimited`. Otherwise, "
+"Another memory-related setting involves changing [.filename]#/etc/login."
+"conf#, setting the `memorylocked` option to `unlimited`. Otherwise, "
"creating DomU domains may fail with `Cannot allocate memory` errors. After "
"making the change to [.filename]#/etc/login.conf#, run `cap_mkdb` to update "
"the capability database. See crossref:security[security-resourcelimits,"
"\"Resource Limits\"] for details."
msgstr ""
-"Ещё одна настройка, связанная с памятью, включает изменение файла "
-"[.filename]#/etc/login.conf#, где необходимо установить параметр "
+"Ещё одна настройка, связанная с памятью, включает изменение файла [."
+"filename]#/etc/login.conf#, где необходимо установить параметр "
"`memorylocked` в значение `unlimited`. В противном случае создание доменов "
"DomU может завершиться ошибкой `Cannot allocate memory`. После внесения "
"изменений в [.filename]#/etc/login.conf# выполните команду `cap_mkdb` для "
-"обновления базы данных capability. Подробности см. в разделе "
-"crossref:security[security-resourcelimits,\"Ограничения ресурсов\"]."
+"обновления базы данных capability. Подробности см. в разделе crossref:"
+"security[security-resourcelimits,\"Ограничения ресурсов\"]."
#. type: delimited block . 4
#: documentation/content/en/books/handbook/virtualization/_index.adoc:2327
@@ -6265,17 +6259,16 @@ msgstr ""
#: documentation/content/en/books/handbook/virtualization/_index.adoc:2407
msgid ""
"The output confirms that the Dom0 (called `Domain-0`) has the ID `0` and is "
-"running. It also has the memory and virtual CPUs that were defined in "
-"[.filename]#/boot/loader.conf# earlier. More information can be found in "
-"the https://www.xenproject.org/help/documentation.html[Xen(TM) "
-"Documentation]. DomU guest VMs can now be created."
+"running. It also has the memory and virtual CPUs that were defined in [."
+"filename]#/boot/loader.conf# earlier. More information can be found in the "
+"https://www.xenproject.org/help/documentation.html[Xen(TM) Documentation]. "
+"DomU guest VMs can now be created."
msgstr ""
"Вывод подтверждает, что Dom0 (называемый `Domain-0`) имеет идентификатор `0` "
"и работает. Также у него есть память и виртуальные CPU, которые были "
"определены ранее в [.filename]#/boot/loader.conf#. Дополнительную информацию "
-"можно найти в https://www.xenproject.org/help/"
-"documentation.html[документации Xen(TM)]. Теперь можно создавать гостевые ВМ "
-"DomU."
+"можно найти в https://www.xenproject.org/help/documentation."
+"html[документации Xen(TM)]. Теперь можно создавать гостевые ВМ DomU."
#. type: Title ===
#: documentation/content/en/books/handbook/virtualization/_index.adoc:2409
@@ -6287,12 +6280,12 @@ msgstr "Конфигурация гостевой виртуальной маш
#: documentation/content/en/books/handbook/virtualization/_index.adoc:2416
msgid ""
"Unprivileged domains consist of a configuration file and virtual or physical "
-"hard disks. Virtual disk storage for the DomU can be files created by "
-"man:truncate[1] or ZFS volumes as described in crossref:zfs[zfs-zfs-"
+"hard disks. Virtual disk storage for the DomU can be files created by man:"
+"truncate[1] or ZFS volumes as described in crossref:zfs[zfs-zfs-"
"volume,“Creating and Destroying Volumes”]. In this example, a 20 GB volume "
"is used. A VM is created with the ZFS volume, a FreeBSD ISO image, 1 GB of "
-"RAM and two virtual CPUs. The ISO installation file is retrieved with "
-"man:fetch[1] and saved locally in a file called [.filename]#freebsd.iso#."
+"RAM and two virtual CPUs. The ISO installation file is retrieved with man:"
+"fetch[1] and saved locally in a file called [.filename]#freebsd.iso#."
msgstr ""
"Непривилегированные домены состоят из конфигурационного файла и виртуальных "
"или физических жестких дисков. Виртуальное дисковое хранилище для DomU может "
@@ -6329,8 +6322,8 @@ msgstr "# zfs create -V20G -o volmode=dev zroot/xendisk0\n"
#: documentation/content/en/books/handbook/virtualization/_index.adoc:2432
msgid ""
"The new DomU guest VM is defined in a file. Some specific definitions like "
-"name, keymap, and VNC connection details are also defined. The following "
-"[.filename]#freebsd.cfg# contains a minimum DomU configuration for this "
+"name, keymap, and VNC connection details are also defined. The following [."
+"filename]#freebsd.cfg# contains a minimum DomU configuration for this "
"example:"
msgstr ""
"Новый гостевая ВМ DomU определяется в файле. Некоторые конкретные "
@@ -6540,14 +6533,14 @@ msgid ""
"`cdrom` definition or commenting it out by inserting a `+#+` character at "
"the beginning of the line. To load this new configuration, it is necessary "
"to remove the old DomU with `xl destroy`, passing either the name or the id "
-"as the parameter. Afterwards, recreate it using the modified "
-"[.filename]*freebsd.cfg*."
+"as the parameter. Afterwards, recreate it using the modified [."
+"filename]*freebsd.cfg*."
msgstr ""
"Для начала установки базовой операционной системы запустите клиент VNC, "
"указав основной сетевой адрес хоста или IP-адрес, определённый в строке "
"`vnclisten` файла [.filename]#freebsd.cfg#. После установки операционной "
-"системы завершите работу DomU и отключите VNC-клиент. Отредактируйте файл "
-"[.filename]#freebsd.cfg#, удалив строку с определением `cdrom` или "
+"системы завершите работу DomU и отключите VNC-клиент. Отредактируйте файл [."
+"filename]#freebsd.cfg#, удалив строку с определением `cdrom` или "
"закомментировав её, поставив символ `+#+` в начале строки. Чтобы загрузить "
"новую конфигурацию, необходимо удалить старый DomU командой `xl destroy`, "
"передав в качестве параметра имя или идентификатор. После этого воссоздайте "
@@ -6613,13 +6606,13 @@ msgstr ""
msgid ""
"In order to troubleshoot host boot issues, you will likely need a serial "
"cable, or a debug USB cable. Verbose Xen(TM) boot output can be obtained by "
-"adding options to the `xen_cmdline` option found in "
-"[.filename]#loader.conf#. A couple of relevant debug options are:"
+"adding options to the `xen_cmdline` option found in [.filename]#loader."
+"conf#. A couple of relevant debug options are:"
msgstr ""
"Для устранения проблем с загрузкой хоста вам, скорее всего, понадобится "
"последовательный кабель или отладочный USB-кабель. Подробный вывод загрузки "
-"Xen(TM) можно получить, добавив параметры к опции `xen_cmdline` в файле "
-"[.filename]#loader.conf#. Несколько соответствующих отладочных параметров:"
+"Xen(TM) можно получить, добавив параметры к опции `xen_cmdline` в файле [."
+"filename]#loader.conf#. Несколько соответствующих отладочных параметров:"
#. type: Plain text
#: documentation/content/en/books/handbook/virtualization/_index.adoc:2519
@@ -6677,9 +6670,8 @@ msgid ""
msgstr ""
"Если ни один из этих вариантов не помог решить проблему, отправьте журнал "
"загрузки по последовательному соединению по адресам mailto:freebsd-"
-"xen@FreeBSD.org[freebsd-xen@FreeBSD.org] и mailto:xen-"
-"devel@lists.xenproject.org[xen-devel@lists.xenproject.org] для дальнейшего "
-"анализа."
+"xen@FreeBSD.org[freebsd-xen@FreeBSD.org] и mailto:xen-devel@lists.xenproject."
+"org[xen-devel@lists.xenproject.org] для дальнейшего анализа."
#. type: Title ====
#: documentation/content/en/books/handbook/virtualization/_index.adoc:2533
@@ -6753,17 +6745,16 @@ msgid ""
"contain useful information for debugging. If none of this helps solve the "
"issue, please send the description of the issue you are facing and as much "
"information as possible to mailto:freebsd-xen@FreeBSD.org[freebsd-"
-"xen@FreeBSD.org] and mailto:xen-devel@lists.xenproject.org[xen-"
-"devel@lists.xenproject.org] in order to get help."
+"xen@FreeBSD.org] and mailto:xen-devel@lists.xenproject.org[xen-devel@lists."
+"xenproject.org] in order to get help."
msgstr ""
"Если подробный вывод не помог диагностировать проблему, также существуют "
"журналы QEMU и инструментов Xen(TM) в [.filename]#/var/log/xen#. Обратите "
"внимание, что имя домена добавляется к имени журнала, поэтому если домен "
-"называется `freebsd`, вы найдете файлы [.filename]#/var/log/xen/xl-"
-"freebsd.log# и, вероятно, [.filename]#/var/log/xen/qemu-dm-freebsd.log#. Оба "
-"файла журналов могут содержать полезную информацию для отладки. Если ничто "
-"из этого не помогло решить проблему, пожалуйста, отправьте описание "
-"возникшей проблемы и как можно больше информации на адреса mailto:freebsd-"
-"xen@FreeBSD.org[freebsd-xen@FreeBSD.org] и mailto:xen-"
-"devel@lists.xenproject.org[xen-devel@lists.xenproject.org], чтобы получить "
-"помощь."
+"называется `freebsd`, вы найдете файлы [.filename]#/var/log/xen/xl-freebsd."
+"log# и, вероятно, [.filename]#/var/log/xen/qemu-dm-freebsd.log#. Оба файла "
+"журналов могут содержать полезную информацию для отладки. Если ничто из "
+"этого не помогло решить проблему, пожалуйста, отправьте описание возникшей "
+"проблемы и как можно больше информации на адреса mailto:freebsd-xen@FreeBSD."
+"org[freebsd-xen@FreeBSD.org] и mailto:xen-devel@lists.xenproject.org[xen-"
+"devel@lists.xenproject.org], чтобы получить помощь."
diff --git a/documentation/content/ru/books/handbook/wayland/_index.adoc b/documentation/content/ru/books/handbook/wayland/_index.adoc
index 055a658aa8..0c4e60be3e 100644
--- a/documentation/content/ru/books/handbook/wayland/_index.adoc
+++ b/documentation/content/ru/books/handbook/wayland/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/wayland/
part: 'В начале'
prev: books/handbook/x11
-showBookMenu: true
+showBookMenu: 'true'
tags: ["Wayland", "XWayland", "KDE", "Plasma", "Xfce", "Gnome", "Intel", "AMD", "NVIDIA", "Wayfire", "Sway", "Hikari"]
title: 'Глава 6. Wayland'
weight: 8
diff --git a/documentation/content/ru/books/handbook/wayland/_index.po b/documentation/content/ru/books/handbook/wayland/_index.po
index 674b0683a4..f3b5ce2bdb 100644
--- a/documentation/content/ru/books/handbook/wayland/_index.po
+++ b/documentation/content/ru/books/handbook/wayland/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"POT-Creation-Date: 2025-08-17 20:54+0100\n"
"PO-Revision-Date: 2025-09-26 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,19 +18,19 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/wayland/_index.adoc:1
#, no-wrap
msgid "This chapter describes how to install and configure Wayland and compositors on FreeBSD, which provides a graphical user environment"
msgstr "Эта глава описывает, как установить и настроить Wayland и композиторы на FreeBSD, что обеспечивает графическую пользовательскую среду"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/wayland/_index.adoc:1
#, no-wrap
msgid "Part I. Getting Started"
msgstr "В начале"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/wayland/_index.adoc:1
#, no-wrap
msgid "Chapter 6. Wayland"
@@ -132,8 +132,8 @@ msgstr ""
"зависимость от X-сервера. X.org включает в себя как протокол X11, "
"используемый для работы с удалёнными дисплеями, так и X-сервер, который "
"принимает соединения и отображает окна. В случае с Wayland, композитор или "
-"оконный менеджер предоставляет сервер дисплеев вместо традиционного X-"
-"сервера."
+"оконный менеджер предоставляет сервер дисплеев вместо традиционного "
+"X-сервера."
#. type: Plain text
#: documentation/content/en/books/handbook/wayland/_index.adoc:84
@@ -209,16 +209,16 @@ msgstr ""
#: documentation/content/en/books/handbook/wayland/_index.adoc:110
msgid ""
"For compositors, a kernel supporting the man:evdev[4] driver must exist to "
-"utilize the keybinding functionality. This is built into the "
-"[.filename]#GENERIC# kernel by default; however, if it has been customized "
-"and man:evdev[4] support was stripped out, the man:evdev[4] module will need "
-"to be loaded. In addition, users of `Wayland` will need to be members of "
-"the `video` group. To quickly make this change, use the `pw` command:"
+"utilize the keybinding functionality. This is built into the [."
+"filename]#GENERIC# kernel by default; however, if it has been customized and "
+"man:evdev[4] support was stripped out, the man:evdev[4] module will need to "
+"be loaded. In addition, users of `Wayland` will need to be members of the "
+"`video` group. To quickly make this change, use the `pw` command:"
msgstr ""
"Для композиторов необходимо наличие ядра с поддержкой драйвера man:evdev[4] "
"для использования функциональности привязки клавиш. Он включён по умолчанию "
-"в ядро [.filename]#GENERIC#; однако, если ядро было изменено и поддержка "
-"man:evdev[4] была удалена, потребуется загрузить модуль man:evdev[4]. Кроме "
+"в ядро [.filename]#GENERIC#; однако, если ядро было изменено и поддержка man:"
+"evdev[4] была удалена, потребуется загрузить модуль man:evdev[4]. Кроме "
"того, пользователям `Wayland` необходимо быть членами группы `video`. Чтобы "
"быстро внести это изменение, используйте команду `pw`:"
@@ -290,17 +290,17 @@ msgstr "% export XDG_RUNTIME_DIR=/var/run/user/`id -u`\n"
msgid ""
"It is important to note that most compositors will search the "
"XDG_RUNTIME_DIR directory for the configuration files. In the examples "
-"included here, a parameter will be used to specify a configuration file in "
-"[.filename]#~/.config# to keep temporary files and configuration files "
+"included here, a parameter will be used to specify a configuration file in [."
+"filename]#~/.config# to keep temporary files and configuration files "
"separate. It is recommended that an alias be configured for each compositor "
"to load the designated configuration file."
msgstr ""
"Важно отметить, что большинство композиторов ищут файлы конфигурации в "
"каталоге `XDG_RUNTIME_DIR`. В приведённых здесь примерах будет "
-"использоваться параметр для указания файла конфигурации в "
-"[.filename]#~/.config#, чтобы разделить временные файлы и файлы "
-"конфигурации. Рекомендуется настроить псевдоним для каждого композитора, "
-"чтобы загружать указанный файл конфигурации."
+"использоваться параметр для указания файла конфигурации в [.filename]#~/."
+"config#, чтобы разделить временные файлы и файлы конфигурации. Рекомендуется "
+"настроить псевдоним для каждого композитора, чтобы загружать указанный файл "
+"конфигурации."
#. type: delimited block = 4
#: documentation/content/en/books/handbook/wayland/_index.adoc:150
@@ -321,9 +321,9 @@ msgstr ""
"некоторыми клиентами Wayland, так как им требуется доступ к "
"`posix_fallocate()` в runtime-директории. Хотя автор не смог воспроизвести "
"эту проблему на своей системе с ZFS, рекомендуемым решением является отказ "
-"от использования ZFS для runtime-директории и использование `tmpfs` для "
-"[.filename]#/var/run#. В этом случае файловая система `tmpfs` используется "
-"для [.filename]#/var/run# и монтируется командой `mount -t tmpfs tmpfs /var/"
+"от использования ZFS для runtime-директории и использование `tmpfs` для [."
+"filename]#/var/run#. В этом случае файловая система `tmpfs` используется для "
+"[.filename]#/var/run# и монтируется командой `mount -t tmpfs tmpfs /var/"
"run`, после чего это изменение можно сделать постоянным после перезагрузок "
"через [.filename]#/etc/fstab#. Переменная окружения XDG_RUNTIME_DIR может "
"быть настроена на использование [.filename]#/var/run/user/$UID#, чтобы "
@@ -656,8 +656,8 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/wayland/_index.adoc:282
msgid ""
-"Changes made through `wcm` will overwrite custom changes in the "
-"[.filename]#wayfire.ini# configuration file. The [.filename]#wayfire.ini# "
+"Changes made through `wcm` will overwrite custom changes in the [."
+"filename]#wayfire.ini# configuration file. The [.filename]#wayfire.ini# "
"file is highly recommended to be backed up so any essential changes may be "
"restored."
msgstr ""
@@ -714,8 +714,8 @@ msgstr ""
"листами или группами активный лист или группа становятся рабочим "
"пространством. В руководстве (man-странице) эти функции описаны более "
"подробно, но в данном документе достаточно рассматривать одно рабочее "
-"пространство с одним листом. Установка Hikari включает один пакет "
-"package:x11-wm/hikari[] и терминальный эмулятор `alacritty`:"
+"пространство с одним листом. Установка Hikari включает один пакет package:"
+"x11-wm/hikari[] и терминальный эмулятор `alacritty`:"
#. type: delimited block - 4
#: documentation/content/en/books/handbook/wayland/_index.adoc:301
@@ -774,8 +774,8 @@ msgstr ""
"`layouts` и другие. Для большинства пользователей значений по умолчанию "
"будет достаточно, однако некоторые важные изменения всё же стоит внести. "
"Например, переменная `$TERMINAL` обычно не установлена в окружении "
-"пользователя. Измените эту переменную или отредактируйте файл "
-"[.filename]#hikari.conf#, указав:"
+"пользователя. Измените эту переменную или отредактируйте файл [."
+"filename]#hikari.conf#, указав:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wayland/_index.adoc:326
@@ -1148,8 +1148,8 @@ msgstr ""
#: documentation/content/en/books/handbook/wayland/_index.adoc:476
msgid ""
"Once `Xwayland` has been installed, configure it within the chosen "
-"compositor. For Wayfire, the following line is required in the "
-"[.filename]#wayfire.ini# file:"
+"compositor. For Wayfire, the following line is required in the [."
+"filename]#wayfire.ini# file:"
msgstr ""
"После установки `Xwayland` настройте его в выбранном композиторе. Для "
"Wayfire в файле [.filename]#wayfire.ini# требуется следующая строка:"
@@ -1164,12 +1164,12 @@ msgstr "xwayland = true\n"
#: documentation/content/en/books/handbook/wayland/_index.adoc:484
msgid ""
"For the Sway compositor, `Xwayland` should be enabled by default. Even so, "
-"it is recommended to manually add a configuration line in the "
-"[.filename]#~/.config/sway/config# like the following:"
+"it is recommended to manually add a configuration line in the [.filename]#~/."
+"config/sway/config# like the following:"
msgstr ""
"Для композитора Sway `Xwayland` должен быть включен по умолчанию. Тем не "
-"менее, рекомендуется вручную добавить строку конфигурации в файл "
-"[.filename]#~/.config/sway/config#, например, следующую:"
+"менее, рекомендуется вручную добавить строку конфигурации в файл [."
+"filename]#~/.config/sway/config#, например, следующую:"
#. type: delimited block . 5
#: documentation/content/en/books/handbook/wayland/_index.adoc:488
@@ -1552,13 +1552,13 @@ msgstr "ttyv1 \"/usr/libexec/getty Ly\" xterm onifexists secure\n"
#: documentation/content/en/books/handbook/wayland/_index.adoc:662
msgid ""
"After a system reboot, a login should appear. To configure specific "
-"settings, such as language and edit [.filename]#/usr/local/etc/ly/"
-"config.ini#. At minimal, this file should have the designated tty that was "
+"settings, such as language and edit [.filename]#/usr/local/etc/ly/config."
+"ini#. At minimal, this file should have the designated tty that was "
"previously specified in [.filename]#/etc/ttys#."
msgstr ""
"После перезагрузки системы должно появиться приглашение на вход. Для "
-"настройки конкретных параметров, таких как язык, отредактируйте файл "
-"[.filename]#/usr/local/etc/ly/config.ini#. Как минимум, в этом файле должен "
+"настройки конкретных параметров, таких как язык, отредактируйте файл [."
+"filename]#/usr/local/etc/ly/config.ini#. Как минимум, в этом файле должен "
"быть указан tty, который был ранее задан в [.filename]#/etc/ttys#."
#. type: delimited block = 4
diff --git a/documentation/content/ru/books/handbook/wine/_index.adoc b/documentation/content/ru/books/handbook/wine/_index.adoc
index d6df33bb00..42aef748b4 100644
--- a/documentation/content/ru/books/handbook/wine/_index.adoc
+++ b/documentation/content/ru/books/handbook/wine/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/wine/
part: 'Часть II. Стандартные задачи'
prev: books/handbook/linuxemu
-showBookMenu: true
+showBookMenu: 'true'
tags: ["WINE", "emulation", "guide", "tutorial"]
title: 'Глава 13. WINE'
weight: 16
@@ -181,7 +181,7 @@ WINE можно установить с помощью утилиты pkg или
# pkg install wine-gecko
....
-В качестве альтернативы, соберите порт с помощью следующей команды:
+Или соберите порт с помощью следующей команды:
[source, shell]
....
@@ -218,7 +218,7 @@ WINE можно установить с помощью утилиты pkg или
# pkg install wine
....
-Альтернативно можно собрать подсистему WINE из исходного кода следующим образом:
+Или можно собрать подсистему WINE из исходного кода следующим образом:
[source, shell]
....
@@ -234,7 +234,7 @@ WINE можно установить с помощью утилиты pkg или
Однако использование устаревшего программного обеспечения, которое больше не поддерживается по умолчанию, является распространённым случаем применения эмуляторов. Пользователи часто обращаются к WINE для запуска игр и других программ, которые не работают корректно на современном оборудовании. К счастью, FreeBSD поддерживает все три сценария:
* На современных 64-битных машинах, если требуется запускать 64-битное программное обеспечение Windows(R), достаточно установить порты, упомянутые в вышеуказанных разделах. Система портов автоматически установит 64-битную версию.
-* Альтернативно, у пользователей может быть старая 32-разрядная машина, на которой они не хотят запускать оригинальное, теперь уже неподдерживаемое программное обеспечение. Они могут установить 32-разрядную (i386) версию FreeBSD, а затем установить порты из вышеуказанных разделов.
+* Или у пользователей может быть старая 32-разрядная машина, на которой они не хотят запускать оригинальное, теперь уже неподдерживаемое программное обеспечение. Они могут установить 32-разрядную (i386) версию FreeBSD, а затем установить порты из вышеуказанных разделов.
[[running-first-wine-program]]
== Запуск первой программы в WINE на FreeBSD
diff --git a/documentation/content/ru/books/handbook/wine/_index.po b/documentation/content/ru/books/handbook/wine/_index.po
index 7491e33a80..984e127b6a 100644
--- a/documentation/content/ru/books/handbook/wine/_index.po
+++ b/documentation/content/ru/books/handbook/wine/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
-"PO-Revision-Date: 2025-06-12 17:10+0000\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
+"PO-Revision-Date: 2025-10-21 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/bookshandbookwine_index/ru/>\n"
@@ -18,19 +18,21 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/wine/_index.adoc:1
#, no-wrap
msgid "This chapter will describe how to install WINE on a FreeBSD system and how to configure WINE"
-msgstr "Эта глава описывает, как установить WINE в системе FreeBSD и как его настроить"
+msgstr ""
+"Эта глава описывает, как установить WINE в системе FreeBSD и как его "
+"настроить"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/wine/_index.adoc:1
#, no-wrap
msgid "Part II. Common Tasks"
msgstr "Часть II. Стандартные задачи"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/wine/_index.adoc:1
#, no-wrap
msgid "Chapter 13. WINE"
@@ -95,16 +97,16 @@ msgid ""
msgstr ""
"Однако это не эмулятор в традиционном смысле. Многие из этих решений "
"работают, создавая полностью отдельный компьютер с использованием "
-"программных процессов вместо аппаратного обеспечения. Виртуализация "
-"(например, предоставляемая портом `package:emulators/qemu[]`) работает "
-"именно так. Одно из преимуществ этого подхода — возможность установить "
-"полную версию соответствующей ОС в эмулятор. Это означает, что среда для "
-"приложений не будет отличаться от реальной машины, и высока вероятность, что "
-"всё будет работать. Недостаток этого подхода заключается в том, что "
-"программное обеспечение, имитирующее аппаратное, по своей природе медленнее "
-"реального оборудования. Компьютер, созданный программно (называемый "
-"_гостевым_), требует ресурсов от реальной машины (называемой _хостовой_) и "
-"удерживает эти ресурсы всё время своей работы."
+"программных процессов вместо аппаратного обеспечения. Виртуализация ("
+"например, предоставляемая портом `package:emulators/qemu[]`) работает именно "
+"так. Одно из преимуществ этого подхода — возможность установить полную "
+"версию соответствующей ОС в эмулятор. Это означает, что среда для приложений "
+"не будет отличаться от реальной машины, и высока вероятность, что всё будет "
+"работать. Недостаток этого подхода заключается в том, что программное "
+"обеспечение, имитирующее аппаратное, по своей природе медленнее реального "
+"оборудования. Компьютер, созданный программно (называемый _гостевым_), "
+"требует ресурсов от реальной машины (называемой _хостовой_) и удерживает эти "
+"ресурсы всё время своей работы."
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:74
@@ -297,9 +299,8 @@ msgid ""
"FreeBSD applications for tasks such as running the Windows(R) executables, "
"configuring the WINE sub-system, or compiling programs with WINE support."
msgstr ""
-"Приложения FreeBSD для таких задач, как запуск исполняемых файлов "
-"Windows(R), настройка подсистемы WINE или компиляция программ с поддержкой "
-"WINE."
+"Приложения FreeBSD для таких задач, как запуск исполняемых файлов Windows(R)"
+", настройка подсистемы WINE или компиляция программ с поддержкой WINE."
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:117
@@ -308,8 +309,8 @@ msgid ""
"(for example [.filename]#/lib/wine/api-ms-core-memory-l1-1-1.dll.so#, which "
"is part of the aforementioned memory interface)."
msgstr ""
-"Большое количество библиотек, реализующих основные функции Windows(R) "
-"(например, [.filename]#/lib/wine/api-ms-core-memory-l1-1-1.dll.so#, которая "
+"Большое количество библиотек, реализующих основные функции Windows(R) ("
+"например, [.filename]#/lib/wine/api-ms-core-memory-l1-1-1.dll.so#, которая "
"является частью упомянутого интерфейса памяти)."
#. type: Plain text
@@ -394,8 +395,8 @@ msgid ""
"Wiki]."
msgstr ""
"Эти методы подробно описаны на https://wiki.winehq.org/"
-"Wine_User%27s_Guide#Text_mode_programs_.28CUI:_Console_User_Interface.29[вики "
-"WINE]."
+"Wine_User%27s_Guide#Text_mode_programs_.28CUI:_Console_User_Interface.29["
+"вики WINE]."
#. type: Title ===
#: documentation/content/en/books/handbook/wine/_index.adoc:135
@@ -459,10 +460,10 @@ msgid ""
"for some time."
msgstr ""
"Хотя компания когда-то выпускала нативную версию своего решения CrossOver "
-"для FreeBSD, похоже, что она давно заброшена. Хотя некоторые ресурсы "
-"(например, https://www.codeweavers.com/compatibility/crossover/forum/"
-"freebsd[выделенный форум]) всё ещё доступны, на них также давно не "
-"наблюдается активности."
+"для FreeBSD, похоже, что она давно заброшена. Хотя некоторые ресурсы ("
+"например, https://www.codeweavers.com/compatibility/crossover/forum/freebsd["
+"выделенный форум]) всё ещё доступны, на них также давно не наблюдается "
+"активности."
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:154
@@ -688,7 +689,7 @@ msgstr "# pkg install wine-gecko\n"
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:221
msgid "Alternately, compile the port with the following:"
-msgstr "В качестве альтернативы, соберите порт с помощью следующей команды:"
+msgstr "Или соберите порт с помощью следующей команды:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:226
@@ -767,9 +768,7 @@ msgstr "# pkg install wine\n"
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:259
msgid "Alternately compile the WINE sub-system from source with the following:"
-msgstr ""
-"Альтернативно можно собрать подсистему WINE из исходного кода следующим "
-"образом:"
+msgstr "Или можно собрать подсистему WINE из исходного кода следующим образом:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:264
@@ -836,10 +835,10 @@ msgid ""
"32-bit (i386) version of FreeBSD, then install the ports in the above "
"sections."
msgstr ""
-"Альтернативно, у пользователей может быть старая 32-разрядная машина, на "
-"которой они не хотят запускать оригинальное, теперь уже неподдерживаемое "
-"программное обеспечение. Они могут установить 32-разрядную (i386) версию "
-"FreeBSD, а затем установить порты из вышеуказанных разделов."
+"Или у пользователей может быть старая 32-разрядная машина, на которой они не "
+"хотят запускать оригинальное, теперь уже неподдерживаемое программное "
+"обеспечение. Они могут установить 32-разрядную (i386) версию FreeBSD, а "
+"затем установить порты из вышеуказанных разделов."
#. type: Title ==
#: documentation/content/en/books/handbook/wine/_index.adoc:280
@@ -981,8 +980,8 @@ msgid ""
"after install, check the MIME associate for this extension in the current "
"desktop environment, graphical shell, or file manager."
msgstr ""
-"В случае, если WINE не является приложением по умолчанию для файлов "
-"[.filename]#.EXE# после установки, проверьте ассоциацию MIME для этого "
+"В случае, если WINE не является приложением по умолчанию для файлов [."
+"filename]#.EXE# после установки, проверьте ассоциацию MIME для этого "
"расширения в текущем окружении рабочего стола, графической оболочке или "
"файловом менеджере."
@@ -1023,8 +1022,8 @@ msgid ""
"brand new WINE installation will create the following structure when first "
"launched by a user:"
msgstr ""
-"Префикс WINE — это каталог, обычно расположенный в стандартном месте "
-"[.filename]#$HOME/.wine#, хотя может находиться и в другом месте. Префикс "
+"Префикс WINE — это каталог, обычно расположенный в стандартном месте [."
+"filename]#$HOME/.wine#, хотя может находиться и в другом месте. Префикс "
"представляет собой набор конфигураций и вспомогательных файлов, используемых "
"WINE для настройки и запуска среды Windows(R), необходимой для работы "
"конкретного приложения. По умолчанию при первом запуске WINE пользователем "
@@ -1037,8 +1036,8 @@ msgid ""
"[.filename]#file /usr/share/wine/wine.inf#. It is used by WINE to determine "
"if a prefix is out of date, and automatically update it if needed."
msgstr ""
-"[.filename]#.update-timestamp#: содержит дату последнего изменения файла "
-"[.filename]#/usr/share/wine/wine.inf#. Используется WINE для определения "
+"[.filename]#.update-timestamp#: содержит дату последнего изменения файла [."
+"filename]#/usr/share/wine/wine.inf#. Используется WINE для определения "
"устаревания префикса и его автоматического обновления при необходимости."
#. type: Plain text
@@ -1092,8 +1091,8 @@ msgid ""
"[.filename]#drive_c#."
msgstr ""
"[.filename]#system.reg#: Этот файл реестра содержит информацию об установке "
-"Windows(R), которая в случае WINE представляет собой окружение в "
-"[.filename]#drive_c#."
+"Windows(R), которая в случае WINE представляет собой окружение в [."
+"filename]#drive_c#."
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:349
@@ -1239,9 +1238,9 @@ msgid ""
msgstr ""
"Выбор на вкладке _Приложения (Applications)_ влияет на область изменений, "
"вносимых на вкладках _Библиотеки (Libraries)_ и _Графика (Graphics)_, "
-"которые будут ограничены выбранным приложением. Подробнее см. раздел https://"
-"wiki.winehq.org/Wine_User%27s_Guide#Using_Winecfg[Использование Winecfg] в "
-"вики WINE."
+"которые будут ограничены выбранным приложением. Подробнее см. раздел "
+"https://wiki.winehq.org/Wine_User%27s_Guide#Using_Winecfg[Использование "
+"Winecfg] в вики WINE."
#. type: Title ====
#: documentation/content/en/books/handbook/wine/_index.adoc:389
@@ -1357,8 +1356,8 @@ msgid ""
"The new override will appear in the _Existing overrides_ list, notice the "
"_native, builtin_ designation in parentheses."
msgstr ""
-"Новое переопределение появится в списке _Существующие переопределения "
-"(Existing overrides)_, обратите внимание на обозначение _native, builtin_ в "
+"Новое переопределение появится в списке _Существующие переопределения ("
+"Existing overrides)_, обратите внимание на обозначение _native, builtin_ в "
"скобках."
#. type: Plain text
@@ -1523,8 +1522,8 @@ msgid ""
msgstr ""
"Вкладка _Накопители (Drives)_ позволяет связывать каталоги в основной "
"системе FreeBSD с буквами дисков в среде Windows(R). Значения по умолчанию "
-"на этой вкладке должны выглядеть знакомо, так как они отображают содержимое "
-"[.filename]#dosdevices/# в текущем префиксе WINE. Изменения, сделанные через "
+"на этой вкладке должны выглядеть знакомо, так как они отображают содержимое ["
+".filename]#dosdevices/# в текущем префиксе WINE. Изменения, сделанные через "
"это диалоговое окно, отобразятся в [.filename]#dosdevices#, а правильно "
"оформленные ссылки, созданные в этом каталоге, будут показаны на этой "
"вкладке."
@@ -1535,8 +1534,8 @@ msgid ""
"To create a new entry, such as for a CD-ROM (mounted at [.filename]#/mnt/"
"cdrom#), take the following steps:"
msgstr ""
-"Чтобы создать новую запись, например, для CD-ROM (монтированного в "
-"[.filename]#/mnt/cdrom#), выполните следующие действия:"
+"Чтобы создать новую запись, например, для CD-ROM (монтированного в [."
+"filename]#/mnt/cdrom#), выполните следующие действия:"
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:459
@@ -1572,8 +1571,8 @@ msgid ""
msgstr ""
"По умолчанию WINE автоматически определяет тип связанного ресурса, но это "
"можно переопределить вручную. Дополнительные сведения о расширенных "
-"настройках см. в https://wiki.winehq.org/"
-"Wine_User%27s_Guide#Drive_Settings[соответствующем разделе вики WINE]."
+"настройках см. в https://wiki.winehq.org/Wine_User%27s_Guide#Drive_Settings["
+"соответствующем разделе вики WINE]."
#. type: Title ====
#: documentation/content/en/books/handbook/wine/_index.adoc:467
@@ -1892,10 +1891,10 @@ msgid ""
"are also non-gaming applications available for install through Mizutamari."
msgstr ""
"https://codeberg.org/Alexander88207/Mizutamari[Mizutamari] — это приложение, "
-"похожее на `winetricks`, хотя вдохновлено игровой системой https://"
-"lutris.net/[Lutris] для Linux. Однако, в отличие от неё, Mizutamari "
-"ориентировано не только на игры: через него также можно установить и "
-"приложения неигрового характера."
+"похожее на `winetricks`, хотя вдохновлено игровой системой https://lutris."
+"net/[Lutris] для Linux. Однако, в отличие от неё, Mizutamari ориентировано "
+"не только на игры: через него также можно установить и приложения неигрового "
+"характера."
#. type: Title ====
#: documentation/content/en/books/handbook/wine/_index.adoc:573
@@ -2244,8 +2243,8 @@ msgstr ""
"собственный набор конфигураций, что потенциально хорошо. Однако выгодно "
"устанавливать приложения, особенно крупные, такие как офисные пакеты или "
"игры, только один раз. Две причины для этого: обслуживание (обновления ПО "
-"нужно применять только один раз) и эффективность использования хранилища "
-"(отсутствие дублирования файлов)."
+"нужно применять только один раз) и эффективность использования хранилища ("
+"отсутствие дублирования файлов)."
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:690
@@ -2505,7 +2504,8 @@ msgid ""
"# The WINDOWS_USERS may run WINDOWS programs as user windows without a password\n"
"WINDOWS_USERS ALL = (windows) NOPASSWD: WINDOWS\n"
msgstr ""
-"# The WINDOWS_USERS may run WINDOWS programs as user windows without a password\n"
+"# The WINDOWS_USERS may run WINDOWS programs as user windows without a "
+"password\n"
"WINDOWS_USERS ALL = (windows) NOPASSWD: WINDOWS\n"
#. type: Plain text
@@ -2651,7 +2651,9 @@ msgstr ""
#: documentation/content/en/books/handbook/wine/_index.adoc:813
#, no-wrap
msgid "Should the package:emulators/wine-devel[] Package/Port be Installed to Use the Development Version of WINE Instead of Stable?"
-msgstr "Нужно ли устанавливать пакет package:emulators/wine-devel[] для использования версии WINE для разработчиков вместо стабильной?"
+msgstr ""
+"Нужно ли устанавливать пакет package:emulators/wine-devel[] для "
+"использования версии WINE для разработчиков вместо стабильной?"
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:817
@@ -2731,10 +2733,10 @@ msgid ""
"[.filename]#.config/fontconfig/fonts.conf# will add anti-aliasing and make "
"text more readable."
msgstr ""
-"Согласно https://forums.freebsd.org/threads/make-wine-ui-fonts-look-"
-"good.68273/[сообщению на FreeBSD Forums], добавление следующего в "
-"[.filename]#.config/fontconfig/fonts.conf# включит сглаживание и улучшит "
-"читаемость текста."
+"Согласно https://forums.freebsd.org/threads/make-wine-ui-fonts-look-good."
+"68273/[сообщению на FreeBSD Forums], добавление следующего в [.filename]#."
+"config/fontconfig/fonts.conf# включит сглаживание и улучшит читаемость "
+"текста."
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:844
@@ -2769,7 +2771,8 @@ msgstr ""
" <match target=\"font\">\n"
" <edit name=\"antialias\" mode=\"assign\"><bool>true</bool></edit>>\n"
" <edit name=\"hinting\" mode=\"assign\"><bool>true</bool></edit>>\n"
-" <edit name=\"hintstyle\" mode=\"assign\"><const>hintslight</const></edit>>\n"
+" <edit name=\"hintstyle\" mode=\"assign\""
+"><const>hintslight</const></edit>>\n"
" <edit name=\"rgba\" mode=\"assign\"><const>rgb</const></edit>>\n"
" </match>\n"
"</fontconfig>\n"
@@ -2778,7 +2781,9 @@ msgstr ""
#: documentation/content/en/books/handbook/wine/_index.adoc:859
#, no-wrap
msgid "Does Having Windows(R) Installed Elsewhere on a System Help WINE Operate?"
-msgstr "Помогает ли наличие Windows(R), установленной в другом месте системы, работе WINE?"
+msgstr ""
+"Помогает ли наличие Windows(R), установленной в другом месте системы, работе "
+"WINE?"
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:864
@@ -2818,10 +2823,10 @@ msgid ""
"working (or not) on all supported platforms, although (as previously "
"mentioned), solutions for one platform are often applicable to others."
msgstr ""
-"Первым шагом в определении совместимости должен быть https://"
-"appdb.winehq.org/[WINE AppDB]. Это сборник отчетов о работе (или "
-"неработоспособности) программ на всех поддерживаемых платформах, хотя (как "
-"упоминалось ранее) решения для одной платформы часто применимы и к другим."
+"Первым шагом в определении совместимости должен быть https://appdb.winehq."
+"org/[WINE AppDB]. Это сборник отчетов о работе (или неработоспособности) "
+"программ на всех поддерживаемых платформах, хотя (как упоминалось ранее) "
+"решения для одной платформы часто применимы и к другим."
#. type: Title ====
#: documentation/content/en/books/handbook/wine/_index.adoc:875
@@ -2851,8 +2856,8 @@ msgid ""
msgstr ""
"Проект _dxvk_, представляющий собой попытку реализации DirectX с "
"использованием совместимой с FreeBSD графической подсистемы Vulkan, является "
-"одним из таких. Хотя его основная цель — WINE на Linux, https://"
-"forums.freebsd.org/threads/what-about-gaming-on-freebsd.723/page-9[некоторые "
+"одним из таких. Хотя его основная цель — WINE на Linux, https://forums."
+"freebsd.org/threads/what-about-gaming-on-freebsd.723/page-9[некоторые "
"пользователи FreeBSD сообщают] о компиляции и использовании dxvk."
#. type: Plain text
@@ -2874,7 +2879,9 @@ msgstr ""
#: documentation/content/en/books/handbook/wine/_index.adoc:889
#, no-wrap
msgid "Is There Anywhere FreeBSD WINE Users Gather to Exchange Tips and Tricks?"
-msgstr "Есть ли место, где пользователи FreeBSD WINE собираются для обмена советами и хитростями?"
+msgstr ""
+"Есть ли место, где пользователи FreeBSD WINE собираются для обмена советами "
+"и хитростями?"
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:892
@@ -2901,8 +2908,8 @@ msgid ""
"https://wiki.freebsd.org/IRC/Channels[FreeBSD IRC channels] including "
"#freebsd (for general support), #freebsd-games, and others."
msgstr ""
-"https://wiki.freebsd.org/IRC/Channels[Каналы FreeBSD в IRC], включая "
-"#freebsd (для общих вопросов поддержки), #freebsd-games и другие."
+"https://wiki.freebsd.org/IRC/Channels[Каналы FreeBSD в IRC], включая #"
+"freebsd (для общих вопросов поддержки), #freebsd-games и другие."
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:896
@@ -2963,6 +2970,6 @@ msgid ""
"troubleshooting problems with the open source version of WINE."
msgstr ""
"Наконец, Codeweavers (разработчик коммерческой версии WINE) активно "
-"участвует в разработке основной версии. Часто ответы на вопросы в https://"
-"www.codeweavers.com/support/forums[их форуме поддержки] могут помочь в "
-"решении проблем с открытой версией WINE."
+"участвует в разработке основной версии. Часто ответы на вопросы в https://www"
+".codeweavers.com/support/forums[их форуме поддержки] могут помочь в решении "
+"проблем с открытой версией WINE."
diff --git a/documentation/content/ru/books/handbook/x11/_index.adoc b/documentation/content/ru/books/handbook/x11/_index.adoc
index f4982e7db8..7789464bdb 100644
--- a/documentation/content/ru/books/handbook/x11/_index.adoc
+++ b/documentation/content/ru/books/handbook/x11/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/x11/
part: 'В начале'
prev: books/handbook/ports
-showBookMenu: true
+showBookMenu: 'true'
tags: ["AMD", "DRM", "Fonts", "Graphics", "Input", "Intel", "Monitor", "NVIDIA", "PRIME", "SCFB", "TrueType", "VESA", "Video", "X11", "Xf86", "Xorg"]
title: 'Глава 5. Система X Window'
weight: 7
@@ -592,7 +592,7 @@ EndSection
$ xinput
....
-Ее вывод должен быть похож на следующий:
+Её вывод должен быть похож на следующий:
[example]
....
diff --git a/documentation/content/ru/books/handbook/x11/_index.po b/documentation/content/ru/books/handbook/x11/_index.po
index 43ad471143..51306e0019 100644
--- a/documentation/content/ru/books/handbook/x11/_index.po
+++ b/documentation/content/ru/books/handbook/x11/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
-"PO-Revision-Date: 2025-09-06 04:45+0000\n"
+"POT-Creation-Date: 2025-08-17 20:54+0100\n"
+"PO-Revision-Date: 2025-10-31 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/bookshandbookx11_index/ru/>\n"
@@ -18,19 +18,21 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/x11/_index.adoc:1
#, no-wrap
msgid "This chapter describes how to install and configure the X Window System providing a graphical environment"
-msgstr "Эта глава описывает, как установить и настроить систему X Windows, которая предоставляет графическое окружение"
+msgstr ""
+"Эта глава описывает, как установить и настроить систему X Windows, которая "
+"предоставляет графическое окружение"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/x11/_index.adoc:1
#, no-wrap
msgid "Part I. Getting Started"
msgstr "В начале"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/x11/_index.adoc:1
#, no-wrap
msgid "Chapter 5. The X Window System"
@@ -53,15 +55,15 @@ msgstr "Обзор"
msgid ""
"An crossref:bsdinstall[bsdinstall-synopsis,installation] of FreeBSD using "
"man:bsdinstall[8] does not automatically install a graphical user "
-"interface. This chapter describes how to install and configure the "
-"man:Xorg[1] server, which provides the open source X Window System "
-"(colloquially X11) used to provide a graphical environment."
+"interface. This chapter describes how to install and configure the man:"
+"Xorg[1] server, which provides the open source X Window System (colloquially "
+"X11) used to provide a graphical environment."
msgstr ""
"crossref:bsdinstall[bsdinstall-synopsis,Установка] FreeBSD с помощью "
"man:bsdinstall[8] не включает автоматическую установку графического "
"интерфейса пользователя. В этой главе описано, как установить и настроить "
-"man:Xorg[1], который предоставляет открытую реализацию системы X Window "
-"(часто сокращается до X11), используемую для создания графической среды."
+"man:Xorg[1], который предоставляет открытую реализацию системы X Window ("
+"часто сокращается до X11), используемую для создания графической среды."
#. type: Plain text
#: documentation/content/en/books/handbook/x11/_index.adoc:63
@@ -71,8 +73,8 @@ msgstr "Прежде чем читать эту главу, вы должны:"
#. type: Plain text
#: documentation/content/en/books/handbook/x11/_index.adoc:66
msgid ""
-"Know how to install additional third-party software as described in "
-"crossref:ports[ports,Installing Applications: Packages and Ports]."
+"Know how to install additional third-party software as described in crossref:"
+"ports[ports,Installing Applications: Packages and Ports]."
msgstr ""
"Знать, как устанавливать дополнительное стороннее программное обеспечение, "
"как описано в crossref:ports[ports,Установка приложений: Пакеты и Порты]."
@@ -349,8 +351,8 @@ msgstr ""
#: documentation/content/en/books/handbook/x11/_index.adoc:148
msgid ""
"User Modesetting The oldest class of drivers is still supported, however "
-"they may only be used with man:sc[4] console and older versions of the "
-"man:Xorg[1] graphical environment."
+"they may only be used with man:sc[4] console and older versions of the man:"
+"Xorg[1] graphical environment."
msgstr ""
"User Modesetting Самая старая категория драйверов по-прежнему "
"поддерживается, однако они могут использоваться только с консолью man:sc[4] "
@@ -389,7 +391,8 @@ msgid ""
" device = 'Alder Lake-P GT2 [Iris Xe Graphics]'\n"
" class = display\n"
msgstr ""
-"vgapci1@pci0:0:2:0: class=0x030000 rev=0x0c hdr=0x00 vendor=0x8086 device=0x46a6 subvendor=0x1028 subdevice=0x0b29\n"
+"vgapci1@pci0:0:2:0: class=0x030000 rev=0x0c hdr=0x00 vendor=0x8086 "
+"device=0x46a6 subvendor=0x1028 subdevice=0x0b29\n"
" vendor = 'Intel Corporation'\n"
" device = 'Alder Lake-P GT2 [Iris Xe Graphics]'\n"
" class = display\n"
@@ -457,8 +460,7 @@ msgstr ""
msgid ""
"The Intel(R) Graphics driver can be installed by executing the following "
"command:"
-msgstr ""
-"Драйвер Intel(R) Graphics можно установить, выполнив следующую команду:"
+msgstr "Драйвер Intel(R) Graphics можно установить, выполнив следующую команду:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/x11/_index.adoc:206
@@ -501,9 +503,9 @@ msgstr ""
"Пакет package:graphics/drm-kmod[] косвенно предоставляет модули ядра для "
"набора графических процессоров AMD(R). В зависимости от поколения "
"оборудования могут использоваться модули `amdgpu` или `radeonkms`. Проект "
-"FreeBSD поддерживает link:https://wiki.freebsd.org/Graphics/AMD-GPU-"
-"Matrix[матрицу поддержки AMD graphics], чтобы показать уровень поддержки и "
-"для определения необходимого драйвера."
+"FreeBSD поддерживает link:https://wiki.freebsd.org/Graphics/AMD-GPU-Matrix["
+"матрицу поддержки AMD graphics], чтобы показать уровень поддержки и для "
+"определения необходимого драйвера."
#. type: Plain text
#: documentation/content/en/books/handbook/x11/_index.adoc:228
@@ -701,8 +703,8 @@ msgid ""
"To enable the driver, add the module to [.filename]#/etc/rc.conf# file, by "
"executing the following command:"
msgstr ""
-"Чтобы активировать драйвер, добавьте модуль в файл [.filename]#/etc/"
-"rc.conf#, выполнив следующую команду:"
+"Чтобы активировать драйвер, добавьте модуль в файл [.filename]#/etc/rc.conf#"
+", выполнив следующую команду:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/x11/_index.adoc:309
@@ -723,8 +725,8 @@ msgid ""
"Enable it for subsequent boots with the following man:loader.conf[5] tunable:"
msgstr ""
"Kernel modesetting — это опция для установки графического режима в ядре. "
-"Включите её для последующих загрузок с помощью следующей настройки "
-"man:loader.conf[5]:"
+"Включите её для последующих загрузок с помощью следующей настройки man:loader"
+".conf[5]:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/x11/_index.adoc:320
@@ -957,13 +959,13 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/x11/_index.adoc:433
msgid ""
-"X.org server looks in several directories for configuration files. "
-"[.filename]#/usr/local/etc/X11/# is the *recommended* directory for these "
+"X.org server looks in several directories for configuration files. [."
+"filename]#/usr/local/etc/X11/# is the *recommended* directory for these "
"files on FreeBSD. Using this directory helps keep application files "
"separate from operating system files."
msgstr ""
-"Сервер X.org ищет конфигурационные файлы в нескольких каталогах. "
-"[.filename]#/usr/local/etc/X11/# — это *рекомендуемый* каталог для таких "
+"Сервер X.org ищет конфигурационные файлы в нескольких каталогах. [."
+"filename]#/usr/local/etc/X11/# — это *рекомендуемый* каталог для таких "
"файлов в FreeBSD. Использование этого каталога помогает отделять файлы "
"приложений от файлов операционной системы."
@@ -1016,8 +1018,8 @@ msgid ""
"# directory."
msgstr ""
"Если несколько графических драйверов конфликтуют, драйвер графического "
-"процессора можно указать в каталоге [.filename]#/usr/local/etc/X11/"
-"xorg.conf.d/#."
+"процессора можно указать в каталоге [.filename]#/usr/local/etc/X11/xorg.conf."
+"d/#."
#. type: Plain text
#: documentation/content/en/books/handbook/x11/_index.adoc:456
@@ -1060,7 +1062,7 @@ msgstr "Для настройки драйвера AMD(R) в файле конф
msgid "Select AMD(R) Graphics Driver in a File"
msgstr "Выберите видеодрайвер AMD(R) Graphics в файле"
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/x11/_index.adoc:479
msgid "[.filename]#/usr/local/etc/X11/xorg.conf.d/20-radeon.conf#"
msgstr "[.filename]#/usr/local/etc/X11/xorg.conf.d/20-radeon.conf#"
@@ -1090,7 +1092,7 @@ msgstr "Для настройки драйвера NVIDIA(R) в файле ко
msgid "Select NVIDIA(R) Graphics Driver in a File"
msgstr "Выберите видеодрайвер NVIDIA(R) Graphics в файле"
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/x11/_index.adoc:496
msgid "[.filename]#/usr/local/etc/X11/xorg.conf.d/20-nvidia.conf#"
msgstr "[.filename]#/usr/local/etc/X11/xorg.conf.d/20-nvidia.conf#"
@@ -1109,7 +1111,7 @@ msgstr ""
"\tDriver \"nvidia-modeset\"\n"
"EndSection\n"
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/x11/_index.adoc:510
msgid ""
"package:x11/nvidia-xconfig[] can also be used to perform basic control over "
@@ -1118,7 +1120,7 @@ msgstr ""
"Пакет <<package,x11/nvidia-xconfig>> также может быть использован для "
"базового управления параметрами конфигурации, доступными в драйвере NVIDIA."
-#. type: Plain text
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/x11/_index.adoc:513
msgid "To configure the SCFB driver in a configuration file:"
msgstr "Для настройки драйвера SCFB в файле конфигурации:"
@@ -1129,7 +1131,7 @@ msgstr "Для настройки драйвера SCFB в файле конфи
msgid "Select SCFB Graphics Driver in a File"
msgstr "Выберите видеодрайвер SCFB Graphics в файле"
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/x11/_index.adoc:519
msgid "[.filename]#/usr/local/etc/X11/xorg.conf.d/20-scfb.conf#"
msgstr "[.filename]#/usr/local/etc/X11/xorg.conf.d/20-scfb.conf#"
@@ -1159,7 +1161,7 @@ msgstr "Для настройки драйвера VESA в файле конфи
msgid "Select VESA Graphics Driver in a File"
msgstr "Выберите видеодрайвер VESA Graphics в файле"
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/x11/_index.adoc:536
msgid "[.filename]#/usr/local/etc/X11/xorg.conf.d/20-vesa.conf#"
msgstr "[.filename]#/usr/local/etc/X11/xorg.conf.d/20-vesa.conf#"
@@ -1197,7 +1199,8 @@ msgid ""
" class = display\n"
"--\n"
msgstr ""
-"vgapci0@pci0:0:2:0: class=0x030000 rev=0x0c hdr=0x00 vendor=0x8086 device=0x46a6 subvendor=0x1028 subdevice=0x0b29\n"
+"vgapci0@pci0:0:2:0: class=0x030000 rev=0x0c hdr=0x00 vendor=0x8086 "
+"device=0x46a6 subvendor=0x1028 subdevice=0x0b29\n"
" vendor = 'Intel Corporation'\n"
" device = 'Alder Lake-P GT2 [Iris Xe Graphics]'\n"
" class = display\n"
@@ -1212,7 +1215,8 @@ msgid ""
" device = 'GA107GLM [RTX A1000 Laptop GPU]'\n"
" class = display\n"
msgstr ""
-"vgapci0@pci0:1:0:0: class=0x030200 rev=0xa1 hdr=0x00 vendor=0x10de device=0x25b9 subvendor=0x1028 subdevice=0x0b29\n"
+"vgapci0@pci0:1:0:0: class=0x030200 rev=0xa1 hdr=0x00 vendor=0x10de "
+"device=0x25b9 subvendor=0x1028 subdevice=0x0b29\n"
" vendor = 'NVIDIA Corporation'\n"
" device = 'GA107GLM [RTX A1000 Laptop GPU]'\n"
" class = display\n"
@@ -1221,7 +1225,9 @@ msgstr ""
#: documentation/content/en/books/handbook/x11/_index.adoc:570
#, no-wrap
msgid "Select Intel(R) Graphics Driver and NVIDIA(R) Graphics Driver in a File"
-msgstr "Выберите драйвер видео Intel(R) Graphics и драйвер видео NVIDIA(R) Graphics в файле"
+msgstr ""
+"Выберите драйвер видео Intel(R) Graphics и драйвер видео NVIDIA(R) Graphics "
+"в файле"
#. type: delimited block = 4
#: documentation/content/en/books/handbook/x11/_index.adoc:575
@@ -1409,8 +1415,8 @@ msgid ""
"Oftentimes, a black screen upon starting X can be fixed by adding an `xrandr "
"--auto` step to the initialization process."
msgstr ""
-"Часто черный экран при запуске X можно исправить, добавив шаг `xrandr --"
-"auto` в процесс инициализации."
+"Часто черный экран при запуске X можно исправить, добавив шаг `xrandr --auto`"
+" в процесс инициализации."
#. type: Title ====
#: documentation/content/en/books/handbook/x11/_index.adoc:673
@@ -1481,9 +1487,9 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/x11/_index.adoc:708
msgid ""
-"Individual device settings for man:libinput[4] can be tuned in your "
-"crossref:desktop[desktop-synopsis,desktop's] GUI, or manually with "
-"package:x11/xinput[xinput] and package:x11/setxkbmap[setxkbmap]."
+"Individual device settings for man:libinput[4] can be tuned in your crossref:"
+"desktop[desktop-synopsis,desktop's] GUI, or manually with package:x11/"
+"xinput[xinput] and package:x11/setxkbmap[setxkbmap]."
msgstr ""
"Индивидуальные настройки устройств для man:libinput[4] можно настроить в "
"графическом интерфейсе вашего crossref:desktop[desktop-synopsis,рабочего "
@@ -1498,8 +1504,8 @@ msgid ""
"input-[foo]. This approach requires manual configuration of the X.org "
"server. Both are described in this subsection."
msgstr ""
-"В качестве альтернативы, в пакете package:x11-drivers[] категории x11/xf86-"
-"input-[foo] доступны более старые, легковесные отдельные драйверы для "
+"В качестве альтернативы, в пакете package:x11-drivers[] категории x11/"
+"xf86-input-[foo] доступны более старые, легковесные отдельные драйверы для "
"конкретных устройств ввода. Этот подход требует ручной настройки сервера "
"X.org. Оба метода описаны в данном подразделе."
@@ -1525,8 +1531,8 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/x11/_index.adoc:726
msgid ""
-"To ask man:libinput[4] what devices it's currently attached to, run "
-"man:xinput[1] with no arguments:"
+"To ask man:libinput[4] what devices it's currently attached to, run man:"
+"xinput[1] with no arguments:"
msgstr ""
"Чтобы узнать, к каким устройствам в данный момент подключён man:libinput[4], "
"запустите man:xinput[1] без аргументов:"
@@ -1540,7 +1546,7 @@ msgstr "$ xinput\n"
#. type: Plain text
#: documentation/content/en/books/handbook/x11/_index.adoc:733
msgid "Its output should be similar to the following:"
-msgstr "Ее вывод должен быть похож на следующий:"
+msgstr "Её вывод должен быть похож на следующий:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/x11/_index.adoc:748
@@ -1561,14 +1567,17 @@ msgstr ""
"⎡ Virtual core pointer \tid=2\t[master pointer (3)]\n"
"⎜ ↳ Virtual core XTEST pointer \tid=4\t[slave pointer (2)]\n"
"⎜ ↳ System mouse \tid=7\t[slave pointer (2)]\n"
-"⎜ ↳ VEN_0488:00 0488:1031 Mouse \tid=11\t[slave pointer (2)]\n"
-"⎜ ↳ VEN_0488:00 0488:1031 TouchPad \tid=12\t[slave pointer (2)]\n"
+"⎜ ↳ VEN_0488:00 0488:1031 Mouse \tid=11\t[slave pointer (2)]"
+"\n"
+"⎜ ↳ VEN_0488:00 0488:1031 TouchPad \tid=12\t[slave pointer (2)]"
+"\n"
"⎣ Virtual core keyboard \tid=3\t[master keyboard (2)]\n"
" ↳ Virtual core XTEST keyboard \tid=5\t[slave keyboard (3)]\n"
" ↳ System keyboard multiplexer \tid=6\t[slave keyboard (3)]\n"
" ↳ Power Button \tid=8\t[slave keyboard (3)]\n"
" ↳ Sleep Button \tid=9\t[slave keyboard (3)]\n"
-" ↳ AT keyboard \tid=10\t[slave keyboard (3)]\n"
+" ↳ AT keyboard \tid=10\t[slave keyboard (3)]"
+"\n"
#. type: Plain text
#: documentation/content/en/books/handbook/x11/_index.adoc:753
@@ -1591,12 +1600,12 @@ msgstr "Для настройки клавиатуры обратитесь к m
#: documentation/content/en/books/handbook/x11/_index.adoc:758
msgid ""
"Once satisfied with your configuration, simply add the lines to your X "
-"initialization script such as [.filename]#~/.Xsession# or "
-"[.filename]#~/.xinitrc#."
+"initialization script such as [.filename]#~/.Xsession# or [.filename]#~/."
+"xinitrc#."
msgstr ""
"Удовлетворившись своей конфигурацией, просто добавьте строки в ваш скрипт "
-"инициализации X, например, в [.filename]#~/.Xsession# или "
-"[.filename]#~/.xinitrc#."
+"инициализации X, например, в [.filename]#~/.Xsession# или [.filename]#~/."
+"xinitrc#."
#. type: Title ====
#: documentation/content/en/books/handbook/x11/_index.adoc:760
@@ -1724,12 +1733,12 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/x11/_index.adoc:818
msgid ""
-"System-wide font packages installed from the ports collection live in "
-"`[.filename]#/usr/local/share/fonts/#`. Fonts for a single user can be "
-"placed in `[.filename]#~/.fonts/#`, or `[.filename]#~/.local/share/fonts/#`."
+"System-wide font packages installed from the ports collection live in `[."
+"filename]#/usr/local/share/fonts/#`. Fonts for a single user can be placed "
+"in `[.filename]#~/.fonts/#`, or `[.filename]#~/.local/share/fonts/#`."
msgstr ""
-"Системные пакеты шрифтов, установленные из коллекции портов, находятся в "
-"`[.filename]#/usr/local/share/fonts/#`. Шрифты для отдельного пользователя "
+"Системные пакеты шрифтов, установленные из коллекции портов, находятся в `[."
+"filename]#/usr/local/share/fonts/#`. Шрифты для отдельного пользователя "
"можно разместить в `[.filename]#~/.fonts/#` или `[.filename]#~/.local/share/"
"fonts/#`."
@@ -1784,14 +1793,14 @@ msgid ""
"different modules that can enable this functionality. The freetype module "
"is used in this example because it is more consistent with the other font "
"rendering back-ends. To enable the freetype module just add the following "
-"line to the `\"Module\"` section of [.filename]#/usr/local/etc/X11/"
-"xorg.conf.d/90-fonts.conf#."
+"line to the `\"Module\"` section of [.filename]#/usr/local/etc/X11/xorg.conf."
+"d/90-fonts.conf#."
msgstr ""
"В X.org есть встроенная поддержка отображения шрифтов TrueType(R). Для этого "
"доступны два различных модуля. В данном примере используется модуль "
"freetype, так как он более согласован с другими механизмами отображения "
-"шрифтов. Чтобы включить модуль freetype, добавьте следующую строку в раздел "
-"`\"Module\"` файла [.filename]#/usr/local/etc/X11/xorg.conf.d/90-fonts.conf#."
+"шрифтов. Чтобы включить модуль freetype, добавьте следующую строку в раздел `"
+"\"Module\"` файла [.filename]#/usr/local/etc/X11/xorg.conf.d/90-fonts.conf#."
#. type: delimited block . 4
#: documentation/content/en/books/handbook/x11/_index.adoc:847
@@ -1895,10 +1904,11 @@ msgid ""
msgstr ""
"Коллекция шрифтов URW (package:x11-fonts/urwfonts[]) включает "
"высококачественные версии стандартных шрифтов type1 (Times Roman(TM), "
-"Helvetica(TM), Palatino(TM) и другие). Коллекция Freefonts (package:x11-"
-"fonts/freefonts[]) содержит гораздо больше шрифтов, но большинство из них "
-"предназначены для использования в графических программах, таких как Gimp, и "
-"не являются достаточно полными для использования в качестве экранных шрифтов."
+"Helvetica(TM), Palatino(TM) и другие). Коллекция Freefonts (package:"
+"x11-fonts/freefonts[]) содержит гораздо больше шрифтов, но большинство из "
+"них предназначены для использования в графических программах, таких как "
+"Gimp, и не являются достаточно полными для использования в качестве экранных "
+"шрифтов."
#. type: Plain text
#: documentation/content/en/books/handbook/x11/_index.adoc:888
@@ -1925,8 +1935,8 @@ msgid ""
msgstr ""
"Аналогично с коллекцией freefont или другими. Чтобы X-сервер, "
"сконфигурированный в ручную) обнаружил эти шрифты, добавьте соответствующую "
-"строку в файл конфигурации X-сервера ([.filename]#/usr/local/etc/X11/"
-"xorg.conf.d/90-fonts.conf#), которая выглядит следующим образом:"
+"строку в файл конфигурации X-сервера ([.filename]#/usr/local/etc/X11/xorg."
+"conf.d/90-fonts.conf#), которая выглядит следующим образом:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/x11/_index.adoc:902
@@ -1984,8 +1994,8 @@ msgid ""
"aliasing to Xft-aware applications. Most recent applications are Xft-aware, "
"including KDE, GNOME, and Firefox."
msgstr ""
-"Все шрифты в X.org, находящиеся в [.filename]#/usr/local/share/fonts/# и "
-"[.filename]#~/.fonts/#, автоматически становятся доступными для сглаживания "
+"Все шрифты в X.org, находящиеся в [.filename]#/usr/local/share/fonts/# и [."
+"filename]#~/.fonts/#, автоматически становятся доступными для сглаживания "
"приложениям, поддерживающим Xft. Большинство современных приложений "
"поддерживают Xft, включая KDE, GNOME и Firefox."
@@ -1999,8 +2009,8 @@ msgid ""
"possibilities. For more details, please see man:fonts-conf[5]."
msgstr ""
"Для управления тем, какие шрифты сглаживаются, или для настройки свойств "
-"сглаживания создайте (или отредактируйте, если он уже существует) файл "
-"[.filename]#/usr/local/etc/fonts/local.conf#. С помощью этого файла можно "
+"сглаживания создайте (или отредактируйте, если он уже существует) файл [."
+"filename]#/usr/local/etc/fonts/local.conf#. С помощью этого файла можно "
"настроить несколько расширенных возможностей системы шрифтов Xft; в этом "
"разделе описаны лишь некоторые простые варианты. Подробнее см. в man:fonts-"
"conf[5]."
@@ -2040,8 +2050,8 @@ msgstr ""
"Как уже упоминалось, все шрифты в [.filename]#/usr/local/share/fonts/#, а "
"также в [.filename]#~/.fonts/# уже доступны для приложений, поддерживающих "
"Xft. Чтобы добавить другой каталог вне этих двух деревьев каталогов, "
-"добавьте строку следующего вида в [.filename]#/usr/local/etc/fonts/"
-"local.conf#:"
+"добавьте строку следующего вида в [.filename]#/usr/local/etc/fonts/local."
+"conf#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/x11/_index.adoc:942
@@ -2244,9 +2254,9 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/x11/_index.adoc:1035
msgid ""
-"Users can add personalized settings by creating their own "
-"[.filename]#~/.config/fontconfig/fonts.conf#. This file uses the same `XML` "
-"format described above."
+"Users can add personalized settings by creating their own [.filename]#~/."
+"config/fontconfig/fonts.conf#. This file uses the same `XML` format "
+"described above."
msgstr ""
"Пользователи могут добавить индивидуальные настройки, создав собственный "
"файл [.filename]#~/.config/fontconfig/fonts.conf#. Этот файл использует тот "
@@ -2264,8 +2274,8 @@ msgstr ""
"субпиксельная выборка. По сути, это раздельная обработка красного, зелёного "
"и синего компонентов (разделённых горизонтально) для улучшения "
"горизонтального разрешения; результат может быть впечатляющим. Чтобы "
-"включить эту функцию, добавьте следующую строку в файл "
-"[.filename]#local.conf#:"
+"включить эту функцию, добавьте следующую строку в файл [.filename]#local."
+"conf#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/x11/_index.adoc:1050
@@ -2382,14 +2392,14 @@ msgstr ""
#~ msgid ""
#~ "Intel(R) Graphics refers to the class of graphics chips that are "
-#~ "integrated on the same die as an Intel(R) CPU. Wikipedia offers "
-#~ "link:https://en.wikipedia.org/wiki/"
-#~ "List_of_Intel_graphics_processing_units[a good overview of the variations "
-#~ "and names used for generations of Intel HD Graphics]."
+#~ "integrated on the same die as an Intel(R) CPU. Wikipedia offers link:"
+#~ "https://en.wikipedia.org/wiki/List_of_Intel_graphics_processing_units[a "
+#~ "good overview of the variations and names used for generations of Intel "
+#~ "HD Graphics]."
#~ msgstr ""
#~ "Графика Intel(R) относится к классу графических чипов, интегрированных на "
-#~ "одном кристалле с процессором Intel(R). На Википедии доступен "
-#~ "link:https://en.wikipedia.org/wiki/"
+#~ "одном кристалле с процессором Intel(R). На Википедии доступен link:"
+#~ "https://en.wikipedia.org/wiki/"
#~ "List_of_Intel_graphics_processing_units[хороший обзор вариантов и "
#~ "названий поколений Intel HD Graphics]."
@@ -2430,8 +2440,8 @@ msgstr ""
#~ "The `nvidia` driver must be used if the packages package:x11/nvidia-"
#~ "driver-304[] or package:x11/nvidia-driver-340[] have been installed."
#~ msgstr ""
-#~ "Драйвер `nvidia` должен использоваться, если установлены пакеты "
-#~ "package:x11/nvidia-driver-304[] или package:x11/nvidia-driver-340[]."
+#~ "Драйвер `nvidia` должен использоваться, если установлены пакеты package:"
+#~ "x11/nvidia-driver-304[] или package:x11/nvidia-driver-340[]."
#~ msgid ""
#~ "Xorg supports most common video cards, keyboards, and pointing devices."
@@ -2449,8 +2459,8 @@ msgstr ""
#~ "etc/X11/xorg.conf.d/# subdirectory."
#~ msgstr ""
#~ "Традиционный единый файл [.filename]#xorg.conf# по-прежнему работает, но "
-#~ "он не так понятен и гибок, как несколько файлов в подкаталоге "
-#~ "[.filename]#/usr/local/etc/X11/xorg.conf.d/#."
+#~ "он не так понятен и гибок, как несколько файлов в подкаталоге [."
+#~ "filename]#/usr/local/etc/X11/xorg.conf.d/#."
#, no-wrap
#~ msgid "Video Cards"
@@ -2468,8 +2478,8 @@ msgstr ""
#~ "Xorg supports the vast majority of input devices via package:x11/"
#~ "libinput[]."
#~ msgstr ""
-#~ "Xorg поддерживает подавляющее большинство устройств ввода через "
-#~ "package:x11/libinput[]."
+#~ "Xorg поддерживает подавляющее большинство устройств ввода через package:"
+#~ "x11/libinput[]."
#, no-wrap
#~ msgid "Using Fonts in Xorg"
diff --git a/documentation/content/ru/books/handbook/zfs/_index.adoc b/documentation/content/ru/books/handbook/zfs/_index.adoc
index 0f1c0697f4..83fa423f50 100644
--- a/documentation/content/ru/books/handbook/zfs/_index.adoc
+++ b/documentation/content/ru/books/handbook/zfs/_index.adoc
@@ -5,7 +5,7 @@ params:
path: /books/handbook/zfs/
part: 'Часть III. Администрирование системы'
prev: books/handbook/geom
-showBookMenu: true
+showBookMenu: 'true'
tags: ["ZFS", "filesystem", "administration", "zpool", "features", "terminology", "RAID-Z"]
title: 'Глава 22. Файловая система Z (ZFS)'
weight: 26
@@ -2229,7 +2229,7 @@ dedup = 1.05, compress = 1.11, copies = 1.00, dedup * compress / copies = 1.16
* [[zfs-advanced-tuning-l2arc_write_boost]] `_vfs.zfs.l2arc_write_boost_` — Добавляет значение этого параметра к crossref:zfs[zfs-advanced-tuning-l2arc_write_max,`vfs.zfs.l2arc_write_max`] и увеличивает скорость записи на SSD до вытеснения первого блока из crossref:zfs[zfs-term-l2arc,L2ARC]. Эта "Фаза турборазогрева" снижает потерю производительности из-за пустого crossref:zfs[zfs-term-l2arc,L2ARC] после перезагрузки. Значение можно изменить в любое время с помощью man:sysctl[8].
* [[zfs-advanced-tuning-scrub_delay]]`_vfs.zfs.scrub_delay_` — Количество тактов задержки между каждой операцией ввода-вывода во время перекрестного crossref:zfs[zfs-term-scrub,`scrub`]. Чтобы гарантировать, что `scrub` не мешает нормальной работе пула, если происходят другие операции ввода-вывода, `scrub` будет задерживаться между каждой командой. Это значение контролирует ограничение на общее количество IOPS (операций ввода-вывода в секунду)
, сгенерированных командой `scrub`. Гранулярность настройки определяется значением `kern.hz`, которое по умолчанию равно 1000 тикам в секунду. Изменение этого параметра приводит к изменению эффективного лимита IOPS. Значение по умолчанию — `4`, что дает лимит: 1000 тиков/сек / 4 = 250 IOPS. Использование значения _20_ установит лимит: 1000 тиков/сек / 20 = 50 IOPS. Недавняя активность в пуле ограничивает скорость `scrub`, как определено в crossref:zfs[zfs-advanced-tuning-scan_idle,`vfs.zfs.scan_idle`]. Это значение можно изменить в любое время с помощью man:sysctl[8].
-* [[zfs-advanced-tuning-resilver_delay]] `_vfs.zfs.resilver_delay_` — количество миллисекунд задержки, вставляемой между каждым операцией ввода-вывода во время crossref:zfs[zfs-term-resilver,ресилверинга]. Чтобы гарантировать, что ресилверинг не мешает нормальной работе пула, при наличии других операций ввода-вывода ресилверинг будет добавлять задержку между каждой командой. Данный параметр ограничивает общее количество IOPS (операций ввода-вывода в секунду), генерируемых ресилверингом. ZFS определяет гранулярность настройки через значение `kern.hz`, которое по умолчанию равно 1000 тикам в секунду. Изменение этого параметра приводит к изменению эффективного лимита IOPS. Значение по умолчанию — 2, что даёт лимит: 1000 тиков/сек / 2 = 500 IOPS. Возвращение пула в состояние crossref:zfs[zfs-term-online,Online] может быть более важным, если выход из строя другого устройства может перевести пул в состояние crossref:zfs[zfs-term-faulted,Fault], что приведёт к потере данных. Значение 0 даст операции ресилверинга такой же приоритет, как и другим операциям, ускоряя процесс восстановления. Недавняя активность в пуле ограничивает скорость ресилверинга, как определено в crossref:zfs[zfs-advanced-tuning-scan_idle,`vfs.zfs.scan_idle`]. Этот параметр можно изменить в любое время с помощью man:sysctl[8].
+* [[zfs-advanced-tuning-resilver_delay]] `_vfs.zfs.resilver_delay_` — количество миллисекунд задержки, вставляемой между каждым операцией ввода-вывода во время crossref:zfs[zfs-term-resilver,ресильверинга]. Чтобы гарантировать, что ресильверинг не мешает нормальной работе пула, при наличии других операций ввода-вывода ресильверинг будет добавлять задержку между каждой командой. Данный параметр ограничивает общее количество IOPS (операций ввода-вывода в секунду), генерируемых ресильверингом. ZFS определяет гранулярность настройки через значение `kern.hz`, которое по умолчанию равно 1000 тикам в секунду. Изменение этого параметра приводит к изменению эффективного лимита IOPS. Значение по умолчанию — 2, что даёт лимит: 1000 тиков/сек / 2 = 500 IOPS. Возвращение пула в состояние crossref:zfs[zfs-term-online,Online] может быть более важным, если выход из строя другого устройства может перевести пул в состояние crossref:zfs[zfs-term-faulted,Fault], что приведёт к потере данных. Значение 0 даст операции ресильверинга такой же приоритет, как и другим операциям, ускоряя процесс восстановления. Недавняя активность в пуле ограничивает скорость ресильверинга, как определено в crossref:zfs[zfs-advanced-tuning-scan_idle,`vfs.zfs.scan_idle`]. Этот параметр можно изменить в любое время с помощью man:sysctl[8].
* [[zfs-advanced-tuning-scan_idle]] `_vfs.zfs.scan_idle_` - Количество миллисекунд с момента последней операции, после которого пул считается бездействующим. ZFS отключает ограничение скорости для crossref:zfs[zfs-term-scrub,`scrub`] и crossref:zfs[zfs-term-resilver,ресильверинга], когда пул бездействует. Это значение можно изменить в любое время с помощью man:sysctl[8].
* [[zfs-advanced-tuning-txg-timeout]] `_vfs.zfs.txg.timeout_` — Максимальное количество секунд между группами crossref:zfs[zfs-term-txg,транзакций]. Текущая группа транзакций записывается в пул, и начинается новая группа транзакций, если с момента предыдущей группы транзакций прошло указанное время. Группа транзакций может запуститься раньше при записи достаточного объема данных. Значение по умолчанию составляет 5 секунд. Увеличение этого значения может улучшить производительность чтения за счет задержки асинхронных записей, но это может привести к неравномерной производительности при записи группы транзакций. Это значение можно изменить в любое время с помощью man:sysctl[8].
diff --git a/documentation/content/ru/books/handbook/zfs/_index.po b/documentation/content/ru/books/handbook/zfs/_index.po
index 89c97aadc1..63280170c4 100644
--- a/documentation/content/ru/books/handbook/zfs/_index.po
+++ b/documentation/content/ru/books/handbook/zfs/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-20 11:02+0300\n"
-"PO-Revision-Date: 2025-07-15 04:45+0000\n"
+"POT-Creation-Date: 2025-06-29 21:20+0100\n"
+"PO-Revision-Date: 2025-10-29 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/bookshandbookzfs_index/ru/>\n"
@@ -18,19 +18,22 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/handbook/zfs/_index.adoc:1
#, no-wrap
msgid "ZFS is an advanced file system designed to solve major problems found in previous storage subsystem software"
-msgstr "ZFS — это продвинутая файловая система, разработанная для решения основных проблем, присущих предыдущему программному обеспечению подсистем хранения данных"
+msgstr ""
+"ZFS — это продвинутая файловая система, разработанная для решения основных "
+"проблем, присущих предыдущему программному обеспечению подсистем хранения "
+"данных"
-#. type: Yaml Front Matter Hash Value: part
+#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/zfs/_index.adoc:1
#, no-wrap
msgid "Part III. System Administration"
msgstr "Часть III. Администрирование системы"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/zfs/_index.adoc:1
#, no-wrap
msgid "Chapter 22. The Z File System (ZFS)"
@@ -76,12 +79,12 @@ msgid ""
"attempt to automatically correct errors when ditto-, mirror-, or parity-"
"blocks are available."
msgstr ""
-"Целостность данных: Все данные включают crossref:zfs[zfs-term-"
-"checksum,контрольную сумму]. ZFS вычисляет контрольные суммы и записывает их "
-"вместе с данными. При последующем чтении этих данных ZFS пересчитывает "
-"контрольные суммы. Если контрольные суммы не совпадают, что означает "
-"обнаружение одной или нескольких ошибок данных, ZFS попытается автоматически "
-"исправить ошибки, если доступны двойные-, зеркальные- или блоки четности."
+"Целостность данных: Все данные включают crossref:zfs[zfs-term-checksum,"
+"контрольную сумму]. ZFS вычисляет контрольные суммы и записывает их вместе с "
+"данными. При последующем чтении этих данных ZFS пересчитывает контрольные "
+"суммы. Если контрольные суммы не совпадают, что означает обнаружение одной "
+"или нескольких ошибок данных, ZFS попытается автоматически исправить ошибки, "
+"если доступны двойные-, зеркальные- или блоки четности."
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:60
@@ -98,18 +101,18 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:65
msgid ""
-"Performance: caching mechanisms provide increased performance. "
-"crossref:zfs[zfs-term-arc,ARC] is an advanced memory-based read cache. ZFS "
-"provides a second level disk-based read cache with crossref:zfs[zfs-term-"
-"l2arc,L2ARC], and a disk-based synchronous write cache named "
-"crossref:zfs[zfs-term-zil,ZIL]."
+"Performance: caching mechanisms provide increased performance. crossref:"
+"zfs[zfs-term-arc,ARC] is an advanced memory-based read cache. ZFS provides a "
+"second level disk-based read cache with crossref:zfs[zfs-term-l2arc,L2ARC], "
+"and a disk-based synchronous write cache named crossref:zfs[zfs-term-zil,"
+"ZIL]."
msgstr ""
"Производительность: механизмы кэширования обеспечивают повышенную "
"производительность. crossref:zfs[zfs-term-arc,ARC] — это продвинутый кэш "
"для чтения, основанный на оперативной памяти. ZFS предоставляет второй "
-"уровень кэша для чтения на основе диска — crossref:zfs[zfs-term-"
-"l2arc,L2ARC], а также кэш для синхронной записи на основе диска под "
-"названием crossref:zfs[zfs-term-zil,ZIL]."
+"уровень кэша для чтения на основе диска — crossref:zfs[zfs-term-l2arc,"
+"L2ARC], а также кэш для синхронной записи на основе диска под названием "
+"crossref:zfs[zfs-term-zil,ZIL]."
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:67
@@ -183,8 +186,8 @@ msgid ""
"enable it, add this line to [.filename]#/etc/rc.conf#:"
msgstr ""
"FreeBSD может монтировать пулы и наборы данных ZFS во время инициализации "
-"системы. Чтобы включить эту функцию, добавьте следующую строку в "
-"[.filename]#/etc/rc.conf#:"
+"системы. Чтобы включить эту функцию, добавьте следующую строку в [."
+"filename]#/etc/rc.conf#:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:92
@@ -206,14 +209,14 @@ msgstr "# service zfs start\n"
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:103
msgid ""
-"The examples in this section assume three SCSI disks with the device names "
-"[.filename]#da0#, [.filename]#da1#, and [.filename]#da2#. Users of SATA "
+"The examples in this section assume three SCSI disks with the device names [."
+"filename]#da0#, [.filename]#da1#, and [.filename]#da2#. Users of SATA "
"hardware should instead use [.filename]#ada# device names."
msgstr ""
"Примеры в этом разделе предполагают использование трех SCSI-дисков с именами "
"устройств [.filename]#da0#, [.filename]#da1# и [.filename]#da2#. "
-"Пользователям оборудования SATA следует использовать имена устройств "
-"[.filename]#ada#."
+"Пользователям оборудования SATA следует использовать имена устройств [."
+"filename]#ada#."
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:105
@@ -640,13 +643,12 @@ msgstr "# zfs rollback storage/home@08-30-08\n"
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:308
msgid ""
-"To list all available snapshots, run `ls` in the file system's "
-"[.filename]#.zfs/snapshot# directory. For example, to see the snapshot "
-"taken:"
+"To list all available snapshots, run `ls` in the file system's [.filename]#."
+"zfs/snapshot# directory. For example, to see the snapshot taken:"
msgstr ""
-"Чтобы перечислить все доступные снимки, выполните команду `ls` в каталоге "
-"[.filename]#.zfs/snapshot# файловой системы. Например, чтобы увидеть "
-"сделанный снимок:"
+"Чтобы перечислить все доступные снимки, выполните команду `ls` в каталоге [."
+"filename]#.zfs/snapshot# файловой системы. Например, чтобы увидеть сделанный "
+"снимок:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:312
@@ -677,8 +679,8 @@ msgid ""
"After testing, make [.filename]#/storage/home# the real [.filename]#/home# "
"with this command:"
msgstr ""
-"После тестирования сделайте [.filename]#/storage/home# настоящим "
-"[.filename]#/home# с помощью следующей команды:"
+"После тестирования сделайте [.filename]#/storage/home# настоящим [."
+"filename]#/home# с помощью следующей команды:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:329
@@ -786,8 +788,8 @@ msgid ""
"If there is a problem, perhaps a disk being in the crossref:zfs[zfs-term-"
"offline,Offline] state, the pool state will look like this:"
msgstr ""
-"Если возникла проблема, например, диск находится в состоянии "
-"crossref:zfs[zfs-term-offline,оффлайн], состояние пула будет выглядеть так:"
+"Если возникла проблема, например, диск находится в состоянии crossref:"
+"zfs[zfs-term-offline,оффлайн], состояние пула будет выглядеть так:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:390
@@ -1031,8 +1033,8 @@ msgid ""
"ZFS administration uses two main utilities. The `zpool` utility controls "
"the operation of the pool and allows adding, removing, replacing, and "
"managing disks. The crossref:zfs[zfs-zfs,`zfs`] utility allows creating, "
-"destroying, and managing datasets, both crossref:zfs[zfs-term-"
-"filesystem,file systems] and crossref:zfs[zfs-term-volume,volumes]."
+"destroying, and managing datasets, both crossref:zfs[zfs-term-filesystem,"
+"file systems] and crossref:zfs[zfs-term-volume,volumes]."
msgstr ""
"Управление ZFS осуществляется с помощью двух основных утилит. Утилита "
"`zpool` контролирует работу пула и позволяет добавлять, удалять, заменять и "
@@ -1063,8 +1065,8 @@ msgstr ""
"Создание пула хранения ZFS требует принятия постоянных решений, так как "
"структура пула не может быть изменена после создания. Наиболее важное "
"решение — это выбор типов vdev, в которые будут объединены физические диски. "
-"Подробнее о возможных вариантах см. в списке crossref:zfs[zfs-term-"
-"vdev,типов vdev]. После создания пула большинство типов vdev не позволяют "
+"Подробнее о возможных вариантах см. в списке crossref:zfs[zfs-term-vdev,"
+"типов vdev]. После создания пула большинство типов vdev не позволяют "
"добавлять диски в vdev. Исключения составляют зеркала (mirror), которые "
"позволяют добавлять новые диски в vdev, и страйпы (stripe), которые могут "
"быть преобразованы в зеркала путём добавления нового диска к vdev. Хотя "
@@ -1499,8 +1501,8 @@ msgid ""
"Attach a second mirror group ([.filename]#ada2p3# and [.filename]#ada3p3#) "
"to the existing mirror:"
msgstr ""
-"Присоедините вторую группу зеркал ([.filename]#ada2p3# и "
-"[.filename]#ada3p3#) к существующему зеркалу:"
+"Присоедините вторую группу зеркал ([.filename]#ada2p3# и [."
+"filename]#ada3p3#) к существующему зеркалу:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:684
@@ -1712,12 +1714,12 @@ msgstr "Замена рабочего устройства"
msgid ""
"It may be desirable to replace one disk with a different disk. When "
"replacing a working disk, the process keeps the old disk online during the "
-"replacement. The pool never enters a crossref:zfs[zfs-term-"
-"degraded,degraded] state, reducing the risk of data loss. Running `zpool "
-"replace` copies the data from the old disk to the new one. After the "
-"operation completes, ZFS disconnects the old disk from the vdev. If the new "
-"disk is larger than the old disk, it may be possible to grow the zpool, "
-"using the new space. See crossref:zfs[zfs-zpool-online,Growing a Pool]."
+"replacement. The pool never enters a crossref:zfs[zfs-term-degraded,"
+"degraded] state, reducing the risk of data loss. Running `zpool replace` "
+"copies the data from the old disk to the new one. After the operation "
+"completes, ZFS disconnects the old disk from the vdev. If the new disk is "
+"larger than the old disk, it may be possible to grow the zpool, using the "
+"new space. See crossref:zfs[zfs-zpool-online,Growing a Pool]."
msgstr ""
"Может потребоваться заменить один диск на другой. При замене рабочего диска "
"процесс сохраняет старый диск в режиме онлайн во время замены. Пул никогда "
@@ -1876,9 +1878,9 @@ msgstr ""
#: documentation/content/en/books/handbook/zfs/_index.adoc:876
msgid ""
"If the vdev does not have any redundancy, or if devices have failed and "
-"there is not enough redundancy to compensate, the pool enters the "
-"crossref:zfs[zfs-term-faulted,faulted] state. Unless enough devices can "
-"reconnect the pool becomes inoperative requiring a data restore from backups."
+"there is not enough redundancy to compensate, the pool enters the crossref:"
+"zfs[zfs-term-faulted,faulted] state. Unless enough devices can reconnect "
+"the pool becomes inoperative requiring a data restore from backups."
msgstr ""
"Если vdev не имеет избыточности или если устройства вышли из строя и "
"недостаточно избыточности для компенсации, пул переходит в состояние "
@@ -2022,9 +2024,9 @@ msgid ""
"Routinely crossref:zfs[zfs-term-scrub,scrub] pools, ideally at least once "
"every month. The `scrub` operation is disk-intensive and will reduce "
"performance while running. Avoid high-demand periods when scheduling "
-"`scrub` or use crossref:zfs[zfs-advanced-tuning-"
-"scrub_delay,`vfs.zfs.scrub_delay`] to adjust the relative priority of the "
-"`scrub` to keep it from slowing down other workloads."
+"`scrub` or use crossref:zfs[zfs-advanced-tuning-scrub_delay,`vfs.zfs."
+"scrub_delay`] to adjust the relative priority of the `scrub` to keep it from "
+"slowing down other workloads."
msgstr ""
"Регулярно выполняйте crossref:zfs[zfs-term-scrub,scrub] для пулов, "
"желательно не реже одного раза в месяц. Операция `scrub` интенсивно "
@@ -2060,8 +2062,8 @@ msgstr ""
#: documentation/content/en/books/handbook/zfs/_index.adoc:970
msgid "To cancel a scrub operation if needed, run `zpool scrub -s _mypool_`."
msgstr ""
-"Если возникла необходимость отменить операцию scrub, выполните `zpool scrub "
-"-s _mypool_`."
+"Если возникла необходимость отменить операцию scrub, выполните `zpool scrub -"
+"s _mypool_`."
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:972
@@ -2457,8 +2459,8 @@ msgid ""
"[.filename]#ada0# to [.filename]#ada1#, crossref:zfs[zfs-zpool-clear,clear] "
"the error messages from the pool status by running `zpool clear`."
msgstr ""
-"После завершения операции очистки, когда все данные синхронизированы с "
-"[.filename]#ada0# на [.filename]#ada1#, сбросьте сообщения об ошибках из "
+"После завершения операции очистки, когда все данные синхронизированы с [."
+"filename]#ada0# на [.filename]#ada1#, сбросьте сообщения об ошибках из "
"состояния пула, выполнив команду `zpool clear`, как описано в разделе "
"crossref:zfs[zfs-zpool-clear, Сброс состояния ошибки]."
@@ -2500,18 +2502,18 @@ msgstr "Увеличение размера пула"
msgid ""
"The smallest device in each vdev limits the usable size of a redundant "
"pool. Replace the smallest device with a larger device. After completing a "
-"crossref:zfs[zfs-zpool-replace,replace] or crossref:zfs[zfs-term-"
-"resilver,resilver] operation, the pool can grow to use the capacity of the "
-"new device. For example, consider a mirror of a 1 TB drive and a 2 TB "
-"drive. The usable space is 1 TB. When replacing the 1 TB drive with "
-"another 2 TB drive, the resilvering process copies the existing data onto "
-"the new drive. As both of the devices now have 2 TB capacity, the mirror's "
-"available space grows to 2 TB."
+"crossref:zfs[zfs-zpool-replace,replace] or crossref:zfs[zfs-term-resilver,"
+"resilver] operation, the pool can grow to use the capacity of the new "
+"device. For example, consider a mirror of a 1 TB drive and a 2 TB drive. "
+"The usable space is 1 TB. When replacing the 1 TB drive with another 2 TB "
+"drive, the resilvering process copies the existing data onto the new drive. "
+"As both of the devices now have 2 TB capacity, the mirror's available space "
+"grows to 2 TB."
msgstr ""
"Наименьшее устройство в каждом vdev ограничивает полезный размер избыточного "
"пула. Замените наименьшее устройство на устройство большего размера. После "
-"завершения операции crossref:zfs[zfs-zpool-replace,замены] или "
-"crossref:zfs[zfs-term-resilver,пересинхронизации] пул может расшириться для "
+"завершения операции crossref:zfs[zfs-zpool-replace,замены] или crossref:"
+"zfs[zfs-term-resilver,пересинхронизации] пул может расшириться для "
"использования ёмкости нового устройства. Например, рассмотрим зеркало из "
"диска на 1 ТБ и диска на 2 ТБ. Полезное пространство составляет 1 ТБ. При "
"замене диска на 1 ТБ другим диском на 2 ТБ процесс пересинхронизации "
@@ -2577,8 +2579,8 @@ msgid ""
"temporary properties for this specific import. `zpool import altroot=` "
"allows importing a pool with a base mount point instead of the root of the "
"file system. If the pool was last used on a different system and was not "
-"properly exported, force the import using `zpool import -f`. `zpool import "
-"-a` imports all pools that do not appear to be in use by another system."
+"properly exported, force the import using `zpool import -f`. `zpool import -"
+"a` imports all pools that do not appear to be in use by another system."
msgstr ""
"Импорт пула автоматически монтирует наборы данных. Если такое поведение "
"нежелательно, используйте `zpool import -N`, чтобы предотвратить это. `zpool "
@@ -2586,8 +2588,8 @@ msgstr ""
"`zpool import altroot=` позволяет импортировать пул с базовой точкой "
"монтирования вместо корня файловой системы. Если пул последний раз "
"использовался в другой системе и не был корректно экспортирован, "
-"принудительно импортируйте его с помощью `zpool import -f`. `zpool import "
-"-a` импортирует все пулы, которые, по-видимому, не используются другой "
+"принудительно импортируйте его с помощью `zpool import -f`. `zpool import -"
+"a` импортирует все пулы, которые, по-видимому, не используются другой "
"системой."
#. type: Plain text
@@ -3057,15 +3059,15 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1414
msgid ""
-"The output shows that the `root` user created the mirrored pool with disks "
-"[.filename]#/dev/ada0# and [.filename]#/dev/ada1#. The hostname `myzfsbox` "
-"is also shown in the commands after the pool's creation. The hostname "
-"display becomes important when exporting the pool from one system and "
-"importing on another. It's possible to distinguish the commands issued on "
-"the other system by the hostname recorded for each command."
+"The output shows that the `root` user created the mirrored pool with disks [."
+"filename]#/dev/ada0# and [.filename]#/dev/ada1#. The hostname `myzfsbox` is "
+"also shown in the commands after the pool's creation. The hostname display "
+"becomes important when exporting the pool from one system and importing on "
+"another. It's possible to distinguish the commands issued on the other "
+"system by the hostname recorded for each command."
msgstr ""
-"Вывод показывает, что пользователь `root` создал зеркальный пул с дисками "
-"[.filename]#/dev/ada0# и [.filename]#/dev/ada1#. Также в командах после "
+"Вывод показывает, что пользователь `root` создал зеркальный пул с дисками [."
+"filename]#/dev/ada0# и [.filename]#/dev/ada1#. Также в командах после "
"создания пула отображается имя хоста `myzfsbox`. Отображение имени хоста "
"становится важным при экспорте пула с одной системы и импорте на другую. "
"Можно различить команды, выполненные на другой системе, по имени хоста, "
@@ -3210,8 +3212,8 @@ msgstr "Управление с помощью утилиты`zfs`"
#: documentation/content/en/books/handbook/zfs/_index.adoc:1473
msgid ""
"The `zfs` utility can create, destroy, and manage all existing ZFS datasets "
-"within a pool. To manage the pool itself, use crossref:zfs[zfs-"
-"zpool,`zpool`]."
+"within a pool. To manage the pool itself, use crossref:zfs[zfs-zpool,"
+"`zpool`]."
msgstr ""
"Утилита `zfs` позволяет создавать, удалять и управлять всеми существующими "
"наборами данных ZFS в пределах пула. Для управления самим пулом используйте "
@@ -3234,14 +3236,14 @@ msgid ""
"features like compression, deduplication, caching, and quotas, as well as "
"other useful properties like readonly, case sensitivity, network file "
"sharing, and a mount point. Nesting datasets within each other is possible "
-"and child datasets will inherit properties from their ancestors. "
-"crossref:zfs[zfs-zfs-allow,Delegate], crossref:zfs[zfs-zfs-send,replicate], "
-"crossref:zfs[zfs-zfs-snapshot,snapshot], crossref:zfs[zfs-zfs-jail,jail] "
-"allows administering and destroying each dataset as a unit. Creating a "
-"separate dataset for each different type or set of files has advantages. "
-"The drawbacks to having a large number of datasets are that some commands "
-"like `zfs list` will be slower, and that mounting of hundreds or even "
-"thousands of datasets will slow the FreeBSD boot process."
+"and child datasets will inherit properties from their ancestors. crossref:"
+"zfs[zfs-zfs-allow,Delegate], crossref:zfs[zfs-zfs-send,replicate], crossref:"
+"zfs[zfs-zfs-snapshot,snapshot], crossref:zfs[zfs-zfs-jail,jail] allows "
+"administering and destroying each dataset as a unit. Creating a separate "
+"dataset for each different type or set of files has advantages. The "
+"drawbacks to having a large number of datasets are that some commands like "
+"`zfs list` will be slower, and that mounting of hundreds or even thousands "
+"of datasets will slow the FreeBSD boot process."
msgstr ""
"В отличие от традиционных дисков и менеджеров томов, пространство в ZFS _не_ "
"выделяется заранее. В традиционных файловых системах после разметки и "
@@ -3252,15 +3254,15 @@ msgstr ""
"квоты, а также другие полезные свойства, такие как режим только для чтения, "
"чувствительность к регистру, сетевое общее использование файлов и точка "
"монтирования. Возможно вложение наборов данных друг в друга, при этом "
-"дочерние наборы данных наследуют свойства от своих родительских. "
-"crossref:zfs[zfs-zfs-allow,Делегирование], crossref:zfs[zfs-zfs-"
-"send,репликация], crossref:zfs[zfs-zfs-snapshot,снимки], crossref:zfs[zfs-"
-"zfs-jail,клетки] позволяют администрировать и уничтожать каждый набор данных "
-"как единое целое. Создание отдельного набора данных для каждого типа или "
-"группы файлов имеет свои преимущества. Недостатком наличия большого "
-"количества наборов данных является то, что некоторые команды, такие как `zfs "
-"list`, будут выполняться медленнее, а монтирование сотен или даже тысяч "
-"наборов данных замедлит процесс загрузки FreeBSD."
+"дочерние наборы данных наследуют свойства от своих родительских. crossref:"
+"zfs[zfs-zfs-allow,Делегирование], crossref:zfs[zfs-zfs-send,репликация], "
+"crossref:zfs[zfs-zfs-snapshot,снимки], crossref:zfs[zfs-zfs-jail,клетки] "
+"позволяют администрировать и уничтожать каждый набор данных как единое "
+"целое. Создание отдельного набора данных для каждого типа или группы файлов "
+"имеет свои преимущества. Недостатком наличия большого количества наборов "
+"данных является то, что некоторые команды, такие как `zfs list`, будут "
+"выполняться медленнее, а монтирование сотен или даже тысяч наборов данных "
+"замедлит процесс загрузки FreeBSD."
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1488
@@ -3444,8 +3446,8 @@ msgstr ""
"освобождённое пространство может появиться в пуле только через несколько "
"минут. Используйте `zpool get freeing _имяпула_` для просмотра свойства "
"`freeing`, которое показывает, какие наборы данных освобождают свои блоки в "
-"фоновом режиме. Если существуют дочерние наборы данных, например "
-"crossref:zfs[zfs-term-snapshot,снимки] или другие наборы данных, уничтожение "
+"фоновом режиме. Если существуют дочерние наборы данных, например crossref:"
+"zfs[zfs-term-snapshot,снимки] или другие наборы данных, уничтожение "
"родительского набора невозможно. Для удаления набора данных и его дочерних "
"элементов используйте `-r`, чтобы рекурсивно удалить набор данных и его "
"потомков. Опция `-n -v` позволяет вывести список наборов данных и снимков, "
@@ -4182,13 +4184,13 @@ msgstr "Переименование пути или файла."
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1883
msgid ""
-"Comparing the output with the table, it becomes clear that ZFS added "
-"[.filename]#passwd# after creating the snapshot `_mypool/var/"
+"Comparing the output with the table, it becomes clear that ZFS added [."
+"filename]#passwd# after creating the snapshot `_mypool/var/"
"tmp@my_recursive_snapshot_`. This also resulted in a modification to the "
"parent directory mounted at `_/var/tmp_`."
msgstr ""
-"Сравнивая вывод с таблицей, становится ясно, что ZFS добавил "
-"[.filename]#passwd# после создания снимка `_mypool/var/"
+"Сравнивая вывод с таблицей, становится ясно, что ZFS добавил [."
+"filename]#passwd# после создания снимка `_mypool/var/"
"tmp@my_recursive_snapshot_`. Это также привело к изменению родительского "
"каталога, смонтированного в `_/var/tmp_`."
@@ -4238,13 +4240,13 @@ msgstr ""
#: documentation/content/en/books/handbook/zfs/_index.adoc:1903
msgid ""
"A backup administrator can compare two snapshots received from the sending "
-"host and determine the actual changes in the dataset. See the "
-"crossref:zfs[zfs-zfs-send,Replication] section for more information."
+"host and determine the actual changes in the dataset. See the crossref:"
+"zfs[zfs-zfs-send,Replication] section for more information."
msgstr ""
"Администратор резервного копирования может сравнить два снимка, полученных "
"от отправляющего хоста, и определить фактические изменения в наборе данных. "
-"Дополнительную информацию см. в разделе crossref:zfs[zfs-zfs-"
-"send,Репликация]."
+"Дополнительную информацию см. в разделе crossref:zfs[zfs-zfs-send,"
+"Репликация]."
#. type: Title ====
#: documentation/content/en/books/handbook/zfs/_index.adoc:1905
@@ -4449,22 +4451,22 @@ msgstr "Восстановление отдельных файлов из сни
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1991
msgid ""
-"Snapshots live in a hidden directory under the parent dataset: "
-"[.filename]#.zfs/snapshots/snapshotname#. By default, these directories "
-"will not show even when executing a standard `ls -a` . Although the "
-"directory doesn't show, access it like any normal directory. The property "
-"named `snapdir` controls whether these hidden directories show up in a "
-"directory listing. Setting the property to `visible` allows them to appear "
-"in the output of `ls` and other commands that deal with directory contents."
+"Snapshots live in a hidden directory under the parent dataset: [.filename]#."
+"zfs/snapshots/snapshotname#. By default, these directories will not show "
+"even when executing a standard `ls -a` . Although the directory doesn't "
+"show, access it like any normal directory. The property named `snapdir` "
+"controls whether these hidden directories show up in a directory listing. "
+"Setting the property to `visible` allows them to appear in the output of "
+"`ls` and other commands that deal with directory contents."
msgstr ""
-"Снимки хранятся в скрытом каталоге родительского набора данных: "
-"[.filename]#.zfs/snapshots/имя_снимка#. По умолчанию эти каталоги не "
-"отображаются даже при выполнении стандартной команды `ls -a`. Несмотря на "
-"то, что каталог не виден, доступ к нему осуществляется как к обычному "
-"каталогу. Свойство `snapdir` определяет, будут ли эти скрытые каталоги "
-"отображаться в списке содержимого директории. Установка свойства в значение "
-"`visible` позволяет им появляться в выводе команды `ls` и других команд, "
-"работающих с содержимым каталогов."
+"Снимки хранятся в скрытом каталоге родительского набора данных: [.filename]#."
+"zfs/snapshots/имя_снимка#. По умолчанию эти каталоги не отображаются даже "
+"при выполнении стандартной команды `ls -a`. Несмотря на то, что каталог не "
+"виден, доступ к нему осуществляется как к обычному каталогу. Свойство "
+"`snapdir` определяет, будут ли эти скрытые каталоги отображаться в списке "
+"содержимого директории. Установка свойства в значение `visible` позволяет им "
+"появляться в выводе команды `ls` и других команд, работающих с содержимым "
+"каталогов."
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2002
@@ -4492,8 +4494,8 @@ msgstr ""
#: documentation/content/en/books/handbook/zfs/_index.adoc:2007
msgid ""
"Restore individual files to a previous state by copying them from the "
-"snapshot back to the parent dataset. The directory structure below "
-"[.filename]#.zfs/snapshot# has a directory named like the snapshots taken "
+"snapshot back to the parent dataset. The directory structure below [."
+"filename]#.zfs/snapshot# has a directory named like the snapshots taken "
"earlier to make it easier to identify them. The next example shows how to "
"restore a file from the hidden [.filename]#.zfs# directory by copying it "
"from the snapshot containing the latest version of the file:"
@@ -4536,12 +4538,11 @@ msgid ""
"Copying files or directories from this hidden [.filename]#.zfs/snapshot# is "
"simple enough. Trying it the other way around results in this error:"
msgstr ""
-"Даже если свойство `snapdir` установлено в hidden, выполнение команды "
-"`ls .zfs/snapshot` всё равно покажет содержимое этого каталога. "
-"Администратор решает, отображать ли эти каталоги. Это настройка для каждого "
-"набора данных. Копирование файлов или каталогов из скрытого [.filename]#.zfs/"
-"snapshot# достаточно просто. Попытка сделать наоборот приведёт к такой "
-"ошибке:"
+"Даже если свойство `snapdir` установлено в hidden, выполнение команды `ls ."
+"zfs/snapshot` всё равно покажет содержимое этого каталога. Администратор "
+"решает, отображать ли эти каталоги. Это настройка для каждого набора данных. "
+"Копирование файлов или каталогов из скрытого [.filename]#.zfs/snapshot# "
+"достаточно просто. Попытка сделать наоборот приведёт к такой ошибке:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2030
@@ -4776,8 +4777,8 @@ msgstr ""
#: documentation/content/en/books/handbook/zfs/_index.adoc:2126
msgid ""
"The cloned snapshot is now an ordinary dataset. It contains all the data "
-"from the original snapshot plus the files added to it like "
-"[.filename]#loader.conf#. Clones provide useful features to ZFS users in "
+"from the original snapshot plus the files added to it like [."
+"filename]#loader.conf#. Clones provide useful features to ZFS users in "
"different scenarios. For example, provide jails as snapshots containing "
"different sets of installed applications. Users can clone these snapshots "
"and add their own applications as they see fit. Once satisfied with the "
@@ -4786,8 +4787,8 @@ msgid ""
"administrative overhead when providing these jails."
msgstr ""
"Клонированный снимок теперь является обычным набором данных. Он содержит все "
-"данные из исходного снимка, а также добавленные файлы, такие как "
-"[.filename]#loader.conf#. Клоны предоставляют полезные возможности "
+"данные из исходного снимка, а также добавленные файлы, такие как [."
+"filename]#loader.conf#. Клоны предоставляют полезные возможности "
"пользователям ZFS в различных сценариях. Например, можно предоставлять "
"клетки в виде снимков с различными наборами установленных приложений. "
"Пользователи могут клонировать эти снимки и добавлять свои собственные "
@@ -5322,21 +5323,21 @@ msgstr "Квоты наборов данных, пользователей и г
#: documentation/content/en/books/handbook/zfs/_index.adoc:2333
msgid ""
"Use crossref:zfs[zfs-term-quota,Dataset quotas] to restrict the amount of "
-"space consumed by a particular dataset. crossref:zfs[zfs-term-"
-"refquota,Reference Quotas] work in much the same way, but count the space "
-"used by the dataset itself, excluding snapshots and child datasets. "
-"Similarly, use crossref:zfs[zfs-term-userquota,user] and crossref:zfs[zfs-"
-"term-groupquota,group] quotas to prevent users or groups from using up all "
-"the space in the pool or dataset."
+"space consumed by a particular dataset. crossref:zfs[zfs-term-refquota,"
+"Reference Quotas] work in much the same way, but count the space used by the "
+"dataset itself, excluding snapshots and child datasets. Similarly, use "
+"crossref:zfs[zfs-term-userquota,user] and crossref:zfs[zfs-term-groupquota,"
+"group] quotas to prevent users or groups from using up all the space in the "
+"pool or dataset."
msgstr ""
"Используйте crossref:zfs[zfs-term-quota,Квоты наборов данных], чтобы "
"ограничить объём пространства, используемого определённым набором данных. "
"crossref:zfs[zfs-term-refquota,Референтные квоты] работают схожим образом, "
"но учитывают пространство, используемое самим набором данных, исключая "
"снимки и дочерние наборы данных. Аналогично, используйте crossref:zfs[zfs-"
-"term-userquota,пользовательские] и crossref:zfs[zfs-term-"
-"groupquota,групповые] квоты, чтобы предотвратить исчерпание всего "
-"пространства в пуле или наборе данных пользователями или группами."
+"term-userquota,пользовательские] и crossref:zfs[zfs-term-groupquota,"
+"групповые] квоты, чтобы предотвратить исчерпание всего пространства в пуле "
+"или наборе данных пользователями или группами."
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2338
@@ -5522,8 +5523,8 @@ msgid ""
"Privileged users and `root` can list the quota for [.filename]#storage/home/"
"bob# using:"
msgstr ""
-"Привилегированные пользователи и `root` могут просмотреть квоту для "
-"[.filename]#storage/home/bob#, используя:"
+"Привилегированные пользователи и `root` могут просмотреть квоту для [."
+"filename]#storage/home/bob#, используя:"
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2416
@@ -5592,8 +5593,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2443
msgid ""
-"This command shows any reservations or refreservations that exist on "
-"[.filename]#storage/home/bob#:"
+"This command shows any reservations or refreservations that exist on [."
+"filename]#storage/home/bob#:"
msgstr ""
"Эта команда показывает все и резервирования (`reservation`), и референсные "
"резервирования (`refreservation`), существующие в [.filename]#storage/home/"
@@ -5629,8 +5630,8 @@ msgstr ""
"место и увеличивает пропускную способность диска. Если данные сжимаются на "
"25%, то сжатые данные записываются на диск с той же скоростью, что и "
"несжатые, что приводит к эффективной скорости записи в 125%. Сжатие также "
-"может быть отличной альтернативой crossref:zfs[zfs-zfs-"
-"deduplication,Дедупликации], так как не требует дополнительной памяти."
+"может быть отличной альтернативой crossref:zfs[zfs-zfs-deduplication,"
+"Дедупликации], так как не требует дополнительной памяти."
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2465
@@ -5697,15 +5698,15 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2488
msgid ""
-"Compression can have an unexpected side effect when combined with "
-"crossref:zfs[zfs-term-userquota,User Quotas]. User quotas restrict how much "
-"actual space a user consumes on a dataset _after compression_. If a user "
-"has a quota of 10 GB, and writes 10 GB of compressible data, they will still "
-"be able to store more data. If they later update a file, say a database, "
-"with more or less compressible data, the amount of space available to them "
-"will change. This can result in the odd situation where a user did not "
-"increase the actual amount of data (the `logicalused` property), but the "
-"change in compression caused them to reach their quota limit."
+"Compression can have an unexpected side effect when combined with crossref:"
+"zfs[zfs-term-userquota,User Quotas]. User quotas restrict how much actual "
+"space a user consumes on a dataset _after compression_. If a user has a "
+"quota of 10 GB, and writes 10 GB of compressible data, they will still be "
+"able to store more data. If they later update a file, say a database, with "
+"more or less compressible data, the amount of space available to them will "
+"change. This can result in the odd situation where a user did not increase "
+"the actual amount of data (the `logicalused` property), but the change in "
+"compression caused them to reach their quota limit."
msgstr ""
"Сжатие может иметь неожиданный побочный эффект при использовании вместе с "
"crossref:zfs[zfs-term-userquota,Квотами пользователей]. Квоты пользователей "
@@ -5750,9 +5751,8 @@ msgstr ""
"В OpenZFS 2.0 был добавлен новый алгоритм сжатия. Zstandard (Zstd) "
"обеспечивает более высокие коэффициенты сжатия по сравнению с используемым "
"по умолчанию LZ4, при этом работая значительно быстрее альтернативного gzip. "
-"OpenZFS 2.0 доступен начиная с FreeBSD 12.1-RELEASE в пакете "
-"package:sysutils/openzfs[] и является стандартным начиная с FreeBSD 13.0-"
-"RELEASE."
+"OpenZFS 2.0 доступен начиная с FreeBSD 12.1-RELEASE в пакете package:"
+"sysutils/openzfs[] и является стандартным начиная с FreeBSD 13.0-RELEASE."
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2502
@@ -5846,9 +5846,9 @@ msgid ""
"enabling compression instead provides most of the space savings without the "
"extra cost."
msgstr ""
-"Когда включена перекрёстная crossref:zfs[zfs-term-"
-"deduplication,дедупликация], она использует контрольную сумму каждого блока "
-"для обнаружения дублирующихся блоков. Когда новый блок является дубликатом "
+"Когда включена перекрёстная crossref:zfs[zfs-term-deduplication,"
+"дедупликация], она использует контрольную сумму каждого блока для "
+"обнаружения дублирующихся блоков. Когда новый блок является дубликатом "
"существующего блока, ZFS записывает новую ссылку на существующие данные "
"вместо всего дублирующегося блока. Возможна значительная экономия места, "
"если данные содержат много дублирующихся файлов или повторяющейся "
@@ -6023,8 +6023,8 @@ msgid ""
"reasonably compressible, the space savings may be good. Good practice is to "
"enable compression first as compression also provides greatly increased "
"performance. Enable deduplication in cases where savings are considerable "
-"and with enough available memory for the crossref:zfs[zfs-term-"
-"deduplication,DDT]."
+"and with enough available memory for the crossref:zfs[zfs-term-deduplication,"
+"DDT]."
msgstr ""
"После завершения анализа пула командой `zdb -S` отображается коэффициент "
"сокращения пространства, который был бы достигнут при активации "
@@ -6114,8 +6114,8 @@ msgstr ""
"`zfs allow _someuser_ create _mydataset_` предоставляет указанному "
"пользователю разрешение на создание дочерних наборов данных в выбранном "
"родительском наборе данных. Важное замечание: создание нового набора данных "
-"включает его монтирование. Для этого необходимо установить параметр "
-"`vfs.usermount` в man:sysctl[8] FreeBSD в значение `1`, чтобы разрешить "
+"включает его монтирование. Для этого необходимо установить параметр `vfs."
+"usermount` в man:sysctl[8] FreeBSD в значение `1`, чтобы разрешить "
"непривилегированным пользователям монтировать файловую систему. Ещё одно "
"ограничение, направленное на предотвращение злоупотреблений: "
"непривилегированные пользователи должны быть владельцами точки монтирования, "
@@ -6164,21 +6164,21 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2647
msgid ""
-"[[zfs-advanced-tuning-arc_max]] `_vfs.zfs.arc.max_` starting with 13.x "
-"(`vfs.zfs.arc_max` for 12.x) - Upper size of the crossref:zfs[zfs-term-"
-"arc,ARC]. The default is all RAM but 1 GB, or 5/8 of all RAM, whichever is "
-"more. Use a lower value if the system runs any other daemons or processes "
-"that may require memory. Adjust this value at runtime with man:sysctl[8] and "
-"set it in [.filename]#/boot/loader.conf# or [.filename]#/etc/sysctl.conf#."
+"[[zfs-advanced-tuning-arc_max]] `_vfs.zfs.arc.max_` starting with 13.x (`vfs."
+"zfs.arc_max` for 12.x) - Upper size of the crossref:zfs[zfs-term-arc,ARC]. "
+"The default is all RAM but 1 GB, or 5/8 of all RAM, whichever is more. Use a "
+"lower value if the system runs any other daemons or processes that may "
+"require memory. Adjust this value at runtime with man:sysctl[8] and set it "
+"in [.filename]#/boot/loader.conf# or [.filename]#/etc/sysctl.conf#."
msgstr ""
-"[[zfs-advanced-tuning-arc_max]] `_vfs.zfs.arc.max_` начиная с 13.x "
-"(`vfs.zfs.arc_max` для 12.x) - Верхний размер crossref:zfs[zfs-term-"
-"arc,ARC]. По умолчанию используется весь объем ОЗУ за исключением 1 ГБ или "
-"5/8 от всего объема ОЗУ, в зависимости от того, что больше. Используйте "
-"меньшее значение, если в системе работают другие демоны или процессы, "
-"которым может потребоваться память. Изменяйте это значение во время работы с "
-"помощью man:sysctl[8] и задавайте его в [.filename]#/boot/loader.conf# или "
-"[.filename]#/etc/sysctl.conf#."
+"[[zfs-advanced-tuning-arc_max]] `_vfs.zfs.arc.max_` начиная с 13.x (`vfs.zfs."
+"arc_max` для 12.x) - Верхний размер crossref:zfs[zfs-term-arc,ARC]. По "
+"умолчанию используется весь объем ОЗУ за исключением 1 ГБ или 5/8 от всего "
+"объема ОЗУ, в зависимости от того, что больше. Используйте меньшее значение, "
+"если в системе работают другие демоны или процессы, которым может "
+"потребоваться память. Изменяйте это значение во время работы с помощью man:"
+"sysctl[8] и задавайте его в [.filename]#/boot/loader.conf# или [.filename]#/"
+"etc/sysctl.conf#."
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2654
@@ -6194,31 +6194,30 @@ msgid ""
"sysctl.conf#."
msgstr ""
"[[zfs-advanced-tuning-arc_meta_limit]] `_vfs.zfs.arc.meta_limit_` начиная с "
-"13.x (`vfs.zfs.arc_meta_limit` для 12.x) — ограничивает объем "
-"crossref:zfs[zfs-term-arc,ARC], используемого для хранения метаданных. По "
-"умолчанию составляет одну четвертую от `vfs.zfs.arc.max`. Увеличение этого "
-"значения может повысить производительность при работе с большим количеством "
-"файлов и каталогов или частых операциях с метаданными, за счет уменьшения "
-"объема данных файлов, помещающихся в crossref:zfs[zfs-term-arc,ARC]. Это "
-"значение можно изменить во время работы с помощью man:sysctl[8] в "
-"[.filename]#/boot/loader.conf# или [.filename]#/etc/sysctl.conf#."
+"13.x (`vfs.zfs.arc_meta_limit` для 12.x) — ограничивает объем crossref:"
+"zfs[zfs-term-arc,ARC], используемого для хранения метаданных. По умолчанию "
+"составляет одну четвертую от `vfs.zfs.arc.max`. Увеличение этого значения "
+"может повысить производительность при работе с большим количеством файлов и "
+"каталогов или частых операциях с метаданными, за счет уменьшения объема "
+"данных файлов, помещающихся в crossref:zfs[zfs-term-arc,ARC]. Это значение "
+"можно изменить во время работы с помощью man:sysctl[8] в [.filename]#/boot/"
+"loader.conf# или [.filename]#/etc/sysctl.conf#."
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2659
msgid ""
-"[[zfs-advanced-tuning-arc_min]] `_vfs.zfs.arc.min_` starting with 13.x "
-"(`vfs.zfs.arc_min` for 12.x) - Lower size of the crossref:zfs[zfs-term-"
-"arc,ARC]. The default is one half of `vfs.zfs.arc.meta_limit`. Adjust this "
-"value to prevent other applications from pressuring out the entire "
-"crossref:zfs[zfs-term-arc,ARC]. Adjust this value at runtime with "
-"man:sysctl[8] and in [.filename]#/boot/loader.conf# or [.filename]#/etc/"
-"sysctl.conf#."
-msgstr ""
-"[[zfs-advanced-tuning-arc_min]] `_vfs.zfs.arc.min_` начиная с 13.x "
-"(`vfs.zfs.arc_min` для 12.x) - Нижний размер crossref:zfs[zfs-term-arc,ARC]. "
-"По умолчанию составляет половину от `vfs.zfs.arc.meta_limit`. Измените это "
-"значение, чтобы предотвратить вытеснение всего crossref:zfs[zfs-term-"
-"arc,ARC] другими приложениями. Настройка этого значения возможна во время "
+"[[zfs-advanced-tuning-arc_min]] `_vfs.zfs.arc.min_` starting with 13.x (`vfs."
+"zfs.arc_min` for 12.x) - Lower size of the crossref:zfs[zfs-term-arc,ARC]. "
+"The default is one half of `vfs.zfs.arc.meta_limit`. Adjust this value to "
+"prevent other applications from pressuring out the entire crossref:zfs[zfs-"
+"term-arc,ARC]. Adjust this value at runtime with man:sysctl[8] and in [."
+"filename]#/boot/loader.conf# or [.filename]#/etc/sysctl.conf#."
+msgstr ""
+"[[zfs-advanced-tuning-arc_min]] `_vfs.zfs.arc.min_` начиная с 13.x (`vfs.zfs."
+"arc_min` для 12.x) - Нижний размер crossref:zfs[zfs-term-arc,ARC]. По "
+"умолчанию составляет половину от `vfs.zfs.arc.meta_limit`. Измените это "
+"значение, чтобы предотвратить вытеснение всего crossref:zfs[zfs-term-arc,"
+"ARC] другими приложениями. Настройка этого значения возможна во время "
"выполнения с помощью man:sysctl[8], а также в [.filename]#/boot/loader.conf# "
"или [.filename]#/etc/sysctl.conf#."
@@ -6352,8 +6351,8 @@ msgstr ""
"Ограничивает количество ожидающих запросов ввода-вывода для каждого "
"устройства. Более высокое значение поддерживает очередь команд устройства "
"заполненной и может увеличить пропускную способность. Более низкое значение "
-"уменьшает задержки. Это значение можно изменить в любое время с помощью "
-"man:sysctl[8]."
+"уменьшает задержки. Это значение можно изменить в любое время с помощью man:"
+"sysctl[8]."
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2686
@@ -6370,9 +6369,9 @@ msgstr ""
"корневого crossref:zfs[zfs-term-vdev,vdev]. Ограничивает глубину очереди "
"команд для предотвращения высокой задержки. Лимит применяется к каждому "
"корневому vdev, то есть ограничение действует независимо для каждого "
-"crossref:zfs[zfs-term-vdev-mirror,зеркала], crossref:zfs[zfs-term-vdev-"
-"raidz,RAID-Z] или другого vdev. Значение можно изменить в любое время с "
-"помощью man:sysctl[8]."
+"crossref:zfs[zfs-term-vdev-mirror,зеркала], crossref:zfs[zfs-term-vdev-raidz,"
+"RAID-Z] или другого vdev. Значение можно изменить в любое время с помощью "
+"man:sysctl[8]."
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2688
@@ -6394,10 +6393,10 @@ msgid ""
"[[zfs-advanced-tuning-l2arc_write_boost]] `_vfs.zfs.l2arc_write_boost_` - "
"Adds the value of this tunable to crossref:zfs[zfs-advanced-tuning-"
"l2arc_write_max,`vfs.zfs.l2arc_write_max`] and increases the write speed to "
-"the SSD until evicting the first block from the crossref:zfs[zfs-term-"
-"l2arc,L2ARC]. This \"Turbo Warmup Phase\" reduces the performance loss from "
-"an empty crossref:zfs[zfs-term-l2arc,L2ARC] after a reboot. Adjust this "
-"value at any time with man:sysctl[8]."
+"the SSD until evicting the first block from the crossref:zfs[zfs-term-l2arc,"
+"L2ARC]. This \"Turbo Warmup Phase\" reduces the performance loss from an "
+"empty crossref:zfs[zfs-term-l2arc,L2ARC] after a reboot. Adjust this value "
+"at any time with man:sysctl[8]."
msgstr ""
"[[zfs-advanced-tuning-l2arc_write_boost]] `_vfs.zfs.l2arc_write_boost_` — "
"Добавляет значение этого параметра к crossref:zfs[zfs-advanced-tuning-"
@@ -6431,9 +6430,9 @@ msgid ""
"this setting results in a different effective IOPS limit. The default value "
"is `4`, resulting in a limit of: 1000 ticks/sec / 4 = 250 IOPS. Using a "
"value of _20_ would give a limit of: 1000 ticks/sec / 20 = 50 IOPS. Recent "
-"activity on the pool limits the speed of `scrub`, as determined by "
-"crossref:zfs[zfs-advanced-tuning-scan_idle,`vfs.zfs.scan_idle`]. Adjust this "
-"value at any time with man:sysctl[8]."
+"activity on the pool limits the speed of `scrub`, as determined by crossref:"
+"zfs[zfs-advanced-tuning-scan_idle,`vfs.zfs.scan_idle`]. Adjust this value at "
+"any time with man:sysctl[8]."
msgstr ""
", сгенерированных командой `scrub`. Гранулярность настройки определяется "
"значением `kern.hz`, которое по умолчанию равно 1000 тикам в секунду. "
@@ -6461,17 +6460,16 @@ msgid ""
"faulted,Fault] the pool, causing data loss. A value of 0 will give the "
"resilver operation the same priority as other operations, speeding the "
"healing process. Other recent activity on the pool limits the speed of "
-"resilver, as determined by crossref:zfs[zfs-advanced-tuning-"
-"scan_idle,`vfs.zfs.scan_idle`]. Adjust this value at any time with "
-"man:sysctl[8]."
+"resilver, as determined by crossref:zfs[zfs-advanced-tuning-scan_idle,`vfs."
+"zfs.scan_idle`]. Adjust this value at any time with man:sysctl[8]."
msgstr ""
"[[zfs-advanced-tuning-resilver_delay]] `_vfs.zfs.resilver_delay_` — "
"количество миллисекунд задержки, вставляемой между каждым операцией ввода-"
-"вывода во время crossref:zfs[zfs-term-resilver,ресилверинга]. Чтобы "
-"гарантировать, что ресилверинг не мешает нормальной работе пула, при наличии "
-"других операций ввода-вывода ресилверинг будет добавлять задержку между "
-"каждой командой. Данный параметр ограничивает общее количество IOPS "
-"(операций ввода-вывода в секунду), генерируемых ресилверингом. ZFS "
+"вывода во время crossref:zfs[zfs-term-resilver,ресильверинга]. Чтобы "
+"гарантировать, что ресильверинг не мешает нормальной работе пула, при "
+"наличии других операций ввода-вывода ресильверинг будет добавлять задержку "
+"между каждой командой. Данный параметр ограничивает общее количество IOPS ("
+"операций ввода-вывода в секунду), генерируемых ресильверингом. ZFS "
"определяет гранулярность настройки через значение `kern.hz`, которое по "
"умолчанию равно 1000 тикам в секунду. Изменение этого параметра приводит к "
"изменению эффективного лимита IOPS. Значение по умолчанию — 2, что даёт "
@@ -6479,9 +6477,9 @@ msgstr ""
"crossref:zfs[zfs-term-online,Online] может быть более важным, если выход из "
"строя другого устройства может перевести пул в состояние crossref:zfs[zfs-"
"term-faulted,Fault], что приведёт к потере данных. Значение 0 даст операции "
-"ресилверинга такой же приоритет, как и другим операциям, ускоряя процесс "
+"ресильверинга такой же приоритет, как и другим операциям, ускоряя процесс "
"восстановления. Недавняя активность в пуле ограничивает скорость "
-"ресилверинга, как определено в crossref:zfs[zfs-advanced-tuning-"
+"ресильверинга, как определено в crossref:zfs[zfs-advanced-tuning-"
"scan_idle,`vfs.zfs.scan_idle`]. Этот параметр можно изменить в любое время с "
"помощью man:sysctl[8]."
@@ -6498,8 +6496,8 @@ msgstr ""
"миллисекунд с момента последней операции, после которого пул считается "
"бездействующим. ZFS отключает ограничение скорости для crossref:zfs[zfs-term-"
"scrub,`scrub`] и crossref:zfs[zfs-term-resilver,ресильверинга], когда пул "
-"бездействует. Это значение можно изменить в любое время с помощью "
-"man:sysctl[8]."
+"бездействует. Это значение можно изменить в любое время с помощью man:"
+"sysctl[8]."
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2729
@@ -6642,8 +6640,8 @@ msgid ""
"For a more detailed list of recommendations for ZFS-related tuning, see "
"https://wiki.freebsd.org/ZFSTuningGuide[]."
msgstr ""
-"Для более подробного списка рекомендаций по настройке ZFS см. https://"
-"wiki.freebsd.org/ZFSTuningGuide[]."
+"Для более подробного списка рекомендаций по настройке ZFS см. https://wiki."
+"freebsd.org/ZFSTuningGuide[]."
#. type: Title ==
#: documentation/content/en/books/handbook/zfs/_index.adoc:2773
diff --git a/documentation/content/ru/books/porters-handbook/_index.adoc b/documentation/content/ru/books/porters-handbook/_index.adoc
index 0446d79b28..111bca0658 100644
--- a/documentation/content/ru/books/porters-handbook/_index.adoc
+++ b/documentation/content/ru/books/porters-handbook/_index.adoc
@@ -1,5 +1,5 @@
---
-add_single_page_link: true
+add_single_page_link: 'true'
authors:
-
author: 'The FreeBSD Documentation Project'
@@ -9,8 +9,8 @@ description: 'Обязательно к прочтению, если вы пла
next: books/porters-handbook/porting-why
params:
path: /books/porters-handbook/
-showBookMenu: true
-tags: "[\"FreeBSD Porter's Handbook\", \"Porting\", \"FreeBSD Ports Collection\"]"
+showBookMenu: 'true'
+tags: ["FreeBSD Porter's Handbook", "Porting", "FreeBSD Ports Collection"]
title: 'Руководство FreeBSD по созданию портов'
trademarks: ["freebsd", "sun", "unix", "general"]
weight: 0
diff --git a/documentation/content/ru/books/porters-handbook/_index.po b/documentation/content/ru/books/porters-handbook/_index.po
index 1aa07698c1..fd08e4925e 100644
--- a/documentation/content/ru/books/porters-handbook/_index.po
+++ b/documentation/content/ru/books/porters-handbook/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-09-18 22:05+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-07-12 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,11 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/porters-handbook/_index.adoc:1
#, no-wrap
msgid "Essential reading if you plan on providing a port of a third party piece of software"
-msgstr "Обязательно к прочтению, если вы планируете портировать стороннее программное обеспечение"
+msgstr ""
+"Обязательно к прочтению, если вы планируете портировать стороннее "
+"программное обеспечение"
#. type: Title =
#: documentation/content/en/books/porters-handbook/_index.adoc:1
diff --git a/documentation/content/ru/books/porters-handbook/book.adoc b/documentation/content/ru/books/porters-handbook/book.adoc
index 84bedca43a..99d04891c1 100644
--- a/documentation/content/ru/books/porters-handbook/book.adoc
+++ b/documentation/content/ru/books/porters-handbook/book.adoc
@@ -1,11 +1,11 @@
---
-add_split_page_link: true
+add_split_page_link: 'true'
authors:
-
author: 'The FreeBSD Documentation Project'
copyright: '2000-2023 The FreeBSD Documentation Project'
description: 'Обязательно к прочтению, если вы планируете портировать стороннее программное обеспечение'
-tags: "[\"FreeBSD Porter's Handbook\", \"Porting\", \"FreeBSD Ports Collection\"]"
+tags: ["FreeBSD Porter's Handbook", "Porting", "FreeBSD Ports Collection"]
title: 'Руководство FreeBSD по созданию портов'
trademarks: ["freebsd", "sun", "unix", "general"]
---
diff --git a/documentation/content/ru/books/porters-handbook/book.po b/documentation/content/ru/books/porters-handbook/book.po
index 2994c7daaa..5036254264 100644
--- a/documentation/content/ru/books/porters-handbook/book.po
+++ b/documentation/content/ru/books/porters-handbook/book.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-09-18 22:05+0300\n"
+"POT-Creation-Date: 2022-02-01 09:20-0300\n"
"PO-Revision-Date: 2025-07-12 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,11 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/porters-handbook/book.adoc:1
#, no-wrap
msgid "Essential reading if you plan on providing a port of a third party piece of software"
-msgstr "Обязательно к прочтению, если вы планируете портировать стороннее программное обеспечение"
+msgstr ""
+"Обязательно к прочтению, если вы планируете портировать стороннее "
+"программное обеспечение"
#. type: Title =
#: documentation/content/en/books/porters-handbook/book.adoc:1
diff --git a/documentation/content/ru/books/porters-handbook/flavors/_index.adoc b/documentation/content/ru/books/porters-handbook/flavors/_index.adoc
index f69bf3938d..398f614ded 100644
--- a/documentation/content/ru/books/porters-handbook/flavors/_index.adoc
+++ b/documentation/content/ru/books/porters-handbook/flavors/_index.adoc
@@ -4,7 +4,7 @@ next: books/porters-handbook/plist
params:
path: /books/porters-handbook/flavors/
prev: books/porters-handbook/special
-showBookMenu: true
+showBookMenu: 'true'
tags: ["Ports", "Flavors", "introduction", "how-to", "guide"]
title: 'Глава 7. Флейворы'
weight: 7
diff --git a/documentation/content/ru/books/porters-handbook/flavors/_index.po b/documentation/content/ru/books/porters-handbook/flavors/_index.po
index 9e9ed2fcb6..9dd088712d 100644
--- a/documentation/content/ru/books/porters-handbook/flavors/_index.po
+++ b/documentation/content/ru/books/porters-handbook/flavors/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-09-18 22:05+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-07-13 19:10+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,13 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:1
#, no-wrap
msgid "Flavors are a way to have multiple variations of a port"
msgstr "Флейворы — это способ создания нескольких вариаций порта"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:1
#, no-wrap
msgid "Chapter 7. Flavors"
@@ -83,8 +83,8 @@ msgid ""
"To declare a port having multiple flavors, add `FLAVORS` to its "
"[.filename]#Makefile#. The first flavor in `FLAVORS` is the default flavor."
msgstr ""
-"Чтобы объявить порт с несколькими флейворами, добавьте `FLAVORS` в его "
-"[.filename]#Makefile#. Первый вариант в `FLAVORS` является вариантом по "
+"Чтобы объявить порт с несколькими флейворами, добавьте `FLAVORS` в его [."
+"filename]#Makefile#. Первый вариант в `FLAVORS` является вариантом по "
"умолчанию."
#. type: delimited block = 4
@@ -248,7 +248,8 @@ msgid ""
"\t\t\tac_cv_path_PYTHON3_CONFIG=${LOCALBASE}/bin/python${PYTHON_VER}-config \n"
msgstr ""
"CONFIGURE_ARGS+=\t--disable-python2 --enable-python3 \\\n"
-"\t\t\tac_cv_path_PYTHON3_CONFIG=${LOCALBASE}/bin/python${PYTHON_VER}-config \n"
+"\t\t\tac_cv_path_PYTHON3_CONFIG=${LOCALBASE}/bin/python${PYTHON_VER}-config "
+"\n"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:148
@@ -550,8 +551,8 @@ msgid ""
"When adding a dependency on a PHP flavored port, use `@${PHP_FLAVOR}`. "
"_Never_ use `FLAVOR` directly."
msgstr ""
-"При добавлении зависимости к порту с вариантом PHP используйте `@$"
-"{PHP_FLAVOR}`. _Никогда_ не используйте `FLAVOR` напрямую."
+"При добавлении зависимости к порту с вариантом PHP используйте "
+"`@${PHP_FLAVOR}`. _Никогда_ не используйте `FLAVOR` напрямую."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:273
@@ -712,7 +713,9 @@ msgstr ""
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:352
#, no-wrap
msgid "RUN_DEPENDS=\t${PYTHON_PKGNAMEPREFIX}mutagen>0:audio/py-mutagen@${PY_FLAVOR}\n"
-msgstr "RUN_DEPENDS=\t${PYTHON_PKGNAMEPREFIX}mutagen>0:audio/py-mutagen@${PY_FLAVOR}\n"
+msgstr ""
+"RUN_DEPENDS=\t${PYTHON_PKGNAMEPREFIX}mutagen>0:audio/py-mutagen@${PY_FLAVOR}"
+"\n"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:354
@@ -736,12 +739,12 @@ msgid ""
"most applications that embed or otherwise use Lua should simply use "
"`USES=lua`."
msgstr ""
-"При использовании crossref:uses[uses-lua,`lua:module`] или "
-"crossref:uses[uses-lua,`lua:flavors`] порт автоматически получит заполненный "
-"параметр `FLAVORS` с версиями Lua, которые он поддерживает. Однако "
-"предполагается, что обычные приложения (а не модули Lua) не должны "
-"использовать эту возможность; большинству приложений, которые встраивают или "
-"иным образом используют Lua, следует просто указывать `USES=lua`."
+"При использовании crossref:uses[uses-lua,`lua:module`] или crossref:uses"
+"[uses-lua,`lua:flavors`] порт автоматически получит заполненный параметр "
+"`FLAVORS` с версиями Lua, которые он поддерживает. Однако предполагается, "
+"что обычные приложения (а не модули Lua) не должны использовать эту "
+"возможность; большинству приложений, которые встраивают или иным образом "
+"используют Lua, следует просто указывать `USES=lua`."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:367
diff --git a/documentation/content/ru/books/porters-handbook/keeping-up/_index.adoc b/documentation/content/ru/books/porters-handbook/keeping-up/_index.adoc
index fcce8ff89b..a729d585bc 100644
--- a/documentation/content/ru/books/porters-handbook/keeping-up/_index.adoc
+++ b/documentation/content/ru/books/porters-handbook/keeping-up/_index.adoc
@@ -4,7 +4,7 @@ next: books/porters-handbook/uses
params:
path: /books/porters-handbook/keeping-up/
prev: books/porters-handbook/order
-showBookMenu: true
+showBookMenu: 'true'
tags: ["keeping up", "ports", "updating", "FreshPorts"]
title: 'Глава 16. Актуализация'
weight: 16
@@ -81,7 +81,7 @@ endif::[]
[[distfile-survey]]
== Portscout: сканер дистрибутивных файлов портов FreeBSD
-Кластер построения выделен для выполнения самого последнего релиза каждого из портов, дистрибутивные файлы которых уже были сгружены. Однако из-за постоянных изменений в Internet дистрибутивные файлы могут быстро исчезать. https://portscout.FreeBSD.org[Portscout], средство сканирования дистрибутивных файлов FreeBSD пытается опросить каждый из сайтов, доступных для сгрузки каждого из портов, для определения того, доступны ли ещё дистрибутивные файлы. Portscout может готовить отчёты в HTML и рассылать электронные письма об имеющихся обновлениях для портов тем, кто это запрашивает. Сопровождающие периодически запрашивают наличие изменений либо вручную, либо используя ленту RSS.
+Кластер построения выделен для выполнения самого последнего релиза каждого из портов, дистрибутивные файлы которых уже были загружены. Однако из-за постоянных изменений в Internet дистрибутивные файлы могут быстро исчезать. https://portscout.FreeBSD.org[Portscout], средство сканирования дистрибутивных файлов FreeBSD пытается опросить каждый из сайтов, доступных для загрузки каждого из портов, для определения того, доступны ли ещё дистрибутивные файлы. Portscout может готовить отчёты в HTML и рассылать электронные письма об имеющихся обновлениях для портов тем, кто это запрашивает. Сопровождающие периодически запрашивают наличие изменений либо вручную, либо используя ленту RSS.
Главная страница Portscout отображает email сопровождающего порта, количество портов, за которые ответственен сопровождающий, количество портов с новыми дистрибутивными файлами и процент устаревших портов. Функция поиска выполняет поиск сопровождающего по адресу электронной почты и позволяет выбирать между всеми портами или только устаревшими.
diff --git a/documentation/content/ru/books/porters-handbook/keeping-up/_index.po b/documentation/content/ru/books/porters-handbook/keeping-up/_index.po
index b5bd194cf5..1e07629d66 100644
--- a/documentation/content/ru/books/porters-handbook/keeping-up/_index.po
+++ b/documentation/content/ru/books/porters-handbook/keeping-up/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-09-18 22:05+0300\n"
-"PO-Revision-Date: 2025-07-15 04:45+0000\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
+"PO-Revision-Date: 2025-09-26 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/booksporters-handbookkeeping-up_index/ru/>\n"
@@ -18,13 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/porters-handbook/keeping-up/_index.adoc:1
#, no-wrap
msgid "How to keep up the FreeBSD Ports Collection"
msgstr "Как поддерживать актуальность коллекции портов FreeBSD"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/porters-handbook/keeping-up/_index.adoc:1
#, no-wrap
msgid "Chapter 16. Keeping Up"
@@ -88,9 +88,9 @@ msgid ""
"subscribe, then change it back again."
msgstr ""
"Если вы хотите использовать FreshPorts, то вам нужна только учётная запись. "
-"Если регистрационный адрес вашей электронной почты будет иметь вид "
-"`@FreeBSD.org`, то справа на Web-страницах вы увидите дополнительную ссылку. "
-"Для тех из вас, кто уже получил учётную запись FreshPorts, но не использовал "
+"Если регистрационный адрес вашей электронной почты будет иметь вид `@FreeBSD."
+"org`, то справа на Web-страницах вы увидите дополнительную ссылку. Для тех "
+"из вас, кто уже получил учётную запись FreshPorts, но не использовал "
"собственный адрес электронной почты `@FreeBSD.org`, достаточно сменить адрес "
"на `@FreeBSD.org`, подписаться, а затем сменить его обратно."
@@ -126,12 +126,11 @@ msgid ""
msgstr ""
"Файлы в хранилище исходных текстов можно просматривать при помощи Web-"
"интерфейса. Изменения, которые касаются в целом всей системы портов, теперь "
-"документируются в файле https://cgit.FreeBSD.org/ports/tree/"
-"CHANGES[CHANGES]. Изменения, касающиеся отдельных портов, отражаются теперь "
-"в файле https://cgit.FreeBSD.org/ports/tree/UPDATING[UPDATING]. Однако "
-"однозначный ответ на любой вопрос можно найти, только прочитав исходных код "
-"https://cgit.FreeBSD.org/ports/tree/Mk/bsd.port.mk[bsd.port.mk] и связанных "
-"с ним файлов."
+"документируются в файле https://cgit.FreeBSD.org/ports/tree/CHANGES[CHANGES]"
+". Изменения, касающиеся отдельных портов, отражаются теперь в файле "
+"https://cgit.FreeBSD.org/ports/tree/UPDATING[UPDATING]. Однако однозначный "
+"ответ на любой вопрос можно найти, только прочитав исходных код https://cgit."
+"FreeBSD.org/ports/tree/Mk/bsd.port.mk[bsd.port.mk] и связанных с ним файлов."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/keeping-up/_index.adoc:80
@@ -211,11 +210,11 @@ msgid ""
"changes, either by hand or using the RSS feed."
msgstr ""
"Кластер построения выделен для выполнения самого последнего релиза каждого "
-"из портов, дистрибутивные файлы которых уже были сгружены. Однако из-за "
+"из портов, дистрибутивные файлы которых уже были загружены. Однако из-за "
"постоянных изменений в Internet дистрибутивные файлы могут быстро исчезать. "
"https://portscout.FreeBSD.org[Portscout], средство сканирования "
"дистрибутивных файлов FreeBSD пытается опросить каждый из сайтов, доступных "
-"для сгрузки каждого из портов, для определения того, доступны ли ещё "
+"для загрузки каждого из портов, для определения того, доступны ли ещё "
"дистрибутивные файлы. Portscout может готовить отчёты в HTML и рассылать "
"электронные письма об имеющихся обновлениях для портов тем, кто это "
"запрашивает. Сопровождающие периодически запрашивают наличие изменений либо "
@@ -257,8 +256,8 @@ msgid ""
"Clicking on a port name in the list displays the https://freshports.org/"
"[FreshPorts] port information."
msgstr ""
-"По щелчку на название порта в списке отображается информация о порте https://"
-"freshports.org[FreshPorts]."
+"По щелчку на название порта в списке отображается информация о порте "
+"https://freshports.org[FreshPorts]."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/keeping-up/_index.adoc:113
@@ -266,5 +265,5 @@ msgid ""
"Additional documentation is available in the https://github.com/freebsd/"
"portscout/[Portscout repository]."
msgstr ""
-"Другим полезным ресурсом является https://github.com/freebsd/portscout/"
-"[репозиторий Portscout]."
+"Другим полезным ресурсом является https://github.com/freebsd/portscout/["
+"репозиторий Portscout]."
diff --git a/documentation/content/ru/books/porters-handbook/makefiles/_index.adoc b/documentation/content/ru/books/porters-handbook/makefiles/_index.adoc
index 51a032507e..a13d1bc111 100644
--- a/documentation/content/ru/books/porters-handbook/makefiles/_index.adoc
+++ b/documentation/content/ru/books/porters-handbook/makefiles/_index.adoc
@@ -4,7 +4,7 @@ next: books/porters-handbook/special
params:
path: /books/porters-handbook/makefiles/
prev: books/porters-handbook/slow-porting
-showBookMenu: true
+showBookMenu: 'true'
tags: ["makefiles", "configuring", "naming", "versions"]
title: 'Глава 5. Настройка Makefile'
weight: 5
@@ -404,7 +404,7 @@ FreeBSD стремится поддерживать родной язык сво
[.filename]#name#::
Убедитесь, что название порта и его версия четко разделены и указаны в `PORTNAME` и `DISTVERSION`. Единственная причина, по которой `PORTNAME` может содержать часть версии, — это если вышестоящее распространяемое ПО действительно так названо, как в портах package:textproc/libxml2[] или package:japanese/kinput2-freewnn[]. В противном случае `PORTNAME` не может содержать информацию о версии. Довольно нормально, когда несколько портов имеют одинаковый `PORTNAME`, как это делают порты package:www/apache*[]; в таком случае разные версии (и разные записи в индексе) различаются значениями `PKGNAMEPREFIX` и `PKGNAMESUFFIX`.
+
-Существует традиция называть модули `Perl 5`, добавляя префикс `p5-` и заменя разделитель в виде двойного двоеточия на дефис. Например, модуль `Data::Dumper` становится `p5-Data-Dumper`.
+Существует традиция называть модули `Perl 5`, добавляя префикс `p5-` и заменяя разделитель в виде двойного двоеточия на дефис. Например, модуль `Data::Dumper` становится `p5-Data-Dumper`.
[[porting-pkgname-compiled-specifics]]
[.filename]#-compiled.specifics#::
Если порт может быть собран с различными crossref:makefiles[makefile-masterdir,жестко заданными значениями по умолчанию] (обычно это часть имени каталога в семействе портов), часть _-compiled.specifics_ указывает скомпилированные значения по умолчанию. Дефис является необязательным. Примерами могут служить размер бумаги и единицы измерения шрифтов.
@@ -3492,7 +3492,7 @@ MASTERDIR= ${.CURDIR}/../pkfonts300
([.filename]#print/pkfonts118/Makefile#, [.filename]#print/pkfonts600/Makefile# и все остальные аналогичны). Определение `MASTERDIR` указывает [.filename]#bsd.port.mk#, что стандартный набор подкаталогов, таких как `FILESDIR` и `SCRIPTDIR`, следует искать в [.filename]#pkfonts300#. Строка `RESOLUTION=360` переопределит строку `RESOLUTION=300` в [.filename]#pkfonts300/Makefile#, и порт будет собран с разрешением, установленным на 360.
[[makefile-manpages]]
-== Страницы Cправочника
+== Страницы справочника
Если порт размещает дерево man в другом месте, отличном от `PREFIX`, используйте `MANDIRS` для указания этих каталогов. Обратите внимание, что файлы, соответствующие страницам руководства, должны быть добавлены в [.filename]#pkg-plist# вместе с остальными файлами. Назначение `MANDIRS` — обеспечить автоматическое сжатие страниц руководства, поэтому имена файлов имеют суффикс [.filename]#.gz#.
@@ -4879,7 +4879,7 @@ PORTDOCS= README.* ChangeLog docs/*
Попробуйте сделать так, чтобы порт размещал файлы в правильных подкаталогах `PREFIX`. Некоторые порты собирают всё в кучу и помещают в подкаталог с именем порта, что неверно. Также многие порты размещают все файлы, кроме бинарников, заголовочных файлов и страниц руководства, в подкаталоге [.filename]#lib#, что плохо согласуется с парадигмой BSD. Многие из этих файлов должны быть перемещены в один из следующих каталогов: [.filename]#etc# (файлы настройки/конфигурации), [.filename]#libexec# (исполняемые файлы для внутреннего использования), [.filename]#sbin# (исполняемые файлы для суперпользователей/администраторов), [.filename]#info# (документация для браузера info) или [.filename]#share# (архитектурно-независимые файлы). Подробности см. в man:hier[7]; правила, действующие для [.filename]#/usr#, в основном применимы и к [.filename]#/usr/local#. Исключение составляют порты, связанные с USENET "news". Они могут использовать [.filename]#PREFIX/news# в качестве места назначения для своих файлов.
[[binary-alias]]
-== Используйте `BINARY_ALIAS` для переименования команд вместо исправления сборки
+== Использование `BINARY_ALIAS` для переименования команд вместо исправления сборки
Когда определена переменная `BINARY_ALIAS`, будут созданы символьные ссылки на указанные команды в каталоге, который будет добавлен в начало переменной `PATH`.
diff --git a/documentation/content/ru/books/porters-handbook/makefiles/_index.po b/documentation/content/ru/books/porters-handbook/makefiles/_index.po
index 359d99d977..a95ac29643 100644
--- a/documentation/content/ru/books/porters-handbook/makefiles/_index.po
+++ b/documentation/content/ru/books/porters-handbook/makefiles/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-09-18 22:05+0300\n"
-"PO-Revision-Date: 2025-09-05 04:45+0000\n"
+"POT-Creation-Date: 2025-08-17 20:54+0100\n"
+"PO-Revision-Date: 2025-10-21 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/booksporters-handbookmakefiles_index/ru/>\n"
@@ -18,13 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1
#, no-wrap
msgid "Configuring the Makefile for FreeBSD Ports"
msgstr "Настройка Makefile для портов FreeBSD"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1
#, no-wrap
msgid "Chapter 5. Configuring the Makefile"
@@ -40,10 +40,10 @@ msgstr "Настройка Makefile"
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:55
msgid ""
"Configuring the [.filename]#Makefile# is pretty simple, and again we suggest "
-"looking at existing examples before starting. Also, there is a "
-"crossref:porting-samplem[porting-samplem,sample Makefile] in this handbook, "
-"so take a look and please follow the ordering of variables and sections in "
-"that template to make the port easier for others to read."
+"looking at existing examples before starting. Also, there is a crossref:"
+"porting-samplem[porting-samplem,sample Makefile] in this handbook, so take a "
+"look and please follow the ordering of variables and sections in that "
+"template to make the port easier for others to read."
msgstr ""
"Настройка [.filename]#Makefile# довольно проста, и мы снова рекомендуем "
"изучить существующие примеры перед началом. Также в этом руководстве есть "
@@ -54,11 +54,11 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:57
msgid ""
-"Consider these problems in sequence during the design of the new "
-"[.filename]#Makefile#:"
+"Consider these problems in sequence during the design of the new [."
+"filename]#Makefile#:"
msgstr ""
-"Рассмотрите эти проблемы последовательно при разработке нового "
-"[.filename]#Makefile#:"
+"Рассмотрите эти проблемы последовательно при разработке нового [."
+"filename]#Makefile#:"
#. type: Title ==
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:59
@@ -116,12 +116,12 @@ msgstr "`PORTNAME`"
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:77
msgid ""
"Set `PORTNAME` to the base name of the software. It is used as the base for "
-"the FreeBSD package, and for crossref:makefiles[makefile-"
-"distname,`DISTNAME`]."
+"the FreeBSD package, and for crossref:makefiles[makefile-distname,"
+"`DISTNAME`]."
msgstr ""
"Установите `PORTNAME` как базовое имя программы. Оно используется в качестве "
-"основы для пакета FreeBSD и для crossref:makefiles[makefile-"
-"distname,`DISTNAME`]."
+"основы для пакета FreeBSD и для crossref:makefiles[makefile-distname,"
+"`DISTNAME`]."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:84
@@ -129,13 +129,13 @@ msgid ""
"The package name must be unique across the entire ports tree. Make sure "
"that the `PORTNAME` is not already in use by an existing port, and that no "
"other port already has the same `PKGBASE`. If the name has already been "
-"used, add either crossref:makefiles[porting-pkgnameprefix-"
-"suffix,`PKGNAMEPREFIX` or `PKGNAMESUFFIX`]."
+"used, add either crossref:makefiles[porting-pkgnameprefix-suffix,"
+"`PKGNAMEPREFIX` or `PKGNAMESUFFIX`]."
msgstr ""
"Название пакета должно быть уникальным во всём дереве портов. Убедитесь, что "
"`PORTNAME` ещё не используется существующим портом и что никакой другой порт "
-"уже не имеет такой же `PKGBASE`. Если имя уже занято, добавьте либо "
-"crossref:makefiles[porting-pkgnameprefix-suffix,`PKGNAMEPREFIX`, либо "
+"уже не имеет такой же `PKGBASE`. Если имя уже занято, добавьте либо crossref:"
+"makefiles[porting-pkgnameprefix-suffix,`PKGNAMEPREFIX`, либо "
"`PKGNAMESUFFIX`]."
#. type: Title ===
@@ -263,8 +263,8 @@ msgstr "`1.2` и `1.2.0` равны, так как ноль ничего не з
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:134
msgid "`1.2` is after `1.2.p1` as `.p1`, think \"pre-release 1\"."
msgstr ""
-"`1.2` идёт после `1.2.p1`, так как `.p1` означает «pre-release 1» "
-"(предрелизная версия 1)."
+"`1.2` идёт после `1.2.p1`, так как `.p1` означает «pre-release "
+"1» (предрелизная версия 1)."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:135
@@ -544,8 +544,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:247
msgid ""
-"Both will generate a `PORTVERSION` of `1.2.p4` which is before than 1.2. "
-"man:pkg-version[8] can be used to check that fact:"
+"Both will generate a `PORTVERSION` of `1.2.p4` which is before than 1.2. man:"
+"pkg-version[8] can be used to check that fact:"
msgstr ""
"Оба варианта создадут `PORTVERSION` равную `1.2.p4`, что предшествует версии "
"1.2. Для проверки этого факта можно использовать man:pkg-version[8]:"
@@ -573,9 +573,9 @@ msgid ""
"or \"pre\", but more in a \"patch level\", and meaning after the version "
"without the letters, use `PORTVERSION`."
msgstr ""
-"Если версия содержит буквы, которые не означают \"alpha\", \"beta\" или "
-"\"pre\", а скорее указывают на \"уровень исправления\" и следуют после "
-"версии без букв, используйте `PORTVERSION`."
+"Если версия содержит буквы, которые не означают \"alpha\", \"beta\" или \"pre"
+"\", а скорее указывают на \"уровень исправления\" и следуют после версии без "
+"букв, используйте `PORTVERSION`."
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:266
@@ -627,13 +627,13 @@ msgstr "`1.2` находится перед `1.2p4`, что и требовал
msgid ""
"For some more advanced examples of setting `PORTVERSION`, when the "
"software's versioning is really not compatible with FreeBSD's, or `DISTNAME` "
-"when the distribution file does not contain the version itself, see "
-"crossref:makefiles[makefile-distname, `DISTNAME`]."
+"when the distribution file does not contain the version itself, see crossref:"
+"makefiles[makefile-distname, `DISTNAME`]."
msgstr ""
"Для более сложных примеров настройки `PORTVERSION`, когда версия "
"программного обеспечения действительно несовместима с FreeBSD, или "
-"`DISTNAME`, когда файл дистрибутива не содержит саму версию, см. "
-"crossref:makefiles[makefile-distname, `DISTNAME`]."
+"`DISTNAME`, когда файл дистрибутива не содержит саму версию, см. crossref:"
+"makefiles[makefile-distname, `DISTNAME`]."
#. type: Title ===
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:289
@@ -669,8 +669,8 @@ msgstr ""
msgid ""
"`PORTREVISION` must be increased each time a change is made to the port that "
"changes the generated package in any way. That includes changes that only "
-"affect a package built with non-default crossref:makefiles[makefile-"
-"options,options]."
+"affect a package built with non-default crossref:makefiles[makefile-options,"
+"options]."
msgstr ""
"`PORTREVISION` должен быть увеличен каждый раз, когда в порт вносятся "
"изменения, которые так или иначе влияют на сгенерированный пакет. Это "
@@ -721,8 +721,8 @@ msgid ""
msgstr ""
"Увеличение версии зависимости порта от общей библиотеки (в данном случае, "
"попытка установить старый пакет после установки более новой версии "
-"зависимости завершится неудачей, так как будет искаться старая версия "
-"libfoo.x вместо libfoo.(x+1))."
+"зависимости завершится неудачей, так как будет искаться старая версия libfoo."
+"x вместо libfoo.(x+1))."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:308
@@ -926,8 +926,8 @@ msgstr ""
"Однако разработчикам портов FreeBSD следует быть осторожными, когда вендор "
"выпускает релиз без официального номера версии — например, релиз в виде "
"\"снимка\" кода. Возникает соблазн обозначить такой релиз датой выпуска, что "
-"вызовет проблемы, как в примере выше, когда будет сделан новый "
-"\"официальный\" релиз."
+"вызовет проблемы, как в примере выше, когда будет сделан новый \"официальный"
+"\" релиз."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:364
@@ -1082,17 +1082,17 @@ msgstr "`PKGNAMEPREFIX` и `PKGNAMESUFFIX`"
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:429
msgid ""
"Two optional variables, `PKGNAMEPREFIX` and `PKGNAMESUFFIX`, are combined "
-"with `PORTNAME` and `PORTVERSION` to form `PKGNAME` as `${PKGNAMEPREFIX}$"
-"{PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}`. Make sure this conforms to our "
-"crossref:makefiles[porting-pkgname,guidelines for a good package name]. In "
-"particular, the use of a hyphen (`-`) in `PORTVERSION` is _not_ allowed. "
-"Also, if the package name has the _language-_ or the _-compiled.specifics_ "
-"part (see below), use `PKGNAMEPREFIX` and `PKGNAMESUFFIX`, respectively. Do "
-"not make them part of `PORTNAME`."
+"with `PORTNAME` and `PORTVERSION` to form `PKGNAME` as `"
+"${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}`. Make sure this "
+"conforms to our crossref:makefiles[porting-pkgname,guidelines for a good "
+"package name]. In particular, the use of a hyphen (`-`) in `PORTVERSION` is "
+"_not_ allowed. Also, if the package name has the _language-_ or the _-"
+"compiled.specifics_ part (see below), use `PKGNAMEPREFIX` and "
+"`PKGNAMESUFFIX`, respectively. Do not make them part of `PORTNAME`."
msgstr ""
"Две необязательные переменные, `PKGNAMEPREFIX` и `PKGNAMESUFFIX`, "
-"объединяются с `PORTNAME` и `PORTVERSION` для формирования `PKGNAME` в виде "
-"`${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}`. Убедитесь, что "
+"объединяются с `PORTNAME` и `PORTVERSION` для формирования `PKGNAME` в виде `"
+"${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}`. Убедитесь, что "
"это соответствует нашим crossref:makefiles[porting-pkgname,рекомендациям по "
"именованию пакетов]. В частности, использование дефиса (`-`) в `PORTVERSION` "
"_не_ допускается. Кроме того, если имя пакета содержит часть _language-_ или "
@@ -1120,20 +1120,20 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:437
msgid ""
-"Package names take the form of [.filename]#language_region-name-"
-"compiled.specifics-version.numbers#."
+"Package names take the form of [.filename]#language_region-name-compiled."
+"specifics-version.numbers#."
msgstr ""
-"Имена пакетов имеют формат [.filename]#language_region-name-"
-"compiled.specifics-version.numbers#."
+"Имена пакетов имеют формат [.filename]#language_region-name-compiled."
+"specifics-version.numbers#."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:440
msgid ""
-"The package name is defined as `${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-$"
-"{PORTVERSION}`. Make sure to set the variables to conform to that format."
+"The package name is defined as `${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-"
+"${PORTVERSION}`. Make sure to set the variables to conform to that format."
msgstr ""
-"Имя пакета определяется как `${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-$"
-"{PORTVERSION}`. Убедитесь, что переменные заданы в соответствии с этим "
+"Имя пакета определяется как `${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-"
+"${PORTVERSION}`. Убедитесь, что переменные заданы в соответствии с этим "
"форматом."
#. type: Labeled list
@@ -1206,11 +1206,11 @@ msgstr ""
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:461
msgid ""
"There is a tradition of naming `Perl 5` modules by prepending `p5-` and "
-"converting the double-colon separator to a hyphen. For example, the "
-"`Data::Dumper` module becomes `p5-Data-Dumper`."
+"converting the double-colon separator to a hyphen. For example, the `Data::"
+"Dumper` module becomes `p5-Data-Dumper`."
msgstr ""
"Существует традиция называть модули `Perl 5`, добавляя префикс `p5-` и "
-"заменя разделитель в виде двойного двоеточия на дефис. Например, модуль "
+"заменяя разделитель в виде двойного двоеточия на дефис. Например, модуль "
"`Data::Dumper` становится `p5-Data-Dumper`."
#. type: Labeled list
@@ -1274,10 +1274,10 @@ msgid ""
"The idea is to make it easier to sort ports by looking at the version "
"string. In particular, make sure version number components are always "
"delimited by a period, and if the date is part of the string, use the "
-"`d__yyyy.mm.dd__` format, not `_dd.mm.yyyy_` or the non-Y2K compliant "
-"`_yy.mm.dd_` format. It is important to prefix the version with a letter, "
-"here `d` (for date), in case a release with an actual version number is "
-"made, which would be numerically less than `_yyyy_`."
+"`d__yyyy.mm.dd__` format, not `_dd.mm.yyyy_` or the non-Y2K compliant `_yy."
+"mm.dd_` format. It is important to prefix the version with a letter, here "
+"`d` (for date), in case a release with an actual version number is made, "
+"which would be numerically less than `_yyyy_`."
msgstr ""
"Идея заключается в упрощении сортировки портов за счёт анализа строки "
"версии. В частности, необходимо убедиться, что компоненты номера версии "
@@ -1297,8 +1297,8 @@ msgid ""
msgstr ""
"Название пакета должно быть уникальным среди всех портов в дереве. "
"Убедитесь, что порт с таким же `PORTNAME` ещё не существует, и если он есть, "
-"добавьте один из crossref:makefiles[porting-pkgnameprefix-"
-"suffix,`PKGNAMEPREFIX` или `PKGNAMESUFFIX`]."
+"добавьте один из crossref:makefiles[porting-pkgnameprefix-suffix,"
+"`PKGNAMEPREFIX` или `PKGNAMESUFFIX`]."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:490
@@ -1746,9 +1746,9 @@ msgstr ""
msgid ""
"This list also determines where in the ports tree the port is imported. If "
"there is more than one category here, the port files must be put in the "
-"subdirectory with the name of the first category. See "
-"crossref:makefiles[choosing-categories,below] for more discussion about how "
-"to pick the right categories."
+"subdirectory with the name of the first category. See crossref:"
+"makefiles[choosing-categories,below] for more discussion about how to pick "
+"the right categories."
msgstr ""
"Этот список также определяет, где в дереве портов будет размещён порт. Если "
"здесь указано несколько категорий, файлы порта должны быть помещены в "
@@ -3060,8 +3060,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1048
msgid ""
-"The first category must be a physical category (see "
-"crossref:makefiles[porting-categories,above]). This is necessary to make the "
+"The first category must be a physical category (see crossref:"
+"makefiles[porting-categories,above]). This is necessary to make the "
"packaging work. Virtual categories and physical categories may be intermixed "
"after that."
msgstr ""
@@ -3073,8 +3073,8 @@ msgstr ""
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1049
msgid ""
"Language specific categories always come first. For example, if the port "
-"installs Japanese X11 fonts, then the `CATEGORIES` line would read "
-"[.filename]#japanese x11-fonts#."
+"installs Japanese X11 fonts, then the `CATEGORIES` line would read [."
+"filename]#japanese x11-fonts#."
msgstr ""
"Языковые категории всегда указываются первыми. Например, если порт "
"устанавливает японские шрифты для X11, то строка `CATEGORIES` будет "
@@ -3085,16 +3085,15 @@ msgstr ""
msgid ""
"Specific categories are listed before less-specific ones. For instance, an "
"HTML editor is listed as [.filename]#www editors#, not the other way around. "
-"Also, do not list [.filename]#net# when the port belongs to any of "
-"[.filename]#irc#, [.filename]#mail#, [.filename]#news#, "
-"[.filename]#security#, or [.filename]#www#, as [.filename]#net# is included "
-"implicitly."
+"Also, do not list [.filename]#net# when the port belongs to any of [."
+"filename]#irc#, [.filename]#mail#, [.filename]#news#, [.filename]#security#, "
+"or [.filename]#www#, as [.filename]#net# is included implicitly."
msgstr ""
"Конкретные категории перечислены перед менее специфичными. Например, HTML-"
"редактор указывается как [.filename]#www editors#, а не наоборот. Также не "
"следует указывать [.filename]#net#, если порт принадлежит к любой из "
-"категорий [.filename]#irc#, [.filename]#mail#, [.filename]#news#, "
-"[.filename]#security# или [.filename]#www#, так как [.filename]#net# "
+"категорий [.filename]#irc#, [.filename]#mail#, [.filename]#news#, [."
+"filename]#security# или [.filename]#www#, так как [.filename]#net# "
"подразумевается автоматически."
#. type: Plain text
@@ -3105,16 +3104,16 @@ msgid ""
"in the category line for X applications."
msgstr ""
"[.filename]#x11# используется как вторичная категория только в случае, когда "
-"основной категорией указан естественный язык. В частности, не указывайте "
-"[.filename]#x11# в строке категории для X-приложений."
+"основной категорией указан естественный язык. В частности, не указывайте [."
+"filename]#x11# в строке категории для X-приложений."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1052
msgid ""
"Emacs modes are placed in the same ports category as the application "
"supported by the mode, not in [.filename]#editors#. For example, an Emacs "
-"mode to edit source files of some programming language goes into "
-"[.filename]#lang#."
+"mode to edit source files of some programming language goes into [."
+"filename]#lang#."
msgstr ""
"Режимы Emacs размещаются в той же категории портов, что и приложение, "
"поддерживаемое данным режимом, а не в [.filename]#editors#. Например, режим "
@@ -3124,9 +3123,9 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1053
msgid ""
-"Ports installing loadable kernel modules also have the virtual category "
-"[.filename]#kld# in their `CATEGORIES` line. This is one of the things "
-"handled automatically by adding `USES=kmod`."
+"Ports installing loadable kernel modules also have the virtual category [."
+"filename]#kld# in their `CATEGORIES` line. This is one of the things handled "
+"automatically by adding `USES=kmod`."
msgstr ""
"Порты, устанавливающие загружаемые модули ядра, также имеют виртуальную "
"категорию [.filename]#kld# в строке `CATEGORIES`. Это одна из вещей, "
@@ -3149,8 +3148,8 @@ msgstr ""
msgid ""
"If the port truly does not belong anywhere else, put it in [.filename]#misc#."
msgstr ""
-"Если порт действительно не подходит никуда больше, поместите его в "
-"[.filename]#misc#."
+"Если порт действительно не подходит никуда больше, поместите его в [."
+"filename]#misc#."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1059
@@ -3218,8 +3217,8 @@ msgid ""
"nor whether categories should lend themselves to browsing (and thus what "
"number of categories would be an ideal number), and so forth.)"
msgstr ""
-"Обоснование этого заключается в том, что такое изменение создает extref:"
-"{committers-guide}[значительный объем работы, ports] как для коммиттеров, "
+"Обоснование этого заключается в том, что такое изменение создает extref"
+":{committers-guide}[значительный объем работы, ports] как для коммиттеров, "
"так и для всех пользователей, которые отслеживают изменения в Коллекции "
"портов. Кроме того, предлагаемые изменения категорий, как правило, вызывают "
"споры. (Возможно, это связано с отсутствием четкого консенсуса относительно "
@@ -3383,29 +3382,29 @@ msgstr "`DISTNAME`"
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1113
msgid ""
"`DISTNAME` is the name of the port as called by the authors of the "
-"software. `DISTNAME` defaults to `${PORTNAME}-${DISTVERSIONPREFIX}$"
-"{DISTVERSION}${DISTVERSIONSUFFIX}`, and if not set, `DISTVERSION` defaults "
-"to `${PORTVERSION}` so override `DISTNAME` only if necessary. `DISTNAME` is "
-"only used in two places. First, the distribution file list (`DISTFILES`) "
-"defaults to `${DISTNAME}${EXTRACT_SUFX}`. Second, the distribution file is "
-"expected to extract into a subdirectory named `WRKSRC`, which defaults to "
-"[.filename]#work/${DISTNAME}#."
+"software. `DISTNAME` defaults to `${PORTNAME}-"
+"${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}`, and if not set, "
+"`DISTVERSION` defaults to `${PORTVERSION}` so override `DISTNAME` only if "
+"necessary. `DISTNAME` is only used in two places. First, the distribution "
+"file list (`DISTFILES`) defaults to `${DISTNAME}${EXTRACT_SUFX}`. Second, "
+"the distribution file is expected to extract into a subdirectory named "
+"`WRKSRC`, which defaults to [.filename]#work/${DISTNAME}#."
msgstr ""
"`DISTNAME` — это имя порта, используемое авторами программного обеспечения. "
-"По умолчанию `DISTNAME` имеет значение `${PORTNAME}-${DISTVERSIONPREFIX}$"
-"{DISTVERSION}${DISTVERSIONSUFFIX}`, а если не задано, `DISTVERSION` по "
-"умолчанию принимает значение `${PORTVERSION}`, поэтому переопределяйте "
-"`DISTNAME` только при необходимости. `DISTNAME` используется только в двух "
-"случаях. Во-первых, список файлов дистрибутива (`DISTFILES`) по умолчанию "
-"имеет значение `${DISTNAME}${EXTRACT_SUFX}`. Во-вторых, ожидается, что файл "
-"дистрибутива распакуется в подкаталог с именем `WRKSRC`, который по "
-"умолчанию равен [.filename]#work/${DISTNAME}#."
+"По умолчанию `DISTNAME` имеет значение `${PORTNAME}-"
+"${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}`, а если не задано, "
+"`DISTVERSION` по умолчанию принимает значение `${PORTVERSION}`, поэтому "
+"переопределяйте `DISTNAME` только при необходимости. `DISTNAME` используется "
+"только в двух случаях. Во-первых, список файлов дистрибутива (`DISTFILES`) "
+"по умолчанию имеет значение `${DISTNAME}${EXTRACT_SUFX}`. Во-вторых, "
+"ожидается, что файл дистрибутива распакуется в подкаталог с именем `WRKSRC`, "
+"который по умолчанию равен [.filename]#work/${DISTNAME}#."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1116
msgid ""
-"Some vendor's distribution names which do not fit into the `${PORTNAME}-$"
-"{PORTVERSION}`-scheme can be handled automatically by setting "
+"Some vendor's distribution names which do not fit into the `${PORTNAME}-"
+"${PORTVERSION}`-scheme can be handled automatically by setting "
"`DISTVERSIONPREFIX`, `DISTVERSION`, and `DISTVERSIONSUFFIX`. `PORTVERSION` "
"will be derived from `DISTVERSION` automatically."
msgstr ""
@@ -3630,8 +3629,8 @@ msgstr ""
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1195
msgid ""
"The `:E` man:make[1] modifier returns the suffix of the variable, in this "
-"case, `304`. The distribution file is correctly generated as `cku304-"
-"dev20.tar.gz`."
+"case, `304`. The distribution file is correctly generated as `cku304-dev20."
+"tar.gz`."
msgstr ""
"Модификатор `:E` man:make[1] возвращает суффикс переменной, в данном случае "
"`304`. Файл дистрибутива корректно создаётся как `cku304-dev20.tar.gz`."
@@ -3685,8 +3684,8 @@ msgid ""
"using crossref:makefiles[makefile-dist_subdir,`DIST_SUBDIR`] is needed:"
msgstr ""
"В пакете package:comms/librs232[] файл дистрибутива не имеет версии, поэтому "
-"необходимо использовать crossref:makefiles[makefile-"
-"dist_subdir,`DIST_SUBDIR`]:"
+"необходимо использовать crossref:makefiles[makefile-dist_subdir,"
+"`DIST_SUBDIR`]:"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1231
@@ -3711,15 +3710,15 @@ msgstr ""
msgid ""
"`PKGNAMEPREFIX` and `PKGNAMESUFFIX` do not affect `DISTNAME`. Also note "
"that if `WRKSRC` is equal to [.filename]#${WRKDIR}/${DISTNAME}# while the "
-"original source archive is named something other than `${PORTNAME}-$"
-"{PORTVERSION}${EXTRACT_SUFX}`, leave `DISTNAME` alone- defining only "
+"original source archive is named something other than `${PORTNAME}-"
+"${PORTVERSION}${EXTRACT_SUFX}`, leave `DISTNAME` alone- defining only "
"`DISTFILES` is easier than both `DISTNAME` and `WRKSRC` (and possibly "
"`EXTRACT_SUFX`)."
msgstr ""
"`PKGNAMEPREFIX` и `PKGNAMESUFFIX` не влияют на `DISTNAME`. Также обратите "
"внимание, что если `WRKSRC` равно [.filename]#${WRKDIR}/${DISTNAME}#, а "
-"исходный архив с исходным кодом называется иначе, чем `${PORTNAME}-$"
-"{PORTVERSION}${EXTRACT_SUFX}`, оставьте `DISTNAME` без изменений — "
+"исходный архив с исходным кодом называется иначе, чем `${PORTNAME}-"
+"${PORTVERSION}${EXTRACT_SUFX}`, оставьте `DISTNAME` без изменений — "
"определение только `DISTFILES` проще, чем определение и `DISTNAME`, и "
"`WRKSRC` (а возможно, и `EXTRACT_SUFX`)."
@@ -4452,9 +4451,9 @@ msgid ""
"would end up looking like this (slightly stripped for the example):"
msgstr ""
"При попытке создать порт для версии `1.2.7` pkg от пользователя FreeBSD на "
-"github, по адресу https://github.com/freebsd/pkg/[], файл "
-"[.filename]#Makefile# в итоге будет выглядеть следующим образом "
-"(незначительно сокращено для примера):"
+"github, по адресу https://github.com/freebsd/pkg/[], файл [."
+"filename]#Makefile# в итоге будет выглядеть следующим образом (незначительно "
+"сокращено для примера):"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1514
@@ -4479,11 +4478,11 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1520
msgid ""
-"It will automatically have `MASTER_SITES` set to `GH` and `WRKSRC` to `$"
-"{WRKDIR}/pkg-1.2.7`."
+"It will automatically have `MASTER_SITES` set to `GH` and `WRKSRC` to `"
+"${WRKDIR}/pkg-1.2.7`."
msgstr ""
-"Он автоматически получит `MASTER_SITES` установленным в `GH` и `WRKSRC` в `$"
-"{WRKDIR}/pkg-1.2.7`."
+"Он автоматически получит `MASTER_SITES` установленным в `GH` и `WRKSRC` в `"
+"${WRKDIR}/pkg-1.2.7`."
#. type: Block title
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1523
@@ -4495,13 +4494,13 @@ msgstr "Более полное использование `USE_GITHUB`"
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1527
msgid ""
"While trying to make a port for the bleeding edge version of pkg from the "
-"FreeBSD user on github, at https://github.com/freebsd/pkg/[], the "
-"[.filename]#Makefile# ends up looking like this (slightly stripped for the "
+"FreeBSD user on github, at https://github.com/freebsd/pkg/[], the [."
+"filename]#Makefile# ends up looking like this (slightly stripped for the "
"example):"
msgstr ""
"При попытке создать порт для самой последней версии pkg от пользователя "
-"FreeBSD на github, по адресу https://github.com/freebsd/pkg/[], файл "
-"[.filename]#Makefile# в итоге выглядит следующим образом (незначительно "
+"FreeBSD на github, по адресу https://github.com/freebsd/pkg/[], файл [."
+"filename]#Makefile# в итоге выглядит следующим образом (незначительно "
"сокращено для примера):"
#. type: delimited block . 4
@@ -4531,8 +4530,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1540
msgid ""
-"It will automatically have `MASTER_SITES` set to `GH` and `WRKSRC` to `$"
-"{WRKDIR}/pkg-6dbb17b`."
+"It will automatically have `MASTER_SITES` set to `GH` and `WRKSRC` to `"
+"${WRKDIR}/pkg-6dbb17b`."
msgstr ""
"Он автоматически получит `MASTER_SITES` со значением `GH` и `WRKSRC` со "
"значением `${WRKDIR}/pkg-6dbb17b`."
@@ -4760,11 +4759,11 @@ msgid ""
"crossref:makefiles[makefile-versions-ex-pkg-version, this section for how to "
"compare versions] using man:pkg-version[8]):"
msgstr ""
-"Это создаёт схему версионирования, которая увеличивается со временем "
-"(точнее, с коммитами) и не конфликтует с созданием версии `0.7.4`. "
+"Это создаёт схему версионирования, которая увеличивается со временем ("
+"точнее, с коммитами) и не конфликтует с созданием версии `0.7.4`. "
"Подробности об использовании man:pkg-version[8] для сравнения версий "
-"смотрите в crossref:makefiles[makefile-versions-ex-pkg-version, этой "
-"секции] :"
+"смотрите в crossref:makefiles[makefile-versions-ex-pkg-version, этой секции] "
+":"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1638
@@ -4824,9 +4823,9 @@ msgid ""
"Files from Multiple Locations]."
msgstr ""
"Фреймворк `USE_GITHUB` также поддерживает загрузку нескольких файлов "
-"дистрибутива из разных мест в GitHub. Он работает очень похоже на "
-"crossref:makefiles[porting-master-sites-n, Файлы дистрибуции или патчей из "
-"нескольких мест]."
+"дистрибутива из разных мест в GitHub. Он работает очень похоже на crossref:"
+"makefiles[porting-master-sites-n, Файлы дистрибуции или патчей из нескольких "
+"мест]."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1669
@@ -4840,9 +4839,8 @@ msgstr ""
"В `GH_ACCOUNT`, `GH_PROJECT` и `GH_TAGNAME` добавляются несколько значений. "
"Каждому различному значению присваивается группа. Основное значение может не "
"иметь группы или принадлежать группе `:DEFAULT`. Значение может быть "
-"опущено, если оно совпадает со значением по умолчанию, указанным в "
-"crossref:makefiles[makefile-master_sites-github-description,описании "
-"`USE_GITHUB`]."
+"опущено, если оно совпадает со значением по умолчанию, указанным в crossref:"
+"makefiles[makefile-master_sites-github-description,описании `USE_GITHUB`]."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1672
@@ -4922,8 +4920,8 @@ msgid ""
"The definition should be:"
msgstr ""
"При использовании `USE_GITHUB=nodefault` в [.filename]#Makefile# необходимо "
-"указать `DISTFILES` в его crossref:porting-order[porting-order-"
-"portname,верхнем блоке]. Определение должно быть следующим:"
+"указать `DISTFILES` в его crossref:porting-order[porting-order-portname,"
+"верхнем блоке]. Определение должно быть следующим:"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1704
@@ -4993,15 +4991,15 @@ msgid ""
"`icons` group, comes from [.filename]#bar/foo-icons# and is in version "
"`1.0`. The third one comes from [.filename]#bar/foo-contrib# and uses the "
"Git commit `fa579bc`. The distribution files are named [.filename]#foo-"
-"foo-1.0.2_GH0.tar.gz#, [.filename]#bar-foo-icons-1.0_GH0.tar.gz#, and "
-"[.filename]#bar-foo-contrib-fa579bc_GH0.tar.gz#."
+"foo-1.0.2_GH0.tar.gz#, [.filename]#bar-foo-icons-1.0_GH0.tar.gz#, and [."
+"filename]#bar-foo-contrib-fa579bc_GH0.tar.gz#."
msgstr ""
-"Это загрузит три файла дистрибутива с github. Стандартный берется из "
-"[.filename]#foo/foo# и имеет версию `1.0.2`. Второй, с группой `icons`, "
+"Это загрузит три файла дистрибутива с github. Стандартный берется из [."
+"filename]#foo/foo# и имеет версию `1.0.2`. Второй, с группой `icons`, "
"берется из [.filename]#bar/foo-icons# и имеет версию `1.0`. Третий берется "
"из [.filename]#bar/foo-contrib# и использует Git-коммит `fa579bc`. Файлы "
-"дистрибутива называются [.filename]#foo-foo-1.0.2_GH0.tar.gz#, "
-"[.filename]#bar-foo-icons-1.0_GH0.tar.gz# и [.filename]#bar-foo-contrib-"
+"дистрибутива называются [.filename]#foo-foo-1.0.2_GH0.tar.gz#, [."
+"filename]#bar-foo-icons-1.0_GH0.tar.gz# и [.filename]#bar-foo-contrib-"
"fa579bc_GH0.tar.gz#."
#. type: Plain text
@@ -5116,10 +5114,10 @@ msgstr ""
msgid ""
"Using package:finance/moneymanagerex[] as an example, its GitHub repository "
"is https://github.com/moneymanagerex/moneymanagerex/[]. It has a https://"
-"github.com/moneymanagerex/moneymanagerex/blob/"
-"master/.gitmodules[.gitmodules] file at the root. This file describes all "
-"the submodules used in this repository, and lists additional repositories "
-"needed. This file will tell what additional repositories are needed:"
+"github.com/moneymanagerex/moneymanagerex/blob/master/.gitmodules[."
+"gitmodules] file at the root. This file describes all the submodules used "
+"in this repository, and lists additional repositories needed. This file "
+"will tell what additional repositories are needed:"
msgstr ""
"В качестве примера используем пакет package:finance/moneymanagerex[], его "
"репозиторий на GitHub находится по адресу https://github.com/moneymanagerex/"
@@ -5257,11 +5255,11 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1854
msgid ""
-"Now that all the required information has been gathered, the "
-"[.filename]#Makefile# can be written (only GitHub-related lines are shown):"
+"Now that all the required information has been gathered, the [."
+"filename]#Makefile# can be written (only GitHub-related lines are shown):"
msgstr ""
-"Теперь, когда вся необходимая информация собрана, можно написать "
-"[.filename]#Makefile# (показаны только строки, связанные с GitHub):"
+"Теперь, когда вся необходимая информация собрана, можно написать [."
+"filename]#Makefile# (показаны только строки, связанные с GitHub):"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1860
@@ -5456,8 +5454,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1928
msgid ""
-"It will automatically have `MASTER_SITES` set to https://gitlab.com/"
-"[gitlab.com] and `WRKSRC` to `${WRKDIR}/libsignon-glib-"
+"It will automatically have `MASTER_SITES` set to https://gitlab.com/[gitlab."
+"com] and `WRKSRC` to `${WRKDIR}/libsignon-glib-"
"e90302e342bfd27bc8c9132ab9d0ea3d8723fd03-"
"e90302e342bfd27bc8c9132ab9d0ea3d8723fd03`."
msgstr ""
@@ -5476,9 +5474,9 @@ msgstr "Более полное использование `USE_GITLAB`"
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1936
msgid ""
"A more complete use of the above if port had no versioning and foobar from "
-"the foo user on project bar on a self hosted GitLab site `https://"
-"gitlab.example.com/`, the [.filename]#Makefile# ends up looking like this "
-"for fetching distribution files:"
+"the foo user on project bar on a self hosted GitLab site `https://gitlab."
+"example.com/`, the [.filename]#Makefile# ends up looking like this for "
+"fetching distribution files:"
msgstr ""
"Более полный пример использования вышеописанного, если порт не имеет "
"версионирования и foobar принадлежит пользователю foo в проекте bar на "
@@ -5555,9 +5553,9 @@ msgid ""
"The `USE_GITLAB` framework also supports fetching multiple distribution "
"files from different places from GitLab and GitLab hosted sites. It works "
"in a way very similar to crossref:makefiles[porting-master-sites-n, Multiple "
-"Distribution or Patches Files from Multiple Locations] and "
-"crossref:makefiles[makefile-master_sites-gitlab-multiple, Fetching Multiple "
-"Files from GitLab]."
+"Distribution or Patches Files from Multiple Locations] and crossref:"
+"makefiles[makefile-master_sites-gitlab-multiple, Fetching Multiple Files "
+"from GitLab]."
msgstr ""
"Фреймворк `USE_GITLAB` также поддерживает загрузку нескольких файлов "
"дистрибутивов из различных мест GitLab и сайтов, размещённых на GitLab. Он "
@@ -5570,9 +5568,8 @@ msgstr ""
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1973
msgid ""
"Multiple values are added to `GL_SITE`, `GL_ACCOUNT`, `GL_PROJECT` and "
-"`GL_COMMIT`. Each different value is assigned a group. "
-"crossref:makefiles[makefile-master_sites-gitlab-description,`USE_GITLAB` "
-"Description]."
+"`GL_COMMIT`. Each different value is assigned a group. crossref:"
+"makefiles[makefile-master_sites-gitlab-description,`USE_GITLAB` Description]."
msgstr ""
"В `GL_SITE`, `GL_ACCOUNT`, `GL_PROJECT` и `GL_COMMIT` добавляются "
"множественные значения. Каждое уникальное значение назначается группе. "
@@ -5615,8 +5612,8 @@ msgid ""
"The definition should be:"
msgstr ""
"При использовании `USE_GITLAB=nodefault`, [.filename]#Makefile# должен "
-"устанавливать `DISTFILES` в своем crossref:makefiles[porting-order-"
-"portname,верхнем блоке]. Определение должно быть следующим:"
+"устанавливать `DISTFILES` в своем crossref:makefiles[porting-order-portname,"
+"верхнем блоке]. Определение должно быть следующим:"
#. type: Block title
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2015
@@ -5663,9 +5660,9 @@ msgstr "CONFIGURE_ARGS= --with-contrib=${WRKSRC_contrib}\n"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2042
msgid ""
-"This will fetch two distribution files from gitlab.com and one from "
-"`gitlab.example.com` hosting GitLab. The default one comes from "
-"[.filename]#https://gitlab.com/foo/foo# and commit is "
+"This will fetch two distribution files from gitlab.com and one from `gitlab."
+"example.com` hosting GitLab. The default one comes from [.filename]#https://"
+"gitlab.com/foo/foo# and commit is "
"`c189207a55da45305c884fe2b50e086fcad4724b`. The second one, with the "
"`icons` group, comes from [.filename]#https://gitlab.example.com:9434/gitlab/"
"bar/foo-icons# and commit is `ae7368cab1ca7ca754b38d49da064df87968ffe4`. "
@@ -5673,22 +5670,22 @@ msgid ""
"is commit `9e4dd76ad9b38f33fdb417a4c01935958d5acd2a`. The distribution "
"files are named [.filename]#foo-foo-"
"c189207a55da45305c884fe2b50e086fcad4724b_GL0.tar.gz#, [.filename]#bar-foo-"
-"icons-ae7368cab1ca7ca754b38d49da064df87968ffe4_GL0.tar.gz#, and "
-"[.filename]#bar-foo-"
-"contrib-9e4dd76ad9b38f33fdb417a4c01935958d5acd2a_GL0.tar.gz#."
+"icons-ae7368cab1ca7ca754b38d49da064df87968ffe4_GL0.tar.gz#, and [."
+"filename]#bar-foo-contrib-9e4dd76ad9b38f33fdb417a4c01935958d5acd2a_GL0.tar."
+"gz#."
msgstr ""
-"Это загрузит два файла дистрибутива с gitlab.com и один с "
-"`gitlab.example.com`, где размещается GitLab. По умолчанию файл берется из "
-"[.filename]#https://gitlab.com/foo/foo#, а коммит — "
+"Это загрузит два файла дистрибутива с gitlab.com и один с `gitlab.example."
+"com`, где размещается GitLab. По умолчанию файл берется из [."
+"filename]#https://gitlab.com/foo/foo#, а коммит — "
"`c189207a55da45305c884fe2b50e086fcad4724b`. Второй файл, из группы `icons`, "
"берется из [.filename]#https://gitlab.example.com:9434/gitlab/bar/foo-"
"icons#, а коммит — `ae7368cab1ca7ca754b38d49da064df87968ffe4`. Третий файл "
"берется из [.filename]#https://gitlab.com/bar/foo-contrib#, а коммит — "
-"`9e4dd76ad9b38f33fdb417a4c01935958d5acd2a`. Файлы дистрибутива называются "
-"[.filename]#foo-foo-c189207a55da45305c884fe2b50e086fcad4724b_GL0.tar.gz#, "
-"[.filename]#bar-foo-icons-"
-"ae7368cab1ca7ca754b38d49da064df87968ffe4_GL0.tar.gz# и [.filename]#bar-foo-"
-"contrib-9e4dd76ad9b38f33fdb417a4c01935958d5acd2a_GL0.tar.gz#."
+"`9e4dd76ad9b38f33fdb417a4c01935958d5acd2a`. Файлы дистрибутива называются [."
+"filename]#foo-foo-c189207a55da45305c884fe2b50e086fcad4724b_GL0.tar.gz#, [."
+"filename]#bar-foo-icons-ae7368cab1ca7ca754b38d49da064df87968ffe4_GL0.tar.gz# "
+"и [.filename]#bar-foo-contrib-9e4dd76ad9b38f33fdb417a4c01935958d5acd2a_GL0."
+"tar.gz#."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2048
@@ -5712,8 +5709,8 @@ msgstr ""
"дистрибутива извлекается в `${WRKSRC_group}`. Здесь для группы `icons` он "
"называется `${WRKSRC_icons}` и содержит [.filename]#${WRKDIR}/foo-icons-"
"ae7368cab1ca7ca754b38d49da064df87968ffe4-"
-"ae7368cab1ca7ca754b38d49da064df87968ffe4#. Файл группы `contrib` называется "
-"`${WRKSRC_contrib}` и содержит `${WRKDIR}/foo-"
+"ae7368cab1ca7ca754b38d49da064df87968ffe4#. Файл группы `contrib` называется `"
+"${WRKSRC_contrib}` и содержит `${WRKDIR}/foo-"
"contrib-9e4dd76ad9b38f33fdb417a4c01935958d5acd2a-9e4dd76ad9b38f33fdb417a4c01935958d5acd2a`."
#. type: Plain text
@@ -5724,8 +5721,8 @@ msgid ""
"makes sure that [.filename]#ext# exists, but that [.filename]#ext/icons# "
"does not already exist. Then it does this:"
msgstr ""
-"Система сборки программного обеспечения ожидает найти иконки в подкаталоге "
-"[.filename]#ext/icons# в своих исходниках, поэтому используется `GL_SUBDIR`. "
+"Система сборки программного обеспечения ожидает найти иконки в подкаталоге [."
+"filename]#ext/icons# в своих исходниках, поэтому используется `GL_SUBDIR`. "
"`GL_SUBDIR` гарантирует, что [.filename]#ext# существует, но [.filename]#ext/"
"icons# ещё не существует. Затем она выполняет следующее:"
@@ -5847,10 +5844,9 @@ msgstr "`DISTFILES`"
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2112
msgid ""
"Sometimes the names of the files to be downloaded have no resemblance to the "
-"name of the port. For example, it might be called "
-"[.filename]#source.tar.gz# or similar. In other cases the application's "
-"source code might be in several different archives, all of which must be "
-"downloaded."
+"name of the port. For example, it might be called [.filename]#source.tar."
+"gz# or similar. In other cases the application's source code might be in "
+"several different archives, all of which must be downloaded."
msgstr ""
"Иногда названия файлов для загрузки не имеют ничего общего с именем порта. "
"Например, файл может называться [.filename]#source.tar.gz# или подобным "
@@ -5877,8 +5873,8 @@ msgstr "DISTFILES=\tsource1.tar.gz source2.tar.gz\n"
msgid ""
"If not explicitly set, `DISTFILES` defaults to `${DISTNAME}${EXTRACT_SUFX}`."
msgstr ""
-"Если явно не задано, `DISTFILES` по умолчанию равно `${DISTNAME}$"
-"{EXTRACT_SUFX}`."
+"Если явно не задано, `DISTFILES` по умолчанию равно `"
+"${DISTNAME}${EXTRACT_SUFX}`."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2123
@@ -5960,12 +5956,12 @@ msgstr ""
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2149
msgid ""
"Do not worry if the patches are compressed; they will be decompressed "
-"automatically if the filenames end with [.filename]#.Z#, [.filename]#.gz#, "
-"[.filename]#.bz2# or [.filename]#.xz#."
+"automatically if the filenames end with [.filename]#.Z#, [.filename]#.gz#, [."
+"filename]#.bz2# or [.filename]#.xz#."
msgstr ""
"Не беспокойтесь, если патчи сжаты; они будут автоматически распакованы, если "
-"их имена заканчиваются на [.filename]#.Z#, [.filename]#.gz#, "
-"[.filename]#.bz2# или [.filename]#.xz#."
+"их имена заканчиваются на [.filename]#.Z#, [.filename]#.gz#, [.filename]#."
+"bz2# или [.filename]#.xz#."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2155
@@ -5973,8 +5969,8 @@ msgid ""
"If the patch is distributed with some other files, such as documentation, in "
"a compressed tarball, using `PATCHFILES` is not possible. If that is the "
"case, add the name and the location of the patch tarball to `DISTFILES` and "
-"`MASTER_SITES`. Then, use `EXTRA_PATCHES` to point to those files and "
-"[.filename]#bsd.port.mk# will automatically apply them. In particular, do "
+"`MASTER_SITES`. Then, use `EXTRA_PATCHES` to point to those files and [."
+"filename]#bsd.port.mk# will automatically apply them. In particular, do "
"_not_ copy patch files into [.filename]#${PATCHDIR}#. That directory may "
"not be writable."
msgstr ""
@@ -6080,8 +6076,8 @@ msgstr "DISTFILES=\talpha:0 beta:1\n"
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2199
msgid ""
"In OpenBSD, distribution file [.filename]#alpha# will be associated with "
-"variable `MASTER_SITES0` instead of our common `MASTER_SITES` and "
-"[.filename]#beta# with `MASTER_SITES1`."
+"variable `MASTER_SITES0` instead of our common `MASTER_SITES` and [."
+"filename]#beta# with `MASTER_SITES1`."
msgstr ""
"В OpenBSD файл дистрибутива [.filename]#alpha# будет связан с переменной "
"`MASTER_SITES0`, а не с нашей общей `MASTER_SITES`, а [.filename]#beta# — с "
@@ -6135,8 +6131,8 @@ msgstr ""
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2215
msgid ""
"The group names cannot have dashes in them (`-`), in fact, they cannot have "
-"any characters out of the `[a-zA-Z0-9_]` range. This is because, while "
-"man:make[1] is ok with variable names containing dashes, man:sh[1] is not."
+"any characters out of the `[a-zA-Z0-9_]` range. This is because, while man:"
+"make[1] is ok with variable names containing dashes, man:sh[1] is not."
msgstr ""
"Имена групп не могут содержать дефисы (`-`), более того, они не могут "
"содержать любые символы вне диапазона `[a-zA-Z0-9_]`. Это связано с тем, "
@@ -6198,8 +6194,8 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2236
msgid ""
-"For example, consider an application with the source split in two parts, "
-"[.filename]#source1.tar.gz# and [.filename]#source2.tar.gz#, which must be "
+"For example, consider an application with the source split in two parts, [."
+"filename]#source1.tar.gz# and [.filename]#source2.tar.gz#, which must be "
"downloaded from two different sites. The port's [.filename]#Makefile# would "
"include lines like crossref:makefiles[ports-master-sites-n-example-simple-"
"use-one-file-per-site,Simplified Use of `MASTER_SITES:n` with One File Per "
@@ -6236,17 +6232,16 @@ msgstr ""
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2256
msgid ""
"Multiple distribution files can have the same group. Continuing the "
-"previous example, suppose that there was a third distfile, "
-"[.filename]#source3.tar.gz#, that is downloaded from `ftp.example2.com`. "
-"The [.filename]#Makefile# would then be written like "
-"crossref:makefiles[ports-master-sites-n-example-simple-use-more-than-one-"
-"file-per-site,Simplified Use of `MASTER_SITES:n` with More Than One File Per "
-"Site]."
+"previous example, suppose that there was a third distfile, [."
+"filename]#source3.tar.gz#, that is downloaded from `ftp.example2.com`. The "
+"[.filename]#Makefile# would then be written like crossref:makefiles[ports-"
+"master-sites-n-example-simple-use-more-than-one-file-per-site,Simplified Use "
+"of `MASTER_SITES:n` with More Than One File Per Site]."
msgstr ""
"Несколько файлов дистрибутивов могут принадлежать одной группе. Продолжая "
-"предыдущий пример, предположим, что существует третий файл дистрибутива "
-"[.filename]#source3.tar.gz#, который загружается с `ftp.example2.com`. Тогда "
-"[.filename]#Makefile# будет записан, как показано в crossref:makefiles[ports-"
+"предыдущий пример, предположим, что существует третий файл дистрибутива [."
+"filename]#source3.tar.gz#, который загружается с `ftp.example2.com`. Тогда [."
+"filename]#Makefile# будет записан, как показано в crossref:makefiles[ports-"
"master-sites-n-example-simple-use-more-than-one-file-per-site,Упрощённое "
"использование `MASTER_SITES:n` с несколькими файлами на один сайт]."
@@ -6315,8 +6310,8 @@ msgid ""
"However, these words cannot be used for postfixing purposes since they yield "
"special meaning: `default`, `all` and `ALL` (they are used internally in "
"item crossref:makefiles[porting-master-sites-n-what-changes-in-port-targets, "
-"ii]). Furthermore, `DEFAULT` is a special purpose word (check item "
-"crossref:makefiles[porting-master-sites-n-DEFAULT-group,3])."
+"ii]). Furthermore, `DEFAULT` is a special purpose word (check item crossref:"
+"makefiles[porting-master-sites-n-DEFAULT-group,3])."
msgstr ""
"Однако эти слова не могут использоваться для постфиксных целей, так как "
"имеют специальное значение: `default`, `all` и `ALL` (они используются "
@@ -6390,8 +6385,8 @@ msgstr ""
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2314
msgid ""
"Instead of repeating it several times, each time with a different postfix, "
-"we can list several groups at once in a single postfix. For instance, "
-"`:m,n,o` marks an element that belongs to group `m`, `n` and `o`."
+"we can list several groups at once in a single postfix. For instance, `:m,n,"
+"o` marks an element that belongs to group `m`, `n` and `o`."
msgstr ""
"Вместо повторения несколько раз, каждый раз с разным постфиксом, мы можем "
"перечислить несколько групп сразу в одном постфиксе. Например, `:m,n,o` "
@@ -6457,14 +6452,14 @@ msgid ""
"where a `:n` is a valid part of the element with occurrences where `:n` "
"denotes group `n`. For compatibility purposes, since the `/` terminator was "
"not required before in both `MASTER_SITE_SUBDIR` and `PATCH_SITE_SUBDIR` "
-"elements, if the postfix immediate preceding character is not a `/` then "
-"`:n` will be considered a valid part of the element instead of a group "
-"postfix even if an element is postfixed with `:n`. See both "
-"crossref:makefiles[ports-master-sites-n-example-detailed-use-master-site-"
-"subdir,Detailed Use of `MASTER_SITES:n` in `MASTER_SITE_SUBDIR`] and "
-"crossref:makefiles[ports-master-sites-n-example-detailed-use-complete-"
-"example-master-sites,Detailed Use of `MASTER_SITES:n` with Comma Operator, "
-"Multiple Files, Multiple Sites and Multiple Subdirectories]."
+"elements, if the postfix immediate preceding character is not a `/` then `:"
+"n` will be considered a valid part of the element instead of a group postfix "
+"even if an element is postfixed with `:n`. See both crossref:makefiles[ports-"
+"master-sites-n-example-detailed-use-master-site-subdir,Detailed Use of "
+"`MASTER_SITES:n` in `MASTER_SITE_SUBDIR`] and crossref:makefiles[ports-"
+"master-sites-n-example-detailed-use-complete-example-master-sites,Detailed "
+"Use of `MASTER_SITES:n` with Comma Operator, Multiple Files, Multiple Sites "
+"and Multiple Subdirectories]."
msgstr ""
"Все элементы `MASTER_SITES`, `PATCH_SITES`, `MASTER_SITE_SUBDIR` и "
"`PATCH_SITE_SUBDIR` должны заканчиваться символом дробной черты `/`. Если "
@@ -6790,10 +6785,10 @@ msgstr ""
"`do-fetch`: развертывает новую группировку с постфиксом `DISTFILES` и "
"`PATCHFILES` с соответствующими групповыми элементами в `MASTER_SITES` и "
"`PATCH_SITES`, которые используют соответствующие групповые элементы в "
-"`MASTER_SITE_SUBDIR` и `PATCH_SITE_SUBDIR`. Проверьте "
-"crossref:makefiles[ports-master-sites-n-example-detailed-use-complete-"
-"example-master-sites,Подробное использование `MASTER_SITES:n` с оператором "
-"запятой, множественными файлами, множественными сайтами и множественными "
+"`MASTER_SITE_SUBDIR` и `PATCH_SITE_SUBDIR`. Проверьте crossref:"
+"makefiles[ports-master-sites-n-example-detailed-use-complete-example-master-"
+"sites,Подробное использование `MASTER_SITES:n` с оператором запятой, "
+"множественными файлами, множественными сайтами и множественными "
"подкаталогами]."
#. type: delimited block = 4
@@ -6828,9 +6823,8 @@ msgstr ""
"Кроме того, предпочтительнее использовать цель `master-sites-all` или `patch-"
"sites-all`, чем напрямую проверять `MASTER_SITES` или `PATCH_SITES`. Кроме "
"того, прямая проверка не гарантирует работу в будущих версиях. Для получения "
-"дополнительной информации об этих новых целях портов см. пункт "
-"crossref:makefiles[porting-master-sites-n-new-port-targets-master-sites-all, "
-"B]."
+"дополнительной информации об этих новых целях портов см. пункт crossref:"
+"makefiles[porting-master-sites-n-new-port-targets-master-sites-all, B]."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2508
@@ -6881,17 +6875,17 @@ msgid ""
"Do not let the port clutter [.filename]#/usr/ports/distfiles#. If the port "
"requires a lot of files to be fetched, or contains a file that has a name "
"that might conflict with other ports (for example, [.filename]#Makefile#), "
-"set `DIST_SUBDIR` to the name of the port (`${PORTNAME}` or `${PKGNAMEPREFIX}"
-"${PORTNAME}` are fine). This will change `DISTDIR` from the default "
-"[.filename]#/usr/ports/distfiles# to [.filename]#/usr/ports/distfiles/$"
-"{DIST_SUBDIR}#, and in effect puts everything that is required for the port "
-"into that subdirectory."
+"set `DIST_SUBDIR` to the name of the port (`${PORTNAME}` or `"
+"${PKGNAMEPREFIX}${PORTNAME}` are fine). This will change `DISTDIR` from the "
+"default [.filename]#/usr/ports/distfiles# to [.filename]#/usr/ports/"
+"distfiles/${DIST_SUBDIR}#, and in effect puts everything that is required "
+"for the port into that subdirectory."
msgstr ""
"Не допускайте захламления портом каталога [.filename]#/usr/ports/distfiles#. "
"Если порт требует загрузки большого количества файлов или содержит файл с "
-"именем, которое может конфликтовать с другими портами (например, "
-"[.filename]#Makefile#), установите `DIST_SUBDIR` в имя порта (подойдут `$"
-"{PORTNAME}` или `${PKGNAMEPREFIX}${PORTNAME}`). Это изменит `DISTDIR` со "
+"именем, которое может конфликтовать с другими портами (например, [."
+"filename]#Makefile#), установите `DIST_SUBDIR` в имя порта (подойдут `"
+"${PORTNAME}` или `${PKGNAMEPREFIX}${PORTNAME}`). Это изменит `DISTDIR` со "
"значения по умолчанию [.filename]#/usr/ports/distfiles# на [.filename]#/usr/"
"ports/distfiles/${DIST_SUBDIR}#, фактически помещая все необходимые для "
"порта файлы в этот подкаталог."
@@ -6914,8 +6908,8 @@ msgstr ""
msgid ""
"This does not affect `MASTER_SITES` defined in the [.filename]#Makefile#."
msgstr ""
-"Это не влияет на сайты в `MASTER_SITES`, определённые в "
-"[.filename]#Makefile#."
+"Это не влияет на сайты в `MASTER_SITES`, определённые в [."
+"filename]#Makefile#."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2528
@@ -6985,9 +6979,9 @@ msgid ""
"any committer to fix those categories of problems on any port. These fixes "
"do not need approval from the maintainer."
msgstr ""
-"Некоторые типы исправлений имеют \"автоматическое согласование\" от "
-"{portmgr}, что позволяет любому коммиттеру исправлять эти категории проблем "
-"в любом порте. Такие исправления не требуют одобрения от сопровождающего."
+"Некоторые типы исправлений имеют \"автоматическое согласование\" от {portmgr}"
+", что позволяет любому коммиттеру исправлять эти категории проблем в любом "
+"порте. Такие исправления не требуют одобрения от сопровождающего."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2554
@@ -7124,11 +7118,11 @@ msgstr "COMMENT=\tCat chasing a mouse all over the screen\n"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2590
msgid ""
-"The COMMENT variable immediately follows the MAINTAINER variable in the "
-"[.filename]#Makefile#."
+"The COMMENT variable immediately follows the MAINTAINER variable in the [."
+"filename]#Makefile#."
msgstr ""
-"Переменная COMMENT следует сразу за переменной MAINTAINER в файле "
-"[.filename]#Makefile#."
+"Переменная COMMENT следует сразу за переменной MAINTAINER в файле [."
+"filename]#Makefile#."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2592
@@ -7176,11 +7170,11 @@ msgstr "WWW=\t\thttps://sourceforge.net/projects/mpd/\n"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2611
msgid ""
-"The WWW variable immediately follows the COMMENT variable in the "
-"[.filename]#Makefile#."
+"The WWW variable immediately follows the COMMENT variable in the [."
+"filename]#Makefile#."
msgstr ""
-"Переменная WWW следует сразу за переменной COMMENT в файле "
-"[.filename]#Makefile#."
+"Переменная WWW следует сразу за переменной COMMENT в файле [."
+"filename]#Makefile#."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2614
@@ -7257,8 +7251,8 @@ msgid ""
"`LICENSE_FILE` or `LICENSE_TEXT`. `LICENSE_DISTFILES` and `LICENSE_GROUPS` "
"can also be set, but are not required."
msgstr ""
-"Если это лицензия, которая не определена в рамках портов (см. "
-"crossref:makefiles[licenses-license-list,Список предопределённых лицензий]), "
+"Если это лицензия, которая не определена в рамках портов (см. crossref:"
+"makefiles[licenses-license-list,Список предопределённых лицензий]), "
"необходимо задать `LICENSE_PERMS` и `LICENSE_NAME`, а также `LICENSE_FILE` "
"или `LICENSE_TEXT`. Также можно задать `LICENSE_DISTFILES` и "
"`LICENSE_GROUPS`, но это не обязательно."
@@ -7267,12 +7261,12 @@ msgstr ""
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2638
msgid ""
"The predefined licenses are shown in crossref:makefiles[licenses-license-"
-"list,Predefined License List]. The current list is always available in "
-"[.filename]#Mk/bsd.licenses.db.mk#."
+"list,Predefined License List]. The current list is always available in [."
+"filename]#Mk/bsd.licenses.db.mk#."
msgstr ""
"Предопределенные лицензии показаны в crossref:makefiles[licenses-license-"
-"list,Список предопределенных лицензий]. Текущий список всегда доступен в "
-"[.filename]#Mk/bsd.licenses.db.mk#."
+"list,Список предопределенных лицензий]. Текущий список всегда доступен в [."
+"filename]#Mk/bsd.licenses.db.mk#."
#. type: Block title
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2640
@@ -8816,8 +8810,8 @@ msgid ""
"Selling of distribution files is prohibited. This is equivalent to setting "
"crossref:special[porting-restrictions-no_cdrom,`NO_CDROM`]."
msgstr ""
-"Продажа файлов дистрибутива запрещена. Это эквивалентно установке "
-"crossref:special[porting-restrictions-no_cdrom,`NO_CDROM`]."
+"Продажа файлов дистрибутива запрещена. Это эквивалентно установке crossref:"
+"special[porting-restrictions-no_cdrom,`NO_CDROM`]."
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3171
@@ -8829,8 +8823,8 @@ msgstr "`pkg-mirror`"
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3174
msgid ""
"Free redistribution of package is permitted. The package will be "
-"distributed on the FreeBSD package CDN https://pkg.freebsd.org/[https://"
-"pkg.freebsd.org/]."
+"distributed on the FreeBSD package CDN https://pkg.freebsd.org/[https://pkg."
+"freebsd.org/]."
msgstr ""
"Свободное распространение пакета разрешено. Пакет будет распространяться "
"через CDN пакетов FreeBSD https://pkg.freebsd.org/[https://pkg.freebsd.org/]."
@@ -8846,12 +8840,12 @@ msgstr "`no-pkg-mirror`"
msgid ""
"Free redistribution of package is prohibited. Equivalent to setting "
"crossref:special[porting-restrictions-no_package,`NO_PACKAGE`]. The package "
-"will _not_ be distributed from the FreeBSD package CDN https://"
-"pkg.freebsd.org/[https://pkg.freebsd.org/]."
+"will _not_ be distributed from the FreeBSD package CDN https://pkg.freebsd."
+"org/[https://pkg.freebsd.org/]."
msgstr ""
-"Свободное распространение пакета запрещено. Эквивалентно установке "
-"crossref:special[porting-restrictions-no_package,`NO_PACKAGE`]. Пакет _не_ "
-"будет распространяться через FreeBSD CDN для пакетов https://pkg.freebsd.org/"
+"Свободное распространение пакета запрещено. Эквивалентно установке crossref:"
+"special[porting-restrictions-no_package,`NO_PACKAGE`]. Пакет _не_ будет "
+"распространяться через FreeBSD CDN для пакетов https://pkg.freebsd.org/"
"[https://pkg.freebsd.org/]."
#. type: Labeled list
@@ -8877,12 +8871,12 @@ msgstr "`no-pkg-sell`"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3191
msgid ""
-"Selling of package is prohibited. This is equivalent to setting "
-"crossref:special[porting-restrictions-no_cdrom,`NO_CDROM`]. The package "
-"will _not_ be present on the installer images."
+"Selling of package is prohibited. This is equivalent to setting crossref:"
+"special[porting-restrictions-no_cdrom,`NO_CDROM`]. The package will _not_ "
+"be present on the installer images."
msgstr ""
-"Продажа пакета запрещена. Это эквивалентно установке "
-"crossref:special[porting-restrictions-no_cdrom,`NO_CDROM`]. Пакет _не_ будет "
+"Продажа пакета запрещена. Это эквивалентно установке crossref:"
+"special[porting-restrictions-no_cdrom,`NO_CDROM`]. Пакет _не_ будет "
"присутствовать на образах установщика."
#. type: Labeled list
@@ -9094,8 +9088,8 @@ msgid ""
"Comply with Copyfree Standard Definition, see the https://copyfree.org/"
"standard/licenses/[Copyfree Licenses] page."
msgstr ""
-"Соответствует определению стандарта Copyfree, см. страницу https://"
-"copyfree.org/standard/licenses/[лицензий Copyfree]."
+"Соответствует определению стандарта Copyfree, см. страницу https://copyfree."
+"org/standard/licenses/[лицензий Copyfree]."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3282
@@ -9142,17 +9136,15 @@ msgstr "`LICENSE_FILE` и `LICENSE_FILE_NAME`"
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3309
msgid ""
-"Full path to the file containing the license text, usually [.filename]#$"
-"{WRKSRC}/some/file#. If the file is not in the distfile, and its content is "
-"too long to be put in crossref:makefiles[licenses-"
-"license_text,`LICENSE_TEXT`], put it in a new file in [.filename]#${FILESDIR}"
-"#."
+"Full path to the file containing the license text, usually [.filename]#"
+"${WRKSRC}/some/file#. If the file is not in the distfile, and its content "
+"is too long to be put in crossref:makefiles[licenses-license_text,"
+"`LICENSE_TEXT`], put it in a new file in [.filename]#${FILESDIR}#."
msgstr ""
-"Полный путь к файлу, содержащему текст лицензии, обычно [.filename]#$"
-"{WRKSRC}/some/file#. Если файл отсутствует в дистрибутиве, а его содержимое "
-"слишком длинное для размещения в crossref:makefiles[licenses-"
-"license_text,`LICENSE_TEXT`], поместите его в новый файл в [.filename]#$"
-"{FILESDIR}#."
+"Полный путь к файлу, содержащему текст лицензии, обычно [.filename]#"
+"${WRKSRC}/some/file#. Если файл отсутствует в дистрибутиве, а его содержимое "
+"слишком длинное для размещения в crossref:makefiles[licenses-license_text,"
+"`LICENSE_TEXT`], поместите его в новый файл в [.filename]#${FILESDIR}#."
#. type: Block title
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3311
@@ -9369,12 +9361,12 @@ msgstr "`PORTSCOUT`"
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3427
msgid ""
"Portscout is an automated distfile check utility for the FreeBSD Ports "
-"Collection, described in detail in crossref:keeping-up[distfile-"
-"survey,Portscout: the FreeBSD Ports Distfile Scanner]."
+"Collection, described in detail in crossref:keeping-up[distfile-survey,"
+"Portscout: the FreeBSD Ports Distfile Scanner]."
msgstr ""
"Portscout — это автоматизированная утилита проверки distfile для Коллекции "
-"портов FreeBSD, подробно описанная в crossref:keeping-up[distfile-"
-"survey,Portscout: сканирование distfile портов FreeBSD]."
+"портов FreeBSD, подробно описанная в crossref:keeping-up[distfile-survey,"
+"Portscout: сканирование distfile портов FreeBSD]."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3429
@@ -9599,8 +9591,8 @@ msgid ""
"will check if the file or directory [.filename]#/usr/local/news/bin/innd# "
"exists, and build and install it from the [.filename]#news/inn# subdirectory "
"of the ports tree if it is not found. It will also see if an executable "
-"called `xmlcatmgr` is in the search path, and descend into "
-"[.filename]#textproc/xmlcatmgr# to build and install it if it is not found."
+"called `xmlcatmgr` is in the search path, and descend into [."
+"filename]#textproc/xmlcatmgr# to build and install it if it is not found."
msgstr ""
"проверит, существует ли файл или каталог [.filename]#/usr/local/news/bin/"
"innd#, и соберет и установит его из подкаталога [.filename]#news/inn# дерева "
@@ -9667,9 +9659,9 @@ msgstr "RUN_DEPENDS=\t${BUILD_DEPENDS}\n"
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3545
msgid ""
"However, such assignment can pollute run-time dependencies with entries not "
-"defined in the port's original `BUILD_DEPENDS`. This happens because of "
-"man:make[1]'s lazy evaluation of variable assignment. Consider a "
-"[.filename]#Makefile# with `USE_*`, which are processed by [.filename]#ports/"
+"defined in the port's original `BUILD_DEPENDS`. This happens because of man:"
+"make[1]'s lazy evaluation of variable assignment. Consider a [."
+"filename]#Makefile# with `USE_*`, which are processed by [.filename]#ports/"
"Mk/bsd.*.mk# to augment initial build dependencies. For example, `USES= "
"gmake` adds package:devel/gmake[] to `BUILD_DEPENDS`. To prevent such "
"additional dependencies from polluting `RUN_DEPENDS`, create another "
@@ -9679,8 +9671,8 @@ msgstr ""
"Однако такое присваивание может загрязнить зависимости во время выполнения "
"записями, не определёнными в оригинальном `BUILD_DEPENDS` порта. Это "
"происходит из-за ленивого вычисления присваивания переменных в man:make[1]. "
-"Рассмотрим [.filename]#Makefile# с `USE_*`, которые обрабатываются "
-"[.filename]#ports/Mk/bsd.*.mk# для добавления начальных зависимостей сборки. "
+"Рассмотрим [.filename]#Makefile# с `USE_*`, которые обрабатываются [."
+"filename]#ports/Mk/bsd.*.mk# для добавления начальных зависимостей сборки. "
"Например, `USES= gmake` добавляет package:devel/gmake[] в `BUILD_DEPENDS`. "
"Чтобы предотвратить попадание таких дополнительных зависимостей в "
"`RUN_DEPENDS`, создайте другую переменную с текущим содержимым "
@@ -9726,8 +9718,8 @@ msgid ""
"For example,"
msgstr ""
"Эта переменная указывает исполняемые файлы или файлы, необходимые для сборки "
-"данного порта. Как и `RUN_DEPENDS`, это список кортежей "
-"``_path:dir_``[:``_target_``]. Например,"
+"данного порта. Как и `RUN_DEPENDS`, это список кортежей ``_path:dir_``[:"
+"``_target_``]. Например,"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3570
@@ -9739,8 +9731,8 @@ msgstr "BUILD_DEPENDS=\tunzip:archivers/unzip\n"
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3573
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3611
msgid ""
-"will check for an executable called `unzip`, and descend into the "
-"[.filename]#archivers/unzip# subdirectory of the ports tree to build and "
+"will check for an executable called `unzip`, and descend into the [."
+"filename]#archivers/unzip# subdirectory of the ports tree to build and "
"install it if it is not found."
msgstr ""
"проверит наличие исполняемого файла с именем `unzip` и перейдет в подкаталог "
@@ -9773,8 +9765,8 @@ msgid ""
"tuples. For example,"
msgstr ""
"Эта переменная определяет исполняемые файлы или файлы, необходимые для "
-"загрузки этого порта. Как и предыдущие две, это список кортежей "
-"``_path:dir_``[:``_target_``]. Например,"
+"загрузки этого порта. Как и предыдущие две, это список кортежей ``_path:"
+"dir_``[:``_target_``]. Например,"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3591
@@ -9785,9 +9777,9 @@ msgstr "FETCH_DEPENDS=\tncftp2:net/ncftp2\n"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3594
msgid ""
-"will check for an executable called `ncftp2`, and descend into the "
-"[.filename]#net/ncftp2# subdirectory of the ports tree to build and install "
-"it if it is not found."
+"will check for an executable called `ncftp2`, and descend into the [."
+"filename]#net/ncftp2# subdirectory of the ports tree to build and install it "
+"if it is not found."
msgstr ""
"проверит наличие исполняемого файла с именем `ncftp2` и перейдет в "
"подкаталог [.filename]#net/ncftp2# дерева портов для сборки и установки, "
@@ -9813,12 +9805,12 @@ msgstr "`EXTRACT_DEPENDS`"
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3604
msgid ""
"This variable specifies executables or files this port requires for "
-"extraction. Like the previous, it is a list of "
-"``_path:dir_``[:``_target_``] tuples. For example,"
+"extraction. Like the previous, it is a list of ``_path:dir_``[:"
+"``_target_``] tuples. For example,"
msgstr ""
"Эта переменная указывает исполняемые файлы или файлы, которые требуются для "
-"извлечения данного порта. Как и предыдущая, это список кортежей "
-"``_path:dir_``[:``_target_``]. Например,"
+"извлечения данного порта. Как и предыдущая, это список кортежей ``_path:"
+"dir_``[:``_target_``]. Например,"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3608
@@ -9844,8 +9836,8 @@ msgid ""
msgstr ""
"Используйте эту переменную только если извлечение уже не работает (по "
"умолчанию предполагается `tar`) и не может быть исправлено с помощью "
-"`USES=tar`, `USES=lha` или `USES=zip`, как описано в "
-"crossref:uses[uses,Использование макросов `USES`]."
+"`USES=tar`, `USES=lha` или `USES=zip`, как описано в crossref:uses[uses,"
+"Использование макросов `USES`]."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3621
@@ -9900,8 +9892,8 @@ msgstr "`USES`"
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3641
msgid ""
"Parameters can be added to define different features and dependencies used "
-"by the port. They are specified by adding this line to the "
-"[.filename]#Makefile#:"
+"by the port. They are specified by adding this line to the [."
+"filename]#Makefile#:"
msgstr ""
"Параметры могут быть добавлены для определения различных функций и "
"зависимостей, используемых портом. Они указываются путем добавления этой "
@@ -9940,17 +9932,17 @@ msgstr "`USE_*`"
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3662
msgid ""
"Several variables exist to define common dependencies shared by many ports. "
-"Their use is optional, but helps to reduce the verbosity of the port "
-"[.filename]##Makefile##s. Each of them is styled as `USE_*`. These "
-"variables may be used only in the port [.filename]##Makefile##s and "
-"[.filename]#ports/Mk/bsd.*.mk#. They are not meant for user-settable "
-"options - use `PORT_OPTIONS` for that purpose."
+"Their use is optional, but helps to reduce the verbosity of the port [."
+"filename]##Makefile##s. Each of them is styled as `USE_*`. These variables "
+"may be used only in the port [.filename]##Makefile##s and [.filename]#ports/"
+"Mk/bsd.*.mk#. They are not meant for user-settable options - use "
+"`PORT_OPTIONS` for that purpose."
msgstr ""
"Существует несколько переменных для определения общих зависимостей, "
"используемых многими портами. Их использование необязательно, но помогает "
"сократить многословность [.filename]##Makefile## портов. Каждая из них "
-"оформлена как `USE_*`. Эти переменные могут использоваться только в "
-"[.filename]##Makefile## портов и [.filename]#ports/Mk/bsd.*.mk#. Они не "
+"оформлена как `USE_*`. Эти переменные могут использоваться только в [."
+"filename]##Makefile## портов и [.filename]#ports/Mk/bsd.*.mk#. Они не "
"предназначены для настраиваемых пользователем опций — для этой цели "
"используйте `PORT_OPTIONS`."
@@ -9960,8 +9952,8 @@ msgid ""
"It is _always_ incorrect to set any `USE_*` in [.filename]#/etc/make.conf#. "
"For instance, setting"
msgstr ""
-"Всегда неправильно устанавливать любые `USE_*` в [.filename]#/etc/"
-"make.conf#. Например, установка"
+"Всегда неправильно устанавливать любые `USE_*` в [.filename]#/etc/make."
+"conf#. Например, установка"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3671
@@ -10047,32 +10039,32 @@ msgid ""
"crossref:special[building,Building Mechanisms], while autoconf, automake and "
"libtool are described in crossref:special[using-autotools,Using GNU "
"Autotools]. Perl related variables are described in crossref:special[using-"
-"perl,Using Perl]. X11 variables are listed in crossref:special[using-"
-"x11,Using X11]. crossref:special[using-gnome,Using Gnome] deals with GNOME "
-"and crossref:special[using-kde,Using KDE] with KDE related variables. "
-"crossref:special[using-java,Using Java] documents Java variables, while "
-"crossref:special[using-php,Web Applications, Apache and PHP] contains "
-"information on Apache, PHP and PEAR modules. Python is discussed in "
-"crossref:special[using-python,Using Python], while Ruby in "
-"crossref:special[using-ruby,Using Ruby]. crossref:special[using-sdl,Using "
-"SDL] provides variables used for SDL applications and finally, "
-"crossref:special[using-xfce,Using Xfce] contains information on Xfce."
-msgstr ""
-"Переменные, связанные с gmake и [.filename]#configure#, описаны в "
-"crossref:special[building,Механизмы сборки], тогда как autoconf, automake и "
-"libtool описаны в crossref:special[using-autotools,Использование GNU "
-"Autotools]. Переменные, связанные с Perl, описаны в crossref:special[using-"
-"perl,Использование Perl]. Переменные X11 перечислены в "
-"crossref:special[using-x11,Использование X11]. crossref:special[using-"
-"gnome,Использование GNOME] посвящено GNOME, а crossref:special[using-"
-"kde,Использование KDE] — переменным, связанным с KDE. crossref:special[using-"
-"java,Использование Java] документирует переменные Java, тогда как "
-"crossref:special[using-php,Веб-приложения, Apache и PHP] содержит информацию "
-"о модулях Apache, PHP и PEAR. Python обсуждается в crossref:special[using-"
-"python,Использование Python], а Ruby — в crossref:special[using-"
-"ruby,Использование Ruby]. crossref:special[using-sdl,Использование SDL] "
-"предоставляет переменные, используемые для приложений SDL, и, наконец, "
-"crossref:special[using-xfce,Использование Xfce] содержит информацию о Xfce."
+"perl,Using Perl]. X11 variables are listed in crossref:special[using-x11,"
+"Using X11]. crossref:special[using-gnome,Using Gnome] deals with GNOME and "
+"crossref:special[using-kde,Using KDE] with KDE related variables. crossref:"
+"special[using-java,Using Java] documents Java variables, while crossref:"
+"special[using-php,Web Applications, Apache and PHP] contains information on "
+"Apache, PHP and PEAR modules. Python is discussed in crossref:special[using-"
+"python,Using Python], while Ruby in crossref:special[using-ruby,Using "
+"Ruby]. crossref:special[using-sdl,Using SDL] provides variables used for "
+"SDL applications and finally, crossref:special[using-xfce,Using Xfce] "
+"contains information on Xfce."
+msgstr ""
+"Переменные, связанные с gmake и [.filename]#configure#, описаны в crossref:"
+"special[building,Механизмы сборки], тогда как autoconf, automake и libtool "
+"описаны в crossref:special[using-autotools,Использование GNU Autotools]. "
+"Переменные, связанные с Perl, описаны в crossref:special[using-perl,"
+"Использование Perl]. Переменные X11 перечислены в crossref:special[using-x11,"
+"Использование X11]. crossref:special[using-gnome,Использование GNOME] "
+"посвящено GNOME, а crossref:special[using-kde,Использование KDE] — "
+"переменным, связанным с KDE. crossref:special[using-java,Использование Java] "
+"документирует переменные Java, тогда как crossref:special[using-php,Веб-"
+"приложения, Apache и PHP] содержит информацию о модулях Apache, PHP и PEAR. "
+"Python обсуждается в crossref:special[using-python,Использование Python], а "
+"Ruby — в crossref:special[using-ruby,Использование Ruby]. crossref:"
+"special[using-sdl,Использование SDL] предоставляет переменные, используемые "
+"для приложений SDL, и, наконец, crossref:special[using-xfce,Использование "
+"Xfce] содержит информацию о Xfce."
#. type: Title ===
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3720
@@ -10125,8 +10117,8 @@ msgid ""
msgstr ""
"Как упомянуто выше, цель по умолчанию, вызываемая при необходимости "
"зависимости, — это `DEPENDS_TARGET`. По умолчанию она установлена в "
-"`install`. Это пользовательская переменная; она никогда не определяется в "
-"[.filename]#Makefile# порта. Если порту требуется особый способ обработки "
+"`install`. Это пользовательская переменная; она никогда не определяется в [."
+"filename]#Makefile# порта. Если порту требуется особый способ обработки "
"зависимости, используйте часть `:target` в `*_DEPENDS` вместо "
"переопределения `DEPENDS_TARGET`."
@@ -10152,8 +10144,8 @@ msgid ""
"the source of the other port is needed. Compilation time can be saved by "
"specifying the target too. For instance"
msgstr ""
-"Для безусловной зависимости от другого порта используйте переменную `$"
-"{NONEXISTENT}` в качестве первого поля `BUILD_DEPENDS` или `RUN_DEPENDS`. "
+"Для безусловной зависимости от другого порта используйте переменную `"
+"${NONEXISTENT}` в качестве первого поля `BUILD_DEPENDS` или `RUN_DEPENDS`. "
"Используйте это только в случае, когда необходим исходный код другого порта. "
"Время компиляции можно сократить, указав также цель. Например"
@@ -10207,15 +10199,15 @@ msgstr "Проблемы, вызванные автоматическими за
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3776
msgid ""
-"Dependencies must be declared either explicitly or by using the "
-"crossref:makefiles[makefile-options,OPTIONS framework]. Using other methods "
-"like automatic detection complicates indexing, which causes problems for "
-"port and package management."
+"Dependencies must be declared either explicitly or by using the crossref:"
+"makefiles[makefile-options,OPTIONS framework]. Using other methods like "
+"automatic detection complicates indexing, which causes problems for port and "
+"package management."
msgstr ""
-"Зависимости должны быть объявлены явно или с использованием "
-"crossref:makefiles[makefile-options,OPTIONS framework]. Использование других "
-"методов, таких как автоматическое обнаружение, усложняет индексацию, что "
-"вызывает проблемы для управления портами и пакетами."
+"Зависимости должны быть объявлены явно или с использованием crossref:"
+"makefiles[makefile-options,OPTIONS framework]. Использование других методов, "
+"таких как автоматическое обнаружение, усложняет индексацию, что вызывает "
+"проблемы для управления портами и пакетами."
#. type: Block title
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3778
@@ -10311,31 +10303,31 @@ msgid ""
"create one subdirectory per package to make it easier for users to see what "
"to do, but try to share as many files as possible between ports. Typically, "
"by using variables cleverly, only a very short [.filename]#Makefile# is "
-"needed in all but one of the directories. In the sole "
-"[.filename]#Makefile#, use `MASTERDIR` to specify the directory where the "
-"rest of the files are. Also, use a variable as part of "
-"crossref:makefiles[porting-pkgname,`PKGNAMESUFFIX`] so the packages will "
-"have different names."
+"needed in all but one of the directories. In the sole [."
+"filename]#Makefile#, use `MASTERDIR` to specify the directory where the rest "
+"of the files are. Also, use a variable as part of crossref:"
+"makefiles[porting-pkgname,`PKGNAMESUFFIX`] so the packages will have "
+"different names."
msgstr ""
"Если порту необходимо собирать немного разные версии пакетов, используя "
"переменную (например, разрешение или размер бумаги) с разными значениями, "
"создайте по одному подкаталогу для каждого пакета, чтобы пользователям было "
"проще понять, что делать, но старайтесь максимально использовать общие файлы "
"между портами. Обычно, при грамотном использовании переменных, во всех "
-"каталогах, кроме одного, требуется лишь очень короткий "
-"[.filename]#Makefile#. В единственном [.filename]#Makefile# укажите "
-"директорию с остальными файлами с помощью `MASTERDIR`. Также используйте "
-"переменную как часть crossref:makefiles[porting-pkgname,`PKGNAMESUFFIX`], "
-"чтобы пакеты имели разные имена."
+"каталогах, кроме одного, требуется лишь очень короткий [."
+"filename]#Makefile#. В единственном [.filename]#Makefile# укажите директорию "
+"с остальными файлами с помощью `MASTERDIR`. Также используйте переменную как "
+"часть crossref:makefiles[porting-pkgname,`PKGNAMESUFFIX`], чтобы пакеты "
+"имели разные имена."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3829
msgid ""
-"This will be best demonstrated by an example. This is part of "
-"[.filename]#print/pkfonts300/Makefile#;"
+"This will be best demonstrated by an example. This is part of [."
+"filename]#print/pkfonts300/Makefile#;"
msgstr ""
-"Это лучше всего продемонстрировать на примере. Это часть файла "
-"[.filename]#print/pkfonts300/Makefile#;"
+"Это лучше всего продемонстрировать на примере. Это часть файла [."
+"filename]#print/pkfonts300/Makefile#;"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3835
@@ -10425,26 +10417,26 @@ msgstr ".include\t\"${MASTERDIR}/Makefile\"\n"
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3868
msgid ""
"([.filename]#print/pkfonts118/Makefile#, [.filename]#print/pkfonts600/"
-"Makefile#, and all the other are similar). `MASTERDIR` definition tells "
-"[.filename]#bsd.port.mk# that the regular set of subdirectories like "
+"Makefile#, and all the other are similar). `MASTERDIR` definition tells [."
+"filename]#bsd.port.mk# that the regular set of subdirectories like "
"`FILESDIR` and `SCRIPTDIR` are to be found under [.filename]#pkfonts300#. "
-"The `RESOLUTION=360` line will override the `RESOLUTION=300` line in "
-"[.filename]#pkfonts300/Makefile# and the port will be built with resolution "
+"The `RESOLUTION=360` line will override the `RESOLUTION=300` line in [."
+"filename]#pkfonts300/Makefile# and the port will be built with resolution "
"set to 360."
msgstr ""
"([.filename]#print/pkfonts118/Makefile#, [.filename]#print/pkfonts600/"
-"Makefile# и все остальные аналогичны). Определение `MASTERDIR` указывает "
-"[.filename]#bsd.port.mk#, что стандартный набор подкаталогов, таких как "
+"Makefile# и все остальные аналогичны). Определение `MASTERDIR` указывает [."
+"filename]#bsd.port.mk#, что стандартный набор подкаталогов, таких как "
"`FILESDIR` и `SCRIPTDIR`, следует искать в [.filename]#pkfonts300#. Строка "
-"`RESOLUTION=360` переопределит строку `RESOLUTION=300` в "
-"[.filename]#pkfonts300/Makefile#, и порт будет собран с разрешением, "
+"`RESOLUTION=360` переопределит строку `RESOLUTION=300` в [."
+"filename]#pkfonts300/Makefile#, и порт будет собран с разрешением, "
"установленным на 360."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3870
#, no-wrap
msgid "Man Pages"
-msgstr "Страницы Cправочника"
+msgstr "Страницы справочника"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3875
@@ -10457,8 +10449,8 @@ msgid ""
msgstr ""
"Если порт размещает дерево man в другом месте, отличном от `PREFIX`, "
"используйте `MANDIRS` для указания этих каталогов. Обратите внимание, что "
-"файлы, соответствующие страницам руководства, должны быть добавлены в "
-"[.filename]#pkg-plist# вместе с остальными файлами. Назначение `MANDIRS` — "
+"файлы, соответствующие страницам руководства, должны быть добавлены в [."
+"filename]#pkg-plist# вместе с остальными файлами. Назначение `MANDIRS` — "
"обеспечить автоматическое сжатие страниц руководства, поэтому имена файлов "
"имеют суффикс [.filename]#.gz#."
@@ -10483,8 +10475,8 @@ msgstr ""
"(без завершающего `.info`), по одному документу на строку. Предполагается, "
"что эти файлы будут установлены в [.filename]#PREFIX/INFO_PATH#. Измените "
"`INFO_PATH`, если пакет использует другое расположение. Однако это не "
-"рекомендуется. Эти записи содержат только путь относительно "
-"[.filename]#PREFIX/INFO_PATH#. Например, пакет package:lang/gcc34[] "
+"рекомендуется. Эти записи содержат только путь относительно [."
+"filename]#PREFIX/INFO_PATH#. Например, пакет package:lang/gcc34[] "
"устанавливает файлы info в [.filename]#PREFIX/INFO_PATH/gcc34#, и `INFO` "
"будет выглядеть примерно так:"
@@ -10545,19 +10537,19 @@ msgstr "Пояснения"
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3909
msgid ""
"`OPTIONS_*` give the user installing the port a dialog showing the available "
-"options, and then saves those options to [.filename]#${PORT_DBDIR}/$"
-"{OPTIONS_NAME}/options#. The next time the port is built, the options are "
+"options, and then saves those options to [.filename]#${PORT_DBDIR}/"
+"${OPTIONS_NAME}/options#. The next time the port is built, the options are "
"reused. `PORT_DBDIR` defaults to [.filename]#/var/db/ports#. "
"`OPTIONS_NAME` is to the port origin with an underscore as the space "
"separator, for example, for package:dns/bind99[] it will be `dns_bind99`."
msgstr ""
"`OPTIONS_*` предоставляют пользователю, устанавливающему порт, диалоговое "
-"окно с доступными опциями, после чего сохраняют выбранные опции в "
-"[.filename]#${PORT_DBDIR}/${OPTIONS_NAME}/options#. При следующей сборке "
-"порта эти опции будут использованы повторно. `PORT_DBDIR` по умолчанию имеет "
+"окно с доступными опциями, после чего сохраняют выбранные опции в [."
+"filename]#${PORT_DBDIR}/${OPTIONS_NAME}/options#. При следующей сборке порта "
+"эти опции будут использованы повторно. `PORT_DBDIR` по умолчанию имеет "
"значение [.filename]#/var/db/ports#. `OPTIONS_NAME` соответствует имени "
-"порта (origin) с заменой разделителя на подчёркивания, например, для "
-"package:dns/bind99[] это будет `dns_bind99`."
+"порта (origin) с заменой разделителя на подчёркивания, например, для package:"
+"dns/bind99[] это будет `dns_bind99`."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3913
@@ -10570,9 +10562,9 @@ msgid ""
"when building the port."
msgstr ""
"Когда пользователь запускает `make config` (или впервые запускает `make "
-"build`), система проверяет наличие файла [.filename]#${PORT_DBDIR}/$"
-"{OPTIONS_NAME}/options#. Если этот файл не существует, используются значения "
-"`OPTIONS_*`, и отображается диалоговое окно, где можно включить или "
+"build`), система проверяет наличие файла [.filename]#${PORT_DBDIR}/"
+"${OPTIONS_NAME}/options#. Если этот файл не существует, используются "
+"значения `OPTIONS_*`, и отображается диалоговое окно, где можно включить или "
"отключить опции. Затем файл [.filename]#options# сохраняется, а настроенные "
"переменные используются при сборке порта."
@@ -10787,23 +10779,21 @@ msgstr "OPTIONS_DEFAULT=\tOPT1 OPT3 OPT6\n"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4007
msgid ""
-"`OPTIONS` definitions must appear before the inclusion of "
-"[.filename]#bsd.port.options.mk#. `PORT_OPTIONS` values can only be tested "
-"after the inclusion of [.filename]#bsd.port.options.mk#. Inclusion of "
-"[.filename]#bsd.port.pre.mk# can be used instead, too, and is still widely "
-"used in ports written before the introduction of "
-"[.filename]#bsd.port.options.mk#. But be aware that some variables will not "
-"work as expected after the inclusion of [.filename]#bsd.port.pre.mk#, "
-"typically some `USE_*` flags."
-msgstr ""
-"Определения `OPTIONS` должны быть указаны до включения файла "
-"[.filename]#bsd.port.options.mk#. Значения `PORT_OPTIONS` можно проверять "
-"только после включения [.filename]#bsd.port.options.mk#. Включение "
-"[.filename]#bsd.port.pre.mk# также может использоваться и до сих пор широко "
-"применяется в портах, написанных до введения "
-"[.filename]#bsd.port.options.mk#. Однако следует учитывать, что некоторые "
-"переменные не будут работать как ожидается после включения "
-"[.filename]#bsd.port.pre.mk#, обычно это некоторые флаги `USE_*`."
+"`OPTIONS` definitions must appear before the inclusion of [.filename]#bsd."
+"port.options.mk#. `PORT_OPTIONS` values can only be tested after the "
+"inclusion of [.filename]#bsd.port.options.mk#. Inclusion of [.filename]#bsd."
+"port.pre.mk# can be used instead, too, and is still widely used in ports "
+"written before the introduction of [.filename]#bsd.port.options.mk#. But be "
+"aware that some variables will not work as expected after the inclusion of [."
+"filename]#bsd.port.pre.mk#, typically some `USE_*` flags."
+msgstr ""
+"Определения `OPTIONS` должны быть указаны до включения файла [.filename]#bsd."
+"port.options.mk#. Значения `PORT_OPTIONS` можно проверять только после "
+"включения [.filename]#bsd.port.options.mk#. Включение [.filename]#bsd.port."
+"pre.mk# также может использоваться и до сих пор широко применяется в портах, "
+"написанных до введения [.filename]#bsd.port.options.mk#. Однако следует "
+"учитывать, что некоторые переменные не будут работать как ожидается после "
+"включения [.filename]#bsd.port.pre.mk#, обычно это некоторые флаги `USE_*`."
#. type: Block title
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4009
@@ -11142,11 +11132,11 @@ msgstr "`PLIST_SUB`, `SUB_LIST`"
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4177
msgid ""
-"For automatic `%%_OPT_%%` and `%%NO__OPT__%%` generation, see "
-"crossref:makefiles[options_sub, `OPTIONS_SUB`]."
+"For automatic `%%_OPT_%%` and `%%NO__OPT__%%` generation, see crossref:"
+"makefiles[options_sub, `OPTIONS_SUB`]."
msgstr ""
-"Для автоматической генерации `%%_OPT_%%` и `%%NO__OPT__%%` см. "
-"crossref:makefiles[options_sub, `OPTIONS_SUB`]."
+"Для автоматической генерации `%%_OPT_%%` и `%%NO__OPT__%%` см. crossref:"
+"makefiles[options_sub, `OPTIONS_SUB`]."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4179
@@ -11169,8 +11159,8 @@ msgid ""
"For `--enable-_x_` and `--disable-_x_`, see crossref:makefiles[options-"
"configure_enable, `OPT_CONFIGURE_ENABLE`]."
msgstr ""
-"Для информации о `--enable-_x_` и `--disable-_x_` см. "
-"crossref:makefiles[options-configure_enable, `OPT_CONFIGURE_ENABLE`]."
+"Для информации о `--enable-_x_` и `--disable-_x_` см. crossref:"
+"makefiles[options-configure_enable, `OPT_CONFIGURE_ENABLE`]."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4184
@@ -11228,8 +11218,8 @@ msgid ""
"For arguments that take `true` or `false`, see crossref:makefiles[options-"
"meson_true, `OPT_MESON_TRUE` and `OPT_MESON_FALSE`]."
msgstr ""
-"Для аргументов, принимающих `true` или `false`, см. "
-"crossref:makefiles[options-meson_true, `OPT_MESON_TRUE` и `OPT_MESON_FALSE`]."
+"Для аргументов, принимающих `true` или `false`, см. crossref:"
+"makefiles[options-meson_true, `OPT_MESON_TRUE` и `OPT_MESON_FALSE`]."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4197
@@ -11237,19 +11227,18 @@ msgid ""
"For arguments that take `yes` or `no`, use crossref:makefiles[options-"
"meson_yes, `OPT_MESON_YES` and `OPT_MESON_NO`]."
msgstr ""
-"Для аргументов, принимающих `yes` или `no`, используйте "
-"crossref:makefiles[options-meson_yes, `OPT_MESON_YES` и `OPT_MESON_NO`]."
+"Для аргументов, принимающих `yes` или `no`, используйте crossref:"
+"makefiles[options-meson_yes, `OPT_MESON_YES` и `OPT_MESON_NO`]."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4199
msgid ""
-"For arguments that take `enabled` or `disabled`, see "
-"crossref:makefiles[options-meson_enabled, `OPT_MESON_ENABLED` and "
+"For arguments that take `enabled` or `disabled`, see crossref:"
+"makefiles[options-meson_enabled, `OPT_MESON_ENABLED` and "
"`OPT_MESON_DISABLED`]."
msgstr ""
-"Для аргументов, принимающих `enabled` или `disabled`, см. "
-"crossref:makefiles[options-meson_enabled, `OPT_MESON_ENABLED` и "
-"`OPT_MESON_DISABLED`]."
+"Для аргументов, принимающих `enabled` или `disabled`, см. crossref:"
+"makefiles[options-meson_enabled, `OPT_MESON_ENABLED` и `OPT_MESON_DISABLED`]."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4201
@@ -11306,9 +11295,9 @@ msgid ""
"variables, Generic Variables Replacement, `OPT_VARIABLE` and "
"`OPT_VARIABLE_OFF`]."
msgstr ""
-"Наиболее используемые переменные имеют своих помощников, см. "
-"crossref:makefiles[options-variables, Замена Общих Переменных, "
-"`OPT_VARIABLE` и `OPT_VARIABLE_OFF`]."
+"Наиболее используемые переменные имеют своих помощников, см. crossref:"
+"makefiles[options-variables, Замена Общих Переменных, `OPT_VARIABLE` и "
+"`OPT_VARIABLE_OFF`]."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4216
@@ -11316,8 +11305,8 @@ msgid ""
"For any variable without a specific helper, see crossref:makefiles[options-"
"vars, `OPT_VARS` and `OPT_VARS_OFF`]."
msgstr ""
-"Для любой переменной без специального помощника см. "
-"crossref:makefiles[options-vars, `OPT_VARS` и `OPT_VARS_OFF`]."
+"Для любой переменной без специального помощника см. crossref:"
+"makefiles[options-vars, `OPT_VARS` и `OPT_VARS_OFF`]."
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4217
@@ -11331,8 +11320,8 @@ msgid ""
"When an option need another option to work, see crossref:makefiles[options-"
"implies, `OPT_IMPLIES`]."
msgstr ""
-"Когда для работы опции требуется другая опция, см. "
-"crossref:makefiles[options-implies, `OPT_IMPLIES`]."
+"Когда для работы опции требуется другая опция, см. crossref:"
+"makefiles[options-implies, `OPT_IMPLIES`]."
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4221
@@ -11343,11 +11332,11 @@ msgstr "Конфликты опций"
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4224
msgid ""
-"When an option cannot work if another is also enabled, see "
-"crossref:makefiles[options-prevents, `OPT_PREVENTS` and `OPT_PREVENTS_MSG`]."
+"When an option cannot work if another is also enabled, see crossref:"
+"makefiles[options-prevents, `OPT_PREVENTS` and `OPT_PREVENTS_MSG`]."
msgstr ""
-"Когда опция не может работать, если включена другая, см. "
-"crossref:makefiles[options-prevents, `OPT_PREVENTS` и `OPT_PREVENTS_MSG`]."
+"Когда опция не может работать, если включена другая, см. crossref:"
+"makefiles[options-prevents, `OPT_PREVENTS` и `OPT_PREVENTS_MSG`]."
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4225
@@ -11362,9 +11351,9 @@ msgid ""
"targets, Additional Build Targets, `_target_-_OPT_-on` and `_target_-_OPT_-"
"off`]."
msgstr ""
-"Когда для опции требуется дополнительная обработка, см. "
-"crossref:makefiles[options-targets, Дополнительные цели сборки, `_target_-"
-"_OPT_-on` и `_target_-_OPT_-off`]."
+"Когда для опции требуется дополнительная обработка, см. crossref:"
+"makefiles[options-targets, Дополнительные цели сборки, `_target_-_OPT_-on` и "
+"`_target_-_OPT_-off`]."
#. type: Title ====
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4230
@@ -12119,12 +12108,12 @@ msgstr "Предоставляет способ добавления завис
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4639
msgid ""
"When _OPT_ is selected, all the options listed in this variable will be "
-"selected too. Using the crossref:makefiles[options-"
-"configure_enable,`OPT_CONFIGURE_ENABLE`] described earlier to illustrate:"
+"selected too. Using the crossref:makefiles[options-configure_enable,"
+"`OPT_CONFIGURE_ENABLE`] described earlier to illustrate:"
msgstr ""
"При выборе _OPT_ все перечисленные в этой переменной опции также будут "
-"выбраны. В качестве примера можно использовать описанный ранее "
-"crossref:makefiles[options-configure_enable,`OPT_CONFIGURE_ENABLE`]:"
+"выбраны. В качестве примера можно использовать описанный ранее crossref:"
+"makefiles[options-configure_enable,`OPT_CONFIGURE_ENABLE`]:"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4644
@@ -12988,12 +12977,12 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5040
msgid ""
-"then the port's distribution files contain a top-level directory, "
-"[.filename]#foo-1.0#, and the rest of the files are located under that "
+"then the port's distribution files contain a top-level directory, [."
+"filename]#foo-1.0#, and the rest of the files are located under that "
"directory."
msgstr ""
-"то файлы дистрибутива порта содержат каталог верхнего уровня "
-"[.filename]#foo-1.0#, и остальные файлы находятся в этом каталоге."
+"то файлы дистрибутива порта содержат каталог верхнего уровня [."
+"filename]#foo-1.0#, и остальные файлы находятся в этом каталоге."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5042
@@ -13369,8 +13358,8 @@ msgstr "Установка файлов"
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5205
msgid ""
"The `install` phase is very important to the end user because it adds files "
-"to their system. All the additional commands run in the port "
-"[.filename]#Makefile#'s `*-install` targets should be echoed to the screen. "
+"to their system. All the additional commands run in the port [."
+"filename]#Makefile#'s `*-install` targets should be echoed to the screen. "
"_Do not_ silence these commands with `@` or `.SILENT`."
msgstr ""
"Фаза `install` очень важна для конечного пользователя, так как она добавляет "
@@ -13388,20 +13377,20 @@ msgstr "Макросы `INSTALL_*`"
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5215
msgid ""
"Use the macros provided in [.filename]#bsd.port.mk# to ensure correct modes "
-"of files in the port's `*-install` targets. Set ownership directly in "
-"[.filename]#pkg-plist# with the corresponding entries, such as "
-"`@(_owner_,_group_,)`, `@owner _owner_`, and `@group _group_`. These "
-"operators work until overridden, or until the end of [.filename]#pkg-plist#, "
-"so remember to reset them after they are no longer needed. The default "
-"ownership is `root:wheel`. See crossref:plist[plist-keywords-base,Base "
-"Keywords] for more information."
+"of files in the port's `*-install` targets. Set ownership directly in [."
+"filename]#pkg-plist# with the corresponding entries, such as `@(_owner_,"
+"_group_,)`, `@owner _owner_`, and `@group _group_`. These operators work "
+"until overridden, or until the end of [.filename]#pkg-plist#, so remember to "
+"reset them after they are no longer needed. The default ownership is `root:"
+"wheel`. See crossref:plist[plist-keywords-base,Base Keywords] for more "
+"information."
msgstr ""
"Используйте макросы, предоставленные в [.filename]#bsd.port.mk#, чтобы "
"обеспечить корректные режимы файлов в целях `*-install` порта. "
"Устанавливайте владельца напрямую в [.filename]#pkg-plist# в соответствующих "
"записях, таких как `@(_владелец_,_группа_,)`, `@owner _владелец_` и `@group "
-"_группа_`. Эти операторы действуют до переопределения или до конца "
-"[.filename]#pkg-plist#, поэтому не забудьте сбросить их, когда они больше не "
+"_группа_`. Эти операторы действуют до переопределения или до конца [."
+"filename]#pkg-plist#, поэтому не забудьте сбросить их, когда они больше не "
"нужны. Владелец по умолчанию — `root:wheel`. Дополнительную информацию см. в "
"crossref:plist[plist-keywords-base,Базовые Ключевые Слова]."
@@ -13542,8 +13531,8 @@ msgid ""
msgstr ""
"Используйте man:file[1] для файла, чтобы определить, был ли он подвергнут "
"удалению символов. man:file[1] сообщает, что бинарные файлы либо `stripped` "
-"(удалены символы), либо `not stripped` (символы не удалены). Кроме того, "
-"man:strip[1] обнаружит программы, которые уже были подвергнуты удалению "
+"(удалены символы), либо `not stripped` (символы не удалены). Кроме того, man:"
+"strip[1] обнаружит программы, которые уже были подвергнуты удалению "
"символов, и завершит работу без ошибок."
#. type: delimited block = 4
@@ -13558,8 +13547,8 @@ msgid ""
"crossref:uses[uses,`USES`] provided by the framework handle this "
"automatically."
msgstr ""
-"Переменные (`STRIP_CMD`, `INSTALL_PROGRAM`, `INSTALL_LIB`, ...) и "
-"crossref:uses[uses,`USES`], предоставляемые фреймворком, обрабатывают это "
+"Переменные (`STRIP_CMD`, `INSTALL_PROGRAM`, `INSTALL_LIB`, ...) и crossref:"
+"uses[uses,`USES`], предоставляемые фреймворком, обрабатывают это "
"автоматически."
#. type: delimited block = 4
@@ -13601,8 +13590,8 @@ msgid ""
"Two macros exist for this situation. The advantage of using these macros "
"instead of `cp` is that they guarantee proper file ownership and permissions "
"on target files. The first macro, `COPYTREE_BIN`, will set all the "
-"installed files to be executable, thus being suitable for installing into "
-"[.filename]#PREFIX/bin#. The second macro, `COPYTREE_SHARE`, does not set "
+"installed files to be executable, thus being suitable for installing into [."
+"filename]#PREFIX/bin#. The second macro, `COPYTREE_SHARE`, does not set "
"executable permissions on files, and is therefore suitable for installing "
"files under [.filename]#PREFIX/share# target."
msgstr ""
@@ -13650,11 +13639,11 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5298
msgid ""
-"And this example will install the data of summer months to the "
-"[.filename]#summer# subdirectory of a [.filename]#DATADIR#."
+"And this example will install the data of summer months to the [."
+"filename]#summer# subdirectory of a [.filename]#DATADIR#."
msgstr ""
-"И этот пример установит данные летних месяцев в подкаталог "
-"[.filename]#summer# каталога [.filename]#DATADIR#."
+"И этот пример установит данные летних месяцев в подкаталог [."
+"filename]#summer# каталога [.filename]#DATADIR#."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5301
@@ -13730,9 +13719,9 @@ msgstr ""
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5328
msgid ""
"Since only the files listed in [.filename]#pkg-plist# are installed, it is "
-"safe to always install documentation to `STAGEDIR` (see "
-"crossref:special[staging,Staging]). Hence `.if` blocks are only needed when "
-"the installed files are large enough to cause significant I/O overhead."
+"safe to always install documentation to `STAGEDIR` (see crossref:"
+"special[staging,Staging]). Hence `.if` blocks are only needed when the "
+"installed files are large enough to cause significant I/O overhead."
msgstr ""
"Поскольку устанавливаются только файлы, перечисленные в [.filename]#pkg-"
"plist#, можно безопасно всегда устанавливать документацию в `STAGEDIR` (см. "
@@ -13823,16 +13812,16 @@ msgstr ""
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5359
msgid ""
"These variables are exported to `PLIST_SUB`. Their values will appear there "
-"as pathnames relative to [.filename]#PREFIX# if possible. That is, "
-"[.filename]#share/doc/PORTNAME# will be substituted for `%%DOCSDIR%%` in the "
+"as pathnames relative to [.filename]#PREFIX# if possible. That is, [."
+"filename]#share/doc/PORTNAME# will be substituted for `%%DOCSDIR%%` in the "
"packing list by default, and so on. (See more on [.filename]#pkg-plist# "
"substitution crossref:plist[plist-sub,here].)"
msgstr ""
"Эти переменные экспортируются в `PLIST_SUB`. Их значения будут представлены "
"там в виде путей относительно [.filename]#PREFIX#, если это возможно. То "
"есть, [.filename]#share/doc/PORTNAME# будет заменено на `%%DOCSDIR%%` в "
-"списке упаковки по умолчанию и так далее. (Подробнее о подстановках в "
-"[.filename]#pkg-plist# см. crossref:plist[plist-sub,здесь].)"
+"списке упаковки по умолчанию и так далее. (Подробнее о подстановках в [."
+"filename]#pkg-plist# см. crossref:plist[plist-sub,здесь].)"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5361
@@ -13840,8 +13829,8 @@ msgid ""
"All conditionally installed documentation files and directories are included "
"in [.filename]#pkg-plist# with the `%%PORTDOCS%%` prefix, for example:"
msgstr ""
-"Все условно устанавливаемые файлы и каталоги документации включаются в "
-"[.filename]#pkg-plist# с префиксом `%%PORTDOCS%%`, например:"
+"Все условно устанавливаемые файлы и каталоги документации включаются в [."
+"filename]#pkg-plist# с префиксом `%%PORTDOCS%%`, например:"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5366
@@ -13924,8 +13913,8 @@ msgid ""
"name, which is incorrect. Also, many ports put everything except binaries, "
"header files and manual pages in a subdirectory of [.filename]#lib#, which "
"does not work well with the BSD paradigm. Many of the files must be moved "
-"to one of these directories: [.filename]#etc# (setup/configuration files), "
-"[.filename]#libexec# (executables started internally), [.filename]#sbin# "
+"to one of these directories: [.filename]#etc# (setup/configuration files), [."
+"filename]#libexec# (executables started internally), [.filename]#sbin# "
"(executables for superusers/managers), [.filename]#info# (documentation for "
"info browser) or [.filename]#share# (architecture independent files). See "
"man:hier[7] for details; the rules governing [.filename]#/usr# pretty much "
@@ -13936,13 +13925,13 @@ msgstr ""
"Попробуйте сделать так, чтобы порт размещал файлы в правильных подкаталогах "
"`PREFIX`. Некоторые порты собирают всё в кучу и помещают в подкаталог с "
"именем порта, что неверно. Также многие порты размещают все файлы, кроме "
-"бинарников, заголовочных файлов и страниц руководства, в подкаталоге "
-"[.filename]#lib#, что плохо согласуется с парадигмой BSD. Многие из этих "
-"файлов должны быть перемещены в один из следующих каталогов: "
-"[.filename]#etc# (файлы настройки/конфигурации), [.filename]#libexec# "
+"бинарников, заголовочных файлов и страниц руководства, в подкаталоге [."
+"filename]#lib#, что плохо согласуется с парадигмой BSD. Многие из этих "
+"файлов должны быть перемещены в один из следующих каталогов: [."
+"filename]#etc# (файлы настройки/конфигурации), [.filename]#libexec# "
"(исполняемые файлы для внутреннего использования), [.filename]#sbin# "
-"(исполняемые файлы для суперпользователей/администраторов), "
-"[.filename]#info# (документация для браузера info) или [.filename]#share# "
+"(исполняемые файлы для суперпользователей/администраторов), [."
+"filename]#info# (документация для браузера info) или [.filename]#share# "
"(архитектурно-независимые файлы). Подробности см. в man:hier[7]; правила, "
"действующие для [.filename]#/usr#, в основном применимы и к [.filename]#/usr/"
"local#. Исключение составляют порты, связанные с USENET \"news\". Они могут "
@@ -13953,7 +13942,9 @@ msgstr ""
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5402
#, no-wrap
msgid "Use `BINARY_ALIAS` to Rename Commands Instead of Patching the Build"
-msgstr "Используйте `BINARY_ALIAS` для переименования команд вместо исправления сборки"
+msgstr ""
+"Использование `BINARY_ALIAS` для переименования команд вместо исправления "
+"сборки"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5405
@@ -13983,9 +13974,9 @@ msgstr "Использование `BINARY_ALIAS` для предоставле
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5414
msgid ""
-"Some ports expect `sed` to behave like GNU sed and use features that "
-"man:sed[1] does not provide. GNU sed is available from package:textproc/"
-"gsed[] on FreeBSD."
+"Some ports expect `sed` to behave like GNU sed and use features that man:"
+"sed[1] does not provide. GNU sed is available from package:textproc/gsed[] "
+"on FreeBSD."
msgstr ""
"Некоторые порты ожидают, что `sed` будет вести себя как GNU sed и используют "
"возможности, которые man:sed[1] не предоставляет. GNU sed доступен в пакете "
diff --git a/documentation/content/ru/books/porters-handbook/new-port/_index.adoc b/documentation/content/ru/books/porters-handbook/new-port/_index.adoc
index dc7350143a..59279a5c85 100644
--- a/documentation/content/ru/books/porters-handbook/new-port/_index.adoc
+++ b/documentation/content/ru/books/porters-handbook/new-port/_index.adoc
@@ -4,7 +4,7 @@ next: books/porters-handbook/quick-porting
params:
path: /books/porters-handbook/new-port/
prev: books/porters-handbook/porting-why
-showBookMenu: true
+showBookMenu: 'true'
tags: ["new port", "upgrading", "guidelines", "ports"]
title: 'Глава 2. Как самому сделать новый порт'
weight: 2
diff --git a/documentation/content/ru/books/porters-handbook/new-port/_index.po b/documentation/content/ru/books/porters-handbook/new-port/_index.po
index 8908fe56d6..c3dd719d6f 100644
--- a/documentation/content/ru/books/porters-handbook/new-port/_index.po
+++ b/documentation/content/ru/books/porters-handbook/new-port/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-09-18 22:05+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-07-12 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,13 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/porters-handbook/new-port/_index.adoc:1
#, no-wrap
msgid "How to make a new FreeBSD Port"
msgstr "Как сделать новый порт"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/porters-handbook/new-port/_index.adoc:1
#, no-wrap
msgid "Chapter 2. Making a New Port"
@@ -63,12 +63,11 @@ msgid ""
"daily can gain much knowledge from it. Additionally, specific questions can "
"be sent to the {freebsd-ports}."
msgstr ""
-"Если этот документ недостаточно подробен, вы должны обратиться к файлу "
-"[.filename]#/usr/ports/Mk/bsd.port.mk#, который включается в make-файл "
-"каждого порта. Он хорошо прокомментирован, и даже если вы не занимаетесь "
-"хакингом make-файлов каждодневно, из него вы сможете узнать много нового. "
-"Кроме того, конкретные вопросы можно задать, послав письмо на адрес {freebsd-"
-"ports}."
+"Если этот документ недостаточно подробен, вы должны обратиться к файлу [."
+"filename]#/usr/ports/Mk/bsd.port.mk#, который включается в make-файл каждого "
+"порта. Он хорошо прокомментирован, и даже если вы не занимаетесь хакингом "
+"make-файлов каждодневно, из него вы сможете узнать много нового. Кроме того, "
+"конкретные вопросы можно задать, послав письмо на адрес {freebsd-ports}."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/new-port/_index.adoc:66
@@ -82,8 +81,8 @@ msgid ""
"been loaded."
msgstr ""
"Только часть переменных (`_VAR_`), которые могут быть переопределены, "
-"описаны в этом документе. Большинство (если не все) описаны в начале файла "
-"[.filename]#/usr/ports/Mk/bsd.port.mk#; остальные, скорее всего, тоже там "
+"описаны в этом документе. Большинство (если не все) описаны в начале файла [."
+"filename]#/usr/ports/Mk/bsd.port.mk#; остальные, скорее всего, тоже там "
"описаны. Заметьте, что в этом файле используется нестандартная настройка "
"шага табуляции: Emacs и Vim должны распознать это при загрузке файла. Как "
"man:vi[1], так и man:ex[1] могут быть настроены на использование правильного "
diff --git a/documentation/content/ru/books/porters-handbook/order/_index.adoc b/documentation/content/ru/books/porters-handbook/order/_index.adoc
index 82869f5a85..23070e8d04 100644
--- a/documentation/content/ru/books/porters-handbook/order/_index.adoc
+++ b/documentation/content/ru/books/porters-handbook/order/_index.adoc
@@ -4,7 +4,7 @@ next: books/porters-handbook/keeping-up
params:
path: /books/porters-handbook/order/
prev: books/porters-handbook/porting-samplem
-showBookMenu: true
+showBookMenu: 'true'
tags: ["order", "PORTNAME", "PATCHFILES", "MAINTAINER", "LICENSE", "dependencies", "USES"]
title: 'Глава 15. Порядок переменных в Makefile портов'
weight: 15
@@ -52,7 +52,7 @@ endif::[]
[NOTE]
====
-Описаные здесь разделы и переменные являются обязательными в обычном порте. В подчиненном порте многие разделы и переменные могут быть пропущены.
+Описанные здесь разделы и переменные являются обязательными в обычном порте. В подчиненном порте многие разделы и переменные могут быть пропущены.
====
[IMPORTANT]
diff --git a/documentation/content/ru/books/porters-handbook/order/_index.po b/documentation/content/ru/books/porters-handbook/order/_index.po
index 0492f69f9a..2583edcdbc 100644
--- a/documentation/content/ru/books/porters-handbook/order/_index.po
+++ b/documentation/content/ru/books/porters-handbook/order/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-09-18 22:05+0300\n"
-"PO-Revision-Date: 2025-07-16 04:45+0000\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
+"PO-Revision-Date: 2025-09-26 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/booksporters-handbookorder_index/ru/>\n"
@@ -18,13 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/porters-handbook/order/_index.adoc:1
#, no-wrap
msgid "Order of Variables in FreeBSD Port Makefiles"
msgstr "Порядок переменных в Makefile портов FreeBSD"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/porters-handbook/order/_index.adoc:1
#, no-wrap
msgid "Chapter 15. Order of Variables in Port Makefiles"
@@ -53,7 +53,7 @@ msgid ""
"The sections and variables described here are mandatory in a ordinary port. "
"In a slave port, many sections and variables can be skipped."
msgstr ""
-"Описаные здесь разделы и переменные являются обязательными в обычном порте. "
+"Описанные здесь разделы и переменные являются обязательными в обычном порте. "
"В подчиненном порте многие разделы и переменные могут быть пропущены."
#. type: delimited block = 4
@@ -98,9 +98,8 @@ msgid ""
"crossref:makefiles[makefile-versions,`PORTVERSION`]"
"[crossref:order[portversion-footnote, 1]]"
msgstr ""
-"crossref:makefiles[makefile-portname,`PORTNAME`] * "
-"crossref:makefiles[makefile-versions,`PORTVERSION`]"
-"[crossref:order[portversion-footnote, 1]]"
+"crossref:makefiles[makefile-portname,`PORTNAME`] * crossref:makefiles"
+"[makefile-versions,`PORTVERSION`][crossref:order[portversion-footnote, 1]]"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/order/_index.adoc:80
@@ -110,8 +109,8 @@ msgid ""
"[crossref:order[portversion-footnote, 1]]"
msgstr ""
"crossref:makefiles[makefile-versions,`DISTVERSIONPREFIX`] * "
-"crossref:makefiles[makefile-versions,`DISTVERSION`]"
-"[crossref:order[portversion-footnote, 1]]"
+"crossref:makefiles[makefile-versions,`DISTVERSION`][crossref:order"
+"[portversion-footnote, 1]]"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/order/_index.adoc:81
@@ -424,10 +423,10 @@ msgid ""
"Rest of the Variables]."
msgstr ""
"Если порт помечен как BROKEN при выполнении определённых условий, и эти "
-"условия можно проверить только после включения "
-"[.filename]#bsd.port.options.mk# или [.filename]#bsd.port.pre.mk#, то такие "
-"переменные должны быть установлены позже, в crossref:order[porting-order-"
-"rest, Остальные Переменные]."
+"условия можно проверить только после включения [.filename]#bsd.port.options."
+"mk# или [.filename]#bsd.port.pre.mk#, то такие переменные должны быть "
+"установлены позже, в crossref:order[porting-order-rest, Остальные "
+"Переменные]."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/order/_index.adoc:168
@@ -591,12 +590,12 @@ msgid ""
"before them."
msgstr ""
"Опции `FOO` и `BAR` не имеют стандартного описания, поэтому его необходимо "
-"написать. Остальные опции уже имеют описание в [.filename]#Mk/"
-"bsd.options.desc.mk#, поэтому его создание не требуется. Переменные `DOCS` и "
-"`EXAMPLES` используют вспомогательные цели для установки своих файлов, они "
-"приведены здесь для полноты, хотя относятся к разделу crossref:order[porting-"
-"order-targets, Цели], поэтому перед ними могут быть вставлены другие "
-"переменные и цели."
+"написать. Остальные опции уже имеют описание в [.filename]#Mk/bsd.options."
+"desc.mk#, поэтому его создание не требуется. Переменные `DOCS` и `EXAMPLES` "
+"используют вспомогательные цели для установки своих файлов, они приведены "
+"здесь для полноты, хотя относятся к разделу crossref:order[porting-order-"
+"targets, Цели], поэтому перед ними могут быть вставлены другие переменные и "
+"цели."
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/order/_index.adoc:232
diff --git a/documentation/content/ru/books/porters-handbook/pkg-files/_index.adoc b/documentation/content/ru/books/porters-handbook/pkg-files/_index.adoc
index dc1f0d89a5..17bea3d46d 100644
--- a/documentation/content/ru/books/porters-handbook/pkg-files/_index.adoc
+++ b/documentation/content/ru/books/porters-handbook/pkg-files/_index.adoc
@@ -4,7 +4,7 @@ next: books/porters-handbook/testing
params:
path: /books/porters-handbook/pkg-files/
prev: books/porters-handbook/plist
-showBookMenu: true
+showBookMenu: 'true'
tags: ["pkg", "pkg-message", "UCL", "pkg-install", "pkg-deinstall"]
title: 'Глава 9. Файлы pkg-*'
weight: 9
diff --git a/documentation/content/ru/books/porters-handbook/pkg-files/_index.po b/documentation/content/ru/books/porters-handbook/pkg-files/_index.po
index 245b823d41..ac7f85b7a8 100644
--- a/documentation/content/ru/books/porters-handbook/pkg-files/_index.po
+++ b/documentation/content/ru/books/porters-handbook/pkg-files/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-09-18 22:05+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-07-16 22:10+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,13 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:1
#, no-wrap
msgid "Tricks about the pkg-* files"
msgstr "Хитрости с файлами pkg-*"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:1
#, no-wrap
msgid "Chapter 9. pkg-*"
@@ -118,8 +118,8 @@ msgid ""
"Use `service name start` to start a service rather than using `/usr/local/"
"etc/rc.d/name start`"
msgstr ""
-"Используйте `service имя start` для запуска службы вместо `/usr/local/etc/"
-"rc.d/имя start`"
+"Используйте `service имя start` для запуска службы вместо `/usr/local/etc/rc."
+"d/имя start`"
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:68
@@ -157,8 +157,8 @@ msgid ""
"GitHub page]."
msgstr ""
"Если файл начинается с символа \"`[`\", то он считается файлом в формате "
-"UCL. Формат UCL описан на странице https://github.com/vstakhov/"
-"libucl[libucl's GitHub page]."
+"UCL. Формат UCL описан на странице https://github.com/vstakhov/libucl["
+"libucl's GitHub page]."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:84
@@ -496,8 +496,8 @@ msgid ""
msgstr ""
"Если порту необходимо выполнять команды при установке бинарного пакета с "
"помощью `pkg add` или `pkg install`, используйте [.filename]#pkg-install#. "
-"Он запускается дважды через `pkg`: первый раз как `${SH} pkg-install $"
-"{PKGNAME} PRE-INSTALL` перед установкой пакета и второй раз как `${SH} pkg-"
+"Он запускается дважды через `pkg`: первый раз как `${SH} pkg-install "
+"${PKGNAME} PRE-INSTALL` перед установкой пакета и второй раз как `${SH} pkg-"
"install ${PKGNAME} POST-INSTALL` после его установки. Переменная `$2` может "
"быть проверена, чтобы определить, в каком режиме выполняется скрипт. "
"Переменная окружения `PKG_PREFIX` устанавливается равной имени каталога "
@@ -514,12 +514,12 @@ msgid ""
"and a few restrictions, both explained in man:pkg-lua-script[5]."
msgstr ""
"Если используется [.filename]#pkg-pre-install# или [.filename]#pkg-post-"
-"install#, скрипт выполняется только один раз (до или после установки "
-"пакета), с единственным аргументом `${PKGNAME}`. Использование "
-"[.filename]#pkg-pre-install.lua# или [.filename]#pkg-post-install.lua# "
-"запускает скрипт на Lua вместо shell-скрипта. Скрипты на Lua, выполняемые "
-"`pkg`, предоставляют некоторые расширения и несколько ограничений, которые "
-"описаны в man:pkg-lua-script[5]."
+"install#, скрипт выполняется только один раз (до или после установки пакета)"
+", с единственным аргументом `${PKGNAME}`. Использование [.filename]#pkg-pre-"
+"install.lua# или [.filename]#pkg-post-install.lua# запускает скрипт на Lua "
+"вместо shell-скрипта. Скрипты на Lua, выполняемые `pkg`, предоставляют "
+"некоторые расширения и несколько ограничений, которые описаны в man:pkg-lua-"
+"script[5]."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:244
@@ -528,9 +528,9 @@ msgid ""
"[.filename]#pkg-post-install# (or [.filename]#pkg-post-install.lua#) is "
"preferred to using [.filename]#pkg-install#."
msgstr ""
-"Использование [.filename]#pkg-pre-install# (или [.filename]#pkg-pre-"
-"install.lua#) и [.filename]#pkg-post-install# (или [.filename]#pkg-post-"
-"install.lua#) предпочтительнее, чем использование [.filename]#pkg-install#."
+"Использование [.filename]#pkg-pre-install# (или [.filename]#pkg-pre-install."
+"lua#) и [.filename]#pkg-post-install# (или [.filename]#pkg-post-install.lua#)"
+" предпочтительнее, чем использование [.filename]#pkg-install#."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:247
@@ -588,12 +588,11 @@ msgid ""
"and a few restrictions, both explained in man:pkg-lua-script[5]."
msgstr ""
"Если используется [.filename]#pkg-pre-deinstall# или [.filename]#pkg-post-"
-"deinstall#, скрипт выполняется только один раз (до или после удаления "
-"пакета) с единственным аргументом `${PKGNAME}`. Использование "
-"[.filename]#pkg-pre-deinstall.lua# или [.filename]#pkg-post-deinstall.lua# "
-"запустит скрипт на Lua вместо shell-скрипта. Скрипты на Lua, выполняемые "
-"`pkg`, предоставляют некоторые расширения и ограничения, которые описаны в "
-"man:pkg-lua-script[5]."
+"deinstall#, скрипт выполняется только один раз (до или после удаления пакета)"
+" с единственным аргументом `${PKGNAME}`. Использование [.filename]#pkg-pre-"
+"deinstall.lua# или [.filename]#pkg-post-deinstall.lua# запустит скрипт на "
+"Lua вместо shell-скрипта. Скрипты на Lua, выполняемые `pkg`, предоставляют "
+"некоторые расширения и ограничения, которые описаны в man:pkg-lua-script[5]."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:271
@@ -636,13 +635,13 @@ msgid ""
"*# files."
msgstr ""
"Все имена файлов [.filename]#pkg-\\*# определяются с помощью переменных, так "
-"что вы можете изменить их, если это нужно, в вашем файле "
-"[.filename]#Makefile#. Это особенно полезно, если вы используете одни и те "
-"же файлы [.filename]#pkg-*# совместно между несколькими портами или пишете в "
+"что вы можете изменить их, если это нужно, в вашем файле [."
+"filename]#Makefile#. Это особенно полезно, если вы используете одни и те же "
+"файлы [.filename]#pkg-*# совместно между несколькими портами или пишете в "
"один из вышеперечисленных файлов (в главе о crossref:porting-dads[porting-"
"wrkdir,\"записи в каталоги, отличные от ``WRKDIR``\"] объяснено, почему не "
-"рекомендуется осуществлять запись непосредственно в файлы [.filename]#pkg-"
-"*#)."
+"рекомендуется осуществлять запись непосредственно в файлы [."
+"filename]#pkg-*#)."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:290
@@ -804,11 +803,11 @@ msgstr ""
"В переменной `SUB_FILES` указывается перечень файлов для автоматического "
"изменения. Каждый _file_ из перечня `SUB_FILES` обязан иметь соответствующий "
"[.filename]#file.in#, присутствующий в `FILESDIR`. Измененная версия будет "
-"создана в `WRKDIR`. Файлы, определенные в качестве значения `USE_RC_SUBR` "
-"(или устаревшего `USE_RCORDER`), автоматически добавляются в `SUB_FILES`. "
-"Для файлов [.filename]#pkg-message#, [.filename]#pkg-install# и "
-"[.filename]#pkg-deinstall# устанавливается соответствующая переменная "
-"Makefile, указывающая на обработанную версию."
+"создана в `WRKDIR`. Файлы, определенные в качестве значения `USE_RC_SUBR` ("
+"или устаревшего `USE_RCORDER`), автоматически добавляются в `SUB_FILES`. Для "
+"файлов [.filename]#pkg-message#, [.filename]#pkg-install# и [.filename]#pkg-"
+"deinstall# устанавливается соответствующая переменная Makefile, указывающая "
+"на обработанную версию."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:340
@@ -833,8 +832,8 @@ msgid ""
"This example replaces `%%ARCH%%` with the system architecture in a "
"[.filename]#pkg-message#:"
msgstr ""
-"В следующем примере в [.filename]#pkg-message# будет сделана замена `%%ARCH%"
-"%` на системную архитектуру:"
+"В следующем примере в [.filename]#pkg-message# будет сделана замена "
+"`%%ARCH%%` на системную архитектуру:"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:347
@@ -869,5 +868,6 @@ msgid ""
"as .putsy.conf and edit it.\n"
msgstr ""
"Now it is time to configure this package.\n"
-"Copy %%PREFIX%%/shared/examples/putsy/%%ARCH%%.conf into your home directory\n"
+"Copy %%PREFIX%%/shared/examples/putsy/%%ARCH%%.conf into your home "
+"directory\n"
"as .putsy.conf and edit it.\n"
diff --git a/documentation/content/ru/books/porters-handbook/plist/_index.adoc b/documentation/content/ru/books/porters-handbook/plist/_index.adoc
index d9b93ae0fb..9e1cc0de10 100644
--- a/documentation/content/ru/books/porters-handbook/plist/_index.adoc
+++ b/documentation/content/ru/books/porters-handbook/plist/_index.adoc
@@ -4,7 +4,7 @@ next: books/porters-handbook/pkg-files
params:
path: /books/porters-handbook/plist/
prev: books/porters-handbook/flavors
-showBookMenu: true
+showBookMenu: 'true'
tags: ["pkg-plist", "practices", "configuration"]
title: 'Глава 8. Продвинутые практики pkg-plist'
weight: 8
@@ -191,7 +191,7 @@ _Динамический список упаковки_ — это список
Строки, которые нужно заменить, иногда должны быть очень конкретными, чтобы избежать нежелательных замен. Это распространённая проблема с короткими значениями.
-Для решения этой проблемы для каждого `_PLACEHOLDER_=_значение_` можно задать `PLACEHOLDER_regex=регулярное_выражение`, где часть `_regex_` более точно соответствует _значению_.
+Для решения этой проблемы для каждого `_PLACEHOLDER_=_значение_` можно задать `PLACEHOLDER_regex=регулярное_выражение`, где `_регулярное_выражение_` более точно соответствует _значению_.
[[plist-autoplist-regex-ex1]]
.Использование PLIST_SUB с регулярными выражениями
@@ -262,7 +262,7 @@ bin/machine-build
====
[[plist-keywords]]
-== Расширение списка пакетов используя ключевые слова
+== Расширение списка пакетов, используя ключевые слова
Все ключевые слова также могут принимать необязательные аргументы в скобках. Аргументами являются владелец, группа и режим доступа. Этот аргумент применяется к файлу или каталогу, на который ссылаются. Чтобы изменить владельца, группу и режим доступа конфигурационного файла, используйте:
@@ -365,7 +365,7 @@ bin/machine-build
[[plist-keywords-base-exec]]
==== `@preexec` _команда_, `@postexec` _команда_, `@preunexec` _команда_, `@postunexec` _команда_
-Выполнить _комманду_ как часть процесса установки или удаления пакета.
+Выполнить _команду_ как часть процесса установки или удаления пакета.
`@preexec` _команда_::
Выполнить _команду_ как часть скриптов [.filename]#pre-install#.
diff --git a/documentation/content/ru/books/porters-handbook/plist/_index.po b/documentation/content/ru/books/porters-handbook/plist/_index.po
index ae6c7cc6b7..c6b1b753f0 100644
--- a/documentation/content/ru/books/porters-handbook/plist/_index.po
+++ b/documentation/content/ru/books/porters-handbook/plist/_index.po
@@ -5,8 +5,8 @@
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"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
+"PO-Revision-Date: 2025-10-21 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/booksporters-handbookplist_index/ru/>\n"
@@ -25,7 +25,7 @@ msgstr ""
msgid "Advanced pkg-plist Practices"
msgstr "Продвинутые практики pkg-plist"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/porters-handbook/plist/_index.adoc:1
#, no-wrap
msgid "Chapter 8. Advanced pkg-plist Practices"
@@ -35,7 +35,8 @@ msgstr "Глава 8. Продвинутые практики pkg-plist"
#: documentation/content/en/books/porters-handbook/plist/_index.adoc:52
#, no-wrap
msgid "Changing pkg-plist Based on Make Variables"
-msgstr "Изменение содержимого [.filename]#pkg-plist# в зависимости от make-переменных"
+msgstr ""
+"Изменение содержимого [.filename]#pkg-plist# в зависимости от make-переменных"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/plist/_index.adoc:59
@@ -55,12 +56,12 @@ msgstr ""
"файлов [.filename]#pkg-plist# в зависимости от того, с какими параметрами "
"они были отконфигурированы (или в зависимости от версии языка `perl` в "
"случае портов `p5-`). Чтобы облегчить этот процесс, любые вхождения ключевых "
-"слов `%%OSREL%%`, `%%PERL_VER%%` и `%%PERL_VERSION%%` в файле "
-"[.filename]#pkg-plist# будут заменяться соответствующими значениями. "
-"Значением `%%OSREL%%` является номер версии операционной системы (например, "
-"`4.9`). `%%PERL_VERSION%%` и `%%PERL_VER%%` обозначают полный номер версии "
-"`perl` (например, `5.8.9`). Некоторые другие `%%VARS%%`, имеющие отношение к "
-"файлам документации порта, описаны в crossref:makefiles[install-"
+"слов `%%OSREL%%`, `%%PERL_VER%%` и `%%PERL_VERSION%%` в файле [.filename"
+"]#pkg-plist# будут заменяться соответствующими значениями. Значением "
+"`%%OSREL%%` является номер версии операционной системы (например, `4.9`). "
+"`%%PERL_VERSION%%` и `%%PERL_VER%%` обозначают полный номер версии `perl` ("
+"например, `5.8.9`). Некоторые другие `%%VARS%%`, имеющие отношение к файлам "
+"документации порта, описаны в crossref:makefiles[install-"
"documentation,соответствующем разделе]."
#. type: Plain text
@@ -71,8 +72,8 @@ msgid ""
"[.filename]#pkg-plist#."
msgstr ""
"Если вам нужно сделать другие подстановки, вы можете указать в переменной "
-"`PLIST_SUB` список пар `VAR=VALUE`, и все вхождения `%%VAR%%` в файле "
-"[.filename]#pkg-plist# будут заменяться на значение _VALUE_."
+"`PLIST_SUB` список пар `VAR=VALUE`, и все вхождения `%%VAR%%` в файле [."
+"filename]#pkg-plist# будут заменяться на значение _VALUE_."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/plist/_index.adoc:64
@@ -122,9 +123,9 @@ msgid ""
msgstr ""
"Если файлы устанавливаются по условию в зависимости от опций, установленных "
"в порте, обычный способ обработки — это добавление префикса `%%OPT%%` для "
-"строк в [.filename]#pkg-plist#, которые нужны при включении опции, или `%"
-"%NO_OPT%%`, когда опция отключена, а также добавление `OPTIONS_SUB=yes` в "
-"[.filename]#Makefile#. Подробнее см. "
+"строк в [.filename]#pkg-plist#, которые нужны при включении опции, или "
+"`%%NO_OPT%%`, когда опция отключена, а также добавление `OPTIONS_SUB=yes` в ["
+".filename]#Makefile#. Подробнее см. "
"crossref:makefiles[options_sub,`OPTIONS_SUB`]."
#. type: Plain text
@@ -172,13 +173,12 @@ msgid ""
"`post-install` to a file named [.filename]#TMPPLIST#."
msgstr ""
"Эта подстановка будет сделана между выполнением целей `pre-install` и `do-"
-"install`, посредством чтения файла [.filename]#PLIST# и записью в файл "
-"[.filename]#TMPPLIST# (по умолчанию это файл "
-"[.filename]#WRKDIR/.PLIST.mktmp#). Так что если ваш порт строит "
-"[.filename]#PLIST# на лету, делайте это во время или до выполнения цели `pre-"
-"install`. Кроме того, если вашему порту требуется отредактировать "
-"получающийся файл, делайте это в цели `post-install` изменением файла "
-"[.filename]#TMPPLIST#."
+"install`, посредством чтения файла [.filename]#PLIST# и записью в файл [."
+"filename]#TMPPLIST# (по умолчанию это файл [.filename]#WRKDIR/.PLIST.mktmp#)"
+". Так что если ваш порт строит [.filename]#PLIST# на лету, делайте это во "
+"время или до выполнения цели `pre-install`. Кроме того, если вашему порту "
+"требуется отредактировать получающийся файл, делайте это в цели `post-"
+"install` изменением файла [.filename]#TMPPLIST#."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/plist/_index.adoc:101
@@ -202,8 +202,8 @@ msgstr ""
"использовать `${_VAR_}` напрямую. За исключением этого, имена из "
"`PLIST_FILES` появятся в итоговом списке упаковки без изменений, тогда как к "
"именам из `PLIST_DIRS` будет добавлен префикс `@dir`. Чтобы вступить в силу, "
-"`PLIST_FILES` и `PLIST_DIRS` должны быть установлены до записи "
-"[.filename]#TMPPLIST#, то есть в `pre-install` или ранее."
+"`PLIST_FILES` и `PLIST_DIRS` должны быть установлены до записи [."
+"filename]#TMPPLIST#, то есть в `pre-install` или ранее."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/plist/_index.adoc:105
@@ -267,8 +267,8 @@ msgstr ""
"При удалении порт должен удалить пустые каталоги, которые он создал. "
"Большинство этих каталогов автоматически удаляются с помощью man:pkg[8], но "
"для каталогов, созданных вне [.filename]#${PREFIX}#, или пустых каталогов "
-"требуется дополнительная работа. Обычно это делается добавлением строк "
-"`@dir` для таких каталогов. Подкаталоги должны быть удалены до удаления "
+"требуется дополнительная работа. Обычно это делается добавлением строк `@dir`"
+" для таких каталогов. Подкаталоги должны быть удалены до удаления "
"родительских каталогов."
#. type: delimited block . 4
@@ -351,11 +351,11 @@ msgid ""
"keywords-sample, Expanding Package List with Keywords] for what it does "
"exactly. For each sample file, add a line to [.filename]#pkg-plist#:"
msgstr ""
-"Вместо этого устанавливайте образцы файлов с расширением "
-"[.filename]#filename.sample#. Макрос `@sample` автоматизирует этот процесс; "
-"подробности его работы см. в разделе crossref:plist[plist-keywords-sample, "
-"Расширение списка пакетов с помощью ключевых слов]. Для каждого образца "
-"файла добавьте строку в [.filename]#pkg-plist#:"
+"Вместо этого устанавливайте образцы файлов с расширением [.filename]#filename"
+".sample#. Макрос `@sample` автоматизирует этот процесс; подробности его "
+"работы см. в разделе crossref:plist[plist-keywords-sample, Расширение списка "
+"пакетов с помощью ключевых слов]. Для каждого образца файла добавьте строку "
+"в [.filename]#pkg-plist#:"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/plist/_index.adoc:169
@@ -373,11 +373,10 @@ msgid ""
"before the software will work."
msgstr ""
"Если существует очень веская причина не устанавливать рабочий файл "
-"конфигурации по умолчанию, укажите только имя примера файла в "
-"[.filename]#pkg-plist#, без части `@sample` с последующим пробелом, и "
-"добавьте crossref:pkg-files[porting-message,сообщение], указывающее, что "
-"пользователь должен скопировать и отредактировать файл перед тем, как "
-"программа заработает."
+"конфигурации по умолчанию, укажите только имя примера файла в [.filename"
+"]#pkg-plist#, без части `@sample` с последующим пробелом, и добавьте crossref"
+":pkg-files[porting-message,сообщение], указывающее, что пользователь должен "
+"скопировать и отредактировать файл перед тем, как программа заработает."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/plist/_index.adoc:178
@@ -388,12 +387,12 @@ msgid ""
"convention for the port to use some other directory. The `%%ETCDIR%%` macro "
"will be used in its stead in [.filename]#pkg-plist#."
msgstr ""
-"Когда порт устанавливает свою конфигурацию в подкаталоге [.filename]#$"
-"{PREFIX}/etc#, используйте `ETCDIR`, который по умолчанию равен `${PREFIX}/"
-"etc/${PORTNAME}`. Это значение может быть переопределено в "
-"[.filename]#Makefile# порта, если для порта принято использовать другой "
-"каталог. Макрос `%%ETCDIR%%` будет использоваться вместо этого в "
-"[.filename]#pkg-plist#."
+"Когда порт устанавливает свою конфигурацию в подкаталоге [."
+"filename]#${PREFIX}/etc#, используйте `ETCDIR`, который по умолчанию равен "
+"`${PREFIX}/etc/${PORTNAME}`. Это значение может быть переопределено в [."
+"filename]#Makefile# порта, если для порта принято использовать другой "
+"каталог. Макрос `%%ETCDIR%%` будет использоваться вместо этого в [.filename"
+"]#pkg-plist#."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/plist/_index.adoc:184
@@ -403,10 +402,10 @@ msgid ""
"possible, or if the sample files come from some other directory, use this "
"construct:"
msgstr ""
-"Примеры конфигурационных файлов всегда должны иметь суффикс "
-"[.filename]#.sample#. Если по каким-то историческим причинам использование "
-"стандартного суффикса невозможно, или если примеры файлов взяты из другого "
-"каталога, используйте эту конструкцию:"
+"Примеры конфигурационных файлов всегда должны иметь суффикс [.filename]#."
+"sample#. Если по каким-то историческим причинам использование стандартного "
+"суффикса невозможно, или если примеры файлов взяты из другого каталога, "
+"используйте эту конструкцию:"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/plist/_index.adoc:188
@@ -511,11 +510,11 @@ msgid ""
"for correctness as it tries to automatically guess a few things, and can get "
"it wrong."
msgstr ""
-"Сначала убедитесь, что порт почти готов, и отсутствует только файл "
-"[.filename]#pkg-plist#. Запуск команды `make makeplist` покажет пример для "
-"файла [.filename]#pkg-plist#. Вывод `makeplist` необходимо дважды "
-"перепроверять на корректность, так как он пытается автоматически угадать "
-"некоторые вещи и может ошибаться."
+"Сначала убедитесь, что порт почти готов, и отсутствует только файл [.filename"
+"]#pkg-plist#. Запуск команды `make makeplist` покажет пример для файла [."
+"filename]#pkg-plist#. Вывод `makeplist` необходимо дважды перепроверять на "
+"корректность, так как он пытается автоматически угадать некоторые вещи и "
+"может ошибаться."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/plist/_index.adoc:224
@@ -528,8 +527,8 @@ msgid ""
"installed by the port must be listed as specified in the "
"crossref:special[porting-shlibs,shared libraries] section."
msgstr ""
-"Файлы конфигурации пользователя должны устанавливаться как "
-"[.filename]#filename.sample#, как описано в разделе crossref:plist[plist-"
+"Файлы конфигурации пользователя должны устанавливаться как [."
+"filename]#filename.sample#, как описано в разделе crossref:plist[plist-"
"config,Файлы конфигурации]. [.filename]#info/dir# не должен быть указан, а "
"соответствующие строки [.filename]#install-info# должны быть добавлены, как "
"указано в разделе crossref:makefiles[makefile-info,info-файлы]. Любые "
@@ -560,8 +559,8 @@ msgid ""
"_value_ more precisely."
msgstr ""
"Для решения этой проблемы для каждого `_PLACEHOLDER_=_значение_` можно "
-"задать `PLACEHOLDER_regex=регулярное_выражение`, где часть `_regex_` более "
-"точно соответствует _значению_."
+"задать `PLACEHOLDER_regex=регулярное_выражение`, где `_регулярное_выражение_`"
+" более точно соответствует _значению_."
#. type: Block title
#: documentation/content/en/books/porters-handbook/plist/_index.adoc:234
@@ -710,7 +709,7 @@ msgstr ""
#: documentation/content/en/books/porters-handbook/plist/_index.adoc:305
#, no-wrap
msgid "Expanding Package List with Keywords"
-msgstr "Расширение списка пакетов используя ключевые слова"
+msgstr "Расширение списка пакетов, используя ключевые слова"
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/plist/_index.adoc:311
@@ -822,8 +821,8 @@ msgid ""
msgstr ""
"Добавить запись `@dir` для каталога, переданного в качестве аргумента, и "
"запустить `mkfontscale` и `mkfontdir` в этом каталоге после установки и "
-"удаления. Кроме того, при удалении удаляются кэш-файлы "
-"[.filename]#fonts.scale# и [.filename]#fonts.dir#, если они пусты."
+"удаления. Кроме того, при удалении удаляются кэш-файлы [.filename]#fonts."
+"scale# и [.filename]#fonts.dir#, если они пусты."
#. type: Title ===
#: documentation/content/en/books/porters-handbook/plist/_index.adoc:357
@@ -941,8 +940,8 @@ msgid ""
"[.filename]#/etc/shells#."
msgstr ""
"При установке добавить полный путь к _file_ в [.filename]#/etc/shells#, "
-"убедившись, что он не добавлен повторно. При удалении удалите его из "
-"[.filename]#/etc/shells#."
+"убедившись, что он не добавлен повторно. При удалении удалите его из [."
+"filename]#/etc/shells#."
#. type: Title ===
#: documentation/content/en/books/porters-handbook/plist/_index.adoc:400
@@ -957,9 +956,9 @@ msgid ""
"add crossref:uses[uses-terminfo,`USES=terminfo`] to its "
"[.filename]#Makefile#."
msgstr ""
-"Не использовать самостоятельно. Если порт устанавливает файлы "
-"[.filename]#*.terminfo#, добавьте crossref:uses[uses-"
-"terminfo,`USES=terminfo`] в его [.filename]#Makefile#."
+"Не использовать самостоятельно. Если порт устанавливает файлы [.filename]#*."
+"terminfo#, добавьте crossref:uses[uses-terminfo,`USES=terminfo`] в его [."
+"filename]#Makefile#."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/plist/_index.adoc:406
@@ -968,9 +967,9 @@ msgid ""
"[.filename]#${PREFIX}/shared/misc/terminfo.db# from the "
"[.filename]#*.terminfo# files in [.filename]#${PREFIX}/shared/misc#."
msgstr ""
-"При установке и удалении, если присутствует `tic`, обновить [.filename]#$"
-"{PREFIX}/shared/misc/terminfo.db# из файлов [.filename]#*.terminfo# в "
-"[.filename]#${PREFIX}/shared/misc#."
+"При установке и удалении, если присутствует `tic`, обновить [."
+"filename]#${PREFIX}/shared/misc/terminfo.db# из файлов [.filename]#*."
+"terminfo# в [.filename]#${PREFIX}/shared/misc#."
#. type: Title ===
#: documentation/content/en/books/porters-handbook/plist/_index.adoc:408
@@ -1014,14 +1013,16 @@ msgstr "@(,games,2755) sbin/daemon\n"
#: documentation/content/en/books/porters-handbook/plist/_index.adoc:424
#, no-wrap
msgid "`@preexec` _command_, `@postexec` _command_, `@preunexec` _command_, `@postunexec` _command_"
-msgstr "`@preexec` _команда_, `@postexec` _команда_, `@preunexec` _команда_, `@postunexec` _команда_"
+msgstr ""
+"`@preexec` _команда_, `@postexec` _команда_, `@preunexec` _команда_, "
+"`@postunexec` _команда_"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/plist/_index.adoc:427
msgid ""
"Execute _command_ as part of the package installation or deinstallation "
"process."
-msgstr "Выполнить _комманду_ как часть процесса установки или удаления пакета."
+msgstr "Выполнить _команду_ как часть процесса установки или удаления пакета."
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/plist/_index.adoc:428
@@ -1077,8 +1078,8 @@ msgid ""
msgstr ""
"Если в _команде_ содержится любая из этих последовательностей, они "
"раскрываются непосредственно. Для следующих примеров предположим, что `@cwd` "
-"установлен в [.filename]#/usr/local#, а последним извлечённым файлом был "
-"[.filename]#bin/emacs#."
+"установлен в [.filename]#/usr/local#, а последним извлечённым файлом был [."
+"filename]#bin/emacs#."
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/plist/_index.adoc:443
@@ -1372,9 +1373,9 @@ msgid ""
"For example:"
msgstr ""
"Изменяет владельца, группу или режим доступа, используемые ключевым словом. "
-"Содержит ассоциативный массив, в котором возможными ключами являются "
-"`owner`, `group` и `mode`. Значениями являются, соответственно, имя "
-"пользователя, имя группы и режим доступа к файлу. Например:"
+"Содержит ассоциативный массив, в котором возможными ключами являются `owner`"
+", `group` и `mode`. Значениями являются, соответственно, имя пользователя, "
+"имя группы и режим доступа к файлу. Например:"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/plist/_index.adoc:547
@@ -1563,7 +1564,9 @@ msgstr "actions: [file(1)]\n"
#: documentation/content/en/books/porters-handbook/plist/_index.adoc:615
#, no-wrap
msgid "`pre-install`, `post-install`, `pre-deinstall`, `post-deinstall`, `pre-upgrade`, `post-upgrade`"
-msgstr "`pre-install`, `post-install`, `pre-deinstall`, `post-deinstall`, `pre-upgrade`, `post-upgrade`"
+msgstr ""
+"`pre-install`, `post-install`, `pre-deinstall`, `post-deinstall`, `pre-"
+"upgrade`, `post-upgrade`"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/plist/_index.adoc:620
@@ -1726,6 +1729,7 @@ msgstr ""
" if cmp -s \"${target_file}\" \"${sample_file}\"; then\n"
" rm -f \"${target_file}\"\n"
" else\n"
-" echo \"You may need to manually remove ${target_file} if it is no longer needed.\"\n"
+" echo \"You may need to manually remove ${target_file} if it is no longer "
+"needed.\"\n"
" fi\n"
"EOD\n"
diff --git a/documentation/content/ru/books/porters-handbook/porting-dads/_index.adoc b/documentation/content/ru/books/porters-handbook/porting-dads/_index.adoc
index 519a72f2e3..3183b3361c 100644
--- a/documentation/content/ru/books/porters-handbook/porting-dads/_index.adoc
+++ b/documentation/content/ru/books/porters-handbook/porting-dads/_index.adoc
@@ -4,8 +4,8 @@ next: books/porters-handbook/porting-samplem
params:
path: /books/porters-handbook/porting-dads/
prev: books/porters-handbook/security
-showBookMenu: true
-tags: "[\"dos\", \"don'ts\", \"porting\", \"ports\", \"guide\"]"
+showBookMenu: 'true'
+tags: ["dos", "don'ts", "porting", "ports", "guide"]
title: 'Глава 13. Что делать нужно, и что делать нельзя'
weight: 13
---
@@ -53,7 +53,7 @@ endif::[]
[[dads-intro]]
== Введение
-Вот список часто встречающихся действий, которые нужно и которые нельзя делать во время процесса портирования. Проверьте порт по этому списку, и также проверьте порты в https://bugs.FreeBSD.org/search/[базе сообщений PR], которые присланы другими людьми. Присылайте любые комментарии о портах, которые вы проверили, так, как это описано в статье о extref:{contributing}[Сообщениях об ошибках и общих замечаниях, CONTRIB-GENERAL]. Проверка портов в базе сообщений PR позволит нам быстрее коммиттить их и удостовериться, что вы знаете, что делаете.
+Вот список часто встречающихся действий, которые нужно и которые нельзя делать во время процесса портирования. Проверьте порт по этому списку, и также проверьте порты в https://bugs.FreeBSD.org/search/[базе сообщений PR], которые присланы другими людьми. Присылайте любые комментарии о портах, которые вы проверили, так, как это описано в статье о extref:{contributing}[Сообщениях об ошибках и общих замечаниях, CONTRIB-GENERAL]. Проверка портов в базе сообщений PR позволит нам быстрее коммитить их и удостовериться, что вы знаете, что делаете.
[[porting-wrkdir]]
== `WRKDIR`
@@ -63,7 +63,7 @@ endif::[]
[[porting-wrkdirprefix]]
== `WRKDIRPREFIX`
-Добейтесь того, чтобы ваш порт принимал во внимание значение переменной `WRKDIRPREFIX`. Большинство портов об этом не заботятся. В частности, если вы обращаетесь к каталогу `WRKDIR` другого порта, заметьте, что его правильным местоположением является [.filename]#WRKDIRPREFIXPORTSDIR/subdir/name/work#, а не [.filename]#PORTSDIR/subdir/work# или [.filename]#.CURDIR/../../subdir/name/work# мли что-то подобное. Кроме того, если вы сами задаете `WRKDIR`, то должны поставить перед ним знак `${WRKDIRPREFIX}${.CURDIR}`.
+Добейтесь того, чтобы ваш порт принимал во внимание значение переменной `WRKDIRPREFIX`. Большинство портов об этом не заботятся. В частности, если вы обращаетесь к каталогу `WRKDIR` другого порта, заметьте, что его правильным местоположением является [.filename]#WRKDIRPREFIXPORTSDIR/subdir/name/work#, а не [.filename]#PORTSDIR/subdir/work# или [.filename]#.CURDIR/../../subdir/name/work# или что-то подобное. Кроме того, если вы сами задаете `WRKDIR`, то должны поставить перед ним знак `${WRKDIRPREFIX}${.CURDIR}`.
[[porting-versions]]
== Различение операционных систем и версий ОС
@@ -237,11 +237,11 @@ CFLAGS+= -DHAVE_SOUND
....
[[dads-verbose-logs]]
-== Подробные логи сборки
+== Подробные журналы сборки
-Заставьте систему сборки портов отображать все команды, выполняемые на этапе сборки. Полные логи сборки критически важны для отладки проблем с портами.
+Заставьте систему сборки портов отображать все команды, выполняемые на этапе сборки. Полные журналы сборки критически важны для отладки проблем с портами.
-Пример неинформативного лога сборки (плохой):
+Пример неинформативного журнала сборки (плохой):
[.programlisting]
....
@@ -452,7 +452,7 @@ man:sysctl[8] следует всегда использовать через п
Убедитесь, что вы выделили основные различия в PR и журнале коммитов, чтобы другие люди знали, что ничего плохого не произошло.
====
-Связжитесь с автором этого программного обеспечения для подтверждения изменений.
+Свяжитесь с автором этого программного обеспечения для подтверждения изменений.
[[dads-use-posix-standards]]
== Используйте стандарты POSIX
diff --git a/documentation/content/ru/books/porters-handbook/porting-dads/_index.po b/documentation/content/ru/books/porters-handbook/porting-dads/_index.po
index d277972fb0..3c359e088c 100644
--- a/documentation/content/ru/books/porters-handbook/porting-dads/_index.po
+++ b/documentation/content/ru/books/porters-handbook/porting-dads/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-09-18 22:05+0300\n"
-"PO-Revision-Date: 2025-08-26 04:45+0000\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
+"PO-Revision-Date: 2025-10-29 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/booksporters-handbookporting-dads_index/ru/>\n"
@@ -18,13 +18,15 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:1
#, no-wrap
msgid "A list of common dos and don'ts that are encountered during the FreeBSD porting process"
-msgstr "Список распространённых рекомендаций и ошибок, встречающихся в процессе портирования на FreeBSD"
+msgstr ""
+"Список распространённых рекомендаций и ошибок, встречающихся в процессе "
+"портирования на FreeBSD"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:1
#, no-wrap
msgid "Chapter 13. Dos and Don'ts"
@@ -57,9 +59,9 @@ msgstr ""
"делать во время процесса портирования. Проверьте порт по этому списку, и "
"также проверьте порты в https://bugs.FreeBSD.org/search/[базе сообщений PR], "
"которые присланы другими людьми. Присылайте любые комментарии о портах, "
-"которые вы проверили, так, как это описано в статье о extref:{contributing}"
-"[Сообщениях об ошибках и общих замечаниях, CONTRIB-GENERAL]. Проверка портов "
-"в базе сообщений PR позволит нам быстрее коммиттить их и удостовериться, что "
+"которые вы проверили, так, как это описано в статье о extref:{contributing}["
+"Сообщениях об ошибках и общих замечаниях, CONTRIB-GENERAL]. Проверка портов "
+"в базе сообщений PR позволит нам быстрее коммитить их и удостовериться, что "
"вы знаете, что делаете."
#. type: Title ==
@@ -82,8 +84,8 @@ msgstr ""
"единственным местом, которое гарантированно будет доступно для записи во "
"время построения порта (обратитесь к главе об extref:{handbook}[установке "
"портов с CDROM, PORTS-CD] за примером построения портов из дерева, "
-"доступного только для чтения). Если вам нужно изменить какой-либо из файлов "
-"[.filename]##pkg-*##, сделайте это, crossref:pkg-files[pkg-"
+"доступного только для чтения). Если вам нужно изменить какой-либо из файлов ["
+".filename]##pkg-*##, сделайте это, crossref:pkg-files[pkg-"
"names,переопределив переменную], но не перезаписывая их."
#. type: Title ==
@@ -105,10 +107,10 @@ msgstr ""
"`WRKDIRPREFIX`. Большинство портов об этом не заботятся. В частности, если "
"вы обращаетесь к каталогу `WRKDIR` другого порта, заметьте, что его "
"правильным местоположением является [.filename]#WRKDIRPREFIXPORTSDIR/subdir/"
-"name/work#, а не [.filename]#PORTSDIR/subdir/work# или "
-"[.filename]#.CURDIR/../../subdir/name/work# мли что-то подобное. Кроме того, "
-"если вы сами задаете `WRKDIR`, то должны поставить перед ним знак `$"
-"{WRKDIRPREFIX}${.CURDIR}`."
+"name/work#, а не [.filename]#PORTSDIR/subdir/work# или [.filename]#.CURDIR/"
+"../../subdir/name/work# или что-то подобное. Кроме того, если вы сами "
+"задаете `WRKDIR`, то должны поставить перед ним знак `${WRKDIRPREFIX}${."
+"CURDIR}`."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:75
@@ -128,9 +130,9 @@ msgstr ""
"Вы можете встретиться с кодом, который требует модификаций или условной "
"компиляции в зависимости от того, с какой версией FreeBSD Unix он работает. "
"Предпочтительным способом отделения кода для версий FreeBSD является "
-"использование макросов {freebsd-version} и {freebsd}, определённых в https://"
-"cgit.freebsd.org/src/tree/sys/sys/param.h[sys/param.h]. Если этот файл не "
-"подключен, добавьте код"
+"использование макросов {freebsd-version} и {freebsd}, определённых в "
+"https://cgit.freebsd.org/src/tree/sys/sys/param.h[sys/param.h]. Если этот "
+"файл не подключен, добавьте код"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:83
@@ -174,8 +176,8 @@ msgid ""
"A complete list of `{freebsd-version}` values is available in "
"crossref:versions[versions,__FreeBSD_version Values]."
msgstr ""
-"Полный список значений `{freebsd-version}` доступен в "
-"crossref:versions[versions,Значения __FreeBSD_version]."
+"Полный список значений `{freebsd-version}` доступен в crossref:versions["
+"versions,Значения __FreeBSD_version]."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:102
@@ -203,8 +205,8 @@ msgid ""
"[.filename]#bsd.port.post.mk# pair or [.filename]#bsd.port.mk# only; do not "
"mix these two usages."
msgstr ""
-"Вам нужно включить либо пару файлов [.filename]#bsd.port.pre.mk#/"
-"[.filename]#bsd.port.post.mk#, либо только [.filename]#bsd.port.mk#; не "
+"Вам нужно включить либо пару файлов [.filename]#bsd.port.pre.mk#/[."
+"filename]#bsd.port.post.mk#, либо только [.filename]#bsd.port.mk#; не "
"используйте оба этих метода одновременно."
#. type: Plain text
@@ -225,9 +227,9 @@ msgid ""
"(this is not the complete list, please read [.filename]#bsd.port.mk# for the "
"complete list)."
msgstr ""
-"Вот некоторые важные переменные, определенные в файле "
-"[.filename]#bsd.port.pre.mk# (это не полный список, для выяснения полного "
-"списка прочтите, пожалуйста, сам файл [.filename]#bsd.port.mk#)."
+"Вот некоторые важные переменные, определенные в файле [.filename]#bsd.port."
+"pre.mk# (это не полный список, для выяснения полного списка прочтите, "
+"пожалуйста, сам файл [.filename]#bsd.port.mk#)."
#. type: Table
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:120
@@ -251,7 +253,9 @@ msgstr "`ARCH`"
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:125
#, no-wrap
msgid "The architecture as returned by `uname -m` (for example, `i386`)"
-msgstr "Архитектура машины в виде, получаемом по команде `uname -m` (например, `i386`)"
+msgstr ""
+"Архитектура машины в виде, получаемом по команде `uname -m` (например, "
+"`i386`)"
#. type: Table
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:126
@@ -263,7 +267,9 @@ msgstr "`OPSYS`"
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:128
#, no-wrap
msgid "The operating system type, as returned by `uname -s` (for example, `FreeBSD`)"
-msgstr "Тип операционной системы, получаемый по команде `uname -s` (например, `FreeBSD`)"
+msgstr ""
+"Тип операционной системы, получаемый по команде `uname -s` (например, "
+"`FreeBSD`)"
#. type: Table
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:129
@@ -287,7 +293,9 @@ msgstr "`OSVERSION`"
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:134
#, no-wrap
msgid "The numeric version of the operating system; the same as crossref:versions[versions,`{freebsd-version}`]."
-msgstr "Версия операционной системы в виде числа, та же, что и crossref:versions[versions,`{freebsd-version}`]."
+msgstr ""
+"Версия операционной системы в виде числа, та же, что и "
+"crossref:versions[versions,`{freebsd-version}`]."
#. type: Table
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:135
@@ -311,7 +319,9 @@ msgstr "`PREFIX`"
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:139
#, no-wrap
msgid "Where the port installs itself (see crossref:testing[porting-prefix,more on `PREFIX`])."
-msgstr "Куда, собственно, устанавливается порт (обратитесь к crossref:testing[porting-prefix,подробной информации о `PREFIX`])."
+msgstr ""
+"Куда, собственно, устанавливается порт (обратитесь к crossref:testing"
+"[porting-prefix,подробной информации о `PREFIX`])."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:144
@@ -319,8 +329,8 @@ msgid ""
"When `MASTERDIR` is needed, always define it before including "
"[.filename]#bsd.port.pre.mk#."
msgstr ""
-"Если вы задаете переменную `MASTERDIR`, делайте это до подключения "
-"[.filename]#bsd.port.pre.mk#."
+"Если вы задаете переменную `MASTERDIR`, делайте это до подключения [."
+"filename]#bsd.port.pre.mk#."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:147
@@ -328,8 +338,8 @@ msgid ""
"Here are some examples of things that can be added after "
"[.filename]#bsd.port.pre.mk#:"
msgstr ""
-"Вот несколько примеров того, что вы можете написать после "
-"[.filename]#bsd.port.pre.mk#:"
+"Вот несколько примеров того, что вы можете написать после [.filename]#bsd."
+"port.pre.mk#:"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:154
@@ -426,8 +436,8 @@ msgstr ""
"Если вы обнаружите, что для выполнения чего-то приходится писать много "
"нового кода, то, пожалуйста, просмотрите файл [.filename]#bsd.port.mk# на "
"предмет того, не содержит ли он решение именно вашей проблемы. Хотя его "
-"трудно читать, имеется много проблем, выглядящих сложными, для которых файл "
-"[.filename]#bsd.port.mk# уже содержит быстрое решение."
+"трудно читать, имеется много проблем, выглядящих сложными, для которых файл ["
+".filename]#bsd.port.mk# уже содержит быстрое решение."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:186
@@ -456,8 +466,8 @@ msgid ""
"If the port does not respect these variables, please add `NO_PACKAGE=ignores "
"either cc or cxx` to the [.filename]#Makefile#."
msgstr ""
-"Если порт не учитывает значения этих переменных, добавьте строку "
-"`NO_PACKAGE=ignores either cc or cxx` в файл [.filename]#Makefile#."
+"Если порт не учитывает значения этих переменных, добавьте строку `"
+"NO_PACKAGE=ignores either cc or cxx` в файл [.filename]#Makefile#."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:197
@@ -466,8 +476,8 @@ msgid ""
"`CXX`. Note the `?=`:"
msgstr ""
"Далее следует пример файла [.filename]#Makefile#, использующего как "
-"переменную `CC`, так и `CXX`. Обратите внимание на использование символов `?"
-"=`:"
+"переменную `CC`, так и `CXX`. Обратите внимание на использование символов "
+"`?=`:"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:201
@@ -539,8 +549,8 @@ msgid ""
"If it does not, please add `NO_PACKAGE=ignores cflags` to the "
"[.filename]#Makefile#."
msgstr ""
-"Если порт не учитывает значения этой переменной, добавьте строку "
-"`NO_PACKAGE=ignores cflags` в файл [.filename]#Makefile#."
+"Если порт не учитывает значения этой переменной, добавьте строку `"
+"NO_PACKAGE=ignores cflags` в файл [.filename]#Makefile#."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:235
@@ -616,7 +626,7 @@ msgstr "CFLAGS+= -DHAVE_SOUND\n"
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:269
#, no-wrap
msgid "Verbose Build Logs"
-msgstr "Подробные логи сборки"
+msgstr "Подробные журналы сборки"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:273
@@ -625,12 +635,12 @@ msgid ""
"stage. Complete build logs are crucial to debugging port problems."
msgstr ""
"Заставьте систему сборки портов отображать все команды, выполняемые на этапе "
-"сборки. Полные логи сборки критически важны для отладки проблем с портами."
+"сборки. Полные журналы сборки критически важны для отладки проблем с портами."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:275
msgid "Non-informative build log example (bad):"
-msgstr "Пример неинформативного лога сборки (плохой):"
+msgstr "Пример неинформативного журнала сборки (плохой):"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:281
@@ -701,8 +711,8 @@ msgid ""
"[.filename]#README.html# is not part of the port, but generated by `make "
"readme`. Do not include this file in patches or commits."
msgstr ""
-"[.filename]#README.html# не является частью порта и генерируется при помощи "
-"`make readme`. Не включайте этот файл в патчи или коммиты."
+"[.filename]#README.html# не является частью порта и генерируется при помощи `"
+"make readme`. Не включайте этот файл в патчи или коммиты."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:310
@@ -926,7 +936,8 @@ msgstr "и в результате `make describe` выведен информа
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:371
#, no-wrap
msgid "===> foobar-0.1 is marked as broken: fails to link with base -lcrypto.\n"
-msgstr "===> foobar-0.1 is marked as broken: fails to link with base -lcrypto.\n"
+msgstr ""
+"===> foobar-0.1 is marked as broken: fails to link with base -lcrypto.\n"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:376
@@ -976,8 +987,8 @@ msgid ""
"[.filename]##Makefile##s should test the value of this Makevar."
msgstr ""
"Значения отображаются в форме `TARGET`/`TARGET_ARCH`. Переменная только для "
-"чтения `ARCH` в ports устанавливается на основе значения `TARGET_ARCH`. "
-"[.filename]##Makefile## в портах должны проверять значение этой переменной."
+"чтения `ARCH` в ports устанавливается на основе значения `TARGET_ARCH`. [."
+"filename]##Makefile## в портах должны проверять значение этой переменной."
#. type: Title ===
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:399
@@ -1075,8 +1086,8 @@ msgstr ""
"Если порт загружает и устанавливает бинарные файлы i386, установите "
"`IA32_BINARY_PORT`. Если эта переменная задана, [.filename]#/usr/lib32# "
"должен присутствовать для IA32-версий библиотек, а ядро должно поддерживать "
-"совместимость с IA32. Если одно из этих двух условий не выполняется, "
-"`IGNORE` будет установлен автоматически."
+"совместимость с IA32. Если одно из этих двух условий не выполняется, `IGNORE`"
+" будет установлен автоматически."
#. type: Title ===
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:434
@@ -1312,7 +1323,7 @@ msgstr ""
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:519
msgid "Contact the authors of the software and confirm the changes with them."
msgstr ""
-"Связжитесь с автором этого программного обеспечения для подтверждения "
+"Свяжитесь с автором этого программного обеспечения для подтверждения "
"изменений."
#. type: Title ==
@@ -1413,8 +1424,8 @@ msgid ""
"page)."
msgstr ""
"Используйте https://www.freebsd.org/cgi/man.cgi[страницы справочника] для "
-"проверки, относится ли функция к интерфейсу POSIX (ищите раздел "
-"\"STANDARDS\" на странице справочника)."
+"проверки, относится ли функция к интерфейсу POSIX (ищите раздел \"STANDARDS\""
+" на странице справочника)."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:548
@@ -1443,9 +1454,9 @@ msgid ""
"much of a problem for Linux(R) as it is for FreeBSD."
msgstr ""
"Проверьте, что используемые заголовочные файлы включены в POSIX или список, "
-"рекомендуемый страницей справочника, т.к. например, забыть подключить "
-"[.filename]#sys/types.h# - не такая уж проблема в Linux(R), однако это не "
-"так во FreeBSD."
+"рекомендуемый страницей справочника, т.к. например, забыть подключить [."
+"filename]#sys/types.h# - не такая уж проблема в Linux(R), однако это не так "
+"во FreeBSD."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/porting-dads/_index.adoc:555
diff --git a/documentation/content/ru/books/porters-handbook/porting-samplem/_index.adoc b/documentation/content/ru/books/porters-handbook/porting-samplem/_index.adoc
index d4dd67a440..53725bcfb2 100644
--- a/documentation/content/ru/books/porters-handbook/porting-samplem/_index.adoc
+++ b/documentation/content/ru/books/porters-handbook/porting-samplem/_index.adoc
@@ -4,7 +4,7 @@ next: books/porters-handbook/order
params:
path: /books/porters-handbook/porting-samplem/
prev: books/porters-handbook/porting-dads
-showBookMenu: true
+showBookMenu: 'true'
tags: ["sample", "makefile"]
title: 'Глава 14. Примерный Makefile'
weight: 14
diff --git a/documentation/content/ru/books/porters-handbook/porting-samplem/_index.po b/documentation/content/ru/books/porters-handbook/porting-samplem/_index.po
index 9f10c99918..06f6a274dd 100644
--- a/documentation/content/ru/books/porters-handbook/porting-samplem/_index.po
+++ b/documentation/content/ru/books/porters-handbook/porting-samplem/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-09-18 22:05+0300\n"
+"POT-Creation-Date: 2025-08-17 20:54+0100\n"
"PO-Revision-Date: 2025-08-20 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,13 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/porters-handbook/porting-samplem/_index.adoc:1
#, no-wrap
msgid "A sample Makefile that can be used to create a new FreeBSD Port"
msgstr "Образец Makefile, который можно использовать для создания нового порта FreeBSD"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/porters-handbook/porting-samplem/_index.adoc:1
#, no-wrap
msgid "Chapter 14. A Sample Makefile"
@@ -40,17 +40,16 @@ msgstr "Примерный Makefile"
#: documentation/content/en/books/porters-handbook/porting-samplem/_index.adoc:52
msgid ""
"Here is a sample [.filename]#Makefile# that can be used to create a new port."
-msgstr ""
-"Образец Makefile, который можно использовать для создания нового порта."
+msgstr "Образец Makefile, который можно использовать для создания нового порта."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/porting-samplem/_index.adoc:56
msgid ""
"The format shown is the recommended one for crossref:order[, ordering] "
"variables, empty lines between sections, and so on. This format is designed "
-"so that the most important information is easy to locate. Refer to "
-"crossref:testing[, the chapter about testing] to learn more about tools for "
-"linting, formatting, and checking the [.filename]#Makefile#."
+"so that the most important information is easy to locate. Refer to crossref:"
+"testing[, the chapter about testing] to learn more about tools for linting, "
+"formatting, and checking the [.filename]#Makefile#."
msgstr ""
"Вам рекомендуется следовать этому формату (соблюдая crossref:order[,порядок] "
"следования переменных, пустые строки между разделами, и так далее). Этот "
@@ -240,8 +239,8 @@ msgstr ""
#: documentation/content/en/books/porters-handbook/porting-samplem/_index.adoc:117
msgid "Set this if the source is not in the standard \".tar.gz\" form."
msgstr ""
-"Задайте это, если исходный код поставляется не в виде стандартного файла "
-"\".tar.gz\"."
+"Задайте это, если исходный код поставляется не в виде стандартного файла \"."
+"tar.gz\"."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/porting-samplem/_index.adoc:118
@@ -263,8 +262,8 @@ msgid ""
"Maintainer; *mandatory*! This is the person who is volunteering to handle "
"port updates, build breakages, and to whom a users can direct questions and "
"bug reports. To keep the quality of the Ports Collection as high as "
-"possible, we do not accept new ports that are assigned to "
-"\"ports@FreeBSD.org\"."
+"possible, we do not accept new ports that are assigned to \"ports@FreeBSD.org"
+"\"."
msgstr ""
"Сопровождающий; *обязательное поле*! Это человек, который добровольно "
"занимается обновлениями порта и неисправностями при построении, и которому "
@@ -285,13 +284,13 @@ msgstr "Зависимости — могут быть пустыми."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/porting-samplem/_index.adoc:126
msgid ""
-"If the port requires GNU make instead of the default FreeBSD `make` "
-"(man:make[1]) to build. For example, some X applications require `xmkmf -a` "
-"to run, in which case the port would need `USES=imake`."
+"If the port requires GNU make instead of the default FreeBSD `make` (man:"
+"make[1]) to build. For example, some X applications require `xmkmf -a` to "
+"run, in which case the port would need `USES=imake`."
msgstr ""
"Если порт требует GNU make вместо стандартного FreeBSD `make` (man:make[1]) "
-"для сборки. Например, некоторым приложениям X требуется выполнение `xmkmf "
-"-a`, в этом случае порту понадобится `USES=imake`."
+"для сборки. Например, некоторым приложениям X требуется выполнение `xmkmf -a`"
+", в этом случае порту понадобится `USES=imake`."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/porting-samplem/_index.adoc:127
@@ -330,8 +329,8 @@ msgstr "Этот раздел предназначен для настройки
#. type: Plain text
#: documentation/content/en/books/porters-handbook/porting-samplem/_index.adoc:132
msgid ""
-"Set `OPTIONS_SUB` if options will change the list of files in the "
-"crossref:plist[plist-sub, plist]."
+"Set `OPTIONS_SUB` if options will change the list of files in the crossref:"
+"plist[plist-sub, plist]."
msgstr ""
"Установите `OPTIONS_SUB`, если параметры изменят список файлов в "
"crossref:plist[plist-sub, plist]."
diff --git a/documentation/content/ru/books/porters-handbook/porting-why/_index.adoc b/documentation/content/ru/books/porters-handbook/porting-why/_index.adoc
index 83be752dab..fd5719dce2 100644
--- a/documentation/content/ru/books/porters-handbook/porting-why/_index.adoc
+++ b/documentation/content/ru/books/porters-handbook/porting-why/_index.adoc
@@ -4,7 +4,7 @@ next: books/porters-handbook/new-port
params:
path: /books/porters-handbook/porting-why/
prev: books/porters-handbook
-showBookMenu: true
+showBookMenu: 'true'
tags: ["ports", "why porting"]
title: 'Глава 1. Введение'
weight: 1
diff --git a/documentation/content/ru/books/porters-handbook/porting-why/_index.po b/documentation/content/ru/books/porters-handbook/porting-why/_index.po
index 7cdf3c5595..115ef216bf 100644
--- a/documentation/content/ru/books/porters-handbook/porting-why/_index.po
+++ b/documentation/content/ru/books/porters-handbook/porting-why/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-09-18 22:05+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-07-12 12:10+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,13 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/porters-handbook/porting-why/_index.adoc:1
#, no-wrap
msgid "Why port a program to the FreeBSD Ports Collection"
msgstr "Почему добавляют программы в коллекцию портов FreeBSD"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/porters-handbook/porting-why/_index.adoc:1
#, no-wrap
msgid "Chapter 1. Introduction"
diff --git a/documentation/content/ru/books/porters-handbook/quick-porting/_index.adoc b/documentation/content/ru/books/porters-handbook/quick-porting/_index.adoc
index 27cbe1b0ec..01e76032f0 100644
--- a/documentation/content/ru/books/porters-handbook/quick-porting/_index.adoc
+++ b/documentation/content/ru/books/porters-handbook/quick-porting/_index.adoc
@@ -4,7 +4,7 @@ next: books/porters-handbook/slow-porting
params:
path: /books/porters-handbook/quick-porting/
prev: books/porters-handbook/new-port
-showBookMenu: true
+showBookMenu: 'true'
tags: ["quick porting", "guide", "port", "ports collection", "how-to"]
title: 'Глава 3. Быстрое портирование'
weight: 3
diff --git a/documentation/content/ru/books/porters-handbook/quick-porting/_index.po b/documentation/content/ru/books/porters-handbook/quick-porting/_index.po
index 9900889410..89db3e3e17 100644
--- a/documentation/content/ru/books/porters-handbook/quick-porting/_index.po
+++ b/documentation/content/ru/books/porters-handbook/quick-porting/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-09-18 22:05+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\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/"
@@ -18,13 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:1
#, no-wrap
msgid "How to quickly create a new FreeBSD Port"
msgstr "Как быстро создать новый порт FreeBSD"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:1
#, no-wrap
msgid "Chapter 3. Quick Porting"
@@ -53,8 +53,8 @@ msgid ""
"First, get the original tarball and put it into `DISTDIR`, which defaults to "
"[.filename]#/usr/ports/distfiles#."
msgstr ""
-"Во-первых, скачайте оригинальный tar-файл и поместите его в каталог "
-"`DISTDIR`, который по умолчанию есть не что иное, как [.filename]#/usr/ports/"
+"Во-первых, скачайте оригинальный tar-файл и поместите его в каталог `DISTDIR`"
+", который по умолчанию есть не что иное, как [.filename]#/usr/ports/"
"distfiles#."
#. type: delimited block = 4
@@ -192,8 +192,8 @@ msgid ""
"looks particularly bad with monospaced fonts."
msgstr ""
"Это _не_ руководство и не подробное описание того, как использовать или "
-"компилировать порт! _Пожалуйста, будьте осторожны при копировании из "
-"[.filename]#README# или manpage_. Очень часто они не содержат краткого "
+"компилировать порт! _Пожалуйста, будьте осторожны при копировании из [."
+"filename]#README# или manpage_. Очень часто они не содержат краткого "
"описания порта или имеют неудобный формат. Например, manpages используют "
"выравнивание по ширине, что особенно плохо выглядит с моноширинными шрифтами."
@@ -235,8 +235,8 @@ msgid ""
"The URL that used to be included as the last line of the [.filename]#pkg-"
"descr# file has been moved to the [.filename]#Makefile#."
msgstr ""
-"URL, который ранее включался в последнюю строку файла [.filename]#pkg-"
-"descr#, был перемещен в [.filename]#Makefile#."
+"URL, который ранее включался в последнюю строку файла [.filename]#pkg-descr#"
+", был перемещен в [.filename]#Makefile#."
#. type: Title ===
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:129
@@ -310,9 +310,9 @@ msgid ""
"the packing list automatically] might save time."
msgstr ""
"Создание списка упаковки вручную может оказаться весьма трудоёмкой задачей. "
-"Если порт устанавливает большое количество файлов, раздел об "
-"crossref:plist[plist-autoplist,автоматическом построении списка упаковки] "
-"может помочь сэкономить время."
+"Если порт устанавливает большое количество файлов, раздел об crossref:plist"
+"[plist-autoplist,автоматическом построении списка упаковки] может помочь "
+"сэкономить время."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:166
@@ -323,13 +323,13 @@ msgid ""
"could get along without [.filename]#pkg-plist# in the above "
"[.filename]#oneko# port by adding these lines to the [.filename]#Makefile#:"
msgstr ""
-"Существует только одно исключение, когда у порта может отсутствовать "
-"[.filename]#pkg-plist#. Если порт устанавливает лишь несколько файлов, а "
+"Существует только одно исключение, когда у порта может отсутствовать [."
+"filename]#pkg-plist#. Если порт устанавливает лишь несколько файлов, а "
"возможно, и каталогов, то они могут быть перечислены в переменных "
-"`PLIST_FILES` и `PLIST_DIRS`, соответственно, внутри файла "
-"[.filename]#Makefile# порта. К примеру, мы можем обойтись без файла "
-"[.filename]#pkg-plist# у приведённого выше порта [.filename]#oneko#, добавив "
-"следующие строки в [.filename]#Makefile#:"
+"`PLIST_FILES` и `PLIST_DIRS`, соответственно, внутри файла [."
+"filename]#Makefile# порта. К примеру, мы можем обойтись без файла [.filename"
+"]#pkg-plist# у приведённого выше порта [.filename]#oneko#, добавив следующие "
+"строки в [.filename]#Makefile#:"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:175
@@ -359,8 +359,8 @@ msgid ""
msgstr ""
"Использование `PLIST_FILES` не должно быть чрезмерным. При поиске "
"происхождения файла обычно просматривают файлы [.filename]#pkg-plist# в "
-"дереве портов с помощью grep. Указание файлов в `PLIST_FILES` в "
-"[.filename]#Makefile# усложняет этот поиск."
+"дереве портов с помощью grep. Указание файлов в `PLIST_FILES` в [."
+"filename]#Makefile# усложняет этот поиск."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:187
@@ -369,10 +369,10 @@ msgid ""
"of [.filename]#${PREFIX}# during installation, refer to crossref:plist[plist-"
"dir-cleaning,Cleaning Up Empty Directories] for more information."
msgstr ""
-"Если порту требуется создать пустой каталог или он создает каталоги вне "
-"[.filename]#${PREFIX}# во время установки, обратитесь к разделу "
-"crossref:plist[plist-dir-cleaning,Очистка пустых каталогов] для получения "
-"дополнительной информации."
+"Если порту требуется создать пустой каталог или он создает каталоги вне [."
+"filename]#${PREFIX}# во время установки, обратитесь к разделу crossref:plist"
+"[plist-dir-cleaning,Очистка пустых каталогов] для получения дополнительной "
+"информации."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:193
@@ -465,8 +465,8 @@ msgid ""
"The port can be deinstalled properly using the `deinstall` target. This "
"verifies that the deinstall script works correctly."
msgstr ""
-"Порт может быть правильным образом удалён с помощью указания цели "
-"`deinstall`. Это позволяет убедиться в правильной работе сценария удаления."
+"Порт может быть правильным образом удалён с помощью указания цели `deinstall`"
+". Это позволяет убедиться в правильной работе сценария удаления."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:220
@@ -540,11 +540,11 @@ msgid ""
"for more information. It maintains `jails` where all of the steps shown "
"above can be tested without affecting the state of the host system."
msgstr ""
-"Тщательное автоматизированное тестирование можно выполнить с помощью "
-"package:ports-mgmt/poudriere[] из коллекции портов, дополнительную "
-"информацию см. в crossref:testing[testing-poudriere,poudriere]. Он "
-"поддерживает `клетки`, в которых можно протестировать все указанные выше "
-"шаги без воздействия на состояние основной системы."
+"Тщательное автоматизированное тестирование можно выполнить с помощью package"
+":ports-mgmt/poudriere[] из коллекции портов, дополнительную информацию см. в "
+"crossref:testing[testing-poudriere,poudriere]. Он поддерживает `клетки`, в "
+"которых можно протестировать все указанные выше шаги без воздействия на "
+"состояние основной системы."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:237
@@ -699,8 +699,8 @@ msgstr ""
"[форму отправки отчётов об ошибках]. Укажите продукт \"Ports & Packages\", "
"компонент \"Individual Port(s)\" и следуйте приведённым там инструкциям. "
"Добавьте краткое описание программы в поле Description PR (например, "
-"сокращённую версию `COMMENT`) и не забудьте прикрепить файл "
-"[.filename]#oneko.diff#."
+"сокращённую версию `COMMENT`) и не забудьте прикрепить файл [.filename]#oneko"
+".diff#."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:303
@@ -712,8 +712,8 @@ msgid ""
"committing the new port."
msgstr ""
"Хорошее описание в заголовке сообщения о проблеме значительно облегчает "
-"работу коммиттеров портов. Для новых портов мы предпочитаем нечто вроде "
-"\"[NEW PORT] _категория/название_порта краткое описание порта_\". Следование "
+"работу коммиттеров портов. Для новых портов мы предпочитаем нечто вроде \"["
+"NEW PORT] _категория/название_порта краткое описание порта_\". Следование "
"этой схеме упрощает и ускоряет начало работы по добавлению нового порта."
#. type: delimited block = 4
@@ -747,9 +747,9 @@ msgid ""
"other files."
msgstr ""
"После ознакомления с новым портом мы ответим, если это необходимо, и добавим "
-"его в дерево. Имя отправителя также будет добавлено в список extref:"
-"{contributors}[Дополнительных участников FreeBSD, contrib-additional] и "
-"другие файлы."
+"его в дерево. Имя отправителя также будет добавлено в список "
+"extref:{contributors}[Дополнительных участников FreeBSD, contrib-additional] "
+"и другие файлы."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:318
@@ -763,5 +763,5 @@ msgstr ""
"Ранее можно было отправлять исправления для новых портов, используя файл "
"man:shar[1]; однако с развитием man:git[1] это больше не актуально. "
"Коммиттеры больше не принимают файлы man:shar[1], так как их использование "
-"чревато ошибками и не добавляет соответствующую запись в "
-"[.filename]#Makefile# категории."
+"чревато ошибками и не добавляет соответствующую запись в [."
+"filename]#Makefile# категории."
diff --git a/documentation/content/ru/books/porters-handbook/security/_index.adoc b/documentation/content/ru/books/porters-handbook/security/_index.adoc
index 77845b3b1c..9c638ea003 100644
--- a/documentation/content/ru/books/porters-handbook/security/_index.adoc
+++ b/documentation/content/ru/books/porters-handbook/security/_index.adoc
@@ -4,7 +4,7 @@ next: books/porters-handbook/porting-dads
params:
path: /books/porters-handbook/security/
prev: books/porters-handbook/upgrading
-showBookMenu: true
+showBookMenu: 'true'
tags: ["security", "porting", "ports", "VuXML"]
title: 'Глава 12. Безопасность портов'
weight: 12
@@ -147,8 +147,8 @@ endif::[]
<.> Здесь перечислены имена затронутых пакетов. Может быть дано несколько имен, поскольку некоторые пакеты могут быть основаны на одном главном порте или программном продукте. Сюда можно включить стабильную ветвь и ветвь разработки, локализованные версии и подчиненные порты, зависящие от различного выбора важных вариантов конфигурации, указанных на этапе построения.
<.> Затронутые версии пакета(ов) указаны там как один или несколько диапазонов с использованием комбинации элементов `<lt>`, `<le>`, `<eq>`, `<ge>` и `<gt>`. Убедитесь, что указанные диапазоны версий не перекрываются. +
-В спецификации диапазона `\*` (звёздочка) обозначает наименьший номер версии. В частности, `2.*` меньше, чем `2.a`. Таким образом, звёздочка может использоваться в диапазоне для соответствия всем возможным версиям `alpha`, `beta` и `RC`. Например, `<ge>2.*</ge><lt>3.*</lt>` выборочно соответствует каждой версии `2.x`, тогда как `<ge>2.0</ge><lt>3.0</lt>` — нет, поскольку последний пропускает `2.r3` и включает `3.b`. +
-Приведённый пример указывает, что затронуты версии `1.6` и выше, но не включая `1.9`, версии `2.x` до `2.4_1` и версия `3.0b1`.
+ В спецификации диапазона `\*` (звёздочка) обозначает наименьший номер версии. В частности, `2.*` меньше, чем `2.a`. Таким образом, звёздочка может использоваться в диапазоне для соответствия всем возможным версиям `alpha`, `beta` и `RC`. Например, `<ge>2.*</ge><lt>3.*</lt>` выборочно соответствует каждой версии `2.x`, тогда как `<ge>2.0</ge><lt>3.0</lt>` — нет, поскольку последний пропускает `2.r3` и включает `3.b`. +
+ Приведённый пример указывает, что затронуты версии `1.6` и выше, но не включая `1.9`, версии `2.x` до `2.4_1` и версия `3.0b1`.
<.> Некоторые связанные группы пакетов (в конечном счете, порты) могут быть указаны в разделе `<affected>`. Это можно использовать, если некоторые программные продукты (скажем, FooBar, FreeBar and OpenBar) являются производными от общей кодовой базы и всё еще совместно используют её ошибки и уязвимости. Имейте в виду отличие от перечисления множественных имён в одном разделе <package>.
diff --git a/documentation/content/ru/books/porters-handbook/security/_index.po b/documentation/content/ru/books/porters-handbook/security/_index.po
index 7d28e22d9c..2e71b3c896 100644
--- a/documentation/content/ru/books/porters-handbook/security/_index.po
+++ b/documentation/content/ru/books/porters-handbook/security/_index.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-09-18 22:05+0300\n"
+"POT-Creation-Date: 2025-08-17 20:54+0100\n"
"PO-Revision-Date: 2025-08-20 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,13 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/porters-handbook/security/_index.adoc:1
#, no-wrap
msgid "Security instructions when making a FreeBSD Port"
msgstr "Инструкции по безопасности при создании порта FreeBSD"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/porters-handbook/security/_index.adoc:1
#, no-wrap
msgid "Chapter 12. Security"
@@ -121,24 +121,24 @@ msgid ""
"initially appear in the original distribution or in the port files. In the "
"former case, the original software developer is likely to release a patch or "
"a new version instantly. Update the port promptly with respect to the "
-"author's fix. If the fix is delayed for some reason, either "
-"crossref:porting-dads[dads-noinstall,mark the port as `FORBIDDEN`] or "
-"introduce a patch file to the port. In the case of a vulnerable port, just "
-"fix the port as soon as possible. In either case, follow crossref:port-"
-"upgrading[port-upgrading,the standard procedure for submitting changes] "
-"unless having rights to commit it directly to the ports tree."
+"author's fix. If the fix is delayed for some reason, either crossref:"
+"porting-dads[dads-noinstall,mark the port as `FORBIDDEN`] or introduce a "
+"patch file to the port. In the case of a vulnerable port, just fix the port "
+"as soon as possible. In either case, follow crossref:port-upgrading[port-"
+"upgrading,the standard procedure for submitting changes] unless having "
+"rights to commit it directly to the ports tree."
msgstr ""
"Что касается портов и пакетов, уязвимость безопасности изначально может "
"появиться в исходном дистрибутиве или файлах порта. В первом случае, "
"разработчик исходного программного обеспечения скорее всего сразу же "
"выпустит патч или новую версию, и вам лишь понадобится сразу обновить порт в "
"соответствии с исправлением автора. Если исправление по какой-то причине "
-"задерживается, вам следует либо crossref:porting-dads[dads-"
-"noinstall,пометить порт как `FORBIDDEN`], либо добавить в порт ваш "
-"собственный патч. В случае уязвимости порта просто исправьте этот порт как "
-"можно скорее. В любом случае нужно следовать crossref:port-upgrading[port-"
-"upgrading,стандартной процедуре отправки вашего изменения], если вы не "
-"обладаете правами на коммит изменения непосредственно в дерево портов."
+"задерживается, вам следует либо crossref:porting-dads[dads-noinstall,"
+"пометить порт как `FORBIDDEN`], либо добавить в порт ваш собственный патч. В "
+"случае уязвимости порта просто исправьте этот порт как можно скорее. В любом "
+"случае нужно следовать crossref:port-upgrading[port-upgrading,стандартной "
+"процедуре отправки вашего изменения], если вы не обладаете правами на коммит "
+"изменения непосредственно в дерево портов."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/security/_index.adoc:87
@@ -224,10 +224,10 @@ msgstr ""
"Учитывая огромное число портов в дереве, невозможно по каждому случаю "
"выпускать бюллетень безопасности без создания флуда и потери внимания "
"сообщества к моменту появления действительно серьезных причин. Поэтому "
-"уязвимости безопасности, обнаруженные в портах, записываются в http://"
-"vuxml.freebsd.org/[базу данных FreeBSD VuXML]. Члены Команды Офицеров "
-"Безопасности также отслеживают её на предмет появления вопросов, требующих "
-"их вмешательства."
+"уязвимости безопасности, обнаруженные в портах, записываются в http://vuxml."
+"freebsd.org/[базу данных FreeBSD VuXML]. Члены Команды Офицеров Безопасности "
+"также отслеживают её на предмет появления вопросов, требующих их "
+"вмешательства."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:115
@@ -250,22 +250,22 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:121
msgid ""
-"The VuXML database is an XML document. Its source file "
-"[.filename]#vuln.xml# is kept right inside the port package:security/"
-"vuxml[]. Therefore the file's full pathname will be [.filename]#PORTSDIR/"
-"security/vuxml/vuln.xml#. Each time a security vulnerability is discovered "
-"in a port, please add an entry for it to that file. Until familiar with "
-"VuXML, the best thing to do is to find an existing entry fitting the case at "
-"hand, then copy it and use it as a template."
-msgstr ""
-"База данных VuXML является документом XML. Его исходный файл "
-"[.filename]#vuln.xml# содержится прямо внутри порта package:security/"
-"vuxml[]. Следовательно, полное имя пути к файлу будет [.filename]#PORTSDIR/"
-"security/vuxml/vuln.xml#. Каждый раз, при обнаружении вами в порте "
-"уязвимости безопасности добавьте об этом запись в этот файл. Пока вы не "
-"знакомы с VuXML, лучшее, что вы можете сделать, это найти существующую "
-"запись, подпадающую под ваш случай, затем скопировать ее и использовать в "
-"качестве шаблона."
+"The VuXML database is an XML document. Its source file [.filename]#vuln."
+"xml# is kept right inside the port package:security/vuxml[]. Therefore the "
+"file's full pathname will be [.filename]#PORTSDIR/security/vuxml/vuln.xml#. "
+"Each time a security vulnerability is discovered in a port, please add an "
+"entry for it to that file. Until familiar with VuXML, the best thing to do "
+"is to find an existing entry fitting the case at hand, then copy it and use "
+"it as a template."
+msgstr ""
+"База данных VuXML является документом XML. Его исходный файл [."
+"filename]#vuln.xml# содержится прямо внутри порта package:security/vuxml[]. "
+"Следовательно, полное имя пути к файлу будет [.filename]#PORTSDIR/security/"
+"vuxml/vuln.xml#. Каждый раз, при обнаружении вами в порте уязвимости "
+"безопасности добавьте об этом запись в этот файл. Пока вы не знакомы с "
+"VuXML, лучшее, что вы можете сделать, это найти существующую запись, "
+"подпадающую под ваш случай, затем скопировать ее и использовать в качестве "
+"шаблона."
#. type: Title ===
#: documentation/content/en/books/porters-handbook/security/_index.adoc:123
@@ -594,8 +594,8 @@ msgstr ""
msgid ""
"As a prerequisite, install a fresh version of package:security/vuxml[] port."
msgstr ""
-"В качестве предварительного условия установите свежую версию порта "
-"package:security/vuxml[]."
+"В качестве предварительного условия установите свежую версию порта package:"
+"security/vuxml[]."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:236
@@ -678,8 +678,8 @@ msgid ""
"where `FreeBSD-SA-YY-XXXXXX.asc` is a published https://www.freebsd.org/"
"security/advisories/[FreeBSD Security Advisory]."
msgstr ""
-"где `FreeBSD-SA-YY-XXXXXX.asc` является опубликованным https://"
-"www.freebsd.org/security/advisories/[FreeBSD Security Advisory]."
+"где `FreeBSD-SA-YY-XXXXXX.asc` является опубликованным https://www.freebsd."
+"org/security/advisories/[FreeBSD Security Advisory]."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:273
@@ -799,7 +799,9 @@ msgstr ""
#: documentation/content/en/books/porters-handbook/security/_index.adoc:331
#, no-wrap
msgid "% for flavor in $(make -V FLAVORS); do FLAVOR=\"${flavor}\" make -VPKGNAME;done\n"
-msgstr "% for flavor in $(make -V FLAVORS); do FLAVOR=\"${flavor}\" make -VPKGNAME;done\n"
+msgstr ""
+"% for flavor in $(make -V FLAVORS); do FLAVOR=\"${flavor}\" make -VPKGNAME;"
+"done\n"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:336
@@ -839,14 +841,14 @@ msgid ""
msgstr ""
"Проверка производных версий. Если в вышестоящем проекте обнаружена "
"уязвимость, проверьте, затронуты ли также производные или форки проекта, "
-"включённые в дерево портов. Например, если уязвимость обнаружена в "
-"package:www/firefox[], оцените, есть ли такая же уязвимость в производных, "
-"таких как package:www/librewolf[], package:www/waterfox[] или других "
-"подобных проектах. Включите все затронутые производные в запись VuXML, чтобы "
+"включённые в дерево портов. Например, если уязвимость обнаружена в package:"
+"www/firefox[], оцените, есть ли такая же уязвимость в производных, таких как "
+"package:www/librewolf[], package:www/waterfox[] или других подобных "
+"проектах. Включите все затронутые производные в запись VuXML, чтобы "
"пользователи этих портов были проинформированы. Также проверьте наличие "
"Linux-версий этого порта в дереве. Например, уязвимости в package:databases/"
-"sqlite3[] скорее всего затрагивают и пакеты вроде package:databases/linux-c7-"
-"sqlite3[]."
+"sqlite3[] скорее всего затрагивают и пакеты вроде package:databases/"
+"linux-c7-sqlite3[]."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:349
diff --git a/documentation/content/ru/books/porters-handbook/slow-porting/_index.adoc b/documentation/content/ru/books/porters-handbook/slow-porting/_index.adoc
index a71f5e642d..e0fff86f0b 100644
--- a/documentation/content/ru/books/porters-handbook/slow-porting/_index.adoc
+++ b/documentation/content/ru/books/porters-handbook/slow-porting/_index.adoc
@@ -4,7 +4,7 @@ next: books/porters-handbook/makefiles
params:
path: /books/porters-handbook/slow-porting/
prev: books/porters-handbook/quick-porting
-showBookMenu: true
+showBookMenu: 'true'
tags: ["porting", "ports", "slow porting", "guide"]
title: 'Глава 4. Медленное портирование'
weight: 4
@@ -48,7 +48,7 @@ toc::[]
include::../../../../../shared/asciidoctor.adoc[]
endif::[]
-Итак, все оказалось не так уж и просто, и порт потребовал некоторых модификаций для того, чтобы заставить его работать. В этом разделе мы расскажем, шаг за шагом, как его модифицировать, чтобы он работал с нашей системой портов.
+Итак, всё оказалось не так уж и просто, и порт потребовал некоторых модификаций для того, чтобы заставить его работать. В этом разделе мы расскажем, шаг за шагом, как его модифицировать, чтобы он работал с нашей системой портов.
[[slow-work]]
== Как всё это работает
@@ -92,7 +92,7 @@ endif::[]
Если вы не можете найти FTP/HTTP сайт с хорошим подключением к сети, или находите только сайты, которые имеют раздражающе нестандартные форматы, то можете захотеть поместить копию на надежный сервер FTP или HTTP, который вам доступен (например, ваша домашняя страница).
-Если вы не можете найти доступного и надёжного места для помещения дистрибутивного файла, то мы сами сможем разместить его на сервере `ftp.FreeBSD.org`; однако это наименее рекомендуемое решение. Дистрибутивный файл должен быть помещён в каталог [.filename]#~/public_distfiles/# одного из пользователей машины `freefall`. Попросите того, кто коммиттил ваш порт, сделать это. Этот человек также задаст переменной `MASTER_SITES` значение `MASTER_SITE_LOCAL`, а в переменной `MASTER_SITE_SUBDIR` укажет логин кластера FreeBSD.
+Если вы не можете найти доступного и надёжного места для помещения дистрибутивного файла, то мы сами сможем разместить его на сервере `ftp.FreeBSD.org`; однако это наименее рекомендуемое решение. Дистрибутивный файл должен быть помещён в каталог [.filename]#~/public_distfiles/# одного из пользователей машины `freefall`. Попросите того, кто коммитил ваш порт, сделать это. Этот человек также задаст переменной `MASTER_SITES` значение `MASTER_SITE_LOCAL`, а в переменной `MASTER_SITE_SUBDIR` укажет логин кластера FreeBSD.
Если дистрибутивные файлы вашего порта постоянно меняются по неизвестным причинам без изменения версий со стороны автора, остаётся только поместить дистрибутив на вашу домашнюю Web-страницу и указать её первой в списке `MASTER_SITES`. Если можете, попытайтесь договориться с автором порта об этом; это действительно помогает в достижении некоторого управления исходным кодом. Размещение собственной версии поможет избежать появления ошибок у пользователей типа `checksum mismatch`, а также уменьшит нагрузку на людей, сопровождающих наш FTP-сервер. Также, если у порта имеется только один основной сервер, то рекомендуется поместить архивную копию на свой сайт и указать его в списке `MASTER_SITES` вторым.
diff --git a/documentation/content/ru/books/porters-handbook/slow-porting/_index.po b/documentation/content/ru/books/porters-handbook/slow-porting/_index.po
index 388441324e..875cde808e 100644
--- a/documentation/content/ru/books/porters-handbook/slow-porting/_index.po
+++ b/documentation/content/ru/books/porters-handbook/slow-porting/_index.po
@@ -5,8 +5,8 @@
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"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
+"PO-Revision-Date: 2025-10-31 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/booksporters-handbookslow-porting_index/ru/>\n"
@@ -18,13 +18,14 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/porters-handbook/slow-porting/_index.adoc:1
#, no-wrap
msgid "Description about creating a FreeBSD Port when the program need some modifications"
-msgstr "Описание создания порта FreeBSD, когда программа требует некоторых изменений"
+msgstr ""
+"Описание создания порта FreeBSD, когда программа требует некоторых изменений"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/porters-handbook/slow-porting/_index.adoc:1
#, no-wrap
msgid "Chapter 4. Slow Porting"
@@ -43,7 +44,7 @@ msgid ""
"get it to work. In this section, we will explain, step by step, how to "
"modify it to get it to work with the ports paradigm."
msgstr ""
-"Итак, все оказалось не так уж и просто, и порт потребовал некоторых "
+"Итак, всё оказалось не так уж и просто, и порт потребовал некоторых "
"модификаций для того, чтобы заставить его работать. В этом разделе мы "
"расскажем, шаг за шагом, как его модифицировать, чтобы он работал с нашей "
"системой портов."
@@ -72,8 +73,8 @@ msgid ""
"But do not worry, not many people understand exactly how "
"[.filename]#bsd.port.mk# is working... _:-)_"
msgstr ""
-"Но не волнуйтесь сильно, если вы не до конца понимаете, что делается в "
-"[.filename]#bsd.port.mk#, не так уж много людей его понимает... _:-)_"
+"Но не волнуйтесь сильно, если вы не до конца понимаете, что делается в [."
+"filename]#bsd.port.mk#, не так уж много людей его понимает... _:-)_"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/slow-porting/_index.adoc:64
@@ -141,8 +142,8 @@ msgid ""
"If `HAS_CONFIGURE` or `GNU_CONFIGURE` is set, [.filename]#WRKSRC/configure# "
"is run."
msgstr ""
-"Если установлены `HAS_CONFIGURE` или `GNU_CONFIGURE`, запускается "
-"[.filename]#WRKSRC/configure#."
+"Если установлены `HAS_CONFIGURE` или `GNU_CONFIGURE`, запускается [."
+"filename]#WRKSRC/configure#."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/slow-porting/_index.adoc:71
@@ -211,9 +212,9 @@ msgid ""
"will be easier for someone to figure out what kind of non-default action the "
"port requires."
msgstr ""
-"Например, если у вас есть цель `post-extract`, определённая в вашем файле "
-"[.filename]#Makefile# и файл [.filename]#pre-build# в подкаталоге "
-"[.filename]#scripts#, то после выполнения обычных действий по распаковке, "
+"Например, если у вас есть цель `post-extract`, определённая в вашем файле [."
+"filename]#Makefile# и файл [.filename]#pre-build# в подкаталоге [."
+"filename]#scripts#, то после выполнения обычных действий по распаковке, "
"будет вызвана цель `post-extract` а скрипт [.filename]#pre-build# будет "
"выполнен перед запуском стандартных правил построения. Рекомендуется "
"использовать цели из [.filename]#Makefile#, если действия достаточно просты, "
@@ -228,11 +229,10 @@ msgid ""
"in the target `do-extract`. If the default target does not do the job "
"right, redefine the `do-_something_` target in the [.filename]#Makefile#."
msgstr ""
-"Действия по умолчанию выполняются целями `do-_что-то_` из "
-"[.filename]#bsd.port.mk#. Например, команды для распаковки порта находятся в "
-"цели `do-extract`. Если вам не хватает цели по умолчанию, вы можете ее "
-"исправить, переопределив цель `do-_something_` в вашем файле "
-"[.filename]#Makefile#."
+"Действия по умолчанию выполняются целями `do-_что-то_` из [.filename]#bsd."
+"port.mk#. Например, команды для распаковки порта находятся в цели `do-"
+"extract`. Если вам не хватает цели по умолчанию, вы можете ее исправить, "
+"переопределив цель `do-_something_` в вашем файле [.filename]#Makefile#."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/slow-porting/_index.adoc:92
@@ -293,14 +293,13 @@ msgid ""
"master_sites,`MASTER_SITES`] for details."
msgstr ""
"Вам потребуется задать значение переменной `MASTER_SITES` так, чтобы оно "
-"указывало на местоположение оригинального tar-архива. В файле "
-"[.filename]#bsd.sites.mk# вы найдёте краткие обозначения для большинства "
-"популярных сайтов. Пожалуйста, используйте эти сайты-и соответствующие "
-"определения-везде, где это возможно, чтобы избежать проблем повторения одной "
-"и той же информации в базе источников. Так как эти сайты со временем "
-"меняются, для всех причастных поддержка становится настоящим кошмаром. Для "
-"подробностей смотрите crossref:makefiles[makefile-"
-"master_sites,`MASTER_SITES`]."
+"указывало на местоположение оригинального tar-архива. В файле [.filename]#bsd"
+".sites.mk# вы найдёте краткие обозначения для большинства популярных сайтов. "
+"Пожалуйста, используйте эти сайты-и соответствующие определения-везде, где "
+"это возможно, чтобы избежать проблем повторения одной и той же информации в "
+"базе источников. Так как эти сайты со временем меняются, для всех причастных "
+"поддержка становится настоящим кошмаром. Для подробностей смотрите "
+"crossref:makefiles[makefile-master_sites,`MASTER_SITES`]."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/slow-porting/_index.adoc:110
@@ -325,10 +324,10 @@ msgid ""
"`LOCAL/_username_` where `_username_` is their FreeBSD cluster login."
msgstr ""
"Если вы не можете найти доступного и надёжного места для помещения "
-"дистрибутивного файла, то мы сами сможем разместить его на сервере "
-"`ftp.FreeBSD.org`; однако это наименее рекомендуемое решение. Дистрибутивный "
-"файл должен быть помещён в каталог [.filename]#~/public_distfiles/# одного "
-"из пользователей машины `freefall`. Попросите того, кто коммиттил ваш порт, "
+"дистрибутивного файла, то мы сами сможем разместить его на сервере `ftp."
+"FreeBSD.org`; однако это наименее рекомендуемое решение. Дистрибутивный файл "
+"должен быть помещён в каталог [.filename]#~/public_distfiles/# одного из "
+"пользователей машины `freefall`. Попросите того, кто коммитил ваш порт, "
"сделать это. Этот человек также задаст переменной `MASTER_SITES` значение "
"`MASTER_SITE_LOCAL`, а в переменной `MASTER_SITE_SUBDIR` укажет логин "
"кластера FreeBSD."
@@ -457,8 +456,8 @@ msgid ""
"directory."
msgstr ""
"Патчи сохраняются в виде файлов с именем [.filename]#patch-*#, где _*_ "
-"обозначает путь к файлу, к которому применяется патч, такой как "
-"[.filename]#patch-Imakefile# или [.filename]#patch-src-config.h#."
+"обозначает путь к файлу, к которому применяется патч, такой как [.filename"
+"]#patch-Imakefile# или [.filename]#patch-src-config.h#."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/slow-porting/_index.adoc:157
@@ -469,9 +468,9 @@ msgid ""
"information."
msgstr ""
"Используйте `BINARY_ALIAS` для замены жёстко заданных команд во время сборки "
-"и избежания исправлений в файлах сборки. Подробнее см. в "
-"crossref:makefiles[binary-alias,Использование `BINARY_ALIAS` для "
-"переименования команд вместо исправления сборки]."
+"и избежания исправлений в файлах сборки. Подробнее см. в crossref:makefiles"
+"[binary-alias,Использование `BINARY_ALIAS` для переименования команд вместо "
+"исправления сборки]."
#. type: Title ===
#: documentation/content/en/books/porters-handbook/slow-porting/_index.adoc:160
@@ -519,14 +518,14 @@ msgid ""
"the path and file name in patch names. Using `make makepatch` automatically "
"generates the correct names."
msgstr ""
-"При создании имен для файлов исправлений заменяйте каждое подчеркивание "
-"(`\\_`) на два подчеркивания (`\\__`) и каждый слэш (`/`) на одно "
-"подчеркивание (`_`). Например, чтобы исправить файл с именем [.filename]#src/"
+"При создании имен для файлов исправлений заменяйте каждое подчеркивание (`\\_"
+"`) на два подчеркивания (`\\__`) и каждый слэш (`/`) на одно подчеркивание "
+"(`_`). Например, чтобы исправить файл с именем [.filename]#src/"
"freeglut_joystick.c#, назовите соответствующий исправление [.filename]#patch-"
-"src_freeglut__joystick.c#. Не называйте исправления как [.filename]#patch-"
-"aa# или [.filename]#patch-ab#. Всегда используйте путь и имя файла в "
-"названиях исправлений. Использование `make makepatch` автоматически "
-"генерирует правильные имена."
+"src_freeglut__joystick.c#. Не называйте исправления как [.filename]#patch-aa#"
+" или [.filename]#patch-ab#. Всегда используйте путь и имя файла в названиях "
+"исправлений. Использование `make makepatch` автоматически генерирует "
+"правильные имена."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/slow-porting/_index.adoc:171
@@ -605,9 +604,9 @@ msgid ""
"automatically."
msgstr ""
"Патчи сохраняются в файлы с именами [.filename]#patch-*#, где * указывает на "
-"путь к файлу, который патчится, например [.filename]#patch-Imakefile# или "
-"[.filename]#patch-src-config.h#. Патчи с именами файлов, не начинающимися с "
-"[.filename]#patch-#, не будут применены автоматически."
+"путь к файлу, который патчится, например [.filename]#patch-Imakefile# или [."
+"filename]#patch-src-config.h#. Патчи с именами файлов, не начинающимися с [."
+"filename]#patch-#, не будут применены автоматически."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/slow-porting/_index.adoc:196
@@ -634,9 +633,9 @@ msgid ""
"man:diff[1] to treat the non-existent original file as if it existed but was "
"empty:"
msgstr ""
-"Для порождении патчей для новых добавляемых файлов используется параметр `-"
-"N`, который заставляет man:diff[1] трактовать несуществующие прежде файлы "
-"как если бы они существовали, но имели пустое содержимое:"
+"Для порождении патчей для новых добавляемых файлов используется параметр `-N`"
+", который заставляет man:diff[1] трактовать несуществующие прежде файлы как "
+"если бы они существовали, но имели пустое содержимое:"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/slow-porting/_index.adoc:207
@@ -659,9 +658,9 @@ msgid ""
msgstr ""
"Использование опции рекурсии (`-r`) в man:diff[1] для создания патчей "
"допустимо, но пожалуйста, проверяйте полученные патчи, чтобы убедиться в "
-"отсутствии ненужных данных. В частности, различия между резервными файлами, "
-"[.filename]##Makefile##, когда порт использует `Imake` или GNU `configure`, "
-"и т.д., являются избыточными и должны быть удалены. Если потребовалось "
+"отсутствии ненужных данных. В частности, различия между резервными файлами, ["
+".filename]##Makefile##, когда порт использует `Imake` или GNU `configure`, и "
+"т.д., являются избыточными и должны быть удалены. Если потребовалось "
"отредактировать [.filename]#configure.in# и запустить `autoconf` для "
"перегенерации `configure`, не включайте различия в `configure` (его объем "
"часто достигает нескольких тысяч строк!). Вместо этого определите "
@@ -824,8 +823,8 @@ msgstr ""
"Некоторые порты требуют патчей, которые применяются только для определённых "
"версий FreeBSD или при включении или отключении конкретной опции. Условные "
"патчи указываются путём размещения полных путей к файлам патчей в "
-"`EXTRA_PATCHES`. Имена файлов условных патчей обычно начинаются с "
-"[.filename]#extra-#, хотя это и не обязательно. Однако их имена _не должны_ "
+"`EXTRA_PATCHES`. Имена файлов условных патчей обычно начинаются с [."
+"filename]#extra-#, хотя это и не обязательно. Однако их имена _не должны_ "
"начинаться с [.filename]#patch-#. Если это произойдёт, они будут применены "
"безусловно фреймворком, что нежелательно для условных патчей."
@@ -973,11 +972,11 @@ msgid ""
"scripts with the name [.filename]#pre-configure# or [.filename]#post-"
"configure#."
msgstr ""
-"Поместите все дополнительные команды, требуемые для настройки, в ваш скрипт "
-"[.filename]#configure# и сохраните его в подкаталоге [.filename]#scripts#. "
-"Как отмечено выше, вы можете сделать это целями в файле "
-"[.filename]#Makefile# и/или скриптами с именами [.filename]#pre-configure# "
-"или [.filename]#post-configure#."
+"Поместите все дополнительные команды, требуемые для настройки, в ваш скрипт ["
+".filename]#configure# и сохраните его в подкаталоге [.filename]#scripts#. "
+"Как отмечено выше, вы можете сделать это целями в файле [.filename]#Makefile#"
+" и/или скриптами с именами [.filename]#pre-configure# или [.filename]#post-"
+"configure#."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/slow-porting/_index.adoc:357
diff --git a/documentation/content/ru/books/porters-handbook/special/_index.adoc b/documentation/content/ru/books/porters-handbook/special/_index.adoc
index 14f3d94db3..56ec045801 100644
--- a/documentation/content/ru/books/porters-handbook/special/_index.adoc
+++ b/documentation/content/ru/books/porters-handbook/special/_index.adoc
@@ -4,7 +4,7 @@ next: books/porters-handbook/flavors
params:
path: /books/porters-handbook/special/
prev: books/porters-handbook/makefiles
-showBookMenu: true
+showBookMenu: 'true'
tags: ["special considerations", "Handling Symbolic Links", "Bundled Libraries"]
title: 'Глава 6. Особые соглашения'
weight: 6
@@ -67,7 +67,7 @@ endif::[]
Также распространённой практикой является разделение списка пакетов порта на несколько файлов, если список сильно различается в зависимости от архитектуры или выбранного флейвора. В этом случае файл [.filename]#pkg-plist# для каждой архитектуры именуется по шаблону [.filename]#pkg-plist.${ARCH}# или [.filename]#pkg-plist.${FLAVOR}#. Фреймворк не создаёт список пакетов автоматически, если существует несколько файлов [.filename]#pkg-plist#. Ответственность за выбор подходящего файла [.filename]#pkg-plist# и его присвоение переменной `PLIST` лежит на того, кто делает порт. Примеры работы с этим можно найти в портах package:audio/logitechmediaserver[] и package:deskutils/libportal[].
[[staging]]
-== Staging
+== Использование директорий стадии
[.filename]#bsd.port.mk# ожидает, что порты будут работать с "директорией стадии". Это означает, что порт не должен устанавливать файлы напрямую в обычные целевые директории (например, под `PREFIX`), а вместо этого в отдельную директорию, из которой затем собирается пакет. Во многих случаях это не требует прав root, что позволяет собирать пакеты от имени непривилегированного пользователя. При использовании стадии порт собирается и устанавливается в директорию стадии `STAGEDIR`. Пакет создаётся из директории стадии и затем устанавливается в систему. Инструменты Automake называют эту концепцию `DESTDIR`, но в FreeBSD `DESTDIR` имеет другое значение (см. crossref:testing[porting-prefix,`PREFIX` и `DESTDIR`]).
@@ -149,7 +149,7 @@ lrwxr-xr-x 1 nobody nobody 181 Aug 3 11:27 foo@ -> ../../../var/cache/foo
Ветвление::
Автору проще создать форк upstream-библиотеки после её включения в дистрибутив. Хотя на первый взгляд это кажется удобным, такой подход приводит к расхождению кода с исходным репозиторием, что усложняет исправление уязвимостей и других проблем в ПО. Одна из причин — затруднённое применение патчей.
+
-Еще одна проблема форкинга заключается в том, что из-за расхождения кода с основной веткой, ошибки исправляются снова и снова, вместо того чтобы быть исправленными один раз в центральном месте. Это противоречит самой идее открытого программного обеспечения.
+Еще одна проблема при создании форка заключается в том, что из-за расхождения кода с основной веткой, ошибки исправляются снова и снова, вместо того чтобы быть исправленными один раз в центральном месте. Это противоречит самой идее открытого программного обеспечения.
Конфликты символов::
Когда библиотека установлена в системе, может возникнуть конфликт с встроенной в порт версией. Это может привести к немедленным ошибкам во время компиляции или компоновки. Также могут возникать ошибки при запуске программы, которые сложнее отследить. Последняя проблема может быть вызвана несовместимостью версий двух библиотек.
@@ -2339,7 +2339,7 @@ QMAKE_ARGS+= INCLUDEPATH+=${LOCALBASE}/include \
| Описание
|`activities`
-|Среда выполнения и библиотека KF5 для организации работы в отдельных автивностях
+|Среда выполнения и библиотека KF5 для организации работы в отдельных активностях
|`activities-stats`
|KF5 статистика для активностей
@@ -2889,7 +2889,7 @@ QMAKE_ARGS+= INCLUDEPATH+=${LOCALBASE}/include \
.Пример `USE_KDE`
[example]
====
-Это простой пример порта для KDE. `USES= cmake` указывает порту использовать CMake, инструмент конфигурации, широко применяемый в проектах KDE (см. crossref:special[using-cmake, Использование `cmake`] для подробного описания). `USE_KDE` добавляет зависимость от библиотек KDE. Необходимые компоненты KDE и другие зависимости можно определить через лог конфигурации. `USE_KDE` не подразумевает `USE_QT`. Если порту требуются некоторые компоненты Qt, укажите их в `USE_QT`.
+Это простой пример порта для KDE. `USES= cmake` указывает порту использовать CMake, инструмент конфигурации, широко применяемый в проектах KDE (см. crossref:special[using-cmake, Использование `cmake`] для подробного описания). `USE_KDE` добавляет зависимость от библиотек KDE. Необходимые компоненты KDE и другие зависимости можно определить через журнал конфигурации. `USE_KDE` не подразумевает `USE_QT`. Если порту требуются некоторые компоненты Qt, укажите их в `USE_QT`.
[.programlisting]
....
@@ -2929,7 +2929,7 @@ USE_QT= core buildtools_build qmake_build
.Пример `USE_LXQT`
[example]
====
-Это простой пример, `USE_LXQT` добавляет зависимость от библиотек LXQt. Необходимые компоненты LXQt и другие зависимости можно определить из лога конфигурации.
+Это простой пример, `USE_LXQT` добавляет зависимость от библиотек LXQt. Необходимые компоненты LXQt и другие зависимости можно определить из журнала конфигурации.
[.programlisting]
....
@@ -3850,7 +3850,7 @@ USES= lua:52-53
USES= lua:module
....
-Так же может быть указае номер версии или диапазон версий. Используйте запятую для разделения параметров.
+Так же может быть указан номер версии или диапазон версий. Используйте запятую для разделения параметров.
Поскольку каждый флейвор должен иметь уникальное имя пакета, предоставляется переменная `LUA_PKGNAMEPREFIX`, которая будет установлена в соответствующее значение; предполагаемое использование:
diff --git a/documentation/content/ru/books/porters-handbook/special/_index.po b/documentation/content/ru/books/porters-handbook/special/_index.po
index ca4f4e8072..1c00e46816 100644
--- a/documentation/content/ru/books/porters-handbook/special/_index.po
+++ b/documentation/content/ru/books/porters-handbook/special/_index.po
@@ -5,8 +5,8 @@
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"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
+"PO-Revision-Date: 2025-10-29 04:45+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"
@@ -18,13 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: 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
+#. type: YAML Front Matter: title
#: documentation/content/en/books/porters-handbook/special/_index.adoc:1
#, no-wrap
msgid "Chapter 6. Special Considerations"
@@ -63,12 +63,12 @@ msgid ""
"port [.filename]#Makefile#."
msgstr ""
"Иногда [.filename]#Makefiles# могут быть очень длинными. Например, порты "
-"rust могут содержать очень длинный список `CARGO_CRATES`. В других случаях "
-"[.filename]#Makefile# может содержать код, который варьируется в зависимости "
-"от архитектуры. В таких ситуациях может быть удобно разделить исходный "
-"[.filename]#Makefile# на несколько файлов. [.filename]#bsd.port.mk# "
-"автоматически включает некоторые типы [.filename]#Makefiles# в основной "
-"[.filename]#Makefile# порта."
+"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
@@ -135,19 +135,19 @@ 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[]."
+"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"
+msgstr "Использование директорий стадии"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/special/_index.adoc:85
@@ -187,10 +187,10 @@ 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# порта."
+"или принудительно устанавливает владельца или группу с помощью man:install[1]"
+", то используйте crossref:uses[uses-fakeroot,`USES=fakeroot`], чтобы "
+"подделать эти вызовы. Потребуется некоторая правка [.filename]#Makefiles# "
+"порта."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/special/_index.adoc:97
@@ -219,9 +219,9 @@ 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`]. Это устанавливает значения по умолчанию для "
-"портов, которые не загружают, не собирают и не устанавливают ничего."
+"Метапорты должны использовать crossref:special[uses-metaport,`USES=metaport`]"
+". Это устанавливает значения по умолчанию для портов, которые не загружают, "
+"не собирают и не устанавливают ничего."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/special/_index.adoc:113
@@ -288,7 +288,8 @@ msgid ""
"${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}/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"
@@ -315,7 +316,8 @@ msgstr ""
"% 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"
+"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
@@ -432,10 +434,10 @@ msgid ""
"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
@@ -555,8 +557,8 @@ msgstr ""
"должен включать библиотеки, потому что они предназначены для другой "
"архитектуры или были изменены для использования в данном программном "
"обеспечении. В таком случае эти библиотеки не должны быть доступны для "
-"связывания с другими портами. Добавьте `BUNDLE_LIBS=yes` в "
-"[.filename]#Makefile# порта. Это укажет man:pkg[8] не учитывать "
+"связывания с другими портами. Добавьте `BUNDLE_LIBS=yes` в [."
+"filename]#Makefile# порта. Это укажет man:pkg[8] не учитывать "
"предоставляемые библиотеки. Всегда спрашивайте {portmgr}, прежде чем "
"добавлять это в порт."
@@ -580,16 +582,16 @@ msgid ""
"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#, так что пользователь, устанавливающий пакет, сможет сразу же "
-"использовать динамическую библиотеку, а удаление пакета не приведёт к тому, "
-"что система будет предполагать, что библиотека всё ещё имеется в наличии."
+"определите переменную `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
@@ -948,7 +950,9 @@ msgid ""
".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"
+"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
@@ -1020,8 +1024,8 @@ msgid ""
"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#, либо хотя бы в сообщении коммита, _почему_ порт не "
+"При установке `MAKE_JOBS_UNSAFE` очень важно объяснить либо комментарием в [."
+"filename]#Makefile#, либо хотя бы в сообщении коммита, _почему_ порт не "
"собирается при включении. В противном случае практически невозможно ни "
"исправить проблему, ни проверить, была ли она исправлена при коммите "
"обновления в дальнейшем."
@@ -1069,8 +1073,8 @@ msgid ""
"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, то "
+"Если ваш порт является приложением X, которое создает файлы [."
+"filename]#Makefile# из [.filename]#Imakefile#, используя imake, то "
"установите `USES= imake`. Это заставит стадию конфигурирования автоматически "
"выполнить `xmkmf -a`. Если флаг `-a` представляет для вашего порта проблему, "
"то установите `XMKMF=xmkmf`. Если порт использует imake, но не понимает цель "
@@ -1103,13 +1107,14 @@ msgid ""
"{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#, то установите "
+"Если ваш порт использует сценарий `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`."
+"`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
@@ -1164,7 +1169,9 @@ msgstr "`HAS_CONFIGURE`"
#: 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`."
+msgstr ""
+"То же, что и `GNU_CONFIGURE`, кроме того, что цель configure по умолчанию не "
+"добавляется в `CONFIGURE_ARGS`."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:399
@@ -1189,7 +1196,9 @@ msgstr "`CONFIGURE_ENV`"
#: 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`."
+msgstr ""
+"Дополнительные переменные окружения, задаваемые для запуска сценария "
+"`configure`."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:405
@@ -1201,7 +1210,9 @@ msgstr "`CONFIGURE_TARGET`"
#: 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}`."
+msgstr ""
+"Переопределить цель configure по умолчанию. Значением по умолчанию является "
+"`${MACHINE_ARCH}-portbld-freebsd${OSREL}`."
#. type: Title ===
#: documentation/content/en/books/porters-handbook/special/_index.adoc:409
@@ -1230,7 +1241,8 @@ msgstr "`CMAKE_ARGS`"
#: 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`."
+msgstr ""
+"Специфичные для порта флаги CMake, передаваемые в бинарный файл `cmake`."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:424
@@ -1246,7 +1258,8 @@ msgid ""
"`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`]."
+"`CMAKE_ARGS`. См. crossref:special[using-cmake-example2,`CMAKE_ON` и "
+"`CMAKE_OFF`]."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:428
@@ -1261,8 +1274,10 @@ 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`]."
+"Для каждой записи в `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
@@ -1274,7 +1289,9 @@ msgstr "`CMAKE_BUILD_TYPE`"
#: 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`."
+msgstr ""
+"Тип сборки (предопределённые профили сборки CMake). По умолчанию `Release`, "
+"или `Debug`, если установлен `WITH_DEBUG`."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:435
@@ -1292,7 +1309,9 @@ msgstr "Путь к исходному каталогу. По умолчанию
#: 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`."
+msgstr ""
+"Дополнительные переменные окружения, которые должны быть установлены для "
+"бинарного файла `cmake`."
#. type: Block title
#: documentation/content/en/books/porters-handbook/special/_index.adoc:442
@@ -1310,7 +1329,9 @@ msgstr "`CMAKE_NOCOLOR`"
#: 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`."
+msgstr ""
+"Запрещает цветной вывод сообщений при построении. Значение по умолчанию не "
+"задано, если не заданы `BATCH` или `PACKAGE_BUILDING`."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/special/_index.adoc:457
@@ -1537,8 +1558,13 @@ msgid ""
"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"
+"Список ящиков (crates), от которых зависит порт. Каждая запись должна быть в "
+"формате `имя_ящика-семвер`, например, `libc-0.2.40`. Поддерживающие порт "
+"могут сгенерировать этот список из файла [.filename]#Cargo.lock# с помощью "
+"команды `make cargo-crates`. Вручную обновлять версии ящиков возможно, но "
+"следует учитывать транзитивные зависимости.\n"
+"Если список, сгенерированный `make cargo-crates`, слишком велик, его можно "
+"разместить в файле `Makefile.crates` в корневом каталоге порта.\n"
"Если такой файл присутствует, фреймворк портов автоматически загружает его.\n"
"Это помогает сохранять основной Makefile порта в удобном для работы размере."
@@ -1552,7 +1578,11 @@ msgstr "`CARGO_FEATURES`"
#: 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` не требуется."
+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
@@ -1588,7 +1618,9 @@ msgstr "`${WRKSRC}/Cargo.lock`"
#: 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`. Можно указать более одного файла блокировки, если это необходимо."
+msgstr ""
+"Путь к файлу [.filename]#Cargo.lock#, используемому для `make cargo-crates`. "
+"Можно указать более одного файла блокировки, если это необходимо."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:552
@@ -1600,7 +1632,8 @@ msgstr "`CARGO_ENV`"
#: 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`."
+msgstr ""
+"Список переменных окружения, передаваемых в Cargo, аналогично `MAKE_ENV`."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:556
@@ -1646,7 +1679,9 @@ msgstr "`CARGO_UPDATE_ARGS`"
#: 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`."
+msgstr ""
+"Дополнительные аргументы для передачи Cargo во время фазы настройки. "
+"Допустимые аргументы можно посмотреть с помощью `cargo update --help`."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:568
@@ -1700,7 +1735,9 @@ msgstr "`CARGO_BUILD_ARGS`"
#: 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`."
+msgstr ""
+"Дополнительные аргументы для передачи Cargo во время фазы сборки. Допустимые "
+"аргументы можно посмотреть с помощью `cargo build --help`."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:584
@@ -1724,7 +1761,9 @@ msgstr "`CARGO_INSTALL_ARGS`"
#: 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`."
+msgstr ""
+"Дополнительные аргументы для передачи Cargo во время фазы установки. "
+"Допустимые аргументы можно посмотреть с помощью `cargo install --help`."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:592
@@ -1742,7 +1781,10 @@ msgstr "`.`"
#: 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` запускается несколько раз."
+msgstr ""
+"Путь к пакету для установки. Этот аргумент передается в `cargo install` "
+"через параметр `--path`. Если указано несколько путей, `cargo install` "
+"запускается несколько раз."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:596
@@ -1766,7 +1808,9 @@ msgstr "`CARGO_TEST_ARGS`"
#: 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`."
+msgstr ""
+"Дополнительные аргументы для передачи Cargo во время тестовой фазы. "
+"Допустимые аргументы можно посмотреть с помощью `cargo test --help`."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:604
@@ -1802,7 +1846,9 @@ msgstr "[.filename]#rust/crates#"
#: 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)."
+msgstr ""
+"Каталог относительно `DISTDIR`, в котором будут храниться файлы "
+"дистрибутивов пакетов (crates)."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:612
@@ -1820,7 +1866,10 @@ msgstr "`${WRKSRC}/cargo-crates`"
#: 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`, чтобы упростить применение патчей."
+msgstr ""
+"Расположение каталога сторонних поставщиков ПО, в который будут извлечены "
+"все крейты. Старайтесь держать его в пределах `PATCH_WRKSRC`, чтобы "
+"упростить применение патчей."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:616
@@ -1839,7 +1888,11 @@ msgstr "`no`"
#: 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 во время сборки."
+msgstr ""
+"Включить загрузку крейтов, привязанных к определённым коммитам Git на "
+"GitHub, с помощью `GH_TUPLE`. Это попытается исправить все файлы [."
+"filename]#Cargo.toml# в `WRKDIR`, чтобы они ссылались на автономные "
+"источники вместо загрузки из репозитория Git во время сборки."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:620
@@ -1851,7 +1904,8 @@ msgstr "`CARGO_USE_GITLAB`"
#: 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`."
+msgstr ""
+"То же, что и `CARGO_USE_GITHUB`, но для экземпляров GitLab и `GL_TUPLE`."
#. type: Block title
#: documentation/content/en/books/porters-handbook/special/_index.adoc:625
@@ -1950,10 +2004,14 @@ msgid ""
"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"
+"=> 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
@@ -2043,19 +2101,32 @@ msgid ""
"[...]\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"
+"=> 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
@@ -2095,8 +2166,8 @@ msgid ""
"[.filename]#Cargo.toml#. They can be compiled in by setting "
"`CARGO_FEATURES` in the port."
msgstr ""
-"Некоторые приложения определяют дополнительные возможности в своем "
-"[.filename]#Cargo.toml#. Их можно включить при компиляции, установив "
+"Некоторые приложения определяют дополнительные возможности в своем [."
+"filename]#Cargo.toml#. Их можно включить при компиляции, установив "
"`CARGO_FEATURES` в порте."
#. type: Plain text
@@ -2268,7 +2339,8 @@ msgstr "`MESON_BUILD_DIR`"
#: 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`."
+msgstr ""
+"Путь к директории сборки относительно `WRKSRC`. По умолчанию — `_build`."
#. type: Block title
#: documentation/content/en/books/porters-handbook/special/_index.adoc:822
@@ -2304,9 +2376,9 @@ msgid ""
"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`] для получения списка переменных, которые можно "
-"задать для управления процессом сборки."
+"Для портов, использующих Go, определите `USES=go`. Обратитесь к crossref:uses"
+"[uses-go,`go`] для получения списка переменных, которые можно задать для "
+"управления процессом сборки."
#. type: Block title
#: documentation/content/en/books/porters-handbook/special/_index.adoc:842
@@ -2446,10 +2518,14 @@ msgid ""
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"
+"=> 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
@@ -2481,13 +2557,17 @@ 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\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\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
@@ -2509,13 +2589,17 @@ 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"
+"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\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
@@ -2543,14 +2627,23 @@ msgid ""
"[...]\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"
+"=> 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
@@ -2694,8 +2787,8 @@ 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` для создания плана сборки:"
+"Теперь, когда у нас есть файл описания пакета ShellCheck.cabal в `${WRKSRC}`"
+", мы можем использовать `cabal-configure` для создания плана сборки:"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/special/_index.adoc:1046
@@ -2776,12 +2869,18 @@ msgid ""
"[...]\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"
+"=> 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
@@ -2794,8 +2893,8 @@ msgid ""
"uses data files of other Haskell packages, in which case the "
"`FOO_DATADIR_VARS` comes to the rescue."
msgstr ""
-"Некоторые порты Haskell устанавливают различные файлы данных в `share/$"
-"{PORTNAME}`. В таких случаях требуется особая обработка на стороне порта. "
+"Некоторые порты Haskell устанавливают различные файлы данных в `share/"
+"${PORTNAME}`. В таких случаях требуется особая обработка на стороне порта. "
"Порт должен определить параметр `CABAL_WRAPPER_SCRIPTS`, перечислив каждый "
"исполняемый файл, который будет использовать файлы данных. Более того, в "
"редких случаях портируемая программа использует файлы данных других пакетов "
@@ -2987,8 +3086,11 @@ msgid ""
"\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"
+"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
@@ -3008,15 +3110,20 @@ msgid ""
"\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"
+"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"
+msgstr ""
+"GH_TUPLE+=\tbitcoin-core:secp256k1:ac83be33d0956faf6b7f61a60ab524ef7d6a473a:"
+"secp\n"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/special/_index.adoc:1194
@@ -3080,8 +3187,8 @@ 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`."
+"Довольно распространённый случай — порт, использующий `gettext` и `configure`"
+". Обычно GNU `configure` должен автоматически находить `gettext`."
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/special/_index.adoc:1224
@@ -3211,8 +3318,8 @@ msgid ""
"For example:"
msgstr ""
"Следующий пункт в списке задач — организовать условное включение файлов "
-"каталогов сообщений в упаковочный список. Часть, связанная с "
-"[.filename]#Makefile#, уже предусмотрена идиомой. Это объясняется в разделе "
+"каталогов сообщений в упаковочный список. Часть, связанная с [."
+"filename]#Makefile#, уже предусмотрена идиомой. Это объясняется в разделе "
"crossref:plist[plist-sub,расширенные практики работы с [.filename]#pkg-"
"plist#]. Вкратце, каждое вхождение `%%NLS%%` в [.filename]#pkg-plist# будет "
"заменено на \"`@comment `\", если NLS отключен, или на пустую строку, если "
@@ -3260,14 +3367,14 @@ msgid ""
"for a unique language."
msgstr ""
"Существует момент, который следует учитывать при установке файлов каталогов "
-"сообщений. Целевые каталоги для размещения, расположенные под "
-"[.filename]#LOCALBASE/shared/locale#, редко когда должны создаваться и "
-"удаляться портом. Для наиболее популярных языков имеются собственные "
-"каталоги, перечисленные в [.filename]#PORTSDIR/Templates/BSD.local.dist#. "
-"Каталоги для множества других языков управляются с помощью порта "
-"package:devel/gettext[]. Обратите внимание на его [.filename]#pkg-plist# и "
-"посмотрите, куда данный порт собирается установить файлы каталогов сообщений "
-"для единственного в своем роде языка."
+"сообщений. Целевые каталоги для размещения, расположенные под [.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
@@ -3293,9 +3400,9 @@ msgstr ""
"установить `MASTER_SITES` в старое значение `MASTER_SITE_PERL_CPAN`, тогда "
"предпочтительным значением `MASTER_SITE_SUBDIR` будет имя иерархии выше "
"уровнем. Например, рекомендуемое значение для `p5-Module-Name` - `Module`. "
-"Иерархию верхнего уровня можно посмотреть на https://cpan.org/modules/by-"
-"module/[cpan.org]. Это гарантирует работоспособность порта при смене автора "
-"модуля."
+"Иерархию верхнего уровня можно посмотреть на https://cpan.org/modules/"
+"by-module/[cpan.org]. Это гарантирует работоспособность порта при смене "
+"автора модуля."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/special/_index.adoc:1315
@@ -3345,7 +3452,11 @@ msgstr "`PERL`"
#: 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`]."
+msgstr ""
+"Полный путь к интерпретатору Perl 5, будь то системный или установленный из "
+"порта, но без номера версии. Используйте это, когда программному обеспечению "
+"требуется путь к интерпретатору Perl. Для замены строк \"``#!``\" в скриптах "
+"используйте crossref:uses[uses-shebangfix,`shebangfix`]."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:1329
@@ -3369,7 +3480,9 @@ msgstr "`PERL_LEVEL`"
#: 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`)."
+msgstr ""
+"Установленная версия Perl в виде целого числа формата `MNNNPP` (например, "
+"`500809`)."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:1335
@@ -3381,7 +3494,9 @@ msgstr "`PERL_ARCH`"
#: 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`."
+msgstr ""
+"Где Perl хранит архитектурно-зависимые библиотеки. По умолчанию: "
+"`${ARCH}-freebsd`."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:1338
@@ -3405,7 +3520,9 @@ msgstr "`SITE_PERL`"
#: 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`."
+msgstr ""
+"Имя каталога, в котором размещаются специфичные для сайта пакеты Perl. Это "
+"значение добавляется в `PLIST_SUB`."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/special/_index.adoc:1348
@@ -3550,8 +3667,8 @@ msgid ""
"Most Perl modules come with a [.filename]#Makefile.PL# configure script. In "
"this case, set:"
msgstr ""
-"Большинство модулей Perl поставляются с конфигурационным скриптом "
-"[.filename]#Makefile.PL#. В этом случае установите:"
+"Большинство модулей Perl поставляются с конфигурационным скриптом [."
+"filename]#Makefile.PL#. В этом случае установите:"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/special/_index.adoc:1430
@@ -3575,9 +3692,8 @@ 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, и в этом случае "
-"установите"
+"Когда модуль Perl поставляется с конфигурационным скриптом [.filename]#Build."
+"PL#, он может требовать Module::Build, и в этом случае установите"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/special/_index.adoc:1444
@@ -3689,7 +3805,9 @@ msgstr "`XMKMF`"
#: 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`."
+msgstr ""
+"Установить путь к `xmkmf`, если он отсутствует в `PATH`. По умолчанию: `"
+"xmkmf -a`."
#. type: Block title
#: documentation/content/en/books/porters-handbook/special/_index.adoc:1496
@@ -3725,12 +3843,12 @@ msgid ""
"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#."
+"Если порт требует библиотеку 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
@@ -3757,9 +3875,9 @@ msgid ""
"[.filename]#Makefile# or [.filename]#Imakefile#, substitute `${MOTIFLIB}` "
"for it."
msgstr ""
-"Если порт ссылается на библиотеку Motif как `-lXm` в своем "
-"[.filename]#Makefile# или [.filename]#Imakefile#, замените это на `$"
-"{MOTIFLIB}`."
+"Если порт ссылается на библиотеку Motif как `-lXm` в своем [."
+"filename]#Makefile# или [.filename]#Imakefile#, замените это на "
+"`${MOTIFLIB}`."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/special/_index.adoc:1523
@@ -3776,8 +3894,8 @@ 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`, поэтому нет необходимости добавлять "
+"Обратите внимание, что `MOTIFLIB` (обычно) раскрывается в `-L/usr/local/lib -"
+"lXm -lXp` или `/usr/local/lib/libXm.a`, поэтому нет необходимости добавлять "
"`-L` или `-l` перед этим."
#. type: Title ===
@@ -3792,8 +3910,8 @@ 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#."
+"Если порт устанавливает шрифты для X Window System, поместите их в [."
+"filename]#LOCALBASE/lib/X11/fonts/local#."
#. type: Title ===
#: documentation/content/en/books/porters-handbook/special/_index.adoc:1532
@@ -3910,7 +4028,9 @@ msgstr ""
#: 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"
+msgstr ""
+"DESKTOP_ENTRIES=\t\"NAME\" \"COMMENT\" \"ICON\" \"COMMAND\" \"CATEGORY\" "
+"StartupNotify\n"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/special/_index.adoc:1583
@@ -3951,7 +4071,8 @@ msgid ""
"\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"
+"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"
@@ -4012,14 +4133,14 @@ msgid ""
"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, это кратчайший способ определить это:"
+"компоненты, определённые в [.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
@@ -4169,8 +4290,8 @@ msgid ""
"in [.filename]#pkg-plist#, they will not be registered and the applications "
"might not work properly."
msgstr ""
-"Не добавляйте схемы glib в файл [.filename]#pkg-plist#. Если они указаны в "
-"[.filename]#pkg-plist#, они не будут зарегистрированы, и приложения могут "
+"Не добавляйте схемы glib в файл [.filename]#pkg-plist#. Если они указаны в [."
+"filename]#pkg-plist#, они не будут зарегистрированы, и приложения могут "
"работать некорректно."
#. type: Labeled list
@@ -4218,9 +4339,9 @@ msgid ""
"[.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#, они не "
-"будут зарегистрированы, и приложения могут работать некорректно."
+"Схемы Gconf перечислены в макросе `GCONF_SCHEMAS`, а не в файле [.filename"
+"]#pkg-plist#. Если они указаны в [.filename]#pkg-plist#, они не будут "
+"зарегистрированы, и приложения могут работать некорректно."
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/special/_index.adoc:1703
@@ -4258,10 +4379,10 @@ msgid ""
"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."
+"При установке [.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
@@ -4361,7 +4482,8 @@ msgstr "graphics/cairo"
#: documentation/content/en/books/porters-handbook/special/_index.adoc:1745
#, no-wrap
msgid "Vector graphics library with cross-device output support"
-msgstr "Векторная графическая библиотека с поддержкой вывода на различные устройства"
+msgstr ""
+"Векторная графическая библиотека с поддержкой вывода на различные устройства"
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:1746
@@ -4524,7 +4646,8 @@ msgstr "audio/gsound"
#: 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)"
+msgstr ""
+"Библиотека GObject для воспроизведения системных звуков (both, build, run)"
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:1782
@@ -4669,7 +4792,8 @@ msgstr "x11-toolkits/gtksourceview3"
#: 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"
+msgstr ""
+"Текстовая виджет, добавляющая подсветку синтаксиса к виджету GtkTextView"
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:1814
@@ -4741,7 +4865,11 @@ msgstr "devel/gobject-introspection"
#: 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)"
+msgstr ""
+"Базовые привязки (биндинги) интроспекции и инструменты для генерации "
+"привязок интроспекции. В большинстве случаев достаточно `:build`, "
+"`:both`/`:run` нужны только для приложений, использующих привязки "
+"интроспекции. (both, build, run)"
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:1830
@@ -4814,7 +4942,9 @@ msgstr "devel/libgsf"
#: documentation/content/en/books/porters-handbook/special/_index.adoc:1845
#, no-wrap
msgid "Extensible I/O abstraction for dealing with structured file formats"
-msgstr "Расширяемая абстракция ввода-вывода для работы со структурированными форматами файлов"
+msgstr ""
+"Расширяемая абстракция ввода-вывода для работы со структурированными "
+"форматами файлов"
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:1846
@@ -4959,7 +5089,9 @@ msgstr "x11-toolkits/pango"
#: 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 "Открытый фреймворк для разметки и отображения интернационализированного текста"
+msgstr ""
+"Открытый фреймворк для разметки и отображения интернационализированного "
+"текста"
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:1878
@@ -5032,7 +5164,9 @@ msgstr "x11-toolkits/vte3"
#: documentation/content/en/books/porters-handbook/special/_index.adoc:2078
#, no-wrap
msgid "Terminal widget with improved accessibility and I18N support"
-msgstr "Виджет терминала с улучшенной поддержкой доступности и интернационализации (I18N)"
+msgstr ""
+"Виджет терминала с улучшенной поддержкой доступности и интернационализации "
+"(I18N)"
#. type: Block title
#: documentation/content/en/books/porters-handbook/special/_index.adoc:1895
@@ -5062,7 +5196,10 @@ msgstr "`intlhack`"
#: 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` недостаточно."
+msgstr ""
+"То же, что и `intltool`, но с патчами для гарантии использования [.filename]#"
+"share/locale/#. Используйте только в случае, когда одного `intltool` "
+"недостаточно."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:1908
@@ -5074,7 +5211,9 @@ msgstr "`referencehack`"
#: 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 или справочной документации на собственный порт."
+msgstr ""
+"Этот макрос предназначен для помощи в разделении API или справочной "
+"документации на собственный порт."
#. type: Block title
#: documentation/content/en/books/porters-handbook/special/_index.adoc:1912
@@ -5557,7 +5696,8 @@ msgstr "x11-toolkits/libgnomeui"
#: 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"
+msgstr ""
+"Библиотеки для графического интерфейса GNOME 2, среды рабочего стола GNU"
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:2032
@@ -5782,8 +5922,8 @@ 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`]."
+"Для портов, которые являются частью самого Qt, см. crossref:uses[uses-qt-dist"
+",`qt-dist`]."
#. type: Title ===
#: documentation/content/en/books/porters-handbook/special/_index.adoc:2100
@@ -6114,7 +6254,8 @@ msgstr "`declarative`"
#: documentation/content/en/books/porters-handbook/special/_index.adoc:2189
#, no-wrap
msgid "Qt declarative framework for dynamic user interfaces"
-msgstr "Декларативный фреймворк Qt для динамических пользовательских интерфейсов"
+msgstr ""
+"Декларативный фреймворк Qt для динамических пользовательских интерфейсов"
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:2190
@@ -6126,7 +6267,8 @@ msgstr "`designer`"
#: documentation/content/en/books/porters-handbook/special/_index.adoc:2192
#, no-wrap
msgid "Qt 5 graphical user interface designer"
-msgstr "Интерфейсный конструктор Qt 5 для графического пользовательского интерфейса"
+msgstr ""
+"Интерфейсный конструктор Qt 5 для графического пользовательского интерфейса"
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:2193
@@ -6378,7 +6520,9 @@ msgstr "`positioning`"
#: 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 или текстовые файлы."
+msgstr ""
+"Qt 6 API позиционирования из источников, таких как спутники, Wi-Fi или "
+"текстовые файлы."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:2256
@@ -6927,7 +7071,9 @@ msgstr "`buildtools`"
#: 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."
+msgstr ""
+"инструменты сборки (`moc`, `rcc`), необходимые практически для любого "
+"приложения Qt."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:2401
@@ -7022,9 +7168,9 @@ msgstr ""
"зависимость сборки от 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`]."
+"`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
@@ -7042,7 +7188,11 @@ msgstr "`no_configure`"
#: 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` самостоятельно."
+msgstr ""
+"Не добавлять цель configure. Это подразумевается при `HAS_CONFIGURE=yes` и "
+"`GNU_CONFIGURE=yes`. Это требуется, когда сборке нужна только настройка "
+"окружения из `USES= qmake`, но в остальном она запускает `qmake` "
+"самостоятельно."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:2455
@@ -7054,7 +7204,10 @@ msgstr "`no_env`"
#: 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`."
+msgstr ""
+"Подавить модификацию окружения configure и make. Это требуется только когда "
+"`qmake` используется для настройки программного обеспечения и сборка не "
+"понимает окружение, установленное `USES= qmake`."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:2458
@@ -7096,7 +7249,8 @@ msgstr "`QMAKE_ARGS`"
#: 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`."
+msgstr ""
+"Специфичные для порта флаги qmake, передаваемые в бинарный файл `qmake`."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:2475
@@ -7108,7 +7262,9 @@ msgstr "`QMAKE_ENV`"
#: 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}`."
+msgstr ""
+"Переменные окружения, которые должны быть установлены для бинарного файла "
+"`qmake`. По умолчанию используется `${CONFIGURE_ENV}`."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:2478
@@ -7120,7 +7276,10 @@ msgstr "`QMAKE_SOURCE_PATH`"
#: 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}`, если запрошена сборка вне исходного кода, в противном случае оставляется пустым."
+msgstr ""
+"Путь к файлам проекта qmake ([.filename]#.pro#). По умолчанию используется "
+"`${WRKSRC}`, если запрошена сборка вне исходного кода, в противном случае "
+"оставляется пустым."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/special/_index.adoc:2482
@@ -7242,12 +7401,12 @@ msgid ""
"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`."
+"_Некорректные пути установки._ Иногда данные, такие как иконки или файлы ."
+"desktop, по умолчанию устанавливаются в каталоги, которые не сканируются "
+"приложениями, совместимыми с XDG. Например, package:editors/texmaker[] — "
+"посмотрите на файл [.filename]#patch-texmaker.pro# в директории [."
+"filename]#files# этого порта, чтобы увидеть шаблон исправления этой проблемы "
+"напрямую в проектом файле `qmake`."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/special/_index.adoc:2529
@@ -7274,8 +7433,8 @@ msgid ""
msgstr ""
"Если приложение зависит от KDE, установите `USES+=kde:5` и `USE_KDE` в "
"список необходимых компонентов. Суффиксы `_build` и `_run` можно "
-"использовать для принудительного указания типа зависимости компонентов "
-"(например, `baseapps_run`). Если суффикс не задан, будет использован тип "
+"использовать для принудительного указания типа зависимости компонентов ("
+"например, `baseapps_run`). Если суффикс не задан, будет использован тип "
"зависимости по умолчанию. Чтобы принудительно задать оба типа, добавьте "
"компонент дважды с обоими суффиксами (например, `ecm_build ecm_run`). "
"Доступные компоненты перечислены ниже (актуальный список компонентов также "
@@ -7297,7 +7456,9 @@ msgstr "`activities`"
#: 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 для организации работы в отдельных автивностях"
+msgstr ""
+"Среда выполнения и библиотека KF5 для организации работы в отдельных "
+"активностях"
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:2551
@@ -7321,7 +7482,9 @@ msgstr "`activitymanagerd`"
#: 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 "Системный сервис для управления активностью пользователей, отслеживания шаблонов использования"
+msgstr ""
+"Системный сервис для управления активностью пользователей, отслеживания "
+"шаблонов использования"
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:2557
@@ -7624,7 +7787,8 @@ msgstr "`calendarutils`"
#: documentation/content/en/books/porters-handbook/special/_index.adoc:2634
#, no-wrap
msgid "KDE utility and user interface functions for accessing calendar"
-msgstr "Утилита KDE и пользовательские функции интерфейса для доступа к календарю"
+msgstr ""
+"Утилита KDE и пользовательские функции интерфейса для доступа к календарю"
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:2635
@@ -7703,7 +7867,8 @@ msgstr "`crash`"
#: 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 для обработки анализа сбоев и отчётов об ошибках в приложениях"
+msgstr ""
+"Библиотека KF5 для обработки анализа сбоев и отчётов об ошибках в приложениях"
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:2656
@@ -7872,7 +8037,9 @@ msgstr "`globalaccel`"
#: documentation/content/en/books/porters-handbook/special/_index.adoc:2697
#, no-wrap
msgid "KF5 library to add support for global workspace shortcuts"
-msgstr "Библиотека KF5 для добавления поддержки глобальных сочетаний клавиш рабочего пространства"
+msgstr ""
+"Библиотека KF5 для добавления поддержки глобальных сочетаний клавиш рабочего "
+"пространства"
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:2698
@@ -8318,7 +8485,8 @@ msgstr "`kimageformats`"
#: documentation/content/en/books/porters-handbook/special/_index.adoc:2811
#, no-wrap
msgid "KF5 library providing support for additional image formats"
-msgstr "Библиотека KF5, обеспечивающая поддержку дополнительных форматов изображений"
+msgstr ""
+"Библиотека KF5, обеспечивающая поддержку дополнительных форматов изображений"
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:2812
@@ -8354,7 +8522,8 @@ msgstr "`kitinerary`"
#: documentation/content/en/books/porters-handbook/special/_index.adoc:2820
#, no-wrap
msgid "Data Model and Extraction System for Travel Reservation information"
-msgstr "Модель данных и система извлечения информации о бронировании путешествий"
+msgstr ""
+"Модель данных и система извлечения информации о бронировании путешествий"
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:2821
@@ -8515,7 +8684,8 @@ msgstr "`ksmtp`"
#: 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-сервер"
+msgstr ""
+"Библиотека на основе задач для отправки электронной почты через SMTP-сервер"
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:2866
@@ -9033,7 +9203,9 @@ msgstr "`plasma-framework`"
#: 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 - среда выполнения пользовательского интерфейса на основе плагинов, используемая для создания пользовательских интерфейсов"
+msgstr ""
+"KF5 - среда выполнения пользовательского интерфейса на основе плагинов, "
+"используемая для создания пользовательских интерфейсов"
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3001
@@ -9416,7 +9588,7 @@ msgstr ""
"использовать CMake, инструмент конфигурации, широко применяемый в проектах "
"KDE (см. crossref:special[using-cmake, Использование `cmake`] для подробного "
"описания). `USE_KDE` добавляет зависимость от библиотек KDE. Необходимые "
-"компоненты KDE и другие зависимости можно определить через лог "
+"компоненты KDE и другие зависимости можно определить через журнал "
"конфигурации. `USE_KDE` не подразумевает `USE_QT`. Если порту требуются "
"некоторые компоненты Qt, укажите их в `USE_QT`."
@@ -9509,7 +9681,7 @@ msgid ""
"configure log."
msgstr ""
"Это простой пример, `USE_LXQT` добавляет зависимость от библиотек LXQt. "
-"Необходимые компоненты LXQt и другие зависимости можно определить из лога "
+"Необходимые компоненты LXQt и другие зависимости можно определить из журнала "
"конфигурации."
#. type: delimited block . 4
@@ -9559,10 +9731,10 @@ 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[]."
+"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
@@ -9596,7 +9768,8 @@ msgid ""
"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[+]`)."
+"Необязательный символ `\\+` позволяет указать диапазон версий (допустимые "
+"значения: `8[+] 11[\\+] 17[+] 18[\\+] 19[+] 20[\\+] 21[+]`)."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3183
@@ -9608,7 +9781,9 @@ msgstr "`JAVA_OS`"
#: 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`)."
+msgstr ""
+"Список разделенных пробелами подходящих операционных систем портов JDK для "
+"порта (допустимые значения: `native linux`)."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3186
@@ -9620,7 +9795,9 @@ msgstr "`JAVA_VENDOR`"
#: 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`)."
+msgstr ""
+"Список подходящих поставщиков портов JDK для порта через пробел (допустимые "
+"значения: `openjdk oracle`)."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3189
@@ -9644,7 +9821,9 @@ msgstr "`JAVA_RUN`"
#: 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 в зависимости времени выполнения."
+msgstr ""
+"Когда установлено, добавляет выбранный порт JDK в зависимости времени "
+"выполнения."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3195
@@ -9656,7 +9835,8 @@ msgstr "`JAVA_EXTRACT`"
#: 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 в зависимости для извлечения."
+msgstr ""
+"Когда установлено, добавляет выбранный порт JDK в зависимости для извлечения."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3199
@@ -9702,7 +9882,10 @@ msgstr "`JAVA_PORT_VERSION`"
#: 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/}`."
+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
@@ -9738,7 +9921,9 @@ msgstr "`JAVA_PORT_OS_DESCRIPTION`"
#: 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'`)."
+msgstr ""
+"Описание операционной системы, используемой портом JDK (например, "
+"`'Native'`)."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3223
@@ -9762,7 +9947,8 @@ msgstr "`JAVA_HOME`"
#: 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'#)."
+msgstr ""
+"Путь к каталогу установки JDK (например, [.filename]#'/usr/local/openjdk6'#)."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3229
@@ -9774,7 +9960,9 @@ msgstr "`JAVAC`"
#: 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'#)."
+msgstr ""
+"Путь к используемому компилятору Java (например, [.filename]#'/usr/local/"
+"openjdk6/bin/javac'#)."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3232
@@ -9786,7 +9974,10 @@ msgstr "`JAR`"
#: 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'#)."
+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
@@ -9798,7 +9989,9 @@ msgstr "`APPLETVIEWER`"
#: 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'#)."
+msgstr ""
+"Путь к утилите `appletviewer` (например, [.filename]#'/usr/local/openjdk6/"
+"bin/appletviewer'#)."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3238
@@ -9810,7 +10003,9 @@ msgstr "`JAVA`"
#: 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'#)."
+msgstr ""
+"Путь к исполняемому файлу `java`. Используется для запуска программ на Java ("
+"например, [.filename]#'/usr/local/openjdk6/bin/java'#)."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3241
@@ -9942,7 +10137,9 @@ msgstr "`JAVA_CLASSES`"
#: 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#."
+msgstr ""
+"Путь к архиву, содержащему файлы классов JDK, [.filename]#${JAVA_HOME}/jre/"
+"lib/rt.jar#."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3276
@@ -9984,7 +10181,9 @@ msgstr "`JAVASHAREDIR`"
#: 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#."
+msgstr ""
+"Базовый каталог для всего, связанного с Java. По умолчанию: [."
+"filename]#${PREFIX}/share/java#."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3290
@@ -9996,7 +10195,9 @@ msgstr "`JAVAJARDIR`"
#: 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#."
+msgstr ""
+"Каталог, в котором установлены JAR-файлы. По умолчанию: [."
+"filename]#${JAVASHAREDIR}/classes#."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3293
@@ -10008,7 +10209,9 @@ msgstr "`JAVALIBDIR`"
#: 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#."
+msgstr ""
+"Каталог, в котором расположены JAR-файлы, установленные другими портами. По "
+"умолчанию: [.filename]#${LOCALBASE}/share/java/classes#."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3297
@@ -10040,9 +10243,9 @@ msgstr ""
"Когда порт должен собираться с использованием Apache Ant, он должен "
"определять `USE_ANT`. Таким образом, Ant считается командой sub-make. Если "
"цель `do-build` не определена в порте, будет установлена цель по умолчанию, "
-"которая запускает Ant в соответствии с `MAKE_ENV`, `MAKE_ARGS` и "
-"`ALL_TARGET`. Это аналогично механизму `USES= gmake`, который документирован "
-"в crossref:special[building, Building Mechanisms]."
+"которая запускает 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
@@ -10060,12 +10263,12 @@ msgid ""
"[.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-файла, устанавливаемого как часть порта):"
+"При переносе библиотеки 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
@@ -10085,10 +10288,10 @@ msgid ""
msgstr ""
"При переносе Java-приложения порт обычно устанавливает все компоненты в "
"единый каталог (включая зависимости в виде JAR-файлов). В этом отношении "
-"настоятельно рекомендуется использовать [.filename]#${JAVASHAREDIR}/$"
-"{PORTNAME}#. Портеру предстоит решить, устанавливать ли дополнительные JAR-"
-"зависимости в этот каталог или использовать уже установленные (из "
-"[.filename]#${JAVAJARDIR}#)."
+"настоятельно рекомендуется использовать [."
+"filename]#${JAVASHAREDIR}/${PORTNAME}#. Портеру предстоит решить, "
+"устанавливать ли дополнительные JAR-зависимости в этот каталог или "
+"использовать уже установленные (из [.filename]#${JAVAJARDIR}#)."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3328
@@ -10146,8 +10349,10 @@ msgid ""
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"
+"\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
@@ -10183,12 +10388,12 @@ msgid ""
"`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#."
+"Значение по умолчанию для `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
@@ -10201,10 +10406,10 @@ msgid ""
msgstr ""
"Что касается выбора между сборкой портов Java из исходного кода или их "
"непосредственной установкой из бинарного дистрибутива, на момент написания "
-"документации определённой политики не существует. Однако участники https://"
-"www.freebsd.org/java/[FreeBSD Java Project] рекомендуют сопровождающим "
-"портов по возможности собирать их из исходного кода, если это не "
-"представляет сложностей."
+"документации определённой политики не существует. Однако участники "
+"https://www.freebsd.org/java/[FreeBSD Java Project] рекомендуют "
+"сопровождающим портов по возможности собирать их из исходного кода, если это "
+"не представляет сложностей."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3360
@@ -10217,13 +10422,13 @@ msgid ""
"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."
+"Все функции, представленные в этом разделе, реализованы в [.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
@@ -10277,7 +10482,11 @@ msgstr "`USE_APACHE`"
#: 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/]."
+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
@@ -10301,7 +10510,8 @@ msgstr "`HTTPD`"
#: 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`. Может быть переопределён в порте."
+msgstr ""
+"Полный путь к бинарному файлу `httpd`. Может быть переопределён в порте."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3386
@@ -10313,7 +10523,10 @@ msgstr "`APACHE_VERSION`"
#: 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`."
+msgstr ""
+"Версия установленной Apache (переменная только для чтения). Эта переменная "
+"доступна только после включения [.filename]#bsd.port.pre.mk#. Возможные "
+"значения: `22`, `24`."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3389
@@ -10325,7 +10538,9 @@ msgstr "`APACHEMODDIR`"
#: 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#."
+msgstr ""
+"Каталог для модулей Apache. Эта переменная автоматически раскрывается в [."
+"filename]#pkg-plist#."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3392
@@ -10337,7 +10552,9 @@ msgstr "`APACHEINCLUDEDIR`"
#: 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#."
+msgstr ""
+"Каталог для заголовков Apache. Эта переменная автоматически раскрывается в [."
+"filename]#pkg-plist#."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3395
@@ -10349,7 +10566,9 @@ msgstr "`APACHEETCDIR`"
#: 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#."
+msgstr ""
+"Каталог для файлов конфигурации Apache. Эта переменная автоматически "
+"раскрывается в [.filename]#pkg-plist#."
#. type: Block title
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3399
@@ -10379,7 +10598,9 @@ msgstr "`SHORTMODNAME`"
#: 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`"
+msgstr ""
+"Короткое имя модуля. Автоматически определяется из `MODULENAME`, но может "
+"быть переопределено. Пример: `hello`"
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3409
@@ -10457,8 +10678,8 @@ msgid ""
msgstr ""
"Веб-приложения должны быть установлены в [.filename]#PREFIX/www/appname#. "
"Этот путь доступен как в [.filename]#Makefile#, так и в [.filename]#pkg-"
-"plist# как `WWWDIR`, а путь относительно `PREFIX` доступен в "
-"[.filename]#Makefile# как `WWWDIR_REL`."
+"plist# как `WWWDIR`, а путь относительно `PREFIX` доступен в [."
+"filename]#Makefile# как `WWWDIR_REL`."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3434
@@ -10597,8 +10818,8 @@ msgid ""
msgstr ""
"Модули PEAR не требуют определения `PKGNAMESUFFIX`, так как он автоматически "
"заполняется с использованием `PEAR_PKGNAMEPREFIX`. Если порту необходимо "
-"добавить к `PKGNAMEPREFIX`, он также должен использовать "
-"`PEAR_PKGNAMEPREFIX`, чтобы отличать различные флейворы."
+"добавить к `PKGNAMEPREFIX`, он также должен использовать `PEAR_PKGNAMEPREFIX`"
+", чтобы отличать различные флейворы."
#. type: Title ====
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3496
@@ -10770,7 +10991,12 @@ msgstr "`USES=python`"
#: 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+`."
+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
@@ -10782,7 +11008,12 @@ msgstr "`USE_PYTHON=distutils`"
#: 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`."
+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
@@ -10794,7 +11025,9 @@ msgstr "`USE_PYTHON=autoplist`"
#: 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`."
+msgstr ""
+"Создать список пакетов автоматически. Это также требует установки "
+"`USE_PYTHON=distutils`."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3573
@@ -10806,7 +11039,13 @@ msgstr "`USE_PYTHON=concurrent`"
#: 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 одновременно, что в противном случае приводило бы к конфликту файлов."
+msgstr ""
+"Порт будет использовать уникальный префикс, обычно `PYTHON_PKGNAMEPREFIX`, "
+"для определённых каталогов, таких как `EXAMPLESDIR` и `DOCSDIR`, а также "
+"добавлять суффикс — версию Python из `PYTHON_VER` — к устанавливаемым "
+"бинарным файлам и скриптам. Это позволяет устанавливать порты для разных "
+"версий Python одновременно, что в противном случае приводило бы к конфликту "
+"файлов."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3576
@@ -10818,7 +11057,11 @@ msgstr "`USE_PYTHON=flavors`"
#: 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 и флейворы]."
+msgstr ""
+"Порт не использует distutils, но по-прежнему поддерживает несколько версий "
+"Python. `FLAVORS` будет установлен в поддерживаемые версии Python. "
+"Дополнительную информацию см. в crossref:flavors[flavors-auto-python,`USES`"
+"=python и флейворы]."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3579
@@ -10830,7 +11073,9 @@ msgstr "`USE_PYTHON=optsuffix`"
#: 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}`. Полезно только для флейворов."
+msgstr ""
+"Если текущая версия Python не является версией по умолчанию, порт получит "
+"`PKGNAMESUFFIX=${PYTHON_PKGNAMESUFFIX}`. Полезно только для флейворов."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3582
@@ -10842,7 +11087,9 @@ msgstr "`PYTHON_PKGNAMEPREFIX`"
#: 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-`"
+msgstr ""
+"Используется как `PKGNAMEPREFIX` для различения пакетов разных версий "
+"Python. Пример: `py27-`"
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3585
@@ -10854,7 +11101,10 @@ msgstr "`PYTHON_SITELIBDIR`"
#: 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."
+msgstr ""
+"Расположение дерева site-packages, которое содержит путь установки Python ("
+"обычно `LOCALBASE`). `PYTHON_SITELIBDIR` может быть очень полезно при "
+"установке модулей Python."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3588
@@ -10866,7 +11116,11 @@ msgstr "`PYTHONPREFIX_SITELIBDIR`"
#: 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`"
+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
@@ -10908,7 +11162,9 @@ msgstr "`PYNUMPY`"
#: 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 устарел у вендора)."
+msgstr ""
+"Строка зависимости для нового числового расширения, numpy. (PYNUMERIC "
+"устарел у вендора)."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3605
@@ -10920,7 +11176,9 @@ msgstr "`PYXML`"
#: 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 и выше, так как оно также входит в базовую поставку)."
+msgstr ""
+"Строка зависимости для расширения XML (не требуется для Python 2.0 и выше, "
+"так как оно также входит в базовую поставку)."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3608
@@ -10932,7 +11190,9 @@ msgstr "`PY_ENUM34`"
#: 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."
+msgstr ""
+"Условная зависимость от пакета package:devel/py-enum34[] в зависимости от "
+"версии Python."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3611
@@ -10944,7 +11204,9 @@ msgstr "`PY_ENUM_COMPAT`"
#: 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."
+msgstr ""
+"Условная зависимость от пакета package:devel/py-enum-compat[] в зависимости "
+"от версии Python."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3614
@@ -10956,7 +11218,9 @@ msgstr "`PY_PATHLIB`"
#: 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."
+msgstr ""
+"Условная зависимость от пакета package:devel/py-pathlib[] в зависимости от "
+"версии Python."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3617
@@ -10968,7 +11232,9 @@ msgstr "`PY_IPADDRESS`"
#: 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."
+msgstr ""
+"Условная зависимость от пакета package:net/py-ipaddress[] в зависимости от "
+"версии Python."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3620
@@ -10980,7 +11246,9 @@ msgstr "`PY_FUTURES`"
#: 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."
+msgstr ""
+"Условная зависимость от пакета package:devel/py-futures[] в зависимости от "
+"версии Python."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3624
@@ -11120,7 +11388,8 @@ msgstr ""
#: 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"
+msgstr ""
+"Самые полезные переменные только для чтения для портов, использующих Tcl/Tk"
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3681
@@ -11973,7 +12242,8 @@ msgid ""
"CONFIGURE_ARGS+=\t--enable-wxpython\n"
".endif\n"
msgstr ""
-".if defined(WITH_WXPYTHON) || !empty(PORT_OPTIONS:MWXPYTHON) || !empty(HAVE_WX:Mpython)\n"
+".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"
@@ -11992,8 +12262,8 @@ 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])."
+"Эти переменные доступны в порте (после определения одной из crossref:special"
+"[wx-ver-sel-table,переменных для выбора версий wxWidgets])."
#. type: Block title
#: documentation/content/en/books/porters-handbook/special/_index.adoc:3992
@@ -12254,10 +12524,9 @@ msgid ""
msgstr ""
"Если требуется определённая версия Lua или диапазон версий, его можно "
"указать в виде параметра `XY` (который можно использовать несколько раз), "
-"`XY+`, `-XY` или `XY-ZA`. Версия Lua, установленная через "
-"`DEFAULT_VERSIONS`, будет использована, если она попадает в запрошенный "
-"диапазон, в противном случае будет использована ближайшая к умолчанию "
-"запрошенная версия. Например:"
+"`XY+`, `-XY` или `XY-ZA`. Версия Lua, установленная через `DEFAULT_VERSIONS`"
+", будет использована, если она попадает в запрошенный диапазон, в противном "
+"случае будет использована ближайшая к умолчанию запрошенная версия. Например:"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/special/_index.adoc:4098
@@ -12367,7 +12636,7 @@ msgid ""
"A version number or range of versions can be specified as well; use a comma "
"to separate parameters."
msgstr ""
-"Так же может быть указае номер версии или диапазон версий. Используйте "
+"Так же может быть указан номер версии или диапазон версий. Используйте "
"запятую для разделения параметров."
#. type: Plain text
@@ -12428,11 +12697,11 @@ msgid ""
"will define both `LUA_DOCSDIR` and `LUA_EXAMPLESDIR`."
msgstr ""
"Это работает так же, как параметр `module`, описанный выше, но без "
-"предположения, что пакет должен быть задокументирован как модуль Lua "
-"(поэтому `LUA_DOCSDIR` и `LUA_EXAMPLESDIR` по умолчанию не определены). "
-"Однако порт может определить `LUA_DOCSUBDIR` как подходящее имя подкаталога "
-"(обычно `PORTNAME` порта, если это не конфликтует с `PORTNAME` любого "
-"модуля), и в этом случае фреймворк определит как `LUA_DOCSDIR`, так и "
+"предположения, что пакет должен быть задокументирован как модуль Lua ("
+"поэтому `LUA_DOCSDIR` и `LUA_EXAMPLESDIR` по умолчанию не определены). "
+"Однако порт может определить `LUA_DOCSUBDIR` как подходящее имя подкаталога ("
+"обычно `PORTNAME` порта, если это не конфликтует с `PORTNAME` любого модуля)"
+", и в этом случае фреймворк определит как `LUA_DOCSDIR`, так и "
"`LUA_EXAMPLESDIR`."
#. type: Plain text
@@ -12447,10 +12716,10 @@ msgid ""
msgstr ""
"Как и в случае с модульными портами, порт с флейворами должен избегать "
"установки файлов, которые могут конфликтовать между версиями. Обычно это "
-"достигается добавлением `LUA_VER_STR` в качестве суффикса к именам программ "
-"(например, с использованием crossref:uses[uses-uniquefiles,`uniquefiles`]), "
-"а также использованием `LUA_VER` или `LUA_VER_STR` в составе других файлов "
-"или поддиректорий, используемых вне `LUA_MODLIBDIR` и `LUA_MODSHAREDIR`."
+"достигается добавлением `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
@@ -12498,7 +12767,9 @@ msgstr "`LUA_FLAVOR`"
#: 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, используемое для указания зависимостей"
+msgstr ""
+"Имя флейвора, соответствующее выбранной версии Lua, используемое для "
+"указания зависимостей"
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:4178
@@ -12510,7 +12781,9 @@ msgstr "`LUA_BASE`"
#: 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 (и компонентов), уже установленных"
+msgstr ""
+"Префикс, который должен использоваться для поиска Lua (и компонентов), уже "
+"установленных"
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:4181
@@ -12558,7 +12831,9 @@ msgstr "`LUA_REFMODLIBDIR`"
#: 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#)"
+msgstr ""
+"Каталог, в котором находятся уже установленные библиотеки модулей Lua ([."
+"filename]#.so#)"
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:4193
@@ -12570,7 +12845,8 @@ msgstr "`LUA_REFMODSHAREDIR`"
#: 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#)"
+msgstr ""
+"Каталог, в котором находятся установленные модули Lua ([.filename]#.lua#)"
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:4196
@@ -12582,7 +12858,9 @@ msgstr "`LUA_MODLIBDIR`"
#: 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#) должны быть установлены данным портом"
+msgstr ""
+"Каталог, в котором библиотеки модулей Lua ([.filename]#.so#) должны быть "
+"установлены данным портом"
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:4199
@@ -12594,7 +12872,9 @@ msgstr "`LUA_MODSHAREDIR`"
#: 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#) данным портом"
+msgstr ""
+"Каталог, в котором должны быть установлены модули Lua ([.filename]#.lua#) "
+"данным портом"
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:4202
@@ -12716,7 +12996,8 @@ msgstr ""
#: 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"
+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
@@ -12881,7 +13162,8 @@ 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"
+"Добавить интерпретатор Guile только как зависимость для сборки, а не как "
+"зависимость библиотеки.\n"
"`build` и `run` могут быть указаны оба."
#. type: Table
@@ -12897,7 +13179,8 @@ 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"
+"Добавить интерпретатор Guile только как зависимость во время выполнения, а "
+"не как зависимость от библиотеки.\n"
"`build` и `run` могут быть указаны оба."
#. type: Table
@@ -12926,7 +13209,8 @@ msgid ""
"Use this when the port cannot be configured to use a specific Guile version."
msgstr ""
"Объявить `CONFLICTS_BUILD` для версий Guile новее выбранной. \n"
-"Используйте это, когда порт нельзя настроить на использование определённой версии Guile."
+"Используйте это, когда порт нельзя настроить на использование определённой "
+"версии Guile."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/special/_index.adoc:4339
@@ -13164,7 +13448,8 @@ msgid ""
"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
@@ -13306,7 +13591,8 @@ msgstr ""
#: 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`, но для других исполняемых файлов утилит."
+msgstr ""
+"Как `GUILE_CMD` и `GUILE_CMDPATH`, но для других исполняемых файлов утилит."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:4447
@@ -13342,7 +13628,8 @@ msgstr "share/info/guile3"
#: 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`."
+msgstr ""
+"Подходящее значение для `INFO_PATH` для портов, использующих опцию `flavors`."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/special/_index.adoc:4457
@@ -13377,7 +13664,8 @@ msgstr "share/guile/site"
#: 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; обычно не должен использоваться."
+msgstr ""
+"Каталог сайта, общий для всех версий guile; обычно не должен использоваться."
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:4471
@@ -13488,8 +13776,10 @@ 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"
+"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
@@ -13605,7 +13895,9 @@ msgstr "`ICONV_PREFIX`"
#: 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)"
+msgstr ""
+"Каталог, в котором находится реализация `iconv` (полезно для скриптов "
+"configure)"
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:4549
@@ -13630,7 +13922,8 @@ msgstr "`ICONV_CONFIGURE_ARG`"
#: documentation/content/en/books/porters-handbook/special/_index.adoc:4558
#, no-wrap
msgid "Preconstructed configure argument for configure scripts"
-msgstr "Предварительно сконструированный аргумент configure для скриптов configure"
+msgstr ""
+"Предварительно сконструированный аргумент configure для скриптов configure"
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:4554
@@ -13710,8 +14003,8 @@ msgid ""
"[.filename]#Makefile# or configure script. This approach can be used to "
"solve that problem:"
msgstr ""
-"Иногда в программе аргумент `ld` или путь поиска жестко заданы в "
-"[.filename]#Makefile# или скрипте configure. Для решения этой проблемы можно "
+"Иногда в программе аргумент `ld` или путь поиска жестко заданы в [."
+"filename]#Makefile# или скрипте configure. Для решения этой проблемы можно "
"использовать следующий подход:"
#. type: Block title
@@ -13746,8 +14039,8 @@ msgid ""
"`ICONV_LIB`:"
msgstr ""
"В некоторых случаях необходимо установить альтернативные значения или "
-"выполнить операции в зависимости от наличия встроенного `iconv`. "
-"[.filename]#bsd.port.pre.mk# должен быть включен до проверки значения "
+"выполнить операции в зависимости от наличия встроенного `iconv`. [."
+"filename]#bsd.port.pre.mk# должен быть включен до проверки значения "
"`ICONV_LIB`:"
#. type: Block title
@@ -14038,7 +14331,8 @@ msgstr "`raven`"
#: 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 "Универсальный центр в панели для доступа к различным виджетам приложений"
+msgstr ""
+"Универсальный центр в панели для доступа к различным виджетам приложений"
#. type: Table
#: documentation/content/en/books/porters-handbook/special/_index.adoc:4736
@@ -14058,8 +14352,8 @@ msgid ""
"All application widgets communicate through the *org.budgie_desktop.Raven* "
"service."
msgstr ""
-"Все виджеты приложений взаимодействуют через службу "
-"*org.budgie_desktop.Raven*."
+"Все виджеты приложений взаимодействуют через службу *org.budgie_desktop."
+"Raven*."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/special/_index.adoc:4745
@@ -14286,12 +14580,12 @@ msgid ""
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# скриптов."
+"запуска и перезапуска служб. Порты интегрируются в систему [.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
@@ -14550,8 +14844,8 @@ msgid ""
"files may not end with that extension."
msgstr ""
"Если это новый файл, имеет ли он расширение [.filename]#.sh#? Если да, его "
-"необходимо изменить на просто [.filename]#file.in#, поскольку файлы "
-"[.filename]#rc.d# не могут оканчиваться таким расширением."
+"необходимо изменить на просто [.filename]#file.in#, поскольку файлы [."
+"filename]#rc.d# не могут оканчиваться таким расширением."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/special/_index.adoc:4946
@@ -14592,8 +14886,8 @@ msgid ""
"Does the script start a persistent service? If so, it must have `KEYWORD: "
"shutdown`."
msgstr ""
-"Запускает ли скрипт постоянную службу? Если да, он должен содержать "
-"`KEYWORD: shutdown`."
+"Запускает ли скрипт постоянную службу? Если да, он должен содержать `KEYWORD:"
+" shutdown`."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/special/_index.adoc:4949
@@ -14641,8 +14935,8 @@ msgid ""
"Have all occurrences of [.filename]#/usr/local# been replaced with `%%PREFIX%"
"%`?"
msgstr ""
-"Проверено, что все вхождения [.filename]#/usr/local# заменены на `%%PREFIX%"
-"%`?"
+"Проверено, что все вхождения [.filename]#/usr/local# заменены на "
+"`%%PREFIX%%`?"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/special/_index.adoc:4959
@@ -14729,10 +15023,10 @@ msgid ""
msgstr ""
"Создает ли скрипт файлы или каталоги, требующие определенных разрешений, "
"например, [.filename]#pid#, который должен принадлежать пользователю, "
-"запускающему процесс? Вместо традиционной последовательности man:touch[1]/"
-"man:chown[8]/man:chmod[1] рассмотрите использование man:install[1] с "
-"соответствующими аргументами командной строки, чтобы выполнить всю процедуру "
-"за один шаг."
+"запускающему процесс? Вместо традиционной последовательности "
+"man:touch[1]/man:chown[8]/man:chmod[1] рассмотрите использование "
+"man:install[1] с соответствующими аргументами командной строки, чтобы "
+"выполнить всю процедуру за один шаг."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/special/_index.adoc:4969
@@ -14751,8 +15045,8 @@ msgid ""
msgstr ""
"Некоторые порты требуют наличия определённой учётной записи пользователя, "
"обычно для демонов, работающих от имени этого пользователя. Для таких портов "
-"выберите _уникальный_ UID в диапазоне от 50 до 999 и зарегистрируйте его в "
-"[.filename]#ports/UIDs# (для пользователей) и [.filename]#ports/GIDs# (для "
+"выберите _уникальный_ UID в диапазоне от 50 до 999 и зарегистрируйте его в [."
+"filename]#ports/UIDs# (для пользователей) и [.filename]#ports/GIDs# (для "
"групп). Уникальный идентификатор должен быть одинаковым для пользователей и "
"групп."
@@ -14940,7 +15234,9 @@ msgstr "`bash`"
#: 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#"
+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
diff --git a/documentation/content/ru/books/porters-handbook/testing/_index.adoc b/documentation/content/ru/books/porters-handbook/testing/_index.adoc
index 73b8cdff1f..86dcd002ee 100644
--- a/documentation/content/ru/books/porters-handbook/testing/_index.adoc
+++ b/documentation/content/ru/books/porters-handbook/testing/_index.adoc
@@ -4,7 +4,7 @@ next: books/porters-handbook/upgrading
params:
path: /books/porters-handbook/testing/
prev: books/porters-handbook/pkg-files
-showBookMenu: true
+showBookMenu: 'true'
tags: ["testing", "port", "Portclippy", "Portfmt", "Portlint", "poudriere", "sets"]
title: 'Глава 10. Тестирование вашего порта'
weight: 10
@@ -116,7 +116,7 @@ Portfmt — это инструмент для автоматического ф
Переменная `PREFIX` определяет, куда будет установлен порт. По умолчанию это [.filename]#/usr/local#, но может меняться пользователем на собственный путь, такой как [.filename]#/opt#. В вашем порту значение этой переменной должно учитываться.
-Если пользователь установил переменную `DESTDIR`, то она определяет полное альтернативное окружение, обычно, это jail или установленная система, смонтированная в месте, отличном от [.filename]#/#. На самом деле порт устанавливается в [.filename]#DESTDIR/PREFIX# и регистрируется в базе данных пакетов в [.filename]#DESTDIR/var/db/pkg#. Поскольку управление `DESTDIR` производится автоматически инфраструктурой портов с помощью man:chroot[8], вам не нужны никакие изменения или проявление особой осторожности при написании портов, совместымых с `DESTDIR`.
+Если пользователь установил переменную `DESTDIR`, то она определяет полное альтернативное окружение, обычно, это jail или установленная система, смонтированная в месте, отличном от [.filename]#/#. На самом деле порт устанавливается в [.filename]#DESTDIR/PREFIX# и регистрируется в базе данных пакетов в [.filename]#DESTDIR/var/db/pkg#. Поскольку управление `DESTDIR` производится автоматически инфраструктурой портов с помощью man:chroot[8], вам не нужны никакие изменения или проявление особой осторожности при написании портов, совместимых с `DESTDIR`.
Значение переменной `PREFIX` будет установлено в `LOCALBASE` (по умолчанию [.filename]#/usr/local#). Если задана переменная `USE_LINUX_PREFIX`, то `PREFIX` примет значение `LINUXBASE` (по умолчанию [.filename]#/compat/linux#).
diff --git a/documentation/content/ru/books/porters-handbook/testing/_index.po b/documentation/content/ru/books/porters-handbook/testing/_index.po
index 30ce20d0d6..d9f4285b14 100644
--- a/documentation/content/ru/books/porters-handbook/testing/_index.po
+++ b/documentation/content/ru/books/porters-handbook/testing/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-09-18 22:05+0300\n"
-"PO-Revision-Date: 2025-09-05 04:45+0000\n"
+"POT-Creation-Date: 2025-10-31 11:45+0300\n"
+"PO-Revision-Date: 2025-09-26 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/booksporters-handbooktesting_index/ru/>\n"
@@ -18,13 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/porters-handbook/testing/_index.adoc:1
#, no-wrap
msgid "Testing a FreeBSD Port"
msgstr "Тестирование порта FreeBSD"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/porters-handbook/testing/_index.adoc:1
#, no-wrap
msgid "Chapter 10. Testing the Port"
@@ -311,7 +311,7 @@ msgstr ""
"пакетов в [.filename]#DESTDIR/var/db/pkg#. Поскольку управление `DESTDIR` "
"производится автоматически инфраструктурой портов с помощью man:chroot[8], "
"вам не нужны никакие изменения или проявление особой осторожности при "
-"написании портов, совместымых с `DESTDIR`."
+"написании портов, совместимых с `DESTDIR`."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/testing/_index.adoc:148
diff --git a/documentation/content/ru/books/porters-handbook/upgrading/_index.adoc b/documentation/content/ru/books/porters-handbook/upgrading/_index.adoc
index c6f3b2a5bb..c1bece2177 100644
--- a/documentation/content/ru/books/porters-handbook/upgrading/_index.adoc
+++ b/documentation/content/ru/books/porters-handbook/upgrading/_index.adoc
@@ -4,7 +4,7 @@ next: books/porters-handbook/security
params:
path: /books/porters-handbook/upgrading/
prev: books/porters-handbook/testing
-showBookMenu: true
+showBookMenu: 'true'
tags: ["upgrading", "port", "git"]
title: 'Глава 11. Обновление отдельного порта'
weight: 11
@@ -72,7 +72,7 @@ endif::[]
Если некоторые файлы были добавлены, скопированы, перемещены или удалены, добавьте эту информацию в отчёт о проблеме, чтобы коммиттер, принимающий патч, знал, какие команды man:git[1] нужно выполнить.
====
-Для упрощения стандартных операций с файлами исправлений используйте `make makepatch`, как описано в crossref:slow-porting[slow-patch,Применение партчей]. Существуют и другие инструменты, например [.filename]#/usr/ports/Tools/scripts/patchtool.py#. Перед его использованием прочтите [.filename]#/usr/ports/Tools/scripts/README.patchtool#.
+Для упрощения стандартных операций с файлами исправлений используйте `make makepatch`, как описано в разделе crossref:slow-porting[slow-patch,Работа с патчами]. Существуют и другие инструменты, например [.filename]#/usr/ports/Tools/scripts/patchtool.py#. Перед его использованием прочтите [.filename]#/usr/ports/Tools/scripts/README.patchtool#.
Если порт никем не поддерживается, а вы активно его используете, пожалуйста, подумайте над тем, чтобы добровольно стать его сопровождающим. Во FreeBSD имеется более 4000 портов без поддержки, и это как раз та область, где всегда нужны добровольцы. (Детальное описание обязанностей сопровождающего можно найти в разделе extref:{developers-handbook}[Руководства Разработчика, POLICIES-MAINTAINER].)
diff --git a/documentation/content/ru/books/porters-handbook/upgrading/_index.po b/documentation/content/ru/books/porters-handbook/upgrading/_index.po
index 66343c9f72..756337b023 100644
--- a/documentation/content/ru/books/porters-handbook/upgrading/_index.po
+++ b/documentation/content/ru/books/porters-handbook/upgrading/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-09-18 22:05+0300\n"
-"PO-Revision-Date: 2025-09-05 04:45+0000\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
+"PO-Revision-Date: 2025-10-21 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/booksporters-handbookupgrading_index/ru/>\n"
@@ -18,13 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:1
#, no-wrap
msgid "Upgrading a FreeBSD Port"
msgstr "Обновление порта FreeBSD"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:1
#, no-wrap
msgid "Chapter 11. Upgrading a Port"
@@ -57,8 +57,8 @@ msgid ""
msgstr ""
"При работе с большим количеством портов, вероятно, будет проще использовать "
"Git для поддержания всей коллекции портов в актуальном состоянии, как "
-"описано в extref:{handbook}ports[Использование коллекции портов, ports-"
-"using]. Это также позволит отслеживать все зависимости портов."
+"описано в extref:{handbook}ports[Использование коллекции портов, ports-using]"
+". Это также позволит отслеживать все зависимости портов."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:62
@@ -116,8 +116,8 @@ msgid ""
"[.filename]#something# and then create the patch:"
msgstr ""
"Чтобы создать подходящий `diff` для одного патча, скопируйте файл, который "
-"нужно пропатчить, в [.filename]#something.orig#, сохраните ваши изменения в "
-"[.filename]#something#, а затем создайте ваше патч:"
+"нужно пропатчить, в [.filename]#something.orig#, сохраните ваши изменения в ["
+".filename]#something#, а затем создайте ваше патч:"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:74
@@ -177,8 +177,8 @@ msgid ""
"using it, please read [.filename]#/usr/ports/Tools/scripts/README.patchtool#."
msgstr ""
"Для упрощения стандартных операций с файлами исправлений используйте `make "
-"makepatch`, как описано в crossref:slow-porting[slow-patch,Применение "
-"партчей]. Существуют и другие инструменты, например [.filename]#/usr/ports/"
+"makepatch`, как описано в разделе crossref:slow-porting[slow-patch,Работа с "
+"патчами]. Существуют и другие инструменты, например [.filename]#/usr/ports/"
"Tools/scripts/patchtool.py#. Перед его использованием прочтите [.filename]#/"
"usr/ports/Tools/scripts/README.patchtool#."
@@ -211,13 +211,12 @@ msgid ""
"man:git[1] when doing a commit. Do not compress or encode the diff."
msgstr ""
"Для отправки diff используйте https://bugs.freebsd.org/submit/[форму "
-"отправки багов] (продукт `Ports & Packages`, компонент `Individual "
-"Port(s)`). Всегда указывайте категорию с именем порта, за которой следует "
-"двоеточие и краткое описание проблемы. Примеры: `_категория/имя_порта_: "
-"_добавить опцию FOO_`; `_категория/имя_порта_: _Обновление до X.Y_`. "
-"Упоминайте в сообщении все добавленные или удалённые файлы, так как они "
-"должны быть явно указаны в man:git[1] при выполнении коммита. Не сжимайте и "
-"не кодируйте diff."
+"отправки багов] (продукт `Ports & Packages`, компонент `Individual Port(s)`)"
+". Всегда указывайте категорию с именем порта, за которой следует двоеточие и "
+"краткое описание проблемы. Примеры: `_категория/имя_порта_: _добавить опцию "
+"FOO_`; `_категория/имя_порта_: _Обновление до X.Y_`. Упоминайте в сообщении "
+"все добавленные или удалённые файлы, так как они должны быть явно указаны в "
+"man:git[1] при выполнении коммита. Не сжимайте и не кодируйте diff."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:103
@@ -226,9 +225,9 @@ msgid ""
"problem report, pr-writing] section in the Problem Reports article. It "
"contains far more information about how to write useful problem reports."
msgstr ""
-"Прежде чем отправить сообщение об ошибке, ознакомьтесь с разделом extref:"
-"{problem-reports}[Написание отчета о проблеме, pr-writing] в статье \"Отчеты "
-"о проблемах\". В нем содержится гораздо больше информации о том, как "
+"Прежде чем отправить сообщение об ошибке, ознакомьтесь с разделом extref"
+":{problem-reports}[Написание отчета о проблеме, pr-writing] в статье \"Отчеты"
+" о проблемах\". В нем содержится гораздо больше информации о том, как "
"составлять полезные отчеты о проблемах."
#. type: delimited block = 4
@@ -241,11 +240,11 @@ msgid ""
"for several weeks."
msgstr ""
"Если обновление вызвано соображениями информационной безопасности или "
-"наличием серьёзных ошибок в имеющемся порте, пожалуйста, оповестите "
-"{portmgr} о необходимости немедленного перепостроения и повторного "
-"распространения пакета данного порта. В противном случае ничего не "
-"подозревающие пользователи `pkg` будут продолжать устанавливать старую "
-"версию по команде `pkg install` в течение ещё нескольких недель."
+"наличием серьёзных ошибок в имеющемся порте, пожалуйста, оповестите {portmgr}"
+" о необходимости немедленного перепостроения и повторного распространения "
+"пакета данного порта. В противном случае ничего не подозревающие "
+"пользователи `pkg` будут продолжать устанавливать старую версию по команде `"
+"pkg install` в течение ещё нескольких недель."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:116
@@ -293,9 +292,9 @@ msgstr ""
"man:git[1]. Их проще обрабатывать, чем различия между «новым и старым» "
"каталогом. Так легче увидеть, что изменилось, и обновить diff, если что-то "
"было изменено в Коллекции портов с момента начала работы над ней, или если "
-"коммиттер просит что-то исправить. Кроме того, патч, созданный с помощью "
-"man:git-format-patch[1] или man:git-diff[1], можно легко применить с помощью "
-"man:git-am[1] или man:git-apply[1], что сэкономит время коммиттера. Наконец, "
+"коммиттер просит что-то исправить. Кроме того, патч, созданный с помощью man"
+":git-format-patch[1] или man:git-diff[1], можно легко применить с помощью man"
+":git-am[1] или man:git-apply[1], что сэкономит время коммиттера. Наконец, "
"git-патч, созданный man:git-format-patch[1], включает информацию об авторе и "
"сообщения коммитов. Они будут записаны в лог репозитория, и это "
"рекомендуемый способ отправки ваших изменений."
@@ -572,7 +571,8 @@ msgstr ""
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:244
#, no-wrap
msgid "# pkg delete -g -f docbook-xml* docbook-sk* docbook[2345]??-* docbook-4*\n"
-msgstr "# pkg delete -g -f docbook-xml* docbook-sk* docbook[2345]??-* docbook-4*\n"
+msgstr ""
+"# pkg delete -g -f docbook-xml* docbook-sk* docbook[2345]??-* docbook-4*\n"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:248
@@ -588,7 +588,9 @@ msgstr ""
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:252
#, no-wrap
msgid "# pkg delete -g -f docbook-xml\\* docbook-sk\\* docbook\\[2345\\]\\?\\?-\\* docbook-4\\*\n"
-msgstr "# pkg delete -g -f docbook-xml\\* docbook-sk\\* docbook\\[2345\\]\\?\\?-\\* docbook-4\\*\n"
+msgstr ""
+"# pkg delete -g -f docbook-xml\\* docbook-sk\\* docbook\\[2345\\]\\?\\?-\\* "
+"docbook-4\\*\n"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:260
@@ -667,8 +669,8 @@ msgstr ""
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:285
msgid "Any changes must be validated with `Tools/scripts/MOVEDlint.awk`."
msgstr ""
-"Любые изменения должны быть проверены с помощью `Tools/scripts/"
-"MOVEDlint.awk`."
+"Любые изменения должны быть проверены с помощью `Tools/scripts/MOVEDlint."
+"awk`."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:287
diff --git a/documentation/content/ru/books/porters-handbook/uses/_index.adoc b/documentation/content/ru/books/porters-handbook/uses/_index.adoc
index 3f90e301f2..a84e7b9bde 100644
--- a/documentation/content/ru/books/porters-handbook/uses/_index.adoc
+++ b/documentation/content/ru/books/porters-handbook/uses/_index.adoc
@@ -4,7 +4,7 @@ next: books/porters-handbook/versions
params:
path: /books/porters-handbook/uses/
prev: books/porters-handbook/keeping-up
-showBookMenu: true
+showBookMenu: 'true'
tags: ["uses", "macros", "introduction", "guide"]
title: 'Глава 17. Использование макроса USES'
weight: 17
@@ -86,7 +86,7 @@ USES= drupal:7,theme
====
[[uses-intro-ex4]]
-.Смешивая Все Вместе
+.Смешивая всё вместе
[example]
====
[.programlisting]
@@ -1609,7 +1609,7 @@ USE_MATE= menus:build intlhack
Возможные аргументы: (отсутствуют), `_версия_`, `client` (по умолчанию), `server`, `embedded`
-Предоставить поддержку MySQL. Если версия не указана, попытаться определить установленную версию. В случае неудачи использовать версию по умолчанию, MySQL-5.6. Возможные версии: `55`, `55m`, `55p`, `56`, `56p`, `56w`, `57`, `57p`, `80`, `100m`, `101m` и `102m`. Суффиксы `m` и `p` обозначают флейворс MariaDB и Percona для MySQL. Параметры `server` и `embedded` добавляют зависимости во время сборки и выполнения на сервер MySQL. При использовании `server` или `embedded` добавьте `client`, чтобы также включить зависимость от [.filename]#libmysqlclient.so#. Порт может установить `IGNORE_WITH_MYSQL`, если некоторые версии не поддерживаются.
+Предоставить поддержку MySQL. Если версия не указана, попытаться определить установленную версию. В случае неудачи использовать версию по умолчанию, MySQL-5.6. Возможные версии: `55`, `55m`, `55p`, `56`, `56p`, `56w`, `57`, `57p`, `80`, `100m`, `101m` и `102m`. Суффиксы `m` и `p` обозначают флейворы MariaDB и Percona для MySQL. Параметры `server` и `embedded` добавляют зависимости во время сборки и выполнения на сервер MySQL. При использовании `server` или `embedded` добавьте `client`, чтобы также включить зависимость от [.filename]#libmysqlclient.so#. Порт может установить `IGNORE_WITH_MYSQL`, если некоторые версии не поддерживаются.
Фреймворк устанавливает `MYSQL_VER` в обнаруженную версию MySQL.
@@ -2030,7 +2030,7 @@ USE_PYQT= core doc_build designer_run
[[uses-qt-dist]]
== `qt-dist`
-Possible arguments: (none) or `5` and (none) or `6` and (none) or one of `3d`, `5compat`, `base`, `charts`, `connectivity`, `datavis3d`, `declarative`, `doc` `languageserver`, `gamepad`, `graphicaleffects`, `imageformats`, `locat ion`, `lottie`, `multimedia`, `networkauth`, `positioning`, `quick3d`, `quickcontrols2`, `quickcontrols`, `quicktimeline`, `remoteobjects`, `script`, `scxml `, `sensors`, `serialbus`, `serialport`, `shadertools`, `speech`, `svg`, `tools`, `translations`, `virtualkeyboard`, `wayland`, `webchannel`, `webengine`, `webglplugin`, `websockets`, `webview`, `x11extras`, `xmlpatterns`.
+Возможные аргументы: (нет) или `5` и (нет) или `6` и (нет) или один из `3d`, `5compat`, `base`, `charts`, `connectivity`, `datavis3d`, `declarative`, `doc`, `languageserver`, `gamepad`, `graphicaleffects`, `imageformats`, `location`, `lottie`, `multimedia`, `networkauth`, `positioning`, `quick3d`, `quickcontrols2`, `quickcontrols`, `quicktimeline`, `remoteobjects`, `script`, `scxml`, `sensors`, `serialbus`, `serialport`, `shadertools`, `speech`, `svg`, `tools`, `translations`, `virtualkeyboard`, `wayland`, `webchannel`, `webengine`, `webglplugin`, `websockets`, `webview`, `x11extras`, `xmlpatterns`.
Предоставляет поддержку сборки компонентов Qt 5 и Qt 6. Обеспечивает настройку соответствующей конфигурации окружения для сборки порта.
diff --git a/documentation/content/ru/books/porters-handbook/uses/_index.po b/documentation/content/ru/books/porters-handbook/uses/_index.po
index 8326053acb..26da289cbe 100644
--- a/documentation/content/ru/books/porters-handbook/uses/_index.po
+++ b/documentation/content/ru/books/porters-handbook/uses/_index.po
@@ -5,8 +5,8 @@
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"
+"POT-Creation-Date: 2025-06-29 21:20+0100\n"
+"PO-Revision-Date: 2025-10-31 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/booksporters-handbookuses_index/ru/>\n"
@@ -18,13 +18,14 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1
#, no-wrap
msgid "USES macros make it easy to declare requirements and settings for a FreeBSD Port"
-msgstr "Макросы USES упрощают объявление требований и настроек для порта FreeBSD"
+msgstr ""
+"Макросы USES упрощают объявление требований и настроек для порта FreeBSD"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1
#, no-wrap
msgid "Chapter 17. Using USES Macros"
@@ -104,7 +105,7 @@ msgstr "USES=\tdrupal:7,theme\n"
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:92
#, no-wrap
msgid "Mixing it All Together"
-msgstr "Смешивая Все Вместе"
+msgstr "Смешивая всё вместе"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:98
@@ -130,15 +131,15 @@ msgid ""
"`EXTRACT_SUFX=.7z`. The `p7zip` option forces a dependency on the `7z` from "
"package:archivers/p7zip[] if the one from the base system is not able to "
"extract the files. `EXTRACT_SUFX` is not changed if the `partial` option is "
-"used, this can be used if the main distribution file does not have a "
-"[.filename]#.7z# extension."
+"used, this can be used if the main distribution file does not have a [."
+"filename]#.7z# extension."
msgstr ""
"Извлечение с использованием man:7z[1] вместо man:bsdtar[1] и устанавливает "
-"`EXTRACT_SUFX=.7z`. Опция `p7zip` добавляет зависимость от `7z` из "
-"package:archivers/p7zip[], если версия из базовой системы не может извлечь "
-"файлы. `EXTRACT_SUFX` не изменяется, если используется опция `partial`, это "
-"может быть полезно, если основной дистрибутивный файл не имеет расширения "
-"[.filename]#.7z#."
+"`EXTRACT_SUFX=.7z`. Опция `p7zip` добавляет зависимость от `7z` из package:"
+"archivers/p7zip[], если версия из базовой системы не может извлечь файлы. "
+"`EXTRACT_SUFX` не изменяется, если используется опция `partial`, это может "
+"быть полезно, если основной дистрибутивный файл не имеет расширения [."
+"filename]#.7z#."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:111
@@ -177,8 +178,8 @@ msgid ""
"Provide support for ports that need the https://github.com/angr/"
"angr[angrinary analysis platform]."
msgstr ""
-"Обеспечить поддержку портов, требующих https://github.com/angr/"
-"angr[платформу бинарного анализа angr]."
+"Обеспечить поддержку портов, требующих https://github.com/angr/angr["
+"платформу бинарного анализа angr]."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:127
@@ -261,8 +262,8 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:151
msgid ""
-"If the `env` argument is present, the port does not depend on "
-"package:sysutils/ansible[] but needs some Ansible variables set."
+"If the `env` argument is present, the port does not depend on package:"
+"sysutils/ansible[] but needs some Ansible variables set."
msgstr ""
"Если присутствует аргумент `env`, порт не зависит от package:sysutils/"
"ansible[], но требует установки некоторых переменных Ansible."
@@ -275,8 +276,7 @@ msgstr "Если присутствует аргумент `module`, то пор
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:155
msgid "If the `plugin` argument is present then the port is an Ansible plugin."
-msgstr ""
-"Если присутствует аргумент `plugin`, то порт является плагином Ansible."
+msgstr "Если присутствует аргумент `plugin`, то порт является плагином Ansible."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:157
@@ -457,8 +457,8 @@ msgstr "`AP_GENPLIST`"
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:209
msgid ""
-"Automatic `PLIST` generation plus add the module disabled into "
-"[.filename]#httpd.conf# (only if no `pkg-plist` exist)"
+"Automatic `PLIST` generation plus add the module disabled into [."
+"filename]#httpd.conf# (only if no `pkg-plist` exist)"
msgstr ""
"Автоматическое создание `PLIST` плюс добавление модуля в отключенном "
"состоянии в [.filename]#httpd.conf# (только если нет файла `pkg-plist`)"
@@ -511,8 +511,7 @@ msgstr "`APACHE_VERSION`"
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:223
msgid "The major-minor release version of the chosen Apache server, e.g. 2.4"
-msgstr ""
-"Основная-вспомогательная версия выбранного сервера Apache, например 2.4"
+msgstr "Основная-вспомогательная версия выбранного сервера Apache, например 2.4"
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:224
@@ -523,11 +522,11 @@ msgstr "`APACHEETCDIR`"
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:226
msgid ""
-"Location of the Apache configuration directory. Default: [.filename]#$"
-"{LOCALBASE}/etc/apache24#"
+"Location of the Apache configuration directory. Default: [.filename]#"
+"${LOCALBASE}/etc/apache24#"
msgstr ""
-"Расположение каталога конфигурации Apache. По умолчанию: [.filename]#$"
-"{LOCALBASE}/etc/apache24#"
+"Расположение каталога конфигурации Apache. По умолчанию: [."
+"filename]#${LOCALBASE}/etc/apache24#"
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:227
@@ -580,8 +579,8 @@ msgstr "Возможные аргументы: (нет), `build`"
msgid ""
"Runs `autoreconf`. It encapsulates the `aclocal`, `autoconf`, `autoheader`, "
"`automake`, `autopoint`, and `libtoolize` commands. Each command applies to "
-"[.filename]#${AUTORECONF_WRKSRC}/configure.ac# or its old name, [.filename]#$"
-"{AUTORECONF_WRKSRC}/configure.in#. If [.filename]#configure.ac# defines "
+"[.filename]#${AUTORECONF_WRKSRC}/configure.ac# or its old name, [.filename]#"
+"${AUTORECONF_WRKSRC}/configure.in#. If [.filename]#configure.ac# defines "
"subdirectories with their own [.filename]#configure.ac# using "
"`AC_CONFIG_SUBDIRS`, `autoreconf` will recursively update those as well. "
"The `:build` argument only adds build time dependencies on those tools but "
@@ -591,13 +590,13 @@ msgstr ""
"Выполняет `autoreconf`. Эта команда объединяет функциональность `aclocal`, "
"`autoconf`, `autoheader`, `automake`, `autopoint` и `libtoolize`. Каждая из "
"этих команд применяется к [.filename]#${AUTORECONF_WRKSRC}/configure.ac# или "
-"его старому названию [.filename]#${AUTORECONF_WRKSRC}/configure.in#. Если "
-"[.filename]#configure.ac# определяет подкаталоги с их собственными "
-"[.filename]#configure.ac# с использованием `AC_CONFIG_SUBDIRS`, `autoreconf` "
+"его старому названию [.filename]#${AUTORECONF_WRKSRC}/configure.in#. Если [."
+"filename]#configure.ac# определяет подкаталоги с их собственными [."
+"filename]#configure.ac# с использованием `AC_CONFIG_SUBDIRS`, `autoreconf` "
"также рекурсивно обновит их. Аргумент `:build` только добавляет зависимости "
"времени сборки на эти инструменты, но не запускает `autoreconf`. Порт может "
-"установить `AUTORECONF_WRKSRC`, если `WRKSRC` не содержит путь к "
-"[.filename]#configure.ac#."
+"установить `AUTORECONF_WRKSRC`, если `WRKSRC` не содержит путь к [."
+"filename]#configure.ac#."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:249
@@ -719,8 +718,8 @@ msgstr "`BDB_LIB_NAME`"
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:279
msgid ""
-"The name of the Berkeley DB library. For example, when using "
-"package:databases/db5[], it contains `db-5.3`."
+"The name of the Berkeley DB library. For example, when using package:"
+"databases/db5[], it contains `db-5.3`."
msgstr ""
"Имя библиотеки Berkeley DB. Например, при использовании package:databases/"
"db5[] она содержит `db-5.3`."
@@ -734,11 +733,11 @@ msgstr "`BDB_LIB_CXX_NAME`"
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:283
msgid ""
-"The name of the Berkeley DBC++ library. For example, when using "
-"package:databases/db5[], it contains `db_cxx-5.3`."
+"The name of the Berkeley DBC++ library. For example, when using package:"
+"databases/db5[], it contains `db_cxx-5.3`."
msgstr ""
-"Название библиотеки Berkeley DBC++. Например, при использовании "
-"package:databases/db5[] она содержит `db_cxx-5.3`."
+"Название библиотеки Berkeley DBC++. Например, при использовании package:"
+"databases/db5[] она содержит `db_cxx-5.3`."
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:284
@@ -753,8 +752,8 @@ msgid ""
"package:databases/db5[], it will contain `${LOCALBASE}/include/db5`."
msgstr ""
"Расположение каталога с заголовочными файлами Berkeley DB. Например, при "
-"использовании пакета package:databases/db5[], он будет содержать `$"
-"{LOCALBASE}/include/db5`."
+"использовании пакета package:databases/db5[], он будет содержать "
+"`${LOCALBASE}/include/db5`."
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:288
@@ -845,8 +844,8 @@ msgstr "`cabal`"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:324
msgid ""
-"Ports should not be created for Haskell libraries, see "
-"crossref:special[haskell-libs,Haskell Libraries] for more information."
+"Ports should not be created for Haskell libraries, see crossref:"
+"special[haskell-libs,Haskell Libraries] for more information."
msgstr ""
"Порты не следует создавать для библиотек Haskell, подробнее см. в "
"crossref:special[haskell-libs,Библиотеки Haskell]."
@@ -872,13 +871,13 @@ msgstr ""
"Устанавливает значения и цели по умолчанию, используемые для сборки "
"программного обеспечения на Haskell с помощью Cabal. Добавляется зависимость "
"для сборки на порт компилятора Haskell (package:lang/ghc[]). Если в "
-"переменной `BUILD_DEPENDS` уже указана другая версия GHC (например, "
-"package:lang/ghc810[]), она будет использована вместо версии по умолчанию. "
-"Если указан аргумент `hpack`, добавляется зависимость для сборки на "
-"package:devel/hs-hpack[], и `hpack` вызывается на этапе конфигурации для "
-"генерации файла .cabal. Если указан аргумент `nodefault`, фреймворк не будет "
-"пытаться загрузить основной дистрибутивный файл из Hackage. Этот аргумент "
-"добавляется неявно, если присутствует `USE_GITHUB` или `USE_GITLAB`."
+"переменной `BUILD_DEPENDS` уже указана другая версия GHC (например, package:"
+"lang/ghc810[]), она будет использована вместо версии по умолчанию. Если "
+"указан аргумент `hpack`, добавляется зависимость для сборки на package:devel/"
+"hs-hpack[], и `hpack` вызывается на этапе конфигурации для генерации файла ."
+"cabal. Если указан аргумент `nodefault`, фреймворк не будет пытаться "
+"загрузить основной дистрибутивный файл из Hackage. Этот аргумент добавляется "
+"неявно, если присутствует `USE_GITHUB` или `USE_GITLAB`."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:337
@@ -939,8 +938,8 @@ msgid ""
msgstr ""
"Список флагов, передаваемых `cabal-install` на этапах настройки и сборки. "
"Флаги передаются в исходном виде. Эта переменная обычно используется для "
-"включения или отключения флагов, объявленных в файле .cabal. Передайте "
-"`foo`, чтобы включить флаг `foo`, и `-foo`, чтобы отключить его."
+"включения или отключения флагов, объявленных в файле .cabal. Передайте `foo`"
+", чтобы включить флаг `foo`, и `-foo`, чтобы отключить его."
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:354
@@ -957,8 +956,8 @@ msgid ""
"stanza in the .cabal file. Items from this list are automatically added to "
"pkg-plist."
msgstr ""
-"Список исполняемых файлов, устанавливаемых портом. Значение по умолчанию: `$"
-"{PORTNAME}`. Для получения списка возможных значений этой переменной "
+"Список исполняемых файлов, устанавливаемых портом. Значение по умолчанию: "
+"`${PORTNAME}`. Для получения списка возможных значений этой переменной "
"обратитесь к файлу .cabal портируемого проекта. Каждое значение "
"соответствует разделу `executable` в файле .cabal. Элементы из этого списка "
"автоматически добавляются в pkg-plist."
@@ -1049,14 +1048,14 @@ msgstr "`FOO_DATADIR_VARS`"
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:385
msgid ""
"List of extra Haskell packages, whose data files should be accessible by the "
-"executable named `FOO`. The executable should be a part of `$"
-"{CABAL_WRAPPER_SCRIPTS}`. Haskell packages listed there should not have a "
+"executable named `FOO`. The executable should be a part of `"
+"${CABAL_WRAPPER_SCRIPTS}`. Haskell packages listed there should not have a "
"version suffix."
msgstr ""
"Список дополнительных пакетов Haskell, чьи файлы данных должны быть доступны "
-"исполняемому файлу с именем `FOO`. Исполняемый файл должен быть частью `$"
-"{CABAL_WRAPPER_SCRIPTS}`. Указанные пакеты Haskell не должны иметь суффикса "
-"версии."
+"исполняемому файлу с именем `FOO`. Исполняемый файл должен быть частью "
+"`${CABAL_WRAPPER_SCRIPTS}`. Указанные пакеты Haskell не должны иметь "
+"суффикса версии."
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:386
@@ -1435,9 +1434,9 @@ msgid ""
"14-lang`, `{cpp}11-lang`, `gcc-{cpp}11-lib`, `{cpp}11-lib`, `{cpp}0x`, "
"`c11`, `nestedfct`, `features`"
msgstr ""
-"Возможные аргументы: (нет), `env` (по умолчанию, подразумевается), `{cpp}17-"
-"lang`, `{cpp}14-lang`, `{cpp}11-lang`, `gcc-{cpp}11-lib`, `{cpp}11-lib`, "
-"`{cpp}0x`, `c11`, `nestedfct`, `features`"
+"Возможные аргументы: (нет), `env` (по умолчанию, подразумевается), "
+"`{cpp}17-lang`, `{cpp}14-lang`, `{cpp}11-lang`, `gcc-{cpp}11-lib`, "
+"`{cpp}11-lib`, `{cpp}0x`, `c11`, `nestedfct`, `features`"
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:504
@@ -1545,9 +1544,9 @@ msgid ""
msgstr ""
"Поищите официальную запись CPE для программного продукта, используя либо "
"https://web.nvd.nist.gov/view/cpe/search[поисковую систему CPE] от NVD, либо "
-"https://nvd.nist.gov/feeds/xml/cpe/dictionary/official-cpe-"
-"dictionary_v2.3.xml.gz[официальный словарь CPE] (предупреждение: очень "
-"большой XML-файл). _Никогда не создавайте данные CPE самостоятельно._"
+"https://nvd.nist.gov/feeds/xml/cpe/dictionary/official-cpe-dictionary_v2.3."
+"xml.gz[официальный словарь CPE] (предупреждение: очень большой XML-файл). "
+"_Никогда не создавайте данные CPE самостоятельно._"
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:527
@@ -1663,8 +1662,8 @@ msgid ""
"extra post-install step will be run without interfering with any post-"
"install steps already in the port [.filename]#Makefile#. A line with "
"crossref:plist[plist-keywords-desktop-file-utils,`@desktop-file-utils`] will "
-"be added to the plist. Only use this macro if the port provides a "
-"`.desktop` file which contains a `MimeType` entry."
+"be added to the plist. Only use this macro if the port provides a `."
+"desktop` file which contains a `MimeType` entry."
msgstr ""
"Использует update-desktop-database из пакета package:devel/desktop-file-"
"utils[]. Дополнительный шаг post-install будет выполнен без вмешательства в "
@@ -1801,14 +1800,14 @@ msgstr "Возможные аргументы: (нет), `build`, `lib`, `run`,
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:605
msgid ""
"Adds a dependency on package:audio/ebur128[]. It allows to transparently "
-"depend on the `rust` or `legacy` variants by using `DEFAULT_VERSIONS` in "
-"[.filename]#make.conf#. For instance, to use the legacy version, use "
+"depend on the `rust` or `legacy` variants by using `DEFAULT_VERSIONS` in [."
+"filename]#make.conf#. For instance, to use the legacy version, use "
"`DEFAULT_VERSIONS+=ebur128=legacy`"
msgstr ""
"Добавляет зависимость от пакета package:audio/ebur128[]. Позволяет прозрачно "
-"зависеть от вариантов `rust` или `legacy`, используя `DEFAULT_VERSIONS` в "
-"[.filename]#make.conf#. Например, для использования устаревшей версии "
-"укажите `DEFAULT_VERSIONS+=ebur128=legacy`"
+"зависеть от вариантов `rust` или `legacy`, используя `DEFAULT_VERSIONS` в [."
+"filename]#make.conf#. Например, для использования устаревшей версии укажите "
+"`DEFAULT_VERSIONS+=ebur128=legacy`"
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:609
@@ -1817,8 +1816,8 @@ msgid ""
"argument was provided. The rest of the arguments provide the corresponding "
"category of dependency."
msgstr ""
-"Без аргументов поведение аналогично случаю с предоставлением аргумента "
-"`lib`. Остальные аргументы указывают соответствующую категорию зависимости."
+"Без аргументов поведение аналогично случаю с предоставлением аргумента `lib`"
+". Остальные аргументы указывают соответствующую категорию зависимости."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:611
@@ -1851,8 +1850,8 @@ msgstr "Возможные аргументы: `31`, `32`, `33`"
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:625
msgid ""
"Provide support for easy porting of Electron applications that are "
-"distributed in binary form. Adds a build and run time dependency on "
-"package:devel/electron31[], package:devel/electron32[], or package:devel/"
+"distributed in binary form. Adds a build and run time dependency on package:"
+"devel/electron31[], package:devel/electron32[], or package:devel/"
"electron33[] depending on the argument used."
msgstr ""
"Предоставить поддержку для простого портирования Electron-приложений, "
@@ -2003,8 +2002,8 @@ msgstr "`ELIXIR_HIDDEN`"
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:677
msgid "Applications to be hidden from the code path; usually ${PORTNAME}"
msgstr ""
-"Приложения, которые необходимо скрыть из пути выполнения кода; обычно `$"
-"{PORTNAME}`"
+"Приложения, которые необходимо скрыть из пути выполнения кода; обычно "
+"`${PORTNAME}`"
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:677
@@ -2100,8 +2099,8 @@ msgstr "`MIX_DOC_FILES`"
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:693
msgid "Extra doc files to be installed in `DOCSDIR` (usually README.md)"
msgstr ""
-"Дополнительные файлы документации для установки в `DOCSDIR` (обычно "
-"README.md)"
+"Дополнительные файлы документации для установки в `DOCSDIR` (обычно README."
+"md)"
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:693
@@ -2210,13 +2209,13 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:723
msgid ""
-"The default Emacs flavor for ports with `USES=emacs` can be defined in "
-"[.filename]#make.conf#. For example, for the `nox` flavor, use "
+"The default Emacs flavor for ports with `USES=emacs` can be defined in [."
+"filename]#make.conf#. For example, for the `nox` flavor, use "
"`DEFAULT_VERSIONS+= emacs=nox`. The valid flavors are: `full`, `canna`, "
"`nox`, `wayland`, `devel_full`, `devel_nox`."
msgstr ""
-"Стандартный вариант Emacs для портов с `USES=emacs` можно определить в "
-"[.filename]#make.conf#. Например, для варианта `nox` используйте "
+"Стандартный вариант Emacs для портов с `USES=emacs` можно определить в [."
+"filename]#make.conf#. Например, для варианта `nox` используйте "
"`DEFAULT_VERSIONS+= emacs=nox`. Допустимые флейворы: `full`, `canna`, `nox`, "
"`wayland`, `devel_full`, `devel_nox`."
@@ -2286,8 +2285,8 @@ msgstr "`EMACS_CMD`"
msgid ""
"Emacs command with full path (e.g. [.filename]#/usr/local/bin/emacs-30.1#)"
msgstr ""
-"Команда Emacs с полным путём (например, [.filename]#/usr/local/bin/"
-"emacs-30.1#)"
+"Команда Emacs с полным путём (например, [.filename]#/usr/local/bin/emacs-30."
+"1#)"
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:746
@@ -2298,11 +2297,11 @@ msgstr "`EMACS_FLAVOR`"
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:748
msgid ""
-"Used for dependencies (e.g. `BUILD_DEPENDS= dash.el${EMACS_PKGNAMESUFFIX}"
-">0:devel/dash@${EMACS_FLAVOR}`)"
+"Used for dependencies (e.g. `BUILD_DEPENDS= dash.el${EMACS_PKGNAMESUFFIX}>0:"
+"devel/dash@${EMACS_FLAVOR}`)"
msgstr ""
-"Используется для зависимостей (например, `BUILD_DEPENDS= dash.el$"
-"{EMACS_PKGNAMESUFFIX}>0:devel/dash@${EMACS_FLAVOR}`)"
+"Используется для зависимостей (например, `BUILD_DEPENDS= dash."
+"el${EMACS_PKGNAMESUFFIX}>0:devel/dash@${EMACS_FLAVOR}`)"
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:749
@@ -2326,11 +2325,11 @@ msgstr "`EMACS_LIBDIR_WITH_VER`"
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:754
msgid ""
-"Library directory without `${PREFIX}` including version (e.g. "
-"[.filename]#share/emacs/30.1#)"
+"Library directory without `${PREFIX}` including version (e.g. [."
+"filename]#share/emacs/30.1#)"
msgstr ""
-"Каталог библиотеки без `${PREFIX}`, включая версию (например, "
-"[.filename]#share/emacs/30.1#)"
+"Каталог библиотеки без `${PREFIX}`, включая версию (например, [.filename]#"
+"share/emacs/30.1#)"
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:755
@@ -2559,11 +2558,11 @@ msgid ""
msgstr ""
"Добавляет зависимость во время выполнения на инструменты, необходимые для "
"регистрации шрифтов. В зависимости от аргумента добавляет строку "
-"`crossref:plist[plist-keywords-fc,@fc] ${FONTSDIR}`, строку "
-"`crossref:plist[plist-keywords-fontsdir,@fontsdir] ${FONTSDIR}` или не "
-"добавляет строку, если аргумент `none`, в plist. `FONTSDIR` по умолчанию "
-"имеет значение [.filename]#${PREFIX}/share/fonts/${FONTNAME}#, а `FONTNAME` "
-"— `${PORTNAME}`. Добавляет `FONTSDIR` в `PLIST_SUB` и `SUB_LIST`"
+"`crossref:plist[plist-keywords-fc,@fc] ${FONTSDIR}`, строку `crossref:plist"
+"[plist-keywords-fontsdir,@fontsdir] ${FONTSDIR}` или не добавляет строку, "
+"если аргумент `none`, в plist. `FONTSDIR` по умолчанию имеет значение [."
+"filename]#${PREFIX}/share/fonts/${FONTNAME}#, а `FONTNAME` — `${PORTNAME}`. "
+"Добавляет `FONTSDIR` в `PLIST_SUB` и `SUB_LIST`"
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:828
@@ -2688,15 +2687,15 @@ msgstr ""
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:880
msgid ""
"Uses package:devel/gettext-runtime[]. By default, with no arguments or with "
-"the `lib` argument, implies a library dependency on "
-"[.filename]#libintl.so#. `build` and `run` implies, respectively a build-"
-"time and a run-time dependency on [.filename]#gettext#."
+"the `lib` argument, implies a library dependency on [.filename]#libintl."
+"so#. `build` and `run` implies, respectively a build-time and a run-time "
+"dependency on [.filename]#gettext#."
msgstr ""
"Использует пакет package:devel/gettext-runtime[]. По умолчанию, без "
-"аргументов или с аргументом `lib`, подразумевает зависимость от библиотеки "
-"[.filename]#libintl.so#. Аргументы `build` и `run` подразумевают, "
-"соответственно, зависимость во время сборки и во время выполнения от "
-"[.filename]#gettext#."
+"аргументов или с аргументом `lib`, подразумевает зависимость от библиотеки [."
+"filename]#libintl.so#. Аргументы `build` и `run` подразумевают, "
+"соответственно, зависимость во время сборки и во время выполнения от [."
+"filename]#gettext#."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:882
@@ -2717,8 +2716,8 @@ msgid ""
"registered. With the `run` argument, a run-time dependency is registered."
msgstr ""
"Использует пакет package:devel/gettext-tools[]. По умолчанию, без аргумента "
-"или с аргументом `build`, регистрируется зависимость во время сборки от "
-"[.filename]#msgfmt#. С аргументом `run` регистрируется зависимость во время "
+"или с аргументом `build`, регистрируется зависимость во время сборки от [."
+"filename]#msgfmt#. С аргументом `run` регистрируется зависимость во время "
"выполнения."
#. type: Title ==
@@ -2740,11 +2739,11 @@ msgid ""
"is required. `build` and `run` add build- and run-time dependencies on "
"Ghostscript. The default is both build- and run-time dependencies."
msgstr ""
-"Можно указать конкретную версию _X_. Доступные версии: `7`, `8`, `9` и "
-"`agpl` (по умолчанию). `nox11` указывает, что требуется версия порта `-"
-"nox11`. `build` и `run` добавляют зависимости на Ghostscript во время "
-"сборки и выполнения соответственно. По умолчанию добавляются зависимости "
-"как на сборку, так и на выполнение."
+"Можно указать конкретную версию _X_. Доступные версии: `7`, `8`, `9` и `agpl`"
+" (по умолчанию). `nox11` указывает, что требуется версия порта `-nox11`. "
+"`build` и `run` добавляют зависимости на Ghostscript во время сборки и "
+"выполнения соответственно. По умолчанию добавляются зависимости как на "
+"сборку, так и на выполнение."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:901
@@ -2775,8 +2774,8 @@ msgid ""
"add a library dependency on [.filename]#libEGL.so# from package:graphics/"
"libglvnd[]"
msgstr ""
-"добавить зависимость от библиотеки [.filename]#libEGL.so# из пакета "
-"package:graphics/libglvnd[]"
+"добавить зависимость от библиотеки [.filename]#libEGL.so# из пакета package:"
+"graphics/libglvnd[]"
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:912
@@ -2790,8 +2789,8 @@ msgid ""
"Add a library dependency on [.filename]#libgbm.so# from package:graphics/"
"mesa-libs[]"
msgstr ""
-"Добавить зависимость от библиотеки [.filename]#libgbm.so# из пакета "
-"package:graphics/mesa-libs[]"
+"Добавить зависимость от библиотеки [.filename]#libgbm.so# из пакета package:"
+"graphics/mesa-libs[]"
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:917
@@ -2799,8 +2798,8 @@ msgid ""
"Add a library dependency on [.filename]#libGL.so# from package:graphics/"
"libglvnd[]"
msgstr ""
-"Добавить зависимость от библиотеки [.filename]#libGL.so# из пакета "
-"package:graphics/libglvnd[]"
+"Добавить зависимость от библиотеки [.filename]#libGL.so# из пакета package:"
+"graphics/libglvnd[]"
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:918
@@ -2829,8 +2828,8 @@ msgid ""
"Add a library dependency on [.filename]#libGLEW.so# from package:graphics/"
"glew[]"
msgstr ""
-"Добавить зависимость от библиотеки [.filename]#libGLEW.so# из пакета "
-"package:graphics/glew[]"
+"Добавить зависимость от библиотеки [.filename]#libGLEW.so# из пакета package:"
+"graphics/glew[]"
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:924
@@ -2844,8 +2843,8 @@ msgid ""
"Add a library dependency on [.filename]#libGLU.so# from package:graphics/"
"libGLU[]"
msgstr ""
-"Добавить зависимость от библиотеки [.filename]#libGLU.so# из "
-"package:graphics/libGLU[]"
+"Добавить зависимость от библиотеки [.filename]#libGLU.so# из package:"
+"graphics/libGLU[]"
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:927
@@ -2859,8 +2858,8 @@ msgid ""
"Add a library dependency on [.filename]#libglut.so# from package:graphics/"
"freeglut[]"
msgstr ""
-"Добавить зависимость от библиотеки [.filename]#libglut.so# из "
-"package:graphics/freeglut[]"
+"Добавить зависимость от библиотеки [.filename]#libglut.so# из package:"
+"graphics/freeglut[]"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:930
@@ -2875,8 +2874,8 @@ msgid ""
"Add a library dependency on [.filename]#libOpenGL.so# from package:graphics/"
"libglvnd[]"
msgstr ""
-"Добавить зависимость от библиотеки [.filename]#libOpenGL.so# из "
-"package:graphics/libglvnd[]"
+"Добавить зависимость от библиотеки [.filename]#libOpenGL.so# из package:"
+"graphics/libglvnd[]"
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:934
@@ -3333,8 +3332,8 @@ msgstr "`vte3`"
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1034
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1800
msgid ""
-"The default dependency is build- and run-time, it can be changed with "
-"`:build` or `:run`. For example:"
+"The default dependency is build- and run-time, it can be changed with `:"
+"build` or `:run`. For example:"
msgstr ""
"Зависимость по умолчанию — на время сборки и выполнения, её можно изменить с "
"помощью `:build` или `:run`. Например:"
@@ -3605,8 +3604,8 @@ msgid ""
"Handle dependencies needed by consumers of the GSS-API. Only libraries that "
"provide the Kerberos mechanism are available. By default, or set to `base`, "
"the GSS-API library from the base system is used. Can also be set to "
-"`heimdal` to use package:security/heimdal[], or `mit` to use "
-"package:security/krb5[]."
+"`heimdal` to use package:security/heimdal[], or `mit` to use package:"
+"security/krb5[]."
msgstr ""
"Обрабатывает зависимости, необходимые для использования GSS-API. Доступны "
"только библиотеки, предоставляющие механизм Kerberos. По умолчанию (или при "
@@ -3670,8 +3669,8 @@ msgstr "`GSSAPI_CONFIGURE_ARGS`"
msgid ""
"The `flags` option can be given alongside `base`, `heimdal`, or `mit` to "
"automatically add `GSSAPICPPFLAGS`, `GSSAPILDFLAGS`, and `GSSAPILIBS` to "
-"`CFLAGS`, `LDFLAGS`, and `LDADD`, respectively. For example, use "
-"`base,flags`."
+"`CFLAGS`, `LDFLAGS`, and `LDADD`, respectively. For example, use `base,"
+"flags`."
msgstr ""
"Опция `flags` может быть указана вместе с `base`, `heimdal` или `mit` для "
"автоматического добавления `GSSAPICPPFLAGS`, `GSSAPILDFLAGS` и `GSSAPILIBS` "
@@ -3717,11 +3716,14 @@ msgid ""
"GSSAPI_NONE_CONFIGURE_ON=\t--without-gssapi\n"
msgstr ""
"GSSAPI_BASE_USES=\tgssapi\n"
-"GSSAPI_BASE_CONFIGURE_ON=\t--with-gssapi=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS}\n"
+"GSSAPI_BASE_CONFIGURE_ON=\t--with-gssapi=${GSSAPIBASEDIR} "
+"${GSSAPI_CONFIGURE_ARGS}\n"
"GSSAPI_HEIMDAL_USES=\tgssapi:heimdal\n"
-"GSSAPI_HEIMDAL_CONFIGURE_ON=\t--with-gssapi=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS}\n"
+"GSSAPI_HEIMDAL_CONFIGURE_ON=\t--with-gssapi=${GSSAPIBASEDIR} "
+"${GSSAPI_CONFIGURE_ARGS}\n"
"GSSAPI_MIT_USES=\tgssapi:mit\n"
-"GSSAPI_MIT_CONFIGURE_ON=\t--with-gssapi=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS}\n"
+"GSSAPI_MIT_CONFIGURE_ON=\t--with-gssapi=${GSSAPIBASEDIR} "
+"${GSSAPI_CONFIGURE_ARGS}\n"
"GSSAPI_NONE_CONFIGURE_ON=\t--without-gssapi\n"
#. type: Title ==
@@ -4302,8 +4304,8 @@ msgid ""
"build-time and run-time dependencies. `build` implies a build-time "
"dependency, and `patch` implies a patch-time dependency. If the port uses "
"the `WCHAR_T` or `//TRANSLIT` iconv extensions, add the relevant arguments "
-"so that the correct iconv is used. For more information see "
-"crossref:special[using-iconv,Using `iconv`]."
+"so that the correct iconv is used. For more information see crossref:"
+"special[using-iconv,Using `iconv`]."
msgstr ""
"Использует функции `iconv`, либо из порта package:converters/libiconv[] как "
"зависимость на этапе сборки и выполнения, либо из базовой системы. По "
@@ -4335,11 +4337,11 @@ msgid ""
"add the `notall` argument. If `xmkmf` does not generate a `install.man` "
"target, add the `noman` argument."
msgstr ""
-"Добавить package:devel/imake[] как зависимость на этапе сборки и выполнить "
-"`xmkmf -a` на этапе `configure`. Если указан аргумент `env`, цель "
-"`configure` не устанавливается. Если флаг `-a` вызывает проблемы для порта, "
-"добавьте аргумент `notall`. Если `xmkmf` не генерирует цель `install.man`, "
-"добавьте аргумент `noman`."
+"Добавить package:devel/imake[] как зависимость на этапе сборки и выполнить `"
+"xmkmf -a` на этапе `configure`. Если указан аргумент `env`, цель `configure` "
+"не устанавливается. Если флаг `-a` вызывает проблемы для порта, добавьте "
+"аргумент `notall`. Если `xmkmf` не генерирует цель `install.man`, добавьте "
+"аргумент `noman`."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1319
@@ -4416,8 +4418,8 @@ msgid ""
"List of space-separated suitable JDK port vendors for the port. (allowed "
"values: `openjdk`, `oracle`)"
msgstr ""
-"Список подходящих поставщиков портов JDK для порта, разделенных пробелами. "
-"(допустимые значения: `openjdk`, `oracle`)"
+"Список подходящих поставщиков портов JDK для порта, разделенных пробелами. ("
+"допустимые значения: `openjdk`, `oracle`)"
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1346
@@ -4549,8 +4551,8 @@ msgid ""
"Path to the appletviewer utility. (e.g. [.filename]#/usr/local/linux-"
"jdk1.8.0/bin/appletviewer#)"
msgstr ""
-"Путь к утилите appletviewer. (например, [.filename]#/usr/local/linux-"
-"jdk1.8.0/bin/appletviewer#)"
+"Путь к утилите appletviewer. (например, [.filename]#/usr/local/linux-jdk1.8."
+"0/bin/appletviewer#)"
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1380
@@ -4561,8 +4563,8 @@ msgstr "`JAVA`"
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1382
msgid ""
-"Path to the `java` executable. Use this for executing Java programs. (e.g. "
-"[.filename]#/usr/local/openjdk8/bin/java#)"
+"Path to the `java` executable. Use this for executing Java programs. (e.g. [."
+"filename]#/usr/local/openjdk8/bin/java#)"
msgstr ""
"Путь к исполняемому файлу `java`. Используется для запуска программ на Java. "
"(например, [.filename]#/usr/local/openjdk8/bin/java#)"
@@ -4689,8 +4691,8 @@ msgid ""
"Path to the archive that contains the JDK class files. On most JDKs, this is "
"[.filename]#${JAVA_HOME}/jre/lib/rt.jar#."
msgstr ""
-"Путь к архиву, содержащему файлы классов JDK. В большинстве JDK это "
-"[.filename]#${JAVA_HOME}/jre/lib/rt.jar#."
+"Путь к архиву, содержащему файлы классов JDK. В большинстве JDK это [."
+"filename]#${JAVA_HOME}/jre/lib/rt.jar#."
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1417
@@ -4750,8 +4752,7 @@ msgstr ""
msgid ""
"If the `build` argument is provided then a build dependency is added to the "
"port."
-msgstr ""
-"Если указан аргумент `build`, то в порт добавляется зависимость сборки."
+msgstr "Если указан аргумент `build`, то в порт добавляется зависимость сборки."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1441
@@ -4815,8 +4816,8 @@ msgid ""
"Add dependency on KDE components. See crossref:special[using-kde,Using KDE] "
"for more information."
msgstr ""
-"Добавить зависимость от компонентов KDE. Подробнее см. в "
-"crossref:special[using-kde,Использование KDE]."
+"Добавить зависимость от компонентов KDE. Подробнее см. в crossref:special"
+"[using-kde,Использование KDE]."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1462
@@ -4855,16 +4856,16 @@ msgid ""
"Define `KMODDIR` to [.filename]#/boot/modules# by default, add it to "
"`PLIST_SUB` and `MAKE_ENV`, and create it upon installation. If `KMODDIR` is "
"set to [.filename]#/boot/kernel#, it will be rewritten to [.filename]#/boot/"
-"modules#. This prevents breaking packages when upgrading the kernel due to "
-"[.filename]#/boot/kernel# being renamed to [.filename]#/boot/kernel.old# in "
+"modules#. This prevents breaking packages when upgrading the kernel due to [."
+"filename]#/boot/kernel# being renamed to [.filename]#/boot/kernel.old# in "
"the process."
msgstr ""
"Определить `KMODDIR` по умолчанию как [.filename]#/boot/modules#, добавить "
"его в `PLIST_SUB` и `MAKE_ENV`, а также создать его при установке. Если "
-"`KMODDIR` установлен в [.filename]#/boot/kernel#, он будет перезаписан в "
-"[.filename]#/boot/modules#. Это предотвращает повреждение пакетов при "
-"обновлении ядра из-за переименования [.filename]#/boot/kernel# в "
-"[.filename]#/boot/kernel.old# в процессе."
+"`KMODDIR` установлен в [.filename]#/boot/kernel#, он будет перезаписан в [."
+"filename]#/boot/modules#. Это предотвращает повреждение пакетов при "
+"обновлении ядра из-за переименования [.filename]#/boot/kernel# в [."
+"filename]#/boot/kernel.old# в процессе."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1473
@@ -5018,8 +5019,8 @@ msgid ""
"lazbuild extra args. It could be `-d` in most of cases. See man:lazbuild[1] "
"for more information. Default: empty"
msgstr ""
-"Дополнительные аргументы lazbuild. В большинстве случаев это может быть `-"
-"d`. Подробнее см. man:lazbuild[1]. По умолчанию: пусто"
+"Дополнительные аргументы lazbuild. В большинстве случаев это может быть `-d`"
+". Подробнее см. man:lazbuild[1]. По умолчанию: пусто"
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1523
@@ -5179,8 +5180,8 @@ msgstr ""
"Исправляет скрипты `libtool`. Это должно быть добавлено во все порты, "
"использующие `libtool`. Аргумент `keepla` может быть использован для "
"сохранения файлов [.filename]#.la#. Некоторые порты не поставляются с "
-"собственной копией libtool и требуют зависимость во время сборки от "
-"package:devel/libtool[], используйте аргумент `:build` для добавления такой "
+"собственной копией libtool и требуют зависимость во время сборки от package:"
+"devel/libtool[], используйте аргумент `:build` для добавления такой "
"зависимости."
#. type: Title ==
@@ -5625,10 +5626,10 @@ msgid ""
"internally by a few other `USES`."
msgstr ""
"Гарантирует использование библиотек из зависимостей в `LOCALBASE` вместо "
-"библиотек из базовой системы. Указывает `ldflags` для добавления `-L$"
-"{LOCALBASE}/lib` в `LDFLAGS` вместо `LIBS`. Порты, зависящие от библиотек, "
-"которые также присутствуют в базовой системе, должны использовать эту опцию. "
-"Она также используется внутри несколькими другими `USES`."
+"библиотек из базовой системы. Указывает `ldflags` для добавления "
+"`-L${LOCALBASE}/lib` в `LDFLAGS` вместо `LIBS`. Порты, зависящие от "
+"библиотек, которые также присутствуют в базовой системе, должны использовать "
+"эту опцию. Она также используется внутри несколькими другими `USES`."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1701
@@ -5710,11 +5711,11 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1725
msgid ""
-"After including [.filename]#bsd.port.options.mk# or "
-"[.filename]#bsd.port.pre.mk# the port can inspect these variables:"
+"After including [.filename]#bsd.port.options.mk# or [.filename]#bsd.port.pre."
+"mk# the port can inspect these variables:"
msgstr ""
-"После включения [.filename]#bsd.port.options.mk# или "
-"[.filename]#bsd.port.pre.mk# порт может проверять эти переменные:"
+"После включения [.filename]#bsd.port.options.mk# или [.filename]#bsd.port.pre"
+".mk# порт может проверять эти переменные:"
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1726
@@ -5759,8 +5760,8 @@ msgstr "`lxqt`"
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1743
msgid ""
"Handle dependencies for the LXQt Desktop Environment. Use `USE_LXQT` to "
-"select the components needed for the port. See crossref:special[using-"
-"lxqt,Using LXQt] for more information."
+"select the components needed for the port. See crossref:special[using-lxqt,"
+"Using LXQt] for more information."
msgstr ""
"Обработка зависимостей для рабочей среды LXQt. Используйте `USE_LXQT` для "
"выбора необходимых компонентов для порта. Дополнительную информацию см. в "
@@ -5944,8 +5945,8 @@ msgstr "`meson`"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1814
msgid ""
-"Provide support for Meson based projects. For more information see "
-"crossref:special[using-meson,Using `meson`]."
+"Provide support for Meson based projects. For more information see crossref:"
+"special[using-meson,Using `meson`]."
msgstr ""
"Предоставить поддержку для проектов на основе Meson. Дополнительную "
"информацию смотрите в crossref:special[using-meson,Использование `meson`]."
@@ -5981,11 +5982,11 @@ msgstr "Возможные аргументы: (отсутствуют), `ng`"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1828
msgid ""
-"Adds a library dependency on package:archivers/minizip[] or "
-"package:archivers/minizip-ng[] respectively."
+"Adds a library dependency on package:archivers/minizip[] or package:"
+"archivers/minizip-ng[] respectively."
msgstr ""
-"Добавляет зависимость библиотеки от package:archivers/minizip[] или "
-"package:archivers/minizip-ng[] соответственно."
+"Добавляет зависимость библиотеки от package:archivers/minizip[] или package:"
+"archivers/minizip-ng[] соответственно."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1830
@@ -6036,19 +6037,19 @@ msgid ""
"`80`, `100m`, `101m`, and `102m`. The `m` and `p` suffixes are for the "
"MariaDB and Percona variants of MySQL. `server` and `embedded` add a build- "
"and run-time dependency on the MySQL server. When using `server` or "
-"`embedded`, add `client` to also add a dependency on "
-"[.filename]#libmysqlclient.so#. A port can set `IGNORE_WITH_MYSQL` if some "
+"`embedded`, add `client` to also add a dependency on [."
+"filename]#libmysqlclient.so#. A port can set `IGNORE_WITH_MYSQL` if some "
"versions are not supported."
msgstr ""
"Предоставить поддержку MySQL. Если версия не указана, попытаться определить "
"установленную версию. В случае неудачи использовать версию по умолчанию, "
"MySQL-5.6. Возможные версии: `55`, `55m`, `55p`, `56`, `56p`, `56w`, `57`, "
-"`57p`, `80`, `100m`, `101m` и `102m`. Суффиксы `m` и `p` обозначают флейворс "
+"`57p`, `80`, `100m`, `101m` и `102m`. Суффиксы `m` и `p` обозначают флейворы "
"MariaDB и Percona для MySQL. Параметры `server` и `embedded` добавляют "
"зависимости во время сборки и выполнения на сервер MySQL. При использовании "
"`server` или `embedded` добавьте `client`, чтобы также включить зависимость "
-"от [.filename]#libmysqlclient.so#. Порт может установить "
-"`IGNORE_WITH_MYSQL`, если некоторые версии не поддерживаются."
+"от [.filename]#libmysqlclient.so#. Порт может установить `IGNORE_WITH_MYSQL`"
+", если некоторые версии не поддерживаются."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1854
@@ -6113,11 +6114,11 @@ msgid ""
"a dependency on package:x11-toolkits/open-motif-devel[]"
msgstr ""
"Использует package:x11-toolkits/open-motif[] как зависимость библиотеки. "
-"Конечные пользователи могут установить `WANT_LESSTIF` в "
-"[.filename]#make.conf#, чтобы использовать package:x11-toolkits/lesstif[] "
-"как зависимость вместо package:x11-toolkits/open-motif[]. Аналогично, "
-"установка `WANT_OPEN_MOTIF_DEVEL` в [.filename]#make.conf# добавит "
-"зависимость от package:x11-toolkits/open-motif-devel[]"
+"Конечные пользователи могут установить `WANT_LESSTIF` в [.filename]#make."
+"conf#, чтобы использовать package:x11-toolkits/lesstif[] как зависимость "
+"вместо package:x11-toolkits/open-motif[]. Аналогично, установка "
+"`WANT_OPEN_MOTIF_DEVEL` в [.filename]#make.conf# добавит зависимость от "
+"package:x11-toolkits/open-motif-devel[]"
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1880
@@ -6150,8 +6151,8 @@ msgid ""
"If the `openmpi` argument is provided a dependency on package:net/openmpi[] "
"is added to the port."
msgstr ""
-"Если указан аргумент `openmpi`, в порт добавляется зависимость от "
-"package:net/openmpi[]."
+"Если указан аргумент `openmpi`, в порт добавляется зависимость от package:"
+"net/openmpi[]."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1893
@@ -6171,8 +6172,7 @@ msgstr "`MPI_LIBS`"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1896
msgid "Libraries needed to link programs using `MPI`."
-msgstr ""
-"Библиотеки, необходимые для связывания программ с использованием `MPI`."
+msgstr "Библиотеки, необходимые для связывания программ с использованием `MPI`."
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1897
@@ -6198,8 +6198,8 @@ msgid ""
"Location of the `mpicc` executable. Default: [.filename]#${MPI_HOME}/bin/"
"mpicc#."
msgstr ""
-"Расположение исполняемого файла `mpicc`. По умолчанию: [.filename]#$"
-"{MPI_HOME}/bin/mpicc#."
+"Расположение исполняемого файла `mpicc`. По умолчанию: [."
+"filename]#${MPI_HOME}/bin/mpicc#."
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1903
@@ -6213,8 +6213,8 @@ msgid ""
"Location of the `mpicxx` executable. Default: [.filename]#${MPI_HOME}/bin/"
"mpicxx#."
msgstr ""
-"Расположение исполняемого файла `mpicxx`. По умолчанию: [.filename]#$"
-"{MPI_HOME}/bin/mpicxx#."
+"Расположение исполняемого файла `mpicxx`. По умолчанию: [."
+"filename]#${MPI_HOME}/bin/mpicxx#."
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1906
@@ -6228,8 +6228,8 @@ msgid ""
"Location of the `mpif90` executable. Default: [.filename]#${MPI_HOME}/bin/"
"mpif90#."
msgstr ""
-"Расположение исполняемого файла `mpif90`. По умолчанию: [.filename]#$"
-"{MPI_HOME}/bin/mpif90#."
+"Расположение исполняемого файла `mpif90`. По умолчанию: [."
+"filename]#${MPI_HOME}/bin/mpif90#."
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1909
@@ -6268,8 +6268,8 @@ msgid ""
"Location of the `mpiexec` executable. Default: [.filename]#${MPI_HOME}/bin/"
"mpiexec#."
msgstr ""
-"Расположение исполняемого файла `mpiexec`. По умолчанию: [.filename]#$"
-"{MPI_HOME}/bin/mpiexec#."
+"Расположение исполняемого файла `mpiexec`. По умолчанию: [."
+"filename]#${MPI_HOME}/bin/mpiexec#."
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1918
@@ -6283,8 +6283,8 @@ msgid ""
"Location of the `mpirun` executable. Default: [.filename]#${MPI_HOME}/bin/"
"mpirun#."
msgstr ""
-"Расположение исполняемого файла `mpirun`. По умолчанию: [.filename]#$"
-"{MPI_HOME}/bin/mpirun#."
+"Расположение исполняемого файла `mpirun`. По умолчанию: [."
+"filename]#${MPI_HOME}/bin/mpirun#."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1923
@@ -6357,7 +6357,8 @@ msgid ""
"Possible arguments: (none), `build`, `run`, `current`, `lts`, `10`, `14`, `16`,\n"
" `17`.\n"
msgstr ""
-"Возможные аргументы: (нет), `build`, `run`, `current`, `lts`, `10`, `14`, `16`,\n"
+"Возможные аргументы: (нет), `build`, `run`, `current`, `lts`, `10`, `14`, "
+"`16`,\n"
" `17`.\n"
#. type: Plain text
@@ -6382,8 +6383,8 @@ msgid ""
"Add objective C dependencies (compiler, runtime library) if the base system "
"does not support it."
msgstr ""
-"Добавить зависимости Objective C (компилятор, библиотека времени "
-"выполнения), если базовая система их не поддерживает."
+"Добавить зависимости Objective C (компилятор, библиотека времени выполнения)"
+", если базовая система их не поддерживает."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1965
@@ -6394,11 +6395,11 @@ msgstr "`ocaml`"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1968
msgid ""
-"Possible arguments: (none), "
-"`build`,`camlp4`,`dune`,`findlib`,`findplist`,`ldconfig`,`run`,`tk`,`tkbuild`,`tkrun`,`wash`"
+"Possible arguments: (none), `build`,`camlp4`,`dune`,`findlib`,`findplist`,"
+"`ldconfig`,`run`,`tk`,`tkbuild`,`tkrun`,`wash`"
msgstr ""
-"Возможные аргументы: (нет), `build`, `camlp4`, `dune`, `findlib`, "
-"`findplist`, `ldconfig`, `run`, `tk`, `tkbuild`, `tkrun`, `wash`"
+"Возможные аргументы: (нет), `build`, `camlp4`, `dune`, `findlib`, `findplist`"
+", `ldconfig`, `run`, `tk`, `tkbuild`, `tkrun`, `wash`"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1970
@@ -6478,9 +6479,9 @@ msgstr "Если указан аргумент `run`, добавить ocamlc в
#. type: Plain text
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1994
msgid ""
-"If the `tk` argument is provided then a build and run dependency on "
-"package:x11-toolkits/ocaml-labltk[] is added to the port. Implies `tkbuild` "
-"and `tkrun`."
+"If the `tk` argument is provided then a build and run dependency on package:"
+"x11-toolkits/ocaml-labltk[] is added to the port. Implies `tkbuild` and "
+"`tkrun`."
msgstr ""
"Если указан аргумент `tk`, то в порт добавляется зависимость на сборку и "
"выполнение от пакета package:x11-toolkits/ocaml-labltk[]. Подразумевает "
@@ -6542,11 +6543,11 @@ msgstr "`OCAML_LDLIBS`"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2012
msgid ""
-"Directories under `PREFIX` to be automatically added/removed from "
-"[.filename]#ld.conf#. Default: `${OCAML_SITELIBDIR}/${PORTNAME}`"
+"Directories under `PREFIX` to be automatically added/removed from [."
+"filename]#ld.conf#. Default: `${OCAML_SITELIBDIR}/${PORTNAME}`"
msgstr ""
-"Каталоги в `PREFIX`, которые будут автоматически добавлены/удалены из "
-"[.filename]#ld.conf#. По умолчанию: `${OCAML_SITELIBDIR}/${PORTNAME}`"
+"Каталоги в `PREFIX`, которые будут автоматически добавлены/удалены из [."
+"filename]#ld.conf#. По умолчанию: `${OCAML_SITELIBDIR}/${PORTNAME}`"
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2013
@@ -6609,11 +6610,11 @@ msgid ""
"`PATHFIX_WRKSRC` (defaults to `WRKSRC`) and fix common paths to make sure "
"they respect the FreeBSD hierarchy. For example, it fixes the installation "
"directory of `pkgconfig`'s [.filename]#.pc# files to [.filename]#${PREFIX}/"
-"libdata/pkgconfig#. If the port uses `USES=autoreconf`, "
-"[.filename]#Makefile.am# will be added to `PATHFIX_MAKEFILEIN` automatically."
+"libdata/pkgconfig#. If the port uses `USES=autoreconf`, [."
+"filename]#Makefile.am# will be added to `PATHFIX_MAKEFILEIN` automatically."
msgstr ""
-"Ищите [.filename]#Makefile.in# и [.filename]#configure# в `PATHFIX_WRKSRC` "
-"(по умолчанию `WRKSRC`) и исправляйте стандартные пути, чтобы они "
+"Ищите [.filename]#Makefile.in# и [.filename]#configure# в `PATHFIX_WRKSRC` ("
+"по умолчанию `WRKSRC`) и исправляйте стандартные пути, чтобы они "
"соответствовали иерархии FreeBSD. Например, исправляется каталог установки "
"для файлов [.filename]#.pc# `pkgconfig` на [.filename]#${PREFIX}/libdata/"
"pkgconfig#. Если порт использует `USES=autoreconf`, [.filename]#Makefile.am# "
@@ -6622,12 +6623,12 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2046
msgid ""
-"If the port crossref:uses[uses-cmake,`USES=cmake`] it will look for "
-"[.filename]#CMakeLists.txt# in `PATHFIX_WRKSRC`. If needed, that default "
+"If the port crossref:uses[uses-cmake,`USES=cmake`] it will look for [."
+"filename]#CMakeLists.txt# in `PATHFIX_WRKSRC`. If needed, that default "
"filename can be changed with `PATHFIX_CMAKELISTSTXT`."
msgstr ""
-"Если порт crossref:uses[uses-cmake,`USES=cmake`], он будет искать файл "
-"[.filename]#CMakeLists.txt# в `PATHFIX_WRKSRC`. При необходимости это имя "
+"Если порт crossref:uses[uses-cmake,`USES=cmake`], он будет искать файл [."
+"filename]#CMakeLists.txt# в `PATHFIX_WRKSRC`. При необходимости это имя "
"файла по умолчанию можно изменить с помощью `PATHFIX_CMAKELISTSTXT`."
#. type: Title ==
@@ -6646,14 +6647,14 @@ msgstr "Возможные аргументы: `env`"
msgid ""
"Adds a dependency on package:devel/pear[]. It will setup default behavior "
"for software using the PHP Extension and Application Repository. Using the "
-"`env` arguments only sets up the PEAR environment variables. See "
-"crossref:special[php-pear,PEAR Modules] for more information."
+"`env` arguments only sets up the PEAR environment variables. See crossref:"
+"special[php-pear,PEAR Modules] for more information."
msgstr ""
"Добавляет зависимость от пакета package:devel/pear[]. Настраивает поведение "
"по умолчанию для программного обеспечения, использующего PHP Extension and "
"Application Repository. Использование аргументов `env` только устанавливает "
-"переменные окружения PEAR. Дополнительную информацию см. в "
-"crossref:special[php-pear,Модули PEAR]."
+"переменные окружения PEAR. Дополнительную информацию см. в crossref:special"
+"[php-pear,Модули PEAR]."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2058
@@ -6682,10 +6683,9 @@ msgid ""
"[.filename]#Makefile.PL#, [.filename]#Build.PL#, or Module::Build::Tiny's "
"flavor of [.filename]#Build.PL# is required."
msgstr ""
-"`USE_PERL5` также может содержать `configure`, `modbuild` или "
-"`modbuildtiny`, если требуется [.filename]#Makefile.PL#, "
-"[.filename]#Build.PL# или вариант [.filename]#Build.PL# для "
-"Module::Build::Tiny."
+"`USE_PERL5` также может содержать `configure`, `modbuild` или `modbuildtiny`"
+", если требуется [.filename]#Makefile.PL#, [.filename]#Build.PL# или вариант "
+"[.filename]#Build.PL# для Module::Build::Tiny."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2071
@@ -6977,8 +6977,8 @@ msgid ""
"gettext`"
msgstr ""
"Список необходимых расширений PHP во время выполнения. Добавьте `:build` к "
-"названию расширения, чтобы указать зависимость во время сборки. Пример: "
-"`pcre xml:build gettext`"
+"названию расширения, чтобы указать зависимость во время сборки. Пример: `"
+"pcre xml:build gettext`"
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2156
@@ -7517,8 +7517,8 @@ msgid ""
"Possible arguments: (none), `_X.Y_`, `_X.Y+_`, `_-X.Y_`, `_X.Y-Z.A_`, "
"`patch`, `build`, `run`, `test`"
msgstr ""
-"Возможные аргументы: (нет), `_X.Y_`, `_X.Y+_`, `_-X.Y_`, `_X.Y-Z.A_`, "
-"`patch`, `build`, `run`, `test`"
+"Возможные аргументы: (нет), `_X.Y_`, `_X.Y+_`, `_-X.Y_`, `_X.Y-Z.A_`, `patch`"
+", `build`, `run`, `test`"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2324
@@ -7526,8 +7526,8 @@ msgid ""
"Uses Python. A supported version or version range can be specified. If "
"Python is only needed at build time, run time or for the tests, it can be "
"set as a build, run or test dependency with `build`, `run`, or `test`. If "
-"Python is also needed during the patch phase, use `patch`. See "
-"crossref:special[using-python, Using Python] for more information."
+"Python is also needed during the patch phase, use `patch`. See crossref:"
+"special[using-python, Using Python] for more information."
msgstr ""
"Использует Python. Можно указать поддерживаемую версию или диапазон версий. "
"Если Python требуется только во время сборки, выполнения или тестирования, "
@@ -7611,8 +7611,8 @@ msgid ""
"Add dependency on Qt components. `no_env` is passed directly to `USES= "
"qmake`. See crossref:special[using-qt,Using Qt] for more information."
msgstr ""
-"Добавить зависимость от компонентов Qt. `no_env` передаётся напрямую в "
-"`USES= qmake`. Подробнее см. в crossref:special[using-qt,Использование Qt]."
+"Добавить зависимость от компонентов Qt. `no_env` передаётся напрямую в `"
+"USES= qmake`. Подробнее см. в crossref:special[using-qt,Использование Qt]."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2355
@@ -7622,37 +7622,18 @@ msgstr "`qt-dist`"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2358
-#, fuzzy
-#| msgid ""
-#| "Possible arguments: (none) or `5` and (none) or `6` and (none) or one of "
-#| "`3d`, `5compat`, `base`, `charts`, `connectivity`, `datavis3d`, "
-#| "`declarative`, `doc` `languageserver`, `gamepad`, `graphicaleffects`, "
-#| "`imageformats`, `locat ion`, `lottie`, `multimedia`, `networkauth`, "
-#| "`positioning`, `quick3d`, `quickcontrols2`, `quickcontrols`, "
-#| "`quicktimeline`, `remoteobjects`, `script`, `scxml `, `sensors`, "
-#| "`serialbus`, `serialport`, `shadertools`, `speech`, `svg`, `tools`, "
-#| "`translations`, `virtualkeyboard`, `wayland`, `webchannel`, `webengine`, "
-#| "`webglplugin`, `websockets`, `webview`, `x11extras`, `xmlpatterns`.\n"
-msgid ""
-"Possible arguments: (none) or `5` and (none) or `6` and (none) or one of "
-"`3d`, `5compat`, `base`, `charts`, `connectivity`, `datavis3d`, "
-"`declarative`, `doc` `languageserver`, `gamepad`, `graphicaleffects`, "
-"`imageformats`, `locat ion`, `lottie`, `multimedia`, `networkauth`, "
-"`positioning`, `quick3d`, `quickcontrols2`, `quickcontrols`, "
-"`quicktimeline`, `remoteobjects`, `script`, `scxml `, `sensors`, "
-"`serialbus`, `serialport`, `shadertools`, `speech`, `svg`, `tools`, "
-"`translations`, `virtualkeyboard`, `wayland`, `webchannel`, `webengine`, "
-"`webglplugin`, `websockets`, `webview`, `x11extras`, `xmlpatterns`."
+#, no-wrap
+msgid "Possible arguments: (none) or `5` and (none) or `6` and (none) or one of `3d`, `5compat`, `base`, `charts`, `connectivity`, `datavis3d`, `declarative`, `doc` `languageserver`, `gamepad`, `graphicaleffects`, `imageformats`, `locat ion`, `lottie`, `multimedia`, `networkauth`, `positioning`, `quick3d`, `quickcontrols2`, `quickcontrols`, `quicktimeline`, `remoteobjects`, `script`, `scxml `, `sensors`, `serialbus`, `serialport`, `shadertools`, `speech`, `svg`, `tools`, `translations`, `virtualkeyboard`, `wayland`, `webchannel`, `webengine`, `webglplugin`, `websockets`, `webview`, `x11extras`, `xmlpatterns`.\n"
msgstr ""
"Возможные аргументы: (нет) или `5` и (нет) или `6` и (нет) или один из `3d`, "
"`5compat`, `base`, `charts`, `connectivity`, `datavis3d`, `declarative`, "
"`doc`, `languageserver`, `gamepad`, `graphicaleffects`, `imageformats`, "
"`location`, `lottie`, `multimedia`, `networkauth`, `positioning`, `quick3d`, "
-"`quickcontrols2`, `quickcontrols`, `quicktimeline`, `remoteobjects`, "
-"`script`, `scxml`, `sensors`, `serialbus`, `serialport`, `shadertools`, "
-"`speech`, `svg`, `tools`, `translations`, `virtualkeyboard`, `wayland`, "
-"`webchannel`, `webengine`, `webglplugin`, `websockets`, `webview`, "
-"`x11extras`, `xmlpatterns`.\n"
+"`quickcontrols2`, `quickcontrols`, `quicktimeline`, `remoteobjects`, `script`"
+", `scxml`, `sensors`, `serialbus`, `serialport`, `shadertools`, `speech`, "
+"`svg`, `tools`, `translations`, `virtualkeyboard`, `wayland`, `webchannel`, "
+"`webengine`, `webglplugin`, `websockets`, `webview`, `x11extras`, "
+"`xmlpatterns`.\n"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2361
@@ -7806,16 +7787,16 @@ msgid ""
"runtime dependency on package:lang/ruby[]. `build` adds a dependency on "
"package:lang/ruby[] at build time. `extconf` states that the port uses "
"extconf.rb to configure. `run` adds a dependency on package:lang/ruby[] at "
-"run time. This is also the default. `setup` states that the port uses "
-"setup.rb to configure and build."
+"run time. This is also the default. `setup` states that the port uses setup."
+"rb to configure and build."
msgstr ""
"Предоставить поддержку для портов, связанных с Ruby. `(none)` без "
-"аргументов добавляет зависимость во время выполнения на package:lang/"
-"ruby[]. `build` добавляет зависимость на package:lang/ruby[] во время "
-"сборки. `extconf` указывает, что порт использует extconf.rb для настройки. "
-"`run` добавляет зависимость на package:lang/ruby[] во время выполнения. Это "
-"также значение по умолчанию. `setup` указывает, что порт использует "
-"setup.rb для настройки и сборки."
+"аргументов добавляет зависимость во время выполнения на package:lang/ruby[]"
+". `build` добавляет зависимость на package:lang/ruby[] во время сборки. "
+"`extconf` указывает, что порт использует extconf.rb для настройки. `run` "
+"добавляет зависимость на package:lang/ruby[] во время выполнения. Это также "
+"значение по умолчанию. `setup` указывает, что порт использует setup.rb для "
+"настройки и сборки."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2435
@@ -7920,8 +7901,7 @@ msgstr "`RUBY_SETUP`"
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2464
msgid "Set to the alternative name of setup.rb (default: setup.rb)."
-msgstr ""
-"Установлена в альтернативное имя для setup.rb (по умолчанию: setup.rb)."
+msgstr "Установлена в альтернативное имя для setup.rb (по умолчанию: setup.rb)."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2467
@@ -7939,13 +7919,13 @@ msgstr "Возможные аргументы: `build`, `env`, `lib`, `run`"
msgid ""
"Handle dependency on Samba. `env` will not add any dependency and only set "
"up the variables. `build` and `run` will add build-time and run-time "
-"dependency on [.filename]#smbd#. `lib` will add a dependency on "
-"[.filename]#libsmbclient.so#. The variables that are exported are:"
+"dependency on [.filename]#smbd#. `lib` will add a dependency on [."
+"filename]#libsmbclient.so#. The variables that are exported are:"
msgstr ""
"Обработать зависимость от Samba. `env` не добавит никаких зависимостей, а "
"только установит переменные. `build` и `run` добавят зависимости во время "
-"сборки и выполнения на [.filename]#smbd#. `lib` добавит зависимость на "
-"[.filename]#libsmbclient.so#. Экспортируемые переменные:"
+"сборки и выполнения на [.filename]#smbd#. `lib` добавит зависимость на [."
+"filename]#libsmbclient.so#. Экспортируемые переменные:"
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2476
@@ -7989,9 +7969,9 @@ msgstr "`SAMBA_LDB_PORT`"
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2488
msgid ""
-"The origin of the ldb port used by the selected Samba version (e.g., "
-"package:databases/ldb28[]). It should be used if a port needs to depend on "
-"the same ldb version as the selected Samba version."
+"The origin of the ldb port used by the selected Samba version (e.g., package:"
+"databases/ldb28[]). It should be used if a port needs to depend on the same "
+"ldb version as the selected Samba version."
msgstr ""
"Расположение порта ldb, используемого выбранной версией Samba (например, "
"package:databases/ldb28[]). Он должен использоваться, если порту требуется "
@@ -8057,8 +8037,8 @@ msgstr "`scons`"
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2508
msgid ""
-"Provide support for the use of package:devel/scons[]. See "
-"crossref:special[using-scons,Using `scons`] for more information."
+"Provide support for the use of package:devel/scons[]. See crossref:"
+"special[using-scons,Using `scons`] for more information."
msgstr ""
"Предоставить поддержку для использования package:devel/scons[]. "
"Дополнительную информацию смотрите в crossref:special[using-"
@@ -8249,8 +8229,8 @@ msgstr "`SHEBANG_REGEX`"
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2567
msgid ""
"Contains _one_ extended regular expressions, and is used with the `-iregex` "
-"argument of man:find[1]. See crossref:uses[uses-shebangfix-ex-"
-"regex,`USESshebangfix` with `SHEBANG_REGEX`]."
+"argument of man:find[1]. See crossref:uses[uses-shebangfix-ex-regex,"
+"`USESshebangfix` with `SHEBANG_REGEX`]."
msgstr ""
"Содержит _одно_ расширенное регулярное выражение и используется с аргументом "
"`-iregex` в man:find[1]. См. crossref:uses[uses-shebangfix-ex-"
@@ -8282,10 +8262,10 @@ msgstr "`SHEBANG_FILES`"
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2577
msgid ""
"Contains a list of files or man:sh[1] globs. The shebangfix macro is run "
-"from `${WRKSRC}`, so `SHEBANG_FILES` can contain paths that are relative to "
-"`${WRKSRC}`. It can also deal with absolute paths if files outside of `$"
-"{WRKSRC}` require patching. See crossref:uses[uses-shebangfix-ex-"
-"files,`USESshebangfix` with `SHEBANG_FILES`]."
+"from `${WRKSRC}`, so `SHEBANG_FILES` can contain paths that are relative to `"
+"${WRKSRC}`. It can also deal with absolute paths if files outside of `"
+"${WRKSRC}` require patching. See crossref:uses[uses-shebangfix-ex-files,"
+"`USESshebangfix` with `SHEBANG_FILES`]."
msgstr ""
"Содержит список файлов или шаблонов man:sh[1]. Макрос shebangfix выполняется "
"из `${WRKSRC}`, поэтому `SHEBANG_FILES` может содержать пути, относительные "
@@ -8327,11 +8307,11 @@ msgstr "`_interp__CMD`"
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2588
msgid ""
-"The path to the command interpreter on FreeBSD. The default value is `$"
-"{LOCALBASE}/bin/_interp_`."
+"The path to the command interpreter on FreeBSD. The default value is `"
+"${LOCALBASE}/bin/_interp_`."
msgstr ""
-"Путь к интерпретатору команд в FreeBSD. Значение по умолчанию — `$"
-"{LOCALBASE}/bin/_interp_`."
+"Путь к интерпретатору команд в FreeBSD. Значение по умолчанию — "
+"`${LOCALBASE}/bin/_interp_`."
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2589
@@ -8353,11 +8333,11 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2597
msgid ""
-"These will _always_ be part of `_interp__OLD_CMD`: `\"/usr/bin/env "
-"_interp_\" /bin/_interp_ /usr/bin/_interp_ /usr/local/bin/_interp_`."
+"These will _always_ be part of `_interp__OLD_CMD`: `\"/usr/bin/env _interp_"
+"\" /bin/_interp_ /usr/bin/_interp_ /usr/local/bin/_interp_`."
msgstr ""
-"Эти пути _всегда_ будут частью `_interp__OLD_CMD`: `\"/usr/bin/env "
-"_interp_\" /bin/_interp_ /usr/bin/_interp_ /usr/local/bin/_interp_`."
+"Эти пути _всегда_ будут частью `_interp__OLD_CMD`: `\"/usr/bin/env _interp_\""
+" /bin/_interp_ /usr/bin/_interp_ /usr/local/bin/_interp_`."
#. type: Plain text
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2604
@@ -8375,14 +8355,14 @@ msgstr ""
msgid ""
"The fixing of shebangs is done during the `patch` phase. If scripts are "
"created with incorrect shebangs during the `build` phase, the build process "
-"(for example, the [.filename]#configure# script, or the "
-"[.filename]#Makefiles#) must be patched or given the right path (for "
-"example, with `CONFIGURE_ENV`, `CONFIGURE_ARGS`, `MAKE_ENV`, or `MAKE_ARGS`) "
-"to generate the right shebangs."
+"(for example, the [.filename]#configure# script, or the [."
+"filename]#Makefiles#) must be patched or given the right path (for example, "
+"with `CONFIGURE_ENV`, `CONFIGURE_ARGS`, `MAKE_ENV`, or `MAKE_ARGS`) to "
+"generate the right shebangs."
msgstr ""
"Исправление шебанг-строк выполняется на этапе `patch`. Если скрипты "
-"создаются с некорректными шебанг-строками на этапе `build`, процесс сборки "
-"(например, скрипт [.filename]#configure# или [.filename]#Makefiles#) должен "
+"создаются с некорректными шебанг-строками на этапе `build`, процесс сборки ("
+"например, скрипт [.filename]#configure# или [.filename]#Makefiles#) должен "
"быть исправлен или ему должен быть указан правильный путь (например, с "
"помощью `CONFIGURE_ENV`, `CONFIGURE_ARGS`, `MAKE_ENV` или `MAKE_ARGS`) для "
"генерации корректных шебанг-строк."
@@ -8461,8 +8441,8 @@ msgstr "Добавление нестандартного расположени
msgid ""
"Some software uses strange locations for an interpreter. For example, an "
"application might expect Python to be located in [.filename]#/opt/bin/"
-"python2.7#. The strange path to be replaced can be declared in the port "
-"[.filename]#Makefile#:"
+"python2.7#. The strange path to be replaced can be declared in the port [."
+"filename]#Makefile#:"
msgstr ""
"Некоторое программное обеспечение использует нестандартные пути для "
"интерпретатора. Например, приложение может ожидать, что Python будет "
@@ -8484,11 +8464,11 @@ msgstr "`USES=shebangfix` с `SHEBANG_REGEX`"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2668
msgid ""
-"To fix all the files in `${WRKSRC}/scripts` ending in [.filename]#.pl#, "
-"[.filename]#.sh#, or [.filename]#.cgi# do:"
+"To fix all the files in `${WRKSRC}/scripts` ending in [.filename]#.pl#, [."
+"filename]#.sh#, or [.filename]#.cgi# do:"
msgstr ""
-"Для исправления всех файлов в `${WRKSRC}/scripts`, оканчивающихся на "
-"[.filename]#.pl#, [.filename]#.sh# или [.filename]#.cgi#, выполните:"
+"Для исправления всех файлов в `${WRKSRC}/scripts`, оканчивающихся на [."
+"filename]#.pl#, [.filename]#.sh# или [.filename]#.cgi#, выполните:"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2673
@@ -8504,8 +8484,8 @@ msgstr ""
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2679
msgid ""
"`SHEBANG_REGEX` is used by running `find -E`, which uses modern regular "
-"expressions also known as extended regular expressions. See "
-"man:re_format[7] for more information."
+"expressions also known as extended regular expressions. See man:"
+"re_format[7] for more information."
msgstr ""
"`SHEBANG_REGEX` используется при выполнении `find -E`, который применяет "
"современные регулярные выражения, также известные как расширенные регулярные "
@@ -8520,11 +8500,11 @@ msgstr "`USES=shebangfix` с `SHEBANG_GLOB`"
#. type: Plain text
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2688
msgid ""
-"To fix all the files in `${WRKSRC}` ending in [.filename]#.pl# or "
-"[.filename]#.sh#, do:"
+"To fix all the files in `${WRKSRC}` ending in [.filename]#.pl# or [."
+"filename]#.sh#, do:"
msgstr ""
-"Для исправления всех файлов в `${WRKSRC}` с окончанием [.filename]#.pl# или "
-"[.filename]#.sh# выполните:"
+"Для исправления всех файлов в `${WRKSRC}` с окончанием [.filename]#.pl# или ["
+".filename]#.sh# выполните:"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2693
@@ -8548,8 +8528,8 @@ msgid ""
"To fix the files [.filename]#script/foobar.pl# and [.filename]#script/*.sh# "
"in `${WRKSRC}`, do:"
msgstr ""
-"Для исправления файлов [.filename]#script/foobar.pl# и [.filename]#script/"
-"*.sh# в `${WRKSRC}` выполните:"
+"Для исправления файлов [.filename]#script/foobar.pl# и [.filename]#script/*."
+"sh# в `${WRKSRC}` выполните:"
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2707
@@ -8703,8 +8683,8 @@ msgid ""
"Possible arguments: (none), `Z`, `bz2`, `bzip2`, `lzma`, `tbz`, `tbz2`, "
"`tgz`, `txz`, `xz`, `zst`, `zstd`"
msgstr ""
-"Возможные аргументы: (нет), `Z`, `bz2`, `bzip2`, `lzma`, `tbz`, `tbz2`, "
-"`tgz`, `txz`, `xz`, `zst`, `zstd`"
+"Возможные аргументы: (нет), `Z`, `bz2`, `bzip2`, `lzma`, `tbz`, `tbz2`, `tgz`"
+", `txz`, `xz`, `zst`, `zstd`"
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2770
@@ -8713,9 +8693,9 @@ msgid ""
"`.tbz`, `.tbz2`, `.tgz`, `.txz`, `.tar.xz`, `.tar.zst` or `.tar.zstd` "
"respectively."
msgstr ""
-"Установите `EXTRACT_SUFX` в `.tar`, `.tar.Z`, `.tar.bz2`, `.tar.bz2`, "
-"`.tar.lzma`, `.tbz`, `.tbz2`, `.tgz`, `.txz`, `.tar.xz`, `.tar.zst` или "
-"`.tar.zstd` соответственно."
+"Установите `EXTRACT_SUFX` в `.tar`, `.tar.Z`, `.tar.bz2`, `.tar.bz2`, `.tar."
+"lzma`, `.tbz`, `.tbz2`, `.tgz`, `.txz`, `.tar.xz`, `.tar.zst` или `.tar.zstd`"
+" соответственно."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2772
@@ -8809,13 +8789,13 @@ msgstr "`terminfo`"
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2801
msgid ""
-"Adds crossref:plist[plist-keywords-terminfo,`@terminfo`] to the "
-"[.filename]#plist#. Use when the port installs [.filename]#*.terminfo# "
-"files in [.filename]#${PREFIX}/share/misc#."
+"Adds crossref:plist[plist-keywords-terminfo,`@terminfo`] to the [."
+"filename]#plist#. Use when the port installs [.filename]#*.terminfo# files "
+"in [.filename]#${PREFIX}/share/misc#."
msgstr ""
-"Добавляет crossref:plist[plist-keywords-terminfo,`@terminfo`] в файл "
-"[.filename]#plist#. Используется, когда порт устанавливает файлы "
-"[.filename]#*.terminfo# в каталог [.filename]#${PREFIX}/share/misc#."
+"Добавляет crossref:plist[plist-keywords-terminfo,`@terminfo`] в файл [."
+"filename]#plist#. Используется, когда порт устанавливает файлы [.filename]#*."
+"terminfo# в каталог [.filename]#${PREFIX}/share/misc#."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2803
@@ -8855,8 +8835,8 @@ msgstr ""
"Список необходимых расширений TEX во время выполнения. Добавьте `:build` к "
"названию расширения, чтобы добавить зависимость на время сборки, `:run` — "
"для зависимости во время выполнения, `:test` — для зависимости во время "
-"тестирования, `:extract` — для зависимости во время извлечения. Пример: "
-"`base texmf:build source:run`"
+"тестирования, `:extract` — для зависимости во время извлечения. Пример: `"
+"base texmf:build source:run`"
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2818
@@ -9047,11 +9027,11 @@ msgstr "Список триггеров для пакета. По умолчан
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2872
msgid ""
-"Triggers are specified in UCL format and are usually placed in the "
-"[.filename]#files/# directory of the port."
+"Triggers are specified in UCL format and are usually placed in the [."
+"filename]#files/# directory of the port."
msgstr ""
-"Триггеры указываются в формате UCL и обычно размещаются в каталоге "
-"[.filename]#files/# порта."
+"Триггеры указываются в формате UCL и обычно размещаются в каталоге [."
+"filename]#files/# порта."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2874
@@ -9098,8 +9078,8 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2891
msgid ""
-"`UNIQUE_PREFIX`: The prefix to be used for directories and files. Default: `$"
-"{PKGNAMEPREFIX}`."
+"`UNIQUE_PREFIX`: The prefix to be used for directories and files. Default: `"
+"${PKGNAMEPREFIX}`."
msgstr ""
"`UNIQUE_PREFIX`: Префикс, используемый для каталогов и файлов. По умолчанию: "
"`${PKGNAMEPREFIX}`."
@@ -9119,8 +9099,8 @@ msgid ""
"`UNIQUE_SUFFIX`: The suffix to be used for files. Default: `${PKGNAMESUFFIX}"
"`."
msgstr ""
-"`UNIQUE_SUFFIX`: Суффикс, используемый для файлов. По умолчанию: `$"
-"{PKGNAMESUFFIX}`."
+"`UNIQUE_SUFFIX`: Суффикс, используемый для файлов. По умолчанию: "
+"`${PKGNAMESUFFIX}`."
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2894
@@ -9196,8 +9176,8 @@ msgstr "`WAF_CMD`"
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2925
msgid ""
-"Location of the `waf` script. Set this if the `waf` script is not in "
-"[.filename]#WRKSRC/waf#."
+"Location of the `waf` script. Set this if the `waf` script is not in [."
+"filename]#WRKSRC/waf#."
msgstr ""
"Расположение скрипта `waf`. Установите этот параметр, если скрипт `waf` не "
"находится в [.filename]#WRKSRC/waf#."
@@ -9297,13 +9277,13 @@ msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2953
msgid ""
-"`WEBPLUGIN_DIR`: The directory to install the plug-in files to, default "
-"[.filename]#PREFIX/lib/browser_plugins/WEBPLUGIN_NAME#. Set this if the port "
+"`WEBPLUGIN_DIR`: The directory to install the plug-in files to, default [."
+"filename]#PREFIX/lib/browser_plugins/WEBPLUGIN_NAME#. Set this if the port "
"installs plug-in files outside of the default directory to prevent broken "
"symbolic links."
msgstr ""
-"`WEBPLUGIN_DIR`: Каталог для установки файлов плагина, по умолчанию "
-"[.filename]#PREFIX/lib/browser_plugins/WEBPLUGIN_NAME#. Установите это "
+"`WEBPLUGIN_DIR`: Каталог для установки файлов плагина, по умолчанию [."
+"filename]#PREFIX/lib/browser_plugins/WEBPLUGIN_NAME#. Установите это "
"значение, если порт устанавливает файлы плагина вне стандартного каталога, "
"чтобы избежать битых символических ссылок."
@@ -9330,8 +9310,8 @@ msgstr "Возможные аргументы: (нет), `gtk2`"
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2962
msgid ""
-"Provide support for Xfce related ports. See crossref:special[using-"
-"xfce,Using Xfce] for details."
+"Provide support for Xfce related ports. See crossref:special[using-xfce,"
+"Using Xfce] for details."
msgstr ""
"Предоставить поддержку для портов, связанных с Xfce. Подробности см. в "
"crossref:special[using-xfce,Использование Xfce]."
@@ -9340,13 +9320,13 @@ msgstr ""
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2965
msgid ""
"The `gtk2` argument specifies that the port requires GTK2 support. It adds "
-"additional features provided by some core components, for example, "
-"package:x11/libxfce4menu[] and package:x11-wm/xfce4-panel[]."
+"additional features provided by some core components, for example, package:"
+"x11/libxfce4menu[] and package:x11-wm/xfce4-panel[]."
msgstr ""
"Аргумент `gtk2` указывает, что порт требует поддержки GTK2. Он добавляет "
"дополнительные возможности, предоставляемые некоторыми основными "
-"компонентами, например, package:x11/libxfce4menu[] и package:x11-wm/xfce4-"
-"panel[]."
+"компонентами, например, package:x11/libxfce4menu[] и package:x11-wm/"
+"xfce4-panel[]."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2967
@@ -9967,5 +9947,5 @@ msgid ""
"to set the appropriate dependencies."
msgstr ""
"Указывает, что файлы дистрибутива используют алгоритм сжатия ZIP. Для "
-"файлов, использующих алгоритм InfoZip, необходимо передать аргумент "
-"`infozip`, чтобы установить соответствующие зависимости."
+"файлов, использующих алгоритм InfoZip, необходимо передать аргумент `infozip`"
+", чтобы установить соответствующие зависимости."
diff --git a/documentation/content/ru/books/porters-handbook/versions/_index.adoc b/documentation/content/ru/books/porters-handbook/versions/_index.adoc
index 9be7515004..7daad3d90d 100644
--- a/documentation/content/ru/books/porters-handbook/versions/_index.adoc
+++ b/documentation/content/ru/books/porters-handbook/versions/_index.adoc
@@ -3,7 +3,7 @@ description: 'Список изменений файла sys/param.h'
params:
path: /books/porters-handbook/versions/
prev: books/porters-handbook/uses
-showBookMenu: true
+showBookMenu: 'true'
tags: ["FreeBSD versions"]
title: 'Глава 18. Значения __FreeBSD_version'
weight: 18
@@ -268,7 +268,7 @@ endif::[]
|1400001
|gitref:739ecbcf1c4fd22b5f6ee0bb180a67644046a3e0[repository="src",length=12]
|23 января 2021
-|14.0-CURRENT после добавления поддержки символьных ссылок к бесблокировочному поиску.
+|14.0-CURRENT после добавления поддержки символьных ссылок к неблокирующему поиску.
|1400002
|gitref:2cf84258922f306a3f84866685d2f5346f67db58[repository="src",length=12]
@@ -1326,7 +1326,7 @@ Template:
|1300102
|link:https://svnweb.freebsd.org/changeset/base/363562[363562]
|26 июля 2020
-|13.0-CURRENT после реализации бесблокировочного поиска в слое VFS.
+|13.0-CURRENT после реализации неблокирующего поиска в слое VFS.
|1300103
|link:https://svnweb.freebsd.org/changeset/base/363757[363757]
@@ -3765,7 +3765,7 @@ Template:
|1000029
|link:https://svnweb.freebsd.org/changeset/base/247821[247821]
|4 марта 2013
-|10-CURRENT после внедрения бестиковой системы отложенных вызовов, которая также изменила структуру struct callout (rev link:https://svnweb.freebsd.org/changeset/base/247777[247777]).
+|10-CURRENT после внедрения системы отложенных вызовов без тиков, которая также изменила структуру struct callout (rev link:https://svnweb.freebsd.org/changeset/base/247777[247777]).
|1000030
|link:https://svnweb.freebsd.org/changeset/base/248210[248210]
@@ -3850,7 +3850,7 @@ Template:
|1000046
|link:https://svnweb.freebsd.org/changeset/base/254537[254537]
|19 августа 2013
-|10-CURRENT после добавления `M_PROTO[9-12]` и удаления `M_FRAG`\|M_FIRSTFRAG\|M_LASTFRAG` флаги mbuf (версии link:https://svnweb.freebsd.org/changeset/base/254524[254524], link:https://svnweb.freebsd.org/changeset/base/254526[254526]).
+|10-CURRENT после добавления `M_PROTO[9-12]` и удаления `M_FRAG\|M_FIRSTFRAG\|M_LASTFRAG` флаги mbuf (версии link:https://svnweb.freebsd.org/changeset/base/254524[254524], link:https://svnweb.freebsd.org/changeset/base/254526[254526]).
|1000047
|link:https://svnweb.freebsd.org/changeset/base/254627[254627]
@@ -4338,7 +4338,7 @@ Template:
|900007
|link:https://svnweb.freebsd.org/changeset/base/202219[202219]
|13 января 2010
-|9.0-CURRENT после удаления man:utmp[5] и добавления `utmpx` (см. man:getutxent[3]) для улучшенного логирования входов пользователей и системных событий.
+|9.0-CURRENT после удаления man:utmp[5] и добавления `utmpx` (см. man:getutxent[3]) для улучшенного журналирования входов пользователей и системных событий.
|900008
|link:https://svnweb.freebsd.org/changeset/base/202722[202722]
diff --git a/documentation/content/ru/books/porters-handbook/versions/_index.po b/documentation/content/ru/books/porters-handbook/versions/_index.po
index cd5d88613c..fba1da4d4a 100644
--- a/documentation/content/ru/books/porters-handbook/versions/_index.po
+++ b/documentation/content/ru/books/porters-handbook/versions/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-09-18 22:05+0300\n"
-"PO-Revision-Date: 2025-08-19 04:45+0000\n"
+"POT-Creation-Date: 2025-08-17 20:54+0100\n"
+"PO-Revision-Date: 2025-10-30 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/booksporters-handbookversions_index/ru/>\n"
@@ -18,13 +18,13 @@ msgstr ""
"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
+#. type: YAML Front Matter: description
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1
#, no-wrap
msgid "A list of changes to the sys/param.h file"
msgstr "Список изменений файла sys/param.h"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1
#, no-wrap
msgid "Chapter 18. __FreeBSD_version Values"
@@ -985,7 +985,8 @@ msgstr "1500062"
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:246
#, no-wrap
msgid "gitref:567e6250c003eeb251b4bc8dbe60d2adabab2988[repository=\"src\",length=12]"
-msgstr "gitref:567e6250c003eeb251b4bc8dbe60d2adabab2988[repository=\"src\",length=12]"
+msgstr ""
+"gitref:567e6250c003eeb251b4bc8dbe60d2adabab2988[repository=\"src\",length=12]"
#. type: Table
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:247
@@ -997,7 +998,8 @@ msgstr "17 августа 2025"
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:249
#, no-wrap
msgid "15.0-CURRENT after introduction of VTYPE_ISDEV(), VN_ISDEV(), and VATTR_ISDEV()."
-msgstr "15.0-CURRENT после добавления VTYPE_ISDEV(), VN_ISDEV() и VATTR_ISDEV()."
+msgstr ""
+"15.0-CURRENT после добавления VTYPE_ISDEV(), VN_ISDEV() и VATTR_ISDEV()."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:252
@@ -1057,7 +1059,9 @@ msgstr "23 января 2021"
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:273
#, no-wrap
msgid "14.0-CURRENT after adding symlink support to lockless lookup."
-msgstr "14.0-CURRENT после добавления поддержки символьных ссылок к бесблокировочному поиску."
+msgstr ""
+"14.0-CURRENT после добавления поддержки символьных ссылок к неблокирующему "
+"поиску."
#. type: Table
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:274
@@ -3401,7 +3405,8 @@ msgstr "1403503"
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:780
#, no-wrap
msgid "gitref:6cdcf08c9c5eda6dc3b8395cefd9d30a4f5e2f1a[repository=\"src\",length=12]"
-msgstr "gitref:6cdcf08c9c5eda6dc3b8395cefd9d30a4f5e2f1a[repository=\"src\",length=12]"
+msgstr ""
+"gitref:6cdcf08c9c5eda6dc3b8395cefd9d30a4f5e2f1a[repository=\"src\",length=12]"
#. type: Table
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:781
@@ -5908,7 +5913,7 @@ msgstr "26 июля 2020"
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1331
#, no-wrap
msgid "13.0-CURRENT after implementing lockless lookup in the VFS layer."
-msgstr "13.0-CURRENT после реализации бесблокировочного поиска в слое VFS."
+msgstr "13.0-CURRENT после реализации неблокирующего поиска в слое VFS."
#. type: Table
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1332
@@ -16837,7 +16842,10 @@ msgstr "4 марта 2013"
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3770
#, no-wrap
msgid "10-CURRENT after the introduction of tickless callout facility which also changed the layout of struct callout (rev link:https://svnweb.freebsd.org/changeset/base/247777[247777])."
-msgstr "10-CURRENT после внедрения бестиковой системы отложенных вызовов, которая также изменила структуру struct callout (rev link:https://svnweb.freebsd.org/changeset/base/247777[247777])."
+msgstr ""
+"10-CURRENT после внедрения системы отложенных вызовов без тиков, которая "
+"также изменила структуру struct callout (rev link:https://svnweb.freebsd.org/"
+"changeset/base/247777[247777])."
#. type: Table
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3771
@@ -17235,7 +17243,7 @@ msgstr "19 августа 2013"
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3853
#, no-wrap
msgid "10-CURRENT after addition of `M_PROTO[9-12]` and removal of `M_FRAG\\"
-msgstr "10-CURRENT после добавления `M_PROTO[9-12]` и удаления `M_FRAG`"
+msgstr "10-CURRENT после добавления `M_PROTO[9-12]` и удаления `M_FRAG\\"
#. type: Table
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3853
@@ -18154,7 +18162,9 @@ msgstr "25 февраля 2015"
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4070
#, no-wrap
msgid "10-STABLE after FreeBSD-EN-15:01.vt, FreeBSD-EN-15:02.openssl, FreeBSD-EN-15:03.freebsd-update, FreeBSD-SA-15:04.igmp, and FreeBSD-SA-15:05.bind."
-msgstr "10-STABLE после FreeBSD-EN-15:01.vt, FreeBSD-EN-15:02.openssl, FreeBSD-EN-15:03.freebsd-update, FreeBSD-SA-15:04.igmp и FreeBSD-SA-15:05.bind."
+msgstr ""
+"10-STABLE после FreeBSD-EN-15:01.vt, FreeBSD-EN-15:02.openssl, FreeBSD-"
+"EN-15:03.freebsd-update, FreeBSD-SA-15:04.igmp и FreeBSD-SA-15:05.bind."
#. type: Table
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4071
@@ -19289,7 +19299,10 @@ msgstr "13 января 2010"
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4343
#, no-wrap
msgid "9.0-CURRENT after the removal of man:utmp[5] and the addition of `utmpx` (see man:getutxent[3]) for improved logging of user logins and system events."
-msgstr "9.0-CURRENT после удаления man:utmp[5] и добавления `utmpx` (см. man:getutxent[3]) для улучшенного логирования входов пользователей и системных событий."
+msgstr ""
+"9.0-CURRENT после удаления man:utmp[5] и добавления `utmpx` (см. "
+"man:getutxent[3]) для улучшенного журналирования входов пользователей и "
+"системных событий."
#. type: Table
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4344
@@ -20939,7 +20952,9 @@ msgstr "903508"
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4718
#, no-wrap
msgid "9-STABLE after FreeBSD-EN-15:01.vt, FreeBSD-EN-15:02.openssl, FreeBSD-EN-15:03.freebsd-update, FreeBSD-SA-15:04.igmp, and FreeBSD-SA-15:05.bind."
-msgstr "9-STABLE после FreeBSD-EN-15:01.vt, FreeBSD-EN-15:02.openssl, FreeBSD-EN-15:03.freebsd-update, FreeBSD-SA-15:04.igmp и FreeBSD-SA-15:05.bind."
+msgstr ""
+"9-STABLE после FreeBSD-EN-15:01.vt, FreeBSD-EN-15:02.openssl, FreeBSD-"
+"EN-15:03.freebsd-update, FreeBSD-SA-15:04.igmp и FreeBSD-SA-15:05.bind."
#. type: Table
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4719
@@ -24460,7 +24475,9 @@ msgstr "804508"
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5501
#, no-wrap
msgid "8-STABLE after FreeBSD-EN-15:01.vt, FreeBSD-EN-15:02.openssl, FreeBSD-EN-15:03.freebsd-update, FreeBSD-SA-15:04.igmp, and FreeBSD-SA-15:05.bind."
-msgstr "8-STABLE после FreeBSD-EN-15:01.vt, FreeBSD-EN-15:02.openssl, FreeBSD-EN-15:03.freebsd-update, FreeBSD-SA-15:04.igmp и FreeBSD-SA-15:05.bind."
+msgstr ""
+"8-STABLE после FreeBSD-EN-15:01.vt, FreeBSD-EN-15:02.openssl, FreeBSD-"
+"EN-15:03.freebsd-update, FreeBSD-SA-15:04.igmp и FreeBSD-SA-15:05.bind."
#. type: Table
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5502
@@ -33607,13 +33624,12 @@ msgid ""
"just for reference."
msgstr ""
"Обратите внимание, что 2.2-STABLE иногда идентифицирует себя как \"2.2.5-"
-"STABLE\" после выпуска 2.2.5-RELEASE. Ранее использовался шаблон \"год-"
-"месяц\", но сообщество решило изменить его на более простую систему "
-"\"основной/второстепенный\", начиная с версии 2.2. Это связано с тем, что "
-"параллельная разработка нескольких веток сделала невозможным "
-"классифицировать выпуски только по датам их фактического выхода. Не "
-"беспокойтесь о старых версиях -CURRENT; они приведены здесь только для "
-"справки."
+"STABLE\" после выпуска 2.2.5-RELEASE. Ранее использовался шаблон \"год-месяц"
+"\", но сообщество решило изменить его на более простую систему \"основной/"
+"второстепенный\", начиная с версии 2.2. Это связано с тем, что параллельная "
+"разработка нескольких веток сделала невозможным классифицировать выпуски "
+"только по датам их фактического выхода. Не беспокойтесь о старых версиях -"
+"CURRENT; они приведены здесь только для справки."
#. type: Title ==
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7556