diff options
author | Vladlen Popolitov <vladlen@FreeBSD.org> | 2025-09-20 11:26:15 +0000 |
---|---|---|
committer | Vladlen Popolitov <vladlen@FreeBSD.org> | 2025-09-20 11:26:15 +0000 |
commit | e845221809bc347c37505da6f1bd936f3009ba4f (patch) | |
tree | a78b1ef9d968e35e058c4fc92b70773e4057d843 | |
parent | 3412a9c34f0a03982cfc934c4f6e84d5e5b8770a (diff) |
38 files changed, 17953 insertions, 0 deletions
diff --git a/documentation/content/ru/books/fdp-primer/_index.adoc b/documentation/content/ru/books/fdp-primer/_index.adoc new file mode 100644 index 0000000000..945a1bf839 --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/_index.adoc @@ -0,0 +1,59 @@ +--- +add_single_page_link: true +authors: + - + author: 'The FreeBSD Documentation Project' +bookOrder: 50 +copyright: '1998-2023 The FreeBSD Documentation Project' +description: 'Все, что вам нужно знать, чтобы начать участвовать в проекте документации FreeBSD' +next: books/fdp-primer/preface +params: + path: /books/fdp-primer/ +showBookMenu: true +tags: ["FDP", "documentation", "FreeBSD", "Index"] +title: 'Проект документации FreeBSD: введение для новых участников' +trademarks: ["freebsd", "general", "git"] +weight: 10 +--- + += Проект документации FreeBSD: введение для новых участников +:doctype: book +:toc: macro +:toclevels: 1 +:icons: font +:sectnums: +:sectnumlevels: 6 +:partnums: +:source-highlighter: rouge +:experimental: +:images-path: books/fdp-primer/ + +ifdef::env-beastie[] +ifdef::backend-html5[] +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[] +endif::[] +ifdef::backend-pdf,backend-epub3[] +include::../../../../../shared/asciidoctor.adoc[] +endif::[] +endif::[] + +ifndef::env-beastie[] +include::../../../../../shared/asciidoctor.adoc[] +endif::[] + +[.abstract-title] +Аннотация + +Спасибо, что стали частью проекта документации FreeBSD! Ваш вклад чрезвычайно важен, и мы очень ценим его. + +Это руководство содержит информацию, необходимую для начала работы с Проектом документации FreeBSD (FDP), включая инструменты, программное обеспечение и философию, лежащую в основе Проекта документации. + +Это работа в процессе. Исправления и дополнения всегда приветствуются. + +''' diff --git a/documentation/content/ru/books/fdp-primer/_index.po b/documentation/content/ru/books/fdp-primer/_index.po new file mode 100644 index 0000000000..d03b601e86 --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/_index.po @@ -0,0 +1,68 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR The FreeBSD Project +# This file is distributed under the same license as the FreeBSD Documentation package. +# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025. +msgid "" +msgstr "" +"Project-Id-Version: FreeBSD Documentation VERSION\n" +"POT-Creation-Date: 2025-09-20 14:02+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/" +"documentation/booksfdp-primer_index/ru/>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.17\n" + +#. type: Yaml Front Matter Hash Value: description +#: documentation/content/en/books/fdp-primer/_index.adoc:1 +#, no-wrap +msgid "Everything you need to know in order to start contributing to the FreeBSD Documentation Project" +msgstr "Все, что вам нужно знать, чтобы начать участвовать в проекте документации FreeBSD" + +#. type: Title = +#: documentation/content/en/books/fdp-primer/_index.adoc:1 +#: documentation/content/en/books/fdp-primer/_index.adoc:18 +#, no-wrap +msgid "FreeBSD Documentation Project Primer for New Contributors" +msgstr "Проект документации FreeBSD: введение для новых участников" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/_index.adoc:51 +msgid "Abstract" +msgstr "Аннотация" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/_index.adoc:54 +msgid "" +"Thank you for becoming a part of the FreeBSD Documentation Project. Your " +"contribution is extremely valuable, and we appreciate it." +msgstr "" +"Спасибо, что стали частью проекта документации FreeBSD! Ваш вклад " +"чрезвычайно важен, и мы очень ценим его." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/_index.adoc:56 +msgid "" +"This primer covers details needed to start contributing to the FreeBSD " +"Documentation Project, or FDP, including tools, software, and the philosophy " +"behind the Documentation Project." +msgstr "" +"Это руководство содержит информацию, необходимую для начала работы с " +"Проектом документации FreeBSD (FDP), включая инструменты, программное " +"обеспечение и философию, лежащую в основе Проекта документации." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/_index.adoc:59 +msgid "" +"This is a work in progress. Corrections and additions are always welcome." +msgstr "Это работа в процессе. Исправления и дополнения всегда приветствуются." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/_index.adoc:60 +msgid "'''" +msgstr "'''" diff --git a/documentation/content/ru/books/fdp-primer/asciidoctor-primer/_index.adoc b/documentation/content/ru/books/fdp-primer/asciidoctor-primer/_index.adoc new file mode 100644 index 0000000000..2b84d3eb2c --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/asciidoctor-primer/_index.adoc @@ -0,0 +1,335 @@ +--- +description: 'Краткое введение в Asciidoctor' +next: books/fdp-primer/rosetta +params: + path: /books/fdp-primer/asciidoctor-primer/ +prev: books/fdp-primer/doc-build +showBookMenu: true +tags: ["AsciiDoc", "Asciidoctor", "Primer", "Introduction", "Guide"] +title: 'Глава 6. Введение в Asciidoctor' +weight: 7 +--- + +[[asciidoctor-primer]] += Основы Asciidoctor +:doctype: book +:toc: macro +:toclevels: 1 +:icons: font +:sectnums: +:sectnumlevels: 6 +:sectnumoffset: 6 +:partnums: +:source-highlighter: rouge +:experimental: +:images-path: books/fdp-primer/ + +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::[] + +Большая часть документации FDP написана с использованием AsciiDoc. В этой главе объясняется, что это значит, как читать и понимать исходный код документации, а также используемые методы. Для получения полного справочника по возможностям Asciidoctor обратитесь к link:https://docs.asciidoctor.org/home/[документации Asciidoctor]. Некоторые примеры, используемые в этой главе, взяты из link:https://docs.asciidoctor.org/asciidoc/latest/syntax-quick-reference[краткого справочника по синтаксису AsciiDoc]. + +[[asciidoctor-primer-overview]] +== Обзор + +В первые дни существования компьютеров электронный текст был простым. Существовало несколько наборов символов, таких как ASCII или EBCDIC, но на этом всё и заканчивалось. Текст был текстом, и вы видели именно то, что получали. Никаких изысков, никакого форматирования, никакого интеллекта. + +Неизбежно, этого оказалось недостаточно. Когда текст представлен в формате, пригодном для машинной обработки, ожидается, что машины смогут использовать и обрабатывать его интеллектуально. Авторы хотят указывать, что определённые фразы должны быть выделены, добавлены в глоссарий или преобразованы в гиперссылки. Имена файлов могут отображаться моноширинным шрифтом при просмотре на экране, но курсивом при печати или в любом другом из множества вариантов представления. + +Однажды надеялись, что искусственный интеллект (ИИ) сделает это легко. Компьютер прочитает документ и автоматически определит ключевые фразы, имена файлов, текст, который читатель должен ввести, примеры и многое другое. К сожалению, в реальной жизни всё оказалось не так просто, и компьютерам до сих пор требуется помощь, прежде чем они смогут осмысленно обрабатывать текст. + +Точнее говоря, им нужна помощь в определении, что есть что. Рассмотрим этот текст: + +Для удаления [.filename]#/tmp/foo# используйте man:rm[1]. + +[source, shell] +---- +% rm /tmp/foo +---- + +Читателю легко понять, какие части являются именами файлов, какие — командами для ввода, какие — ссылками на страницы руководства и так далее. Однако компьютер, обрабатывающий документ, не может надежно определить это. Для этого нам нужна разметка. + +Предыдущий пример фактически представлен в этом документе следующим образом: + +.... +To remove */tmp/foo*, use man:rm[1]. + +[source,shell] +---- +% rm /tmp/foo +---- +.... + +[[asciidoctor-headings]] +== Заголовки + +Asciidoctor поддерживает шесть уровней заголовков. Если тип документа `article`, можно использовать только один заголовок уровня 0 (`=`). Если тип документа `book`, то может быть несколько заголовков уровня 0 (`=`). + +Вот пример заголовков в `article`. + +.... += Название документа (Уровень 0) + +== Уровень 1 Название Раздела + +=== Уровень 2 Раздел Заголовок + +==== Уровень 3 Раздел Заголовок + +===== Уровень 4 Раздел Заголовок + +====== Level 5 Section Title + +== Другой заголовок раздела первого уровня +.... + +[WARNING] +==== +Уровни разделов нельзя пропускать при вложении разделов. + +Следующий синтаксис неверен. + +.... += Заголовок документа + +== Уровень 1 + +==== Уровень 3 +.... +==== + +[[asciidoctor-paragraphs]] +== Абзацы + +Абзацы не требуют специальной разметки в AsciiDoc. Абзац определяется одной или несколькими последовательными строками текста. Чтобы создать новый абзац, оставьте одну пустую строку. + +Например, это заголовок с двумя абзацами. + +.... += Это заголовок + +Это первый абзац. Это тоже первый абзац. + +А это второй абзац. +.... + +[[asciidoctor-lists]] +== Списки + +Asciidoctor поддерживает несколько типов списков, наиболее распространённые — `ordered` и `unordered`. Для получения дополнительной информации о списках см. link:https://docs.asciidoctor.org/asciidoc/latest/syntax-quick-reference/#lists[AsciiDoc Syntax Quick Reference]. + +[[asciidoctor-ordered-lists]] +=== Упорядоченные списки + +Для создания нумерованного списка используйте символ `.`. + +Например, это нумерованный список. + +.... +. Первый пункт +. Второй пункт +.. Подпункт второго пункта +. Третий пункт +.... + +И это будет отображено как. + +. Первый пункт +. Второй пункт +.. Подпункт второго пункта +. Третий пункт + +[[asciidoctor-unordered-lists]] +=== Неупорядоченные списки + +Для создания маркированного списка используйте символ `*`. + +Например, это ненумерованный список. + +.... +* Первый пункт +* Второй пункт +** Подпункт второго пункта +* Третий пункт +.... + +И это будет отображено как. + +* Первый пункт +* Второй пункт +** Подпункт второго пункта +* Третий пункт + +[[asciidoctor-links]] +== Links + +[[asciidoctor-links-external]] +=== Внешние ссылки + +Чтобы указать на другой веб-сайт, следует использовать макрос `link`. + +.... +link:https://www.FreeBSD.org[FreeBSD] +.... + +[NOTE] +==== +Как описано в документации Asciidoctor, макрос `link` не требуется, когда цель начинается со схемы URL, такой как `https`. Тем не менее, рекомендуется всё равно использовать его, чтобы гарантировать корректное отображение ссылки в Asciidoctor, особенно в языках с нелатинской письменностью, таких как японский. +==== + +[[asciidoctor-links-internal]] +=== Ссылки на другую книгу или статью + +Для указания на другую книгу или статью следует использовать переменные Asciidoctor. Например, если мы находимся в статье `cups` и хотим сослаться на `ipsec-must`, необходимо выполнить следующие шаги. + +. Включите файл [.filename]#urls.adoc# из папки [.filename]#~/doc/shared#. ++ +.... +\include::shared/{lang}/urls.adoc[] +.... ++ +. Затем создайте ссылку с использованием переменной Asciidoctor на статью `ipsec-must`. ++ +.... +extref:{ipsec-must}[Статья IPSec-Must] +.... ++ +И это будет отображено как. ++ +extref:{ipsec-must}[Статья IPSec-Must] + +[NOTE] +==== +Макрос `extref` определён как расширение. Он предназначен для корректного отображения ссылки в различных выходных форматах +==== + +=== Ссылки на тот же файл или на другой файл в той же книге + +Книги структурированы в разных каталогах для поддержания удобной организации. Чтобы создать ссылку из одного подкаталога книги в другой подкаталог той же книги, используйте макрос `crossref`: +.... +crossref:doc-build[documentation-makefile, Эта ссылка] +.... +И это будет отображено как + +crossref:doc-build[documentation-makefile, Эта ссылка] + +[NOTE] +==== +Макрос `crossref` определен как расширение. Он предназначен для формирования корректной ссылки в различных выходных форматах +==== + +[NOTE] +==== +Используйте макрос `crossref` для внутридокументных ссылок. Хотя указание имени текущего документа может быть неудобным, это гарантирует корректное отображение ссылки в различных выходных форматах +==== + +[WARNING] +==== +Не используйте макрос `xref` или его сокращение `<<` `>>`. Они не работают хорошо во всех выходных форматах. +==== + +[[asciidoctor-images-icons]] +== Изображения и иконки + +Изображения и иконки играют ключевую роль в улучшении общего пользовательского опыта. Эти визуальные элементы стратегически интегрированы для передачи информации, пояснения концепций и создания визуально привлекательного интерфейса. + +[[asciidoctor-images]] +=== Изображения + +Изображения помогают проиллюстрировать сложные концепции, делая их более понятными для пользователей. + +Первым шагом будет добавление изображения в директорию `images` по пути: + +* [.filename]#~/website/static/images/# для веб-сайта. +* [.filename]#~/documentation/static/images/# для документации. + +Например, чтобы добавить новое изображение в процесс установки FreeBSD, изображение сохраняется по пути [.filename]#~/documentation/static/images/books/handbook/bsdinstall/new-image3.png#. + +Следующим шагом будет настройка атрибутов Asciidoctor `images-path` и `imagesdir`. + +В качестве примера мы используем заголовок статьи extref:{freebsd-releng}[Подготовка релизов FreeBSD]. + +[source, asciidoc] +.... += Подготовка релизов FreeBSD +:doctype: article + +[...] + +:images-path: articles/freebsd-releng/ <1> + +ifdef::env-beastie[] ifdef::backend-html5[] + +[...] + +:imagesdir: ../../../images/{images-path} <2> endif::[] endif::[] + +[...] + +.... + +<.> Ссылается на путь внутри папки [.filename]#/static/images#. +<.> Делает ссылку на атрибут Asciidoctor. + +Как только изображение окажется в нужном пути и атрибуты Asciidoctor будут настроены в документе, можно использовать макрос `image`. + +Вот пример: + +.... +image::new-image3.png[New step in the FreeBSD install process] +.... + +[TIP] +==== +Для улучшения доступности обязательно добавлять описательный текст к каждому изображению. +==== + +[[asciidoctor-icons]] +=== Иконки + +Значки служат интуитивно понятными символами для быстрого распознавания и навигации. + +Первым шагом для использования иконок является добавление свойства `icons` в раздел свойств Asciidoctor в начале каждого документа. + +.... +:icons: font +.... + +После установки свойства иконки Asciidoctor можно добавить иконку, поддерживаемую link:https://fontawesome.com/v4/icons/[Font Awesome]. + +Это пример использования иконки `envelope`: + +.... +icon:envelope[link=mailto:test@example.com, title="contact"] +.... + +[TIP] +==== +Для повышения доступности веб-сайта атрибут `title` является обязательным. +==== + +[[asciidoctor-conclusion]] +== Заключение + +Это заключение введения в Asciidoctor. Из-за ограничений по объёму и сложности некоторые аспекты не были рассмотрены глубоко (или вообще не затронуты). diff --git a/documentation/content/ru/books/fdp-primer/asciidoctor-primer/_index.po b/documentation/content/ru/books/fdp-primer/asciidoctor-primer/_index.po new file mode 100644 index 0000000000..9c60728aa5 --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/asciidoctor-primer/_index.po @@ -0,0 +1,795 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR The FreeBSD Project +# This file is distributed under the same license as the FreeBSD Documentation package. +# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025. +msgid "" +msgstr "" +"Project-Id-Version: FreeBSD Documentation VERSION\n" +"POT-Creation-Date: 2025-09-20 14:02+0300\n" +"PO-Revision-Date: 2025-09-07 04:45+0000\n" +"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n" +"Language-Team: Russian <https://translate-dev.freebsd.org/projects/" +"documentation/booksfdp-primerasciidoctor-primer_index/ru/>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.17\n" + +#. type: Yaml Front Matter Hash Value: description +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:1 +#, no-wrap +msgid "A brief introduction to Asciidoctor" +msgstr "Краткое введение в Asciidoctor" + +#. type: Yaml Front Matter Hash Value: title +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:1 +#, no-wrap +msgid "Chapter 6. Asciidoctor Primer" +msgstr "Глава 6. Введение в Asciidoctor" + +#. type: Title = +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:14 +#, no-wrap +msgid "Asciidoctor Primer" +msgstr "Основы Asciidoctor" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:55 +msgid "" +"Most FDP documentation is written with AsciiDoc. This chapter explains what " +"that means, how to read and understand the documentation source, and the " +"techniques used. To get a complete reference of the Asciidoctor " +"capabilities please consult the link:https://docs.asciidoctor.org/home/" +"[Asciidoctor documentation]. Some of the examples used in this chapter have " +"been taken from the link:https://docs.asciidoctor.org/asciidoc/latest/syntax-" +"quick-reference[AsciiDoc Syntax Quick Reference]." +msgstr "" +"Большая часть документации FDP написана с использованием AsciiDoc. В этой " +"главе объясняется, что это значит, как читать и понимать исходный код " +"документации, а также используемые методы. Для получения полного " +"справочника по возможностям Asciidoctor обратитесь к link:https://" +"docs.asciidoctor.org/home/[документации Asciidoctor]. Некоторые примеры, " +"используемые в этой главе, взяты из link:https://docs.asciidoctor.org/" +"asciidoc/latest/syntax-quick-reference[краткого справочника по синтаксису " +"AsciiDoc]." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:57 +#, no-wrap +msgid "Overview" +msgstr "Обзор" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:63 +msgid "" +"In the original days of computers, electronic text was simple. There were a " +"few character sets like ASCII or EBCDIC, but that was about it. Text was " +"text, and what you saw really was what you got. No frills, no formatting, " +"no intelligence." +msgstr "" +"В первые дни существования компьютеров электронный текст был простым. " +"Существовало несколько наборов символов, таких как ASCII или EBCDIC, но на " +"этом всё и заканчивалось. Текст был текстом, и вы видели именно то, что " +"получали. Никаких изысков, никакого форматирования, никакого интеллекта." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:68 +msgid "" +"Inevitably, this was not enough. When text is in a machine-usable format, " +"machines are expected to be able to use and manipulate it intelligently. " +"Authors want to indicate that certain phrases should be emphasized, or added " +"to a glossary, or made into hyperlinks. Filenames could be shown in a " +"“typewriter” style font for viewing on screen, but as “italics” when " +"printed, or any of a myriad of other options for presentation." +msgstr "" +"Неизбежно, этого оказалось недостаточно. Когда текст представлен в формате, " +"пригодном для машинной обработки, ожидается, что машины смогут использовать " +"и обрабатывать его интеллектуально. Авторы хотят указывать, что " +"определённые фразы должны быть выделены, добавлены в глоссарий или " +"преобразованы в гиперссылки. Имена файлов могут отображаться моноширинным " +"шрифтом при просмотре на экране, но курсивом при печати или в любом другом " +"из множества вариантов представления." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:72 +msgid "" +"It was once hoped that Artificial Intelligence (AI) would make this easy. " +"The computer would read the document and automatically identify key phrases, " +"filenames, text that the reader should type in, examples, and more. " +"Unfortunately, real life has not happened quite like that, and computers " +"still require assistance before they can meaningfully process text." +msgstr "" +"Однажды надеялись, что искусственный интеллект (ИИ) сделает это легко. " +"Компьютер прочитает документ и автоматически определит ключевые фразы, имена " +"файлов, текст, который читатель должен ввести, примеры и многое другое. К " +"сожалению, в реальной жизни всё оказалось не так просто, и компьютерам до " +"сих пор требуется помощь, прежде чем они смогут осмысленно обрабатывать " +"текст." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:75 +msgid "" +"More precisely, they need help identifying what is what. Consider this text:" +msgstr "" +"Точнее говоря, им нужна помощь в определении, что есть что. Рассмотрим этот " +"текст:" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:77 +msgid "To remove [.filename]#/tmp/foo#, use man:rm[1]." +msgstr "Для удаления [.filename]#/tmp/foo# используйте man:rm[1]." + +#. type: delimited block - 4 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:81 +#, no-wrap +msgid "% rm /tmp/foo\n" +msgstr "% rm /tmp/foo\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:86 +msgid "" +"It is easy for the reader to see which parts are filenames, which are " +"commands to be typed in, which parts are references to manual pages, and so " +"on. But the computer processing the document cannot reliably determine " +"this. For this we need markup." +msgstr "" +"Читателю легко понять, какие части являются именами файлов, какие — " +"командами для ввода, какие — ссылками на страницы руководства и так далее. " +"Однако компьютер, обрабатывающий документ, не может надежно определить это. " +"Для этого нам нужна разметка." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:88 +msgid "" +"The previous example is actually represented in this document like this:" +msgstr "" +"Предыдущий пример фактически представлен в этом документе следующим образом:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:91 +#, no-wrap +msgid "To remove */tmp/foo*, use man:rm[1].\n" +msgstr "To remove */tmp/foo*, use man:rm[1].\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:96 +#, no-wrap +msgid "" +"[source,shell]\n" +"----\n" +"% rm /tmp/foo\n" +"----\n" +msgstr "" +"[source,shell]\n" +"----\n" +"% rm /tmp/foo\n" +"----\n" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:99 +#, no-wrap +msgid "Headings" +msgstr "Заголовки" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:104 +msgid "" +"Asciidoctor supports six headings levels. If the document type is `article` " +"only one level 0 (`=`) can be used. If the document type is `book` then " +"there can be multiple level 0 (`=`) headings." +msgstr "" +"Asciidoctor поддерживает шесть уровней заголовков. Если тип документа " +"`article`, можно использовать только один заголовок уровня 0 (`=`). Если " +"тип документа `book`, то может быть несколько заголовков уровня 0 (`=`)." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:106 +msgid "This is an example of headings in an `article`." +msgstr "Вот пример заголовков в `article`." + +#. type: Title = +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:108 +#, no-wrap +msgid "Document Title (Level 0)" +msgstr "Название документа (Уровень 0)" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:110 +#, no-wrap +msgid "Level 1 Section Title" +msgstr "Уровень 1 Название Раздела" + +#. type: Title === +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:112 +#, no-wrap +msgid "Level 2 Section Title" +msgstr "Уровень 2 Раздел Заголовок" + +#. type: Title ==== +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:114 +#, no-wrap +msgid "Level 3 Section Title" +msgstr "Уровень 3 Раздел Заголовок" + +#. type: Title ===== +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:116 +#, no-wrap +msgid "Level 4 Section Title" +msgstr "Уровень 4 Раздел Заголовок" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:119 +msgid "====== Level 5 Section Title" +msgstr "====== Level 5 Section Title" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:120 +#, no-wrap +msgid "Another Level 1 Section Title" +msgstr "Другой заголовок раздела первого уровня" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:126 +msgid "Section levels cannot be skipped when nesting sections." +msgstr "Уровни разделов нельзя пропускать при вложении разделов." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:128 +msgid "The following syntax is not correct." +msgstr "Следующий синтаксис неверен." + +#. type: Title = +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:130 +#, no-wrap +msgid "Document Title" +msgstr "Заголовок документа" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:132 +#, no-wrap +msgid "Level 1" +msgstr "Уровень 1" + +#. type: Title ==== +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:134 +#, no-wrap +msgid "Level 3" +msgstr "Уровень 3" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:139 +#, no-wrap +msgid "Paragraphs" +msgstr "Абзацы" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:144 +msgid "" +"Paragraphs don't require special markup in AsciiDoc. A paragraph is defined " +"by one or more consecutive lines of text. To create a new paragraph leave " +"one blank line." +msgstr "" +"Абзацы не требуют специальной разметки в AsciiDoc. Абзац определяется одной " +"или несколькими последовательными строками текста. Чтобы создать новый " +"абзац, оставьте одну пустую строку." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:146 +msgid "For example, this is a heading with two paragraphs." +msgstr "Например, это заголовок с двумя абзацами." + +#. type: Title = +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:148 +#, no-wrap +msgid "This is the heading" +msgstr "Это заголовок" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:152 +msgid "This is the first paragraph. This is also the first paragraph." +msgstr "Это первый абзац. Это тоже первый абзац." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:154 +msgid "And this is the second paragraph." +msgstr "А это второй абзац." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:157 +#, no-wrap +msgid "Lists" +msgstr "Списки" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:161 +msgid "" +"Asciidoctor supports a few types of lists, the most common are `ordered` and " +"`unordered`. To get more information about lists, see link:https://" +"docs.asciidoctor.org/asciidoc/latest/syntax-quick-reference/#lists[AsciiDoc " +"Syntax Quick Reference]." +msgstr "" +"Asciidoctor поддерживает несколько типов списков, наиболее распространённые " +"— `ordered` и `unordered`. Для получения дополнительной информации о " +"списках см. link:https://docs.asciidoctor.org/asciidoc/latest/syntax-quick-" +"reference/#lists[AsciiDoc Syntax Quick Reference]." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:163 +#, no-wrap +msgid "Ordered lists" +msgstr "Упорядоченные списки" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:166 +msgid "To create an ordered list use the `.` character." +msgstr "Для создания нумерованного списка используйте символ `.`." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:168 +msgid "For example, this is an ordered list." +msgstr "Например, это нумерованный список." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:174 +#, no-wrap +msgid "" +". First item\n" +". Second item\n" +".. Subsecond item\n" +". Third item\n" +msgstr "" +". Первый пункт\n" +". Второй пункт\n" +".. Подпункт второго пункта\n" +". Третий пункт\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:177 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:198 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:241 +msgid "And this would be rendered as." +msgstr "И это будет отображено как." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:179 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:200 +msgid "First item" +msgstr "Первый пункт" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:180 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:201 +msgid "Second item" +msgstr "Второй пункт" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:181 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:202 +msgid "Subsecond item" +msgstr "Подпункт второго пункта" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:182 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:203 +msgid "Third item" +msgstr "Третий пункт" + +#. type: Title === +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:184 +#, no-wrap +msgid "Unordered lists" +msgstr "Неупорядоченные списки" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:187 +msgid "To create an unordered list use the `*` character." +msgstr "Для создания маркированного списка используйте символ `*`." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:189 +msgid "For example, this is an unordered list." +msgstr "Например, это ненумерованный список." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:195 +#, no-wrap +msgid "" +"* First item\n" +"* Second item\n" +"** Subsecond item\n" +"* Third item\n" +msgstr "" +"* Первый пункт\n" +"* Второй пункт\n" +"** Подпункт второго пункта\n" +"* Третий пункт\n" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:205 +#, no-wrap +msgid "Links" +msgstr "Links" + +#. type: Title === +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:208 +#, no-wrap +msgid "External links" +msgstr "Внешние ссылки" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:211 +msgid "To point to another website the `link` macro should be used." +msgstr "Чтобы указать на другой веб-сайт, следует использовать макрос `link`." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:214 +#, no-wrap +msgid "link:https://www.FreeBSD.org[FreeBSD]\n" +msgstr "link:https://www.FreeBSD.org[FreeBSD]\n" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:220 +msgid "" +"As the Asciidoctor documentation describes, the `link` macro is not required " +"when the target starts with a URL scheme like `https`. However, it is a " +"good practice to do this anyway to ensure that Asciidoctor renders the link " +"correctly, especially in non-latin languages like Japanese." +msgstr "" +"Как описано в документации Asciidoctor, макрос `link` не требуется, когда " +"цель начинается со схемы URL, такой как `https`. Тем не менее, рекомендуется " +"всё равно использовать его, чтобы гарантировать корректное отображение " +"ссылки в Asciidoctor, особенно в языках с нелатинской письменностью, таких " +"как японский." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:223 +#, no-wrap +msgid "Links to another book or article" +msgstr "Ссылки на другую книгу или статью" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:227 +msgid "" +"To point to another book or article the Asciidoctor variables should be " +"used. For example, if we are in the `cups` article and we want to point to " +"`ipsec-must` these steps should be used." +msgstr "" +"Для указания на другую книгу или статью следует использовать переменные " +"Asciidoctor. Например, если мы находимся в статье `cups` и хотим сослаться " +"на `ipsec-must`, необходимо выполнить следующие шаги." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:229 +msgid "" +"Include the [.filename]#urls.adoc# file from [.filename]#~/doc/shared# " +"folder." +msgstr "" +"Включите файл [.filename]#urls.adoc# из папки [.filename]#~/doc/shared#." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:232 +#, no-wrap +msgid "\\include::shared/{lang}/urls.adoc[]\n" +msgstr "\\include::shared/{lang}/urls.adoc[]\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:235 +msgid "" +"Then create a link using the Asciidoctor variable to the `ipsec-must` " +"article." +msgstr "" +"Затем создайте ссылку с использованием переменной Asciidoctor на статью " +"`ipsec-must`." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:238 +#, no-wrap +msgid "extref:{ipsec-must}[IPSec-Must article]\n" +msgstr "extref:{ipsec-must}[Статья IPSec-Must]\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:243 +msgid "extref:{ipsec-must}[IPSec-Must article]" +msgstr "extref:{ipsec-must}[Статья IPSec-Must]" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:248 +msgid "" +"The `extref` macro is defined as an extension. It is designed to render the " +"correct link across the different outputs" +msgstr "" +"Макрос `extref` определён как расширение. Он предназначен для корректного " +"отображения ссылки в различных выходных форматах" + +#. type: Title === +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:250 +#, no-wrap +msgid "Links to the same file or to another file in the same book" +msgstr "Ссылки на тот же файл или на другой файл в той же книге" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:255 +msgid "" +"Books are structured in different directories to keep a sane layout. To " +"create a link from one subdirectory of a book to another subdirectory of the " +"same book, use the `crossref` macro:" +msgstr "" +"Книги структурированы в разных каталогах для поддержания удобной " +"организации. Чтобы создать ссылку из одного подкаталога книги в другой " +"подкаталог той же книги, используйте макрос `crossref`:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:257 +#, no-wrap +msgid "crossref:doc-build[documentation-makefile, This link]\n" +msgstr "crossref:doc-build[documentation-makefile, Эта ссылка]\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:259 +msgid "And this would be rendered as" +msgstr "И это будет отображено как" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:261 +msgid "crossref:doc-build[documentation-makefile, This link]" +msgstr "crossref:doc-build[documentation-makefile, Эта ссылка]" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:266 +msgid "" +"The `crossref` macro is defined as an extension. It is designed to render " +"the correct link across the different outputs" +msgstr "" +"Макрос `crossref` определен как расширение. Он предназначен для " +"формирования корректной ссылки в различных выходных форматах" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:273 +msgid "" +"Use the `crossref` macro for intra-document links too. Although it might be " +"inconvenient to write the name of the current document, it ensures the " +"correct link is rendered across the different outputs" +msgstr "" +"Используйте макрос `crossref` для внутридокументных ссылок. Хотя указание " +"имени текущего документа может быть неудобным, это гарантирует корректное " +"отображение ссылки в различных выходных форматах" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:279 +msgid "" +"Do not use either the `xref` macro or its shortcut `<<` `>>`. They do not " +"work well in all output formats." +msgstr "" +"Не используйте макрос `xref` или его сокращение `<<` `>>`. Они не работают " +"хорошо во всех выходных форматах." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:282 +#, no-wrap +msgid "Images and Icons" +msgstr "Изображения и иконки" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:286 +msgid "" +"Images and icons play a crucial role in enhancing the overall user " +"experience. These visual elements are strategically integrated to convey " +"information, clarify concepts, and provide a visually engaging interface." +msgstr "" +"Изображения и иконки играют ключевую роль в улучшении общего " +"пользовательского опыта. Эти визуальные элементы стратегически " +"интегрированы для передачи информации, пояснения концепций и создания " +"визуально привлекательного интерфейса." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:288 +#, no-wrap +msgid "Images" +msgstr "Изображения" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:291 +msgid "" +"Images help illustrate complex concepts, making them more accessible to " +"users." +msgstr "" +"Изображения помогают проиллюстрировать сложные концепции, делая их более " +"понятными для пользователей." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:293 +msgid "" +"The first step will be to add the image in the images directory in the path:" +msgstr "" +"Первым шагом будет добавление изображения в директорию `images` по пути:" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:295 +msgid "[.filename]#~/website/static/images/# for the website." +msgstr "[.filename]#~/website/static/images/# для веб-сайта." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:296 +msgid "[.filename]#~/documentation/static/images/# for the documentation." +msgstr "[.filename]#~/documentation/static/images/# для документации." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:298 +msgid "" +"For example, to add a new image to the FreeBSD installation process, the " +"image will be saved to the path [.filename]#~/documentation/static/images/" +"books/handbook/bsdinstall/new-image3.png#." +msgstr "" +"Например, чтобы добавить новое изображение в процесс установки FreeBSD, " +"изображение сохраняется по пути [.filename]#~/documentation/static/images/" +"books/handbook/bsdinstall/new-image3.png#." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:300 +msgid "" +"The next step will be to configure the Asciidoctor attributes `images-path` " +"and `imagesdir`." +msgstr "" +"Следующим шагом будет настройка атрибутов Asciidoctor `images-path` и " +"`imagesdir`." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:302 +msgid "" +"We are going to use as an example the header of the extref:{freebsd-releng}" +"[FreeBSD Release Engineering] article." +msgstr "" +"В качестве примера мы используем заголовок статьи extref:{freebsd-releng}" +"[Подготовка релизов FreeBSD]." + +#. type: Title = +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:305 +#, no-wrap +msgid "FreeBSD Release Engineering" +msgstr "Подготовка релизов FreeBSD" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:307 +msgid ":doctype: article" +msgstr ":doctype: article" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:309 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:316 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:321 +msgid "[...]" +msgstr "[...]" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:311 +msgid ":images-path: articles/freebsd-releng/ <1>" +msgstr ":images-path: articles/freebsd-releng/ <1>" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:314 +msgid "ifdef::env-beastie[] ifdef::backend-html5[]" +msgstr "" +"ifdef::env-beastie[]\n" +"ifdef::backend-html5[]" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:319 +msgid ":imagesdir: ../../../images/{images-path} <2> endif::[]" +msgstr "" +":imagesdir: ../../../images/{images-path} <2>\n" +"endif::[]\n" +"endif::[]" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:325 +msgid "Makes reference to the path inside [.filename]#/static/images# folder." +msgstr "Ссылается на путь внутри папки [.filename]#/static/images#." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:326 +msgid "Makes reference to the Asciidoctor attribute." +msgstr "Делает ссылку на атрибут Asciidoctor." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:328 +msgid "" +"Once the image is in the correct path and the Asciidoctor attributes have " +"been configured in the document, the `image` macro can be used." +msgstr "" +"Как только изображение окажется в нужном пути и атрибуты Asciidoctor будут " +"настроены в документе, можно использовать макрос `image`." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:330 +msgid "This is an example:" +msgstr "Вот пример:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:333 +#, no-wrap +msgid "image::new-image3.png[New step in the FreeBSD install process]\n" +msgstr "image::new-image3.png[New step in the FreeBSD install process]\n" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:338 +msgid "" +"To improve accessibility, it is mandatory to add descriptive text to each " +"image." +msgstr "" +"Для улучшения доступности обязательно добавлять описательный текст к каждому " +"изображению." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:341 +#, no-wrap +msgid "Icons" +msgstr "Иконки" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:344 +msgid "Icons serve as intuitive symbols for quick recognition and navigation." +msgstr "" +"Значки служат интуитивно понятными символами для быстрого распознавания и " +"навигации." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:346 +msgid "" +"The first step to use icons is to add the `icons` property to the " +"Asciidoctor properties section, at the top of each document." +msgstr "" +"Первым шагом для использования иконок является добавление свойства `icons` в " +"раздел свойств Asciidoctor в начале каждого документа." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:349 +#, no-wrap +msgid ":icons: font\n" +msgstr ":icons: font\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:352 +msgid "" +"Once the Asciidoctor icon property has been set an icon supported by " +"link:https://fontawesome.com/v4/icons/[Font Awesome] can be added." +msgstr "" +"После установки свойства иконки Asciidoctor можно добавить иконку, " +"поддерживаемую link:https://fontawesome.com/v4/icons/[Font Awesome]." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:354 +msgid "This is an example about how to use the `envelope` icon:" +msgstr "Это пример использования иконки `envelope`:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:357 +#, no-wrap +msgid "icon:envelope[link=mailto:test@example.com, title=\"contact\"]\n" +msgstr "icon:envelope[link=mailto:test@example.com, title=\"contact\"]\n" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:362 +msgid "" +"To improve the accessibility of the website, the `title` attribute is " +"mandatory." +msgstr "" +"Для повышения доступности веб-сайта атрибут `title` является обязательным." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:365 +#, no-wrap +msgid "Conclusion" +msgstr "Заключение" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:368 +msgid "" +"This is the conclusion of this Asciidoctor primer. For reasons of space and " +"complexity, several things have not been covered in depth (or at all)." +msgstr "" +"Это заключение введения в Asciidoctor. Из-за ограничений по объёму и " +"сложности некоторые аспекты не были рассмотрены глубоко (или вообще не " +"затронуты)." diff --git a/documentation/content/ru/books/fdp-primer/book.adoc b/documentation/content/ru/books/fdp-primer/book.adoc new file mode 100644 index 0000000000..e1222e61f5 --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/book.adoc @@ -0,0 +1,102 @@ +--- +add_split_page_link: true +authors: + - + author: 'The FreeBSD Documentation Project' +copyright: '1998-2023 The FreeBSD Documentation Project' +description: 'Все, что вам нужно знать, чтобы начать участвовать в проекте документации FreeBSD' +tags: ["FDP", "documentation", "FreeBSD", "Index"] +title: 'Проект документации FreeBSD: введение для новых участников' +trademarks: ["freebsd", "general", "git"] +--- + += Проект документации FreeBSD: введение для новых участников +:doctype: book +:toc: macro +:toclevels: 2 +:icons: font +:sectnums: +:sectnumlevels: 6 +:partnums: +:source-highlighter: rouge +:experimental: +:book: true +:pdf: false +:images-path: books/fdp-primer/ + +ifdef::env-beastie[] +ifdef::backend-html5[] +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[] +:chapters-path: content/{{% lang %}}/books/fdp-primer/ +endif::[] +ifdef::backend-pdf,backend-epub3[] +:chapters-path: +include::../../../../../shared/asciidoctor.adoc[] +endif::[] +endif::[] + +ifndef::env-beastie[] +:chapters-path: +include::../../../../../shared/asciidoctor.adoc[] +endif::[] + +[.abstract-title] +Аннотация + +Спасибо за то, что стали частью проекта FreeBSD Documentation Project. Ваш вклад чрезвычайно важен, и мы это ценим. + +Это руководство содержит информацию, необходимую для начала работы с Проектом документации FreeBSD (FDP), включая инструменты, программное обеспечение и философию, лежащую в основе Проекта документации. + +Это работа в процессе. Исправления и дополнения всегда приветствуются. + +''' + +toc::[] + +:sectnums!: + +include::{chapters-path}preface/_index.adoc[leveloffset=+1] + +:sectnums: + +include::{chapters-path}overview/_index.adoc[leveloffset=+1] + +include::{chapters-path}tools/_index.adoc[leveloffset=+1] + +include::{chapters-path}working-copy/_index.adoc[leveloffset=+1] + +include::{chapters-path}structure/_index.adoc[leveloffset=+1] + +include::{chapters-path}doc-build/_index.adoc[leveloffset=+1] + +include::{chapters-path}asciidoctor-primer/_index.adoc[leveloffset=+1] + +include::{chapters-path}rosetta/_index.adoc[leveloffset=+1] + +include::{chapters-path}translations/_index.adoc[leveloffset=+1] + +include::{chapters-path}po-translations/_index.adoc[leveloffset=+1] + +include::{chapters-path}weblate/_index.adoc[leveloffset=+1] + +include::{chapters-path}manual-pages/_index.adoc[leveloffset=+1] + +include::{chapters-path}writing-style/_index.adoc[leveloffset=+1] + +include::{chapters-path}editor-config/_index.adoc[leveloffset=+1] + +include::{chapters-path}trademarks/_index.adoc[leveloffset=+1] + +include::{chapters-path}see-also/_index.adoc[leveloffset=+1] + +:sectnums!: + +include::{chapters-path}examples/_index.adoc[leveloffset=+1] + +:sectnums: diff --git a/documentation/content/ru/books/fdp-primer/book.po b/documentation/content/ru/books/fdp-primer/book.po new file mode 100644 index 0000000000..a525887906 --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/book.po @@ -0,0 +1,68 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR The FreeBSD Project +# This file is distributed under the same license as the FreeBSD Documentation package. +# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025. +msgid "" +msgstr "" +"Project-Id-Version: FreeBSD Documentation VERSION\n" +"POT-Creation-Date: 2025-09-20 14:02+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/" +"documentation/booksfdp-primerbook/ru/>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.17\n" + +#. type: Yaml Front Matter Hash Value: description +#: documentation/content/en/books/fdp-primer/book.adoc:1 +#, no-wrap +msgid "Everything you need to know in order to start contributing to the FreeBSD Documentation Project" +msgstr "Все, что вам нужно знать, чтобы начать участвовать в проекте документации FreeBSD" + +#. type: Title = +#: documentation/content/en/books/fdp-primer/book.adoc:1 +#: documentation/content/en/books/fdp-primer/book.adoc:12 +#, no-wrap +msgid "FreeBSD Documentation Project Primer for New Contributors" +msgstr "Проект документации FreeBSD: введение для новых участников" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/book.adoc:50 +msgid "Abstract" +msgstr "Аннотация" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/book.adoc:52 +msgid "" +"Thank you for becoming a part of the FreeBSD Documentation Project. Your " +"contribution is extremely valuable, and we appreciate it." +msgstr "" +"Спасибо за то, что стали частью проекта FreeBSD Documentation Project. Ваш " +"вклад чрезвычайно важен, и мы это ценим." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/book.adoc:54 +msgid "" +"This primer covers details needed to start contributing to the FreeBSD " +"Documentation Project, or FDP, including tools, software, and the philosophy " +"behind the Documentation Project." +msgstr "" +"Это руководство содержит информацию, необходимую для начала работы с " +"Проектом документации FreeBSD (FDP), включая инструменты, программное " +"обеспечение и философию, лежащую в основе Проекта документации." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/book.adoc:56 +msgid "" +"This is a work in progress. Corrections and additions are always welcome." +msgstr "Это работа в процессе. Исправления и дополнения всегда приветствуются." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/book.adoc:58 +msgid "'''" +msgstr "'''" diff --git a/documentation/content/ru/books/fdp-primer/doc-build/_index.adoc b/documentation/content/ru/books/fdp-primer/doc-build/_index.adoc new file mode 100644 index 0000000000..ae8a161020 --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/doc-build/_index.adoc @@ -0,0 +1,662 @@ +--- +description: 'Описывает процесс сборки документации FreeBSD' +next: books/fdp-primer/asciidoctor-primer +params: + path: /books/fdp-primer/doc-build/ +prev: books/fdp-primer/structure +showBookMenu: true +tags: ["build", "process", "make"] +title: 'Глава 5. Процесс сборки документации FreeBSD' +weight: 6 +--- + +[[doc-build]] += Процесс сборки документации FreeBSD +:doctype: book +:toc: macro +:toclevels: 1 +:icons: font +:sectnums: +:sectnumlevels: 6 +:sectnumoffset: 5 +:partnums: +:source-highlighter: rouge +:experimental: +:images-path: books/fdp-primer/ + +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::[] + +Эта глава описывает организацию процесса сборки документации и использование man:make[1] для управления этим процессом. + +[[doc-build-rendering]] +== Преобразование AsciiDoc в выходные форматы + +Из одного исходного файла AsciiDoc можно получить различные типы выходных данных. + +[cols="20%,20%,60%", frame="none", options="header"] +|=== +| Форматы +| Тип файла +| Описание + +|`html` +|HTML +|Глава статьи (`article`) или книги (`book`). + +|`pdf` +|PDF +|Portable Document Format. + +|`epub` +|EPUB +|Электронная публикация. +Формат файла ePub. +|=== + +[[doc-build-rendering-html]] +=== Преобразование в html + +Для преобразования документации и веб-сайта в `html` используйте один из следующих примеров. + +[[documentation-build-example]] +.Собрать документацию +[example] +==== +[source, shell] +.... +% cd ~/doc/documentation +% make +.... +==== + +[[website-build-example]] +.Собрать веб-сайт +[example] +==== +[source, shell] +.... +% cd ~/doc/website +% make +.... +==== + +[[project-build-example]] +.Собрать весь проект документации +[example] +==== +[source, shell] +.... +% cd ~/doc +% make -j2 +.... +==== + +Ниже приведены примеры сложных сборок: + +[[documentation-build-example-verbose]] +.Собрать документацию на английском и испанском языках с подробными и отладочными сообщениями +[example] +==== +[source, shell] +.... +% cd ~/doc/documentation +% make DOC_LANG="en es" HUGO_ARGS="--verbose --debug" +.... +==== + +[[documentation-build-example-server]] +.Собрать и предоставить контент с помощью внутреннего веб-сервера Hugo +[example] +==== +[source, shell] +.... +% cd ~/doc/documentation +% make run +.... +Этот веб-сервер по умолчанию работает на `localhost`, порт `1313`. + +Для обслуживания контента с помощью внутреннего веб-сервера Hugo, привязанного к определенному IP-адресу и порту: + +[source, shell] +.... +% make run BIND=192.168.15.10 HUGO_ARGS="-p 8080" +.... + +Имя хоста (`hostname`) также может быть установлено в качестве базового URL для внутреннего веб-сервера Hugo: + +[source, shell] +.... +% make run BIND=192.168.15.10 HOSTNAME=example.com +.... +==== + +[[documentation-build-example-offline]] +.Сборка документации в html для использования в автономном режиме +[example] +==== +[source, shell] +.... +% cd ~/doc/documentation +% make html +.... + +Для сжатия вывода в формате html добавьте `DOC_HTML_ARCHIVE=1`: + +[source, shell] +.... +% cd ~/doc/documentation +% DOC_HTML_ARCHIVE=1 make html +.... +==== + +[[doc-build-rendering-pdf]] +=== Рендеринг в pdf + +Для преобразования документации в `pdf` используйте один из следующих примеров. + +[[document-pdf-example]] +.Собрать все документы в pdf +[example] +==== +[source, shell] +.... +% cd ~/doc/documentation +% make pdf +.... +==== + +[[document-pdf-articles-example]] +.Собрать все статьи в pdf +[example] +==== +[source, shell] +.... +% cd ~/doc/documentation +% make pdf-articles +.... +==== + +[[document-pdf-books-example]] +.Собрать все книги в формате pdf +[example] +==== +[source, shell] +.... +% cd ~/doc/documentation +% make pdf-books +.... +==== + +[[document-pdf-language-example]] +.Сборка документов в pdf для определённых языков +[example] +==== +[source, shell] +.... +% cd ~/doc/documentation +% make DOC_LANG="en" pdf +.... +Это соберет все документы на английском языке в формате pdf. + +[source, shell] +.... +% cd ~/doc/documentation +% make DOC_LANG="en fr" pdf-books +.... +Это соберет все книги на английском и французском языках в формате pdf. +==== + +[[doc-build-toolset]] +== Набор инструментов для сборки документации FreeBSD + +Вот инструменты, используемые для сборки и установки документации FDP. + +* Основным инструментом сборки является man:make[1], а именно Berkeley Make. +* Hugo +* AsciiDoctor +* Git + +[[doc-build-makefile]] +== Информация о Makefile в дереве документации + +В проекте документации есть три файла [.filename]#Makefile# для сборки всей или части документации. + +* Файл [.filename]#Makefile# в каталоге [.filename]#documentation# предназначен только для сборки документации. +* Файл [.filename]#Makefile# в директории [.filename]#website# предназначен только для сборки веб-сайта. +* [.filename]#Makefile# в корне дерева исходников собирает как документацию, так и веб-сайт. + +Файл [.filename]#Makefile# в подкаталогах также поддерживает `make run` для обслуживания собранного содержимого с помощью внутреннего веб-сервера Hugo. По умолчанию этот веб-сервер работает на порту 1313. + +[[documentation-makefile]] +=== Makefile в каталоге documentation + +Этот [.filename]#Makefile# имеет следующую форму: + +[source, shell] +.... +# Generate the FreeBSD documentation +# +# Copyright (c) 2020-2025, The FreeBSD Documentation Project +# Copyright (c) 2020-2025, Sergio Carlavilla <carlavilla@FreeBSD.org> +# +# Targets intended for use on the command line +# +# all (default) - generate the books TOC and compile all the documentation +# clean - removes generated files +# run - serves the built documentation site for local browsing +# pdf - build PDF versions of the articles and books. +# html - build HTML versions of the articles and books for +# offline use. +# If variable DOC_HTML_ARCHIVE is set, all documents will be +# archived/compressed, and only these files will be kept in the public +# directory. +# epub - build EPUB versions of the articles and books (Experimental). +# +# The run target uses hugo's built-in webserver to make the documentation site +# available for local browsing. The documentation should have been built prior +# to attempting to use the `run` target. By default, hugo will start its +# webserver on port 1313. + +MAINTAINER=carlavilla@FreeBSD.org <.> + +# List of languages without book translations +ARTICLEONLY_LANGS= bn-bd da ko tr +# List of languages without article translations +BOOKONLY_LANGS= mn + +# List of all languages we have content for +ALL_LANGUAGES= bn-bd da de el en es fr hu it ja ko mn nl pl pt-br ru tr zh-cn zh-tw <.> + +LOCALBASE?= /usr/local + +RUBY_CMD = ${LOCALBASE}/bin/ruby <.> +HUGO_CMD = ${LOCALBASE}/bin/hugo <.> +HUGO_ARGS?= --verbose --minify +HUGO_OFFLINE_ARGS?= --environment offline --verbose --minify +ASCIIDOCTOR_CMD= ${LOCALBASE}/bin/asciidoctor +ASCIIDOCTORPDF_CMD= ${LOCALBASE}/bin/asciidoctor-pdf + +.if defined(DOC_LANG) && !empty(DOC_LANG) +LANGUAGES= ${DOC_LANG:S/,/ /g} +.if ${LANGUAGES:Men} == "" && ${.TARGETS:Mpdf*} == "" && ${.TARGETS:Mhtml*} == "" +.warning "Warning: cannot skip 'en'; adding it back" +LANGUAGES+= en +.endif +.else +LANGUAGES= ${ALL_LANGUAGES} +.endif + +RUBYLIB = ../shared/lib +.export RUBYLIB + +RUN_DEPENDS= ${HUGO_CMD} \ + ${LOCALBASE}/bin/asciidoctor \ + ${LOCALBASE}/bin/rougify + +.ifndef HOSTNAME +. ifdef BIND +.HOST=$(BIND) +. else +.HOST=localhost +. endif +.else +.HOST=$(HOSTNAME) +.endif + +# Strip the languages with only articles from the list of languages we +# will use to build books. +BOOK_LANGS= ${LANGUAGES} +.for a in ${ARTICLEONLY_LANGS} +BOOK_LANGS:= ${BOOK_LANGS:N${a}} +.endfor + +# Strip the languages with only books from the list of languages we +# will use to build articles. +ARTICLE_LANGS= ${LANGUAGES} +.for a in ${BOOKONLY_LANGS} +ARTICLE_LANGS:= ${ARTICLE_LANGS:N${a}} +.endfor + +# Take the list of all languages, and take out the ones we have been +# asked for. We'll feed this to hugo. +SKIP_LANGS= +.for a in ${ALL_LANGUAGES} +.if ${LANGUAGES:M${a}} == "" +SKIP_LANGS+= ${a} +.endif +.endfor + +.ORDER: all run <.> + +.ORDER: requirements <.> +.ORDER: starting-message +.ORDER: starting-message build +.ORDER: build + +all: requirements starting-message generate-pgpkeys-txt build +run: requirements starting-message generate-pgpkeys-txt run-local + +# clean does not call pdf-clean as that is a subset of hugo-clean +clean: hugo-clean pgp-clean + +requirements: +.for dep in ${RUN_DEPENDS} +.if !exists(${dep}) + @(echo ${dep} not found, please run 'pkg install docproj'; exit 1) +.endif +.endfor + +requirements-pdf: +.if !exists(${LOCALBASE}/bin/asciidoctor-pdf) + @(echo ${LOCALBASE}/bin/asciidoctor-pdf not found, please run 'pkg install rubygem-asciidoctor-pdf'; exit 1) +.endif + +requirements-epub: +.if !exists(${LOCALBASE}/bin/asciidoctor-epub3) + @(echo ${LOCALBASE}/bin/asciidoctor-epub3 not found, please run 'pkg install rubygem-asciidoctor-epub3'; exit 1) +.endif + +starting-message: .PHONY <.> + @echo --------------------------------------------------------------- + @echo Building the documentation + @echo included languages: ${LANGUAGES} + @echo excluded languages: ${SKIP_LANGS} + @echo --------------------------------------------------------------- + +generate-pgpkeys-txt: static/pgpkeys/pgpkeys.txt + +static/pgpkeys/pgpkeys.txt: static/pgpkeys/*key + ${RUBY_CMD} ./tools/global-pgpkeys-creator.rb + +run-local: .PHONY <.> + HUGO_DISABLELANGUAGES="${SKIP_LANGS}" ${HUGO_CMD} server \ + ${HUGO_ARGS} -D $(BIND:D--bind=$(BIND)) --baseURL="http://$(.HOST):1313" + +build: .PHONY <.> + HUGO_DISABLELANGUAGES="${SKIP_LANGS}" ${HUGO_CMD} ${HUGO_ARGS} + +build-offline: .PHONY + HUGO_DISABLELANGUAGES="${SKIP_LANGS}" ${HUGO_CMD} ${HUGO_OFFLINE_ARGS} + +pgp-clean: .PHONY + rm -f static/pgpkeys/pgpkeys.txt + +hugo-clean: .PHONY + rm -rf resources public + +# +# PDF targets +# Use DOC_LANG to choose the language, e.g., make DOC_LANG="en fr" pdf-books +# +pdf: pdf-articles pdf-books + +pdf-books: requirements-pdf +.for _lang in ${BOOK_LANGS} + ./tools/asciidoctor.sh books ${_lang} pdf +.endfor + +pdf-articles: requirements-pdf +.for _lang in ${ARTICLE_LANGS} + ./tools/asciidoctor.sh articles ${_lang} pdf +.endfor + +pdf-clean: pdf-articles-clean pdf-books-clean + +pdf-books-clean: +.for _lang in ${BOOK_LANGS} + rm -fr ${.CURDIR}/public/${_lang}/books + -rmdir ${.CURDIR}/public/${_lang} +.endfor + -rmdir ${.CURDIR}/public/ + +pdf-articles-clean: +.for _lang in ${ARTICLE_LANGS} + rm -fr ${.CURDIR}/public/${_lang}/articles +.if !exists(${.CURDIR}/public/${_lang}/books) + rm -fr ${.CURDIR}/public/${_lang} +.endif +.endfor + -rmdir ${.CURDIR}/public + +# +# HTML targets +# +html: build-offline html-clean-global html-clean-articles html-clean-books html-archive html-archive-clean-files + +html-clean: hugo-clean + +html-clean-global: + rm -fr ${.CURDIR}/public/index.html + rm -rf pgpkeys js + +html-clean-articles: +.for _lang in ${ARTICLE_LANGS} + rm -fr ${.CURDIR}/public/${_lang}/index.html + rm -fr ${.CURDIR}/public/${_lang}/articles/index.html +.endfor + +html-clean-books: +.for _lang in ${BOOK_LANGS} + rm -fr ${.CURDIR}/public/${_lang}/books/index.html +.endfor + +html-archive: +.if defined(DOC_HTML_ARCHIVE) +.for _lang in ${ARTICLE_LANGS} + ./tools/asciidoctor.sh articles ${_lang} archive +.endfor +.for _lang in ${BOOK_LANGS} + ./tools/asciidoctor.sh books ${_lang} archive +.endfor +.endif + +html-archive-clean-files: +.if defined(DOC_HTML_ARCHIVE) + find ${.CURDIR}/public/ ! -name '*.pdf' ! -name '*.tar.gz' -type f -delete + find ${.CURDIR}/public/ -type d -empty -delete +.endif + +# +# EPUB targets +# Use DOC_LANG to choose the language, e.g., make DOC_LANG="en fr" epub-books +# +epub: epub-articles epub-books + +epub-books: requirements-epub + @echo --------------------------------------------------------------- + @echo !!! EPUB output is experimental !!! + @echo + @echo Asciidoctor EPUB3 is currently alpha software. Use accordingly. Although the + @echo bulk of AsciiDoc content is converted, there’s still work needed to fill in + @echo gaps where conversion is incomplete or unstyled. + @echo https://docs.asciidoctor.org/epub3-converter/latest/#project-status + @echo --------------------------------------------------------------- +.for _lang in ${BOOK_LANGS} + ./tools/asciidoctor.sh books ${_lang} epub +.endfor + +epub-articles: requirements-epub + @echo --------------------------------------------------------------- + @echo !!! EPUB output is experimental !!! + @echo + @echo Asciidoctor EPUB3 is currently alpha software. Use accordingly. Although the + @echo bulk of AsciiDoc content is converted, there’s still work needed to fill in + @echo gaps where conversion is incomplete or unstyled. + @echo https://docs.asciidoctor.org/epub3-converter/latest/#project-status + @echo --------------------------------------------------------------- +.for _lang in ${ARTICLE_LANGS} + ./tools/asciidoctor.sh articles ${_lang} epub +.endfor + +epub-clean: epub-articles-clean epub-books-clean + +epub-books-clean: +.for _lang in ${BOOK_LANGS} + rm -fr ${.CURDIR}/public/${_lang}/books + -rmdir ${.CURDIR}/public/${_lang} +.endfor + -rmdir ${.CURDIR}/public/ + +epub-articles-clean: +.for _lang in ${ARTICLE_LANGS} + rm -fr ${.CURDIR}/public/${_lang}/articles +.if !exists(${.CURDIR}/public/${_lang}/books) + rm -fr ${.CURDIR}/public/${_lang} +.endif +.endfor + -rmdir ${.CURDIR}/public +.... + +<.> Флаг `MAINTAINER` указывает, кто является сопровождающим данного Makefile. +<.> Флаг `ALL_LANGUAGES` указывает, на каких языках должно быть сгенерировано оглавление. +<.> Флаг `RUBY_CMD` указывает расположение бинарного файла Ruby. +<.> `HUGO_CMD` — флаг, указывающий расположение бинарного файла Hugo. +<.> Директивы `.ORDER` используются для обеспечения беспроблемного выполнения нескольких заданий make. +<.> Цель `all` собирает документацию и помещает результат в *~/doc/documentation/public*. +<.> `starting-message` показывает сообщение в CLI, чтобы уведомить пользователя о том, что процесс выполняется. +<.> `run-local` запускает веб-сервер hugo на порту 1313 или на случайном свободном порту, если указанный порт уже занят. +<.> `build` собирает документацию и помещает результат в *~/doc/documentation/public*. + +[[website-makefile]] +=== Makefile в каталоге website + +Этот [.filename]#Makefile# имеет следующий вид: + +[source, shell] +.... +# Generate the FreeBSD website +# +# Copyright (c) 2020-2025, The FreeBSD Documentation Project +# Copyright (c) 2020-2025, Sergio Carlavilla <carlavilla@FreeBSD.org> +# +# Targets intended for use on the command line +# +# all (default) - generate the releases.toml and compile all the website +# run - serves the built website for local browsing +# +# The run target uses hugo's built-in webserver to make the built website +# available for local browsing. The website should have been built prior +# to attempting to use the `run` target. By default, hugo will start its +# webserver on port 1313. + +MAINTAINER=carlavilla@FreeBSD.org <.> + +# List of all languages we have content for +ALL_LANGUAGES= de el en es fr hu it ja nl ru tr zh-cn zh-tw + +LOCALBASE?= /usr/local + +RUBY_CMD = ${LOCALBASE}/bin/ruby <.> +HUGO_CMD = ${LOCALBASE}/bin/hugo <.> +HUGO_ARGS?= --verbose +RUBYLIB = ../shared/lib +.export RUBYLIB + +.ifndef HOSTNAME +. ifdef BIND +.HOST=$(BIND) +. else +.HOST=localhost +. endif +.else +.HOST=$(HOSTNAME) +.endif + +.if defined(DOC_LANG) && !empty(DOC_LANG) +LANGUAGES= ${DOC_LANG:S/,/ /g} +.if ${LANGUAGES:Men} == "" +.warning "Warning: cannot skip 'en'; adding it back" +LANGUAGES+= en +.endif +.else +LANGUAGES= ${ALL_LANGUAGES} +.endif + +# Take the list of all languages, and take out the ones we have been +# asked for via DOC_LANG. We'll feed this to hugo. +SKIP_LANGS= +.for a in ${ALL_LANGUAGES} +.if ${LANGUAGES:M${a}} == "" +SKIP_LANGS+= ${a} +.endif +.endfor + +.ORDER: all run <.> + +.ORDER: starting-message generate-releases +.ORDER: starting-message build +.ORDER: generate-releases build +.ORDER: build post-build +.ORDER: post-build end-message + +all: starting-message generate-releases build post-build end-message <.> +run: starting-message generate-releases run-local +clean: hugo-clean releases-clean + +starting-message: .PHONY <.> + @echo "---------------------------------------------------------------" + @echo "Building the website started on $$(date)" + @echo " included languages: ${LANGUAGES}" + @echo " excluded languages: ${SKIP_LANGS}" + @echo "---------------------------------------------------------------" + +end-message: .PHONY + @echo "---------------------------------------------------------------" + @echo "Building the website completed on $$(date)" + @echo "---------------------------------------------------------------" + +generate-releases: data/releases.toml <.> + +data/releases.toml: + ${RUBY_CMD} ./tools/releases-toml.rb + +run-local: .PHONY <.> + HUGO_DISABLELANGUAGES="${SKIP_LANGS}" ${HUGO_CMD} server \ + ${HUGO_ARGS} -D $(BIND:D--bind=$(BIND)) --baseURL="http://$(.HOST):1313" + +build: .PHONY <.> + HUGO_DISABLELANGUAGES="${SKIP_LANGS}" ${HUGO_CMD} ${HUGO_ARGS} + +post-build: cgi-permissions + +cgi-permissions: + @chmod 555 ./public/cgi/*.cgi + +hugo-clean: + rm -fr public resources + +releases-clean: + rm -f data/releases.toml +.... + +<.> Флаг `MAINTAINER` указывает, кто является сопровождающим данного Makefile. +<.> Флаг `RUBY_CMD` указывает расположение бинарного файла Ruby. +<.> `HUGO_CMD` — флаг, указывающий расположение бинарного файла Hugo. +<.> Директивы `.ORDER` используются для обеспечения беспроблемного выполнения нескольких заданий make. +<.> Цель `all` собирает веб-сайт и помещает результат в *~/doc/website/public*. +<.> `starting-message` показывает сообщение в CLI, чтобы уведомить пользователя о том, что процесс выполняется. +<.> `generate-releases` вызывает скрипт, используемый для преобразования переменных AsciiDoc в переменные TOML. После этого преобразования переменные релизов можно использовать как в AsciiDoc, так и в пользовательских шаблонах Hugo. +<.> `run-local` запускает веб-сервер hugo на порту 1313 или на случайном свободном порту, если указанный порт уже занят. +<.> `build` собирает веб-сайт и помещает результат в *~/doc/website/public*. diff --git a/documentation/content/ru/books/fdp-primer/doc-build/_index.po b/documentation/content/ru/books/fdp-primer/doc-build/_index.po new file mode 100644 index 0000000000..0d37e7d901 --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/doc-build/_index.po @@ -0,0 +1,1562 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR The FreeBSD Project +# This file is distributed under the same license as the FreeBSD Documentation package. +# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025. +msgid "" +msgstr "" +"Project-Id-Version: FreeBSD Documentation VERSION\n" +"POT-Creation-Date: 2025-09-20 14:02+0300\n" +"PO-Revision-Date: 2025-06-23 04:45+0000\n" +"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n" +"Language-Team: Russian <https://translate-dev.freebsd.org/projects/" +"documentation/booksfdp-primerdoc-build_index/ru/>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.17\n" + +#. type: Yaml Front Matter Hash Value: description +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:1 +#, no-wrap +msgid "Describes the FreeBSD Documentation Build Process" +msgstr "Описывает процесс сборки документации FreeBSD" + +#. type: Yaml Front Matter Hash Value: title +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:1 +#, no-wrap +msgid "Chapter 5. The FreeBSD Documentation Build Process" +msgstr "Глава 5. Процесс сборки документации FreeBSD" + +#. type: Title = +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:14 +#, no-wrap +msgid "The FreeBSD Documentation Build Process" +msgstr "Процесс сборки документации FreeBSD" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:52 +msgid "" +"This chapter covers organization of the documentation build process and how " +"man:make[1] is used to control it." +msgstr "" +"Эта глава описывает организацию процесса сборки документации и использование " +"man:make[1] для управления этим процессом." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:54 +#, no-wrap +msgid "Rendering AsciiDoc into Output" +msgstr "Преобразование AsciiDoc в выходные форматы" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:57 +msgid "" +"Different types of output can be produced from a single AsciiDoc source file." +msgstr "" +"Из одного исходного файла AsciiDoc можно получить различные типы выходных " +"данных." + +#. type: Table +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:61 +#, no-wrap +msgid "Formats" +msgstr "Форматы" + +#. type: Table +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:62 +#, no-wrap +msgid "File Type" +msgstr "Тип файла" + +#. type: Table +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:64 +#, no-wrap +msgid "Description" +msgstr "Описание" + +#. type: Table +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:65 +#, no-wrap +msgid "`html`" +msgstr "`html`" + +#. type: Table +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:66 +#, no-wrap +msgid "HTML" +msgstr "HTML" + +#. type: Table +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:68 +#, no-wrap +msgid "An `article` or `book` chapter." +msgstr "Глава статьи (`article`) или книги (`book`)." + +#. type: Table +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:69 +#, no-wrap +msgid "`pdf`" +msgstr "`pdf`" + +#. type: Table +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:70 +#, no-wrap +msgid "PDF" +msgstr "PDF" + +#. type: Table +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:72 +#, no-wrap +msgid "Portable Document Format." +msgstr "Portable Document Format." + +#. type: Table +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:73 +#, no-wrap +msgid "`epub`" +msgstr "`epub`" + +#. type: Table +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:74 +#, no-wrap +msgid "EPUB" +msgstr "EPUB" + +#. type: Table +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:76 +#, no-wrap +msgid "" +"Electronic Publication.\n" +"ePub file format." +msgstr "" +"Электронная публикация.\n" +"Формат файла ePub." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:79 +#, no-wrap +msgid "Rendering to html" +msgstr "Преобразование в html" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:82 +msgid "" +"To render the documentation and the website to `html` use one of the " +"following examples." +msgstr "" +"Для преобразования документации и веб-сайта в `html` используйте один из " +"следующих примеров." + +#. type: Block title +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:84 +#, no-wrap +msgid "Build the documentation" +msgstr "Собрать документацию" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:91 +#, no-wrap +msgid "" +"% cd ~/doc/documentation\n" +"% make\n" +msgstr "" +"% cd ~/doc/documentation\n" +"% make\n" + +#. type: Block title +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:95 +#, no-wrap +msgid "Build the website" +msgstr "Собрать веб-сайт" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:102 +#, no-wrap +msgid "" +"% cd ~/doc/website\n" +"% make\n" +msgstr "" +"% cd ~/doc/website\n" +"% make\n" + +#. type: Block title +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:106 +#, no-wrap +msgid "Build the entire documentation project" +msgstr "Собрать весь проект документации" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:113 +#, no-wrap +msgid "" +"% cd ~/doc\n" +"% make -j2\n" +msgstr "" +"% cd ~/doc\n" +"% make -j2\n" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:117 +msgid "Advanced build examples are given below:" +msgstr "Ниже приведены примеры сложных сборок:" + +#. type: Block title +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:119 +#, no-wrap +msgid "Build English and Spanish documentation with verbose and debug messages" +msgstr "Собрать документацию на английском и испанском языках с подробными и отладочными сообщениями" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:126 +#, no-wrap +msgid "" +"% cd ~/doc/documentation\n" +"% make DOC_LANG=\"en es\" HUGO_ARGS=\"--verbose --debug\"\n" +msgstr "" +"% cd ~/doc/documentation\n" +"% make DOC_LANG=\"en es\" HUGO_ARGS=\"--verbose --debug\"\n" + +#. type: Block title +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:130 +#, no-wrap +msgid "Build and serve the content with Hugo’s internal webserver" +msgstr "Собрать и предоставить контент с помощью внутреннего веб-сервера Hugo" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:137 +#, no-wrap +msgid "" +"% cd ~/doc/documentation\n" +"% make run\n" +msgstr "" +"% cd ~/doc/documentation\n" +"% make run\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:139 +msgid "This webserver runs on `localhost`, port `1313` by default." +msgstr "Этот веб-сервер по умолчанию работает на `localhost`, порт `1313`." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:141 +msgid "" +"To serve the content with Hugo’s internal webserver binding a specific IP " +"address and port:" +msgstr "" +"Для обслуживания контента с помощью внутреннего веб-сервера Hugo, " +"привязанного к определенному IP-адресу и порту:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:145 +#, no-wrap +msgid "% make run BIND=192.168.15.10 HUGO_ARGS=\"-p 8080\"\n" +msgstr "% make run BIND=192.168.15.10 HUGO_ARGS=\"-p 8080\"\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:148 +msgid "A `hostname` can also be set as base url to Hugo’s internal webserver:" +msgstr "" +"Имя хоста (`hostname`) также может быть установлено в качестве базового URL " +"для внутреннего веб-сервера Hugo:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:152 +#, no-wrap +msgid "% make run BIND=192.168.15.10 HOSTNAME=example.com\n" +msgstr "% make run BIND=192.168.15.10 HOSTNAME=example.com\n" + +#. type: Block title +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:156 +#, no-wrap +msgid "Build documentation in html for offline usage" +msgstr "Сборка документации в html для использования в автономном режиме" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:163 +#, no-wrap +msgid "" +"% cd ~/doc/documentation\n" +"% make html\n" +msgstr "" +"% cd ~/doc/documentation\n" +"% make html\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:166 +msgid "To compress the html output, add `DOC_HTML_ARCHIVE=1`:" +msgstr "Для сжатия вывода в формате html добавьте `DOC_HTML_ARCHIVE=1`:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:171 +#, no-wrap +msgid "" +"% cd ~/doc/documentation\n" +"% DOC_HTML_ARCHIVE=1 make html\n" +msgstr "" +"% cd ~/doc/documentation\n" +"% DOC_HTML_ARCHIVE=1 make html\n" + +#. type: Title === +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:175 +#, no-wrap +msgid "Rendering to pdf" +msgstr "Рендеринг в pdf" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:178 +msgid "" +"To render the documentation to `pdf`, use one of the following examples." +msgstr "" +"Для преобразования документации в `pdf` используйте один из следующих " +"примеров." + +#. type: Block title +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:180 +#, no-wrap +msgid "Build all documents in pdf" +msgstr "Собрать все документы в pdf" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:187 +#, no-wrap +msgid "" +"% cd ~/doc/documentation\n" +"% make pdf\n" +msgstr "" +"% cd ~/doc/documentation\n" +"% make pdf\n" + +#. type: Block title +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:191 +#, no-wrap +msgid "Build all articles in pdf" +msgstr "Собрать все статьи в pdf" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:198 +#, no-wrap +msgid "" +"% cd ~/doc/documentation\n" +"% make pdf-articles\n" +msgstr "" +"% cd ~/doc/documentation\n" +"% make pdf-articles\n" + +#. type: Block title +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:202 +#, no-wrap +msgid "Build all books in pdf" +msgstr "Собрать все книги в формате pdf" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:209 +#, no-wrap +msgid "" +"% cd ~/doc/documentation\n" +"% make pdf-books\n" +msgstr "" +"% cd ~/doc/documentation\n" +"% make pdf-books\n" + +#. type: Block title +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:213 +#, no-wrap +msgid "Build documents in pdf for specific languages" +msgstr "Сборка документов в pdf для определённых языков" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:220 +#, no-wrap +msgid "" +"% cd ~/doc/documentation\n" +"% make DOC_LANG=\"en\" pdf\n" +msgstr "" +"% cd ~/doc/documentation\n" +"% make DOC_LANG=\"en\" pdf\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:222 +msgid "This will build all English documents in pdf." +msgstr "Это соберет все документы на английском языке в формате pdf." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:227 +#, no-wrap +msgid "" +"% cd ~/doc/documentation\n" +"% make DOC_LANG=\"en fr\" pdf-books\n" +msgstr "" +"% cd ~/doc/documentation\n" +"% make DOC_LANG=\"en fr\" pdf-books\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:229 +msgid "This will build all English and French books in pdf." +msgstr "" +"Это соберет все книги на английском и французском языках в формате pdf." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:232 +#, no-wrap +msgid "The FreeBSD Documentation Build Toolset" +msgstr "Набор инструментов для сборки документации FreeBSD" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:235 +msgid "These are the tools used to build and install the FDP documentation." +msgstr "Вот инструменты, используемые для сборки и установки документации FDP." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:237 +msgid "The primary build tool is man:make[1], specifically Berkeley Make." +msgstr "" +"Основным инструментом сборки является man:make[1], а именно Berkeley Make." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:238 +msgid "Hugo" +msgstr "Hugo" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:239 +msgid "AsciiDoctor" +msgstr "AsciiDoctor" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:240 +msgid "Git" +msgstr "Git" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:242 +#, no-wrap +msgid "Understanding the Makefile in the Documentation Tree" +msgstr "Информация о Makefile в дереве документации" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:245 +msgid "" +"There are three [.filename]#Makefile# files for building some or all of the " +"documentation project." +msgstr "" +"В проекте документации есть три файла [.filename]#Makefile# для сборки всей " +"или части документации." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:247 +msgid "" +"The [.filename]#Makefile# in the [.filename]#documentation# directory will " +"build only the documentation." +msgstr "" +"Файл [.filename]#Makefile# в каталоге [.filename]#documentation# " +"предназначен только для сборки документации." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:248 +msgid "" +"The [.filename]#Makefile# in the [.filename]#website# directory will build " +"only the website." +msgstr "" +"Файл [.filename]#Makefile# в директории [.filename]#website# предназначен " +"только для сборки веб-сайта." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:249 +msgid "" +"The [.filename]#Makefile# at the top of the tree will build both the " +"documentation and the website." +msgstr "" +"[.filename]#Makefile# в корне дерева исходников собирает как документацию, " +"так и веб-сайт." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:252 +msgid "" +"The [.filename]#Makefile# appearing in subdirectories also support `make " +"run` to serve built content with Hugo's internal webserver. This webserver " +"runs on port 1313 by default." +msgstr "" +"Файл [.filename]#Makefile# в подкаталогах также поддерживает `make run` для " +"обслуживания собранного содержимого с помощью внутреннего веб-сервера Hugo. " +"По умолчанию этот веб-сервер работает на порту 1313." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:254 +#, no-wrap +msgid "Documentation Makefile" +msgstr "Makefile в каталоге documentation" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:257 +msgid "This [.filename]#Makefile# takes the following form:" +msgstr "Этот [.filename]#Makefile# имеет следующую форму:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:282 +#, no-wrap +msgid "" +"# Generate the FreeBSD documentation\n" +"#\n" +"# Copyright (c) 2020-2025, The FreeBSD Documentation Project\n" +"# Copyright (c) 2020-2025, Sergio Carlavilla <carlavilla@FreeBSD.org>\n" +"#\n" +"# Targets intended for use on the command line\n" +"#\n" +"# all (default)\t-\tgenerate the books TOC and compile all the documentation\n" +"# clean\t\t- \tremoves generated files\n" +"# run\t\t-\tserves the built documentation site for local browsing\n" +"# pdf\t\t-\tbuild PDF versions of the articles and books.\n" +"# html\t\t-\tbuild HTML versions of the articles and books for\n" +"#\t\t\toffline use.\n" +"#\t\t\tIf variable DOC_HTML_ARCHIVE is set, all documents will be\n" +"#\t\t\tarchived/compressed, and only these files will be kept in the public\n" +"#\t\t\tdirectory.\n" +"# epub\t\t-\tbuild EPUB versions of the articles and books (Experimental).\n" +"#\n" +"# The run target uses hugo's built-in webserver to make the documentation site\n" +"# available for local browsing. The documentation should have been built prior\n" +"# to attempting to use the `run` target. By default, hugo will start its\n" +"# webserver on port 1313.\n" +msgstr "" +"# Generate the FreeBSD documentation\n" +"#\n" +"# Copyright (c) 2020-2025, The FreeBSD Documentation Project\n" +"# Copyright (c) 2020-2025, Sergio Carlavilla <carlavilla@FreeBSD.org>\n" +"#\n" +"# Targets intended for use on the command line\n" +"#\n" +"# all (default)\t-\tgenerate the books TOC and compile all the documentation\n" +"# clean\t\t- \tremoves generated files\n" +"# run\t\t-\tserves the built documentation site for local browsing\n" +"# pdf\t\t-\tbuild PDF versions of the articles and books.\n" +"# html\t\t-\tbuild HTML versions of the articles and books for\n" +"#\t\t\toffline use.\n" +"#\t\t\tIf variable DOC_HTML_ARCHIVE is set, all documents will be\n" +"#\t\t\tarchived/compressed, and only these files will be kept in the public\n" +"#\t\t\tdirectory.\n" +"# epub\t\t-\tbuild EPUB versions of the articles and books (Experimental).\n" +"#\n" +"# The run target uses hugo's built-in webserver to make the documentation site\n" +"# available for local browsing. The documentation should have been built prior\n" +"# to attempting to use the `run` target. By default, hugo will start its\n" +"# webserver on port 1313.\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:284 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:566 +#, no-wrap +msgid "MAINTAINER=carlavilla@FreeBSD.org <.>\n" +msgstr "MAINTAINER=carlavilla@FreeBSD.org <.>\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:289 +#, no-wrap +msgid "" +"# List of languages without book translations\n" +"ARTICLEONLY_LANGS=\tbn-bd da ko tr\n" +"# List of languages without article translations\n" +"BOOKONLY_LANGS=\t\tmn\n" +msgstr "" +"# List of languages without book translations\n" +"ARTICLEONLY_LANGS=\tbn-bd da ko tr\n" +"# List of languages without article translations\n" +"BOOKONLY_LANGS=\t\tmn\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:292 +#, no-wrap +msgid "" +"# List of all languages we have content for\n" +"ALL_LANGUAGES=\tbn-bd da de el en es fr hu it ja ko mn nl pl pt-br ru tr zh-cn zh-tw <.>\n" +msgstr "" +"# List of all languages we have content for\n" +"ALL_LANGUAGES=\tbn-bd da de el en es fr hu it ja ko mn nl pl pt-br ru tr zh-cn zh-tw <.>\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:294 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:571 +#, no-wrap +msgid "LOCALBASE?=\t/usr/local\n" +msgstr "LOCALBASE?=\t/usr/local\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:301 +#, no-wrap +msgid "" +"RUBY_CMD =\t${LOCALBASE}/bin/ruby <.>\n" +"HUGO_CMD =\t${LOCALBASE}/bin/hugo <.>\n" +"HUGO_ARGS?=\t--verbose --minify\n" +"HUGO_OFFLINE_ARGS?= \t--environment offline --verbose --minify\n" +"ASCIIDOCTOR_CMD=\t${LOCALBASE}/bin/asciidoctor\n" +"ASCIIDOCTORPDF_CMD=\t${LOCALBASE}/bin/asciidoctor-pdf\n" +msgstr "" +"RUBY_CMD =\t${LOCALBASE}/bin/ruby <.>\n" +"HUGO_CMD =\t${LOCALBASE}/bin/hugo <.>\n" +"HUGO_ARGS?=\t--verbose --minify\n" +"HUGO_OFFLINE_ARGS?= \t--environment offline --verbose --minify\n" +"ASCIIDOCTOR_CMD=\t${LOCALBASE}/bin/asciidoctor\n" +"ASCIIDOCTORPDF_CMD=\t${LOCALBASE}/bin/asciidoctor-pdf\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:311 +#, no-wrap +msgid "" +".if defined(DOC_LANG) && !empty(DOC_LANG)\n" +"LANGUAGES=\t${DOC_LANG:S/,/ /g}\n" +".if ${LANGUAGES:Men} == \"\" && ${.TARGETS:Mpdf*} == \"\" && ${.TARGETS:Mhtml*} == \"\"\n" +".warning \"Warning: cannot skip 'en'; adding it back\"\n" +"LANGUAGES+=\ten\n" +".endif\n" +".else\n" +"LANGUAGES=\t${ALL_LANGUAGES}\n" +".endif\n" +msgstr "" +".if defined(DOC_LANG) && !empty(DOC_LANG)\n" +"LANGUAGES=\t${DOC_LANG:S/,/ /g}\n" +".if ${LANGUAGES:Men} == \"\" && ${.TARGETS:Mpdf*} == \"\" && ${.TARGETS:Mhtml*} == \"\"\n" +".warning \"Warning: cannot skip 'en'; adding it back\"\n" +"LANGUAGES+=\ten\n" +".endif\n" +".else\n" +"LANGUAGES=\t${ALL_LANGUAGES}\n" +".endif\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:314 +#, no-wrap +msgid "" +"RUBYLIB =\t../shared/lib\n" +".export\tRUBYLIB\n" +msgstr "" +"RUBYLIB =\t../shared/lib\n" +".export\tRUBYLIB\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:318 +#, no-wrap +msgid "" +"RUN_DEPENDS=\t${HUGO_CMD} \\\n" +"\t\t${LOCALBASE}/bin/asciidoctor \\\n" +"\t\t${LOCALBASE}/bin/rougify\n" +msgstr "" +"RUN_DEPENDS=\t${HUGO_CMD} \\\n" +"\t\t${LOCALBASE}/bin/asciidoctor \\\n" +"\t\t${LOCALBASE}/bin/rougify\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:328 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:587 +#, no-wrap +msgid "" +".ifndef HOSTNAME\n" +". ifdef BIND\n" +".HOST=$(BIND)\n" +". else\n" +".HOST=localhost\n" +". endif\n" +".else\n" +".HOST=$(HOSTNAME)\n" +".endif\n" +msgstr "" +".ifndef HOSTNAME\n" +". ifdef BIND\n" +".HOST=$(BIND)\n" +". else\n" +".HOST=localhost\n" +". endif\n" +".else\n" +".HOST=$(HOSTNAME)\n" +".endif\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:335 +#, no-wrap +msgid "" +"# Strip the languages with only articles from the list of languages we\n" +"# will use to build books.\n" +"BOOK_LANGS= ${LANGUAGES}\n" +".for a in ${ARTICLEONLY_LANGS}\n" +"BOOK_LANGS:=\t${BOOK_LANGS:N${a}}\n" +".endfor\n" +msgstr "" +"# Strip the languages with only articles from the list of languages we\n" +"# will use to build books.\n" +"BOOK_LANGS= ${LANGUAGES}\n" +".for a in ${ARTICLEONLY_LANGS}\n" +"BOOK_LANGS:=\t${BOOK_LANGS:N${a}}\n" +".endfor\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:342 +#, no-wrap +msgid "" +"# Strip the languages with only books from the list of languages we\n" +"# will use to build articles.\n" +"ARTICLE_LANGS= ${LANGUAGES}\n" +".for a in ${BOOKONLY_LANGS}\n" +"ARTICLE_LANGS:=\t${ARTICLE_LANGS:N${a}}\n" +".endfor\n" +msgstr "" +"# Strip the languages with only books from the list of languages we\n" +"# will use to build articles.\n" +"ARTICLE_LANGS= ${LANGUAGES}\n" +".for a in ${BOOKONLY_LANGS}\n" +"ARTICLE_LANGS:=\t${ARTICLE_LANGS:N${a}}\n" +".endfor\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:351 +#, no-wrap +msgid "" +"# Take the list of all languages, and take out the ones we have been\n" +"# asked for. We'll feed this to hugo.\n" +"SKIP_LANGS=\n" +".for a in ${ALL_LANGUAGES}\n" +".if ${LANGUAGES:M${a}} == \"\"\n" +"SKIP_LANGS+= ${a}\n" +".endif\n" +".endfor\n" +msgstr "" +"# Take the list of all languages, and take out the ones we have been\n" +"# asked for. We'll feed this to hugo.\n" +"SKIP_LANGS=\n" +".for a in ${ALL_LANGUAGES}\n" +".if ${LANGUAGES:M${a}} == \"\"\n" +"SKIP_LANGS+= ${a}\n" +".endif\n" +".endfor\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:353 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:608 +#, no-wrap +msgid ".ORDER: all run <.>\n" +msgstr ".ORDER: all run <.>\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:358 +#, no-wrap +msgid "" +".ORDER: requirements <.>\n" +".ORDER: starting-message\n" +".ORDER: starting-message build\n" +".ORDER: build\n" +msgstr "" +".ORDER: requirements <.>\n" +".ORDER: starting-message\n" +".ORDER: starting-message build\n" +".ORDER: build\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:361 +#, no-wrap +msgid "" +"all: requirements starting-message generate-pgpkeys-txt build\n" +"run: requirements starting-message generate-pgpkeys-txt run-local\n" +msgstr "" +"all: requirements starting-message generate-pgpkeys-txt build\n" +"run: requirements starting-message generate-pgpkeys-txt run-local\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:364 +#, no-wrap +msgid "" +"# clean does not call pdf-clean as that is a subset of hugo-clean\n" +"clean: hugo-clean pgp-clean\n" +msgstr "" +"# clean does not call pdf-clean as that is a subset of hugo-clean\n" +"clean: hugo-clean pgp-clean\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:371 +#, no-wrap +msgid "" +"requirements:\n" +".for dep in ${RUN_DEPENDS}\n" +".if !exists(${dep})\n" +"\t@(echo ${dep} not found, please run 'pkg install docproj'; exit 1)\n" +".endif\n" +".endfor\n" +msgstr "" +"requirements:\n" +".for dep in ${RUN_DEPENDS}\n" +".if !exists(${dep})\n" +"\t@(echo ${dep} not found, please run 'pkg install docproj'; exit 1)\n" +".endif\n" +".endfor\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:376 +#, no-wrap +msgid "" +"requirements-pdf:\n" +".if !exists(${LOCALBASE}/bin/asciidoctor-pdf)\n" +"\t@(echo ${LOCALBASE}/bin/asciidoctor-pdf not found, please run 'pkg install rubygem-asciidoctor-pdf'; exit 1)\n" +".endif\n" +msgstr "" +"requirements-pdf:\n" +".if !exists(${LOCALBASE}/bin/asciidoctor-pdf)\n" +"\t@(echo ${LOCALBASE}/bin/asciidoctor-pdf not found, please run 'pkg install rubygem-asciidoctor-pdf'; exit 1)\n" +".endif\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:381 +#, no-wrap +msgid "" +"requirements-epub:\n" +".if !exists(${LOCALBASE}/bin/asciidoctor-epub3)\n" +"\t@(echo ${LOCALBASE}/bin/asciidoctor-epub3 not found, please run 'pkg install rubygem-asciidoctor-epub3'; exit 1)\n" +".endif\n" +msgstr "" +"requirements-epub:\n" +".if !exists(${LOCALBASE}/bin/asciidoctor-epub3)\n" +"\t@(echo ${LOCALBASE}/bin/asciidoctor-epub3 not found, please run 'pkg install rubygem-asciidoctor-epub3'; exit 1)\n" +".endif\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:388 +#, no-wrap +msgid "" +"starting-message: .PHONY <.>\n" +"\t@echo ---------------------------------------------------------------\n" +"\t@echo Building the documentation\n" +"\t@echo included languages: ${LANGUAGES}\n" +"\t@echo excluded languages: ${SKIP_LANGS}\n" +"\t@echo ---------------------------------------------------------------\n" +msgstr "" +"starting-message: .PHONY <.>\n" +"\t@echo ---------------------------------------------------------------\n" +"\t@echo Building the documentation\n" +"\t@echo included languages: ${LANGUAGES}\n" +"\t@echo excluded languages: ${SKIP_LANGS}\n" +"\t@echo ---------------------------------------------------------------\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:390 +#, no-wrap +msgid "generate-pgpkeys-txt: static/pgpkeys/pgpkeys.txt\n" +msgstr "generate-pgpkeys-txt: static/pgpkeys/pgpkeys.txt\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:393 +#, no-wrap +msgid "" +"static/pgpkeys/pgpkeys.txt: static/pgpkeys/*key\n" +"\t${RUBY_CMD} ./tools/global-pgpkeys-creator.rb\n" +msgstr "" +"static/pgpkeys/pgpkeys.txt: static/pgpkeys/*key\n" +"\t${RUBY_CMD} ./tools/global-pgpkeys-creator.rb\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:397 +#, no-wrap +msgid "" +"run-local: .PHONY <.>\n" +"\tHUGO_DISABLELANGUAGES=\"${SKIP_LANGS}\" ${HUGO_CMD} server \\\n" +"\t\t${HUGO_ARGS} -D $(BIND:D--bind=$(BIND)) --baseURL=\"http://$(.HOST):1313\"\n" +msgstr "" +"run-local: .PHONY <.>\n" +"\tHUGO_DISABLELANGUAGES=\"${SKIP_LANGS}\" ${HUGO_CMD} server \\\n" +"\t\t${HUGO_ARGS} -D $(BIND:D--bind=$(BIND)) --baseURL=\"http://$(.HOST):1313\"\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:400 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:642 +#, no-wrap +msgid "" +"build: .PHONY <.>\n" +"\tHUGO_DISABLELANGUAGES=\"${SKIP_LANGS}\" ${HUGO_CMD} ${HUGO_ARGS}\n" +msgstr "" +"build: .PHONY <.>\n" +"\tHUGO_DISABLELANGUAGES=\"${SKIP_LANGS}\" ${HUGO_CMD} ${HUGO_ARGS}\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:403 +#, no-wrap +msgid "" +"build-offline: .PHONY\n" +"\tHUGO_DISABLELANGUAGES=\"${SKIP_LANGS}\" ${HUGO_CMD} ${HUGO_OFFLINE_ARGS}\n" +msgstr "" +"build-offline: .PHONY\n" +"\tHUGO_DISABLELANGUAGES=\"${SKIP_LANGS}\" ${HUGO_CMD} ${HUGO_OFFLINE_ARGS}\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:406 +#, no-wrap +msgid "" +"pgp-clean: .PHONY\n" +"\trm -f static/pgpkeys/pgpkeys.txt\n" +msgstr "" +"pgp-clean: .PHONY\n" +"\trm -f static/pgpkeys/pgpkeys.txt\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:409 +#, no-wrap +msgid "" +"hugo-clean: .PHONY\n" +"\trm -rf resources public\n" +msgstr "" +"hugo-clean: .PHONY\n" +"\trm -rf resources public\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:415 +#, no-wrap +msgid "" +"#\n" +"# PDF targets\n" +"# Use DOC_LANG to choose the language, e.g., make DOC_LANG=\"en fr\" pdf-books\n" +"#\n" +"pdf: pdf-articles pdf-books\n" +msgstr "" +"#\n" +"# PDF targets\n" +"# Use DOC_LANG to choose the language, e.g., make DOC_LANG=\"en fr\" pdf-books\n" +"#\n" +"pdf: pdf-articles pdf-books\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:420 +#, no-wrap +msgid "" +"pdf-books: requirements-pdf\n" +".for _lang in ${BOOK_LANGS}\n" +"\t./tools/asciidoctor.sh books ${_lang} pdf\n" +".endfor\n" +msgstr "" +"pdf-books: requirements-pdf\n" +".for _lang in ${BOOK_LANGS}\n" +"\t./tools/asciidoctor.sh books ${_lang} pdf\n" +".endfor\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:425 +#, no-wrap +msgid "" +"pdf-articles: requirements-pdf\n" +".for _lang in ${ARTICLE_LANGS}\n" +"\t./tools/asciidoctor.sh articles ${_lang} pdf\n" +".endfor\n" +msgstr "" +"pdf-articles: requirements-pdf\n" +".for _lang in ${ARTICLE_LANGS}\n" +"\t./tools/asciidoctor.sh articles ${_lang} pdf\n" +".endfor\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:427 +#, no-wrap +msgid "pdf-clean: pdf-articles-clean pdf-books-clean\n" +msgstr "pdf-clean: pdf-articles-clean pdf-books-clean\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:434 +#, no-wrap +msgid "" +"pdf-books-clean:\n" +".for _lang in ${BOOK_LANGS}\n" +"\trm -fr ${.CURDIR}/public/${_lang}/books\n" +"\t-rmdir ${.CURDIR}/public/${_lang}\n" +".endfor\n" +"\t-rmdir ${.CURDIR}/public/\n" +msgstr "" +"pdf-books-clean:\n" +".for _lang in ${BOOK_LANGS}\n" +"\trm -fr ${.CURDIR}/public/${_lang}/books\n" +"\t-rmdir ${.CURDIR}/public/${_lang}\n" +".endfor\n" +"\t-rmdir ${.CURDIR}/public/\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:443 +#, no-wrap +msgid "" +"pdf-articles-clean:\n" +".for _lang in ${ARTICLE_LANGS}\n" +"\trm -fr ${.CURDIR}/public/${_lang}/articles\n" +".if !exists(${.CURDIR}/public/${_lang}/books)\n" +"\trm -fr ${.CURDIR}/public/${_lang}\n" +".endif\n" +".endfor\n" +"\t-rmdir ${.CURDIR}/public\n" +msgstr "" +"pdf-articles-clean:\n" +".for _lang in ${ARTICLE_LANGS}\n" +"\trm -fr ${.CURDIR}/public/${_lang}/articles\n" +".if !exists(${.CURDIR}/public/${_lang}/books)\n" +"\trm -fr ${.CURDIR}/public/${_lang}\n" +".endif\n" +".endfor\n" +"\t-rmdir ${.CURDIR}/public\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:448 +#, no-wrap +msgid "" +"#\n" +"# HTML targets\n" +"#\n" +"html: build-offline html-clean-global html-clean-articles html-clean-books html-archive html-archive-clean-files\n" +msgstr "" +"#\n" +"# HTML targets\n" +"#\n" +"html: build-offline html-clean-global html-clean-articles html-clean-books html-archive html-archive-clean-files\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:450 +#, no-wrap +msgid "html-clean: hugo-clean\n" +msgstr "html-clean: hugo-clean\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:454 +#, no-wrap +msgid "" +"html-clean-global:\n" +"\trm -fr ${.CURDIR}/public/index.html\n" +"\trm -rf pgpkeys js\n" +msgstr "" +"html-clean-global:\n" +"\trm -fr ${.CURDIR}/public/index.html\n" +"\trm -rf pgpkeys js\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:460 +#, no-wrap +msgid "" +"html-clean-articles:\n" +".for _lang in ${ARTICLE_LANGS}\n" +"\trm -fr ${.CURDIR}/public/${_lang}/index.html\n" +"\trm -fr ${.CURDIR}/public/${_lang}/articles/index.html\n" +".endfor\n" +msgstr "" +"html-clean-articles:\n" +".for _lang in ${ARTICLE_LANGS}\n" +"\trm -fr ${.CURDIR}/public/${_lang}/index.html\n" +"\trm -fr ${.CURDIR}/public/${_lang}/articles/index.html\n" +".endfor\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:465 +#, no-wrap +msgid "" +"html-clean-books:\n" +".for _lang in ${BOOK_LANGS}\n" +"\trm -fr ${.CURDIR}/public/${_lang}/books/index.html\n" +".endfor\n" +msgstr "" +"html-clean-books:\n" +".for _lang in ${BOOK_LANGS}\n" +"\trm -fr ${.CURDIR}/public/${_lang}/books/index.html\n" +".endfor\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:475 +#, no-wrap +msgid "" +"html-archive:\n" +".if defined(DOC_HTML_ARCHIVE)\n" +".for _lang in ${ARTICLE_LANGS}\n" +"\t./tools/asciidoctor.sh articles ${_lang} archive\n" +".endfor\n" +".for _lang in ${BOOK_LANGS}\n" +"\t./tools/asciidoctor.sh books ${_lang} archive\n" +".endfor\n" +".endif\n" +msgstr "" +"html-archive:\n" +".if defined(DOC_HTML_ARCHIVE)\n" +".for _lang in ${ARTICLE_LANGS}\n" +"\t./tools/asciidoctor.sh articles ${_lang} archive\n" +".endfor\n" +".for _lang in ${BOOK_LANGS}\n" +"\t./tools/asciidoctor.sh books ${_lang} archive\n" +".endfor\n" +".endif\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:481 +#, no-wrap +msgid "" +"html-archive-clean-files:\n" +".if defined(DOC_HTML_ARCHIVE)\n" +"\tfind ${.CURDIR}/public/ ! -name '*.pdf' ! -name '*.tar.gz' -type f -delete\n" +"\tfind ${.CURDIR}/public/ -type d -empty -delete\n" +".endif\n" +msgstr "" +"html-archive-clean-files:\n" +".if defined(DOC_HTML_ARCHIVE)\n" +"\tfind ${.CURDIR}/public/ ! -name '*.pdf' ! -name '*.tar.gz' -type f -delete\n" +"\tfind ${.CURDIR}/public/ -type d -empty -delete\n" +".endif\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:487 +#, no-wrap +msgid "" +"#\n" +"# EPUB targets\n" +"# Use DOC_LANG to choose the language, e.g., make DOC_LANG=\"en fr\" epub-books\n" +"#\n" +"epub: epub-articles epub-books\n" +msgstr "" +"#\n" +"# EPUB targets\n" +"# Use DOC_LANG to choose the language, e.g., make DOC_LANG=\"en fr\" epub-books\n" +"#\n" +"epub: epub-articles epub-books\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:500 +#, no-wrap +msgid "" +"epub-books: requirements-epub\n" +"\t@echo ---------------------------------------------------------------\n" +"\t@echo !!! EPUB output is experimental !!!\n" +"\t@echo\n" +"\t@echo Asciidoctor EPUB3 is currently alpha software. Use accordingly. Although the\n" +"\t@echo bulk of AsciiDoc content is converted, there’s still work needed to fill in\n" +"\t@echo gaps where conversion is incomplete or unstyled.\n" +"\t@echo https://docs.asciidoctor.org/epub3-converter/latest/#project-status\n" +"\t@echo ---------------------------------------------------------------\n" +".for _lang in ${BOOK_LANGS}\n" +"\t./tools/asciidoctor.sh books ${_lang} epub\n" +".endfor\n" +msgstr "" +"epub-books: requirements-epub\n" +"\t@echo ---------------------------------------------------------------\n" +"\t@echo !!! EPUB output is experimental !!!\n" +"\t@echo\n" +"\t@echo Asciidoctor EPUB3 is currently alpha software. Use accordingly. Although the\n" +"\t@echo bulk of AsciiDoc content is converted, there’s still work needed to fill in\n" +"\t@echo gaps where conversion is incomplete or unstyled.\n" +"\t@echo https://docs.asciidoctor.org/epub3-converter/latest/#project-status\n" +"\t@echo ---------------------------------------------------------------\n" +".for _lang in ${BOOK_LANGS}\n" +"\t./tools/asciidoctor.sh books ${_lang} epub\n" +".endfor\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:513 +#, no-wrap +msgid "" +"epub-articles: requirements-epub\n" +"\t@echo ---------------------------------------------------------------\n" +"\t@echo !!! EPUB output is experimental !!!\n" +"\t@echo\n" +"\t@echo Asciidoctor EPUB3 is currently alpha software. Use accordingly. Although the\n" +"\t@echo bulk of AsciiDoc content is converted, there’s still work needed to fill in\n" +"\t@echo gaps where conversion is incomplete or unstyled.\n" +"\t@echo https://docs.asciidoctor.org/epub3-converter/latest/#project-status\n" +"\t@echo ---------------------------------------------------------------\n" +".for _lang in ${ARTICLE_LANGS}\n" +"\t./tools/asciidoctor.sh articles ${_lang} epub\n" +".endfor\n" +msgstr "" +"epub-articles: requirements-epub\n" +"\t@echo ---------------------------------------------------------------\n" +"\t@echo !!! EPUB output is experimental !!!\n" +"\t@echo\n" +"\t@echo Asciidoctor EPUB3 is currently alpha software. Use accordingly. Although the\n" +"\t@echo bulk of AsciiDoc content is converted, there’s still work needed to fill in\n" +"\t@echo gaps where conversion is incomplete or unstyled.\n" +"\t@echo https://docs.asciidoctor.org/epub3-converter/latest/#project-status\n" +"\t@echo ---------------------------------------------------------------\n" +".for _lang in ${ARTICLE_LANGS}\n" +"\t./tools/asciidoctor.sh articles ${_lang} epub\n" +".endfor\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:515 +#, no-wrap +msgid "epub-clean: epub-articles-clean epub-books-clean\n" +msgstr "epub-clean: epub-articles-clean epub-books-clean\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:522 +#, no-wrap +msgid "" +"epub-books-clean:\n" +".for _lang in ${BOOK_LANGS}\n" +"\trm -fr ${.CURDIR}/public/${_lang}/books\n" +"\t-rmdir ${.CURDIR}/public/${_lang}\n" +".endfor\n" +"\t-rmdir ${.CURDIR}/public/\n" +msgstr "" +"epub-books-clean:\n" +".for _lang in ${BOOK_LANGS}\n" +"\trm -fr ${.CURDIR}/public/${_lang}/books\n" +"\t-rmdir ${.CURDIR}/public/${_lang}\n" +".endfor\n" +"\t-rmdir ${.CURDIR}/public/\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:531 +#, no-wrap +msgid "" +"epub-articles-clean:\n" +".for _lang in ${ARTICLE_LANGS}\n" +"\trm -fr ${.CURDIR}/public/${_lang}/articles\n" +".if !exists(${.CURDIR}/public/${_lang}/books)\n" +"\trm -fr ${.CURDIR}/public/${_lang}\n" +".endif\n" +".endfor\n" +"\t-rmdir ${.CURDIR}/public\n" +msgstr "" +"epub-articles-clean:\n" +".for _lang in ${ARTICLE_LANGS}\n" +"\trm -fr ${.CURDIR}/public/${_lang}/articles\n" +".if !exists(${.CURDIR}/public/${_lang}/books)\n" +"\trm -fr ${.CURDIR}/public/${_lang}\n" +".endif\n" +".endfor\n" +"\t-rmdir ${.CURDIR}/public\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:534 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:656 +msgid "The `MAINTAINER` flag specifies who is the maintainer of this Makefile." +msgstr "" +"Флаг `MAINTAINER` указывает, кто является сопровождающим данного Makefile." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:535 +msgid "" +"`ALL_LANGUAGES` flag specifies in which languages the table of contents has " +"to be generated." +msgstr "" +"Флаг `ALL_LANGUAGES` указывает, на каких языках должно быть сгенерировано " +"оглавление." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:536 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:657 +msgid "`RUBY_CMD` flag specifies the location of the Ruby binary." +msgstr "Флаг `RUBY_CMD` указывает расположение бинарного файла Ruby." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:537 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:658 +msgid "`HUGO_CMD` flag specifies the location of the Hugo binary." +msgstr "`HUGO_CMD` — флаг, указывающий расположение бинарного файла Hugo." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:538 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:659 +msgid "" +"`.ORDER` directives are used to ensure multiple make jobs may run without " +"problem." +msgstr "" +"Директивы `.ORDER` используются для обеспечения беспроблемного выполнения " +"нескольких заданий make." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:539 +msgid "" +"`all` target builds the documentation and puts the result in *~/doc/" +"documentation/public*." +msgstr "" +"Цель `all` собирает документацию и помещает результат в *~/doc/documentation/" +"public*." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:540 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:661 +msgid "" +"`starting-message` shows a message in the CLI to show the user that the " +"process is running." +msgstr "" +"`starting-message` показывает сообщение в CLI, чтобы уведомить пользователя " +"о том, что процесс выполняется." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:541 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:664 +msgid "" +"`run-local` runs hugo webserver on port 1313, or a random free port if that " +"is already in use." +msgstr "" +"`run-local` запускает веб-сервер hugo на порту 1313 или на случайном " +"свободном порту, если указанный порт уже занят." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:542 +msgid "" +"`build` builds the documentation and puts the result in the *~/doc/" +"documentation/public*." +msgstr "" +"`build` собирает документацию и помещает результат в *~/doc/documentation/" +"public*." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:544 +#, no-wrap +msgid "Website Makefile" +msgstr "Makefile в каталоге website" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:547 +msgid "This [.filename]#Makefile# takes the form of:" +msgstr "Этот [.filename]#Makefile# имеет следующий вид:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:564 +#, no-wrap +msgid "" +"# Generate the FreeBSD website\n" +"#\n" +"# Copyright (c) 2020-2025, The FreeBSD Documentation Project\n" +"# Copyright (c) 2020-2025, Sergio Carlavilla <carlavilla@FreeBSD.org>\n" +"#\n" +"# Targets intended for use on the command line\n" +"#\n" +"# all (default)\t-\tgenerate the releases.toml and compile all the website\n" +"# run\t-\t\t\tserves the built website for local browsing\n" +"#\n" +"# The run target uses hugo's built-in webserver to make the built website\n" +"# available for local browsing. The website should have been built prior\n" +"# to attempting to use the `run` target. By default, hugo will start its\n" +"# webserver on port 1313.\n" +msgstr "" +"# Generate the FreeBSD website\n" +"#\n" +"# Copyright (c) 2020-2025, The FreeBSD Documentation Project\n" +"# Copyright (c) 2020-2025, Sergio Carlavilla <carlavilla@FreeBSD.org>\n" +"#\n" +"# Targets intended for use on the command line\n" +"#\n" +"# all (default)\t-\tgenerate the releases.toml and compile all the website\n" +"# run\t-\t\t\tserves the built website for local browsing\n" +"#\n" +"# The run target uses hugo's built-in webserver to make the built website\n" +"# available for local browsing. The website should have been built prior\n" +"# to attempting to use the `run` target. By default, hugo will start its\n" +"# webserver on port 1313.\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:569 +#, no-wrap +msgid "" +"# List of all languages we have content for\n" +"ALL_LANGUAGES=\tde el en es fr hu it ja nl ru tr zh-cn zh-tw\n" +msgstr "" +"# List of all languages we have content for\n" +"ALL_LANGUAGES=\tde el en es fr hu it ja nl ru tr zh-cn zh-tw\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:577 +#, no-wrap +msgid "" +"RUBY_CMD =\t${LOCALBASE}/bin/ruby <.>\n" +"HUGO_CMD =\t${LOCALBASE}/bin/hugo <.>\n" +"HUGO_ARGS?=\t--verbose\n" +"RUBYLIB =\t../shared/lib\n" +".export\tRUBYLIB\n" +msgstr "" +"RUBY_CMD =\t${LOCALBASE}/bin/ruby <.>\n" +"HUGO_CMD =\t${LOCALBASE}/bin/hugo <.>\n" +"HUGO_ARGS?=\t--verbose\n" +"RUBYLIB =\t../shared/lib\n" +".export\tRUBYLIB\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:597 +#, no-wrap +msgid "" +".if defined(DOC_LANG) && !empty(DOC_LANG)\n" +"LANGUAGES= ${DOC_LANG:S/,/ /g}\n" +".if ${LANGUAGES:Men} == \"\"\n" +".warning \"Warning: cannot skip 'en'; adding it back\"\n" +"LANGUAGES+=\ten\n" +".endif\n" +".else\n" +"LANGUAGES=\t${ALL_LANGUAGES}\n" +".endif\n" +msgstr "" +".if defined(DOC_LANG) && !empty(DOC_LANG)\n" +"LANGUAGES= ${DOC_LANG:S/,/ /g}\n" +".if ${LANGUAGES:Men} == \"\"\n" +".warning \"Warning: cannot skip 'en'; adding it back\"\n" +"LANGUAGES+=\ten\n" +".endif\n" +".else\n" +"LANGUAGES=\t${ALL_LANGUAGES}\n" +".endif\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:606 +#, no-wrap +msgid "" +"# Take the list of all languages, and take out the ones we have been\n" +"# asked for via DOC_LANG. We'll feed this to hugo.\n" +"SKIP_LANGS=\n" +".for a in ${ALL_LANGUAGES}\n" +".if ${LANGUAGES:M${a}} == \"\"\n" +"SKIP_LANGS+=\t${a}\n" +".endif\n" +".endfor\n" +msgstr "" +"# Take the list of all languages, and take out the ones we have been\n" +"# asked for via DOC_LANG. We'll feed this to hugo.\n" +"SKIP_LANGS=\n" +".for a in ${ALL_LANGUAGES}\n" +".if ${LANGUAGES:M${a}} == \"\"\n" +"SKIP_LANGS+=\t${a}\n" +".endif\n" +".endfor\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:614 +#, no-wrap +msgid "" +".ORDER: starting-message generate-releases\n" +".ORDER: starting-message build\n" +".ORDER: generate-releases build\n" +".ORDER: build post-build\n" +".ORDER: post-build end-message\n" +msgstr "" +".ORDER: starting-message generate-releases\n" +".ORDER: starting-message build\n" +".ORDER: generate-releases build\n" +".ORDER: build post-build\n" +".ORDER: post-build end-message\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:618 +#, no-wrap +msgid "" +"all: starting-message generate-releases build post-build end-message <.>\n" +"run: starting-message generate-releases run-local\n" +"clean: hugo-clean releases-clean\n" +msgstr "" +"all: starting-message generate-releases build post-build end-message <.>\n" +"run: starting-message generate-releases run-local\n" +"clean: hugo-clean releases-clean\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:625 +#, no-wrap +msgid "" +"starting-message: .PHONY <.>\n" +"\t@echo \"---------------------------------------------------------------\"\n" +"\t@echo \"Building the website started on $$(date)\"\n" +"\t@echo \" included languages: ${LANGUAGES}\"\n" +"\t@echo \" excluded languages: ${SKIP_LANGS}\"\n" +"\t@echo \"---------------------------------------------------------------\"\n" +msgstr "" +"starting-message: .PHONY <.>\n" +"\t@echo \"---------------------------------------------------------------\"\n" +"\t@echo \"Building the website started on $$(date)\"\n" +"\t@echo \" included languages: ${LANGUAGES}\"\n" +"\t@echo \" excluded languages: ${SKIP_LANGS}\"\n" +"\t@echo \"---------------------------------------------------------------\"\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:630 +#, no-wrap +msgid "" +"end-message: .PHONY\n" +"\t@echo \"---------------------------------------------------------------\"\n" +"\t@echo \"Building the website completed on $$(date)\"\n" +"\t@echo \"---------------------------------------------------------------\"\n" +msgstr "" +"end-message: .PHONY\n" +"\t@echo \"---------------------------------------------------------------\"\n" +"\t@echo \"Building the website completed on $$(date)\"\n" +"\t@echo \"---------------------------------------------------------------\"\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:632 +#, no-wrap +msgid "generate-releases: data/releases.toml <.>\n" +msgstr "generate-releases: data/releases.toml <.>\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:635 +#, no-wrap +msgid "" +"data/releases.toml:\n" +"\t${RUBY_CMD} ./tools/releases-toml.rb\n" +msgstr "" +"data/releases.toml:\n" +"\t${RUBY_CMD} ./tools/releases-toml.rb\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:639 +#, no-wrap +msgid "" +"run-local: .PHONY <.>\n" +"\tHUGO_DISABLELANGUAGES=\"${SKIP_LANGS}\" ${HUGO_CMD} server \\\n" +"\t ${HUGO_ARGS} -D $(BIND:D--bind=$(BIND)) --baseURL=\"http://$(.HOST):1313\"\n" +msgstr "" +"run-local: .PHONY <.>\n" +"\tHUGO_DISABLELANGUAGES=\"${SKIP_LANGS}\" ${HUGO_CMD} server \\\n" +"\t ${HUGO_ARGS} -D $(BIND:D--bind=$(BIND)) --baseURL=\"http://$(.HOST):1313\"\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:644 +#, no-wrap +msgid "post-build: cgi-permissions\n" +msgstr "post-build: cgi-permissions\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:647 +#, no-wrap +msgid "" +"cgi-permissions:\n" +"\t@chmod 555 ./public/cgi/*.cgi\n" +msgstr "" +"cgi-permissions:\n" +"\t@chmod 555 ./public/cgi/*.cgi\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:650 +#, no-wrap +msgid "" +"hugo-clean:\n" +"\trm -fr public resources\n" +msgstr "" +"hugo-clean:\n" +"\trm -fr public resources\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:653 +#, no-wrap +msgid "" +"releases-clean:\n" +"\trm -f data/releases.toml\n" +msgstr "" +"releases-clean:\n" +"\trm -f data/releases.toml\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:660 +msgid "" +"`all` target builds the website and puts the result in *~/doc/website/" +"public*." +msgstr "" +"Цель `all` собирает веб-сайт и помещает результат в *~/doc/website/public*." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:663 +msgid "" +"`generate-releases` calls the script used to convert from AsciiDoc variables " +"to TOML variables. With this conversion, the releases variables can be used " +"in AsciiDoc and in the Hugo custom templates." +msgstr "" +"`generate-releases` вызывает скрипт, используемый для преобразования " +"переменных AsciiDoc в переменные TOML. После этого преобразования переменные " +"релизов можно использовать как в AsciiDoc, так и в пользовательских шаблонах " +"Hugo." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:664 +msgid "" +"`build` builds the website and puts the result in the *~/doc/website/public*." +msgstr "" +"`build` собирает веб-сайт и помещает результат в *~/doc/website/public*." diff --git a/documentation/content/ru/books/fdp-primer/editor-config/_index.adoc b/documentation/content/ru/books/fdp-primer/editor-config/_index.adoc new file mode 100644 index 0000000000..7c95bf0bee --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/editor-config/_index.adoc @@ -0,0 +1,323 @@ +--- +description: 'Конфигурация, используемая в текстовых редакторах в проекте документации FreeBSD' +next: books/fdp-primer/trademarks +params: + path: /books/fdp-primer/editor-config/ +prev: books/fdp-primer/writing-style +showBookMenu: true +tags: ["editor", "configuration", "vim", "emacs", "FreeBSD"] +title: 'Глава 13. Настройка редактора' +weight: 13 +--- + +[[editor-config]] += Настройка редактора +:doctype: book +:toc: macro +:toclevels: 1 +:icons: font +:sectnums: +:sectnumlevels: 6 +:sectnumoffset: 13 +:partnums: +:source-highlighter: rouge +:experimental: +:images-path: books/fdp-primer/ + +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::[] + +Настройка конфигурации текстового редактора может ускорить и упростить работу с документами, а также помочь им соответствовать рекомендациям FDP. + +[[editor-config-vim]] +== Vim + +Установите из package:editors/vim[], затем следуйте инструкциям по настройке в разделе crossref:editor-config[editor-config-vim-config,Конфигурация]. Более опытные пользователи могут использовать полноценный линтер, например link:https://github.com/dense-analysis/ale[Ale], который также может работать как клиент link:https://langserver.org/[Language Server Protocol] для Vim. + +[[editor-config-vim-use]] +=== Использование + +Создатели страниц Справочника могут использовать следующие сочетания клавиш для переформатирования: + +* Нажмите kbd:[P], чтобы переформатировать абзацы или выделенный текст в режиме Visual. +* Нажмите kbd:[T], чтобы заменить группы из восьми пробелов на табуляцию. + +В документацию добавлен линтер link:https://vale.sh[Vale] для проверки грамматических и стилистических ошибок. Vale поддерживает различные редакторы и IDE. + +Vale может быть уже установлен как зависимость мета-порта package:textproc/docproj[]. Если нет, установите package:textproc/vale[] с помощью: + +[source, console] +.... +$ pkg install vale +.... + +Установите link:https://github.com/dense-analysis/ale[Ale] для интеграции в package:editors/vim[], чтобы использовать package:textproc/vale[]. + +[source, console?prompt=%] +.... +% mkdir -p ~/.vim/pack/vendor/start +% git clone --depth 1 https://github.com/dense-analysis/ale.git ~/.vim/pack/vendor/start/ale +.... + +Пользователи, использующие менеджеры плагинов для package:editors/vim[], не нуждаются в вышеописанном и должны следовать инструкциям своего менеджера плагинов для установки link:https://github.com/dense-analysis/ale[Ale]. + +В данный момент из-за ошибки в link:https://vale.sh[Vale] необходимо скопировать конфигурацию link:https://vale.sh[Vale] в домашний каталог. Учитывая, что репозиторий был склонирован в [.filename]#~/doc#, скопируйте следующим образом: + +[source, console?prompt=%] +.... +% cp -R ~/doc/.vale* ~/ +.... + +[[editor-config-vim-config]] +=== Конфигурация + +Отредактируйте файл [.filename]#~/.vimrc#, добавив следующие строки в конец файла: + +[source.programlisting, viml] +.`~/.vimrc` +.... +if has("autocmd") + au BufNewFile,BufRead *.adoc call Set_ADOC() + au BufNewFile,BufRead *.[1-9] call Set_MAN() +endif " has(autocmd) + +function Set_Highlights() + "match ExtraWhitespace /^\s* \s*\|\s\+$/ + return 0 +endfunction " Set_Highlights_Adoc() + +function Set_Highlights_MAN() + highlight default link OverLength ErrorMsg + match OverLength /\%71v.\+/ + return 0 +endfunction " Set_Highlights_MAN() + +function ShowSpecial() + setlocal list listchars=tab:>>,trail:*,eol:$ + hi def link nontext ErrorMsg + return 0 +endfunction " ShowSpecial() + +function Set_COMMON() + setlocal number + setlocal shiftwidth=2 + setlocal tabstop=8 + setlocal softtabstop=2 + setlocal formatprg="fmt -p" + setlocal autoindent + setlocal smartindent + call ShowSpecial() + call Set_Highlights() + return 0 +endfunction " Set_COMMON() + +function Set_ADOC() + setlocal syntax=asciidoc + setlocal filetype=asciidoc + call Set_COMMON() + return 0 +endfunction " Set_ADOC() + +function Set_MAN() + setlocal syntax=man + setlocal filetype=man + setlocal textwidth=70 + " Rewrap paragraphs + noremap P gqj + " Replace spaces with tabs + noremap T :s/ /\t/<CR> + call Set_COMMON() + call Set_Highlights_MAN() + return 0 +endfunction " Set_Man() + +let g:ale_fixers = { +\ '*': ['remove_trailing_lines', 'trim_whitespace'], +\} +let g:ale_linters = { +\ 'asciidoc': ['vale'], +\} +let g:ale_fix_on_save = 1 +.... + +[IMPORTANT] +====== +Приведённая выше конфигурация автоматически удалит конечную строку, конечные пробелы и множественные пробелы, которые могут отображать дополнительные нежелательные изменения в выводе `git diff`. В таких случаях обязательно укажите это в сообщении коммита. +====== + +[[editor-config-emacs]] +== Emacs + +Установка из package:editors/emacs[] или package:editors/emacs-devel[]. + +[[editor-config-emacs-igor]] +=== Автоматизированная проверка правописания с Flycheck и Igor + +Пакет link:https://www.flycheck.org/[Flycheck] доступен из link:https://melpa.org/[Milkypostman's Emacs Lisp Package Archive] (MELPA). Если MELPA ещё не добавлен в packages-archives Emacs, его можно добавить, выполнив + +[source, emacs-lisp] +.... +(add-to-list 'package-archives '("melpa" . "http://stable.melpa.org/packages/") t) +.... + +Добавьте строку в файл инициализации Emacs (один из [.filename]#~/.emacs#, [.filename]#~/.emacs.el# или [.filename]#~/.emacs.d/init.el#), чтобы сделать это изменение постоянным. + +Для установки Flycheck выполните + +[source, emacs-lisp] +.... +(package-install 'flycheck) +.... + +Создайте проверяющий модуль Flycheck для package:textproc/igor[] с помощью выполнения + +[source, emacs-lisp] +.... +(flycheck-define-checker igor + "FreeBSD Documentation Project sanity checker. + +See URLs https://www.freebsd.org/docproj/ and +http://www.freshports.org/textproc/igor/." + :command ("igor" "-X" source-inplace) + :error-parser flycheck-parse-checkstyle + :modes (nxml-mode) + :standard-input t) + + (add-to-list 'flycheck-checkers 'igor 'append) +.... + +Еще раз, добавьте эти строки в файл инициализации Emacs, чтобы изменения стали постоянными. + +[[editor-config-emacs-specifc]] +=== Специфичные настройки документации FreeBSD + +Чтобы применить настройки, специфичные для проекта документации FreeBSD, создайте файл [.filename]#.dir-locals.el# в корневом каталоге репозитория документации и добавьте в него следующие строки: + +[source, emacs-lisp] +.... +;;; Directory Local Variables +;;; For more information see (info "(emacs) Directory Variables") + +((nxml-mode + (eval . (turn-on-auto-fill)) + (fill-column . 70) + (eval . (require 'flycheck)) + (eval . (flycheck-mode 1)) + (flycheck-checker . igor) + (eval . (add-to-list 'rng-schema-locating-files "~/.emacs.d/schema/schemas.xml")))) +.... + +[[editor-config-nano]] +== nano + +Установка из package:editors/nano[]. + +[[editor-config-nano-config]] +=== Конфигурация + +В текущей версии nano нет файла подсветки синтаксиса для adoc/asciidoc. Поэтому создадим его с нуля, используя текстовый редактор для создания нового файла или добавления строк в [.filename]#~/.nanorc# со следующим содержимым: + +[source] +.`~/.nanorc` +.... +syntax "asciidoc" "\.(adoc|asc|asciidoc)$" +# main header +color red "^====+$" +# h1 +color red "^==[[:space:]].*$" +color red "^----+$" +# h2 +color magenta "^===[[:space:]].*$" +color magenta "^~~~~+$" +# h4 +color green "^====[[:space:]].*$" +color green "^\^\^\^\^+$" +# h5 +color brightblue "^=====[[:space:]].*$" +color brightblue "^\+\+\+\++$" +# attributes +color brightgreen ":.*:" +color brightred "\{[a-z0-9]*\}" +color red "\\\{[a-z0-9]*\}" +color red "\+\+\+\{[a-z0-9]*\}\+\+\+" +# Paragraph Title +color yellow "^\..*$" +# source +color magenta "^\[(source,.+|NOTE|TIP|IMPORTANT|WARNING|CAUTION)\]" +# Other markup +color yellow ".*[[:space:]]\+$" +color yellow "_[^_]+_" +color yellow "\*[^\*]+\*" +color yellow "\+[^\+]+\+" +color yellow "`[^`]+`" +color yellow "\^[^\^]+\^" +color yellow "~[^~]+~" +color yellow "'[^']+'" +color cyan "`{1,2}[^']+'{1,2}" +# bullets +color brightmagenta "^[[:space:]]*[\*\.-]{1,5}[[:space:]]" +# anchors +color brightwhite "\[\[.*\]\]" +color brightwhite "<<.*>>" +# trailing whitespace +color ,blue "[[:space:]]+$" +# multiples of eight spaces at the start a line +# (after zero or more tabs) should be a tab +color ,blue "^([TAB]*[ ]{8})+" +# tabs after spaces +color ,yellow "( )+TAB" +# highlight indents that have an odd number of spaces +color ,red "^(([ ]{2})+|(TAB+))*[ ]{1}[^ ]{1}" +.... + +Обработать файл для создания встроенных табуляций: + +[source, console?prompt=%] +.... +% perl -i'' -pe 's/TAB/\t/g' ~/.nanorc +.... + +[[editor-config-nano-use]] +=== Использование + +Укажите дополнительные полезные опции при запуске редактора: + +[source, console?prompt=%] +.... +% nano -AKipwz -T8 _index.adoc +.... + +Пользователи man:csh[1] могут определить алиас в [.filename]#~/.cshrc#, чтобы автоматизировать эти параметры: + +[source, shell] +.... +alias nano "nano -AKipwz -r 70 -T8" +.... + +После определения псевдонима параметры будут добавлены автоматически: + +[source, console?prompt=%] +.... +% nano _index.adoc +.... diff --git a/documentation/content/ru/books/fdp-primer/editor-config/_index.po b/documentation/content/ru/books/fdp-primer/editor-config/_index.po new file mode 100644 index 0000000000..3d65adbf1e --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/editor-config/_index.po @@ -0,0 +1,697 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR The FreeBSD Project +# This file is distributed under the same license as the FreeBSD Documentation package. +# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025. +msgid "" +msgstr "" +"Project-Id-Version: FreeBSD Documentation VERSION\n" +"POT-Creation-Date: 2025-09-20 14:02+0300\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/" +"documentation/booksfdp-primereditor-config_index/ru/>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.17\n" + +#. type: Yaml Front Matter Hash Value: description +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:1 +#, no-wrap +msgid "Configuration used in the texts editors in the FreeBSD Documentation Project" +msgstr "Конфигурация, используемая в текстовых редакторах в проекте документации FreeBSD" + +#. type: Yaml Front Matter Hash Value: title +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:1 +#, no-wrap +msgid "Chapter 13. Editor Configuration" +msgstr "Глава 13. Настройка редактора" + +#. type: Title = +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:14 +#, no-wrap +msgid "Editor Configuration" +msgstr "Настройка редактора" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:52 +msgid "" +"Adjusting your text editor configuration can make working on document files " +"quicker and easier, and help documents conform to FDP guidelines." +msgstr "" +"Настройка конфигурации текстового редактора может ускорить и упростить " +"работу с документами, а также помочь им соответствовать рекомендациям FDP." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:54 +#, no-wrap +msgid "Vim" +msgstr "Vim" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:58 +msgid "" +"Install from package:editors/vim[], then follow the configuration " +"instructions in crossref:editor-config[editor-config-vim-config, " +"Configuration]. More advanced users can use a proper linter like " +"link:https://github.com/dense-analysis/ale[Ale] which can also act as a Vim " +"link:https://langserver.org/[Language Server Protocol] client." +msgstr "" +"Установите из package:editors/vim[], затем следуйте инструкциям по настройке " +"в разделе crossref:editor-config[editor-config-vim-config,Конфигурация]. " +"Более опытные пользователи могут использовать полноценный линтер, например " +"link:https://github.com/dense-analysis/ale[Ale], который также может " +"работать как клиент link:https://langserver.org/[Language Server Protocol] " +"для Vim." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:60 +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:309 +#, no-wrap +msgid "Use" +msgstr "Использование" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:63 +msgid "" +"Manual page writers can use the following keyboard shortcuts to reformat:" +msgstr "" +"Создатели страниц Справочника могут использовать следующие сочетания клавиш " +"для переформатирования:" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:65 +msgid "" +"Press kbd:[P] to reformat paragraphs or text that has been selected in " +"Visual mode." +msgstr "" +"Нажмите kbd:[P], чтобы переформатировать абзацы или выделенный текст в " +"режиме Visual." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:66 +msgid "Press kbd:[T] to replace groups of eight spaces with a tab." +msgstr "" +"Нажмите kbd:[T], чтобы заменить группы из восьми пробелов на табуляцию." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:69 +msgid "" +"A linter named link:https://vale.sh[Vale] has been introduced to check " +"grammatical and cosmetic errors on the documents. Vale has support for " +"various editors and IDEs." +msgstr "" +"В документацию добавлен линтер link:https://vale.sh[Vale] для проверки " +"грамматических и стилистических ошибок. Vale поддерживает различные " +"редакторы и IDE." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:72 +msgid "" +"Vale may already be installed as a dependency of the package:textproc/" +"docproj[] meta-port. If not, install package:textproc/vale[] with:" +msgstr "" +"Vale может быть уже установлен как зависимость мета-порта package:textproc/" +"docproj[]. Если нет, установите package:textproc/vale[] с помощью:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:76 +#, no-wrap +msgid "$ pkg install vale\n" +msgstr "$ pkg install vale\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:79 +msgid "" +"Install link:https://github.com/dense-analysis/ale[Ale] to integrate into " +"package:editors/vim[], for using package:textproc/vale[]." +msgstr "" +"Установите link:https://github.com/dense-analysis/ale[Ale] для интеграции в " +"package:editors/vim[], чтобы использовать package:textproc/vale[]." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:84 +#, no-wrap +msgid "" +"% mkdir -p ~/.vim/pack/vendor/start\n" +"% git clone --depth 1 https://github.com/dense-analysis/ale.git ~/.vim/pack/vendor/start/ale\n" +msgstr "" +"% mkdir -p ~/.vim/pack/vendor/start\n" +"% git clone --depth 1 https://github.com/dense-analysis/ale.git ~/.vim/pack/vendor/start/ale\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:87 +msgid "" +"Users who are using plugin managers for package:editors/vim[] do not need " +"the above and should follow the instructions of that plugin manager to " +"install link:https://github.com/dense-analysis/ale[Ale]." +msgstr "" +"Пользователи, использующие менеджеры плагинов для package:editors/vim[], не " +"нуждаются в вышеописанном и должны следовать инструкциям своего менеджера " +"плагинов для установки link:https://github.com/dense-analysis/ale[Ale]." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:90 +msgid "" +"At this moment due to a bug in link:https://vale.sh[Vale] it is necessary to " +"copy the link:https://vale.sh[Vale] configuration to the home directory. " +"Considering the repository was cloned into [.filename]#~/doc# copy as " +"following:" +msgstr "" +"В данный момент из-за ошибки в link:https://vale.sh[Vale] необходимо " +"скопировать конфигурацию link:https://vale.sh[Vale] в домашний каталог. " +"Учитывая, что репозиторий был склонирован в [.filename]#~/doc#, скопируйте " +"следующим образом:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:94 +#, no-wrap +msgid "% cp -R ~/doc/.vale* ~/\n" +msgstr "% cp -R ~/doc/.vale* ~/\n" + +#. type: Title === +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:97 +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:243 +#, no-wrap +msgid "Configuration" +msgstr "Конфигурация" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:100 +msgid "Edit [.filename]#~/.vimrc#, adding these lines to the end of the file:" +msgstr "" +"Отредактируйте файл [.filename]#~/.vimrc#, добавив следующие строки в конец " +"файла:" + +#. type: Block title +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:102 +#, no-wrap +msgid "`~/.vimrc`" +msgstr "`~/.vimrc`" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:108 +#, no-wrap +msgid "" +"if has(\"autocmd\")\n" +" au BufNewFile,BufRead *.adoc call Set_ADOC()\n" +" au BufNewFile,BufRead *.[1-9] call Set_MAN()\n" +"endif \" has(autocmd)\n" +msgstr "" +"if has(\"autocmd\")\n" +" au BufNewFile,BufRead *.adoc call Set_ADOC()\n" +" au BufNewFile,BufRead *.[1-9] call Set_MAN()\n" +"endif \" has(autocmd)\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:113 +#, no-wrap +msgid "" +"function Set_Highlights()\n" +" \"match ExtraWhitespace /^\\s* \\s*\\|\\s\\+$/\n" +" return 0\n" +"endfunction \" Set_Highlights_Adoc()\n" +msgstr "" +"function Set_Highlights()\n" +" \"match ExtraWhitespace /^\\s* \\s*\\|\\s\\+$/\n" +" return 0\n" +"endfunction \" Set_Highlights_Adoc()\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:119 +#, no-wrap +msgid "" +"function Set_Highlights_MAN()\n" +" highlight default link OverLength ErrorMsg\n" +" match OverLength /\\%71v.\\+/\n" +" return 0\n" +"endfunction \" Set_Highlights_MAN()\n" +msgstr "" +"function Set_Highlights_MAN()\n" +" highlight default link OverLength ErrorMsg\n" +" match OverLength /\\%71v.\\+/\n" +" return 0\n" +"endfunction \" Set_Highlights_MAN()\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:125 +#, no-wrap +msgid "" +"function ShowSpecial()\n" +" setlocal list listchars=tab:>>,trail:*,eol:$\n" +" hi def link nontext ErrorMsg\n" +" return 0\n" +"endfunction \" ShowSpecial()\n" +msgstr "" +"function ShowSpecial()\n" +" setlocal list listchars=tab:>>,trail:*,eol:$\n" +" hi def link nontext ErrorMsg\n" +" return 0\n" +"endfunction \" ShowSpecial()\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:138 +#, no-wrap +msgid "" +"function Set_COMMON()\n" +" setlocal number\n" +" setlocal shiftwidth=2\n" +" setlocal tabstop=8\n" +" setlocal softtabstop=2\n" +" setlocal formatprg=\"fmt -p\"\n" +" setlocal autoindent\n" +" setlocal smartindent\n" +" call ShowSpecial()\n" +" call Set_Highlights()\n" +" return 0\n" +"endfunction \" Set_COMMON()\n" +msgstr "" +"function Set_COMMON()\n" +" setlocal number\n" +" setlocal shiftwidth=2\n" +" setlocal tabstop=8\n" +" setlocal softtabstop=2\n" +" setlocal formatprg=\"fmt -p\"\n" +" setlocal autoindent\n" +" setlocal smartindent\n" +" call ShowSpecial()\n" +" call Set_Highlights()\n" +" return 0\n" +"endfunction \" Set_COMMON()\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:145 +#, no-wrap +msgid "" +"function Set_ADOC()\n" +" setlocal syntax=asciidoc\n" +" setlocal filetype=asciidoc\n" +" call Set_COMMON()\n" +" return 0\n" +"endfunction \" Set_ADOC()\n" +msgstr "" +"function Set_ADOC()\n" +" setlocal syntax=asciidoc\n" +" setlocal filetype=asciidoc\n" +" call Set_COMMON()\n" +" return 0\n" +"endfunction \" Set_ADOC()\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:158 +#, no-wrap +msgid "" +"function Set_MAN()\n" +" setlocal syntax=man\n" +" setlocal filetype=man\n" +" setlocal textwidth=70\n" +" \" Rewrap paragraphs\n" +" noremap P gqj\n" +" \" Replace spaces with tabs\n" +" noremap T :s/ /\\t/<CR>\n" +" call Set_COMMON()\n" +" call Set_Highlights_MAN()\n" +" return 0\n" +"endfunction \" Set_Man()\n" +msgstr "" +"function Set_MAN()\n" +" setlocal syntax=man\n" +" setlocal filetype=man\n" +" setlocal textwidth=70\n" +" \" Rewrap paragraphs\n" +" noremap P gqj\n" +" \" Replace spaces with tabs\n" +" noremap T :s/ /\\t/<CR>\n" +" call Set_COMMON()\n" +" call Set_Highlights_MAN()\n" +" return 0\n" +"endfunction \" Set_Man()\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:166 +#, no-wrap +msgid "" +"let g:ale_fixers = {\n" +"\\ '*': ['remove_trailing_lines', 'trim_whitespace'],\n" +"\\}\n" +"let g:ale_linters = {\n" +"\\ 'asciidoc': ['vale'],\n" +"\\}\n" +"let g:ale_fix_on_save = 1\n" +msgstr "" +"let g:ale_fixers = {\n" +"\\ '*': ['remove_trailing_lines', 'trim_whitespace'],\n" +"\\}\n" +"let g:ale_linters = {\n" +"\\ 'asciidoc': ['vale'],\n" +"\\}\n" +"let g:ale_fix_on_save = 1\n" + +#. type: delimited block = 6 +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:172 +msgid "" +"Above configuration will automatically remove trailing line, trailing space " +"and multiple spaces which might display additional unwanted changes in `git " +"diff` output. In such cases properly mention that in the commit log." +msgstr "" +"Приведённая выше конфигурация автоматически удалит конечную строку, конечные " +"пробелы и множественные пробелы, которые могут отображать дополнительные " +"нежелательные изменения в выводе `git diff`. В таких случаях обязательно " +"укажите это в сообщении коммита." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:175 +#, no-wrap +msgid "Emacs" +msgstr "Emacs" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:178 +msgid "Install from package:editors/emacs[] or package:editors/emacs-devel[]." +msgstr "" +"Установка из package:editors/emacs[] или package:editors/emacs-devel[]." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:180 +#, no-wrap +msgid "Automated Proofreading with Flycheck and Igor" +msgstr "Автоматизированная проверка правописания с Flycheck и Igor" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:184 +msgid "" +"The link:https://www.flycheck.org/[Flycheck] package is available from " +"link:https://melpa.org/[Milkypostman's Emacs Lisp Package Archive] (MELPA). " +"If MELPA is not already in Emacs's packages-archives, it can be added by " +"evaluating" +msgstr "" +"Пакет link:https://www.flycheck.org/[Flycheck] доступен из link:https://" +"melpa.org/[Milkypostman's Emacs Lisp Package Archive] (MELPA). Если MELPA " +"ещё не добавлен в packages-archives Emacs, его можно добавить, выполнив" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:188 +#, no-wrap +msgid "(add-to-list 'package-archives '(\"melpa\" . \"http://stable.melpa.org/packages/\") t)\n" +msgstr "(add-to-list 'package-archives '(\"melpa\" . \"http://stable.melpa.org/packages/\") t)\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:191 +msgid "" +"Add the line to Emacs's initialization file (one of [.filename]#~/.emacs#, " +"[.filename]#~/.emacs.el#, or [.filename]#~.emacs.d/init.el#) to make this " +"change permanent." +msgstr "" +"Добавьте строку в файл инициализации Emacs (один из [.filename]#~/.emacs#, " +"[.filename]#~/.emacs.el# или [.filename]#~/.emacs.d/init.el#), чтобы сделать " +"это изменение постоянным." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:193 +msgid "To install Flycheck, evaluate" +msgstr "Для установки Flycheck выполните" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:197 +#, no-wrap +msgid "(package-install 'flycheck)\n" +msgstr "(package-install 'flycheck)\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:200 +msgid "Create a Flycheck checker for package:textproc/igor[] by evaluating" +msgstr "" +"Создайте проверяющий модуль Flycheck для package:textproc/igor[] с помощью " +"выполнения" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:205 +#, no-wrap +msgid "" +"(flycheck-define-checker igor\n" +" \"FreeBSD Documentation Project sanity checker.\n" +msgstr "" +"(flycheck-define-checker igor\n" +" \"FreeBSD Documentation Project sanity checker.\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:212 +#, no-wrap +msgid "" +"See URLs https://www.freebsd.org/docproj/ and\n" +"http://www.freshports.org/textproc/igor/.\"\n" +" :command (\"igor\" \"-X\" source-inplace)\n" +" :error-parser flycheck-parse-checkstyle\n" +" :modes (nxml-mode)\n" +" :standard-input t)\n" +msgstr "" +"See URLs https://www.freebsd.org/docproj/ and\n" +"http://www.freshports.org/textproc/igor/.\"\n" +" :command (\"igor\" \"-X\" source-inplace)\n" +" :error-parser flycheck-parse-checkstyle\n" +" :modes (nxml-mode)\n" +" :standard-input t)\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:214 +#, no-wrap +msgid " (add-to-list 'flycheck-checkers 'igor 'append)\n" +msgstr " (add-to-list 'flycheck-checkers 'igor 'append)\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:217 +msgid "" +"Again, add these lines to Emacs's initialization file to make the changes " +"permanent." +msgstr "" +"Еще раз, добавьте эти строки в файл инициализации Emacs, чтобы изменения " +"стали постоянными." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:219 +#, no-wrap +msgid "FreeBSD Documentation Specific Settings" +msgstr "Специфичные настройки документации FreeBSD" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:222 +msgid "" +"To apply settings specific to the FreeBSD documentation project, create " +"[.filename]#.dir-locals.el# in the root directory of the documentation " +"repository and add these lines to the file:" +msgstr "" +"Чтобы применить настройки, специфичные для проекта документации FreeBSD, " +"создайте файл [.filename]#.dir-locals.el# в корневом каталоге репозитория " +"документации и добавьте в него следующие строки:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:227 +#, no-wrap +msgid "" +";;; Directory Local Variables\n" +";;; For more information see (info \"(emacs) Directory Variables\")\n" +msgstr "" +";;; Directory Local Variables\n" +";;; For more information see (info \"(emacs) Directory Variables\")\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:235 +#, no-wrap +msgid "" +"((nxml-mode\n" +" (eval . (turn-on-auto-fill))\n" +" (fill-column . 70)\n" +" (eval . (require 'flycheck))\n" +" (eval . (flycheck-mode 1))\n" +" (flycheck-checker . igor)\n" +" (eval . (add-to-list 'rng-schema-locating-files \"~/.emacs.d/schema/schemas.xml\"))))\n" +msgstr "" +"((nxml-mode\n" +" (eval . (turn-on-auto-fill))\n" +" (fill-column . 70)\n" +" (eval . (require 'flycheck))\n" +" (eval . (flycheck-mode 1))\n" +" (flycheck-checker . igor)\n" +" (eval . (add-to-list 'rng-schema-locating-files \"~/.emacs.d/schema/schemas.xml\"))))\n" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:238 +#, no-wrap +msgid "nano" +msgstr "nano" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:241 +msgid "Install from package:editors/nano[]." +msgstr "Установка из package:editors/nano[]." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:247 +msgid "" +"Currently there is no adoc/asciidoc syntax highlight file with nano " +"distribution. So let's create one from scratch and use an editor to create " +"new file or add lines in the [.filename]#~/.nanorc# with these contents:" +msgstr "" +"В текущей версии nano нет файла подсветки синтаксиса для adoc/asciidoc. " +"Поэтому создадим его с нуля, используя текстовый редактор для создания " +"нового файла или добавления строк в [.filename]#~/.nanorc# со следующим " +"содержимым:" + +#. type: Block title +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:249 +#, no-wrap +msgid "`~/.nanorc`" +msgstr "`~/.nanorc`" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:299 +#, no-wrap +msgid "" +"syntax \"asciidoc\" \"\\.(adoc|asc|asciidoc)$\"\n" +"# main header\n" +"color red \"^====+$\"\n" +"# h1\n" +"color red \"^==[[:space:]].*$\"\n" +"color red \"^----+$\"\n" +"# h2\n" +"color magenta \"^===[[:space:]].*$\"\n" +"color magenta \"^~~~~+$\"\n" +"# h4\n" +"color green \"^====[[:space:]].*$\"\n" +"color green \"^\\^\\^\\^\\^+$\"\n" +"# h5\n" +"color brightblue \"^=====[[:space:]].*$\"\n" +"color brightblue \"^\\+\\+\\+\\++$\"\n" +"# attributes\n" +"color brightgreen \":.*:\"\n" +"color brightred \"\\{[a-z0-9]*\\}\"\n" +"color red \"\\\\\\{[a-z0-9]*\\}\"\n" +"color red \"\\+\\+\\+\\{[a-z0-9]*\\}\\+\\+\\+\"\n" +"# Paragraph Title\n" +"color yellow \"^\\..*$\"\n" +"# source\n" +"color magenta \"^\\[(source,.+|NOTE|TIP|IMPORTANT|WARNING|CAUTION)\\]\"\n" +"# Other markup\n" +"color yellow \".*[[:space:]]\\+$\"\n" +"color yellow \"_[^_]+_\"\n" +"color yellow \"\\*[^\\*]+\\*\"\n" +"color yellow \"\\+[^\\+]+\\+\"\n" +"color yellow \"`[^`]+`\"\n" +"color yellow \"\\^[^\\^]+\\^\"\n" +"color yellow \"~[^~]+~\"\n" +"color yellow \"'[^']+'\"\n" +"color cyan \"`{1,2}[^']+'{1,2}\"\n" +"# bullets\n" +"color brightmagenta \"^[[:space:]]*[\\*\\.-]{1,5}[[:space:]]\"\n" +"# anchors\n" +"color brightwhite \"\\[\\[.*\\]\\]\"\n" +"color brightwhite \"<<.*>>\"\n" +"# trailing whitespace\n" +"color ,blue \"[[:space:]]+$\"\n" +"# multiples of eight spaces at the start a line\n" +"# (after zero or more tabs) should be a tab\n" +"color ,blue \"^([TAB]*[ ]{8})+\"\n" +"# tabs after spaces\n" +"color ,yellow \"( )+TAB\"\n" +"# highlight indents that have an odd number of spaces\n" +"color ,red \"^(([ ]{2})+|(TAB+))*[ ]{1}[^ ]{1}\"\n" +msgstr "" +"syntax \"asciidoc\" \"\\.(adoc|asc|asciidoc)$\"\n" +"# main header\n" +"color red \"^====+$\"\n" +"# h1\n" +"color red \"^==[[:space:]].*$\"\n" +"color red \"^----+$\"\n" +"# h2\n" +"color magenta \"^===[[:space:]].*$\"\n" +"color magenta \"^~~~~+$\"\n" +"# h4\n" +"color green \"^====[[:space:]].*$\"\n" +"color green \"^\\^\\^\\^\\^+$\"\n" +"# h5\n" +"color brightblue \"^=====[[:space:]].*$\"\n" +"color brightblue \"^\\+\\+\\+\\++$\"\n" +"# attributes\n" +"color brightgreen \":.*:\"\n" +"color brightred \"\\{[a-z0-9]*\\}\"\n" +"color red \"\\\\\\{[a-z0-9]*\\}\"\n" +"color red \"\\+\\+\\+\\{[a-z0-9]*\\}\\+\\+\\+\"\n" +"# Paragraph Title\n" +"color yellow \"^\\..*$\"\n" +"# source\n" +"color magenta \"^\\[(source,.+|NOTE|TIP|IMPORTANT|WARNING|CAUTION)\\]\"\n" +"# Other markup\n" +"color yellow \".*[[:space:]]\\+$\"\n" +"color yellow \"_[^_]+_\"\n" +"color yellow \"\\*[^\\*]+\\*\"\n" +"color yellow \"\\+[^\\+]+\\+\"\n" +"color yellow \"`[^`]+`\"\n" +"color yellow \"\\^[^\\^]+\\^\"\n" +"color yellow \"~[^~]+~\"\n" +"color yellow \"'[^']+'\"\n" +"color cyan \"`{1,2}[^']+'{1,2}\"\n" +"# bullets\n" +"color brightmagenta \"^[[:space:]]*[\\*\\.-]{1,5}[[:space:]]\"\n" +"# anchors\n" +"color brightwhite \"\\[\\[.*\\]\\]\"\n" +"color brightwhite \"<<.*>>\"\n" +"# trailing whitespace\n" +"color ,blue \"[[:space:]]+$\"\n" +"# multiples of eight spaces at the start a line\n" +"# (after zero or more tabs) should be a tab\n" +"color ,blue \"^([TAB]*[ ]{8})+\"\n" +"# tabs after spaces\n" +"color ,yellow \"( )+TAB\"\n" +"# highlight indents that have an odd number of spaces\n" +"color ,red \"^(([ ]{2})+|(TAB+))*[ ]{1}[^ ]{1}\"\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:302 +msgid "Process the file to create embedded tabs:" +msgstr "Обработать файл для создания встроенных табуляций:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:306 +#, no-wrap +msgid "% perl -i'' -pe 's/TAB/\\t/g' ~/.nanorc\n" +msgstr "% perl -i'' -pe 's/TAB/\\t/g' ~/.nanorc\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:312 +msgid "Specify additional helpful options when running the editor:" +msgstr "Укажите дополнительные полезные опции при запуске редактора:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:316 +#, no-wrap +msgid "% nano -AKipwz -T8 _index.adoc\n" +msgstr "% nano -AKipwz -T8 _index.adoc\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:319 +msgid "" +"Users of man:csh[1] can define an alias in [.filename]#~/.cshrc# to automate " +"these options:" +msgstr "" +"Пользователи man:csh[1] могут определить алиас в [.filename]#~/.cshrc#, " +"чтобы автоматизировать эти параметры:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:323 +#, no-wrap +msgid "alias nano \"nano -AKipwz -r 70 -T8\"\n" +msgstr "alias nano \"nano -AKipwz -r 70 -T8\"\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:326 +msgid "After the alias is defined, the options will be added automatically:" +msgstr "После определения псевдонима параметры будут добавлены автоматически:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/editor-config/_index.adoc:330 +#, no-wrap +msgid "% nano _index.adoc\n" +msgstr "% nano _index.adoc\n" diff --git a/documentation/content/ru/books/fdp-primer/examples/_index.adoc b/documentation/content/ru/books/fdp-primer/examples/_index.adoc new file mode 100644 index 0000000000..2850975453 --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/examples/_index.adoc @@ -0,0 +1,133 @@ +--- +description: 'Пример статьи и книги, используемых в проекте документации FreeBSD' +params: + path: /books/fdp-primer/examples/ +prev: books/fdp-primer/see-also/ +showBookMenu: true +tags: ["examples", "tutorial", "AsciiDoctor", "Book", "Article"] +title: 'Приложение A. Примеры' +weight: 16 +--- + +[appendix] +[[examples]] += Примеры +:doctype: book +:toc: macro +:toclevels: 1 +:icons: font +:sectnums: +:sectnumlevels: 6 +:sectnumoffset: A +:partnums: +:source-highlighter: rouge +:experimental: +:images-path: books/fdp-primer/ + +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::[] + +Эти примеры не являются исчерпывающими — они не содержат всех элементов, которые может быть желательно использовать, особенно в преамбуле документа. Для дополнительных примеров использования AsciiDoctor изучите исходный AsciiDoc код для этого и других документов, доступных в Git-репозитории *doc* или онлайн, начиная с link:https://cgit.freebsd.org/doc/[https://cgit.freebsd.org/doc/]. + +[[examples-asciidoctor-book]] +== *Книга* AsciiDoctor + +.*Книга* AsciiDoctor +[example] +==== +[.programlisting] +.... +--- +title: An Example Book +authors: + - author: The FreeBSD Documentation Project +copyright: 1995-2021 The FreeBSD Documentation Project +releaseinfo: "" +trademarks: ["general"] +--- + += Пример книги +:doctype: book :toc: macro :toclevels: 2 :icons: font :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnums: :sectnumlevels: 6 :partnums: :chapter-signifier: Chapter :part-signifier: Part :source-highlighter: rouge :experimental: :skip-front-matter: :book: true :pdf: false + +ifeval::["{backend}" == "html5"] :chapters-path: content/ru/books/bookname/ endif::[] + +ifeval::["{backend}" == "pdf"] :chapters-path: endif::[] + +ifeval::["{backend}" == "epub3"] :chapters-path: endif::[] + +[abstract] Аннотация + +Раздел аннотации + +''' + +toc::[] + +:sectnums!: + +\include::{chapters-path}preface/_index.adoc[leveloffset=+1] + +:sectnums: + +\include::{chapters-path}parti.adoc[lines=7..18] + +\include::{chapters-path}chapter-name/_index.adoc[leveloffset=+1] +.... + +==== + +[[examples-asciidoctor-article]] +== *Статья* AsciiDoctor + +.*Статья* AsciiDoctor +[example] +==== +[.programlisting] +.... +--- +title: An Example Article +authors: + - author: Your name and surname + email: foo@example.com +trademarks: ["general"] +--- + += Пример статьи +:doctype: article :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: + +''' + +toc::[] + +== Мой первый раздел + +Это первый раздел в моей статье. + +=== Мой первый подраздел + +Это первый подраздел в моей статье. + +.... + +==== diff --git a/documentation/content/ru/books/fdp-primer/examples/_index.po b/documentation/content/ru/books/fdp-primer/examples/_index.po new file mode 100644 index 0000000000..7cc6adac70 --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/examples/_index.po @@ -0,0 +1,261 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR The FreeBSD Project +# This file is distributed under the same license as the FreeBSD Documentation package. +# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025. +msgid "" +msgstr "" +"Project-Id-Version: FreeBSD Documentation VERSION\n" +"POT-Creation-Date: 2025-09-20 14:02+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/" +"documentation/booksfdp-primerexamples_index/ru/>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.17\n" + +#. type: Yaml Front Matter Hash Value: description +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:1 +#, no-wrap +msgid "Example of an article and a book used in the FreeBSD Documentation Project" +msgstr "Пример статьи и книги, используемых в проекте документации FreeBSD" + +#. type: Yaml Front Matter Hash Value: title +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:1 +#, no-wrap +msgid "Appendix A. Examples" +msgstr "Приложение A. Примеры" + +#. type: Title = +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:14 +#, no-wrap +msgid "Examples" +msgstr "Примеры" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:53 +msgid "" +"These examples are not exhaustive - they do not contain all the elements " +"that might be desirable to use, particularly in a document's front matter. " +"For more examples of AsciiDoctor, examine the AsciiDoc source for this and " +"other documents available in the Git *doc* repository, or available online " +"starting at link:https://cgit.freebsd.org/doc/[https://cgit.freebsd.org/" +"doc/]." +msgstr "" +"Эти примеры не являются исчерпывающими — они не содержат всех элементов, " +"которые может быть желательно использовать, особенно в преамбуле документа. " +"Для дополнительных примеров использования AsciiDoctor изучите исходный " +"AsciiDoc код для этого и других документов, доступных в Git-репозитории " +"*doc* или онлайн, начиная с link:https://cgit.freebsd.org/doc/[https://" +"cgit.freebsd.org/doc/]." + +#. type: Block title +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:55 +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:57 +#, no-wrap +msgid "AsciiDoctor *book*" +msgstr "*Книга* AsciiDoctor" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:62 +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:132 +#, no-wrap +msgid "---\n" +msgstr "---\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:69 +#, no-wrap +msgid "" +"title: An Example Book\n" +"authors:\n" +" - author: The FreeBSD Documentation Project\n" +"copyright: 1995-2021 The FreeBSD Documentation Project\n" +"releaseinfo: \"\" \n" +"trademarks: [\"general\"] \n" +"---\n" +msgstr "" +"title: An Example Book\n" +"authors:\n" +" - author: The FreeBSD Documentation Project\n" +"copyright: 1995-2021 The FreeBSD Documentation Project\n" +"releaseinfo: \"\" \n" +"trademarks: [\"general\"] \n" +"---\n" + +#. type: Title = +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:71 +#, no-wrap +msgid "An Example Book" +msgstr "Пример книги" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:89 +msgid "" +":doctype: book :toc: macro :toclevels: 2 :icons: font :xrefstyle: " +"basic :relfileprefix: ../ :outfilesuffix: :sectnums: :sectnumlevels: " +"6 :partnums: :chapter-signifier: Chapter :part-signifier: Part :source-" +"highlighter: rouge :experimental: :skip-front-matter: :book: true :pdf: false" +msgstr "" +":doctype: book\n" +":toc: macro\n" +":toclevels: 2\n" +":icons: font\n" +":xrefstyle: basic\n" +":relfileprefix: ../\n" +":outfilesuffix:\n" +":sectnums:\n" +":sectnumlevels: 6\n" +":partnums:\n" +":chapter-signifier: Chapter\n" +":part-signifier: Part\n" +":source-highlighter: rouge\n" +":experimental:\n" +":skip-front-matter:\n" +":book: true\n" +":pdf: false" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:93 +msgid "" +"ifeval::[\"{backend}\" == \"html5\"] :chapters-path: content/en/books/" +"bookname/ endif::[]" +msgstr "" +"ifeval::[\"{backend}\" == \"html5\"]\n" +":chapters-path: content/en/books/bookname/\n" +"endif::[]" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:97 +msgid "ifeval::[\"{backend}\" == \"pdf\"] :chapters-path: endif::[]" +msgstr "" +"ifeval::[\"{backend}\" == \"pdf\"]\n" +":chapters-path:\n" +"endif::[]" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:101 +msgid "ifeval::[\"{backend}\" == \"epub3\"] :chapters-path: endif::[]" +msgstr "" +"ifeval::[\"{backend}\" == \"epub3\"]\n" +":chapters-path:\n" +"endif::[]" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:104 +msgid "[abstract] Abstract" +msgstr "[abstract] Аннотация" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:106 +msgid "Abstract section" +msgstr "Раздел аннотации" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:108 +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:151 +msgid "'''" +msgstr "'''" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:110 +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:153 +msgid "toc::[]" +msgstr "toc::[]" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:112 +msgid ":sectnums!:" +msgstr ":sectnums!:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:114 +msgid "\\include::{chapters-path}preface/_index.adoc[leveloffset=+1]" +msgstr "\\include::{chapters-path}preface/_index.adoc[leveloffset=+1]" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:116 +msgid ":sectnums:" +msgstr ":sectnums:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:118 +msgid "\\include::{chapters-path}parti.adoc[lines=7..18]" +msgstr "\\include::{chapters-path}parti.adoc[lines=7..18]" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:120 +msgid "\\include::{chapters-path}chapter-name/_index.adoc[leveloffset=+1]" +msgstr "\\include::{chapters-path}chapter-name/_index.adoc[leveloffset=+1]" + +#. type: Block title +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:125 +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:127 +#, no-wrap +msgid "AsciiDoctor *article*" +msgstr "*Статья* AsciiDoctor" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:138 +#, no-wrap +msgid "" +"title: An Example Article\n" +"authors:\n" +" - author: Your name and surname\n" +" email: foo@example.com\n" +"trademarks: [\"general\"]\n" +"---\n" +msgstr "" +"title: An Example Article\n" +"authors:\n" +" - author: Your name and surname\n" +" email: foo@example.com\n" +"trademarks: [\"general\"]\n" +"---\n" + +#. type: Title = +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:140 +#, no-wrap +msgid "An Example Article" +msgstr "Пример статьи" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:149 +msgid "" +":doctype: article :toc: macro :toclevels: 1 :icons: " +"font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental:" +msgstr "" +":doctype: article\n" +":toc: macro\n" +":toclevels: 1\n" +":icons: font\n" +":sectnums:\n" +":sectnumlevels: 6\n" +":source-highlighter: rouge\n" +":experimental:" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:154 +#, no-wrap +msgid "My First Section" +msgstr "Мой первый раздел" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:157 +msgid "This is the first section in my article." +msgstr "Это первый раздел в моей статье." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:158 +#, no-wrap +msgid "My First Sub-Section" +msgstr "Мой первый подраздел" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/examples/_index.adoc:161 +msgid "This is the first sub-section in my article." +msgstr "Это первый подраздел в моей статье." diff --git a/documentation/content/ru/books/fdp-primer/manual-pages/_index.adoc b/documentation/content/ru/books/fdp-primer/manual-pages/_index.adoc new file mode 100644 index 0000000000..806d04fc45 --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/manual-pages/_index.adoc @@ -0,0 +1,531 @@ +--- +description: 'Как работать со Cправочником FreeBSD' +next: books/fdp-primer/writing-style +params: + path: /books/fdp-primer/manual-pages/ +prev: books/fdp-primer/weblate +showBookMenu: true +tags: ["manual pages", "introduction", "guide", "reference"] +title: 'Глава 11. Справочник' +weight: 11 +--- + +[[manual-pages]] += Справочник +:doctype: book +:toc: macro +:toclevels: 1 +:icons: font +:sectnums: +:sectnumlevels: 6 +:sectnumoffset: 11 +:partnums: +:source-highlighter: rouge +:experimental: +:images-path: books/fdp-primer/ + +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::[] + +[[manual-pages-introduction]] +== Введение + +_Справочник_, часто сокращаемый до _man-страниц_, изначально задумывались как легкодоступные напоминания о синтаксисе команд, деталях драйверов устройств или форматах конфигурационных файлов. Со временем они стали крайне полезным справочным материалом для быстрого ознакомления прямо из командной строки для пользователей, системных администраторов и программистов. + +Хотя они предназначены скорее как справочные материалы, а не учебные руководства, разделы EXAMPLES в manual pages часто содержат подробные примеры использования. + +Страницы Справочника обычно отображаются интерактивно с помощью команды man:man[1]. Когда пользователь вводит `man ls`, выполняется поиск страницы Справочника, соответствующей `ls`. Первый найденный результат отображается. + +[[manual-pages-sections]] +== Разделы + +Страницы справочника (man-страницы) сгруппированы по _разделам_. Каждый раздел содержит man-страницы для определённой категории документации: + +[.informaltable] +[cols="1,8", options="header"] +|=== +| Номер раздела +| Категория + + +|1 +|Общие команды + +|2 +|Системные вызовы + +|3 +|Функции библиотек + +|4 +|Интерфейсы ядра + +|5 +|Форматы файлов + +|6 +|Игры + +|7 +|Разное + +|8 +|Системный администратор + +|9 +|Разработчик ядра +|=== + +[[manual-pages-markup]] +== Язык разметки + +Для man-страниц использовались различные формы разметки и программы отображения. FreeBSD использовала man:groff[7] и более новую man:mandoc[1]. Большинство существующих man-страниц FreeBSD, а также все новые, используют разметку в формате man:mdoc[7]. Это простая построчная разметка, обладающая достаточной выразительностью. В основном она семантическая: части текста помечаются по их назначению, а не по тому, как они должны выглядеть при отображении. Существует некоторая разметка, основанная на внешнем виде, которую обычно лучше избегать. + +Исходный код страницы справочника обычно интерпретируется и отображается на экране в интерактивном режиме. Исходные файлы могут быть обычными текстовыми файлами или сжатыми с помощью man:gzip[1] для экономии места. + +Страницы справочника также могут быть преобразованы в другие форматы, включая PostScript для печати или генерации PDF. См. man:man[1]. + +[[manual-pages-markup-sections]] +=== Разделы Справочника + +Страницы справочника состоят из нескольких стандартных разделов. Каждый раздел имеет заголовок в верхнем регистре, а разделы для определённого типа man-страниц следуют в строго определённом порядке. Для man-страниц категории 1 (Общие команды) разделы идут в следующем порядке: + +[.informaltable] +[cols="2,4", options="header"] +|=== +| Название Раздела +| Описание + + +|NAME (ИМЯ) +|Название команды + +|SYNOPSIS (СИНТАКСИС) +|Формат опций и аргументов + +|DESCRIPTION (ОПИСАНИЕ) +|Описание назначения и использования + +|ENVIRONMENT (ОКРУЖЕНИЕ) +|Настройки окружения, влияющие на работу + +|EXIT STATUS (СТАТУС ВЫХОДА) +|Коды ошибок, возвращаемые при завершении + +|EXAMPLES (ПРИМЕРЫ) +|Примеры использования + +|COMPATIBILITY (СОВМЕСТИМОСТЬ) +|Совместимость с другими реализациями + +|SEE ALSO (СМ. ТАКЖЕ) +|Перекрестная ссылка на связанные страницы руководства + +|STANDARDS (СТАНДАРТЫ) +|Совместимость со стандартами, такими как POSIX + +|HISTORY (ИСТОРИЯ) +|История реализации + +|BUGS (ИЗВЕСТНЫЕ ОШИБКИ) +|Известные ошибки + +|AUTHORS (АВТОРЫ) +|Люди, которые создали команду или написали справочную страницу. +|=== + +Некоторые разделы являются необязательными, и сочетание разделов для конкретного типа справочной страницы может различаться. Примеры наиболее распространённых типов приведены далее в этой главе. + +[[manual-pages-markup-macros]] +=== Макросы + +Разметка man:mdoc[7] основана на _макросах_. Строки, начинающиеся с точки, содержат макрокоманды, каждая длиной в две или три буквы. Например, рассмотрим эту часть man-страницы man:ls[1]: + +[.programlisting] +.... +.Dd December 1, 2015 <.> +.Dt LS 1 +.Sh NAME <.> +.Nm ls +.Nd list directory contents +.Sh SYNOPSIS <.> +.Nm <.> +.Op Fl -libxo <.> +.Op Fl ABCFGHILPRSTUWZabcdfghiklmnopqrstuwxy1, <.> +.Op Fl D Ar format <.> +.Op Ar <.> +.Sh DESCRIPTION <.> +For each operand that names a +.Ar file +of a type other than +directory, +.Nm +displays its name as well as any requested, +associated information. +For each operand that names a +.Ar file +of type directory, +.Nm +displays the names of files contained +within that directory, as well as any requested, associated +information. +.... + +<.> Определены _Дата документа_ (.Dd) и _Название документа_ (.Dt). +<.> Для раздела NAME определяется _Заголовок раздела_ (.Sh). Затем определяется _Имя_ (.Nm) команды и _Описание имени_ (.Nd) в одну строку. +<.> Начинается раздел SYNOPSIS (.Sh). В этом разделе описываются параметры командной строки и аргументы, которые принимаются. +<.> _Имя_ (`.Nm`) уже определено, и его повторение здесь просто отображает заданное значение в тексте. +<.> Отображается _необязательный_ _флаг_ (.Op Fl) `-libxo`. Макрос `Fl` добавляет тире в начало флагов, поэтому в руководстве он отображается как `--libxo`. +<.> Отображается длинный список необязательных флагов, состоящих из одного символа. +<.> Определён необязательный флаг `-D`. Если указан флаг `-D`, за ним должен следовать _аргумент_. Аргумент представляет собой _формат_ — строку, которая указывает man:ls[1], что и как отображать. Подробности о строке формата приведены далее на странице руководства. +<.> Определен последний необязательный аргумент. Поскольку для аргумента не указано имя, используется значение по умолчанию `file ...`. +<.> _Заголовок раздела_ (.Sh) для раздела DESCRIPTION определен. + +При отображении с помощью команды `man ls` результат выводится на экран следующим образом: + +[.programlisting] +.... +LS(1) FreeBSD General Commands Manual LS(1) + +NAME + ls - list directory contents + +SYNOPSIS + ls [--libxo] [-ABCFGHILPRSTUWZabcdfghiklmnopqrstuwxy1,] [-D format] + [file ...] + +DESCRIPTION + For each operand that names a file of a type other than directory, ls + displays its name as well as any requested, associated information. For + each operand that names a file of type directory, ls displays the names + of files contained within that directory, as well as any requested, + associated information. +.... + +Необязательные значения указаны в квадратных скобках. + +[[manual-pages-markup-guidelines]] +=== Руководство по разметке + +Язык разметки man:mdoc[7] не является очень строгим. Для ясности и согласованности проект FreeBSD Documentation добавляет некоторые дополнительные рекомендации по стилю: + +Только первая буква макросов пишется с заглавной буквы:: +Всегда используйте заглавную букву для первого символа макроса и строчные буквы для остальных символов. + +Начинайте новые предложения с новых строк:: +Начинайте новое предложение с новой строки, не начинайте его на той же строке, что и существующее предложение. + +Обновите `.Dd` при внесении значительных изменений в справочную страницу:: +_Дата документа_ сообщает читателю, когда страница руководства была последний раз обновлена. Важно обновлять её при внесении значительных изменений в страницы руководства. Незначительные правки, такие как исправления орфографии или пунктуации, которые не влияют на использование, могут быть сделаны без обновления `.Dd`. + +Приведите примеры:: +Показывайте читателю примеры, когда это возможно. Даже простые примеры ценны, потому что то, что тривиально для автора, не обязательно тривиально для читателя. Хорошей целью являются три примера. Простой пример демонстрирует минимальные требования, серьезный пример показывает реальное использование, а углубленный пример демонстрирует неочевидную или нестандартную функциональность. + +Включить лицензию BSD:: +Включите лицензию BSD в новые руководства. Предпочтительная лицензия доступна в extref:{committers-guide}[Руководстве коммиттера]. + +[[manual-pages-markup-tricks]] +=== Приемы Разметки + +Добавьте пробел перед пунктуацией на строке с макросами. Пример: + +[.programlisting] +.... +.Sh SEE ALSO +.Xr geom 4 , +.Xr boot0cfg 8 , +.Xr geom 8 , +.Xr gptboot 8 +.... + +Обратите внимание, как запятые в конце строк `.Xr` размещены после пробела. Макрос `.Xr` ожидает два параметра: имя внешней страницы руководства и номер раздела. Пробел отделяет пунктуацию от номера раздела. Без пробела внешние ссылки будут некорректно указывать на разделы `4,` или `8,`. + +[[manual-pages-markup-important-macros]] +=== Важные макросы + +Здесь будут показаны некоторые очень распространённые макросы. Для большего количества примеров использования см. man:mdoc[7], man:groff_mdoc[7] или выполните поиск реальных примеров в каталогах [.filename]#/usr/share/man/man*#. Например, чтобы найти примеры макроса `.Bd` (_Begin display_): + +[source, shell] +.... +% find /usr/share/man/man* | xargs zgrep '.Bd' +.... + +[[manual-pages-markup-important-macros-organizational]] +==== Организационные Макросы + +Некоторые макросы используются для определения логических блоков страницы руководства. + +[.informaltable] +[cols="1,8", options="header"] +|=== +| Организационные Макро +| Используйте + + +|`.Sh` +|Заголовок раздела. +За ним следует название раздела, традиционно записанное в верхнем регистре. +Можно рассматривать их как названия глав. + +|`.Ss` +|Подзаголовок раздела. +За ним следует название подраздела. +Используется для разделения раздела `.Sh` на подразделы. + +|`.Bl` +|Начало списка (Begin list). Начать перечень элементов. + +|`.El` +|Конец списка (End List). + +|`.Bd` +|Начало отображения (Begin display). +Начать специальную область текста, например, область с отступом. + +|`.Ed` +|Завершить отображение (End display). +|=== + +[[manual-pages-markup-important-macros-inline]] +==== Встроенные макросы + +Многие макросы используются для разметки текста внутри строк. + +[.informaltable] +[cols="1,8", options="header"] +|=== +| Встроенный макрос +| Используйте + + +|`.Nm` +|Имя (Name). +При первом использовании вызывается с именем в качестве параметра, затем используется без параметра для отображения уже определенного имени. + +|`.Pa` +|Путь к файлу (Path to a file). +Используется для обозначения имен файлов и путей к каталогам. +|=== + +[[manual-pages-sample-structures]] +== Пример структуры страницы руководства + +Этот раздел демонстрирует минимально желаемое содержание man-страниц для нескольких распространённых категорий руководств. + +[[manual-pages-sample-structures-section-1-8]] +=== Раздел 1 или 8 — Команда + +Предпочтительная базовая структура для раздела 1 или 8 — Команда: + +[.programlisting] +.... +.Dd August 25, 2017 +.Dt EXAMPLECMD 8 +.Os +.Sh NAME +.Nm examplecmd +.Nd "command to demonstrate section 1 and 8 man pages" +.Sh SYNOPSIS +.Nm +.Op Fl v +.Sh DESCRIPTION +The +.Nm +utility does nothing except demonstrate a trivial but complete +manual page for a section 1 or 8 command. +.Sh SEE ALSO +.Xr exampleconf 5 +.Sh AUTHORS +.An Firstname Lastname Aq Mt flastname@example.com +.... + +[[manual-pages-sample-structures-section-4]] +=== Раздел 4 — Драйверы устройств + +Предпочтительная базовая структура для раздела 4 — драйверы устройств: + +[.programlisting] +.... +.Dd August 25, 2017 +.Dt EXAMPLEDRIVER 4 +.Os +.Sh NAME +.Nm exampledriver +.Nd "driver to demonstrate section 4 man pages" +.Sh SYNOPSIS +To compile this driver into the kernel, add this line to the +kernel configuration file: +.Bd -ragged -offset indent +.Cd "device exampledriver" +.Ed +.Pp +To load the driver as a module at boot, add this line to +.Xr loader.conf 5 : +.Bd -literal -offset indent +exampledriver_load="YES" +.Ed +.Sh DESCRIPTION +The +.Nm +driver provides an opportunity to show a skeleton or template +file for section 4 manual pages. +.Sh HARDWARE +The +.Nm +driver supports these cards from the aptly-named Nonexistent +Technologies: +.Pp +.Bl -bullet -compact +.It +NT X149.2 (single and dual port) +.It +NT X149.8 (single port) +.El +.Sh DIAGNOSTICS +.Bl -diag +.It "flashing green light" +Something bad happened. +.It "flashing red light" +Something really bad happened. +.It "solid black light" +Power cord is unplugged. +.El +.Sh SEE ALSO +.Xr example 8 +.Sh HISTORY +The +.Nm +device driver first appeared in +.Fx 49.2 . +.Sh AUTHORS +.An Firstname Lastname Aq Mt flastname@example.com +.... + +[[manual-pages-sample-structures-section-5]] +=== Раздел 5 — Файл конфигурации + +Предпочтительная базовая структура для раздела 5 — файл конфигурации: + +[.programlisting] +.... +.Dd August 25, 2017 +.Dt EXAMPLECONF 5 +.Os +.Sh NAME +.Nm example.conf +.Nd "config file to demonstrate section 5 man pages" +.Sh DESCRIPTION +.Nm +is an example configuration file. +.Sh SEE ALSO +.Xr example 8 +.Sh AUTHORS +.An Firstname Lastname Aq Mt flastname@example.com +.... + +[[manual-pages-testing]] +== Тестирование + +Проверка новой страницы руководства может быть непростой задачей. К счастью, существуют инструменты, которые могут помочь в этом. Некоторые из них, например man:man[1], не ищут в текущем каталоге. Хорошей практикой является добавление префикса `./` к имени файла, если новая страница руководства находится в текущем каталоге. Также можно использовать абсолютный путь. + +Используйте линтер man:mandoc[1] для проверки на ошибки парсинга: + +[source, shell] +.... +% mandoc -T lint ./mynewmanpage.8 +.... + +Используйте package:textproc/igor[] для проверки страниц Справочника: + +[source, shell] +.... +% igor ./mynewmanpage.8 +.... + +Еще один полезный инструмент — package:textproc/vale[]. Он не поддерживает синтаксис man:mdoc[7], но обработанную страницу руководства можно прочитать из стандартного ввода: + +[source, shell] +.... +% man ls | vale +.... + +package:textproc/vale[] обладает высокой степенью настраиваемости. Рекомендуется ознакомиться с его документацией. + +Используйте man:man[1] для проверки конечного результата ваших изменений: + +[source, shell] +.... +% man ./mynewmanpage.8 +.... + +Вы можете использовать man:col[1] для фильтрации вывода man:man[1] и удаления backspace-символов перед загрузкой результата в ваш любимый редактор для проверки орфографии: + +[source, shell] +.... +% man ./mynewmanpage.8 | col -b | vim -R - +.... + +Проверка орфографии с использованием полнофункциональных словарей рекомендуется и может быть выполнена с помощью package:textproc/hunspell[] или package:textproc/aspell[] в сочетании с package:textproc/en-hunspell[] или package:textproc/en-aspell[] соответственно. Например: + +[source, shell] +.... +% aspell check --lang=en --mode=nroff ./mynewmanpage.8 +.... + +[[manual-pages-examples-as-templates]] +== Примеры страниц Справочника для использования в качестве шаблонов + +Некоторые страницы Справочника могут служить подробными примерами. + +[.informaltable] +[cols="1,4", options="header"] +|=== +| Страница Справочника +| Путь к расположению исходного кода + + +|man:cp[1] +|[.filename]#/usr/src/bin/cp/cp.1# + +|man:vt[4] +|[.filename]#/usr/src/share/man/man4/vt.4# + +|man:crontab[5] +|[.filename]#/usr/src/usr.sbin/cron/crontab/crontab.5# + +|man:gpart[8] +|[.filename]#/usr/src/sbin/geom/class/part/gpart.8# +|=== + +[[manual-pages-resources]] +== Ресурсы + +Ресурсы для авторов справочных страниц: + +* man:man[1] +* man:mandoc[1] +* man:style.mdoc[5] +* man:groff_mdoc[7] +* http://manpages.bsd.lv/mdoc.html[Практические руководства UNIX: mdoc] +* http://manpages.bsd.lv/history.html[История man-страниц UNIX] diff --git a/documentation/content/ru/books/fdp-primer/manual-pages/_index.po b/documentation/content/ru/books/fdp-primer/manual-pages/_index.po new file mode 100644 index 0000000000..cd9d2510ed --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/manual-pages/_index.po @@ -0,0 +1,1454 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR The FreeBSD Project +# This file is distributed under the same license as the FreeBSD Documentation package. +# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025. +msgid "" +msgstr "" +"Project-Id-Version: FreeBSD Documentation VERSION\n" +"POT-Creation-Date: 2025-09-20 14:02+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/" +"documentation/booksfdp-primermanual-pages_index/ru/>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.17\n" + +#. type: Yaml Front Matter Hash Value: description +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:1 +#, no-wrap +msgid "How to work with the FreeBSD Manual Pages" +msgstr "Как работать со Cправочником FreeBSD" + +#. type: Yaml Front Matter Hash Value: title +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:1 +#, no-wrap +msgid "Chapter 11. Manual Pages" +msgstr "Глава 11. Справочник" + +#. type: Title = +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:14 +#, no-wrap +msgid "Manual Pages" +msgstr "Справочник" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:52 +#, no-wrap +msgid "Introduction" +msgstr "Введение" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:56 +msgid "" +"_Manual pages_, commonly shortened to _man pages_, were conceived as readily-" +"available reminders for command syntax, device driver details, or " +"configuration file formats. They have become an extremely valuable quick-" +"reference from the command line for users, system administrators, and " +"programmers." +msgstr "" +"_Справочник_, часто сокращаемый до _man-страниц_, изначально задумывались " +"как легкодоступные напоминания о синтаксисе команд, деталях драйверов " +"устройств или форматах конфигурационных файлов. Со временем они стали крайне " +"полезным справочным материалом для быстрого ознакомления прямо из командной " +"строки для пользователей, системных администраторов и программистов." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:58 +msgid "" +"Although intended as reference material rather than tutorials, the EXAMPLES " +"sections of manual pages often provide detailed use case." +msgstr "" +"Хотя они предназначены скорее как справочные материалы, а не учебные " +"руководства, разделы EXAMPLES в manual pages часто содержат подробные " +"примеры использования." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:62 +msgid "" +"Manual pages are generally shown interactively by the man:man[1] command. " +"When the user types `man ls`, a search is performed for a manual page " +"matching `ls`. The first matching result is displayed." +msgstr "" +"Страницы Справочника обычно отображаются интерактивно с помощью команды " +"man:man[1]. Когда пользователь вводит `man ls`, выполняется поиск страницы " +"Справочника, соответствующей `ls`. Первый найденный результат отображается." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:64 +#, no-wrap +msgid "Sections" +msgstr "Разделы" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:68 +msgid "" +"Manual pages are grouped into _sections_. Each section contains manual " +"pages for a specific category of documentation:" +msgstr "" +"Страницы справочника (man-страницы) сгруппированы по _разделам_. Каждый " +"раздел содержит man-страницы для определённой категории документации:" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:73 +#, no-wrap +msgid "Section Number" +msgstr "Номер раздела" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:76 +#, no-wrap +msgid "Category" +msgstr "Категория" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:77 +#, no-wrap +msgid "1" +msgstr "1" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:79 +#, no-wrap +msgid "General Commands" +msgstr "Общие команды" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:80 +#, no-wrap +msgid "2" +msgstr "2" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:82 +#, no-wrap +msgid "System Calls" +msgstr "Системные вызовы" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:83 +#, no-wrap +msgid "3" +msgstr "3" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:85 +#, no-wrap +msgid "Library Functions" +msgstr "Функции библиотек" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:86 +#, no-wrap +msgid "4" +msgstr "4" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:88 +#, no-wrap +msgid "Kernel Interfaces" +msgstr "Интерфейсы ядра" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:89 +#, no-wrap +msgid "5" +msgstr "5" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:91 +#, no-wrap +msgid "File Formats" +msgstr "Форматы файлов" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:92 +#, no-wrap +msgid "6" +msgstr "6" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:94 +#, no-wrap +msgid "Games" +msgstr "Игры" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:95 +#, no-wrap +msgid "7" +msgstr "7" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:97 +#, no-wrap +msgid "Miscellaneous" +msgstr "Разное" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:98 +#, no-wrap +msgid "8" +msgstr "8" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:100 +#, no-wrap +msgid "System Manager" +msgstr "Системный администратор" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:101 +#, no-wrap +msgid "9" +msgstr "9" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:102 +#, no-wrap +msgid "Kernel Developer" +msgstr "Разработчик ядра" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:105 +#, no-wrap +msgid "Markup" +msgstr "Язык разметки" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:113 +msgid "" +"Various markup forms and rendering programs have been used for manual " +"pages. FreeBSD has used man:groff[7] and the newer man:mandoc[1]. Most " +"existing FreeBSD manual pages, and all new ones, use the man:mdoc[7] form of " +"markup. This is a simple line-based markup that is reasonably expressive. " +"It is mostly semantic: parts of text are marked up for what they are, rather " +"than for how they should appear when rendered. There is some appearance-" +"based markup which is usually best avoided." +msgstr "" +"Для man-страниц использовались различные формы разметки и программы " +"отображения. FreeBSD использовала man:groff[7] и более новую " +"man:mandoc[1]. Большинство существующих man-страниц FreeBSD, а также все " +"новые, используют разметку в формате man:mdoc[7]. Это простая построчная " +"разметка, обладающая достаточной выразительностью. В основном она " +"семантическая: части текста помечаются по их назначению, а не по тому, как " +"они должны выглядеть при отображении. Существует некоторая разметка, " +"основанная на внешнем виде, которую обычно лучше избегать." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:116 +msgid "" +"Manual page source is usually interpreted and displayed to the screen " +"interactively. The source files can be ordinary text files or compressed " +"with man:gzip[1] to save space." +msgstr "" +"Исходный код страницы справочника обычно интерпретируется и отображается на " +"экране в интерактивном режиме. Исходные файлы могут быть обычными " +"текстовыми файлами или сжатыми с помощью man:gzip[1] для экономии места." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:119 +msgid "" +"Manual pages can also be rendered to other formats, including PostScript for " +"printing or PDF generation. See man:man[1]." +msgstr "" +"Страницы справочника также могут быть преобразованы в другие форматы, " +"включая PostScript для печати или генерации PDF. См. man:man[1]." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:121 +#, no-wrap +msgid "Manual Page Sections" +msgstr "Разделы Справочника" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:126 +msgid "" +"Manual pages are composed of several standard sections. Each section has a " +"title in upper case, and the sections for a particular type of manual page " +"appear in a specific order. For a category 1 General Command manual page, " +"the sections are:" +msgstr "" +"Страницы справочника состоят из нескольких стандартных разделов. Каждый " +"раздел имеет заголовок в верхнем регистре, а разделы для определённого типа " +"man-страниц следуют в строго определённом порядке. Для man-страниц " +"категории 1 (Общие команды) разделы идут в следующем порядке:" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:131 +#, no-wrap +msgid "Section Name" +msgstr "Название Раздела" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:134 +#, no-wrap +msgid "Description" +msgstr "Описание" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:135 +#, no-wrap +msgid "NAME" +msgstr "NAME (ИМЯ)" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:137 +#, no-wrap +msgid "Name of the command" +msgstr "Название команды" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:138 +#, no-wrap +msgid "SYNOPSIS" +msgstr "SYNOPSIS (СИНТАКСИС)" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:140 +#, no-wrap +msgid "Format of options and arguments" +msgstr "Формат опций и аргументов" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:141 +#, no-wrap +msgid "DESCRIPTION" +msgstr "DESCRIPTION (ОПИСАНИЕ)" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:143 +#, no-wrap +msgid "Description of purpose and usage" +msgstr "Описание назначения и использования" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:144 +#, no-wrap +msgid "ENVIRONMENT" +msgstr "ENVIRONMENT (ОКРУЖЕНИЕ)" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:146 +#, no-wrap +msgid "Environment settings that affect operation" +msgstr "Настройки окружения, влияющие на работу" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:147 +#, no-wrap +msgid "EXIT STATUS" +msgstr "EXIT STATUS (СТАТУС ВЫХОДА)" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:149 +#, no-wrap +msgid "Error codes returned on exit" +msgstr "Коды ошибок, возвращаемые при завершении" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:150 +#, no-wrap +msgid "EXAMPLES" +msgstr "EXAMPLES (ПРИМЕРЫ)" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:152 +#, no-wrap +msgid "Examples of usage" +msgstr "Примеры использования" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:153 +#, no-wrap +msgid "COMPATIBILITY" +msgstr "COMPATIBILITY (СОВМЕСТИМОСТЬ)" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:155 +#, no-wrap +msgid "Compatibility with other implementations" +msgstr "Совместимость с другими реализациями" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:156 +#, no-wrap +msgid "SEE ALSO" +msgstr "SEE ALSO (СМ. ТАКЖЕ)" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:158 +#, no-wrap +msgid "Cross-reference to related manual pages" +msgstr "Перекрестная ссылка на связанные страницы руководства" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:159 +#, no-wrap +msgid "STANDARDS" +msgstr "STANDARDS (СТАНДАРТЫ)" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:161 +#, no-wrap +msgid "Compatibility with standards like POSIX" +msgstr "Совместимость со стандартами, такими как POSIX" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:162 +#, no-wrap +msgid "HISTORY" +msgstr "HISTORY (ИСТОРИЯ)" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:164 +#, no-wrap +msgid "History of implementation" +msgstr "История реализации" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:165 +#, no-wrap +msgid "BUGS" +msgstr "BUGS (ИЗВЕСТНЫЕ ОШИБКИ)" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:167 +#, no-wrap +msgid "Known bugs" +msgstr "Известные ошибки" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:168 +#, no-wrap +msgid "AUTHORS" +msgstr "AUTHORS (АВТОРЫ)" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:169 +#, no-wrap +msgid "People who created the command or wrote the manual page." +msgstr "Люди, которые создали команду или написали справочную страницу." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:173 +msgid "" +"Some sections are optional, and the combination of sections for a specific " +"type of manual page vary. Examples of the most common types are shown later " +"in this chapter." +msgstr "" +"Некоторые разделы являются необязательными, и сочетание разделов для " +"конкретного типа справочной страницы может различаться. Примеры наиболее " +"распространённых типов приведены далее в этой главе." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:175 +#, no-wrap +msgid "Macros" +msgstr "Макросы" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:180 +msgid "" +"man:mdoc[7] markup is based on _macros_. Lines that begin with a dot " +"contain macro commands, each two or three letters long. For example, " +"consider this portion of the man:ls[1] manual page:" +msgstr "" +"Разметка man:mdoc[7] основана на _макросах_. Строки, начинающиеся с точки, " +"содержат макрокоманды, каждая длиной в две или три буквы. Например, " +"рассмотрим эту часть man-страницы man:ls[1]:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:209 +#, no-wrap +msgid "" +".Dd December 1, 2015 <.>\n" +".Dt LS 1\n" +".Sh NAME <.>\n" +".Nm ls\n" +".Nd list directory contents\n" +".Sh SYNOPSIS <.>\n" +".Nm <.>\n" +".Op Fl -libxo <.>\n" +".Op Fl ABCFGHILPRSTUWZabcdfghiklmnopqrstuwxy1, <.>\n" +".Op Fl D Ar format <.>\n" +".Op Ar <.>\n" +".Sh DESCRIPTION <.>\n" +"For each operand that names a\n" +".Ar file\n" +"of a type other than\n" +"directory,\n" +".Nm\n" +"displays its name as well as any requested,\n" +"associated information.\n" +"For each operand that names a\n" +".Ar file\n" +"of type directory,\n" +".Nm\n" +"displays the names of files contained\n" +"within that directory, as well as any requested, associated\n" +"information.\n" +msgstr "" +".Dd December 1, 2015 <.>\n" +".Dt LS 1\n" +".Sh NAME <.>\n" +".Nm ls\n" +".Nd list directory contents\n" +".Sh SYNOPSIS <.>\n" +".Nm <.>\n" +".Op Fl -libxo <.>\n" +".Op Fl ABCFGHILPRSTUWZabcdfghiklmnopqrstuwxy1, <.>\n" +".Op Fl D Ar format <.>\n" +".Op Ar <.>\n" +".Sh DESCRIPTION <.>\n" +"For each operand that names a\n" +".Ar file\n" +"of a type other than\n" +"directory,\n" +".Nm\n" +"displays its name as well as any requested,\n" +"associated information.\n" +"For each operand that names a\n" +".Ar file\n" +"of type directory,\n" +".Nm\n" +"displays the names of files contained\n" +"within that directory, as well as any requested, associated\n" +"information.\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:212 +msgid "A _Document date_ and _Document title_ are defined." +msgstr "Определены _Дата документа_ (.Dd) и _Название документа_ (.Dt)." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:214 +msgid "" +"A _Section header_ for the NAME section is defined. Then the _Name_ of the " +"command and a one-line _Name description_ are defined." +msgstr "" +"Для раздела NAME определяется _Заголовок раздела_ (.Sh). Затем определяется " +"_Имя_ (.Nm) команды и _Описание имени_ (.Nd) в одну строку." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:216 +msgid "" +"The SYNOPSIS section begins. This section describes the command-line " +"options and arguments accepted." +msgstr "" +"Начинается раздел SYNOPSIS (.Sh). В этом разделе описываются параметры " +"командной строки и аргументы, которые принимаются." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:217 +msgid "" +"_Name_ (`.Nm`) has already been defined, and repeating it here just displays " +"the defined value in the text." +msgstr "" +"_Имя_ (`.Nm`) уже определено, и его повторение здесь просто отображает " +"заданное значение в тексте." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:219 +msgid "" +"An _Optional_ _Flag_ called `-libxo` is shown. The `Fl` macro adds a dash " +"to the beginning of flags, so this appears in the manual page as `--libxo`." +msgstr "" +"Отображается _необязательный_ _флаг_ (.Op Fl) `-libxo`. Макрос `Fl` " +"добавляет тире в начало флагов, поэтому в руководстве он отображается как `--" +"libxo`." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:220 +msgid "A long list of optional single-character flags are shown." +msgstr "" +"Отображается длинный список необязательных флагов, состоящих из одного " +"символа." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:224 +msgid "" +"An optional `-D` flag is defined. If the `-D` flag is given, it must be " +"followed by an _Argument_. The argument is a _format_, a string that tells " +"man:ls[1] what to display and how to display it. Details on the format " +"string are given later in the manual page." +msgstr "" +"Определён необязательный флаг `-D`. Если указан флаг `-D`, за ним должен " +"следовать _аргумент_. Аргумент представляет собой _формат_ — строку, " +"которая указывает man:ls[1], что и как отображать. Подробности о строке " +"формата приведены далее на странице руководства." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:226 +msgid "" +"A final optional argument is defined. Since no name is specified for the " +"argument, the default of `file ...` is used." +msgstr "" +"Определен последний необязательный аргумент. Поскольку для аргумента не " +"указано имя, используется значение по умолчанию `file ...`." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:227 +msgid "The _Section header_ for the DESCRIPTION section is defined." +msgstr "_Заголовок раздела_ (.Sh) для раздела DESCRIPTION определен." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:229 +msgid "" +"When rendered with the command `man ls`, the result displayed on the screen " +"looks like this:" +msgstr "" +"При отображении с помощью команды `man ls` результат выводится на экран " +"следующим образом:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:233 +#, no-wrap +msgid "LS(1) FreeBSD General Commands Manual LS(1)\n" +msgstr "LS(1) FreeBSD General Commands Manual LS(1)\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:236 +#, no-wrap +msgid "" +"NAME\n" +" ls - list directory contents\n" +msgstr "" +"NAME\n" +" ls - list directory contents\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:240 +#, no-wrap +msgid "" +"SYNOPSIS\n" +" ls [--libxo] [-ABCFGHILPRSTUWZabcdfghiklmnopqrstuwxy1,] [-D format]\n" +" [file ...]\n" +msgstr "" +"SYNOPSIS\n" +" ls [--libxo] [-ABCFGHILPRSTUWZabcdfghiklmnopqrstuwxy1,] [-D format]\n" +" [file ...]\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:247 +#, no-wrap +msgid "" +"DESCRIPTION\n" +" For each operand that names a file of a type other than directory, ls\n" +" displays its name as well as any requested, associated information. For\n" +" each operand that names a file of type directory, ls displays the names\n" +" of files contained within that directory, as well as any requested,\n" +" associated information.\n" +msgstr "" +"DESCRIPTION\n" +" For each operand that names a file of a type other than directory, ls\n" +" displays its name as well as any requested, associated information. For\n" +" each operand that names a file of type directory, ls displays the names\n" +" of files contained within that directory, as well as any requested,\n" +" associated information.\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:250 +msgid "Optional values are shown inside square brackets." +msgstr "Необязательные значения указаны в квадратных скобках." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:252 +#, no-wrap +msgid "Markup Guidelines" +msgstr "Руководство по разметке" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:256 +msgid "" +"The man:mdoc[7] markup language is not very strict. For clarity and " +"consistency, the FreeBSD Documentation project adds some additional style " +"guidelines:" +msgstr "" +"Язык разметки man:mdoc[7] не является очень строгим. Для ясности и " +"согласованности проект FreeBSD Documentation добавляет некоторые " +"дополнительные рекомендации по стилю:" + +#. type: Labeled list +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:257 +#, no-wrap +msgid "Only the first letter of macros is upper case" +msgstr "Только первая буква макросов пишется с заглавной буквы" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:259 +msgid "" +"Always use upper case for the first letter of a macro and lower case for the " +"remaining letters." +msgstr "" +"Всегда используйте заглавную букву для первого символа макроса и строчные " +"буквы для остальных символов." + +#. type: Labeled list +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:260 +#, no-wrap +msgid "Begin new sentences on new lines" +msgstr "Начинайте новые предложения с новых строк" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:262 +msgid "" +"Start a new sentence on a new line, do not begin it on the same line as an " +"existing sentence." +msgstr "" +"Начинайте новое предложение с новой строки, не начинайте его на той же " +"строке, что и существующее предложение." + +#. type: Labeled list +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:263 +#, no-wrap +msgid "Update `.Dd` when making non-trivial changes to a manual page" +msgstr "Обновите `.Dd` при внесении значительных изменений в справочную страницу" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:267 +msgid "" +"The _Document date_ informs the reader about the last time the manual page " +"was updated. It is important to update whenever non-trivial changes are " +"made to the manual pages. Trivial changes like spelling or punctuation " +"fixes that do not affect usage can be made without updating `.Dd`." +msgstr "" +"_Дата документа_ сообщает читателю, когда страница руководства была " +"последний раз обновлена. Важно обновлять её при внесении значительных " +"изменений в страницы руководства. Незначительные правки, такие как " +"исправления орфографии или пунктуации, которые не влияют на использование, " +"могут быть сделаны без обновления `.Dd`." + +#. type: Labeled list +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:268 +#, no-wrap +msgid "Give examples" +msgstr "Приведите примеры" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:273 +msgid "" +"Show the reader examples when possible. Even trivial examples are valuable, " +"because what is trivial to the writer is not necessarily trivial to the " +"reader. Three examples are a good goal. A trivial example shows the " +"minimal requirements, a serious example shows actual use, and an in-depth " +"example demonstrates unusual or non-obvious functionality." +msgstr "" +"Показывайте читателю примеры, когда это возможно. Даже простые примеры " +"ценны, потому что то, что тривиально для автора, не обязательно тривиально " +"для читателя. Хорошей целью являются три примера. Простой пример " +"демонстрирует минимальные требования, серьезный пример показывает реальное " +"использование, а углубленный пример демонстрирует неочевидную или " +"нестандартную функциональность." + +#. type: Labeled list +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:274 +#, no-wrap +msgid "Include the BSD license" +msgstr "Включить лицензию BSD" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:277 +msgid "" +"Include the BSD license on new manual pages. The preferred license is " +"available from the extref:{committers-guide}[Committer's Guide]." +msgstr "" +"Включите лицензию BSD в новые руководства. Предпочтительная лицензия " +"доступна в extref:{committers-guide}[Руководстве коммиттера]." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:279 +#, no-wrap +msgid "Markup Tricks" +msgstr "Приемы Разметки" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:282 +msgid "Add a space before punctuation on a line with macros. Example:" +msgstr "Добавьте пробел перед пунктуацией на строке с макросами. Пример:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:290 +#, no-wrap +msgid "" +".Sh SEE ALSO\n" +".Xr geom 4 ,\n" +".Xr boot0cfg 8 ,\n" +".Xr geom 8 ,\n" +".Xr gptboot 8\n" +msgstr "" +".Sh SEE ALSO\n" +".Xr geom 4 ,\n" +".Xr boot0cfg 8 ,\n" +".Xr geom 8 ,\n" +".Xr gptboot 8\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:296 +msgid "" +"Note how the commas at the end of the `.Xr` lines have been placed after a " +"space. The `.Xr` macro expects two parameters to follow it, the name of an " +"external manual page, and a section number. The space separates the " +"punctuation from the section number. Without the space, the external links " +"would incorrectly point to section `4,` or `8,`." +msgstr "" +"Обратите внимание, как запятые в конце строк `.Xr` размещены после пробела. " +"Макрос `.Xr` ожидает два параметра: имя внешней страницы руководства и номер " +"раздела. Пробел отделяет пунктуацию от номера раздела. Без пробела внешние " +"ссылки будут некорректно указывать на разделы `4,` или `8,`." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:298 +#, no-wrap +msgid "Important Macros" +msgstr "Важные макросы" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:303 +msgid "" +"Some very common macros will be shown here. For more usage examples, see " +"man:mdoc[7], man:groff_mdoc[7], or search for actual use in [.filename]#/usr/" +"share/man/man*# directories. For example, to search for examples of the " +"`.Bd` _Begin display_ macro:" +msgstr "" +"Здесь будут показаны некоторые очень распространённые макросы. Для большего " +"количества примеров использования см. man:mdoc[7], man:groff_mdoc[7] или " +"выполните поиск реальных примеров в каталогах [.filename]#/usr/share/man/" +"man*#. Например, чтобы найти примеры макроса `.Bd` (_Begin display_):" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:307 +#, no-wrap +msgid "% find /usr/share/man/man* | xargs zgrep '.Bd'\n" +msgstr "% find /usr/share/man/man* | xargs zgrep '.Bd'\n" + +#. type: Title ==== +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:310 +#, no-wrap +msgid "Organizational Macros" +msgstr "Организационные Макросы" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:313 +msgid "Some macros are used to define logical blocks of a manual page." +msgstr "" +"Некоторые макросы используются для определения логических блоков страницы " +"руководства." + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:318 +#, no-wrap +msgid "Organizational Macro" +msgstr "Организационные Макро" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:321 +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:357 +#, no-wrap +msgid "Use" +msgstr "Используйте" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:322 +#, no-wrap +msgid "`.Sh`" +msgstr "`.Sh`" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:326 +#, no-wrap +msgid "" +"Section header.\n" +"Followed by the name of the section, traditionally all upper case.\n" +"Think of these as chapter titles." +msgstr "" +"Заголовок раздела.\n" +"За ним следует название раздела, традиционно записанное в верхнем регистре.\n" +"Можно рассматривать их как названия глав." + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:327 +#, no-wrap +msgid "`.Ss`" +msgstr "`.Ss`" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:331 +#, no-wrap +msgid "" +"Subsection header.\n" +"Followed by the name of the subsection.\n" +"Used to divide a `.Sh` section into subsections." +msgstr "" +"Подзаголовок раздела.\n" +"За ним следует название подраздела.\n" +"Используется для разделения раздела `.Sh` на подразделы." + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:332 +#, no-wrap +msgid "`.Bl`" +msgstr "`.Bl`" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:334 +#, no-wrap +msgid "Begin list. Start a list of items." +msgstr "Начало списка (Begin list). Начать перечень элементов." + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:335 +#, no-wrap +msgid "`.El`" +msgstr "`.El`" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:337 +#, no-wrap +msgid "End a list." +msgstr "Конец списка (End List)." + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:338 +#, no-wrap +msgid "`.Bd`" +msgstr "`.Bd`" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:341 +#, no-wrap +msgid "" +"Begin display.\n" +"Begin a special area of text, like an indented area." +msgstr "" +"Начало отображения (Begin display).\n" +"Начать специальную область текста, например, область с отступом." + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:342 +#, no-wrap +msgid "`.Ed`" +msgstr "`.Ed`" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:343 +#, no-wrap +msgid "End display." +msgstr "Завершить отображение (End display)." + +#. type: Title ==== +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:346 +#, no-wrap +msgid "Inline Macros" +msgstr "Встроенные макросы" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:349 +msgid "Many macros are used to mark up inline text." +msgstr "Многие макросы используются для разметки текста внутри строк." + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:354 +#, no-wrap +msgid "Inline Macro" +msgstr "Встроенный макрос" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:358 +#, no-wrap +msgid "`.Nm`" +msgstr "`.Nm`" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:361 +#, no-wrap +msgid "" +"Name.\n" +"Called with a name as a parameter on the first use, then used later without the parameter to display the name that has already been defined." +msgstr "" +"Имя (Name).\n" +"При первом использовании вызывается с именем в качестве параметра, затем используется без параметра для отображения уже определенного имени." + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:362 +#, no-wrap +msgid "`.Pa`" +msgstr "`.Pa`" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:364 +#, no-wrap +msgid "" +"Path to a file.\n" +"Used to mark up filenames and directory paths." +msgstr "" +"Путь к файлу (Path to a file).\n" +"Используется для обозначения имен файлов и путей к каталогам." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:367 +#, no-wrap +msgid "Sample Manual Page Structures" +msgstr "Пример структуры страницы руководства" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:370 +msgid "" +"This section shows minimal desired man page contents for several common " +"categories of manual pages." +msgstr "" +"Этот раздел демонстрирует минимально желаемое содержание man-страниц для " +"нескольких распространённых категорий руководств." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:372 +#, no-wrap +msgid "Section 1 or 8 Command" +msgstr "Раздел 1 или 8 — Команда" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:375 +msgid "The preferred basic structure for a section 1 or 8 command:" +msgstr "Предпочтительная базовая структура для раздела 1 или 8 — Команда:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:396 +#, no-wrap +msgid "" +".Dd August 25, 2017\n" +".Dt EXAMPLECMD 8\n" +".Os\n" +".Sh NAME\n" +".Nm examplecmd\n" +".Nd \"command to demonstrate section 1 and 8 man pages\"\n" +".Sh SYNOPSIS\n" +".Nm\n" +".Op Fl v\n" +".Sh DESCRIPTION\n" +"The\n" +".Nm\n" +"utility does nothing except demonstrate a trivial but complete\n" +"manual page for a section 1 or 8 command.\n" +".Sh SEE ALSO\n" +".Xr exampleconf 5\n" +".Sh AUTHORS\n" +".An Firstname Lastname Aq Mt flastname@example.com\n" +msgstr "" +".Dd August 25, 2017\n" +".Dt EXAMPLECMD 8\n" +".Os\n" +".Sh NAME\n" +".Nm examplecmd\n" +".Nd \"command to demonstrate section 1 and 8 man pages\"\n" +".Sh SYNOPSIS\n" +".Nm\n" +".Op Fl v\n" +".Sh DESCRIPTION\n" +"The\n" +".Nm\n" +"utility does nothing except demonstrate a trivial but complete\n" +"manual page for a section 1 or 8 command.\n" +".Sh SEE ALSO\n" +".Xr exampleconf 5\n" +".Sh AUTHORS\n" +".An Firstname Lastname Aq Mt flastname@example.com\n" + +#. type: Title === +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:399 +#, no-wrap +msgid "Section 4 Device Driver" +msgstr "Раздел 4 — Драйверы устройств" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:402 +msgid "The preferred basic structure for a section 4 device driver:" +msgstr "Предпочтительная базовая структура для раздела 4 — драйверы устройств:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:458 +#, no-wrap +msgid "" +".Dd August 25, 2017\n" +".Dt EXAMPLEDRIVER 4\n" +".Os\n" +".Sh NAME\n" +".Nm exampledriver\n" +".Nd \"driver to demonstrate section 4 man pages\"\n" +".Sh SYNOPSIS\n" +"To compile this driver into the kernel, add this line to the\n" +"kernel configuration file:\n" +".Bd -ragged -offset indent\n" +".Cd \"device exampledriver\"\n" +".Ed\n" +".Pp\n" +"To load the driver as a module at boot, add this line to\n" +".Xr loader.conf 5 :\n" +".Bd -literal -offset indent\n" +"exampledriver_load=\"YES\"\n" +".Ed\n" +".Sh DESCRIPTION\n" +"The\n" +".Nm\n" +"driver provides an opportunity to show a skeleton or template\n" +"file for section 4 manual pages.\n" +".Sh HARDWARE\n" +"The\n" +".Nm\n" +"driver supports these cards from the aptly-named Nonexistent\n" +"Technologies:\n" +".Pp\n" +".Bl -bullet -compact\n" +".It\n" +"NT X149.2 (single and dual port)\n" +".It\n" +"NT X149.8 (single port)\n" +".El\n" +".Sh DIAGNOSTICS\n" +".Bl -diag\n" +".It \"flashing green light\"\n" +"Something bad happened.\n" +".It \"flashing red light\"\n" +"Something really bad happened.\n" +".It \"solid black light\"\n" +"Power cord is unplugged.\n" +".El\n" +".Sh SEE ALSO\n" +".Xr example 8\n" +".Sh HISTORY\n" +"The\n" +".Nm\n" +"device driver first appeared in\n" +".Fx 49.2 .\n" +".Sh AUTHORS\n" +".An Firstname Lastname Aq Mt flastname@example.com\n" +msgstr "" +".Dd August 25, 2017\n" +".Dt EXAMPLEDRIVER 4\n" +".Os\n" +".Sh NAME\n" +".Nm exampledriver\n" +".Nd \"driver to demonstrate section 4 man pages\"\n" +".Sh SYNOPSIS\n" +"To compile this driver into the kernel, add this line to the\n" +"kernel configuration file:\n" +".Bd -ragged -offset indent\n" +".Cd \"device exampledriver\"\n" +".Ed\n" +".Pp\n" +"To load the driver as a module at boot, add this line to\n" +".Xr loader.conf 5 :\n" +".Bd -literal -offset indent\n" +"exampledriver_load=\"YES\"\n" +".Ed\n" +".Sh DESCRIPTION\n" +"The\n" +".Nm\n" +"driver provides an opportunity to show a skeleton or template\n" +"file for section 4 manual pages.\n" +".Sh HARDWARE\n" +"The\n" +".Nm\n" +"driver supports these cards from the aptly-named Nonexistent\n" +"Technologies:\n" +".Pp\n" +".Bl -bullet -compact\n" +".It\n" +"NT X149.2 (single and dual port)\n" +".It\n" +"NT X149.8 (single port)\n" +".El\n" +".Sh DIAGNOSTICS\n" +".Bl -diag\n" +".It \"flashing green light\"\n" +"Something bad happened.\n" +".It \"flashing red light\"\n" +"Something really bad happened.\n" +".It \"solid black light\"\n" +"Power cord is unplugged.\n" +".El\n" +".Sh SEE ALSO\n" +".Xr example 8\n" +".Sh HISTORY\n" +"The\n" +".Nm\n" +"device driver first appeared in\n" +".Fx 49.2 .\n" +".Sh AUTHORS\n" +".An Firstname Lastname Aq Mt flastname@example.com\n" + +#. type: Title === +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:461 +#, no-wrap +msgid "Section 5 Configuration File" +msgstr "Раздел 5 — Файл конфигурации" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:464 +msgid "The preferred basic structure for a section 5 configuration file:" +msgstr "Предпочтительная базовая структура для раздела 5 — файл конфигурации:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:480 +#, no-wrap +msgid "" +".Dd August 25, 2017\n" +".Dt EXAMPLECONF 5\n" +".Os\n" +".Sh NAME\n" +".Nm example.conf\n" +".Nd \"config file to demonstrate section 5 man pages\"\n" +".Sh DESCRIPTION\n" +".Nm\n" +"is an example configuration file.\n" +".Sh SEE ALSO\n" +".Xr example 8\n" +".Sh AUTHORS\n" +".An Firstname Lastname Aq Mt flastname@example.com\n" +msgstr "" +".Dd August 25, 2017\n" +".Dt EXAMPLECONF 5\n" +".Os\n" +".Sh NAME\n" +".Nm example.conf\n" +".Nd \"config file to demonstrate section 5 man pages\"\n" +".Sh DESCRIPTION\n" +".Nm\n" +"is an example configuration file.\n" +".Sh SEE ALSO\n" +".Xr example 8\n" +".Sh AUTHORS\n" +".An Firstname Lastname Aq Mt flastname@example.com\n" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:483 +#, no-wrap +msgid "Testing" +msgstr "Тестирование" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:490 +msgid "" +"Testing a new manual page can be challenging. Fortunately there are some " +"tools that can assist in the task. Some of them, like man:man[1], do not " +"look in the current directory. It is a good idea to prefix the filename " +"with `./` if the new manual page is in the current directory. An absolute " +"path can also be used." +msgstr "" +"Проверка новой страницы руководства может быть непростой задачей. К " +"счастью, существуют инструменты, которые могут помочь в этом. Некоторые из " +"них, например man:man[1], не ищут в текущем каталоге. Хорошей практикой " +"является добавление префикса `./` к имени файла, если новая страница " +"руководства находится в текущем каталоге. Также можно использовать " +"абсолютный путь." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:492 +msgid "Use man:mandoc[1]'s linter to check for parsing errors:" +msgstr "Используйте линтер man:mandoc[1] для проверки на ошибки парсинга:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:496 +#, no-wrap +msgid "% mandoc -T lint ./mynewmanpage.8\n" +msgstr "% mandoc -T lint ./mynewmanpage.8\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:499 +msgid "Use package:textproc/igor[] to proofread the manual page:" +msgstr "Используйте package:textproc/igor[] для проверки страниц Справочника:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:503 +#, no-wrap +msgid "% igor ./mynewmanpage.8\n" +msgstr "% igor ./mynewmanpage.8\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:508 +msgid "" +"Another useful tool is package:textproc/vale[]. It does not support the " +"man:mdoc[7] syntax but the rendered manual page can be read from standard " +"input:" +msgstr "" +"Еще один полезный инструмент — package:textproc/vale[]. Он не поддерживает " +"синтаксис man:mdoc[7], но обработанную страницу руководства можно прочитать " +"из стандартного ввода:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:512 +#, no-wrap +msgid "% man ls | vale\n" +msgstr "% man ls | vale\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:516 +msgid "" +"package:textproc/vale[] is highly configurable. It is advised to read its " +"documentation." +msgstr "" +"package:textproc/vale[] обладает высокой степенью настраиваемости. " +"Рекомендуется ознакомиться с его документацией." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:518 +msgid "Use man:man[1] to check the final result of your changes:" +msgstr "" +"Используйте man:man[1] для проверки конечного результата ваших изменений:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:522 +#, no-wrap +msgid "% man ./mynewmanpage.8\n" +msgstr "% man ./mynewmanpage.8\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:525 +msgid "" +"You can use man:col[1] to filter the output of man:man[1] and get rid of the " +"backspace characters before loading the result in your favorite editor for " +"spell checking:" +msgstr "" +"Вы можете использовать man:col[1] для фильтрации вывода man:man[1] и " +"удаления backspace-символов перед загрузкой результата в ваш любимый " +"редактор для проверки орфографии:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:529 +#, no-wrap +msgid "% man ./mynewmanpage.8 | col -b | vim -R -\n" +msgstr "% man ./mynewmanpage.8 | col -b | vim -R -\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:534 +msgid "" +"Spell-checking with fully-featured dictionaries is encouraged, and can be " +"accomplished by using package:textproc/hunspell[] or package:textproc/" +"aspell[] combined with package:textproc/en-hunspell[] or package:textproc/en-" +"aspell[], respectively. For instance:" +msgstr "" +"Проверка орфографии с использованием полнофункциональных словарей " +"рекомендуется и может быть выполнена с помощью package:textproc/hunspell[] " +"или package:textproc/aspell[] в сочетании с package:textproc/en-hunspell[] " +"или package:textproc/en-aspell[] соответственно. Например:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:538 +#, no-wrap +msgid "% aspell check --lang=en --mode=nroff ./mynewmanpage.8\n" +msgstr "% aspell check --lang=en --mode=nroff ./mynewmanpage.8\n" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:541 +#, no-wrap +msgid "Example Manual Pages to Use as Templates" +msgstr "Примеры страниц Справочника для использования в качестве шаблонов" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:544 +msgid "Some manual pages are suitable as in-depth examples." +msgstr "Некоторые страницы Справочника могут служить подробными примерами." + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:549 +#, no-wrap +msgid "Manual Page" +msgstr "Страница Справочника" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:552 +#, no-wrap +msgid "Path to Source Location" +msgstr "Путь к расположению исходного кода" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:553 +#, no-wrap +msgid "man:cp[1]" +msgstr "man:cp[1]" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:555 +#, no-wrap +msgid "[.filename]#/usr/src/bin/cp/cp.1#" +msgstr "[.filename]#/usr/src/bin/cp/cp.1#" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:556 +#, no-wrap +msgid "man:vt[4]" +msgstr "man:vt[4]" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:558 +#, no-wrap +msgid "[.filename]#/usr/src/share/man/man4/vt.4#" +msgstr "[.filename]#/usr/src/share/man/man4/vt.4#" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:559 +#, no-wrap +msgid "man:crontab[5]" +msgstr "man:crontab[5]" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:561 +#, no-wrap +msgid "[.filename]#/usr/src/usr.sbin/cron/crontab/crontab.5#" +msgstr "[.filename]#/usr/src/usr.sbin/cron/crontab/crontab.5#" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:562 +#, no-wrap +msgid "man:gpart[8]" +msgstr "man:gpart[8]" + +#. type: Table +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:563 +#, no-wrap +msgid "[.filename]#/usr/src/sbin/geom/class/part/gpart.8#" +msgstr "[.filename]#/usr/src/sbin/geom/class/part/gpart.8#" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:566 +#, no-wrap +msgid "Resources" +msgstr "Ресурсы" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:569 +msgid "Resources for manual page writers:" +msgstr "Ресурсы для авторов справочных страниц:" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:571 +msgid "man:man[1]" +msgstr "man:man[1]" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:572 +msgid "man:mandoc[1]" +msgstr "man:mandoc[1]" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:573 +msgid "man:style.mdoc[5]" +msgstr "man:style.mdoc[5]" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:574 +msgid "man:groff_mdoc[7]" +msgstr "man:groff_mdoc[7]" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:575 +msgid "http://manpages.bsd.lv/mdoc.html[Practical UNIX Manuals: mdoc]" +msgstr "http://manpages.bsd.lv/mdoc.html[Практические руководства UNIX: mdoc]" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:575 +msgid "http://manpages.bsd.lv/history.html[History of UNIX Manpages]" +msgstr "http://manpages.bsd.lv/history.html[История man-страниц UNIX]" diff --git a/documentation/content/ru/books/fdp-primer/overview/_index.adoc b/documentation/content/ru/books/fdp-primer/overview/_index.adoc new file mode 100644 index 0000000000..040a5a239a --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/overview/_index.adoc @@ -0,0 +1,321 @@ +--- +description: 'Обзор процесса создания документации FreeBSD' +next: books/fdp-primer/tools +params: + path: /books/fdp-primer/overview/ +prev: books/fdp-primer/preface +showBookMenu: true +tags: ["overview", "FreeBSD Documentation Project", "quick start"] +title: 'Глава 1. Обзор' +weight: 2 +--- + +[[overview]] += Обзор +:doctype: book +:toc: macro +:toclevels: 1 +:icons: font +:sectnums: +:sectnumlevels: 6 +:sectnumoffset: 1 +:partnums: +:source-highlighter: rouge +:experimental: +:images-path: books/fdp-primer/ + +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 (FDP). Качественная документация крайне важна для успеха FreeBSD, и мы очень высоко ценим ваш вклад. + +Этот документ описывает организацию FDP, как писать и отправлять документацию, а также как эффективно использовать доступные инструменты. + +Все желающие могут внести свой вклад в FDP. Готовность помочь — единственное требование для участия. + +Это руководство показывает, как: + +* Понять роль документации и её место в экосистеме. +* Определите, какие части FreeBSD поддерживаются FDP. +* Установить необходимые инструменты и файлы документации. +* Внести изменения в документацию. +* Представить изменения для проверки и включения в документацию FreeBSD. + +[[overview-documentation-ecosystem]] +== Документация в экосистеме FreeBSD + +Все документы создаются для пользы читателей, а не их авторов или сопровождающих. Они должны адаптироваться к читателю, а не ожидать, что читатель адаптируется к ним. + +Никогда не вините читателя за: + +* невозможность легко или вообще использовать документ +* если документ показался ему непонятным +* непонимание документа или того, как его применить +* если он не нашел явный ответ или шаги, чтобы логически прийти к нему + +Вместо этого подтвердите, что документ: + +* недоступный +* запутанный +* трудно понимаемый или применимый +* неполный + +Затем создайте документ: + +* более доступный +* менее запутанный +* более ясный +* более полный + +Используйте следующие методы: + +* Примените link:https://webaim.org/intro/#principles[лучшие практики доступности], чтобы исправить выявленную проблему и любые подобные, которые обнаружите +* переработайте или уточните запутанную структуру или язык +* добавьте соответствующие примеры к части, которая трудна для понимания или применения +* заполните пробелы или добавьте недостающие промежуточные этапы + +[[overview-quick-start]] +== Быстрый старт + +Некоторые подготовительные шаги необходимо выполнить перед редактированием документации FreeBSD. Сначала подпишитесь на рассылку {freebsd-doc}. Некоторые участники команды также общаются в IRC-канале `#bsddocs` на http://www.efnet.org/[EFnet]. Эти люди могут помочь с вопросами или проблемами, связанными с документацией. + +[[freebsd-installation-process]] +=== Процесс установки FreeBSD + +[.procedure] +==== +. Установите эти пакеты. _Мета-порт_ `docproj` устанавливает все приложения, необходимые для работы с документацией FreeBSD. ++ +[source, shell] +.... +# pkg install docproj +.... ++ +. Установите локальную рабочую копию документации из репозитория FreeBSD в [.filename]#~/doc# (см. crossref:working-copy[working-copy,Рабочая копия]). ++ +[source, shell] +.... +% git clone https://git.FreeBSD.org/doc.git ~/doc +.... ++ +. Отредактируйте файлы документации, которые требуют изменений. Если файлу нужны значительные изменения, обратитесь за советом в список рассылки. ++ +Просмотрите вывод и отредактируйте файл, чтобы исправить указанные проблемы, затем повторно запустите команду для поиска оставшихся проблем. Повторяйте, пока все ошибки не будут устранены. ++ +. *_Always_* build and review the changes before submitting them. Running `make` in the `documentation` or `website` subdirectories will generate the documentation in HTML format. ++ +[source, shell] +.... +% make +.... ++ +Для сокращения времени компиляции может быть скомпилирован только один язык: ++ +[source, shell] +.... +% make DOC_LANG=en +.... ++ +Результаты сборки сохраняются в [.filename]#~/doc/documentation/public/en/articles/# и [.filename]#~/doc/documentation/public/en/books/#. ++ +. Просмотрите вывод сборки и убедитесь, что правки не содержат опечаток, проблем с версткой или ошибок. Если в процессе сборки обнаружены ошибки, отредактируйте проблемные файлы, чтобы исправить все возникшие проблемы, затем снова запустите команду сборки, пока все ошибки не будут устранены. ++ +. Добавьте все файлы с помощью `git add .`, затем просмотрите изменения с помощью `git diff`. Например: ++ +[source, shell] +.... +% git add . +% git diff --staged +.... ++ +Убедитесь, что все необходимые файлы включены, затем зафиксируйте изменение в вашей локальной ветке и создайте патч с помощью `git format-patch` ++ +[source, shell] +.... +% git commit +% git format-patch origin/main +.... ++ +Патч, созданный с помощью `git format-patch`, будет содержать идентификатор автора и адреса электронной почты, что упрощает применение разработчиками (с помощью `git am`) и правильное указание авторства. ++ +[IMPORTANT] +====== +Чтобы упростить применение патча коммиттерами в их рабочей копии дерева документации, пожалуйста, сгенерируйте файл [.filename]#.diff# из корня вашего дерева документации. +====== ++ +В приведенном выше примере были внесены изменения в раздел *bsdinstall* Руководства. ++ +. Отправьте патч или diff-файл с помощью веб-системы https://bugs.FreeBSD.org/bugzilla/enter_bug.cgi?product=Documentation[Problem Report]. При использовании веб-формы укажите в поле Summary _[patch] краткое описание проблемы_. Выберите Component `Documentation`. В поле Description введите краткое описание изменений и любые важные детали о них. Используйте кнопку btn:[Add an attachment], чтобы прикрепить патч или diff-файл. Наконец, нажмите кнопку btn:[Submit Bug], чтобы отправить ваш diff в систему отчетов об ошибках. +==== + +[[gnu-linux-installation-process]] +=== Процесс установки GNU/Linux + +[.procedure] +==== +. Установите эти пакеты в системах на основе apt, таких как Debian или Ubuntu. В других дистрибутивах GNU/Linux названия пакетов могут отличаться. В случае сомнений обратитесь к менеджеру пакетов вашего дистрибутива. ++ +[source, shell] +.... +# apt install hugo ruby-asciidoctor ruby-asciidoctor-pdf ruby-rouge git bmake +.... ++ +. Установите локальную рабочую копию документации из репозитория FreeBSD в [.filename]#~/doc# (см. crossref:working-copy[working-copy,Рабочая копия]). ++ +[source, shell] +.... +% git clone https://git.FreeBSD.org/doc.git ~/doc +.... ++ +. Отредактируйте файлы документации, которые требуют изменений. Если файлу нужны значительные изменения, обратитесь за советом в список рассылки. ++ +Просмотрите вывод и отредактируйте файлы, чтобы исправить обнаруженные проблемы, затем снова запустите команду, чтобы найти оставшиеся проблемы. Повторяйте, пока все ошибки не будут устранены. ++ +. Всегда собирайте и тестируйте изменения перед их отправкой. Запуск `bmake` в подкаталогах `documentation` или `website` сгенерирует документацию в формате HTML. ++ +[source, shell] +.... +% bmake run LOCALBASE=/usr +.... ++ +. Добавьте все файлы с помощью `git add .`, затем просмотрите изменения с помощью `git diff`. Например: ++ +[source, shell] +.... +% git add . +% git diff --staged +.... ++ +Убедитесь, что все необходимые файлы включены, затем зафиксируйте изменение в вашей локальной ветке и создайте патч с помощью `git format-patch` ++ +[source, shell] +.... +% git commit +% git format-patch origin/main +.... ++ +Патч, созданный с помощью `git format-patch`, будет содержать идентификатор автора и адреса электронной почты, что упрощает применение разработчиками (с помощью `git am`) и правильное указание авторства. ++ +[IMPORTANT] +====== +Чтобы упростить применение патча коммиттерами в их рабочей копии дерева документации, пожалуйста, сгенерируйте файл [.filename]#.diff# из корня вашего дерева документации. +====== ++ +. Отправьте патч или diff-файл с помощью веб-системы https://bugs.FreeBSD.org/bugzilla/enter_bug.cgi?product=Documentation[Problem Report]. При использовании веб-формы укажите в поле _Summary_ краткое описание проблемы. Выберите компонент `Documentation`. В поле _Description_ введите краткое описание проблемы из поля _Summary_ и добавьте _patch_ в поле _Keywords_. Используйте кнопку btn:[Add an attachment], чтобы прикрепить патч или diff-файл. Наконец, нажмите кнопку btn:[Submit Bug], чтобы отправить ваш diff в систему отчетов об ошибках. +==== + +[[mac-os-installation-process]] +=== Процесс установки macOS(R) + +[.procedure] +==== + +. Установите эти пакеты с помощью link:https://brew.sh/[Homebrew] и link:https://rubygems.org/[RubyGem]. ++ +[source, shell] +.... +$ brew install hugo ruby git bmake +.... ++ +. Добавьте Ruby в Path. ++ +[source, shell] +.... +$ echo 'export PATH="$(brew --prefix ruby)/bin:$PATH"' >> ~/.zshrc +$ echo 'export PATH="$(brew --prefix hugo)/bin:$PATH"' >> ~/.zshrc +$ echo 'export GEM_PATH="$(gem environment gemdir)"' >> ~/.zshrc +$ echo 'export PATH="${GEM_PATH}/bin:$PATH"' >> ~/.zshrc +$ source ~/.zshrc +.... +. Установите пакет rouge с помощью RubyGem. ++ +[source, shell] +.... +$ sudo gem install rouge asciidoctor asciidoctor-pdf asciidoctor-epub3 +.... ++ +. Установите локальную рабочую копию документации из репозитория FreeBSD в [.filename]#~/doc# (см. crossref:working-copy[working-copy,Рабочая копия]). ++ +[source, shell] +.... +$ git clone https://git.FreeBSD.org/doc.git ~/doc +.... ++ +. Отредактируйте файлы документации, которые требуют изменений. Если файлу нужны значительные изменения, обратитесь за советом в список рассылки. ++ +Просмотрите вывод и отредактируйте файлы, чтобы исправить обнаруженные проблемы, затем снова запустите команду, чтобы найти оставшиеся проблемы. Повторяйте, пока все ошибки не будут устранены. ++ +. Всегда собирайте и тестируйте изменения перед их отправкой. Запуск `bmake` в подкаталогах `documentation` или `website` сгенерирует документацию в формате HTML. ++ +[source, shell] +.... +$ bmake run USE_RUBYGEMS=YES RUBY_CMD=$(brew --prefix ruby)/bin/ruby +.... +. Добавьте все файлы с помощью `git add .`, затем просмотрите изменения с помощью `git diff`. Например: ++ +[source, shell] +.... +% git add . +% git diff --staged +.... ++ +Убедитесь, что все необходимые файлы включены, затем зафиксируйте изменение в вашей локальной ветке и создайте патч с помощью `git format-patch` ++ +[source, shell] +.... +% git commit +% git format-patch origin/main +.... ++ +Патч, созданный с помощью `git format-patch`, будет содержать идентификатор автора и адреса электронной почты, что упрощает применение разработчиками (с помощью `git am`) и правильное указание авторства. ++ +[IMPORTANT] +====== +Чтобы упростить применение патча коммиттерами в их рабочей копии дерева документации, пожалуйста, сгенерируйте файл [.filename]#.diff# из корня вашего дерева документации. +====== ++ +. Отправьте патч или diff-файл с помощью веб-системы https://bugs.FreeBSD.org/bugzilla/enter_bug.cgi?product=Documentation[Problem Report]. При использовании веб-формы укажите в поле _Summary_ краткое описание проблемы. Выберите компонент `Documentation`. В поле _Description_ введите краткое описание проблемы из поля _Summary_ и добавьте _patch_ в поле _Keywords_. Используйте кнопку btn:[Add an attachment], чтобы прикрепить патч или diff-файл. Наконец, нажмите кнопку btn:[Submit Bug], чтобы отправить ваш diff в систему отчетов об ошибках. +==== + +[[overview-doc]] +== Набор документации FreeBSD + +FDP отвечает за четыре категории документации FreeBSD. + +* _Руководство_: Руководство представляет собой всеобъемлющий онлайн-ресурс и справочник для пользователей FreeBSD. +* _FAQ_: В разделе Часто задаваемых вопросов (FAQ) используется формат коротких вопросов и ответов для решения вопросов, часто задаваемых в различных почтовых рассылках и форумах, посвящённых FreeBSD. Такой формат не подразумевает длинных и развёрнутых ответов. +* _Справочник_: Страницы Справочника (man-страницы) системы на английском языке обычно не создаются FDP, так как они являются частью базовой системы. Однако FDP может перефразировать части существующих руководств, чтобы сделать их понятнее или исправить неточности. +* _Веб-сайт_: Это основное представительство FreeBSD в интернете, доступное по адресу https://www.freebsd.org/[https://www.FreeBSD.org/] и на множестве зеркал по всему миру. Веб-сайт обычно становится первым знакомством нового пользователя с FreeBSD. + +Команды переводчиков отвечают за перевод Руководства и веб-сайта на разные языки. На данный момент руководства (man-страницы) не переводятся. + +Исходные тексты документации для веб-сайта FreeBSD, Handbook и FAQ доступны в репозитории документации по адресу `https://cgit.freebsd.org/doc/`. + +Исходный код страниц справочника доступен в отдельном репозитории, расположенном по адресу `https://cgit.freebsd.org/src/`. + +Документация сообщений о фиксациях доступна с помощью `git log`. Сообщения о фиксациях также архивируются по ссылке:link:{dev-commits-doc-all}. + +Веб-интерфейсы для обоих репозиториев доступны по адресам https://cgit.freebsd.org/doc/[] и https://cgit.freebsd.org/src/[]. + +Большое количество авторов участвовало в написании руководств или инструкций по FreeBSD. Некоторые из этих документов хранятся в рамках файлов FDP. В других случаях авторы предпочли лпубликовать документацию отдельно. FDP стремится предоставить ссылки на как можно большее количество такой внешней документации. diff --git a/documentation/content/ru/books/fdp-primer/overview/_index.po b/documentation/content/ru/books/fdp-primer/overview/_index.po new file mode 100644 index 0000000000..2779c0823d --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/overview/_index.po @@ -0,0 +1,721 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR The FreeBSD Project +# This file is distributed under the same license as the FreeBSD Documentation package. +# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025. +msgid "" +msgstr "" +"Project-Id-Version: FreeBSD Documentation VERSION\n" +"POT-Creation-Date: 2025-09-20 14:02+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/" +"documentation/booksfdp-primeroverview_index/ru/>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.17\n" + +#. type: Yaml Front Matter Hash Value: description +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:1 +#, no-wrap +msgid "Overview about the FreeBSD Documentation Process" +msgstr "Обзор процесса создания документации FreeBSD" + +#. type: Yaml Front Matter Hash Value: title +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:1 +#, no-wrap +msgid "Chapter 1. Overview" +msgstr "Глава 1. Обзор" + +#. type: Title = +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:14 +#, no-wrap +msgid "Overview" +msgstr "Обзор" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:53 +msgid "" +"Welcome to the FreeBSD Documentation Project (FDP). Quality documentation " +"is crucial to the success of FreeBSD, and we value your contributions very " +"highly." +msgstr "" +"Добро пожаловать в Проект документации FreeBSD (FDP). Качественная " +"документация крайне важна для успеха FreeBSD, и мы очень высоко ценим ваш " +"вклад." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:55 +msgid "" +"This document describes how the FDP is organized, how to write and submit " +"documentation, and how to effectively use the available tools." +msgstr "" +"Этот документ описывает организацию FDP, как писать и отправлять " +"документацию, а также как эффективно использовать доступные инструменты." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:58 +msgid "" +"Everyone is welcome to contribute to the FDP. Willingness to contribute is " +"the only membership requirement." +msgstr "" +"Все желающие могут внести свой вклад в FDP. Готовность помочь — единственное " +"требование для участия." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:60 +msgid "This primer shows how to:" +msgstr "Это руководство показывает, как:" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:62 +msgid "Understand the role of documentation and its place in the ecosystem." +msgstr "Понять роль документации и её место в экосистеме." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:63 +msgid "Identify which parts of FreeBSD are maintained by the FDP." +msgstr "Определите, какие части FreeBSD поддерживаются FDP." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:64 +msgid "Install the required documentation tools and files." +msgstr "Установить необходимые инструменты и файлы документации." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:65 +msgid "Make changes to the documentation." +msgstr "Внести изменения в документацию." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:66 +msgid "" +"Submit changes back for review and inclusion in the FreeBSD documentation." +msgstr "Представить изменения для проверки и включения в документацию FreeBSD." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:68 +#, no-wrap +msgid "Documentation in the FreeBSD Ecosystem" +msgstr "Документация в экосистеме FreeBSD" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:72 +msgid "" +"All documents are for the benefit of their readers, not their writers or " +"caretakers. They should adapt to the reader and not expect the reader to " +"adapt to them." +msgstr "" +"Все документы создаются для пользы читателей, а не их авторов или " +"сопровождающих. Они должны адаптироваться к читателю, а не ожидать, что " +"читатель адаптируется к ним." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:74 +msgid "Never blame the reader for:" +msgstr "Никогда не вините читателя за:" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:76 +msgid "being unable to make use of a document easily or at all" +msgstr "невозможность легко или вообще использовать документ" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:77 +msgid "finding a document confusing" +msgstr "если документ показался ему непонятным" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:78 +msgid "not understanding a document or how to apply it" +msgstr "непонимание документа или того, как его применить" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:79 +msgid "" +"not finding an explicit answer or successfully bridging gaps (or connecting " +"dots) to reason their way to one" +msgstr "если он не нашел явный ответ или шаги, чтобы логически прийти к нему" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:81 +msgid "Instead, acknowledge that the document is:" +msgstr "Вместо этого подтвердите, что документ:" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:83 +msgid "inaccessible" +msgstr "недоступный" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:84 +msgid "confusing" +msgstr "запутанный" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:85 +msgid "hard to understand or apply" +msgstr "трудно понимаемый или применимый" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:86 +msgid "incomplete" +msgstr "неполный" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:88 +msgid "Then, make the document:" +msgstr "Затем создайте документ:" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:90 +msgid "more accessible" +msgstr "более доступный" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:91 +msgid "less confusing" +msgstr "менее запутанный" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:92 +msgid "clearer" +msgstr "более ясный" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:93 +msgid "more complete" +msgstr "более полный" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:95 +msgid "Use the following methods:" +msgstr "Используйте следующие методы:" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:97 +msgid "" +"apply link:https://webaim.org/intro/#principles[accessibility best " +"practices] to correct the problem reported and any similar ones you find" +msgstr "" +"Примените link:https://webaim.org/intro/#principles[лучшие практики " +"доступности], чтобы исправить выявленную проблему и любые подобные, которые " +"обнаружите" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:98 +msgid "rework or clarify the confusing structure or language" +msgstr "переработайте или уточните запутанную структуру или язык" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:99 +msgid "add relevant examples to the part that is hard to understand or apply" +msgstr "" +"добавьте соответствующие примеры к части, которая трудна для понимания или " +"применения" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:100 +msgid "fill in the gaps or add the missing stepping stones" +msgstr "заполните пробелы или добавьте недостающие промежуточные этапы" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:102 +#, no-wrap +msgid "Quick Start" +msgstr "Быстрый старт" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:108 +msgid "" +"Some preparatory steps must be taken before editing the FreeBSD " +"documentation. First, subscribe to the {freebsd-doc}. Some team members " +"also interact on the `#bsddocs` IRC channel on http://www.efnet.org/" +"[EFnet]. These people can help with questions or problems involving the " +"documentation." +msgstr "" +"Некоторые подготовительные шаги необходимо выполнить перед редактированием " +"документации FreeBSD. Сначала подпишитесь на рассылку {freebsd-doc}. " +"Некоторые участники команды также общаются в IRC-канале `#bsddocs` на http://" +"www.efnet.org/[EFnet]. Эти люди могут помочь с вопросами или проблемами, " +"связанными с документацией." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:110 +#, no-wrap +msgid "FreeBSD installation process" +msgstr "Процесс установки FreeBSD" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:115 +msgid "" +"Install these packages. The `docproj` _meta-port_ installs all the " +"applications required to do useful work with the FreeBSD documentation." +msgstr "" +"Установите эти пакеты. _Мета-порт_ `docproj` устанавливает все приложения, " +"необходимые для работы с документацией FreeBSD." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:119 +#, no-wrap +msgid "# pkg install docproj\n" +msgstr "# pkg install docproj\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:122 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:196 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:278 +msgid "" +"Install a local working copy of the documentation from the FreeBSD " +"repository in [.filename]#~/doc# (see crossref:working-copy[working-copy,The " +"Working Copy])." +msgstr "" +"Установите локальную рабочую копию документации из репозитория FreeBSD в " +"[.filename]#~/doc# (см. crossref:working-copy[working-copy,Рабочая копия])." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:126 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:200 +#, no-wrap +msgid "% git clone https://git.FreeBSD.org/doc.git ~/doc\n" +msgstr "% git clone https://git.FreeBSD.org/doc.git ~/doc\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:129 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:203 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:285 +msgid "" +"Edit the documentation files that require changes. If a file needs major " +"changes, consult the mailing list for input." +msgstr "" +"Отредактируйте файлы документации, которые требуют изменений. Если файлу " +"нужны значительные изменения, обратитесь за советом в список рассылки." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:132 +msgid "" +"Review the output and edit the file to fix any problems shown, then rerun " +"the command to find any remaining problems. Repeat until all of the errors " +"are resolved." +msgstr "" +"Просмотрите вывод и отредактируйте файл, чтобы исправить указанные проблемы, " +"затем повторно запустите команду для поиска оставшихся проблем. Повторяйте, " +"пока все ошибки не будут устранены." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:134 +#, fuzzy +#| msgid "" +#| "*_Always_* build and review the changes before submitting them. Running " +#| "`make` in the `documentation` or `website` subdirectories will generate " +#| "the documentation in HTML format.\n" +msgid "" +"*_Always_* build and review the changes before submitting them. Running " +"`make` in the `documentation` or `website` subdirectories will generate the " +"documentation in HTML format." +msgstr "" +"*_Всегда_* собирайте и проверяйте изменения перед отправкой. Запуск команды " +"`make` в подкаталогах `documentation` или `website` сгенерирует документацию " +"в формате HTML.\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:138 +#, no-wrap +msgid "% make\n" +msgstr "% make\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:141 +msgid "To reduce compile time, only one language can be compiled:" +msgstr "" +"Для сокращения времени компиляции может быть скомпилирован только один язык:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:145 +#, no-wrap +msgid "% make DOC_LANG=en\n" +msgstr "% make DOC_LANG=en\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:148 +msgid "" +"The build output is stored in [.filename]#~/doc/documentation/public/en/" +"articles/# and [.filename]#~/doc/documentation/public/en/books/#." +msgstr "" +"Результаты сборки сохраняются в [.filename]#~/doc/documentation/public/en/" +"articles/# и [.filename]#~/doc/documentation/public/en/books/#." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:150 +msgid "" +"Review the build output and ensure the edits are free from typos, layout " +"problems, or errors. If any errors are found during the build process, edit " +"the problematic files to fix any issues that show up, then run the build " +"command again until all errors are resolved." +msgstr "" +"Просмотрите вывод сборки и убедитесь, что правки не содержат опечаток, " +"проблем с версткой или ошибок. Если в процессе сборки обнаружены ошибки, " +"отредактируйте проблемные файлы, чтобы исправить все возникшие проблемы, " +"затем снова запустите команду сборки, пока все ошибки не будут устранены." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:152 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:215 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:296 +msgid "" +"Add all the files with `git add .`, then review the diff with `git diff`. " +"For example:" +msgstr "" +"Добавьте все файлы с помощью `git add .`, затем просмотрите изменения с " +"помощью `git diff`. Например:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:157 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:220 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:301 +#, no-wrap +msgid "" +"% git add .\n" +"% git diff --staged\n" +msgstr "" +"% git add .\n" +"% git diff --staged\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:160 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:223 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:304 +msgid "" +"Make sure that all required files are included, then commit the change to " +"your local branch and generate a patch with `git format-patch`" +msgstr "" +"Убедитесь, что все необходимые файлы включены, затем зафиксируйте изменение " +"в вашей локальной ветке и создайте патч с помощью `git format-patch`" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:165 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:228 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:309 +#, no-wrap +msgid "" +"% git commit\n" +"% git format-patch origin/main\n" +msgstr "" +"% git commit\n" +"% git format-patch origin/main\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:169 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:232 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:313 +msgid "" +"Patch generated with `git format-patch` will include author identity and " +"email addresses, making it easier for developers to apply (with `git am`) " +"and give proper credit." +msgstr "" +"Патч, созданный с помощью `git format-patch`, будет содержать идентификатор " +"автора и адреса электронной почты, что упрощает применение разработчиками (с " +"помощью `git am`) и правильное указание авторства." + +#. type: delimited block = 6 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:174 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:237 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:318 +msgid "" +"To make it easier for committers to apply the patch on their working copy of " +"the documentation tree, please generate the [.filename]#.diff# from the base " +"of your documentation tree." +msgstr "" +"Чтобы упростить применение патча коммиттерами в их рабочей копии дерева " +"документации, пожалуйста, сгенерируйте файл [.filename]#.diff# из корня " +"вашего дерева документации." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:177 +msgid "" +"In the example above, changes have been made to the *bsdinstall* portion of " +"the Handbook." +msgstr "" +"В приведенном выше примере были внесены изменения в раздел *bsdinstall* " +"Руководства." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:179 +msgid "" +"Submit the patch or diff file using the web-based https://bugs.FreeBSD.org/" +"bugzilla/enter_bug.cgi?product=Documentation[Problem Report] system. If " +"using the web form, enter a Summary of _[patch] short description of " +"problem_. Select the Component `Documentation`. In the Description field, " +"enter a short description of the changes and any important details about " +"them. Use the btn:[Add an attachment] button to attach the patch or diff " +"file. Finally, use the btn:[Submit Bug] button to submit your diff to the " +"problem report system." +msgstr "" +"Отправьте патч или diff-файл с помощью веб-системы https://bugs.FreeBSD.org/" +"bugzilla/enter_bug.cgi?product=Documentation[Problem Report]. При " +"использовании веб-формы укажите в поле Summary _[patch] краткое описание " +"проблемы_. Выберите Component `Documentation`. В поле Description введите " +"краткое описание изменений и любые важные детали о них. Используйте кнопку " +"btn:[Add an attachment], чтобы прикрепить патч или diff-файл. Наконец, " +"нажмите кнопку btn:[Submit Bug], чтобы отправить ваш diff в систему отчетов " +"об ошибках." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:182 +#, no-wrap +msgid "GNU/Linux installation process" +msgstr "Процесс установки GNU/Linux" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:189 +msgid "" +"Install these packages in apt-based systems like Debian or Ubuntu. On other " +"GNU/Linux distributions the package names may change. Consult your " +"distribution's package manager if in doubt." +msgstr "" +"Установите эти пакеты в системах на основе apt, таких как Debian или " +"Ubuntu. В других дистрибутивах GNU/Linux названия пакетов могут " +"отличаться. В случае сомнений обратитесь к менеджеру пакетов вашего " +"дистрибутива." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:193 +#, no-wrap +msgid "# apt install hugo ruby-asciidoctor ruby-asciidoctor-pdf ruby-rouge git bmake\n" +msgstr "# apt install hugo ruby-asciidoctor ruby-asciidoctor-pdf ruby-rouge git bmake\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:206 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:288 +msgid "" +"Review the output and edit the files to fix any problems shown, then rerun " +"the command to find any remaining problems. Repeat until all of the errors " +"are resolved." +msgstr "" +"Просмотрите вывод и отредактируйте файлы, чтобы исправить обнаруженные " +"проблемы, затем снова запустите команду, чтобы найти оставшиеся проблемы. " +"Повторяйте, пока все ошибки не будут устранены." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:208 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:290 +msgid "" +"Always build and test the changes before submitting them. Running `bmake` in " +"the `documentation` or `website` subdirectories will generate the " +"documentation in HTML format." +msgstr "" +"Всегда собирайте и тестируйте изменения перед их отправкой. Запуск `bmake` в " +"подкаталогах `documentation` или `website` сгенерирует документацию в " +"формате HTML." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:212 +#, no-wrap +msgid "% bmake run LOCALBASE=/usr\n" +msgstr "% bmake run LOCALBASE=/usr\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:245 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:326 +msgid "" +"Submit the patch or diff file using the web-based https://bugs.FreeBSD.org/" +"bugzilla/enter_bug.cgi?product=Documentation[Problem Report] system. If " +"using the web form, enter a Summary of _short description of problem_. " +"Select the Component `Documentation`. In the Description field, enter a " +"short description of the problem in the _Summary_ field and add _patch_ to " +"the _Keywords_ field. Use the btn:[Add an attachment] button to attach the " +"patch or diff file. Finally, use the btn:[Submit Bug] button to submit your " +"diff to the problem report system." +msgstr "" +"Отправьте патч или diff-файл с помощью веб-системы https://bugs.FreeBSD.org/" +"bugzilla/enter_bug.cgi?product=Documentation[Problem Report]. При " +"использовании веб-формы укажите в поле _Summary_ краткое описание проблемы. " +"Выберите компонент `Documentation`. В поле _Description_ введите краткое " +"описание проблемы из поля _Summary_ и добавьте _patch_ в поле _Keywords_. " +"Используйте кнопку btn:[Add an attachment], чтобы прикрепить патч или diff-" +"файл. Наконец, нажмите кнопку btn:[Submit Bug], чтобы отправить ваш diff в " +"систему отчетов об ошибках." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:248 +#, no-wrap +msgid "macOS(R) installation process" +msgstr "Процесс установки macOS(R)" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:254 +msgid "" +"Install these packages using link:https://brew.sh/[Homebrew] and " +"link:https://rubygems.org/[RubyGem]." +msgstr "" +"Установите эти пакеты с помощью link:https://brew.sh/[Homebrew] и " +"link:https://rubygems.org/[RubyGem]." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:258 +#, no-wrap +msgid "$ brew install hugo ruby git bmake\n" +msgstr "$ brew install hugo ruby git bmake\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:261 +msgid "Add Ruby to the Path." +msgstr "Добавьте Ruby в Path." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:269 +#, no-wrap +msgid "" +"$ echo 'export PATH=\"$(brew --prefix ruby)/bin:$PATH\"' >> ~/.zshrc\n" +"$ echo 'export PATH=\"$(brew --prefix hugo)/bin:$PATH\"' >> ~/.zshrc\n" +"$ echo 'export GEM_PATH=\"$(gem environment gemdir)\"' >> ~/.zshrc\n" +"$ echo 'export PATH=\"${GEM_PATH}/bin:$PATH\"' >> ~/.zshrc\n" +"$ source ~/.zshrc\n" +msgstr "" +"$ echo 'export PATH=\"$(brew --prefix ruby)/bin:$PATH\"' >> ~/.zshrc\n" +"$ echo 'export PATH=\"$(brew --prefix hugo)/bin:$PATH\"' >> ~/.zshrc\n" +"$ echo 'export GEM_PATH=\"$(gem environment gemdir)\"' >> ~/.zshrc\n" +"$ echo 'export PATH=\"${GEM_PATH}/bin:$PATH\"' >> ~/.zshrc\n" +"$ source ~/.zshrc\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:271 +msgid "Install the rouge package using RubyGem." +msgstr "Установите пакет rouge с помощью RubyGem." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:275 +#, no-wrap +msgid "$ sudo gem install rouge asciidoctor asciidoctor-pdf asciidoctor-epub3\n" +msgstr "$ sudo gem install rouge asciidoctor asciidoctor-pdf asciidoctor-epub3\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:282 +#, no-wrap +msgid "$ git clone https://git.FreeBSD.org/doc.git ~/doc\n" +msgstr "$ git clone https://git.FreeBSD.org/doc.git ~/doc\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:294 +#, no-wrap +msgid "$ bmake run USE_RUBYGEMS=YES RUBY_CMD=$(brew --prefix ruby)/bin/ruby\n" +msgstr "$ bmake run USE_RUBYGEMS=YES RUBY_CMD=$(brew --prefix ruby)/bin/ruby\n" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:329 +#, no-wrap +msgid "The FreeBSD Documentation Set" +msgstr "Набор документации FreeBSD" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:332 +msgid "The FDP is responsible for four categories of FreeBSD documentation." +msgstr "FDP отвечает за четыре категории документации FreeBSD." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:334 +msgid "" +"_Handbook_: The Handbook is the comprehensive online resource and reference " +"for FreeBSD users." +msgstr "" +"_Руководство_: Руководство представляет собой всеобъемлющий онлайн-ресурс и " +"справочник для пользователей FreeBSD." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:335 +msgid "" +"_FAQ_: The FAQ uses a short question and answer format to address questions " +"that are frequently asked on the various mailing lists and forums devoted to " +"FreeBSD. This format does not permit long and comprehensive answers." +msgstr "" +"_FAQ_: В разделе Часто задаваемых вопросов (FAQ) используется формат " +"коротких вопросов и ответов для решения вопросов, часто задаваемых в " +"различных почтовых рассылках и форумах, посвящённых FreeBSD. Такой формат не " +"подразумевает длинных и развёрнутых ответов." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:336 +msgid "" +"_Manual pages_: The English language system manual pages are usually not " +"written by the FDP, as they are part of the base system. However, the FDP " +"can reword parts of existing manual pages to make them clearer or to correct " +"inaccuracies." +msgstr "" +"_Справочник_: Страницы Справочника (man-страницы) системы на английском " +"языке обычно не создаются FDP, так как они являются частью базовой системы. " +"Однако FDP может перефразировать части существующих руководств, чтобы " +"сделать их понятнее или исправить неточности." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:337 +msgid "" +"_Web site_: This is the main FreeBSD presence on the web, visible at https://" +"www.freebsd.org/[https://www.FreeBSD.org/] and many mirrors around the " +"world. The web site is typically a new user's first exposure to FreeBSD." +msgstr "" +"_Веб-сайт_: Это основное представительство FreeBSD в интернете, доступное по " +"адресу https://www.freebsd.org/[https://www.FreeBSD.org/] и на множестве " +"зеркал по всему миру. Веб-сайт обычно становится первым знакомством нового " +"пользователя с FreeBSD." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:340 +msgid "" +"Translation teams are responsible for translating the Handbook and web site " +"into different languages. Manual pages are not translated at present." +msgstr "" +"Команды переводчиков отвечают за перевод Руководства и веб-сайта на разные " +"языки. На данный момент руководства (man-страницы) не переводятся." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:342 +msgid "" +"Documentation source for the FreeBSD web site, Handbook, and FAQ is " +"available in the documentation repository at `https://cgit.freebsd.org/doc/`." +msgstr "" +"Исходные тексты документации для веб-сайта FreeBSD, Handbook и FAQ доступны " +"в репозитории документации по адресу `https://cgit.freebsd.org/doc/`." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:344 +msgid "" +"Source for manual pages is available in a separate source repository located " +"at `https://cgit.freebsd.org/src/`." +msgstr "" +"Исходный код страниц справочника доступен в отдельном репозитории, " +"расположенном по адресу `https://cgit.freebsd.org/src/`." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:347 +msgid "" +"Documentation commit messages are visible with `git log`. Commit messages " +"are also archived at link:{dev-commits-doc-all}." +msgstr "" +"Документация сообщений о фиксациях доступна с помощью `git log`. Сообщения " +"о фиксациях также архивируются по ссылке:link:{dev-commits-doc-all}." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:349 +msgid "" +"Web frontends to both of these repositories are available at https://" +"cgit.freebsd.org/doc/[] and https://cgit.freebsd.org/src/[]." +msgstr "" +"Веб-интерфейсы для обоих репозиториев доступны по адресам https://" +"cgit.freebsd.org/doc/[] и https://cgit.freebsd.org/src/[]." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/overview/_index.adoc:353 +msgid "" +"Many people have written tutorials or how-to articles about FreeBSD. Some " +"are stored as part of the FDP files. In other cases, the author has decided " +"to keep the documentation separate. The FDP endeavors to provide links to " +"as much of this external documentation as possible." +msgstr "" +"Большое количество авторов участвовало в написании руководств или инструкций " +"по FreeBSD. Некоторые из этих документов хранятся в рамках файлов FDP. В " +"других случаях авторы предпочли лпубликовать документацию отдельно. FDP " +"стремится предоставить ссылки на как можно большее количество такой внешней " +"документации." diff --git a/documentation/content/ru/books/fdp-primer/po-translations/_index.adoc b/documentation/content/ru/books/fdp-primer/po-translations/_index.adoc new file mode 100644 index 0000000000..53cee084bf --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/po-translations/_index.adoc @@ -0,0 +1,365 @@ +--- +description: 'Как работать с переводом PO в проекте документации FreeBSD' +next: books/fdp-primer/weblate +params: + path: /books/fdp-primer/po-translations/ +prev: books/fdp-primer/translations +showBookMenu: true +tags: ["po", "translations", "tutorial", "quick start"] +title: 'Глава 9. Переводы PO' +weight: 9 +--- + +[[po-translations]] += Переводы PO +:doctype: book +:toc: macro +:toclevels: 1 +:icons: font +:sectnums: +:sectnumlevels: 6 +:sectnumoffset: 9 +:partnums: +:source-highlighter: rouge +:experimental: +:images-path: books/fdp-primer/ + +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::[] + +[[po-translations-introduction]] +== Введение + +Система http://www.gnu.org/software/gettext/[GNU gettext] предоставляет переводчикам удобный способ создания и поддержки переводов документов. Переводимые строки извлекаются из исходного документа в файл PO (Portable Object). Переводы строк добавляются с помощью отдельного редактора. Эти строки могут использоваться напрямую или собираться в полную переведённую версию исходного документа. + +[[po-translations-quick-start]] +== Быстрый старт + +Предполагается, что процедура, описанная в crossref:overview[overview-quick-start,Быстрый старт], уже выполнена. Опция `TRANSLATOR` необходима и уже включена по умолчанию в порте package:textproc/docproj[]. + +Этот пример демонстрирует создание испанского перевода краткой статьи extref:{leap-seconds}[Високосные секунды]. + +[[po-translations-quick-start-install-po-editor]] + +[.procedure] +==== +.Процедура: Установка PO-редактора +. Редактор PO необходим для редактирования файлов переводов. В этом примере используется package:editors/poedit[]. ++ +[source, shell] +.... +# pkg install poedit +.... +==== + +[[po-translations-quick-start-initial-setup]] +[.procedure] +==== +.Процедура: Начальная настройка + +Когда создаётся новый перевод, структура каталогов должна быть создана или скопирована из оригинальной английской версии: + +. Создайте каталог для нового перевода. Исходный текст статьи на английском находится в [.filename]#~/doc/documentation/content/en/articles/leap-seconds/#. Испанский перевод будет расположен в [.filename]#~/doc/documentation/content/es/articles/leap-seconds/#. Путь идентичен, за исключением названия языкового каталога. Исходный текст статьи на английском находится в [.filename]#~/doc/en/articles/leap-seconds/#. Испанский перевод будет расположен в [.filename]#~/doc/es/articles/leap-seconds/#. Путь идентичен, за исключением названия языкового каталога. ++ +[source, shell] +.... +% mkdir ~/doc/documentation/content/es/articles/leap-seconds +.... + +. Скопируйте [.filename]#_index.po# из исходного документа в директорию перевода: ++ +[source, shell] +.... +% cp ~/doc/documentation/content/en/articles/leap-seconds/_index.po \ + ~/doc/documentation/content/es/articles/leap-seconds/ +.... + +Предположим, что документ или язык также переводится через Weblate. В таком случае рекомендуется взять файл `.po` оттуда и загрузить переведённый документ обратно в платформу, чтобы централизовать усилия по переводу через Weblate и избежать повторной работы. + +См. как загрузить файлы `.po` в главе crossref:weblate[weblate-translating-offline,Перевод офлайн в Weblate]. +==== + +[[po-translations-quick-start-translation]] +[.procedure] +==== +.Процедура: Перевод + +Используйте PO-редактор для ввода переводов в PO-файл. Доступно несколько различных редакторов. Здесь показан [.filename]#poedit# из пакета:editors/poedit[]. + +[source, shell] +.... +% poedit documentation/content/es/articles/leap-seconds/_index.po +.... +==== + +[[po-translations-quick-generating-a-translated-document]] +[.procedure] +==== +.Процедура: Создание переведенного документа +. Сгенерируйте переведенный документ: ++ +[source, shell] +.... +% cd ~/doc +% ./tools/translate.sh documentation es articles/leap-seconds +.... ++ +Имя сгенерированного документа соответствует имени оригинала на английском языке, обычно `[.filename]#_index.adoc#`. ++ +. Проверьте сгенерированный файл, преобразовав его в HTML и просмотрев в веб-браузере: ++ +[source, shell] +.... +% cd ~/doc/documentation +% make +.... +==== + +[[po-translations-creating]] +== Создание новых переводов + +Первым шагом в создании нового переведённого документа является поиск или создание каталога для его размещения. FreeBSD размещает переведённые документы в подкаталоге с названием, соответствующим языку и региону, в формате [.filename]#lang#. Здесь _lang_ — это двухбуквенный код в нижнем регистре. + +[[po-translations-language-names]] +.Названия языков +[cols="1,1,1", frame="none", options="header"] +|=== +| Язык +| Регион +| Имя каталога с переводами + +|Английский +|Соединённые Штаты +|[.filename]#en# + +|Бенгальский +|Бангладеш +|[.filename]#bn-bd# + +|Датский +|Дания +|[.filename]#da# + +|Немецкий +|Германия +|[.filename]#de# + +|Греческий +|Греция +|[.filename]#el# + +|Испанский +|Испания +|[.filename]#es# + +|Французский +|Франция +|[.filename]#fr# + +|Венгерский +|Венгрия +|[.filename]#hu# + +|Итальянский +|Италия +|[.filename]#it# + +|Японский +|Япония +|[.filename]#ja# + +|Корейский +|Корея +|[.filename]#ko# + +|Монгольский +|Монголия +|[.filename]#mn# + +|Голландский +|Нидерланды +|[.filename]#nl# + +|Польский +|Польша +|[.filename]#pl# + +|Португальский +|Бразилия +|[.filename]#pt-br# + +|Русский +|Россия +|[.filename]#ru# + +|Турецкий +|Турция +|[.filename]#tr# + +|Китайский +|Китай +|[.filename]#zh-cn# + +|Китайский +|Тайвань +|[.filename]#zh-tw# +|=== + +Переводы находятся в поддиректориях основной директории документации, которая в данном случае предполагается как [.filename]#~/doc/documentation/#, как показано в crossref:overview[overview-quick-start, Быстрый старт]. Например, немецкие переводы расположены в [.filename]#~/doc/documentation/content/de/#, а французские — в [.filename]#~/doc/documentation/content/fr/#. + +Каждый языковой каталог содержит отдельные подкаталоги с названиями по типу документов, обычно [.filename]#articles/# и [.filename]#books/#. + +Объединение этих имен каталогов дает полный путь к статье или книге. Например, французский перевод статьи NanoBSD находится в [.filename]#~/doc/documentation/content/fr/articles/nanobsd/#, а монгольский перевод Руководства — в [.filename]#~/doc/documentation/content/mn/books/handbook/#. + +При переводе документа на новый язык необходимо создать новый языковой каталог. Если языковой каталог уже существует, достаточно создать подкаталог в директории [.filename]#articles/# или [.filename]#books/#. + +[[po-translations-creating-example]] +.Создание испанского перевода Руководства портировщика +[example] +==== +Создайте новый перевод на испанский язык extref:{porters-handbook}[Руководства портировщика]. Оригинал находится в книге [.filename]#~/doc/documentation/content/en/books/porters-handbook/#. + +[.procedure] +====== + +. Каталог для книг на испанском языке [.filename]#~/doc/documentation/content/es/books/# уже существует, поэтому требуется только создать подкаталог для Руководства портировщика: ++ +[source, shell] +.... +% cd ~/doc/documentation/content/es/books +% mkdir porters-handbook +.... + +. Скопируйте содержимое из переводимой книги: ++ +[source, shell] +.... +% cd porters-handbook +% cp -R ~/doc/documentation/content/en/books/porters-handbook/* . +.... ++ +Теперь структура документа готова для начала перевода с помощью команды `po4a`. +====== +==== + +[[po-translations-translating]] +== Перевод + +Система gettext значительно сокращает количество элементов, за которыми нужно следить переводчику. Строки, подлежащие переводу, извлекаются из исходного документа в файл PO. Затем с помощью редактора PO вводятся переведённые версии каждой строки. + +Система перевода FreeBSD PO не перезаписывает PO-файлы, поэтому этап извлечения можно выполнять в любое время для обновления PO-файла. + +Редактор PO используется для редактирования файла. В этих примерах показан package:editors/poedit[], так как он прост и имеет минимальные требования. Другие редакторы PO предоставляют функции, облегчающие процесс перевода. В Коллекции портов доступно несколько таких редакторов, включая package:devel/gtranslator[]. + +Важно сохранить PO-файл. Он содержит всю работу, проделанную переводчиками. + +[IMPORTANT] +==== +Перевод документов онлайн оказывается наиболее простым способом перевода документации в FreeBSD, так как позволяет нескольким пользователям совместно работать над одним файлом, эффективно распределяя нагрузку. Для получения дополнительной информации обратитесь к следующей главе: crossref:weblate[weblate-introduction,Переводы в Weblate]. +==== + +[[po-translations-tips]] +== Советы переводчикам + +[[po-translations-tips-xmltags]] +=== Сохранение AsciiDoc макросов + +Сохраните макросы AsciiDoc, которые указаны на английском языке. + +.Сохранение AsciiDoc макросов +[example] +==== +Оригинал на английском: + +[.programlisting] +.... +msgid "" +"This example shows the creation of a Spanish translation of the short " +"extref:{leap-seconds}[Leap Seconds] article." +.... + +Испанский перевод: + +[.programlisting] +.... +msgid "" +"Este ejemplo muestra la creación de un artículo con poco contenido como el artículo " +"extref:{leap-seconds}[Leap Seconds]." +.... + +==== + +[[po-translations-tips-spaces]] +=== Сохранение пробелов + +Сохраняйте существующие пробелы в начале и конце строк, которые нужно перевести. В переведённой версии эти пробелы также должны присутствовать. + +[[po-translations-tips-verbatim]] +=== Дословные теги + +Содержимое некоторых тегов должно быть скопировано дословно, без перевода: + +* `man:man[1]` +* `package:package[]` +* `link` +* `image` +* `include` +* `Admonitions` +* `id's` +* `Heading tags` +* `source` + +[[po-translations-building]] +== Сборка переведенного документа + +Переведённую версию оригинального документа можно создать в любое время. При этом все непереведённые части документа будут включены в итоговый документ на английском языке. Большинство PO-редакторов имеют индикатор, показывающий, какая часть перевода завершена. Это позволяет переводчику легко увидеть, когда переведено достаточно строк, чтобы сборка итогового документа имела смысл. + +Глава о Weblate есть полный пример того, как crossref:weblate[weblate-building,Собрать переведённый документ]. + +[[po-translations-submitting]] +== Отправка новой переведённой версии + +Подготовьте новые файлы перевода для отправки. Это включает добавление файлов в систему контроля версий, установку дополнительных свойств для них, а затем создание diff-файла для отправки. + +Файлы различий, созданные в этих примерах, можно прикрепить к https://bugs.freebsd.org/bugzilla/enter_bug.cgi?product=Documentation[отчету об ошибке в документации] или https://reviews.freebsd.org/[обзору кода]. + +[[po-translations-submitting-spanish]] +.Перевод статьи NanoBSD на испанский язык +[example] +==== +[.procedure] +====== + +. Создайте diff новых файлов из базового каталога [.filename]#~/doc/# так, чтобы полный путь отображался вместе с именами файлов. Это помогает коммиттерам определить целевой языковой каталог. ++ +[source, shell] +.... +% cd ~/doc +% git diff documentation/content/es/articles/nanobsd/ > /tmp/es_nanobsd.diff +.... +====== + +Глава о Weblate содержит полный пример того, как crossref:weblate[weblate-submitting-translations, отправить новый перевод]. + +==== diff --git a/documentation/content/ru/books/fdp-primer/po-translations/_index.po b/documentation/content/ru/books/fdp-primer/po-translations/_index.po new file mode 100644 index 0000000000..b9a59eea47 --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/po-translations/_index.po @@ -0,0 +1,1041 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR The FreeBSD Project +# This file is distributed under the same license as the FreeBSD Documentation package. +# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025. +msgid "" +msgstr "" +"Project-Id-Version: FreeBSD Documentation VERSION\n" +"POT-Creation-Date: 2025-09-20 14:02+0300\n" +"PO-Revision-Date: 2025-06-23 04:45+0000\n" +"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n" +"Language-Team: Russian <https://translate-dev.freebsd.org/projects/" +"documentation/booksfdp-primerpo-translations_index/ru/>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.17\n" + +#. type: Yaml Front Matter Hash Value: description +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:1 +#, no-wrap +msgid "How to work with PO translation in the FreeBSD Documentation Project" +msgstr "Как работать с переводом PO в проекте документации FreeBSD" + +#. type: Yaml Front Matter Hash Value: title +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:1 +#, no-wrap +msgid "Chapter 9. PO Translations" +msgstr "Глава 9. Переводы PO" + +#. type: Title = +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:14 +#, no-wrap +msgid "PO Translations" +msgstr "Переводы PO" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:52 +#, no-wrap +msgid "Introduction" +msgstr "Введение" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:58 +msgid "" +"The http://www.gnu.org/software/gettext/[GNU gettext] system offers " +"translators an easy way to create and maintain translations of documents. " +"Translatable strings are extracted from the original document into a PO " +"(Portable Object) file. Translated versions of the strings are entered with " +"a separate editor. The strings can be used directly or built into a " +"complete translated version of the original document." +msgstr "" +"Система http://www.gnu.org/software/gettext/[GNU gettext] предоставляет " +"переводчикам удобный способ создания и поддержки переводов документов. " +"Переводимые строки извлекаются из исходного документа в файл PO (Portable " +"Object). Переводы строк добавляются с помощью отдельного редактора. Эти " +"строки могут использоваться напрямую или собираться в полную переведённую " +"версию исходного документа." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:60 +#, no-wrap +msgid "Quick Start" +msgstr "Быстрый старт" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:64 +msgid "" +"The procedure shown in crossref:overview[overview-quick-start,Quick Start] " +"is assumed to have already been performed. The `TRANSLATOR` option is " +"required and already enabled by default in the package:textproc/docproj[] " +"port." +msgstr "" +"Предполагается, что процедура, описанная в crossref:overview[overview-quick-" +"start,Быстрый старт], уже выполнена. Опция `TRANSLATOR` необходима и уже " +"включена по умолчанию в порте package:textproc/docproj[]." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:66 +msgid "" +"This example shows the creation of a Spanish translation of the short extref:" +"{leap-seconds}[Leap Seconds] article." +msgstr "" +"Этот пример демонстрирует создание испанского перевода краткой статьи extref:" +"{leap-seconds}[Високосные секунды]." + +#. type: Block title +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:71 +#, no-wrap +msgid "Procedure: Install a PO Editor" +msgstr "Процедура: Установка PO-редактора" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:73 +msgid "" +"A PO editor is needed to edit translation files. This example uses " +"package:editors/poedit[]." +msgstr "" +"Редактор PO необходим для редактирования файлов переводов. В этом примере " +"используется package:editors/poedit[]." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:77 +#, no-wrap +msgid "# pkg install poedit\n" +msgstr "# pkg install poedit\n" + +#. type: Block title +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:83 +#, no-wrap +msgid "Procedure: Initial Setup" +msgstr "Процедура: Начальная настройка" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:86 +msgid "" +"When a new translation is first created, the directory structure must be " +"created or copied from the English original:" +msgstr "" +"Когда создаётся новый перевод, структура каталогов должна быть создана или " +"скопирована из оригинальной английской версии:" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:91 +msgid "" +"Create a directory for the new translation. The English article source is in " +"[.filename]#~/doc/documentation/content/en/articles/leap-seconds/#. The " +"Spanish translation will go in [.filename]#~/doc/documentation/content/es/" +"articles/leap-seconds/#. The path is the same except for the name of the " +"language directory. The English article source is in [.filename]#~/doc/en/" +"articles/leap-seconds/#. The Spanish translation will go in [.filename]#~/" +"doc/es/articles/leap-seconds/#. The path is the same except for the name of " +"the language directory." +msgstr "" +"Создайте каталог для нового перевода. Исходный текст статьи на английском " +"находится в [.filename]#~/doc/documentation/content/en/articles/leap-seconds/" +"#. Испанский перевод будет расположен в [.filename]#~/doc/documentation/" +"content/es/articles/leap-seconds/#. Путь идентичен, за исключением названия " +"языкового каталога. Исходный текст статьи на английском находится в " +"[.filename]#~/doc/en/articles/leap-seconds/#. Испанский перевод будет " +"расположен в [.filename]#~/doc/es/articles/leap-seconds/#. Путь идентичен, " +"за исключением названия языкового каталога." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:95 +#, no-wrap +msgid "% mkdir ~/doc/documentation/content/es/articles/leap-seconds\n" +msgstr "% mkdir ~/doc/documentation/content/es/articles/leap-seconds\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:98 +msgid "" +"Copy the [.filename]#_index.po# from the original document into the " +"translation directory:" +msgstr "" +"Скопируйте [.filename]#_index.po# из исходного документа в директорию " +"перевода:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:103 +#, no-wrap +msgid "" +"% cp ~/doc/documentation/content/en/articles/leap-seconds/_index.po \\\n" +" ~/doc/documentation/content/es/articles/leap-seconds/\n" +msgstr "" +"% cp ~/doc/documentation/content/en/articles/leap-seconds/_index.po \\\n" +" ~/doc/documentation/content/es/articles/leap-seconds/\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:107 +msgid "" +"Suppose the document or language is also being translated via Weblate. In " +"that case, it is good to get the `.po` file from there and upload the " +"translation document back into the platform, centralizing the translating " +"efforts via Weblate to avoid rework." +msgstr "" +"Предположим, что документ или язык также переводится через Weblate. В таком " +"случае рекомендуется взять файл `.po` оттуда и загрузить переведённый " +"документ обратно в платформу, чтобы централизовать усилия по переводу через " +"Weblate и избежать повторной работы." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:109 +msgid "" +"See how to download the `.po` files in the crossref:weblate[weblate-" +"translating-offline,Translating Offline on Weblate] chapter." +msgstr "" +"См. как загрузить файлы `.po` в главе crossref:weblate[weblate-translating-" +"offline,Перевод офлайн в Weblate]." + +#. type: Block title +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:114 +#, no-wrap +msgid "Procedure: Translation" +msgstr "Процедура: Перевод" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:118 +msgid "" +"Use a PO editor to enter translations in the PO file. There are several " +"different editors available. [.filename]#poedit# from package:editors/" +"poedit[] is shown here." +msgstr "" +"Используйте PO-редактор для ввода переводов в PO-файл. Доступно несколько " +"различных редакторов. Здесь показан [.filename]#poedit# из пакета:editors/" +"poedit[]." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:122 +#, no-wrap +msgid "% poedit documentation/content/es/articles/leap-seconds/_index.po\n" +msgstr "% poedit documentation/content/es/articles/leap-seconds/_index.po\n" + +#. type: Block title +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:128 +#, no-wrap +msgid "Procedure: Generating a Translated Document" +msgstr "Процедура: Создание переведенного документа" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:130 +msgid "Generate the translated document:" +msgstr "Сгенерируйте переведенный документ:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:135 +#, no-wrap +msgid "" +"% cd ~/doc\n" +"% ./tools/translate.sh documentation es articles/leap-seconds\n" +msgstr "" +"% cd ~/doc\n" +"% ./tools/translate.sh documentation es articles/leap-seconds\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:138 +msgid "" +"The name of the generated document matches the name of the English original, " +"usually [.filename]#_index.adoc#." +msgstr "" +"Имя сгенерированного документа соответствует имени оригинала на английском " +"языке, обычно `[.filename]#_index.adoc#`." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:140 +msgid "" +"Check the generated file by rendering it to HTML and viewing it with a web " +"browser:" +msgstr "" +"Проверьте сгенерированный файл, преобразовав его в HTML и просмотрев в веб-" +"браузере:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:145 +#, no-wrap +msgid "" +"% cd ~/doc/documentation\n" +"% make\n" +msgstr "" +"% cd ~/doc/documentation\n" +"% make\n" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:149 +#, no-wrap +msgid "Creating New Translations" +msgstr "Создание новых переводов" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:154 +msgid "" +"The first step to creating a new translated document is locating or creating " +"a directory to hold it. FreeBSD puts translated documents in a subdirectory " +"named for their language and region in the format [.filename]#lang#. _lang_ " +"is a two-character lowercase code." +msgstr "" +"Первым шагом в создании нового переведённого документа является поиск или " +"создание каталога для его размещения. FreeBSD размещает переведённые " +"документы в подкаталоге с названием, соответствующим языку и региону, в " +"формате [.filename]#lang#. Здесь _lang_ — это двухбуквенный код в нижнем " +"регистре." + +#. type: Block title +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:156 +#, no-wrap +msgid "Language Names" +msgstr "Названия языков" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:160 +#, no-wrap +msgid "Language" +msgstr "Язык" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:161 +#, no-wrap +msgid "Region" +msgstr "Регион" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:163 +#, no-wrap +msgid "Translated Directory Name" +msgstr "Имя каталога с переводами" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:164 +#, no-wrap +msgid "English" +msgstr "Английский" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:165 +#, no-wrap +msgid "United States" +msgstr "Соединённые Штаты" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:167 +#, no-wrap +msgid "[.filename]#en#" +msgstr "[.filename]#en#" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:168 +#, no-wrap +msgid "Bengali" +msgstr "Бенгальский" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:169 +#, no-wrap +msgid "Bangladesh" +msgstr "Бангладеш" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:171 +#, no-wrap +msgid "[.filename]#bn-bd#" +msgstr "[.filename]#bn-bd#" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:172 +#, no-wrap +msgid "Danish" +msgstr "Датский" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:173 +#, no-wrap +msgid "Denmark" +msgstr "Дания" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:175 +#, no-wrap +msgid "[.filename]#da#" +msgstr "[.filename]#da#" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:176 +#, no-wrap +msgid "German" +msgstr "Немецкий" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:177 +#, no-wrap +msgid "Germany" +msgstr "Германия" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:179 +#, no-wrap +msgid "[.filename]#de#" +msgstr "[.filename]#de#" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:180 +#, no-wrap +msgid "Greek" +msgstr "Греческий" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:181 +#, no-wrap +msgid "Greece" +msgstr "Греция" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:183 +#, no-wrap +msgid "[.filename]#el#" +msgstr "[.filename]#el#" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:184 +#, no-wrap +msgid "Spanish" +msgstr "Испанский" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:185 +#, no-wrap +msgid "Spain" +msgstr "Испания" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:187 +#, no-wrap +msgid "[.filename]#es#" +msgstr "[.filename]#es#" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:188 +#, no-wrap +msgid "French" +msgstr "Французский" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:189 +#, no-wrap +msgid "France" +msgstr "Франция" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:191 +#, no-wrap +msgid "[.filename]#fr#" +msgstr "[.filename]#fr#" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:192 +#, no-wrap +msgid "Hungarian" +msgstr "Венгерский" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:193 +#, no-wrap +msgid "Hungary" +msgstr "Венгрия" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:195 +#, no-wrap +msgid "[.filename]#hu#" +msgstr "[.filename]#hu#" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:196 +#, no-wrap +msgid "Italian" +msgstr "Итальянский" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:197 +#, no-wrap +msgid "Italy" +msgstr "Италия" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:199 +#, no-wrap +msgid "[.filename]#it#" +msgstr "[.filename]#it#" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:200 +#, no-wrap +msgid "Japanese" +msgstr "Японский" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:201 +#, no-wrap +msgid "Japan" +msgstr "Япония" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:203 +#, no-wrap +msgid "[.filename]#ja#" +msgstr "[.filename]#ja#" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:204 +#, no-wrap +msgid "Korean" +msgstr "Корейский" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:205 +#, no-wrap +msgid "Korea" +msgstr "Корея" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:207 +#, no-wrap +msgid "[.filename]#ko#" +msgstr "[.filename]#ko#" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:208 +#, no-wrap +msgid "Mongolian" +msgstr "Монгольский" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:209 +#, no-wrap +msgid "Mongolia" +msgstr "Монголия" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:211 +#, no-wrap +msgid "[.filename]#mn#" +msgstr "[.filename]#mn#" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:212 +#, no-wrap +msgid "Dutch" +msgstr "Голландский" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:213 +#, no-wrap +msgid "Netherlands" +msgstr "Нидерланды" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:215 +#, no-wrap +msgid "[.filename]#nl#" +msgstr "[.filename]#nl#" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:216 +#, no-wrap +msgid "Polish" +msgstr "Польский" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:217 +#, no-wrap +msgid "Poland" +msgstr "Польша" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:219 +#, no-wrap +msgid "[.filename]#pl#" +msgstr "[.filename]#pl#" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:220 +#, no-wrap +msgid "Portuguese" +msgstr "Португальский" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:221 +#, no-wrap +msgid "Brazil" +msgstr "Бразилия" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:223 +#, no-wrap +msgid "[.filename]#pt-br#" +msgstr "[.filename]#pt-br#" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:224 +#, no-wrap +msgid "Russian" +msgstr "Русский" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:225 +#, no-wrap +msgid "Russia" +msgstr "Россия" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:227 +#, no-wrap +msgid "[.filename]#ru#" +msgstr "[.filename]#ru#" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:228 +#, no-wrap +msgid "Turkish" +msgstr "Турецкий" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:229 +#, no-wrap +msgid "Turkey" +msgstr "Турция" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:231 +#, no-wrap +msgid "[.filename]#tr#" +msgstr "[.filename]#tr#" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:232 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:236 +#, no-wrap +msgid "Chinese" +msgstr "Китайский" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:233 +#, no-wrap +msgid "China" +msgstr "Китай" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:235 +#, no-wrap +msgid "[.filename]#zh-cn#" +msgstr "[.filename]#zh-cn#" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:237 +#, no-wrap +msgid "Taiwan" +msgstr "Тайвань" + +#. type: Table +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:238 +#, no-wrap +msgid "[.filename]#zh-tw#" +msgstr "[.filename]#zh-tw#" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:244 +msgid "" +"The translations are in subdirectories of the main documentation directory, " +"here assumed to be [.filename]#~/doc/documentation/# as shown in " +"crossref:overview[overview-quick-start, Quick Start]. For example, German " +"translations are located in [.filename]#~/doc/documentation/content/de/#, " +"and French translations are in [.filename]#~/doc/documentation/content/fr/#." +msgstr "" +"Переводы находятся в поддиректориях основной директории документации, " +"которая в данном случае предполагается как [.filename]#~/doc/documentation/" +"#, как показано в crossref:overview[overview-quick-start, Быстрый старт]. " +"Например, немецкие переводы расположены в [.filename]#~/doc/documentation/" +"content/de/#, а французские — в [.filename]#~/doc/documentation/content/fr/#." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:246 +msgid "" +"Each language directory contains separate subdirectories named for the type " +"of documents, usually [.filename]#articles/# and [.filename]#books/#." +msgstr "" +"Каждый языковой каталог содержит отдельные подкаталоги с названиями по типу " +"документов, обычно [.filename]#articles/# и [.filename]#books/#." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:250 +msgid "" +"Combining these directory names gives the complete path to an article or " +"book. For example, the French translation of the NanoBSD article is in " +"[.filename]#~/doc/documentation/content/fr/articles/nanobsd/#, and the " +"Mongolian translation of the Handbook is in [.filename]#~/doc/documentation/" +"content/mn/books/handbook/#." +msgstr "" +"Объединение этих имен каталогов дает полный путь к статье или книге. " +"Например, французский перевод статьи NanoBSD находится в [.filename]#~/doc/" +"documentation/content/fr/articles/nanobsd/#, а монгольский перевод " +"Руководства — в [.filename]#~/doc/documentation/content/mn/books/handbook/#." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:253 +msgid "" +"A new language directory must be created when translating a document to a " +"new language. If the language directory already exists, only a subdirectory " +"in the [.filename]#articles/# or [.filename]#books/# directory is needed." +msgstr "" +"При переводе документа на новый язык необходимо создать новый языковой " +"каталог. Если языковой каталог уже существует, достаточно создать подкаталог " +"в директории [.filename]#articles/# или [.filename]#books/#." + +#. type: Block title +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:255 +#, no-wrap +msgid "Creating a Spanish Translation of the Porter's Handbook" +msgstr "Создание испанского перевода Руководства портировщика" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:260 +msgid "" +"Create a new Spanish translation of the extref:{porters-handbook}[Porter's " +"Handbook]. The original is a book in [.filename]#~/doc/documentation/" +"content/en/books/porters-handbook/#." +msgstr "" +"Создайте новый перевод на испанский язык extref:{porters-handbook}" +"[Руководства портировщика]. Оригинал находится в книге [.filename]#~/doc/" +"documentation/content/en/books/porters-handbook/#." + +#. type: delimited block = 6 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:265 +msgid "" +"The Spanish language books directory [.filename]#~/doc/documentation/content/" +"es/books/# already exists, so only a new subdirectory for the Porter's " +"Handbook is needed:" +msgstr "" +"Каталог для книг на испанском языке [.filename]#~/doc/documentation/content/" +"es/books/# уже существует, поэтому требуется только создать подкаталог для " +"Руководства портировщика:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:270 +#, no-wrap +msgid "" +"% cd ~/doc/documentation/content/es/books\n" +"% mkdir porters-handbook\n" +msgstr "" +"% cd ~/doc/documentation/content/es/books\n" +"% mkdir porters-handbook\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:273 +msgid "Copy the content from the original book:" +msgstr "Скопируйте содержимое из переводимой книги:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:278 +#, no-wrap +msgid "" +"% cd porters-handbook\n" +"% cp -R ~/doc/documentation/content/en/books/porters-handbook/* .\n" +msgstr "" +"% cd porters-handbook\n" +"% cp -R ~/doc/documentation/content/en/books/porters-handbook/* .\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:281 +msgid "" +"Now the document structure is ready for the translator to begin translating " +"with `po4a` command." +msgstr "" +"Теперь структура документа готова для начала перевода с помощью команды " +"`po4a`." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:285 +#, no-wrap +msgid "Translating" +msgstr "Перевод" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:290 +msgid "" +"The gettext system greatly reduces the number of things that must be tracked " +"by a translator. Strings to be translated are extracted from the original " +"document into a PO file. Then a PO editor is used to enter the translated " +"versions of each string." +msgstr "" +"Система gettext значительно сокращает количество элементов, за которыми " +"нужно следить переводчику. Строки, подлежащие переводу, извлекаются из " +"исходного документа в файл PO. Затем с помощью редактора PO вводятся " +"переведённые версии каждой строки." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:292 +msgid "" +"The FreeBSD PO translation system does not overwrite PO files, so the " +"extraction step can be run at any time to update the PO file." +msgstr "" +"Система перевода FreeBSD PO не перезаписывает PO-файлы, поэтому этап " +"извлечения можно выполнять в любое время для обновления PO-файла." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:297 +msgid "" +"A PO editor is used to edit the file. package:editors/poedit[] is shown in " +"these examples because it is simple and has minimal requirements. Other PO " +"editors offer features to make the job of translating easier. The Ports " +"Collection offers several of these editors, including package:devel/" +"gtranslator[]." +msgstr "" +"Редактор PO используется для редактирования файла. В этих примерах показан " +"package:editors/poedit[], так как он прост и имеет минимальные требования. " +"Другие редакторы PO предоставляют функции, облегчающие процесс перевода. В " +"Коллекции портов доступно несколько таких редакторов, включая package:devel/" +"gtranslator[]." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:300 +msgid "" +"It is important to preserve the PO file. It contains all of the work that " +"translators have done." +msgstr "" +"Важно сохранить PO-файл. Он содержит всю работу, проделанную переводчиками." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:305 +msgid "" +"Translating documents online proves to be the easiest method for document " +"translation on FreeBSD, as it allows multiple users to collaborate on the " +"same file, distributing the workload effectively. For more details, please " +"refer to the next chapter, crossref:weblate[weblate-introduction,Weblate " +"Translations]." +msgstr "" +"Перевод документов онлайн оказывается наиболее простым способом перевода " +"документации в FreeBSD, так как позволяет нескольким пользователям совместно " +"работать над одним файлом, эффективно распределяя нагрузку. Для получения " +"дополнительной информации обратитесь к следующей главе: " +"crossref:weblate[weblate-introduction,Переводы в Weblate]." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:308 +#, no-wrap +msgid "Tips for Translators" +msgstr "Советы переводчикам" + +#. type: Block title +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:311 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:315 +#, no-wrap +msgid "Preserving AsciiDoc macros" +msgstr "Сохранение AsciiDoc макросов" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:314 +msgid "Preserve AsciiDoc macros that are shown in the English original." +msgstr "Сохраните макросы AsciiDoc, которые указаны на английском языке." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:319 +msgid "English original:" +msgstr "Оригинал на английском:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:325 +#, no-wrap +msgid "" +"msgid \"\"\n" +"\"This example shows the creation of a Spanish translation of the short \"\n" +"\"extref:{leap-seconds}[Leap Seconds] article.\"\n" +msgstr "" +"msgid \"\"\n" +"\"This example shows the creation of a Spanish translation of the short \"\n" +"\"extref:{leap-seconds}[Leap Seconds] article.\"\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:328 +msgid "Spanish translation:" +msgstr "Испанский перевод:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:334 +#, no-wrap +msgid "" +"msgid \"\"\n" +"\"Este ejemplo muestra la creación de un artículo con poco contenido como el artículo \"\n" +"\"extref:{leap-seconds}[Leap Seconds].\"\n" +msgstr "" +"msgid \"\"\n" +"\"Este ejemplo muestra la creación de un artículo con poco contenido como el artículo \"\n" +"\"extref:{leap-seconds}[Leap Seconds].\"\n" + +#. type: Title === +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:339 +#, no-wrap +msgid "Preserving Spaces" +msgstr "Сохранение пробелов" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:343 +msgid "" +"Preserve existing spaces at the beginning and end of strings to be " +"translated. The translated version must have these spaces also." +msgstr "" +"Сохраняйте существующие пробелы в начале и конце строк, которые нужно " +"перевести. В переведённой версии эти пробелы также должны присутствовать." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:345 +#, no-wrap +msgid "Verbatim Tags" +msgstr "Дословные теги" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:348 +msgid "The contents of some tags should be copied verbatim, not translated:" +msgstr "" +"Содержимое некоторых тегов должно быть скопировано дословно, без перевода:" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:350 +msgid "`man:man[1]`" +msgstr "`man:man[1]`" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:351 +msgid "`package:package[]`" +msgstr "`package:package[]`" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:352 +msgid "`link`" +msgstr "`link`" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:353 +msgid "`image`" +msgstr "`image`" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:354 +msgid "`include`" +msgstr "`include`" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:355 +msgid "`Admonitions`" +msgstr "`Admonitions`" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:356 +msgid "`id's`" +msgstr "`id's`" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:357 +msgid "`Heading tags`" +msgstr "`Heading tags`" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:358 +msgid "`source`" +msgstr "`source`" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:360 +#, no-wrap +msgid "Building a Translated Document" +msgstr "Сборка переведенного документа" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:366 +msgid "" +"A translated version of the original document can be created at any time. " +"Any untranslated portions of the original will be included in English in the " +"resulting document. Most PO editors have an indicator that shows how much " +"of the translation has been completed. This makes it easy for the " +"translator to see when enough strings have been translated to make building " +"the final document worthwhile." +msgstr "" +"Переведённую версию оригинального документа можно создать в любое время. " +"При этом все непереведённые части документа будут включены в итоговый " +"документ на английском языке. Большинство PO-редакторов имеют индикатор, " +"показывающий, какая часть перевода завершена. Это позволяет переводчику " +"легко увидеть, когда переведено достаточно строк, чтобы сборка итогового " +"документа имела смысл." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:368 +msgid "" +"The Weblate chapter provides a complete example of how to " +"crossref:weblate[weblate-building,Build the Translated Document]." +msgstr "" +"Глава о Weblate есть полный пример того, как crossref:weblate[weblate-" +"building,Собрать переведённый документ]." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:370 +#, no-wrap +msgid "Submitting the New Translation" +msgstr "Отправка новой переведённой версии" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:374 +msgid "" +"Prepare the new translation files for submission. This includes adding the " +"files to the version control system, setting additional properties on them, " +"then creating a diff for submission." +msgstr "" +"Подготовьте новые файлы перевода для отправки. Это включает добавление " +"файлов в систему контроля версий, установку дополнительных свойств для них, " +"а затем создание diff-файла для отправки." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:376 +msgid "" +"The diff files created by these examples can be attached to a https://" +"bugs.freebsd.org/bugzilla/enter_bug.cgi?product=Documentation[documentation " +"bug report] or https://reviews.freebsd.org/[code review]." +msgstr "" +"Файлы различий, созданные в этих примерах, можно прикрепить к https://" +"bugs.freebsd.org/bugzilla/enter_bug.cgi?product=Documentation[отчету об " +"ошибке в документации] или https://reviews.freebsd.org/[обзору кода]." + +#. type: Block title +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:378 +#, no-wrap +msgid "Spanish Translation of the NanoBSD Article" +msgstr "Перевод статьи NanoBSD на испанский язык" + +#. type: delimited block = 6 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:385 +msgid "" +"Create a diff of the new files from the [.filename]#~/doc/# base directory " +"so the full path is shown with the filenames. This helps committers identify " +"the target language directory." +msgstr "" +"Создайте diff новых файлов из базового каталога [.filename]#~/doc/# так, " +"чтобы полный путь отображался вместе с именами файлов. Это помогает " +"коммиттерам определить целевой языковой каталог." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:390 +#, no-wrap +msgid "" +"% cd ~/doc\n" +"% git diff documentation/content/es/articles/nanobsd/ > /tmp/es_nanobsd.diff\n" +msgstr "" +"% cd ~/doc\n" +"% git diff documentation/content/es/articles/nanobsd/ > /tmp/es_nanobsd.diff\n" + +#. type: delimited block = 6 +#: documentation/content/en/books/fdp-primer/po-translations/_index.adoc:394 +msgid "" +"The Weblate chapter provides a complete example of how to " +"crossref:weblate[weblate-submitting-translations,Submit the New Translation]." +msgstr "" +"Глава о Weblate содержит полный пример того, как crossref:weblate[weblate-" +"submitting-translations, отправить новый перевод]." diff --git a/documentation/content/ru/books/fdp-primer/preface/_index.adoc b/documentation/content/ru/books/fdp-primer/preface/_index.adoc new file mode 100644 index 0000000000..6cc88df8af --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/preface/_index.adoc @@ -0,0 +1,155 @@ +--- +description: 'Предисловие о проекте документации FreeBSD' +next: books/fdp-primer/overview +params: + path: /books/fdp-primer/preface/ +prev: books/fdp-primer +showBookMenu: true +tags: ["preface", "prompts", "conventions"] +title: Предисловие +weight: 1 +--- + +[preface] +[[preface]] += Предисловие +:doctype: book +:toc: macro +:toclevels: 1 +:icons: font +:source-highlighter: rouge +:experimental: +:images-path: books/fdp-primer/ + +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::[] + +[[preface-prompts]] +== Приглашения командной оболочки + +В этой таблице показаны приглашения системы по умолчанию и приглашение суперпользователя. В примерах используются эти приглашения, чтобы указать, от какого типа пользователя выполняется пример. + +[.informaltable] +[cols="1,2", frame="none", options="header"] +|=== +| Пользователь +| Приглашение + + +|Обычный пользователь +|% + +|`root` +|# +|=== + +[[preface-conventions]] +== Типографические соглашения + +Эта таблица описывает типографские соглашения, используемые в этой книге. + +[.informaltable] +[cols="1,2", frame="none", options="header"] +|=== +| Значение +| Примеры + + +|Имена команд. +|Используйте `ls -l` для вывода списка всех файлов. + +|Имена файлов. +|Измените файл [.filename]#.login#. + +|Вывод компьютера на экран. +a| + +[source,shell] +.... +У вас есть почта. +.... + + +|Что вводит пользователь, в отличие от выводимого компьютером на экран. +a| + +[source,shell] +.... +% date +"Время: %H:%M" +Время: 09:18 +.... + +|Ссылки на руководства. +|Используйте man:su[1] для смены пользователя. + +|Имена пользователей и групп. +|Только `root` может это сделать. + +|Выделение текста. +|Пользователь _обязан_ сделать это. + +|Текст, который пользователь должен заменить на фактический текст. +|Для поиска ключевого слова в руководствах введите `man -k _ключевое_слово_` + +|Переменные окружения. +|`$HOME` устанавливается в домашний каталог пользователя. +|=== + +[[preface-notes]] +== Примечания, Советы, Важная информация, Предупреждения и Примеры + +Заметки, предупреждения и примеры выделены в тексте. + +[NOTE] +==== +Заметки представлены следующим образом и содержат информацию, на которую следует обратить внимание, так как она может повлиять на действия пользователя. +==== + +[TIP] +==== + +Советы представлены таким образом и содержат полезную для пользователя информацию, например, показывая более простой способ выполнения чего-либо. +==== + +[IMPORTANT] +==== +Важная информация представлена таким образом. Обычно это дополнительные шаги, которые может потребоваться выполнить пользователю. +==== + +[WARNING] +==== + +Предупреждения выглядят так и содержат информацию о возможном ущербе, если инструкции не будут соблюдены. Этот ущерб может быть физическим — для оборудования или пользователя — или нефизическим, например, случайным удалением важных файлов. +==== + +.Пример примера +[example] +==== +Примеры представлены следующим образом и обычно содержат пошаговые инструкции или результаты выполнения определённых действий. +==== + +[[preface-acknowledgements]] +== Благодарности + +Моя благодарность Сью Блейк, Патрику Дурусо, Джону Гамильтону, Питеру Флинну и Кристоферу Мэдену, которые нашли время прочитать ранние черновики этого документа и предоставили множество ценных замечаний и критики. diff --git a/documentation/content/ru/books/fdp-primer/preface/_index.po b/documentation/content/ru/books/fdp-primer/preface/_index.po new file mode 100644 index 0000000000..40f807197d --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/preface/_index.po @@ -0,0 +1,319 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR The FreeBSD Project +# This file is distributed under the same license as the FreeBSD Documentation package. +# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025. +msgid "" +msgstr "" +"Project-Id-Version: FreeBSD Documentation VERSION\n" +"POT-Creation-Date: 2025-09-20 14:02+0300\n" +"PO-Revision-Date: 2025-06-01 06:10+0000\n" +"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n" +"Language-Team: Russian <https://translate-dev.freebsd.org/projects/" +"documentation/booksfdp-primerpreface_index/ru/>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.17\n" + +#. type: Yaml Front Matter Hash Value: description +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:1 +#, no-wrap +msgid "Preface about the FreeBSD Documentation Project" +msgstr "Предисловие о проекте документации FreeBSD" + +#. type: Title = +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:1 +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:15 +#, no-wrap +msgid "Preface" +msgstr "Предисловие" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:49 +#, no-wrap +msgid "Shell Prompts" +msgstr "Приглашения командной оболочки" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:53 +msgid "" +"This table shows the default system prompt and superuser prompt. The " +"examples use these prompts to indicate which type of user is running the " +"example." +msgstr "" +"В этой таблице показаны приглашения системы по умолчанию и приглашение " +"суперпользователя. В примерах используются эти приглашения, чтобы указать, " +"от какого типа пользователя выполняется пример." + +#. type: Table +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:58 +#, no-wrap +msgid "User" +msgstr "Пользователь" + +#. type: Table +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:61 +#, no-wrap +msgid "Prompt" +msgstr "Приглашение" + +#. type: Table +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:62 +#, no-wrap +msgid "Normal user" +msgstr "Обычный пользователь" + +#. type: Table +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:64 +#, no-wrap +msgid "%" +msgstr "%" + +#. type: Table +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:65 +#, no-wrap +msgid "`root`" +msgstr "`root`" + +#. type: Table +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:66 +#, no-wrap +msgid "#" +msgstr "#" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:69 +#, no-wrap +msgid "Typographic Conventions" +msgstr "Типографические соглашения" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:72 +msgid "This table describes the typographic conventions used in this book." +msgstr "" +"Эта таблица описывает типографские соглашения, используемые в этой книге." + +#. type: Table +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:77 +#, no-wrap +msgid "Meaning" +msgstr "Значение" + +#. type: Table +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:80 +#, no-wrap +msgid "Examples" +msgstr "Примеры" + +#. type: Table +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:81 +#, no-wrap +msgid "The names of commands." +msgstr "Имена команд." + +#. type: Table +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:83 +#, no-wrap +msgid "Use `ls -l` to list all files." +msgstr "Используйте `ls -l` для вывода списка всех файлов." + +#. type: Table +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:84 +#, no-wrap +msgid "The names of files." +msgstr "Имена файлов." + +#. type: Table +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:86 +#, no-wrap +msgid "Edit [.filename]#.login#." +msgstr "Измените файл [.filename]#.login#." + +#. type: Table +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:87 +#, no-wrap +msgid "On-screen computer output." +msgstr "Вывод компьютера на экран." + +#. type: Table +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:95 +#, no-wrap +msgid "" +"[source,shell]\n" +"....\n" +"You have mail.\n" +"...." +msgstr "" +"[source,shell]\n" +"....\n" +"У вас есть почта.\n" +"...." + +#. type: Table +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:96 +#, no-wrap +msgid "What the user types, contrasted with on-screen computer output." +msgstr "Что вводит пользователь, в отличие от выводимого компьютером на экран." + +#. type: Table +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:104 +#, no-wrap +msgid "" +"[source,shell]\n" +"....\n" +"% date +\"The time is %H:%M\"\n" +"The time is 09:18\n" +"...." +msgstr "" +"[source,shell]\n" +"....\n" +"% date +\"Время: %H:%M\"\n" +"Время: 09:18\n" +"...." + +#. type: Table +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:105 +#, no-wrap +msgid "Manual page references." +msgstr "Ссылки на руководства." + +#. type: Table +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:107 +#, no-wrap +msgid "Use man:su[1] to change user identity." +msgstr "Используйте man:su[1] для смены пользователя." + +#. type: Table +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:108 +#, no-wrap +msgid "User and group names." +msgstr "Имена пользователей и групп." + +#. type: Table +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:110 +#, no-wrap +msgid "Only `root` can do this." +msgstr "Только `root` может это сделать." + +#. type: Table +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:111 +#, no-wrap +msgid "Emphasis." +msgstr "Выделение текста." + +#. type: Table +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:113 +#, no-wrap +msgid "The user _must_ do this." +msgstr "Пользователь _обязан_ сделать это." + +#. type: Table +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:114 +#, no-wrap +msgid "Text that the user is expected to replace with the actual text." +msgstr "Текст, который пользователь должен заменить на фактический текст." + +#. type: Table +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:116 +#, no-wrap +msgid "To search for a keyword in the manual pages, type `man -k _keyword_`" +msgstr "Для поиска ключевого слова в руководствах введите `man -k _ключевое_слово_`" + +#. type: Table +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:117 +#, no-wrap +msgid "Environment variables." +msgstr "Переменные окружения." + +#. type: Table +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:118 +#, no-wrap +msgid "`$HOME` is set to the user's home directory." +msgstr "`$HOME` устанавливается в домашний каталог пользователя." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:121 +#, no-wrap +msgid "Notes, Tips, Important Information, Warnings, and Examples" +msgstr "Примечания, Советы, Важная информация, Предупреждения и Примеры" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:124 +msgid "Notes, warnings, and examples appear within the text." +msgstr "Заметки, предупреждения и примеры выделены в тексте." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:128 +msgid "" +"Notes are represented like this, and contain information to take note of, as " +"it may affect what the user does." +msgstr "" +"Заметки представлены следующим образом и содержат информацию, на которую " +"следует обратить внимание, так как она может повлиять на действия " +"пользователя." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:134 +msgid "" +"Tips are represented like this, and contain information helpful to the user, " +"such as showing an easier way to do something." +msgstr "" +"Советы представлены таким образом и содержат полезную для пользователя " +"информацию, например, показывая более простой способ выполнения чего-либо." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:140 +msgid "" +"Important information is represented like this. Typically, these show extra " +"steps the user may need to take." +msgstr "" +"Важная информация представлена таким образом. Обычно это дополнительные " +"шаги, которые может потребоваться выполнить пользователю." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:147 +msgid "" +"Warnings are represented like this, and contain information warning about " +"possible damage if the instructions are not followed. This damage may be " +"physical, to the hardware or the user, or it may be non-physical, such as " +"the inadvertent deletion of important files." +msgstr "" +"Предупреждения выглядят так и содержат информацию о возможном ущербе, если " +"инструкции не будут соблюдены. Этот ущерб может быть физическим — для " +"оборудования или пользователя — или нефизическим, например, случайным " +"удалением важных файлов." + +#. type: Block title +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:149 +#, no-wrap +msgid "A Sample Example" +msgstr "Пример примера" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:153 +msgid "" +"Examples are represented like this, and typically contain examples showing a " +"walkthrough, or the results of a particular action." +msgstr "" +"Примеры представлены следующим образом и обычно содержат пошаговые " +"инструкции или результаты выполнения определённых действий." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:156 +#, no-wrap +msgid "Acknowledgments" +msgstr "Благодарности" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/preface/_index.adoc:158 +msgid "" +"My thanks to Sue Blake, Patrick Durusau, Jon Hamilton, Peter Flynn, and " +"Christopher Maden, who took the time to read early drafts of this document " +"and offer many valuable comments and criticisms." +msgstr "" +"Моя благодарность Сью Блейк, Патрику Дурусо, Джону Гамильтону, Питеру Флинну " +"и Кристоферу Мэдену, которые нашли время прочитать ранние черновики этого " +"документа и предоставили множество ценных замечаний и критики." diff --git a/documentation/content/ru/books/fdp-primer/rosetta/_index.adoc b/documentation/content/ru/books/fdp-primer/rosetta/_index.adoc new file mode 100644 index 0000000000..624f885531 --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/rosetta/_index.adoc @@ -0,0 +1,321 @@ +--- +description: 'Розеттский камень с различиями между Docbook и AsciiDoc' +next: books/fdp-primer/translations +params: + path: /books/fdp-primer/rosetta/ +prev: books/fdp-primer/asciidoctor-primer +showBookMenu: true +tags: ["rosetta", "docbook", "asciidoc", "comparison"] +title: 'Глава 7. Розеттский камень' +weight: 8 +--- + +[[rosetta]] += Розеттский камень +:doctype: book +:toc: macro +:toclevels: 1 +:icons: font +:sectnums: +:sectnumlevels: 6 +:sectnumoffset: 7 +:partnums: +:source-highlighter: rouge +:experimental: +:images-path: books/fdp-primer/ + +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::[] + +[[docbook-vs-asciidoc]] +== Сравнение Docbook и AsciiDoc + +Эта шпаргалка пытается показать различия между Docbook и AsciiDoc. + +.Сравнение Docbook и AsciiDoc +[cols="1,4,4"] +|=== +|Языковая функция |Docbook | AsciiDoc + +|*Жирный* +|<strong>жирный</strong> +|\*жирный* + +|*Курсив* +|<emphasis>Курсив</emphasis> +|\_Курсив_ + +|*Моноширинный* +|<literal>Моноширинный</literal> +|\`Моноширинный` + +|*Абзац* +|<para>Это абзац</para> +|Это абзац + +|*Клавиша* +|<keycap>F11</keycap> +|\kbd:[F11] + +|*Ссылки* +a| +[source,xml] +---- +<link xlink:href="https://www.freebsd.org/where/"> +Загрузить FreeBSD</link> +---- +a| +[source] +---- +link:https://www.freebsd.org/where/[Загрузить FreeBSD] +---- + +|*Разделы* +a| +[source,xml] +---- + <sect1 xml:id="id"> + <title>Раздел 1</title> + </sect1> +---- +a| +[source] +---- + [[id]] + = Раздел 1 +---- + +|*Неупорядоченный список* +a| +[source,xml] +---- +<itemizedlist> + <listitem> + <para>Когда следует собирать собственное ядро.</para> + </listitem> + + <listitem> + <para>Как выполнить инвентаризацию оборудования.</para> + </listitem> +</itemizedlist> +---- +a| +[source] +---- +* Когда необходимо собрать собственное ядро. +* Как выполнить инвентаризацию оборудования. +---- + +|*Упорядоченный список* +a| +[source,xml] +---- +<orderedlist> + <listitem> + <para>Один</para> + </listitem> + <listitem> + <para>Два</para> + </listitem> + <listitem> + <para>Три</para> + </listitem> + <listitem> + <para>Четыре</para> + </listitem> +</orderedlist> +---- +a| +[source] +---- +. Один +. Два +. Три +. Четыре +---- + +|*Словарный список (Variable list)* +a| +[source,xml] +---- +<variablelist> + <varlistentry> + <term>amd64</term> + <listitem> + <para>Это наиболее распространённая десктопная...</para> + </listitem> + </varlistentry> +</variablelist> +---- +a| +[source] +---- +amd64:: +Это наиболее распространённая десктопная... +---- + +|*Исходный код* +a| +[source,xml] +---- +<screen> + &prompt.root; <userinput>mkdir -p /var/spool/lpd/lp</userinput> +</screen> +---- +a| +[source] +.... +[source,shell] +---- +# mkdir -p /var/spool/lpd/lp +---- +.... + +|*Неформатируемый блок* +a| +[source,xml] +---- +<programlisting> +include GENERIC +ident MYKERNEL + +options IPFIREWALL +options DUMMYNET +options IPFIREWALL_DEFAULT_TO_ACCEPT +options IPDIVERT +</programlisting> +---- +a| +[source] +---- +.... +include GENERIC +ident MYKERNEL + +options IPFIREWALL +options DUMMYNET +options IPFIREWALL_DEFAULT_TO_ACCEPT +options IPDIVERT +.... +---- + +|*Изображения* +a| +[source,xml] +---- +<figure xml:id="bsdinstall-newboot-loader-menu"> + <title>Меню загрузчика FreeBSD</title> + + <mediaobject> + <imageobject> + <imagedata fileref="bsdinstall/bsdinstall-newboot-loader-menu"/> + </imageobject> + <textobject> + </literallayout> + Поддержка ASCII-графики более не предоставляется. + </literallayout> + </textobject> + <textobject> + <phrase>Меню загрузчика FreeBSD с вариантами 1-6 для загрузки + в многопользовательском режиме, однопользовательском + режиме, перехода в командную строку загрузчика, перезагрузки, + выбора ядра для загрузки и параметров загрузки</phrase> + </textobject> + </mediaobject> +</figure> +---- +a| +[source] +---- +[[bsdinstall-newboot-loader-menu]] +.Меню загрузчика FreeBSD +image::bsdinstall/bsdinstall-newboot-loader-menu[Меню загрузчика FreeBSD с вариантами 1-6: загрузка многопользовательского режима, загрузка однопользовательского режима, переход в командную строку загрузчика, перезагрузка, выбор ядра для загрузки и параметров загрузки] +---- + +|*Включение файла* +|не доступно +a| +[source] +---- +\include::chapter.adoc[] +---- + +|*Таблицы* +a| +[source,xml] +---- +<table xml:id="partition-schemes" frame="none" rowsep="1" pgwide="1"> + <title>Схемы разделов</title> + + <tgroup cols="2" align="left"> + <thead> + <row> + <entry align="left">Сокращение</entry> + <entry align="left">Описание</entry> + </row> + </thead> + + <tbody> + <row> + <entry>APM</entry> + <entry>Карта разделов Apple, используется в PowerPC(R).</entry> + </row> + </tbody> + </tgroup> +</table> +---- +a| +[source] +---- +[[partition-schemes]] +.Схемы разделов +[cols="1,1", frame="none", options="header"] +\|=== +\| Сокращение +\| Описание + +\|APM +\|Apple Partition Map, используется на PowerPC(R). + +\|=== +---- + +|*Блоки-уведомления* +a| +[source,xml] +---- +<tip> + <para>Это подсказка</para> +</tip> +---- +a| +[source] +---- +[ПОДСКАЗКА] +==== +Это подсказка +==== +---- + +|=== diff --git a/documentation/content/ru/books/fdp-primer/rosetta/_index.po b/documentation/content/ru/books/fdp-primer/rosetta/_index.po new file mode 100644 index 0000000000..e454294a2c --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/rosetta/_index.po @@ -0,0 +1,793 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR The FreeBSD Project +# This file is distributed under the same license as the FreeBSD Documentation package. +# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025. +msgid "" +msgstr "" +"Project-Id-Version: FreeBSD Documentation VERSION\n" +"POT-Creation-Date: 2025-09-20 14:02+0300\n" +"PO-Revision-Date: 2025-06-23 04:45+0000\n" +"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n" +"Language-Team: Russian <https://translate-dev.freebsd.org/projects/" +"documentation/booksfdp-primerrosetta_index/ru/>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.17\n" + +#. type: Yaml Front Matter Hash Value: description +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:1 +#, no-wrap +msgid "Rosetta Stone with the differences between Docbook and AsciiDoc" +msgstr "Розеттский камень с различиями между Docbook и AsciiDoc" + +#. type: Yaml Front Matter Hash Value: title +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:1 +#, no-wrap +msgid "Chapter 7. Rosetta Stone" +msgstr "Глава 7. Розеттский камень" + +#. type: Title = +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:14 +#, no-wrap +msgid "Rosetta Stone" +msgstr "Розеттский камень" + +#. type: Block title +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:52 +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:56 +#, no-wrap +msgid "Comparison between Docbook and AsciiDoc" +msgstr "Сравнение Docbook и AsciiDoc" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:55 +msgid "" +"This rosetta stone tries to show the differences between Docbook and " +"AsciiDoc." +msgstr "Эта шпаргалка пытается показать различия между Docbook и AsciiDoc." + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:59 +#, no-wrap +msgid "Language Feature" +msgstr "Языковая функция" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:59 +#, no-wrap +msgid "Docbook" +msgstr "Docbook" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:61 +#, no-wrap +msgid "AsciiDoc" +msgstr "AsciiDoc" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:62 +#, no-wrap +msgid "*Bold*" +msgstr "*Жирный*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:63 +#, no-wrap +msgid "<strong>bold</strong>" +msgstr "<strong>жирный</strong>" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:65 +#, no-wrap +msgid "\\*bold*" +msgstr "\\*жирный*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:66 +#, no-wrap +msgid "*Italic*" +msgstr "*Курсив*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:67 +#, no-wrap +msgid "<emphasis>Italic</emphasis>" +msgstr "<emphasis>Курсив</emphasis>" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:69 +#, no-wrap +msgid "\\_Italic_" +msgstr "\\_Курсив_" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:70 +#, no-wrap +msgid "*Monospace*" +msgstr "*Моноширинный*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:71 +#, no-wrap +msgid "<literal>Monospace</literal>" +msgstr "<literal>Моноширинный</literal>" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:73 +#, no-wrap +msgid "\\`Monospace`" +msgstr "\\`Моноширинный`" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:74 +#, no-wrap +msgid "*Paragraph*" +msgstr "*Абзац*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:75 +#, no-wrap +msgid "<para>This is a paragraph</para>" +msgstr "<para>Это абзац</para>" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:77 +#, no-wrap +msgid "This is a paragraph" +msgstr "Это абзац" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:78 +#, no-wrap +msgid "*Keycap*" +msgstr "*Клавиша*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:79 +#, no-wrap +msgid "<keycap>F11</keycap>" +msgstr "<keycap>F11</keycap>" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:81 +#, no-wrap +msgid "\\kbd:[F11]" +msgstr "\\kbd:[F11]" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:82 +#, no-wrap +msgid "*Links*" +msgstr "*Ссылки*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:87 +#, no-wrap +msgid "" +"[source,xml]\n" +"----\n" +"<link xlink:href=\"https://www.freebsd.org/where/\">Download FreeBSD</link>\n" +"----" +msgstr "" +"[source,xml]\n" +"----\n" +"<link xlink:href=\"https://www.freebsd.org/where/\">\n" +"Загрузить FreeBSD</link>\n" +"----" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:93 +#, no-wrap +msgid "" +"[source]\n" +"----\n" +"link:https://www.freebsd.org/where/[Download FreeBSD]\n" +"----" +msgstr "" +"[source]\n" +"----\n" +"link:https://www.freebsd.org/where/[Загрузить FreeBSD]\n" +"----" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:94 +#, no-wrap +msgid "*Sections*" +msgstr "*Разделы*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:101 +#, no-wrap +msgid "" +"[source,xml]\n" +"----\n" +" <sect1 xml:id=\"id\">\n" +" <title>Section 1</title>\n" +" </sect1>\n" +"----" +msgstr "" +"[source,xml]\n" +"----\n" +" <sect1 xml:id=\"id\">\n" +" <title>Раздел 1</title>\n" +" </sect1>\n" +"----" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:108 +#, no-wrap +msgid "" +"[source]\n" +"----\n" +" [[id]]\n" +" = Section 1\n" +"----" +msgstr "" +"[source]\n" +"----\n" +" [[id]]\n" +" = Раздел 1\n" +"----" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:109 +#, no-wrap +msgid "*Unordered list*" +msgstr "*Неупорядоченный список*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:122 +#, no-wrap +msgid "" +"[source,xml]\n" +"----\n" +"<itemizedlist>\n" +" <listitem>\n" +" <para>When to build a custom kernel.</para>\n" +" </listitem>\n" +"\n" +" <listitem>\n" +" <para>How to take a hardware inventory.</para>\n" +" </listitem>\n" +"</itemizedlist>\n" +"----" +msgstr "" +"[source,xml]\n" +"----\n" +"<itemizedlist>\n" +" <listitem>\n" +" <para>Когда следует собирать собственное ядро.</para>\n" +" </listitem>\n" +"\n" +" <listitem>\n" +" <para>Как выполнить инвентаризацию оборудования.</para>\n" +" </listitem>\n" +"</itemizedlist>\n" +"----" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:129 +#, no-wrap +msgid "" +"[source]\n" +"----\n" +"* When to build a custom kernel.\n" +"* How to take a hardware inventory.\n" +"----" +msgstr "" +"[source]\n" +"----\n" +"* Когда необходимо собрать собственное ядро.\n" +"* Как выполнить инвентаризацию оборудования.\n" +"----" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:130 +#, no-wrap +msgid "*Ordered list*" +msgstr "*Упорядоченный список*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:148 +#, no-wrap +msgid "" +"[source,xml]\n" +"----\n" +"<orderedlist>\n" +" <listitem>\n" +" <para>One</para>\n" +" </listitem>\n" +" <listitem>\n" +" <para>Two</para>\n" +" </listitem>\n" +" <listitem>\n" +" <para>Three</para>\n" +" </listitem>\n" +" <listitem>\n" +" <para>Four</para>\n" +" </listitem>\n" +"</orderedlist>\n" +"----" +msgstr "" +"[source,xml]\n" +"----\n" +"<orderedlist>\n" +" <listitem>\n" +" <para>Один</para>\n" +" </listitem>\n" +" <listitem>\n" +" <para>Два</para>\n" +" </listitem>\n" +" <listitem>\n" +" <para>Три</para>\n" +" </listitem>\n" +" <listitem>\n" +" <para>Четыре</para>\n" +" </listitem>\n" +"</orderedlist>\n" +"----" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:157 +#, no-wrap +msgid "" +"[source]\n" +"----\n" +". One\n" +". Two\n" +". Three\n" +". Four\n" +"----" +msgstr "" +"[source]\n" +"----\n" +". Один\n" +". Два\n" +". Три\n" +". Четыре\n" +"----" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:158 +#, no-wrap +msgid "*Variable list*" +msgstr "*Словарный список (Variable list)*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:170 +#, no-wrap +msgid "" +"[source,xml]\n" +"----\n" +"<variablelist>\n" +" <varlistentry>\n" +" <term>amd64</term>\n" +" <listitem>\n" +" <para>This is the most common desktop...</para>\n" +" </listitem>\n" +" </varlistentry>\n" +"</variablelist>\n" +"----" +msgstr "" +"[source,xml]\n" +"----\n" +"<variablelist>\n" +" <varlistentry>\n" +" <term>amd64</term>\n" +" <listitem>\n" +" <para>Это наиболее распространённая десктопная...</para>\n" +" </listitem>\n" +" </varlistentry>\n" +"</variablelist>\n" +"----" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:177 +#, no-wrap +msgid "" +"[source]\n" +"----\n" +"amd64::\n" +"This is the most common desktop...\n" +"----" +msgstr "" +"[source]\n" +"----\n" +"amd64::\n" +"Это наиболее распространённая десктопная...\n" +"----" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:178 +#, no-wrap +msgid "*Source code*" +msgstr "*Исходный код*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:185 +#, no-wrap +msgid "" +"[source,xml]\n" +"----\n" +"<screen>\n" +" &prompt.root; <userinput>mkdir -p /var/spool/lpd/lp</userinput>\n" +"</screen>\n" +"----" +msgstr "" +"[source,xml]\n" +"----\n" +"<screen>\n" +" &prompt.root; <userinput>mkdir -p /var/spool/lpd/lp</userinput>\n" +"</screen>\n" +"----" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:194 +#, no-wrap +msgid "" +"[source]\n" +"....\n" +"[source,shell]\n" +"----\n" +"# mkdir -p /var/spool/lpd/lp\n" +"----\n" +"...." +msgstr "" +"[source]\n" +"....\n" +"[source,shell]\n" +"----\n" +"# mkdir -p /var/spool/lpd/lp\n" +"----\n" +"...." + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:195 +#, no-wrap +msgid "*Literal block*" +msgstr "*Неформатируемый блок*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:208 +#, no-wrap +msgid "" +"[source,xml]\n" +"----\n" +"<programlisting>\n" +"include GENERIC\n" +"ident MYKERNEL\n" +"\n" +"options IPFIREWALL\n" +"options DUMMYNET\n" +"options IPFIREWALL_DEFAULT_TO_ACCEPT\n" +"options IPDIVERT\n" +"</programlisting>\n" +"----" +msgstr "" +"[source,xml]\n" +"----\n" +"<programlisting>\n" +"include GENERIC\n" +"ident MYKERNEL\n" +"\n" +"options IPFIREWALL\n" +"options DUMMYNET\n" +"options IPFIREWALL_DEFAULT_TO_ACCEPT\n" +"options IPDIVERT\n" +"</programlisting>\n" +"----" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:222 +#, no-wrap +msgid "" +"[source]\n" +"----\n" +"....\n" +"include GENERIC\n" +"ident MYKERNEL\n" +"\n" +"options IPFIREWALL\n" +"options DUMMYNET\n" +"options IPFIREWALL_DEFAULT_TO_ACCEPT\n" +"options IPDIVERT\n" +"....\n" +"----" +msgstr "" +"[source]\n" +"----\n" +"....\n" +"include GENERIC\n" +"ident MYKERNEL\n" +"\n" +"options IPFIREWALL\n" +"options DUMMYNET\n" +"options IPFIREWALL_DEFAULT_TO_ACCEPT\n" +"options IPDIVERT\n" +"....\n" +"----" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:223 +#, no-wrap +msgid "*Images*" +msgstr "*Изображения*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:244 +#, no-wrap +msgid "" +"[source,xml]\n" +"----\n" +"<figure xml:id=\"bsdinstall-newboot-loader-menu\">\n" +" <title>FreeBSD Boot Loader Menu</title>\n" +"\n" +" <mediaobject>\n" +" <imageobject>\n" +" <imagedata fileref=\"bsdinstall/bsdinstall-newboot-loader-menu\"/>\n" +" </imageobject>\n" +" <textobject>\n" +" </literallayout>ASCII art replacement is no longer supported.</literallayout>\n" +" </textobject>\n" +" <textobject>\n" +" <phrase>The FreeBSD loader menu, with options 1-6 to boot\n" +" multi-user, boot single user, escape to loader prompt, reboot,\n" +" select a kernel to load, and select boot options</phrase>\n" +" </textobject>\n" +" </mediaobject>\n" +"</figure>\n" +"----" +msgstr "" +"[source,xml]\n" +"----\n" +"<figure xml:id=\"bsdinstall-newboot-loader-menu\">\n" +" <title>Меню загрузчика FreeBSD</title>\n" +"\n" +" <mediaobject>\n" +" <imageobject>\n" +" <imagedata fileref=\"bsdinstall/bsdinstall-newboot-loader-menu\"/>\n" +" </imageobject>\n" +" <textobject>\n" +" </literallayout>\n" +" Поддержка ASCII-графики более не предоставляется.\n" +" </literallayout>\n" +" </textobject>\n" +" <textobject>\n" +" <phrase>Меню загрузчика FreeBSD с вариантами 1-6 для загрузки\n" +" в многопользовательском режиме, однопользовательском\n" +" режиме, перехода в командную строку загрузчика, перезагрузки,\n" +" выбора ядра для загрузки и параметров загрузки</phrase>\n" +" </textobject>\n" +" </mediaobject>\n" +"</figure>\n" +"----" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:252 +#, no-wrap +msgid "" +"[source]\n" +"----\n" +"[[bsdinstall-newboot-loader-menu]]\n" +".FreeBSD Boot Loader Menu\n" +"image::bsdinstall/bsdinstall-newboot-loader-menu[The FreeBSD loader menu, with options 1-6 to boot multi-user, boot single user, escape to loader prompt, reboot, select a kernel to load, and select boot options]\n" +"----" +msgstr "" +"[source]\n" +"----\n" +"[[bsdinstall-newboot-loader-menu]]\n" +".Меню загрузчика FreeBSD\n" +"image::bsdinstall/bsdinstall-newboot-loader-menu[Меню загрузчика FreeBSD с вариантами 1-6: загрузка многопользовательского режима, загрузка однопользовательского режима, переход в командную строку загрузчика, перезагрузка, выбор ядра для загрузки и параметров загрузки]\n" +"----" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:253 +#, no-wrap +msgid "*Includes*" +msgstr "*Включение файла*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:254 +#, no-wrap +msgid "n/a" +msgstr "не доступно" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:260 +#, no-wrap +msgid "" +"[source]\n" +"----\n" +"\\include::chapter.adoc[]\n" +"----" +msgstr "" +"[source]\n" +"----\n" +"\\include::chapter.adoc[]\n" +"----" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:261 +#, no-wrap +msgid "*Tables*" +msgstr "*Таблицы*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:284 +#, no-wrap +msgid "" +"[source,xml]\n" +"----\n" +"<table xml:id=\"partition-schemes\" frame=\"none\" rowsep=\"1\" pgwide=\"1\">\n" +" <title>Partitioning Schemes</title>\n" +"\n" +" <tgroup cols=\"2\" align=\"left\">\n" +" <thead>\n" +" <row>\n" +" <entry align=\"left\">Abbreviation</entry>\n" +" <entry align=\"left\">Description</entry>\n" +" </row>\n" +" </thead>\n" +"\n" +" <tbody>\n" +" <row>\n" +" <entry>APM</entry>\n" +" <entry>Apple Partition Map, used by PowerPC(R).</entry>\n" +" </row>\n" +" </tbody>\n" +" </tgroup>\n" +"</table>\n" +"----" +msgstr "" +"[source,xml]\n" +"----\n" +"<table xml:id=\"partition-schemes\" frame=\"none\" rowsep=\"1\" pgwide=\"1\">\n" +" <title>Схемы разделов</title>\n" +"\n" +" <tgroup cols=\"2\" align=\"left\">\n" +" <thead>\n" +" <row>\n" +" <entry align=\"left\">Сокращение</entry>\n" +" <entry align=\"left\">Описание</entry>\n" +" </row>\n" +" </thead>\n" +"\n" +" <tbody>\n" +" <row>\n" +" <entry>APM</entry>\n" +" <entry>Карта разделов Apple, используется в PowerPC(R).</entry>\n" +" </row>\n" +" </tbody>\n" +" </tgroup>\n" +"</table>\n" +"----" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:290 +#, no-wrap +msgid "" +"[source]\n" +"----\n" +"[[partition-schemes]]\n" +".Partitioning Schemes\n" +"[cols=\"1,1\", frame=\"none\", options=\"header\"]\n" +"\\" +msgstr "" +"[source]\n" +"----\n" +"[[partition-schemes]]\n" +".Схемы разделов\n" +"[cols=\"1,1\", frame=\"none\", options=\"header\"]\n" +"\\" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:291 +#, no-wrap +msgid "" +"===\n" +"\\" +msgstr "" +"===\n" +"\\" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:292 +#, no-wrap +msgid "" +"Abbreviation\n" +"\\" +msgstr "" +"Сокращение\n" +"\\" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:294 +#, no-wrap +msgid "" +"Description\n" +"\n" +"\\" +msgstr "" +"Описание\n" +"\n" +"\\" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:295 +#, no-wrap +msgid "" +"APM\n" +"\\" +msgstr "" +"APM\n" +"\\" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:297 +#, no-wrap +msgid "" +"Apple Partition Map, used by PowerPC(R).\n" +"\n" +"\\" +msgstr "" +"Apple Partition Map, используется на PowerPC(R).\n" +"\n" +"\\" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:300 +#, no-wrap +msgid "" +"===\n" +"----" +msgstr "" +"===\n" +"----" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:301 +#, no-wrap +msgid "*Admonitions*" +msgstr "*Блоки-уведомления*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:308 +#, no-wrap +msgid "" +"[source,xml]\n" +"----\n" +"<tip>\n" +" <para>This is a tip</para>\n" +"</tip>\n" +"----" +msgstr "" +"[source,xml]\n" +"----\n" +"<tip>\n" +" <para>Это подсказка</para>\n" +"</tip>\n" +"----" + +#. type: Table +#: documentation/content/en/books/fdp-primer/rosetta/_index.adoc:317 +#, no-wrap +msgid "" +"[source]\n" +"----\n" +"[TIP]\n" +"====\n" +"This is a tip\n" +"====\n" +"----" +msgstr "" +"[source]\n" +"----\n" +"[ПОДСКАЗКА]\n" +"====\n" +"Это подсказка\n" +"====\n" +"----" diff --git a/documentation/content/ru/books/fdp-primer/see-also/_index.adoc b/documentation/content/ru/books/fdp-primer/see-also/_index.adoc new file mode 100644 index 0000000000..b3a4f8dc1a --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/see-also/_index.adoc @@ -0,0 +1,77 @@ +--- +description: 'Дополнительная информация о проекте документации FreeBSD' +next: books/fdp-primer/examples +params: + path: /books/fdp-primer/see-also/ +prev: books/fdp-primer/trademarks/ +showBookMenu: true +tags: ["additional information", "AsciiDoctor", "HTML"] +title: 'Глава 15. Смотрите также' +weight: 15 +--- + +[[see-also]] += Смотрите также +:doctype: book +:toc: macro +:toclevels: 1 +:icons: font +:sectnums: +:sectnumlevels: 6 +:sectnumoffset: 15 +:partnums: +:source-highlighter: rouge +:experimental: +:images-path: books/fdp-primer/ + +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::[] + +Этот документ намеренно не является исчерпывающим обсуждением AsciiDoc и проекта документации FreeBSD. Для получения дополнительной информации о них рекомендуется посетить следующие веб-сайты. + +[[see-also-fdp]] +== Проект документации FreeBSD + +* link:https://www.FreeBSD.org/docproj/[Веб-страницы проекта документации FreeBSD] +* extref:{handbook}[Руководство по FreeBSD] + +[[see-also-hugo]] +== Hugo + +* link:https://gohugo.io/[Hugo] +* link:https://gohugo.io/documentation/[Документация Hugo] + +[[see-also-asciidoc]] +== AsciiDoctor + +* link:https://asciidoctor.org/[AsciiDoctor] +* link:https://docs.asciidoctor.org/[Документационный портал AsciiDoctor] + +[[see-also-html]] +== HTML + +* link:http://www.w3.org/[Консорциум Всемирной паутины] +* link:https://dev.w3.org/html5/spec-LC/[Спецификация HTML 5] +* link:https://www.w3.org/Style/CSS/specs.en.html[Спецификация CSS] +* link:https://sass-lang.com/[Sass] diff --git a/documentation/content/ru/books/fdp-primer/see-also/_index.po b/documentation/content/ru/books/fdp-primer/see-also/_index.po new file mode 100644 index 0000000000..9e208201ad --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/see-also/_index.po @@ -0,0 +1,127 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR The FreeBSD Project +# This file is distributed under the same license as the FreeBSD Documentation package. +# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025. +msgid "" +msgstr "" +"Project-Id-Version: FreeBSD Documentation VERSION\n" +"POT-Creation-Date: 2025-09-20 14:02+0300\n" +"PO-Revision-Date: 2025-06-01 18:10+0000\n" +"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n" +"Language-Team: Russian <https://translate-dev.freebsd.org/projects/" +"documentation/booksfdp-primersee-also_index/ru/>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.17\n" + +#. type: Yaml Front Matter Hash Value: description +#: documentation/content/en/books/fdp-primer/see-also/_index.adoc:1 +#, no-wrap +msgid "More information about the FreeBSD Documentation Project" +msgstr "Дополнительная информация о проекте документации FreeBSD" + +#. type: Yaml Front Matter Hash Value: title +#: documentation/content/en/books/fdp-primer/see-also/_index.adoc:1 +#, no-wrap +msgid "Chapter 15. See Also" +msgstr "Глава 15. Смотрите также" + +#. type: Title = +#: documentation/content/en/books/fdp-primer/see-also/_index.adoc:14 +#, no-wrap +msgid "See Also" +msgstr "Смотрите также" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/see-also/_index.adoc:53 +msgid "" +"This document is deliberately not an exhaustive discussion of AsciiDoc and " +"the FreeBSD Documentation Project. For more information about these, you " +"are encouraged to see the following web sites." +msgstr "" +"Этот документ намеренно не является исчерпывающим обсуждением AsciiDoc и " +"проекта документации FreeBSD. Для получения дополнительной информации о них " +"рекомендуется посетить следующие веб-сайты." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/see-also/_index.adoc:55 +#, no-wrap +msgid "The FreeBSD Documentation Project" +msgstr "Проект документации FreeBSD" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/see-also/_index.adoc:58 +msgid "" +"link:https://www.FreeBSD.org/docproj/[The FreeBSD Documentation Project web " +"pages]" +msgstr "" +"link:https://www.FreeBSD.org/docproj/[Веб-страницы проекта документации " +"FreeBSD]" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/see-also/_index.adoc:59 +msgid "extref:{handbook}[The FreeBSD Handbook]" +msgstr "extref:{handbook}[Руководство по FreeBSD]" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/see-also/_index.adoc:61 +#, no-wrap +msgid "Hugo" +msgstr "Hugo" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/see-also/_index.adoc:64 +msgid "link:https://gohugo.io/[Hugo]" +msgstr "link:https://gohugo.io/[Hugo]" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/see-also/_index.adoc:65 +msgid "link:https://gohugo.io/documentation/[Hugo documentation]" +msgstr "link:https://gohugo.io/documentation/[Документация Hugo]" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/see-also/_index.adoc:67 +#, no-wrap +msgid "AsciiDoctor" +msgstr "AsciiDoctor" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/see-also/_index.adoc:70 +msgid "link:https://asciidoctor.org/[AsciiDoctor]" +msgstr "link:https://asciidoctor.org/[AsciiDoctor]" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/see-also/_index.adoc:71 +msgid "link:https://docs.asciidoctor.org/[AsciiDoctor Documentation Portal]" +msgstr "" +"link:https://docs.asciidoctor.org/[Документационный портал AsciiDoctor]" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/see-also/_index.adoc:73 +#, no-wrap +msgid "HTML" +msgstr "HTML" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/see-also/_index.adoc:76 +msgid "link:http://www.w3.org/[The World Wide Web Consortium]" +msgstr "link:http://www.w3.org/[Консорциум Всемирной паутины]" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/see-also/_index.adoc:77 +msgid "link:https://dev.w3.org/html5/spec-LC/[The HTML 5 specification]" +msgstr "link:https://dev.w3.org/html5/spec-LC/[Спецификация HTML 5]" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/see-also/_index.adoc:78 +msgid "link:https://www.w3.org/Style/CSS/specs.en.html[CSS specification]" +msgstr "link:https://www.w3.org/Style/CSS/specs.en.html[Спецификация CSS]" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/see-also/_index.adoc:78 +msgid "link:https://sass-lang.com/[Sass]" +msgstr "link:https://sass-lang.com/[Sass]" diff --git a/documentation/content/ru/books/fdp-primer/structure/_index.adoc b/documentation/content/ru/books/fdp-primer/structure/_index.adoc new file mode 100644 index 0000000000..a89d627650 --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/structure/_index.adoc @@ -0,0 +1,386 @@ +--- +description: 'Структура каталогов документации, используемая в проекте документации FreeBSD' +next: books/fdp-primer/doc-build +params: + path: /books/fdp-primer/structure/ +prev: books/fdp-primer/working-copy +showBookMenu: true +tags: ["directory structure", "organization"] +title: 'Глава 4. Структура каталогов документации' +weight: 5 +--- + +[[structure]] += Структура каталогов документации +:doctype: book +:toc: macro +:toclevels: 1 +:icons: font +:sectnums: +:sectnumlevels: 6 +:sectnumoffset: 4 +:partnums: +:source-highlighter: rouge +:experimental: +:images-path: books/fdp-primer/ + +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::[] + +Файлы и каталоги в дереве *doc/* следуют структуре, преследующей цели: + +. Сделать удобным автоматическое преобразование документа в другие форматы. +. Способствовать согласованности между различными организациями, занимающимися документацией, чтобы упростить переход между работой над разными документами. +. Сделать удобным выбор места в дереве для размещения новой документации. + +В дополнение, дерево документации должно поддерживать документы на многих разных языках. Важно, чтобы структура дерева документации не навязывала каких-либо конкретных настроек по умолчанию или культурных предпочтений. + +[[structure-top]] +== Верхний уровень, doc/ + +В разделе *doc/* есть три подраздела, документация и веб-сайт имеют одинаковую структуру. + +[cols="20%,80%", frame="none", options="header"] +|=== +| Каталог +| Использование + +| *documentation* +| Содержит все статьи и книги в формате AsciiDoc. +Содержит подкаталоги для дальнейшей категоризации информации по языкам. + +| *tools* +| Содержит набор инструментов для перевода документации и веб-сайта с использованием link:https://weblate.org/en/[Weblate]. +Экземпляр Weblate доступен link:https://translate-dev.freebsd.org[здесь]. + +| *shared* +| Содержит файлы, не относящиеся к различным переводам документации. +Включает подкаталоги для дальнейшей категоризации информации по языкам, а также три файла для хранения данных об авторах, выпусках и зеркалах. +Этот каталог является общим для `documentation` и `website`. + +| * website* +| Содержит ссылку link:https://www.FreeBSD.org[FreeBSD website] в формате AsciiDoc. +Содержит подкаталоги для дальнейшей категоризации информации по языкам. +|=== + +[[structure-locale]] +== Каталоги + +Эти каталоги содержат документацию и веб-сайт. Документация организована в подкаталоги ниже этого уровня, следуя структуре каталогов link:https://gohugo.io/getting-started/directory-structure/[Hugo]. + +[cols="20%,80%", frame="none", options="header"] +|=== +| Каталог +| Использование + + +| * archetypes* +| Содержит шаблоны для создания новых статей, книг и веб-страниц. +Дополнительную информацию смотрите link:https://gohugo.io/content-management/archetypes/[здесь]. + +| *config* +| Содержат файлы конфигурации Hugo. +Один основной файл и по одному файлу для каждого языка. +Для получения дополнительной информации смотрите link:https://gohugo.io/getting-started/configuration/[здесь]. + +| *content* +| Содержат книги, статьи и веб-страницы. +Для каждого доступного перевода документации существует отдельный каталог, например `en` и `zh-tw`. + +| *data* +| Содержит пользовательские данные для сборки веб-сайта в формате link:https://en.wikipedia.org/wiki/TOML[TOML]. +Этот каталог используется для хранения событий, новостей, пресс-релизов и т.д. +Для получения дополнительной информации ознакомьтесь link:https://gohugo.io/templates/data-templates/[здесь]. + +| *static* +| Содержат статические ресурсы. +Изображения, бюллетени безопасности, pgpkeys и т.д. +Подробнее смотрите link:https://gohugo.io/content-management/static-files/[здесь]. + +| * themes* +| Содержите шаблоны в виде файлов `.html`, которые определяют внешний вид веб-сайта. +Для получения дополнительной информации посмотрите link:https://gohugo.io/templates/[здесь]. + +| *tools* +| Содержит инструменты, используемые для улучшения сборки документации. +Например, для генерации оглавления книг и т.д. + +| *beastie.png* +| Это изображение не нуждается в представлении ;) + +| *LICENSE* +| Лицензия документации, общих материалов и веб-сайта. Лицензия BSD с 2 пунктами. + +| *Makefile* +| Файл *Makefile* определяет процесс сборки документации и веб-сайта. +|=== + +[[structure-document]] +== Информация, относящаяся к документу + +Этот раздел содержит особые примечания о конкретных документах, которыми управляет FDP. + +[[structure-document-books]] +== Книги: books/ + +Книги написаны в AsciiDoc. + +Для каждой книги FreeBSD тип документа AsciiDoc (также известный как doctype) — это `book` (книга). Книги содержат ``part`` (части), каждая из которых включает несколько ``chapter`` (глав). + +Когда документ преобразуется в HTML 5 (с использованием встроенного бэкенда `html5`): + +* Уровень раздела AsciiDoc 0 (`=`) в начале `главы` `книги` будет `<h1>` +* Уровень секции AsciiDoc 1 (`==`) должен использоваться для первого логического раздела главы и будет преобразован в `<h2>` +* Уровень раздела AsciiDoc 2 (`===`) должен использоваться для первого логического подраздела и будет преобразован в `<h3>` + +– и так далее. Ссылка: link:https://docs.asciidoctor.org/asciidoc/latest/sections/titles-and-levels/[Заголовки и уровни разделов | Документация Asciidoctor]. + +[[structure-document-books-physical]] +=== Физическая организация + +В каталоге books находится множество файлов и директорий, все с одинаковой структурой. + +[[structure-document-books-physical-index]] +==== _index.adoc + +Файл *_index.adoc* определяет некоторые переменные AsciiDoc, которые влияют на преобразование исходного кода AsciiDoc в другие форматы, а также содержит оглавление, список примеров, список рисунков, список таблиц и раздел с аннотацией. + +[[structure-document-books-physical-book]] +==== book.adoc + +Файл *book.adoc* определяет некоторые переменные AsciiDoc, которые влияют на преобразование исходного кода AsciiDoc в другие форматы, а также включает оглавление, список примеров, список рисунков, список таблиц, раздел с аннотацией и все главы. Этот файл используется для генерации PDF с помощью `asciidoctor-pdf` и для создания книги в виде одной страницы `html`. + +[[structure-document-books-physical-part]] +==== part*.adoc +Файлы **part*.adoc** содержат краткое введение к одной части книги. + +[[structure-document-handbook-physical-chapters]] +==== directory/_index.adoc + +Каждая глава Руководства хранится в файле с именем *_index.adoc* в отдельном каталоге от других глав. + +Например, вот пример заголовка одной главы: + +[source.programlisting, asciidoc] +.... +--- +title: Chapter 8. Configuring the FreeBSD Kernel +part: Part II. Common Tasks +prev: books/handbook/multimedia +next: books/handbook/printing +--- + +[[kernelconfig]] += Настройка ядра FreeBSD +... +.... + +При создании HTML5-версии Handbook это приведёт к формированию файла *kernelconfig/index.html*. + +Быстрый взгляд покажет, что существует множество каталогов с отдельными файлами *_index.adoc*, включая *basics/_index.adoc*, *introduction/_index.adoc* и *printing/_index.adoc*. + +[IMPORTANT] +==== +Не называйте главы или каталоги в соответствии с их порядком в Руководстве. Этот порядок может измениться при реорганизации содержания Руководства. Реорганизация должна быть возможной без переименования файлов, за исключением случаев, когда целые главы перемещаются вверх или вниз по иерархии. +==== + +[[structure-document-articles]] +== Статьи: articles/ + +Статьи написаны в AsciiDoc. + +Статьи организованы как документ AsciiDoc `article`. Статьи разделены на разделы (`=`), подразделы (`==`, `===`) и так далее. + +[[structure-document-articles-physical]] +=== Физическая организация + +На каждый статью приходится один файл *_index.adoc*. + +[[structure-document-articles-physical-index]] +==== _index.adoc + +Файл *_index.adoc* содержит все переменные AsciiDoc и контент. + +Например, это образец одной статьи, структура довольно похожа на главу книги: + +[source.programlisting, asciidoc] +.... +--- +title: Why you should use a BSD style license for your Open Source Project +authors: + - author: Bruce Montague + email: brucem@alumni.cse.ucsc.edu +trademarks: ["freebsd", "intel", "general"] +--- + += Почему вы должны использовать лицензию в стиле BSD для вашего Open Source проекта +:doctype: article :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: + +''' + +toc::[] + +[[intro]] +== Введение +.... + +== Управление списками участников + +Проект FreeBSD отмечает вклад участников в нескольких различных списках в документации и печатных материалах. В этом разделе описано, как команда документации управляет изменениями в этих списках. + +=== Списки отношений наставника и нового коммиттера + +Начиная с FreeBSD 7.0, FreeBSD поддерживает link:https://cgit.freebsd.org/src/tree/share/misc[три списка отношений наставник/подопечный] — один для исходного кода, один для портов и один для документации. Эти файлы имеют формат *«.dot»* и предназначены для использования с популярным пакетом для построения графиков graphics/graphviz[], доступным как пакет или порт FreeBSD. + +[NOTE] +==== +man:dot[1] устанавливается как часть пакета или порта: graphics/graphviz[]. Программа [.filename]#dot# читает файлы в формате *".dot"* и создает графическое изображение направленного графа. +==== + +Три файла часто служат учебным опытом для новых коммиттеров всех трёх команд, которым поручается добавить себя и своего наставника в соответствующий файл в качестве их первого коммита. Каждый файл содержит раздел «current» для новых коммиттеров, раздел «alumni» для случаев возврата прав на коммит и раздел «mentor / mentee», отображающий взаимоотношения. Формат каждой записи поясняется в начале файла. + +=== Общий список участников + +extref:{contributors}[Участники] проекта FreeBSD поддерживаются в формате статьи. Исходный файл для управления статьёй *Участники* находится по адресу: + +[subs=+quotes] +---- +doc + /documentation + /content + /{language} + /articles + /contributors + [.filename]#_index.adoc# – Contains a list of include files that apply to each section. + [.filename]#_index.po# – Translation page + [.filename]#contrib-develinmemoriam.adoc# - content of “In Memoriam” section + [.filename]#contrib-develinmemoriam.po# – Translation page +---- + +Копии этого каталога contributors могут существовать в других каталогах с контентом на различных языках. + +Обратите внимание, что файл [.filename]#contrib-develinmemoriam.adoc# также находится в этом каталоге. Дополнительную информацию смотрите ниже. + +Файл [.filename]#contributors/_index.adoc# представляет собой набор включаемых файлов. Включаемые файлы перечислены в разделе, специфичном для Hugo, в исходном файле. Раздел разделён на несколько частей с помощью операторов "ifdef::". Существует подраздел для вывода на веб-сайт и подраздел для вывода вне веб-сайта (включая PDF). + +Текст каждого раздела страницы *Участники* содержит оператор "include::". Например, запись для "Экс-участники менеджера портов" выглядит как `include::{include-contrib-portmgralumni}[]`. Это подключает текст об экс-участниках менеджера портов в итоговый вывод. + +Чтобы внести изменения, отредактируйте соответствующий include-файл: + +[subs=+quotes] +---- +include-contrib-committers: [.filename]#~/doc/shared/contrib-committers.adoc# +include-contrib-corealumni: [.filename]#~/doc/shared/contrib-corealumni.adoc# +include-contrib-develalumni: [.filename]#~/doc/shared/contrib-develalumni.adoc# +include-contrib-portmgralumni: [.filename]#~/doc/shared/contrib-portmgralumni.adoc# +include-contrib-additional: [.filename]#~/doc/shared/contrib-additional.adoc# +include-contrib-386bsd: [.filename]#~/doc/shared/contrib-386bsd.adoc# + +Также отредактируйте файл [.filename]#authors.adoc#: [.filename]#~/doc/shared/authors.adoc# +и все связанные с ним переводы. + +---- + +В общем случае, если добавляется новый человек, требуется лишь одно изменение — его можно добавить в соответствующий включаемый файл. Если человек переводится из статуса «текущий» в «бывший», необходимо два изменения: одно для удаления и одно для добавления в соответствующие файлы. Порядок записей для всех файлов указан в таблице ниже. + +[cols="25%,25%,25%,25%", frame="none", options="header"] +|=== +| Назначение | Якорь раздела | Файл в ~/doc/shared/ | Спецификация порядка +| *Разработчики FreeBSD* | include-contrib-committers | [.filename]#contrib-committers.adoc# | упорядочено по алфавиту по фамилии +| *Бывшие члены основной команды* | include-contrib-corealumni | [.filename]#contrib-corealumni.adoc# | приблизительно в обратном хронологическом порядке +| *Бывшие члены команды разработчиков* | include-contrib-develalumni | [.filename]#contrib-develalumni.adoc# | приблизительно в обратном хронологическом порядке +| *Бывшие члены команды управления портами* | include::contrib-portmgralumni | [.filename]#contrib-portmgralumni.adoc# | приблизительно в обратном хронологическом порядке +| *Дополнительные участники проекта FreeBSD* | include-contrib-additional | [.filename]#contrib-additional.adoc# | упорядочено по алфавиту по имени +| *Участники, предоставившие патчи для 386BSD Patch Kit* | include-contrib-386bsd | [.filename]#contrib-386bsd.adoc# | упорядочено по алфавиту по имени +| *Участники проекта центрального сервера* | Файл include не используется | [.filename]#contributors/_index.adoc# | неупорядоченное +| *Прямое финансирование* | Файл include не используется | [.filename]#contributors/_index.adoc# | неупорядоченное +| *Участники, предоставившие оборудование* | Файл include не используется | [.filename]#contributors/_index.adoc# | неупорядоченное +| *Особые участники* | Файл include не используется | [.filename]#contributors/_index.adoc# | неупорядоченное +|=== + +=== Раздел "Памяти" + +Когда уведомляют сообщество BSD о смерти члена сообщества, следует использовать следующую процедуру: + +. Используйте файл [.filename]#~/doc/shared/authors.adoc# для поиска имени человека и ссылки на атрибут, например `{foobsd}`. +. Если они являются текущим членом одной или нескольких команд проекта FreeBSD в [.filename]#~/doc/website/content/en/administration.adoc#, удалите все упоминания их атрибута. Также выполните следующие правки: ++ +* [.filename]#~/doc/shared/contrib-committers.adoc# - Удалите ссылку на атрибут. +* [.filename]#~/doc/shared/contrib-corealumni.adoc# - Если они являются _действующим_ членом основной команды, создайте запись с указанием дат начала и окончания. +* [.filename]#~/doc/shared/contrib-develalumni.adoc# - Добавьте ссылку на атрибут и даты активности в качестве коммиттера. +* [.filename]#~/doc/shared/contrib-portmgralumni.adoc# - Добавьте ссылку на атрибут при необходимости. +* [.filename]#~/doc/shared/contrib-additional.adoc# — Удалите запись. +* [.filename]#~/doc/shared/contrib-386bsd.adoc# - Это исключительно исторический документ. Изменения не требуются. ++ +. В файле [.filename]#~/doc/shared/authors.adoc# закомментируйте (используя одну обратную косую черту '\') адрес электронной почты, чтобы избежать создания ссылки "mailto:". См. пример для `itojun` ниже: ++ +[source.programlisting, asciidoc] +.... +[shared/authors.adoc] + +[..] + +:itojun-name: Jun-ichiro Itoh +:itojun-email: \itojun@FreeBSD.org +:itojun: {itojun-name} <{itojun-email}> + +[..] +.... ++ +. Поскольку участник скончался (что следует перепроверить), добавьте его в файл [.filename]#contrib-develinmemoriam.adoc# "Памяти ушедших". ++ +Постарайтесь найти информацию, подкрепленную фактами, о его вкладе в FreeBSD за прошедшие годы и добавьте её к записи в файле. Для этого может потребоваться запрос в списках рассылки разработчиков, обращение к коллегам, связь с FreeBSD Foundation или поиск в журналах коммитов. ++ +Чтобы узнать дату их первого коммита, используйте: ++ +[source.programlisting, asciidoc] +.... +% cd ~/src +% git log --reverse --author=foobsd # search for first commit of foobsd +.... ++ +Это выведет их коммиты в обратном порядке. Дата первого коммита будет вверху. ++ +Убедитесь, что формат дат соответствует другим записям: ++ +[source.programlisting, asciidoc] +.... +(год начала предоставления права коммита - год окончания предоставления права коммита; RIP год ухода) + +Например: + +* Foo BSD (2007 - 2010; RIP 2016) +.... ++ +Проверьте порядок записей в файле. ++ +[cols="25%,25%,25%,25%", frame="none", options="header"] +|=== +| Назначение | Якорь раздела | Файл в ~/doc/documentation/content/{язык}/articles/contributors/ | Спецификация порядка +| *Команда разработчиков: Памяти ушедших* | [.filename]#contrib-develinmemoriam.adoc# | [.filename]#contrib-develinmemoriam.adoc# | приблизительно в обратном хронологическом порядке +|=== ++ +Смотрите файл "In Memoriam" для похожих записей. ++ +. Наконец, если применимо, переместите запись участника с правами коммиттера из раздела «current» в раздел «alumni» соответствующего link:https://cgit.freebsd.org/src/tree/share/misc[списка отношений наставник / подопечный] с указанием соответствующей даты. Изменять отношения наставник / подопечный не требуется. diff --git a/documentation/content/ru/books/fdp-primer/structure/_index.po b/documentation/content/ru/books/fdp-primer/structure/_index.po new file mode 100644 index 0000000000..15fc73b69b --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/structure/_index.po @@ -0,0 +1,1340 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR The FreeBSD Project +# This file is distributed under the same license as the FreeBSD Documentation package. +# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025. +msgid "" +msgstr "" +"Project-Id-Version: FreeBSD Documentation VERSION\n" +"POT-Creation-Date: 2025-09-20 14:02+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/" +"documentation/booksfdp-primerstructure_index/ru/>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.17\n" + +#. type: Yaml Front Matter Hash Value: description +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:1 +#, no-wrap +msgid "Documentation Directory Structure explanation used in the FreeBSD Documentation Project" +msgstr "Структура каталогов документации, используемая в проекте документации FreeBSD" + +#. type: Yaml Front Matter Hash Value: title +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:1 +#, no-wrap +msgid "Chapter 4. Documentation Directory Structure" +msgstr "Глава 4. Структура каталогов документации" + +#. type: Title = +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:14 +#, no-wrap +msgid "Documentation Directory Structure" +msgstr "Структура каталогов документации" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:52 +msgid "Files and directories in the *doc/* tree follow a structure meant to:" +msgstr "Файлы и каталоги в дереве *doc/* следуют структуре, преследующей цели:" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:54 +msgid "Make it easy to automate converting the document to other formats." +msgstr "" +"Сделать удобным автоматическое преобразование документа в другие форматы." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:55 +msgid "" +"Promote consistency between the different documentation organizations, to " +"make it easier to switch between working on different documents." +msgstr "" +"Способствовать согласованности между различными организациями, занимающимися " +"документацией, чтобы упростить переход между работой над разными документами." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:56 +msgid "" +"Make it easy to decide where in the tree new documentation should be placed." +msgstr "" +"Сделать удобным выбор места в дереве для размещения новой документации." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:59 +msgid "" +"In addition, the documentation tree must accommodate documents in many " +"different languages. It is important that the documentation tree structure " +"does not enforce any particular defaults or cultural preferences." +msgstr "" +"В дополнение, дерево документации должно поддерживать документы на многих " +"разных языках. Важно, чтобы структура дерева документации не навязывала " +"каких-либо конкретных настроек по умолчанию или культурных предпочтений." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:61 +#, no-wrap +msgid "The Top Level, doc/" +msgstr "Верхний уровень, doc/" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:64 +msgid "" +"There are three sections under *doc/*, documentation and website share the " +"same structure." +msgstr "" +"В разделе *doc/* есть три подраздела, документация и веб-сайт имеют " +"одинаковую структуру." + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:68 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:97 +#, no-wrap +msgid "Directory" +msgstr "Каталог" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:70 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:100 +#, no-wrap +msgid "Usage" +msgstr "Использование" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:71 +#, no-wrap +msgid "*documentation*" +msgstr "*documentation*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:74 +#, no-wrap +msgid "" +"Contains all the articles and books in AsciiDoc format.\n" +"Contains subdirectories to further categorize the information by languages." +msgstr "" +"Содержит все статьи и книги в формате AsciiDoc.\n" +"Содержит подкаталоги для дальнейшей категоризации информации по языкам." + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:75 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:128 +#, no-wrap +msgid "*tools*" +msgstr "*tools*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:78 +#, no-wrap +msgid "" +"Contains a set of tools used to translate the documentation and the website using link:https://weblate.org/en/[Weblate].\n" +"The Weblate instance can be found link:https://translate-dev.freebsd.org[here]." +msgstr "" +"Содержит набор инструментов для перевода документации и веб-сайта с использованием link:https://weblate.org/en/[Weblate].\n" +"Экземпляр Weblate доступен link:https://translate-dev.freebsd.org[здесь]." + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:79 +#, no-wrap +msgid "*shared*" +msgstr "*shared*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:83 +#, no-wrap +msgid "" +"Contains files that are not specific to the various translations of the documentation.\n" +"Contains subdirectories to further categorize the information by languages and three files to store the authors, releases and mirrors information.\n" +"This directory is shared between `documentation` and the `website`." +msgstr "" +"Содержит файлы, не относящиеся к различным переводам документации.\n" +"Включает подкаталоги для дальнейшей категоризации информации по языкам, а также три файла для хранения данных об авторах, выпусках и зеркалах.\n" +"Этот каталог является общим для `documentation` и `website`." + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:84 +#, no-wrap +msgid "*website*" +msgstr "* website*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:86 +#, no-wrap +msgid "" +"Contains the link:https://www.FreeBSD.org[FreeBSD website] in AsciiDoc format.\n" +"Contains subdirectories to further categorize the information by languages." +msgstr "" +"Содержит ссылку link:https://www.FreeBSD.org[FreeBSD website] в формате AsciiDoc.\n" +"Содержит подкаталоги для дальнейшей категоризации информации по языкам." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:89 +#, no-wrap +msgid "The Directories" +msgstr "Каталоги" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:93 +msgid "" +"These directories contain the documentation and the website. The " +"documentation is organized into subdirectories below this level, following " +"the link:https://gohugo.io/getting-started/directory-structure/[Hugo " +"directory structure]." +msgstr "" +"Эти каталоги содержат документацию и веб-сайт. Документация организована в " +"подкаталоги ниже этого уровня, следуя структуре каталогов link:https://" +"gohugo.io/getting-started/directory-structure/[Hugo]." + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:101 +#, no-wrap +msgid "*archetypes*" +msgstr "* archetypes*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:104 +#, no-wrap +msgid "" +"Contain templates to create new articles, books and webpages.\n" +"For more information take a look link:https://gohugo.io/content-management/archetypes/[here]." +msgstr "" +"Содержит шаблоны для создания новых статей, книг и веб-страниц.\n" +"Дополнительную информацию смотрите link:https://gohugo.io/content-management/archetypes/[здесь]." + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:105 +#, no-wrap +msgid "*config*" +msgstr "*config*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:109 +#, no-wrap +msgid "" +"Contain the Hugo configuration files.\n" +"One main file and one file per language.\n" +"For more information take a look link:https://gohugo.io/getting-started/configuration/[here]." +msgstr "" +"Содержат файлы конфигурации Hugo.\n" +"Один основной файл и по одному файлу для каждого языка.\n" +"Для получения дополнительной информации смотрите link:https://gohugo.io/getting-started/configuration/[здесь]." + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:110 +#, no-wrap +msgid "*content*" +msgstr "*content*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:113 +#, no-wrap +msgid "" +"Contain the books, articles and webpages.\n" +"One directory exists for each available translation of the documentation, for example `en` and `zh-tw`." +msgstr "" +"Содержат книги, статьи и веб-страницы.\n" +"Для каждого доступного перевода документации существует отдельный каталог, например `en` и `zh-tw`." + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:114 +#, no-wrap +msgid "*data*" +msgstr "*data*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:118 +#, no-wrap +msgid "" +"Contain custom data for build the website in link:https://en.wikipedia.org/wiki/TOML[TOML] format.\n" +"This directory is used to store the events, news, press, etc.\n" +"For more information take a look link:https://gohugo.io/templates/data-templates/[here]." +msgstr "" +"Содержит пользовательские данные для сборки веб-сайта в формате link:https://en.wikipedia.org/wiki/TOML[TOML].\n" +"Этот каталог используется для хранения событий, новостей, пресс-релизов и т.д.\n" +"Для получения дополнительной информации ознакомьтесь link:https://gohugo.io/templates/data-templates/[здесь]." + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:119 +#, no-wrap +msgid "*static*" +msgstr "*static*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:123 +#, no-wrap +msgid "" +"Contain static assets.\n" +"Images, security advisories, the pgpkeys, etc.\n" +"For more information take a look link:https://gohugo.io/content-management/static-files/[here]." +msgstr "" +"Содержат статические ресурсы.\n" +"Изображения, бюллетени безопасности, pgpkeys и т.д.\n" +"Подробнее смотрите link:https://gohugo.io/content-management/static-files/[здесь]." + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:124 +#, no-wrap +msgid "*themes*" +msgstr "* themes*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:127 +#, no-wrap +msgid "" +"Contain the templates in the form of `.html` files that specify how the website looks.\n" +"For more information take a look link:https://gohugo.io/templates/[here]." +msgstr "" +"Содержите шаблоны в виде файлов `.html`, которые определяют внешний вид веб-сайта.\n" +"Для получения дополнительной информации посмотрите link:https://gohugo.io/templates/[здесь]." + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:131 +#, no-wrap +msgid "" +"Contain tools used to enhance the documentation build.\n" +"For example to generate the Table of Contents of the books, etc." +msgstr "" +"Содержит инструменты, используемые для улучшения сборки документации.\n" +"Например, для генерации оглавления книг и т.д." + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:132 +#, no-wrap +msgid "*beastie.png*" +msgstr "*beastie.png*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:134 +#, no-wrap +msgid "This image does not need an introduction ;)" +msgstr "Это изображение не нуждается в представлении ;)" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:135 +#, no-wrap +msgid "*LICENSE*" +msgstr "*LICENSE*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:137 +#, no-wrap +msgid "License of the documentation, shared and website. BSD 2-Clause License." +msgstr "Лицензия документации, общих материалов и веб-сайта. Лицензия BSD с 2 пунктами." + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:138 +#, no-wrap +msgid "*Makefile*" +msgstr "*Makefile*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:139 +#, no-wrap +msgid "The *Makefile* defines the build process of the documentation and the website." +msgstr "Файл *Makefile* определяет процесс сборки документации и веб-сайта." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:142 +#, no-wrap +msgid "Document-Specific Information" +msgstr "Информация, относящаяся к документу" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:145 +msgid "" +"This section contains specific notes about particular documents managed by " +"the FDP." +msgstr "" +"Этот раздел содержит особые примечания о конкретных документах, которыми " +"управляет FDP." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:147 +#, no-wrap +msgid "The Books: books/" +msgstr "Книги: books/" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:150 +msgid "The books are written in AsciiDoc." +msgstr "Книги написаны в AsciiDoc." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:153 +msgid "" +"For each FreeBSD book, the AsciiDoc document type (aka doctype) is `book`. " +"Books have ``part``s, each of which contains several ``chapter``s." +msgstr "" +"Для каждой книги FreeBSD тип документа AsciiDoc (также известный как " +"doctype) — это `book` (книга). Книги содержат ``part`` (части), каждая из " +"которых включает несколько ``chapter`` (глав)." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:155 +msgid "" +"When the document is converted to HTML 5 (using the built-in `html5` " +"backend):" +msgstr "" +"Когда документ преобразуется в HTML 5 (с использованием встроенного бэкенда " +"`html5`):" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:157 +msgid "" +"AsciiDoc section level 0 (`=`) at the beginning of a ``chapter`` of a `book` " +"will be `<h1>`" +msgstr "Уровень раздела AsciiDoc 0 (`=`) в начале `главы` `книги` будет `<h1>`" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:158 +msgid "" +"AsciiDoc section level 1 (`==`) must be used for the first logical section " +"of a chapter, and will be `<h2>`" +msgstr "" +"Уровень секции AsciiDoc 1 (`==`) должен использоваться для первого " +"логического раздела главы и будет преобразован в `<h2>`" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:159 +msgid "" +"AsciiDoc section level 2 (`===`) must be used for the first logical " +"subsection, and will be `<h3>`" +msgstr "" +"Уровень раздела AsciiDoc 2 (`===`) должен использоваться для первого " +"логического подраздела и будет преобразован в `<h3>`" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:161 +msgid "" +"– and so on. Reference: link:https://docs.asciidoctor.org/asciidoc/latest/" +"sections/titles-and-levels/[Section Titles and Levels | Asciidoctor Docs]." +msgstr "" +"– и так далее. Ссылка: link:https://docs.asciidoctor.org/asciidoc/latest/" +"sections/titles-and-levels/[Заголовки и уровни разделов | Документация " +"Asciidoctor]." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:163 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:223 +#, no-wrap +msgid "Physical Organization" +msgstr "Физическая организация" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:166 +msgid "" +"There are a number of files and directories within the books directory, all " +"with the same structure." +msgstr "" +"В каталоге books находится множество файлов и директорий, все с одинаковой " +"структурой." + +#. type: Title ==== +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:168 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:228 +#, no-wrap +msgid "_index.adoc" +msgstr "_index.adoc" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:171 +msgid "" +"The *_index.adoc* file defines some AsciiDoc variables that affect how the " +"AsciiDoc source is converted to other formats and list the Table of " +"Contents, Table of Examples, Table of Figures, Table of Tables and the " +"abstract section." +msgstr "" +"Файл *_index.adoc* определяет некоторые переменные AsciiDoc, которые влияют " +"на преобразование исходного кода AsciiDoc в другие форматы, а также содержит " +"оглавление, список примеров, список рисунков, список таблиц и раздел с " +"аннотацией." + +#. type: Title ==== +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:173 +#, no-wrap +msgid "book.adoc" +msgstr "book.adoc" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:177 +msgid "" +"The *book.adoc* file defines some AsciiDoc variables that affect how the " +"AsciiDoc source is converted to other formats and list the Table of " +"Contents, Table of Examples, Table of Figures, Table of Tables, the abstract " +"section and all the chapters. This file is used to generate the PDF with " +"`asciidoctor-pdf` and to generate the book in one `html` page." +msgstr "" +"Файл *book.adoc* определяет некоторые переменные AsciiDoc, которые влияют на " +"преобразование исходного кода AsciiDoc в другие форматы, а также включает " +"оглавление, список примеров, список рисунков, список таблиц, раздел с " +"аннотацией и все главы. Этот файл используется для генерации PDF с помощью " +"`asciidoctor-pdf` и для создания книги в виде одной страницы `html`." + +#. type: Title ==== +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:179 +#, no-wrap +msgid "part*.adoc" +msgstr "part*.adoc" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:181 +msgid "" +"The **part*.adoc** files store a brief introduction of one part of the book." +msgstr "Файлы **part*.adoc** содержат краткое введение к одной части книги." + +#. type: Title ==== +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:183 +#, no-wrap +msgid "directory/_index.adoc" +msgstr "directory/_index.adoc" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:186 +msgid "" +"Each chapter in the Handbook is stored in a file called *_index.adoc* in a " +"separate directory from the other chapters." +msgstr "" +"Каждая глава Руководства хранится в файле с именем *_index.adoc* в отдельном " +"каталоге от других глав." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:188 +msgid "For example, this is an example of the header of one chapter:" +msgstr "Например, вот пример заголовка одной главы:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:191 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:236 +#, no-wrap +msgid "---\n" +msgstr "---\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:196 +#, no-wrap +msgid "" +"title: Chapter 8. Configuring the FreeBSD Kernel\n" +"part: Part II. Common Tasks\n" +"prev: books/handbook/multimedia\n" +"next: books/handbook/printing\n" +"---\n" +msgstr "" +"title: Chapter 8. Configuring the FreeBSD Kernel\n" +"part: Part II. Common Tasks\n" +"prev: books/handbook/multimedia\n" +"next: books/handbook/printing\n" +"---\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:199 +msgid "[[kernelconfig]]" +msgstr "[[kernelconfig]]" + +#. type: Title = +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:199 +#, no-wrap +msgid "Configuring the FreeBSD Kernel" +msgstr "Настройка ядра FreeBSD" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:201 +msgid "..." +msgstr "..." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:204 +msgid "" +"When the HTML5 version of the Handbook is produced, this will yield " +"*kernelconfig/index.html*." +msgstr "" +"При создании HTML5-версии Handbook это приведёт к формированию файла " +"*kernelconfig/index.html*." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:206 +msgid "" +"A brief look will show that there are many directories with individual " +"*_index.adoc* files, including *basics/_index.adoc*, *introduction/" +"_index.adoc*, and *printing/_index.adoc*." +msgstr "" +"Быстрый взгляд покажет, что существует множество каталогов с отдельными " +"файлами *_index.adoc*, включая *basics/_index.adoc*, *introduction/" +"_index.adoc* и *printing/_index.adoc*." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:212 +msgid "" +"Do not name chapters or directories after their ordering within the " +"Handbook. This ordering can change as the content within the Handbook is " +"reorganized. Reorganization should be possible without renaming files, " +"unless entire chapters are being promoted or demoted within the hierarchy." +msgstr "" +"Не называйте главы или каталоги в соответствии с их порядком в Руководстве. " +"Этот порядок может измениться при реорганизации содержания Руководства. " +"Реорганизация должна быть возможной без переименования файлов, за " +"исключением случаев, когда целые главы перемещаются вверх или вниз по " +"иерархии." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:215 +#, no-wrap +msgid "The Articles: articles/" +msgstr "Статьи: articles/" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:218 +msgid "The articles are written in AsciiDoc." +msgstr "Статьи написаны в AsciiDoc." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:221 +msgid "" +"The articles are organized as an AsciiDoc `article`. The articles are " +"divided into sections (`=`) and subsections (`==`, `===`) and so on." +msgstr "" +"Статьи организованы как документ AsciiDoc `article`. Статьи разделены на " +"разделы (`=`), подразделы (`==`, `===`) и так далее." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:226 +msgid "There is one *_index.adoc* file per article." +msgstr "На каждый статью приходится один файл *_index.adoc*." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:231 +msgid "" +"The *_index.adoc* file contains all the AsciiDoc variables and the content." +msgstr "Файл *_index.adoc* содержит все переменные AsciiDoc и контент." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:233 +msgid "" +"For example, this is an example of one article, the structure is pretty " +"similar to one book chapter:" +msgstr "" +"Например, это образец одной статьи, структура довольно похожа на главу книги:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:242 +#, no-wrap +msgid "" +"title: Why you should use a BSD style license for your Open Source Project\n" +"authors:\n" +" - author: Bruce Montague\n" +" email: brucem@alumni.cse.ucsc.edu\n" +"trademarks: [\"freebsd\", \"intel\", \"general\"]\n" +"---\n" +msgstr "" +"title: Why you should use a BSD style license for your Open Source Project\n" +"authors:\n" +" - author: Bruce Montague\n" +" email: brucem@alumni.cse.ucsc.edu\n" +"trademarks: [\"freebsd\", \"intel\", \"general\"]\n" +"---\n" + +#. type: Title = +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:244 +#, no-wrap +msgid "Why you should use a BSD style license for your Open Source Project" +msgstr "Почему вы должны использовать лицензию в стиле BSD для вашего Open Source проекта" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:253 +msgid "" +":doctype: article :toc: macro :toclevels: 1 :icons: " +"font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental:" +msgstr "" +":doctype: article\n" +":toc: macro\n" +":toclevels: 1\n" +":icons: font\n" +":sectnums:\n" +":sectnumlevels: 6\n" +":source-highlighter: rouge\n" +":experimental:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:255 +msgid "'''" +msgstr "'''" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:257 +msgid "toc::[]" +msgstr "toc::[]" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:259 +msgid "[[intro]]" +msgstr "[[intro]]" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:259 +#, no-wrap +msgid "Introduction" +msgstr "Введение" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:262 +#, no-wrap +msgid "Managing Contributor Lists" +msgstr "Управление списками участников" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:266 +msgid "" +"The FreeBSD project recognizes contributors in several different lists in " +"the documentation and in printed materials. This section describes how the " +"documentation team manages changes to these lists." +msgstr "" +"Проект FreeBSD отмечает вклад участников в нескольких различных списках в " +"документации и печатных материалах. В этом разделе описано, как команда " +"документации управляет изменениями в этих списках." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:267 +#, no-wrap +msgid "Mentor and New Committer Relationship Lists" +msgstr "Списки отношений наставника и нового коммиттера" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:271 +msgid "" +"Since FreeBSD 7.0, FreeBSD has maintained link:https://cgit.freebsd.org/src/" +"tree/share/misc[three lists of contributor mentor / mentee relationships] - " +"one for source code, one for ports and one for documentation. These files " +"are in *\".dot\"* format, intended for use with the popular graphing toolkit " +"package:graphics/graphviz[] available as a FreeBSD package or port." +msgstr "" +"Начиная с FreeBSD 7.0, FreeBSD поддерживает link:https://cgit.freebsd.org/" +"src/tree/share/misc[три списка отношений наставник/подопечный] — один для " +"исходного кода, один для портов и один для документации. Эти файлы имеют " +"формат *«.dot»* и предназначены для использования с популярным пакетом для " +"построения графиков graphics/graphviz[], доступным как пакет или порт " +"FreeBSD." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:276 +msgid "" +"man:dot[1] is installed as part of the package:graphics/graphviz[] package " +"or port. The [.filename]#dot# program reads files in *\".dot\"* format and " +"creates a graphical image of the directed graph." +msgstr "" +"man:dot[1] устанавливается как часть пакета или порта: graphics/graphviz[]. " +"Программа [.filename]#dot# читает файлы в формате *\".dot\"* и создает " +"графическое изображение направленного графа." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:281 +msgid "" +"The three files often serve as a learning experience for new committers of " +"all three teams who are instructed to add themselves, and their mentor, to " +"the appropriate file as their first commit. Each file has a \"current\" " +"section for new committers, an \"alumni\" section for when the commit bit is " +"returned, and a \"mentor / mentee\" section showing the relationships. The " +"format for each type of entry is explained at the top of the file." +msgstr "" +"Три файла часто служат учебным опытом для новых коммиттеров всех трёх " +"команд, которым поручается добавить себя и своего наставника в " +"соответствующий файл в качестве их первого коммита. Каждый файл содержит " +"раздел «current» для новых коммиттеров, раздел «alumni» для случаев возврата " +"прав на коммит и раздел «mentor / mentee», отображающий взаимоотношения. " +"Формат каждой записи поясняется в начале файла." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:282 +#, no-wrap +msgid "General Contributor Lists" +msgstr "Общий список участников" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:286 +msgid "" +"extref:{contributors}[Contributors] to FreeBSD are maintained in article " +"format. The source file for managing the *Contributors* article file is " +"located at:" +msgstr "" +"extref:{contributors}[Участники] проекта FreeBSD поддерживаются в формате " +"статьи. Исходный файл для управления статьёй *Участники* находится по адресу:" + +#. type: delimited block - 4 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:299 +#, no-wrap +msgid "" +"doc\n" +" /documentation\n" +" /content\n" +" /{language}\n" +" /articles\n" +" /contributors\n" +" [.filename]#_index.adoc# – Contains a list of include files that apply to each section.\n" +" [.filename]#_index.po# – Translation page\n" +" [.filename]#contrib-develinmemoriam.adoc# - content of “In Memoriam” section\n" +" [.filename]#contrib-develinmemoriam.po# – Translation page\n" +msgstr "" +"doc\n" +" /documentation\n" +" /content\n" +" /{language}\n" +" /articles\n" +" /contributors\n" +" [.filename]#_index.adoc# – Contains a list of include files that apply to each section.\n" +" [.filename]#_index.po# – Translation page\n" +" [.filename]#contrib-develinmemoriam.adoc# - content of “In Memoriam” section\n" +" [.filename]#contrib-develinmemoriam.po# – Translation page\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:302 +msgid "" +"Copies of this contributors directory may exist in other content language " +"directories." +msgstr "" +"Копии этого каталога contributors могут существовать в других каталогах с " +"контентом на различных языках." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:305 +msgid "" +"Note that the file [.filename]#contrib-develinmemoriam.adoc# is also found " +"in this directory. See below for additional information." +msgstr "" +"Обратите внимание, что файл [.filename]#contrib-develinmemoriam.adoc# также " +"находится в этом каталоге. Дополнительную информацию смотрите ниже." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:310 +msgid "" +"The [.filename]#contributors/_index.adoc# file is designed as a collection " +"of include files. The include files are listed in the Hugo specific section " +"of the source file. The section is divided into several parts with \"ifdef::" +"\" statements. There is a sub-section for website output and one for non-" +"website (including PDF) output." +msgstr "" +"Файл [.filename]#contributors/_index.adoc# представляет собой набор " +"включаемых файлов. Включаемые файлы перечислены в разделе, специфичном для " +"Hugo, в исходном файле. Раздел разделён на несколько частей с помощью " +"операторов \"ifdef::\". Существует подраздел для вывода на веб-сайт и " +"подраздел для вывода вне веб-сайта (включая PDF)." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:314 +msgid "" +"The text for each section of the *Contributors* page contains an \"include::" +"\" statement. For example, the entry for \"Port Manager Alumni\" is " +"`include::{include-contrib-portmgralumni}[]`. This pulls in the text for " +"port manager alumni into the rendered output." +msgstr "" +"Текст каждого раздела страницы *Участники* содержит оператор \"include::\". " +"Например, запись для \"Экс-участники менеджера портов\" выглядит как " +"`include::{include-contrib-portmgralumni}[]`. Это подключает текст об экс-" +"участниках менеджера портов в итоговый вывод." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:316 +msgid "To make a change, edit the appropriate include file:" +msgstr "Чтобы внести изменения, отредактируйте соответствующий include-файл:" + +#. type: delimited block - 4 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:325 +#, no-wrap +msgid "" +"include-contrib-committers: [.filename]#~/doc/shared/contrib-committers.adoc#\n" +"include-contrib-corealumni: [.filename]#~/doc/shared/contrib-corealumni.adoc#\n" +"include-contrib-develalumni: [.filename]#~/doc/shared/contrib-develalumni.adoc#\n" +"include-contrib-portmgralumni: [.filename]#~/doc/shared/contrib-portmgralumni.adoc#\n" +"include-contrib-additional: [.filename]#~/doc/shared/contrib-additional.adoc#\n" +"include-contrib-386bsd: [.filename]#~/doc/shared/contrib-386bsd.adoc#\n" +msgstr "" +"include-contrib-committers: [.filename]#~/doc/shared/contrib-committers.adoc#\n" +"include-contrib-corealumni: [.filename]#~/doc/shared/contrib-corealumni.adoc#\n" +"include-contrib-develalumni: [.filename]#~/doc/shared/contrib-develalumni.adoc#\n" +"include-contrib-portmgralumni: [.filename]#~/doc/shared/contrib-portmgralumni.adoc#\n" +"include-contrib-additional: [.filename]#~/doc/shared/contrib-additional.adoc#\n" +"include-contrib-386bsd: [.filename]#~/doc/shared/contrib-386bsd.adoc#\n" + +#. type: delimited block - 4 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:328 +#, no-wrap +msgid "" +"Also, edit the [.filename]#authors.adoc# file: [.filename]#~/doc/shared/authors.adoc#\n" +"and any related translations.\n" +msgstr "" +"Также отредактируйте файл [.filename]#authors.adoc#: [.filename]#~/doc/shared/authors.adoc#\n" +"и все связанные с ним переводы.\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:334 +msgid "" +"In general, if a person is being added, there is only one edit necessary, " +"and they can be added to the appropriate include file. If a person is being " +"moved from \"current\" to \"alumni\" status, two edits are required - one to " +"remove and one to insert for the appropriate files. The order of entries " +"for all files is found in the table below." +msgstr "" +"В общем случае, если добавляется новый человек, требуется лишь одно " +"изменение — его можно добавить в соответствующий включаемый файл. Если " +"человек переводится из статуса «текущий» в «бывший», необходимо два " +"изменения: одно для удаления и одно для добавления в соответствующие файлы. " +"Порядок записей для всех файлов указан в таблице ниже." + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:337 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:413 +#, no-wrap +msgid "Purpose" +msgstr "Назначение" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:337 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:413 +#, no-wrap +msgid "Section Anchor" +msgstr "Якорь раздела" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:337 +#, no-wrap +msgid "File in ~/doc/shared/" +msgstr "Файл в ~/doc/shared/" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:338 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:414 +#, no-wrap +msgid "Order Specification" +msgstr "Спецификация порядка" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:338 +#, no-wrap +msgid "*FreeBSD Developers*" +msgstr "*Разработчики FreeBSD*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:338 +#, no-wrap +msgid "include-contrib-committers" +msgstr "include-contrib-committers" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:338 +#, no-wrap +msgid "[.filename]#contrib-committers.adoc#" +msgstr "[.filename]#contrib-committers.adoc#" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:339 +#, no-wrap +msgid "alphabetical order by last name" +msgstr "упорядочено по алфавиту по фамилии" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:339 +#, no-wrap +msgid "*Core Team Alumni*" +msgstr "*Бывшие члены основной команды*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:339 +#, no-wrap +msgid "include-contrib-corealumni" +msgstr "include-contrib-corealumni" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:339 +#, no-wrap +msgid "[.filename]#contrib-corealumni.adoc#" +msgstr "[.filename]#contrib-corealumni.adoc#" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:340 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:341 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:342 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:415 +#, no-wrap +msgid "rough reverse chronological order" +msgstr "приблизительно в обратном хронологическом порядке" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:340 +#, no-wrap +msgid "*Development Team Alumni*" +msgstr "*Бывшие члены команды разработчиков*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:340 +#, no-wrap +msgid "include-contrib-develalumni" +msgstr "include-contrib-develalumni" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:340 +#, no-wrap +msgid "[.filename]#contrib-develalumni.adoc#" +msgstr "[.filename]#contrib-develalumni.adoc#" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:341 +#, no-wrap +msgid "*Ports Management Team Alumni*" +msgstr "*Бывшие члены команды управления портами*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:341 +#, no-wrap +msgid "include-contrib-portmgralumni" +msgstr "include::contrib-portmgralumni" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:341 +#, no-wrap +msgid "[.filename]#contrib-portmgralumni.adoc#" +msgstr "[.filename]#contrib-portmgralumni.adoc#" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:342 +#, no-wrap +msgid "*Additional FreeBSD Contributors*" +msgstr "*Дополнительные участники проекта FreeBSD*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:342 +#, no-wrap +msgid "include-contrib-additional" +msgstr "include-contrib-additional" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:342 +#, no-wrap +msgid "[.filename]#contrib-additional.adoc#" +msgstr "[.filename]#contrib-additional.adoc#" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:343 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:344 +#, no-wrap +msgid "alphabetical order by first name" +msgstr "упорядочено по алфавиту по имени" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:343 +#, no-wrap +msgid "*386BSD Patch Kit Patch Contributors*" +msgstr "*Участники, предоставившие патчи для 386BSD Patch Kit*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:343 +#, no-wrap +msgid "include-contrib-386bsd" +msgstr "include-contrib-386bsd" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:343 +#, no-wrap +msgid "[.filename]#contrib-386bsd.adoc#" +msgstr "[.filename]#contrib-386bsd.adoc#" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:344 +#, no-wrap +msgid "*Contributors to the central server project*" +msgstr "*Участники проекта центрального сервера*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:344 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:345 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:346 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:347 +#, no-wrap +msgid "No include file used" +msgstr "Файл include не используется" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:344 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:345 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:346 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:347 +#, no-wrap +msgid "[.filename]#contributors/_index.adoc#" +msgstr "[.filename]#contributors/_index.adoc#" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:345 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:346 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:347 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:348 +#, no-wrap +msgid "unordered" +msgstr "неупорядоченное" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:345 +#, no-wrap +msgid "*Direct funding*" +msgstr "*Прямое финансирование*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:346 +#, no-wrap +msgid "*Hardware contributors*" +msgstr "*Участники, предоставившие оборудование*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:347 +#, no-wrap +msgid "*Special contributors*" +msgstr "*Особые участники*" + +#. type: Title === +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:350 +#, no-wrap +msgid "\"In Memoriam\" Section" +msgstr "Раздел \"Памяти\"" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:353 +msgid "" +"When notifying the BSD community of the death of a community member, the " +"following procedure should be used:" +msgstr "" +"Когда уведомляют сообщество BSD о смерти члена сообщества, следует " +"использовать следующую процедуру:" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:355 +msgid "" +"Use the file [.filename]#~/doc/shared/authors.adoc# to look up the person's " +"name and attribute reference, such as `{foobsd}`." +msgstr "" +"Используйте файл [.filename]#~/doc/shared/authors.adoc# для поиска имени " +"человека и ссылки на атрибут, например `{foobsd}`." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:357 +msgid "" +"If they are a current member of one or more FreeBSD project teams in " +"[.filename]#~/doc/website/content/en/administration.adoc#, remove all " +"instances of their attribute reference. Also, complete the following edits:" +msgstr "" +"Если они являются текущим членом одной или нескольких команд проекта FreeBSD " +"в [.filename]#~/doc/website/content/en/administration.adoc#, удалите все " +"упоминания их атрибута. Также выполните следующие правки:" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:359 +msgid "" +"[.filename]#~/doc/shared/contrib-committers.adoc# - Remove the attribute " +"reference." +msgstr "" +"[.filename]#~/doc/shared/contrib-committers.adoc# - Удалите ссылку на " +"атрибут." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:360 +msgid "" +"[.filename]#~/doc/shared/contrib-corealumni.adoc# - If they are a _current_ " +"member of the core team, create an entry showing start and end dates." +msgstr "" +"[.filename]#~/doc/shared/contrib-corealumni.adoc# - Если они являются " +"_действующим_ членом основной команды, создайте запись с указанием дат " +"начала и окончания." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:361 +msgid "" +"[.filename]#~/doc/shared/contrib-develalumni.adoc# - Add the attribute " +"reference and dates of activity as a committer." +msgstr "" +"[.filename]#~/doc/shared/contrib-develalumni.adoc# - Добавьте ссылку на " +"атрибут и даты активности в качестве коммиттера." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:362 +msgid "" +"[.filename]#~/doc/shared/contrib-portmgralumni.adoc# - Add the attribute " +"reference if necessary." +msgstr "" +"[.filename]#~/doc/shared/contrib-portmgralumni.adoc# - Добавьте ссылку на " +"атрибут при необходимости." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:363 +msgid "[.filename]#~/doc/shared/contrib-additional.adoc# - Remove the entry." +msgstr "[.filename]#~/doc/shared/contrib-additional.adoc# — Удалите запись." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:365 +msgid "" +"[.filename]#~/doc/shared/contrib-386bsd.adoc# - This is a historical " +"document only. No changes are needed." +msgstr "" +"[.filename]#~/doc/shared/contrib-386bsd.adoc# - Это исключительно " +"исторический документ. Изменения не требуются." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:368 +msgid "" +"In the [.filename]#~/doc/shared/authors.adoc# file, comment out (using one " +"backslash '\\') the email address to avoid creating the email link \"mailto:" +"\" See the example for `itojun` below:" +msgstr "" +"В файле [.filename]#~/doc/shared/authors.adoc# закомментируйте (используя " +"одну обратную косую черту '\\') адрес электронной почты, чтобы избежать " +"создания ссылки \"mailto:\". См. пример для `itojun` ниже:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:372 +#, no-wrap +msgid "[shared/authors.adoc]\n" +msgstr "[shared/authors.adoc]\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:374 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:380 +#, no-wrap +msgid "[..]\n" +msgstr "[..]\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:378 +#, no-wrap +msgid "" +":itojun-name: Jun-ichiro Itoh\n" +":itojun-email: \\itojun@FreeBSD.org\n" +":itojun: {itojun-name} <{itojun-email}>\n" +msgstr "" +":itojun-name: Jun-ichiro Itoh\n" +":itojun-email: \\itojun@FreeBSD.org\n" +":itojun: {itojun-name} <{itojun-email}>\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:383 +msgid "" +"Since the member is deceased (which should be double checked), add them to " +"the \"In Memoriam\" file [.filename]#contrib-develinmemoriam.adoc#." +msgstr "" +"Поскольку участник скончался (что следует перепроверить), добавьте его в " +"файл [.filename]#contrib-develinmemoriam.adoc# \"Памяти ушедших\"." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:386 +msgid "" +"Try to find some factual information about their contributions to FreeBSD " +"over the years and add it with their entry in the file. This may require " +"asking in the development mailing lists, contacting colleagues, contacting " +"the FreeBSD Foundation, or searching through the commit logs." +msgstr "" +"Постарайтесь найти информацию, подкрепленную фактами, о его вкладе в FreeBSD " +"за прошедшие годы и добавьте её к записи в файле. Для этого может " +"потребоваться запрос в списках рассылки разработчиков, обращение к коллегам, " +"связь с FreeBSD Foundation или поиск в журналах коммитов." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:388 +msgid "To find the date of their first commit, use:" +msgstr "Чтобы узнать дату их первого коммита, используйте:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:393 +#, no-wrap +msgid "" +"% cd ~/src\n" +"% git log --reverse --author=foobsd # search for first commit of foobsd\n" +msgstr "" +"% cd ~/src\n" +"% git log --reverse --author=foobsd # search for first commit of foobsd\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:397 +msgid "" +"This will print out their commits in reverse order. The date of the first " +"commit will be at the top." +msgstr "" +"Это выведет их коммиты в обратном порядке. Дата первого коммита будет вверху." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:399 +msgid "Ensure that the format of the dates match other entries:" +msgstr "Убедитесь, что формат дат соответствует другим записям:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:403 +#, no-wrap +msgid "(year of commit bit start - year of commit bit end; RIP year deceased)\n" +msgstr "(год начала предоставления права коммита - год окончания предоставления права коммита; RIP год ухода)\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:405 +#, no-wrap +msgid "For example:\n" +msgstr "Например:\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:407 +#, no-wrap +msgid "* Foo BSD (2007 - 2010; RIP 2016)\n" +msgstr "* Foo BSD (2007 - 2010; RIP 2016)\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:410 +msgid "Check the ordering of the entries in the file." +msgstr "Проверьте порядок записей в файле." + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:413 +#, no-wrap +msgid "File in ~/doc/documentation/content/{language}/articles/contributors/" +msgstr "Файл в ~/doc/documentation/content/{язык}/articles/contributors/" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:414 +#, no-wrap +msgid "*Development Team: In Memoriam*" +msgstr "*Команда разработчиков: Памяти ушедших*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:414 +#, no-wrap +msgid "[.filename]#contrib-develinmemoriam.adoc#" +msgstr "[.filename]#contrib-develinmemoriam.adoc#" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:418 +msgid "See the \"In Memoriam\" file for similar entries." +msgstr "Смотрите файл \"In Memoriam\" для похожих записей." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/structure/_index.adoc:420 +msgid "" +"Finally, if applicable, move the committer member entry from the \"current\" " +"section to the \"alumni\" section of the appropriate link:https://" +"cgit.freebsd.org/src/tree/share/misc[list of contributor mentor / mentee " +"relationships] along with an appropriate date. It is not necessary to " +"change the mentor / mentee relationship." +msgstr "" +"Наконец, если применимо, переместите запись участника с правами коммиттера " +"из раздела «current» в раздел «alumni» соответствующего link:https://" +"cgit.freebsd.org/src/tree/share/misc[списка отношений наставник / " +"подопечный] с указанием соответствующей даты. Изменять отношения наставник / " +"подопечный не требуется." + +#, no-wrap +#~ msgid "Finding the Correct Files" +#~ msgstr "Поиск нужных файлов" + +#~ msgid "" +#~ "Search the files above for the name, email address, and nickname (such as " +#~ "`foobsd`)." +#~ msgstr "" +#~ "Поищите в указанных файлах имя, адрес электронной почты и псевдоним " +#~ "(например, `foobsd`)." + +#~ msgid "" +#~ "Where an email address is found with a name, remove the email address, " +#~ "but leave the name." +#~ msgstr "" +#~ "Где встречается адрес электронной почты вместе с именем, удалите адрес " +#~ "электронной почты, но оставьте имя." diff --git a/documentation/content/ru/books/fdp-primer/tools/_index.adoc b/documentation/content/ru/books/fdp-primer/tools/_index.adoc new file mode 100644 index 0000000000..10c5251367 --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/tools/_index.adoc @@ -0,0 +1,70 @@ +--- +description: 'Инструменты, используемые в проекте документации FreeBSD' +next: books/fdp-primer/working-copy +params: + path: /books/fdp-primer/tools/ +prev: books/fdp-primer/overview +showBookMenu: true +tags: ["tools", "required tools", "optional tools"] +title: 'Глава 2. Инструменты' +weight: 3 +--- + +[[tools]] += Инструменты +:doctype: book +:toc: macro +:toclevels: 1 +:icons: font +:sectnums: +:sectnumlevels: 6 +:sectnumoffset: 2 +:partnums: +:source-highlighter: rouge +:experimental: +:images-path: books/fdp-primer/ + +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 и её преобразования в различные выходные форматы используется несколько программных инструментов. Некоторые из них обязательны и должны быть установлены перед работой с примерами из следующих глав. Другие являются опциональными, расширяя возможности или упрощая процесс создания документации. + +[[tools-required]] +== Необходимые инструменты + +Установите `docproj` _мета-порт_, как показано в crossref:overview[overview,обзорной главе] из Коллекции портов. Эти приложения необходимы для работы с документацией FreeBSD. Далее приведены дополнительные заметки об отдельных компонентах. + +[[tools-optional]] +== Необязательные инструменты + +Эти приложения не обязательны, но могут упростить работу с документацией или расширить её возможности. + +[[tools-optional-software]] +=== Программное обеспечение + +Vim (package:editors/vim[]) — популярный редактор для работы с Asciidoctor. + +Emacs (package:editors/emacs[]). + +Оба инструмента включают специальный режим, который сокращает количество необходимых нажатий клавиш и помогает снизить количество ошибок. diff --git a/documentation/content/ru/books/fdp-primer/tools/_index.po b/documentation/content/ru/books/fdp-primer/tools/_index.po new file mode 100644 index 0000000000..85365159eb --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/tools/_index.po @@ -0,0 +1,113 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR The FreeBSD Project +# This file is distributed under the same license as the FreeBSD Documentation package. +# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025. +msgid "" +msgstr "" +"Project-Id-Version: FreeBSD Documentation VERSION\n" +"POT-Creation-Date: 2025-09-20 14:02+0300\n" +"PO-Revision-Date: 2025-06-01 09:10+0000\n" +"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n" +"Language-Team: Russian <https://translate-dev.freebsd.org/projects/" +"documentation/booksfdp-primertools_index/ru/>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.17\n" + +#. type: Yaml Front Matter Hash Value: description +#: documentation/content/en/books/fdp-primer/tools/_index.adoc:1 +#, no-wrap +msgid "Tools used in the FreeBSD Documentation Project" +msgstr "Инструменты, используемые в проекте документации FreeBSD" + +#. type: Yaml Front Matter Hash Value: title +#: documentation/content/en/books/fdp-primer/tools/_index.adoc:1 +#, no-wrap +msgid "Chapter 2. Tools" +msgstr "Глава 2. Инструменты" + +#. type: Title = +#: documentation/content/en/books/fdp-primer/tools/_index.adoc:14 +#, no-wrap +msgid "Tools" +msgstr "Инструменты" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/tools/_index.adoc:54 +msgid "" +"Several software tools are used to manage the FreeBSD documentation and " +"render it to different output formats. Some of these tools are required and " +"must be installed before working through the examples in the following " +"chapters. Some are optional, adding capabilities or making the job of " +"creating documentation less demanding." +msgstr "" +"Для управления документацией FreeBSD и её преобразования в различные " +"выходные форматы используется несколько программных инструментов. Некоторые " +"из них обязательны и должны быть установлены перед работой с примерами из " +"следующих глав. Другие являются опциональными, расширяя возможности или " +"упрощая процесс создания документации." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/tools/_index.adoc:56 +#, no-wrap +msgid "Required Tools" +msgstr "Необходимые инструменты" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/tools/_index.adoc:61 +msgid "" +"Install `docproj` _meta-port_ as shown in crossref:overview[overview,the " +"overview chapter] from the Ports Collection. These applications are " +"required to do useful work with the FreeBSD documentation. Some further " +"notes on particular components are given below." +msgstr "" +"Установите `docproj` _мета-порт_, как показано в " +"crossref:overview[overview,обзорной главе] из Коллекции портов. Эти " +"приложения необходимы для работы с документацией FreeBSD. Далее приведены " +"дополнительные заметки об отдельных компонентах." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/tools/_index.adoc:63 +#, no-wrap +msgid "Optional Tools" +msgstr "Необязательные инструменты" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/tools/_index.adoc:66 +msgid "" +"These applications are not required, but can make working on the " +"documentation easier or add capabilities." +msgstr "" +"Эти приложения не обязательны, но могут упростить работу с документацией или " +"расширить её возможности." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/tools/_index.adoc:68 +#, no-wrap +msgid "Software" +msgstr "Программное обеспечение" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/tools/_index.adoc:71 +msgid "" +"Vim (package:editors/vim[]) -- a popular editor for working with Asciidoctor." +msgstr "" +"Vim (package:editors/vim[]) — популярный редактор для работы с Asciidoctor." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/tools/_index.adoc:73 +msgid "Emacs (package:editors/emacs[])." +msgstr "Emacs (package:editors/emacs[])." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/tools/_index.adoc:74 +msgid "" +"Both tools include a special mode that reduces the amount of typing needed, " +"and helps to reduce errors." +msgstr "" +"Оба инструмента включают специальный режим, который сокращает количество " +"необходимых нажатий клавиш и помогает снизить количество ошибок." diff --git a/documentation/content/ru/books/fdp-primer/trademarks/_index.adoc b/documentation/content/ru/books/fdp-primer/trademarks/_index.adoc new file mode 100644 index 0000000000..756825928f --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/trademarks/_index.adoc @@ -0,0 +1,95 @@ +--- +description: 'Руководство по использованию товарных знаков в Документационном проекте FreeBSD' +next: books/fdp-primer/see-also +params: + path: /books/fdp-primer/trademarks/ +prev: books/fdp-primer/editor-config/ +showBookMenu: true +tags: ["trademarks", "AsciiDoctor", "HTML"] +title: 'Глава 14. Товарные знаки' +weight: 14 +--- + +[[trademarks]] += Товарные знаки +:doctype: book +:toc: macro +:toclevels: 1 +:icons: font +:sectnums: +:sectnumlevels: 6 +:sectnumoffset: 14 +:partnums: +:source-highlighter: rouge +:experimental: +:images-path: books/fdp-primer/ + +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 Documentation Project необходимо указывать зарегистрированные товарные знаки, а также принято указывать другие товарные знаки, и это является требованием для каждого автора и участника. + +[[trademark-symbols]] +== Символы товарных знаков + +Добавьте символ товарного знака ((TM), (R) или другой) к первому упоминанию зарегистрированного названия и всегда при использовании логотипов. Используйте extref:{fdp-primer}/writing-style/#writing-style-special-characters[эквивалентную ASCII-последовательность], которая будет отображаться как соответствующий символ Юникода. Также пишите зарегистрированное название в соответствии с его правилами использования товарного знака. + +Если сомневаетесь, изучите сайт владельца товарного знака, сайт продукта и/или сайт link:https://www.uspto.gov/trademarks[Ведомства по патентам и товарным знакам США для поиска товарных знаков]. + +[[trademark-citing]] +== Цитирование товарных знаков + +Проект документации FreeBSD предоставляет шаблон для указания товарных знаков, что также позволяет избежать их дублирования в документах. + +Сначала найдите товарный знак в разделе link:https://cgit.freebsd.org/doc/tree/documentation/themes/beastie/i18n/en.toml#n328[Copyright в шаблоне проекта], затем добавьте его в тег `trademarks` в разделе `Front Matter` документа, который расположен в начале каждого документа. + +Вот пример `Front Matter` из статьи extref:{contributing}[Вклад в FreeBSD]: + +.... +--- +title: Contributing to FreeBSD +authors: + - author: Jordan Hubbard + - author: Sam Lawrance + - author: Mark Linimon +description: How to contribute to the FreeBSD Project +trademarks: ["freebsd", "ieee", "general"] +weight: 15 +tags: ["Contributing", "FreeBSD", "Non-Programmer Tasks", "Programmer Tasks"] +--- +.... + +Товарные знаки `freebsd`, `ieee` и `general` будут автоматически отображаться при сборке документа следующим образом: + +.... +FreeBSD is a registered trademark of the FreeBSD Foundation. + +IEEE, POSIX, and 802 are registered trademarks of Institute of Electrical and Electronics Engineers, Inc. in the United States. + +Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this document, and the FreeBSD Project was aware of the trademark claim, the designations have been followed by the “™” or the “®” symbol. +.... + +Если товарный знак отсутствует в шаблоне проекта, его необходимо предоставить. Любой разработчик или участник может обновлять товарные знаки. + +Теги товарных знаков `freebsd` и `general` обычно присутствуют во всех документах. diff --git a/documentation/content/ru/books/fdp-primer/trademarks/_index.po b/documentation/content/ru/books/fdp-primer/trademarks/_index.po new file mode 100644 index 0000000000..c581ca7f10 --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/trademarks/_index.po @@ -0,0 +1,197 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR The FreeBSD Project +# This file is distributed under the same license as the FreeBSD Documentation package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: FreeBSD Documentation VERSION\n" +"POT-Creation-Date: 2025-09-20 14:02+0300\n" +"PO-Revision-Date: 2025-06-01 18:10+0000\n" +"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n" +"Language-Team: Russian <https://translate-dev.freebsd.org/projects/" +"documentation/booksfdp-primertrademarks_index/ru/>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.17\n" + +#. type: Yaml Front Matter Hash Value: description +#: documentation/content/en/books/fdp-primer/trademarks/_index.adoc:1 +#, no-wrap +msgid "Guidelines for trademarks in the FreeBSD Documentation Project" +msgstr "Руководство по использованию товарных знаков в Документационном проекте FreeBSD" + +#. type: Yaml Front Matter Hash Value: title +#: documentation/content/en/books/fdp-primer/trademarks/_index.adoc:1 +#, no-wrap +msgid "Chapter 14. Trademarks" +msgstr "Глава 14. Товарные знаки" + +#. type: Title = +#: documentation/content/en/books/fdp-primer/trademarks/_index.adoc:14 +#, no-wrap +msgid "Trademarks" +msgstr "Товарные знаки" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/trademarks/_index.adoc:52 +msgid "" +"For all documents on the FreeBSD Documentation Project, citing registered " +"trademarks is necessary and other trademarks is customary, and that is a " +"requirement for every writer and contributor." +msgstr "" +"Для всех документов в рамках проекта FreeBSD Documentation Project " +"необходимо указывать зарегистрированные товарные знаки, а также принято " +"указывать другие товарные знаки, и это является требованием для каждого " +"автора и участника." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/trademarks/_index.adoc:54 +#, no-wrap +msgid "Trademark Symbols" +msgstr "Символы товарных знаков" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/trademarks/_index.adoc:59 +msgid "" +"Append a trademark symbol ((TM), (R), or other) to the first occurrence of " +"the trademarked name, and always when using logos. Use the extref:{fdp-" +"primer}/writing-style/#writing-style-special-characters[equivalent ASCII " +"sequence], which will be rendered as the actual Unicode character. Also, " +"write the trademarked name following its trademark guidelines." +msgstr "" +"Добавьте символ товарного знака ((TM), (R) или другой) к первому упоминанию " +"зарегистрированного названия и всегда при использовании логотипов. " +"Используйте extref:{fdp-primer}/writing-style/#writing-style-special-" +"characters[эквивалентную ASCII-последовательность], которая будет " +"отображаться как соответствующий символ Юникода. Также пишите " +"зарегистрированное название в соответствии с его правилами использования " +"товарного знака." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/trademarks/_index.adoc:61 +msgid "" +"When in doubt, research the trademark owner's website, the product's " +"website, and or the link:https://www.uspto.gov/trademarks[United States " +"Patent and Trademark Office trademark search website]." +msgstr "" +"Если сомневаетесь, изучите сайт владельца товарного знака, сайт продукта и/" +"или сайт link:https://www.uspto.gov/trademarks[Ведомства по патентам и " +"товарным знакам США для поиска товарных знаков]." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/trademarks/_index.adoc:63 +#, no-wrap +msgid "Trademark Citing" +msgstr "Цитирование товарных знаков" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/trademarks/_index.adoc:66 +msgid "" +"The FreeBSD Documentation Project provides a template for citing trademarks, " +"which also avoids duplicating trademarks in the documents." +msgstr "" +"Проект документации FreeBSD предоставляет шаблон для указания товарных " +"знаков, что также позволяет избежать их дублирования в документах." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/trademarks/_index.adoc:68 +msgid "" +"First, look for the trademark in the link:https://cgit.freebsd.org/doc/tree/" +"documentation/themes/beastie/i18n/en.toml#n328[Copyright section in the " +"project's template], then add it to the trademarks tag on the `Front Matter` " +"section of the document, located at the beginning of each document." +msgstr "" +"Сначала найдите товарный знак в разделе link:https://cgit.freebsd.org/doc/" +"tree/documentation/themes/beastie/i18n/en.toml#n328[Copyright в шаблоне " +"проекта], затем добавьте его в тег `trademarks` в разделе `Front Matter` " +"документа, который расположен в начале каждого документа." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/trademarks/_index.adoc:70 +msgid "" +"The following is an example of the `Front Matter` of the extref:" +"{contributing}[Contributing to FreeBSD] article:" +msgstr "" +"Вот пример `Front Matter` из статьи extref:{contributing}[Вклад в FreeBSD]:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/trademarks/_index.adoc:72 +#, no-wrap +msgid "---\n" +msgstr "---\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/trademarks/_index.adoc:82 +#, no-wrap +msgid "" +"title: Contributing to FreeBSD\n" +"authors:\n" +" - author: Jordan Hubbard\n" +" - author: Sam Lawrance\n" +" - author: Mark Linimon\n" +"description: How to contribute to the FreeBSD Project\n" +"trademarks: [\"freebsd\", \"ieee\", \"general\"]\n" +"weight: 15\n" +"tags: [\"Contributing\", \"FreeBSD\", \"Non-Programmer Tasks\", \"Programmer Tasks\"]\n" +"---\n" +msgstr "" +"title: Contributing to FreeBSD\n" +"authors:\n" +" - author: Jordan Hubbard\n" +" - author: Sam Lawrance\n" +" - author: Mark Linimon\n" +"description: How to contribute to the FreeBSD Project\n" +"trademarks: [\"freebsd\", \"ieee\", \"general\"]\n" +"weight: 15\n" +"tags: [\"Contributing\", \"FreeBSD\", \"Non-Programmer Tasks\", \"Programmer Tasks\"]\n" +"---\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/trademarks/_index.adoc:86 +msgid "" +"The trademark tags `freebsd`, `ieee`, and `general` will be automatically " +"rendered when building the document like this:" +msgstr "" +"Товарные знаки `freebsd`, `ieee` и `general` будут автоматически " +"отображаться при сборке документа следующим образом:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/trademarks/_index.adoc:89 +#, no-wrap +msgid "FreeBSD is a registered trademark of the FreeBSD Foundation.\n" +msgstr "FreeBSD is a registered trademark of the FreeBSD Foundation.\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/trademarks/_index.adoc:91 +#, no-wrap +msgid "IEEE, POSIX, and 802 are registered trademarks of Institute of Electrical and Electronics Engineers, Inc. in the United States.\n" +msgstr "IEEE, POSIX, and 802 are registered trademarks of Institute of Electrical and Electronics Engineers, Inc. in the United States.\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/trademarks/_index.adoc:93 +#, no-wrap +msgid "Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this document, and the FreeBSD Project was aware of the trademark claim, the designations have been followed by the “™” or the “®” symbol.\n" +msgstr "Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this document, and the FreeBSD Project was aware of the trademark claim, the designations have been followed by the “™” or the “®” symbol.\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/trademarks/_index.adoc:97 +msgid "" +"If a trademark is not present in the project's template, it must be " +"submitted. Any developer or contributor can update the trademarks." +msgstr "" +"Если товарный знак отсутствует в шаблоне проекта, его необходимо " +"предоставить. Любой разработчик или участник может обновлять товарные знаки." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/trademarks/_index.adoc:98 +msgid "" +"The `freebsd` and `general` trademark tags are usually present in all " +"documents." +msgstr "" +"Теги товарных знаков `freebsd` и `general` обычно присутствуют во всех " +"документах." diff --git a/documentation/content/ru/books/fdp-primer/translations/_index.adoc b/documentation/content/ru/books/fdp-primer/translations/_index.adoc new file mode 100644 index 0000000000..d0e3e5ec88 --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/translations/_index.adoc @@ -0,0 +1,227 @@ +--- +description: 'Часто задаваемые вопросы о процессе перевода в проекте документации FreeBSD' +next: books/fdp-primer/po-translations +params: + path: /books/fdp-primer/translations/ +prev: books/fdp-primer/rosetta +showBookMenu: true +tags: ["FAQ", "i18n", "i10n", "translation"] +title: 'Глава 8. Переводы' +weight: 9 +--- + +[[translations]] += Переводы +:doctype: book +:toc: macro +:toclevels: 1 +:icons: font +:sectnums: +:sectnumlevels: 6 +:sectnumoffset: 8 +:partnums: +:source-highlighter: rouge +:experimental: +:images-path: books/fdp-primer/ + +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::[] + +Это FAQ для людей, занимающихся переводом документации FreeBSD (FAQ, Руководство, учебные пособия, man-страницы и другие) на различные языки. + +Он _очень_ сильно основан на FAQ по переводу из Немецкого проекта документации FreeBSD, изначально написанном Франком Грюндером mailto:elwood@mc5sys.in-berlin.de[elwood@mc5sys.in-berlin.de] и переведённом обратно на английский Берндом Варкеном mailto:bwarken@mayn.de[bwarken@mayn.de]. + +== Что означают i18n и l10n? + +i18n означает интернационализацию, а l10n — локализацию. Это просто удобные сокращения. + +i18n можно прочитать как «i», за которым следует 18 букв, а затем «n». Аналогично, l10n — это «l», за которым следует 10 букв, а затем «n». + +== Существует ли рассылка для переводчиков? + +Да. Различные группы переводчиков имеют свои собственные списки рассылки. В https://www.freebsd.org/docproj/translations[списке проектов перевода] есть дополнительная информация о списках рассылки и веб-сайтах, которые поддерживаются каждым проектом перевода. Кроме того, существует mailto:freebsd-translators@freebsd.org[freebsd-translators@freebsd.org] для общих обсуждений, связанных с переводом. + +== Нужны дополнительные переводчики? + +Да. Чем больше людей работает над переводом, тем быстрее он будет завершен, и тем быстрее изменения в англоязычной документации отразятся в переведенных документах. + +Вам не нужно быть профессиональным переводчиком, чтобы помочь. + +== Какие языки мне нужно знать? + +В идеале вы должны хорошо знать письменный английский и, разумеется, свободно владеть языком, на который переводите. + +Английский язык не является строго обязательным. Например, можно сделать венгерский перевод FAQ из испанского перевода. + +== Какой софт нужно знать? + +Настоятельно рекомендуется поддерживать локальную копию репозитория FreeBSD Git (по крайней мере, документации). Это можно сделать, выполнив: + +[source, shell] +.... +% git clone https://git.FreeBSD.org/doc.git ~/doc +.... + +https://git.FreeBSD.org/[git.FreeBSD.org] — это публичный `git` сервер. + +[NOTE] +==== +Для этого потребуется установка пакета package:git-lite[] package. +==== + +Вы должны уверенно пользоваться git. Это позволит вам видеть, какие изменения были внесены между разными версиями файлов, из которых состоит документация. + +Например, чтобы посмотреть различия между ревизиями `abff932fe8` и `2191c44469` файла [.filename]#documentation/content/en/articles/committers-guide/_index.adoc#, выполните: + +[source, shell] +.... +% git diff abff932fe8 2191c44469 documentation/content/en/articles/committers-guide/_index.adoc +.... + +Пожалуйста, ознакомьтесь с полным объяснением использования Git в FreeBSD в extref:{handbook}mirrors[Руководстве FreeBSD, git]. + +== Как узнать, кто ещё, может быть, переводит на тот же язык? + +https://www.FreeBSD.org/docproj/translations/[Страница переводов проекта документации] содержит список известных на данный момент переводческих инициатив. Если кто-то уже работает над переводом документации на ваш язык, пожалуйста, не дублируйте их усилия. Вместо этого свяжитесь с ними, чтобы узнать, как вы можете помочь. + +Если на этой странице не указан переводчик для вашего языка, отправьте сообщение в список рассылки {freebsd-doc}, возможно, кто-то уже планирует сделать перевод, но еще не объявил об этом. + +== Никто не переводит на мой язык. Что мне делать? + +Поздравляем, вы только что запустили "Проект перевода документации FreeBSD на ваш язык". Добро пожаловать на борт. + +Сначала решите, есть ли у вас свободное время. Поскольку сейчас вы единственный, кто работает над вашим языком, вам придется взять на себя ответственность за рекламу своей работы и координацию добровольцев, которые, возможно, захотят вам помочь. + +Напишите письмо в рассылку проекта документации, объявив о том, что вы собираетесь переводить документацию, чтобы страница переводов проекта документации могла быть актуальной. + +Если в вашей стране уже есть кто-то, предоставляющий услуги зеркалирования FreeBSD, вам следует связаться с ними и спросить, можете ли вы получить место для вашего проекта на их веб-сервере, а также, возможно, электронный адрес или услуги рассылки. + +Затем выберите документ и начните перевод. Лучше всего начать с чего-то относительно небольшого — например, с FAQ или одного из руководств. + +== Я перевел часть документации, куда мне ее отправить? + +Это зависит от обстоятельств. Если вы уже работаете с командой переводчиков (например, с японской или немецкой командой), то у них есть свои процедуры обработки представленной документации, которые описаны на их веб-страницах. + +Если вы единственный, кто работает над конкретным языком (или вы отвечаете за проект перевода и хотите отправить свои изменения обратно в проект FreeBSD), то вам следует отправить свой перевод в проект FreeBSD (см. следующий вопрос). + +== Я единственный, кто работает над переводом на этот язык, как мне отправить свой перевод? + +Во-первых, убедитесь, что ваш перевод правильно организован. Это означает, что он должен встраиваться в существующую структуру документации и сразу же собираться. + +Каталоги ниже этого уровня именуются в соответствии с языковыми кодами, на которых они написаны, как определено в ISO639 ([.filename]#/usr/share/misc/iso639# в версии FreeBSD новее 20 января 1999 года). + +[WARNING] +==== +Hugo требует коды языков в нижнем регистре. Например, вместо `pt_BR` Hugo использует `pt-br`. +==== + +В настоящее время документация FreeBSD хранится в корневом каталоге с названием [.filename]#documentation/#. Каталоги ниже него именуются согласно языковым кодам, на которых они написаны, как определено в ISO639 ([.filename]#/usr/share/misc/iso639# в версии FreeBSD новее 20 января 1999 года). + +Если ваш язык может быть закодирован различными способами (например, китайский), то ниже должны находиться каталоги для каждого из предоставленных форматов кодировки. + +Наконец, у вас должны быть каталоги для каждого документа. + +Например, гипотетический перевод на шведский язык может выглядеть так: + +[.programlisting] +.... +documentation/ + content/ + sv/ + books/ + faq/ + _index.adoc +.... + +`sv` — это название перевода в форме [.filename]#lang#. Обратите внимание на два Makefile, которые будут использоваться для сборки документации. + +Используйте команду `git diff` для создания diff и отправьте его в систему link:https://reviews.freebsd.org/[рецензирования]. + +[source, shell] +.... +% git diff > sv-faq.diff +.... + +Вы должны использовать Bugzilla, чтобы link:https://bugs.freebsd.org/bugzilla/enter_bug.cgi[отправить отчёт], указав, что вы предоставили документацию. Было бы очень полезно, если бы другие люди проверили ваш перевод перед отправкой, так как маловероятно, что человек, который будет его применять, свободно владеет языком. + +Кто-то (скорее всего, руководитель проекта документации, в настоящее время {doceng}) проверит ваш перевод и убедится, что он собирается. В частности, будут проверены следующие моменты: + +. Работает ли `make` в директории [.filename]#root# корректно? + +Если возникнут проблемы, тот, кто будет рассматривать вашу заявку, свяжется с вами для их решения. + +Если проблем не возникнет, ваш перевод будет включён как можно скорее. + +== Можно ли включать в перевод текст, специфичный для языка или страны? + +Мы бы предпочли, чтобы вы этого не делали. + +Например, предположим, что вы переводите Handbook на корейский язык и хотите добавить раздел о розничных продавцах в Корее в ваш Handbook. + +Нет никаких реальных причин, по которым эта информация не должна быть в английской (или немецкой, или испанской, или японской, или...) версиях также. Вполне возможно, что англоговорящий человек в Корее попытается приобрести копию FreeBSD, находясь там. Это также помогает усилить воспринимаемое присутствие FreeBSD по всему миру, что не так уж и плохо. + +Если у вас есть информация, специфичная для вашей страны, пожалуйста, отправьте её в виде изменения в англоязычное Руководство (через Bugzilla), а затем переведите это изменение обратно на ваш язык в локализованной версии Руководства. + +Спасибо. + +=== Обращение к читателю + +В английских документах читатель обращается на «you», здесь нет различия между формальным и неформальным обращением, как в некоторых языках. + +Если вы переводите на язык, где такое различие существует, используйте ту форму, которая обычно применяется в другой технической документации на вашем языке. Если сомневаетесь, используйте умеренно вежливую форму. + +=== Нужно ли включать какую-либо дополнительную информацию в мои переводы? + +Да. + +Заголовок английской версии каждого документа будет выглядеть примерно так: + +[.programlisting] +.... + --- + title: Why you should use a BSD style license for your Open Source Project + releaseinfo: "$FreeBSD: head/en_US.ISO8859-1/articles/bsdl-gpl/article.xml 53942 2020-03-01 12:23:40Z carlavilla $" + trademarks: ["freebsd", "intel", "general"] + --- + + = Why you should use a BSD style license for your Open Source Project +.... + +Точный шаблон может меняться, но он всегда будет включать строку `$FreeBSD$` и фразу `The FreeBSD Documentation Project`. Обратите внимание, что часть `$FreeBSD$` автоматически раскрывается Git, поэтому для новых файлов она должна быть пустой (просто `$FreeBSD$`). + +Документы, переведённые вами, должны включать собственную строку FreeBSD, а также изменять строку `FreeBSD Documentation Project` на `The FreeBSD_язык_Documentation Project`. + +В дополнение, вы должны добавить третью строку, указывающую, на какую версию английского текста опирается перевод. + +Итак, испанская версия этого файла может начинаться с: + +[.programlisting] +.... + --- + title: Soporte para segundos intercalares en FreeBSD + releaseinfo: "$FreeBSD: head/es_ES.ISO8859-1/articles/leap-seconds/article.xml 53090 2019-06-01 17:52:59Z carlavilla $" + --- + + = Soporte para segundos intercalares en FreeBSD +.... diff --git a/documentation/content/ru/books/fdp-primer/translations/_index.po b/documentation/content/ru/books/fdp-primer/translations/_index.po new file mode 100644 index 0000000000..6e0bf59db9 --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/translations/_index.po @@ -0,0 +1,683 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR The FreeBSD Project +# This file is distributed under the same license as the FreeBSD Documentation package. +# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025. +msgid "" +msgstr "" +"Project-Id-Version: FreeBSD Documentation VERSION\n" +"POT-Creation-Date: 2025-09-20 14:02+0300\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/" +"documentation/booksfdp-primertranslations_index/ru/>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.17\n" + +#. type: Yaml Front Matter Hash Value: description +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:1 +#, no-wrap +msgid "FAQ about the translation process in the FreeBSD Documentation Project" +msgstr "Часто задаваемые вопросы о процессе перевода в проекте документации FreeBSD" + +#. type: Yaml Front Matter Hash Value: title +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:1 +#, no-wrap +msgid "Chapter 8. Translations" +msgstr "Глава 8. Переводы" + +#. type: Title = +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:14 +#, no-wrap +msgid "Translations" +msgstr "Переводы" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:52 +msgid "" +"This is the FAQ for people translating the FreeBSD documentation (FAQ, " +"Handbook, tutorials, manual pages, and others) to different languages." +msgstr "" +"Это FAQ для людей, занимающихся переводом документации FreeBSD (FAQ, " +"Руководство, учебные пособия, man-страницы и другие) на различные языки." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:56 +msgid "" +"It is _very_ heavily based on the translation FAQ from the FreeBSD German " +"Documentation Project, originally written by Frank Gründer " +"mailto:elwood@mc5sys.in-berlin.de[elwood@mc5sys.in-berlin.de] and translated " +"back to English by Bernd Warken mailto:bwarken@mayn.de[bwarken@mayn.de]." +msgstr "" +"Он _очень_ сильно основан на FAQ по переводу из Немецкого проекта " +"документации FreeBSD, изначально написанном Франком Грюндером " +"mailto:elwood@mc5sys.in-berlin.de[elwood@mc5sys.in-berlin.de] и переведённом " +"обратно на английский Берндом Варкеном " +"mailto:bwarken@mayn.de[bwarken@mayn.de]." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:57 +#, no-wrap +msgid "What do i18n and l10n mean?" +msgstr "Что означают i18n и l10n?" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:61 +msgid "" +"i18n means internationalization and l10n means localization. They are just " +"a convenient shorthand." +msgstr "" +"i18n означает интернационализацию, а l10n — локализацию. Это просто удобные " +"сокращения." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:64 +msgid "" +"i18n can be read as \"i\" followed by 18 letters, followed by \"n\". " +"Similarly, l10n is \"l\" followed by 10 letters, followed by \"n\"." +msgstr "" +"i18n можно прочитать как «i», за которым следует 18 букв, а затем «n». " +"Аналогично, l10n — это «l», за которым следует 10 букв, а затем «n»." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:65 +#, no-wrap +msgid "Is there a mailing list for translators?" +msgstr "Существует ли рассылка для переводчиков?" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:70 +msgid "" +"Yes. Different translation groups have their own mailing lists. The https://" +"www.freebsd.org/docproj/translations[list of translation projects] has more " +"information about the mailing lists and web sites run by each translation " +"project. In addition there is mailto:freebsd-" +"translators@freebsd.org[freebsd-translators@freebsd.org] for general " +"translation discussion." +msgstr "" +"Да. Различные группы переводчиков имеют свои собственные списки рассылки. В " +"https://www.freebsd.org/docproj/translations[списке проектов перевода] есть " +"дополнительная информация о списках рассылки и веб-сайтах, которые " +"поддерживаются каждым проектом перевода. Кроме того, существует " +"mailto:freebsd-translators@freebsd.org[freebsd-translators@freebsd.org] для " +"общих обсуждений, связанных с переводом." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:71 +#, no-wrap +msgid "Are more translators needed?" +msgstr "Нужны дополнительные переводчики?" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:74 +msgid "" +"Yes. The more people that work on translation the faster it gets done, and " +"the faster changes to the English documentation are mirrored in the " +"translated documents." +msgstr "" +"Да. Чем больше людей работает над переводом, тем быстрее он будет завершен, " +"и тем быстрее изменения в англоязычной документации отразятся в переведенных " +"документах." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:76 +msgid "You do not have to be a professional translator to be able to help." +msgstr "Вам не нужно быть профессиональным переводчиком, чтобы помочь." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:77 +#, no-wrap +msgid "What languages do I need to know?" +msgstr "Какие языки мне нужно знать?" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:80 +msgid "" +"Ideally, you will have a good knowledge of written English, and obviously " +"you will need to be fluent in the language you are translating to." +msgstr "" +"В идеале вы должны хорошо знать письменный английский и, разумеется, " +"свободно владеть языком, на который переводите." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:83 +msgid "" +"English is not strictly necessary. For example, you could do a Hungarian " +"translation of the FAQ from the Spanish translation." +msgstr "" +"Английский язык не является строго обязательным. Например, можно сделать " +"венгерский перевод FAQ из испанского перевода." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:84 +#, no-wrap +msgid "What software do I need to know?" +msgstr "Какой софт нужно знать?" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:88 +msgid "" +"It is strongly recommended that you maintain a local copy of the FreeBSD Git " +"repository (at least the documentation part). This can be done by running:" +msgstr "" +"Настоятельно рекомендуется поддерживать локальную копию репозитория FreeBSD " +"Git (по крайней мере, документации). Это можно сделать, выполнив:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:92 +#, no-wrap +msgid "% git clone https://git.FreeBSD.org/doc.git ~/doc\n" +msgstr "% git clone https://git.FreeBSD.org/doc.git ~/doc\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:95 +msgid "https://git.FreeBSD.org/[git.FreeBSD.org] is a public `git` server." +msgstr "" +"https://git.FreeBSD.org/[git.FreeBSD.org] — это публичный `git` сервер." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:99 +msgid "This will require the package:git-lite[] package to be installed." +msgstr "Для этого потребуется установка пакета package:git-lite[] package." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:103 +msgid "" +"You should be comfortable using git. This will allow you to see what has " +"changed between different versions of the files that make up the " +"documentation." +msgstr "" +"Вы должны уверенно пользоваться git. Это позволит вам видеть, какие " +"изменения были внесены между разными версиями файлов, из которых состоит " +"документация." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:105 +msgid "" +"For example, to view the differences between revisions `abff932fe8` and " +"`2191c44469` of [.filename]#documentation/content/en/articles/committers-" +"guide/_index.adoc#, run:" +msgstr "" +"Например, чтобы посмотреть различия между ревизиями `abff932fe8` и " +"`2191c44469` файла [.filename]#documentation/content/en/articles/committers-" +"guide/_index.adoc#, выполните:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:109 +#, no-wrap +msgid "% git diff abff932fe8 2191c44469 documentation/content/en/articles/committers-guide/_index.adoc\n" +msgstr "% git diff abff932fe8 2191c44469 documentation/content/en/articles/committers-guide/_index.adoc\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:112 +msgid "" +"Please see the complete explanation of using Git in FreeBSD in the extref:" +"{handbook}mirrors[FreeBSD Handbook, git]." +msgstr "" +"Пожалуйста, ознакомьтесь с полным объяснением использования Git в FreeBSD в " +"extref:{handbook}mirrors[Руководстве FreeBSD, git]." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:113 +#, no-wrap +msgid "How do I find out who else might be translating to the same language?" +msgstr "Как узнать, кто ещё, может быть, переводит на тот же язык?" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:118 +msgid "" +"The https://www.FreeBSD.org/docproj/translations/[Documentation Project " +"translations page] lists the translation efforts that are currently known " +"about. If others are already working on translating documentation to your " +"language, please do not duplicate their efforts. Instead, contact them to " +"see how you can help." +msgstr "" +"https://www.FreeBSD.org/docproj/translations/[Страница переводов проекта " +"документации] содержит список известных на данный момент переводческих " +"инициатив. Если кто-то уже работает над переводом документации на ваш язык, " +"пожалуйста, не дублируйте их усилия. Вместо этого свяжитесь с ними, чтобы " +"узнать, как вы можете помочь." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:120 +msgid "" +"If no one is listed on that page as translating for your language, then send " +"a message to the {freebsd-doc} in case someone else is thinking of doing a " +"translation, but has not announced it yet." +msgstr "" +"Если на этой странице не указан переводчик для вашего языка, отправьте " +"сообщение в список рассылки {freebsd-doc}, возможно, кто-то уже планирует " +"сделать перевод, но еще не объявил об этом." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:121 +#, no-wrap +msgid "No one else is translating to my language. What do I do?" +msgstr "Никто не переводит на мой язык. Что мне делать?" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:125 +msgid "" +"Congratulations, you have just started the \"FreeBSD _your-language-here_ " +"Documentation Translation Project\". Welcome aboard." +msgstr "" +"Поздравляем, вы только что запустили \"Проект перевода документации FreeBSD " +"на ваш язык\". Добро пожаловать на борт." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:128 +msgid "" +"First, decide whether or not you have got the time to spare. Since you are " +"the only person working on your language at the moment it is going to be " +"your responsibility to publicize your work and coordinate any volunteers " +"that might want to help you." +msgstr "" +"Сначала решите, есть ли у вас свободное время. Поскольку сейчас вы " +"единственный, кто работает над вашим языком, вам придется взять на себя " +"ответственность за рекламу своей работы и координацию добровольцев, которые, " +"возможно, захотят вам помочь." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:130 +msgid "" +"Write an email to the Documentation Project mailing list, announcing that " +"you are going to translate the documentation, so the Documentation Project " +"translations page can be maintained." +msgstr "" +"Напишите письмо в рассылку проекта документации, объявив о том, что вы " +"собираетесь переводить документацию, чтобы страница переводов проекта " +"документации могла быть актуальной." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:132 +msgid "" +"If there is already someone in your country providing FreeBSD mirroring " +"services you should contact them and ask if you can have some webspace for " +"your project, and possibly an email address or mailing list services." +msgstr "" +"Если в вашей стране уже есть кто-то, предоставляющий услуги зеркалирования " +"FreeBSD, вам следует связаться с ними и спросить, можете ли вы получить " +"место для вашего проекта на их веб-сервере, а также, возможно, электронный " +"адрес или услуги рассылки." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:135 +msgid "" +"Then pick a document and start translating. It is best to start with " +"something fairly small - either the FAQ, or one of the tutorials." +msgstr "" +"Затем выберите документ и начните перевод. Лучше всего начать с чего-то " +"относительно небольшого — например, с FAQ или одного из руководств." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:136 +#, no-wrap +msgid "I have translated some documentation, where do I send it?" +msgstr "Я перевел часть документации, куда мне ее отправить?" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:140 +msgid "" +"That depends. If you are already working with a translation team (such as " +"the Japanese team, or the German team) then they will have their own " +"procedures for handling submitted documentation, and these will be outlined " +"on their web pages." +msgstr "" +"Это зависит от обстоятельств. Если вы уже работаете с командой переводчиков " +"(например, с японской или немецкой командой), то у них есть свои процедуры " +"обработки представленной документации, которые описаны на их веб-страницах." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:142 +msgid "" +"If you are the only person working on a particular language (or you are " +"responsible for a translation project and want to submit your changes back " +"to the FreeBSD project) then you should send your translation to the FreeBSD " +"project (see the next question)." +msgstr "" +"Если вы единственный, кто работает над конкретным языком (или вы отвечаете " +"за проект перевода и хотите отправить свои изменения обратно в проект " +"FreeBSD), то вам следует отправить свой перевод в проект FreeBSD (см. " +"следующий вопрос)." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:143 +#, no-wrap +msgid "I am the only person working on translating to this language, how do I submit my translation?" +msgstr "Я единственный, кто работает над переводом на этот язык, как мне отправить свой перевод?" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:147 +msgid "" +"First, make sure your translation is organized properly. This means that it " +"should drop into the existing documentation tree and build straight away." +msgstr "" +"Во-первых, убедитесь, что ваш перевод правильно организован. Это означает, " +"что он должен встраиваться в существующую структуру документации и сразу же " +"собираться." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:150 +msgid "" +"Directories below this are named according to the language code they are " +"written in, as defined in ISO639 ([.filename]#/usr/share/misc/iso639# on a " +"version of FreeBSD newer than 20th January 1999)." +msgstr "" +"Каталоги ниже этого уровня именуются в соответствии с языковыми кодами, на " +"которых они написаны, как определено в ISO639 ([.filename]#/usr/share/misc/" +"iso639# в версии FreeBSD новее 20 января 1999 года)." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:155 +msgid "" +"Hugo needs the language codes in lowercase. For example, instead of `pt_BR` " +"Hugo uses `pt-br`." +msgstr "" +"Hugo требует коды языков в нижнем регистре. Например, вместо `pt_BR` Hugo " +"использует `pt-br`." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:159 +msgid "" +"Currently, the FreeBSD documentation is stored in a top level directory " +"called [.filename]#documentation/#. Directories below this are named " +"according to the language code they are written in, as defined in ISO639 " +"([.filename]#/usr/share/misc/iso639# on a version of FreeBSD newer than 20th " +"January 1999)." +msgstr "" +"В настоящее время документация FreeBSD хранится в корневом каталоге с " +"названием [.filename]#documentation/#. Каталоги ниже него именуются согласно " +"языковым кодам, на которых они написаны, как определено в ISO639 " +"([.filename]#/usr/share/misc/iso639# в версии FreeBSD новее 20 января 1999 " +"года)." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:161 +msgid "" +"If your language can be encoded in different ways (for example, Chinese) " +"then there should be directories below this, one for each encoding format " +"you have provided." +msgstr "" +"Если ваш язык может быть закодирован различными способами (например, " +"китайский), то ниже должны находиться каталоги для каждого из " +"предоставленных форматов кодировки." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:163 +msgid "Finally, you should have directories for each document." +msgstr "Наконец, у вас должны быть каталоги для каждого документа." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:165 +msgid "For example, a hypothetical Swedish translation might look like:" +msgstr "Например, гипотетический перевод на шведский язык может выглядеть так:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:174 +#, no-wrap +msgid "" +"documentation/\n" +" content/\n" +" sv/\n" +" books/\n" +" faq/\n" +" _index.adoc\n" +msgstr "" +"documentation/\n" +" content/\n" +" sv/\n" +" books/\n" +" faq/\n" +" _index.adoc\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:178 +msgid "" +"`sv` is the name of the translation, in [.filename]#lang# form. Note the " +"two Makefiles, which will be used to build the documentation." +msgstr "" +"`sv` — это название перевода в форме [.filename]#lang#. Обратите внимание " +"на два Makefile, которые будут использоваться для сборки документации." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:180 +msgid "" +"Use git diff command to generate a diff and send it to the link:https://" +"reviews.freebsd.org/[reviews system]." +msgstr "" +"Используйте команду `git diff` для создания diff и отправьте его в систему " +"link:https://reviews.freebsd.org/[рецензирования]." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:184 +#, no-wrap +msgid "% git diff > sv-faq.diff\n" +msgstr "% git diff > sv-faq.diff\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:188 +msgid "" +"You should use Bugzilla to link:https://bugs.freebsd.org/bugzilla/" +"enter_bug.cgi[submit a report] indicating that you have submitted the " +"documentation. It would be very helpful if you could get other people to " +"look over your translation and double check it first, since it is unlikely " +"that the person committing it will be fluent in the language." +msgstr "" +"Вы должны использовать Bugzilla, чтобы link:https://bugs.freebsd.org/" +"bugzilla/enter_bug.cgi[отправить отчёт], указав, что вы предоставили " +"документацию. Было бы очень полезно, если бы другие люди проверили ваш " +"перевод перед отправкой, так как маловероятно, что человек, который будет " +"его применять, свободно владеет языком." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:191 +msgid "" +"Someone (probably the Documentation Project Manager, currently {doceng}) " +"will then take your translation and confirm that it builds. In particular, " +"the following things will be looked at:" +msgstr "" +"Кто-то (скорее всего, руководитель проекта документации, в настоящее время " +"{doceng}) проверит ваш перевод и убедится, что он собирается. В частности, " +"будут проверены следующие моменты:" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:193 +msgid "Does `make` in the [.filename]#root# directory work correctly?" +msgstr "Работает ли `make` в директории [.filename]#root# корректно?" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:195 +msgid "" +"If there are any problems then whoever is looking at the submission will get " +"back to you to work them out." +msgstr "" +"Если возникнут проблемы, тот, кто будет рассматривать вашу заявку, свяжется " +"с вами для их решения." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:197 +msgid "" +"If there are no problems your translation will be committed as soon as " +"possible." +msgstr "Если проблем не возникнет, ваш перевод будет включён как можно скорее." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:198 +#, no-wrap +msgid "Can I include language or country specific text in my translation?" +msgstr "Можно ли включать в перевод текст, специфичный для языка или страны?" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:201 +msgid "We would prefer that you did not." +msgstr "Мы бы предпочли, чтобы вы этого не делали." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:203 +msgid "" +"For example, suppose that you are translating the Handbook to Korean, and " +"want to include a section about retailers in Korea in your Handbook." +msgstr "" +"Например, предположим, что вы переводите Handbook на корейский язык и хотите " +"добавить раздел о розничных продавцах в Корее в ваш Handbook." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:207 +msgid "" +"There is no real reason why that information should not be in the English " +"(or German, or Spanish, or Japanese, or ...) versions as well. It is " +"feasible that an English speaker in Korea might try to pick up a copy of " +"FreeBSD whilst over there. It also helps increase FreeBSD's perceived " +"presence around the globe, which is not a bad thing." +msgstr "" +"Нет никаких реальных причин, по которым эта информация не должна быть в " +"английской (или немецкой, или испанской, или японской, или...) версиях " +"также. Вполне возможно, что англоговорящий человек в Корее попытается " +"приобрести копию FreeBSD, находясь там. Это также помогает усилить " +"воспринимаемое присутствие FreeBSD по всему миру, что не так уж и плохо." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:209 +msgid "" +"If you have country specific information, please submit it as a change to " +"the English Handbook (using Bugzilla) and then translate the change back to " +"your language in the translated Handbook." +msgstr "" +"Если у вас есть информация, специфичная для вашей страны, пожалуйста, " +"отправьте её в виде изменения в англоязычное Руководство (через Bugzilla), а " +"затем переведите это изменение обратно на ваш язык в локализованной версии " +"Руководства." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:211 +msgid "Thanks." +msgstr "Спасибо." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:212 +#, no-wrap +msgid "Addressing the reader" +msgstr "Обращение к читателю" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:215 +msgid "" +"In the English documents, the reader is addressed as \"you\", there is no " +"formal/informal distinction as there is in some languages." +msgstr "" +"В английских документах читатель обращается на «you», здесь нет различия " +"между формальным и неформальным обращением, как в некоторых языках." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:218 +msgid "" +"If you are translating to a language which does distinguish, use whichever " +"form is typically used in other technical documentation in your language. " +"If in doubt, use a mildly polite form." +msgstr "" +"Если вы переводите на язык, где такое различие существует, используйте ту " +"форму, которая обычно применяется в другой технической документации на вашем " +"языке. Если сомневаетесь, используйте умеренно вежливую форму." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:219 +#, no-wrap +msgid "Do I need to include any additional information in my translations?" +msgstr "Нужно ли включать какую-либо дополнительную информацию в мои переводы?" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:222 +msgid "Yes." +msgstr "Да." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:224 +msgid "" +"The header of the English version of each document will look something like " +"this:" +msgstr "" +"Заголовок английской версии каждого документа будет выглядеть примерно так:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:232 +#, no-wrap +msgid "" +" ---\n" +" title: Why you should use a BSD style license for your Open Source Project\n" +" releaseinfo: \"$FreeBSD: head/en_US.ISO8859-1/articles/bsdl-gpl/article.xml 53942 2020-03-01 12:23:40Z carlavilla $\"\n" +" trademarks: [\"freebsd\", \"intel\", \"general\"]\n" +" ---\n" +msgstr "" +" ---\n" +" title: Why you should use a BSD style license for your Open Source Project\n" +" releaseinfo: \"$FreeBSD: head/en_US.ISO8859-1/articles/bsdl-gpl/article.xml 53942 2020-03-01 12:23:40Z carlavilla $\"\n" +" trademarks: [\"freebsd\", \"intel\", \"general\"]\n" +" ---\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:234 +#, no-wrap +msgid " = Why you should use a BSD style license for your Open Source Project\n" +msgstr " = Why you should use a BSD style license for your Open Source Project\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:238 +msgid "" +"The exact boilerplate may change, but it will always include a $FreeBSD$ " +"line and the phrase `The FreeBSD Documentation Project`. Note that the " +"$FreeBSD$ part is expanded automatically by Git, so it should be empty (just " +"`$FreeBSD$`) for new files." +msgstr "" +"Точный шаблон может меняться, но он всегда будет включать строку `$FreeBSD$` " +"и фразу `The FreeBSD Documentation Project`. Обратите внимание, что часть " +"`$FreeBSD$` автоматически раскрывается Git, поэтому для новых файлов она " +"должна быть пустой (просто `$FreeBSD$`)." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:240 +msgid "" +"Your translated documents should include their own FreeBSD line, and change " +"the `FreeBSD Documentation Project` line to `The FreeBSD _language_ " +"Documentation Project`." +msgstr "" +"Документы, переведённые вами, должны включать собственную строку FreeBSD, а " +"также изменять строку `FreeBSD Documentation Project` на `The " +"FreeBSD_язык_Documentation Project`." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:242 +msgid "" +"In addition, you should add a third line which indicates which revision of " +"the English text this is based on." +msgstr "" +"В дополнение, вы должны добавить третью строку, указывающую, на какую версию " +"английского текста опирается перевод." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:244 +msgid "So, the Spanish version of this file might start:" +msgstr "Итак, испанская версия этого файла может начинаться с:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:251 +#, no-wrap +msgid "" +" ---\n" +" title: Soporte para segundos intercalares en FreeBSD\n" +" releaseinfo: \"$FreeBSD: head/es_ES.ISO8859-1/articles/leap-seconds/article.xml 53090 2019-06-01 17:52:59Z carlavilla $\"\n" +" ---\n" +msgstr "" +" ---\n" +" title: Soporte para segundos intercalares en FreeBSD\n" +" releaseinfo: \"$FreeBSD: head/es_ES.ISO8859-1/articles/leap-seconds/article.xml 53090 2019-06-01 17:52:59Z carlavilla $\"\n" +" ---\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/translations/_index.adoc:253 +#, no-wrap +msgid " = Soporte para segundos intercalares en FreeBSD\n" +msgstr " = Soporte para segundos intercalares en FreeBSD\n" diff --git a/documentation/content/ru/books/fdp-primer/weblate/_index.adoc b/documentation/content/ru/books/fdp-primer/weblate/_index.adoc new file mode 100644 index 0000000000..b3d2bc2392 --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/weblate/_index.adoc @@ -0,0 +1,456 @@ +--- +description: 'Как присоединиться к команде переводчиков FreeBSD и переводить онлайн в Weblate' +next: books/fdp-primer/manual-pages +params: + path: /books/fdp-primer/weblate/ +prev: books/fdp-primer/po-translations +showBookMenu: true +tags: ["weblate", "po", "translations", "tutorial", "quick start"] +title: 'Глава 10. Переводы в Weblate' +weight: 10 +--- + +[[weblate-translations]] += Переводы в Weblate +:doctype: book +:toc: macro +:toclevels: 1 +:icons: font +:sectnums: +:sectnumlevels: 6 +:sectnumoffset: 10 +:partnums: +:source-highlighter: rouge +:experimental: +:images-path: books/fdp-primer/ + +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::[] + +[[weblate-introduction]] +== Введение + +Эта глава описывает основные шаги для присоединения к команде переводчиков FreeBSD, перевода онлайн в Weblate или офлайн, а также содержит простые рекомендации по переводу, вычитке и тестированию. Основное внимание уделено части, связанной с переводом. + +Исходные документы (статьи и книги) находятся на {main-site}[портале документации]. + +https://weblate.org/en/[Weblate] — это веб-ориентированное программное обеспечение с открытым исходным кодом, специализирующееся на локализации. Проект FreeBSD поддерживает собственный экземпляр. + +[[weblate-become-translator]] +== Как стать переводчиком FreeBSD + +Вот простые шаги для начала перевода статей и книг проекта документации FreeBSD. + +. Создайте учетную запись на https://translate-dev.freebsd.org/[FreeBSD Weblate] с помощью электронной почты или вашего аккаунта GitHub. +. Подписаться на список рассылки {freebsd-translators}. +. Представьтесь и попросите присоединиться к языковой команде. Если языковая команда не существует, попросите создать её. Самопредставление обязательно. Оно увеличивает шансы на одобрение доступа на запись. +. Войдите в https://translate-dev.freebsd.org/[Weblate] с новым аккаунтом. +. Найдите языковую команду и выберите первый документ для перевода. +. Создайте учетную запись в Bugzilla, чтобы отправлять переводы после завершения работы над документом. Проект документации также принимает Pull Requests на GitHub с переводами. + +[WARNING] +==== +Все файлы переводов и документы должны соответствовать https://www.freebsd.org/copyright/freebsd-doc-license/[Лицензии документации FreeBSD]; если это неприемлемо, пожалуйста, не регистрируйтесь и не присылайте никаких исправлений или переводов. +==== + +[[weblate-introduce-yourself]] +== Представьтесь + +Предоставьте краткое самопредставление в рассылке {freebsd-translators}, чтобы начать процесс предоставления доступа. Это позволит координатору языка или администратору выдать необходимые права новому пользователю Weblate для начала перевода. + +Ниже приведен пример того, как может выглядеть такое письмо. + +[.programlisting] +.... +Subject: Self-Introduction: Name and language + +Name: Name (use preferred name) +Location: City, country (optional) +Login: username or email (essential) +Language: Language to translate (essential) +Profession or student status: (optional) +About You: (free format -- info which you feel comfortable sharing with + others: company, school, other affiliation, historical qualifications, other + projects you have worked on, level and type of computer skills, other relevant skills, + etc.) +You and the FreeBSD Project: (free format: other FreeBSD projects of + interest, comments, etc.) +.... + +[[weblate-login]] +== Вход в Weblate + +Откройте https://translate-dev.freebsd.org/[] и `Войдите` (Sign in). + +image::weblate-login.png["Логин в Webleate", 800] + +Используйте имя пользователя, адрес электронной почты или учетную запись GitHub для входа. + +Профиль пользователя содержит ваши предпочтения, имя и адрес электронной почты. Имя и адрес будут использоваться в коммитах; сохраняйте эту информацию актуальной. + +На экземпляре Weblate FreeBSD все переводы будут зафиксированы в https://github.com/freebsd/freebsd-doc-translate[freebsd-doc-translate] (промежуточном репозитории на GitHub), а не напрямую в https://github.com/freebsd/freebsd-doc[freebsd-doc]. Переводчики должны брать файлы PO gettext (`.po`), преобразовывать их в `.adoc` и отправлять через https://bugs.freebsd.org/bugzilla/[Bugzilla] или https://github.com/freebsd/freebsd-doc/pulls[GitHub], чтобы переведённый документ был опубликован или обновлён в портале документации. Подробнее см. в следующих разделах. + +Weblate будет фиксировать изменения ежедневно, как минимум в `freebsd-doc-translate`, если есть новые переведённые строки. + +[[weblate-find-language-team]] +== Найти команду локализации для участия + +Нажмите `Проекты`, выберите `Документация`, затем нажмите `Языки` и увидите все доступные языки. + +image::weblate-languages.png["Языки в Weblate", 500] + +Обратите внимание, что некоторые языки и переведённые документы уже доступны в портале документации и репозиториях. + +Если желаемый язык для перевода недоступен в Weblate, пожалуйста, свяжитесь с https://www.freebsd.org/docproj/translations/[координаторами по языкам], прежде чем запрашивать создание нового языка. Если ответа не последует, обратитесь по адресу: {doceng}. + +[[weblate-translating-online]] +== Перевод онлайн на Weblate + +Перевод документов онлайн оказывается наиболее простым способом перевода документации в FreeBSD, так как позволяет пользователям совместно работать над одним файлом, распределяя нагрузку. + +После того как координатор или администратор предоставит пользователю доступ к определённому языку, кнопка сохранения станет активной, и пользователь сможет начать перевод. + +image::weblate-documents.png["Weblate Документы", 800] +image::weblate-translate.png["Weblate Translate", 800] + +В Weblate есть набор ссылок, ведущих к непосредственному переводу. Перевод далее разделён на отдельные проверки, такие как `Не переведено` или `Требует проверки`. Если весь документ переведён без ошибок, ссылка `Все переводы` всё равно доступна на случай, если потребуется проверка. Также можно воспользоваться полем поиска, чтобы найти конкретную строку или термин. + +В https://docs.weblate.org/en/latest/user/translating.html#translation-projects[документации Weblate] содержится дополнительная информация о переводах, например, сочетания клавиш и другие советы по работе с инструментом перевода. + +[[weblate-translating-offline]] +== Перевод в автономном режиме + +Weblate на FreeBSD использует файлы перевода PO gettext. Пользователи, знакомые с файлами PO gettext, которые хотят переводить офлайн, могут загружать и выгружать переводы на странице документа в Weblate, выбрав пункт в меню `Files`. + +image::weblate-offline.png["Weblate Offline", 800] + +[[weblate-automatic-suggestions]] +== Перевод на основе автоматических предложений + +Языки, использующие Weblate до миграции на Hugo/Asciidoctor, могут использовать эту функцию в Weblate для экономии времени. + +Эта функция Weblate использует память переводов, созданную другими компонентами и проектами на том же сервере. Для этого прежние переводы Weblate сохранены на том же сервере в режиме только для чтения. + +Строки, совпадающие с `100/100` по степени схожести, могут быть скопированы и сохранены напрямую. Остальным строкам потребуется как минимум незначительная корректировка. + +Некоторые примеры: + +image::weblate_automatic_suggestion_01.png["Weblate Автоматические предложения 01", 800] + +С переходом на Hugo/Asciidoctor документы используют UTF-8. Некоторые HTML-сущности следует заменить. Некоторые строки, такие как ссылки, требуют изменений в разметке. + +image::weblate_automatic_suggestion_02.png["Weblate Автоматические предложения 02", 800] + +Ссылки: + +image::weblate_automatic_suggestion_03.png["Weblate Автоматические предложения 03", 800] + +[[weblate-proofreading-qa]] +== Вычитка и проверка качества в Weblate + +Панель документа `Project/Language/Document` отображает статус перевода и состояние строк для этого документа. Эта страница удобна для вычитки и проверки качества. + +image::weblate-revision1.png["Weblate Ревизия 01", 800] + +В этом примере две строки пропустили точку; переход по этой ссылке покажет только те строки, которые нужно пересмотреть/перевести. + +image::weblate-revision2.png["Weblate Ревизия 02", 800] + +Переводчики и рецензенты часто ценят возможность видеть переведённые строки в контексте. + +[[weblate-building]] +== Сборка переведенного документа + +Проект не использует непрерывную интеграцию и непрерывную поставку для сборки переводов. Ведутся исследования по внедрению этой возможности. + +[NOTE] +==== +Следующий пример использует GitHub, так как Weblate также находится на GitHub . Обратите внимание, что этот репозиторий доступен только для чтения, но Pull Requests принимаются. +==== + +Для локальной сборки перевода выполните следующие шаги: + +[[weblate-clone-repositories]] + +[.procedure] +==== +.Процедура: Клонирование необходимых репозиториев +. Клонирование репозитория `freebsd-doc`: ++ +[source, console?prompt=%] +.... +% git clone https://github.com/freebsd/freebsd-doc.git ~/freebsd-doc +.... + +. Клонирование репозитория `freebsd-doc-translate`: ++ +[source, console?prompt=%] +.... +% git clone https://github.com/freebsd/freebsd-doc-translate.git ~/freebsd-doc-translate +.... +==== + +[[weblate-copy-translation]] + +[.procedure] +==== +.Процедура: Копирование файла перевода в `freebsd-doc` + +Имея оба репозитория, скопируйте перевод из `freebsd-doc-translate` в `freebsd-doc`. Пример перевода статьи Руководства для коммиттеров на испанском языке. + +[source, console?prompt=%] +.... +% cp ~/freebsd-doc-translate/documentation/content/es/articles/committers-guide/_index.po \ +~/freebsd-doc/documentation/content/es/articles/committers-guide/ +.... +==== + +[[weblate-translate]] + +[.procedure] +==== +.Процедура: Преобразование файла перевода (`.po`) в `.adoc` + +Перейдите в корень `freebsd-doc`. + +[source, console?prompt=%] +.... +% cd ~/freebsd-doc +.... + +Преобразовать файл `.po` в `.adoc` + +[source, console?prompt=%] +.... +% ./tools/translate.sh documentation es articles/committers-guide +.... + +По умолчанию: только файлы с более чем восьмидесятью процентами переведённых строк будут преобразованы в `.adoc`. + +Чтобы игнорировать это ограничение: + +[source, console?prompt=%] +.... +% KEEP_ENV=0 ./tools/translate.sh documentation es articles/committers-guide +.... + +==== + +Некоторые документы, такие как книги, содержат множество PO-файлов gettext. Всегда копируйте их все при переводе и сборке. Файлы, которые не были переведены, будут преобразованы с исходными (английскими) строками. + +[WARNING] +==== +Структура каталогов является основополагающей. Всегда следуйте структуре каталогов английского документа. +==== + +[[weblate-build]] + +[.procedure] +==== +.Процедура: Сборка переведенного документа + +Наконец, часть сборки. + +Перейдите в каталог документации, так как сборка веб-сайта FreeBSD не требуется. + +[source, console?prompt=%] +.... +% cd documentation +.... + +И соберите документацию. Обратите внимание, что `en` всегда добавляется по умолчанию при сборке любого другого языка. + +[source, console?prompt=%] +.... +% DOC_LANG=es make +.... + +Эта команда соберет только английскую и испанскую документацию портала FreeBSD. Результат будет сохранен в каталоге [.filename]#public#; откройте его в браузере. Обратите внимание, что некоторые индексные файлы могут перенаправлять браузер на онлайн-страницу. + +Еще один хороший вариант — собрать и предоставить контент с помощью встроенного веб-сервера Hugo: + +[source, console?prompt=%] +.... +% DOC_LANG=es make run +.... + +По умолчанию веб-сервер прослушивает `localhost`; чтобы изменить это поведение, укажите нужный IP-адрес в значении параметра `BIND`. + +[source, console?prompt=%] +.... +% DOC_LANG=es make run BIND=192.168.15.10 +.... + +Это собирает и предоставляет содержимое с помощью встроенного веб-сервера Hugo, оставляя его открытым, и при любых изменениях файлов автоматически пересобирает их. +==== + +Чтобы внести необходимые изменения в перевод, выполните следующие шаги для повторной синхронизации всех компонентов: + +- Исправьте строку перевода на https://translate-dev.freebsd.org/[Weblate]. +- Заставьте Weblate зафиксировать изменения в разделе `Document/Manage/Commit`. +- Синхронизируйте локальный репозиторий Weblate `freebsd-doc-translate` с помощью команды `git pull origin main`. +- Скопируйте перевод снова в `freebsd-doc`. +- Преобразуйте перевод в .adoc с помощью скрипта `./tools/translate.sh`. +- Hugo пересоберет файл и не будет собирать весь набор, если использовалась команда `make run`, или повторно выполнит `make`. + +[IMPORTANT] +==== +Повторяйте предыдущие шаги столько раз, сколько необходимо, пока документ не будет готов к публикации. +==== + +Глава crossref:doc-build[doc-build-rendering,Процесс сборки документации] содержит информацию о преобразовании в HTML и PDF. + +[[weblate-submitting-translations]] +== Отправка переводов + +Пример отправки обновления для статьи на бразильском португальском Committer's Guide. + + +[[weblate-git-repo-status]] + +[.procedure] +==== +.Проверка репозитория + +После выполнения шагов из раздела crossref:weblate[weblate-building,Сборка переведенного документа], перейдите в корневую директорию `freebsd-doc` и просмотрите, что будет включено в коммит. Для просмотра списка изменяемых файлов и различий в их содержимом: + +[source, console?prompt=%] +.... +% git status +% git diff +.... + +Просмотрите вывод, и если какие-либо файлы, не связанные с обновлением перевода Руководства коммиттера, были изменены или добавлены, выполните соответствующее действие по их откату или удалению соответственно, прежде чем продолжить. + +Всегда включайте файл PO gettext (`.po`) и переведенный документ в Hugo/Asciidoctor (`.adoc`). +==== + +[[weblate-git-new-branch]] + +[.procedure] +==== +.Создать новую ветку и зафиксировать изменения + +Создайте еще одну ветку для разделения работы, что поможет при будущих обновлениях в локальном репозитории. + +[source, console?prompt=%] +.... +% git checkout -b committers-guide_pt-br +.... + +Зарегистрировать локальный коммит. + +[source, console?prompt=%] +.... +% git add . +% git commit +.... + +Пример сообщений коммитов для переводов: + +[.programlisting] +.... +pt-br/committers-guide: Sync with en XXXXXXX +.... + +Где `XXXXXXX` — это ревизия man:git[1], хранящаяся в репозитории Weblate в файле [.filename]#~/freebsd-doc-translate/revision.txt#. + +Если это первый перевод статьи: + +[.programlisting] +.... +Add Korean translation of Leap Seconds article +.... + +После выполнения коммита будет отображено сообщение, если man:git[1] ранее не был настроен. Следуйте инструкциям и укажите имя и адрес электронной почты, используемые в Weblate. Этот шаг важен для правильного учета вклада участников. + +Затем проверьте весь коммит, просмотрите изменения, а также имя автора и адрес электронной почты. + +[source, console?prompt=%] +.... +% git show +.... +==== + +[[weblate-git-patch-submit]] + +[.procedure] +==== +.Сгенерировать патч + +Далее создайте файл man:git-format-patch[1]. + +[source, console?prompt=%] +.... +% git format-patch main +0001-pt-br-committers-guide-Sync-with-en-XXXXXXX.patch +.... +==== + +Прикрепите патч [.filename]#0001-pt-br-committers-guide-Sync-with-en-XXXXXXX.patch# к отчёту об ошибке в https://bugs.freebsd.org/bugzilla/[FreeBSD Bugzilla]. + +Включите следующую информацию в отчёт: + +[[weblate-bugzilla-fields]] +.Поля Bugzilla +[cols="1,1", frame="none", options="header"] +|=== +| Поле +| Значение + +| *продукт (product)* +| Documentation + +| *Компонент (Component)* +| Books & Articles + +| *Сводка (Summary)* +| Тот же текст, что и в локальном коммите + +| *Описание (Description)* +| Укажите, что инструкции в этом руководстве были выполнены, включая вычитку и другие необходимые шаги. +Включите сведения, которые могут помочь с анализом и продвижением отчёта. + + +| *СС* (Необязательно) +| Если в языке есть координаторы, укажите их адреса электронной почты в поле CC. +|=== + +Для тех, кто знаком с man:git[1] и GitHub: вместо отправки исправления через https://bugs.freebsd.org/bugzilla/[Bugzilla], можно использовать https://github.com/freebsd/freebsd-doc/pulls[запрос на включение изменений (pull request) в GitHub] (укажите имя и адрес, которые вы используете в Weblate). + +https://github.com/freebsd/freebsd-doc/ является вторичным зеркалом. Изменения в дереве `doc` могут вносить только люди, имеющие права на коммит (`doc commit bit`). + +Когда переводчики продолжают присылать качественные исправления, другие коммиттеры могут выдвинуть их для получения прав на запись (extref:{committers-guide}[бит коммита для документации, committer.types] для переводов), учётной записи FreeBSD и сопутствующих привилегий. + +Список extref:{contributors}[дополнительных участников FreeBSD, contrib-additional] включает некоммиттеров, чьи изменения были закоммичены в дерево `doc`. + +Если вы сомневаетесь в каком-либо действии, напишите в {freebsd-translators}. + +[[weblate-faq]] +== FAQ (Часто задаваемые Вопросы) + +[[weblate-copyrights]] +=== Нужно ли переводить все сообщения об авторских правах? + +Каждая языковая команда решает этот вопрос для своего языка; в команде `pt-br` (бразильский португальский) было решено не переводить эти сообщения. diff --git a/documentation/content/ru/books/fdp-primer/weblate/_index.po b/documentation/content/ru/books/fdp-primer/weblate/_index.po new file mode 100644 index 0000000000..89906a544e --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/weblate/_index.po @@ -0,0 +1,1259 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR The FreeBSD Project +# This file is distributed under the same license as the FreeBSD Documentation package. +# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025. +msgid "" +msgstr "" +"Project-Id-Version: FreeBSD Documentation VERSION\n" +"POT-Creation-Date: 2025-09-20 14:02+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/" +"documentation/booksfdp-primerweblate_index/ru/>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.17\n" + +#. type: Yaml Front Matter Hash Value: description +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:1 +#, no-wrap +msgid "How to join the FreeBSD translators team and translate online on Weblate" +msgstr "Как присоединиться к команде переводчиков FreeBSD и переводить онлайн в Weblate" + +#. type: Yaml Front Matter Hash Value: title +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:1 +#, no-wrap +msgid "Chapter 10. Weblate Translations" +msgstr "Глава 10. Переводы в Weblate" + +#. type: Title = +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:14 +#, no-wrap +msgid "Weblate Translations" +msgstr "Переводы в Weblate" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:52 +#, no-wrap +msgid "Introduction" +msgstr "Введение" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:56 +msgid "" +"This chapter describes some basic steps for joining the FreeBSD translators " +"team, translating online on Weblate or offline, and some simple suggestions " +"on translating, proofreading, and testing. It's focused on the translation " +"part." +msgstr "" +"Эта глава описывает основные шаги для присоединения к команде переводчиков " +"FreeBSD, перевода онлайн в Weblate или офлайн, а также содержит простые " +"рекомендации по переводу, вычитке и тестированию. Основное внимание уделено " +"части, связанной с переводом." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:58 +msgid "" +"The original documents (articles and books) are in the {main-site}" +"[documentation portal]." +msgstr "" +"Исходные документы (статьи и книги) находятся на {main-site}[портале " +"документации]." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:60 +msgid "" +"https://weblate.org/en/[Weblate] is web-based open-source software focused " +"on localization; the FreeBSD project runs a local instance." +msgstr "" +"https://weblate.org/en/[Weblate] — это веб-ориентированное программное " +"обеспечение с открытым исходным кодом, специализирующееся на локализации. " +"Проект FreeBSD поддерживает собственный экземпляр." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:62 +#, no-wrap +msgid "How to Become a FreeBSD Translator" +msgstr "Как стать переводчиком FreeBSD" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:65 +msgid "" +"Following are simple steps to start translating articles and books of the " +"FreeBSD Documentation Project." +msgstr "" +"Вот простые шаги для начала перевода статей и книг проекта документации " +"FreeBSD." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:67 +msgid "" +"Create an account on the https://translate-dev.freebsd.org/[FreeBSD Weblate " +"instance] with an email address or your GitHub account." +msgstr "" +"Создайте учетную запись на https://translate-dev.freebsd.org/[FreeBSD " +"Weblate] с помощью электронной почты или вашего аккаунта GitHub." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:68 +msgid "Subscribe to the {freebsd-translators}." +msgstr "Подписаться на список рассылки {freebsd-translators}." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:72 +msgid "" +"Introduce yourself and ask to join a language team. If the language team " +"does not exist, ask to create it. The self-introduction is essential. It " +"raises your chances of being approved for write access." +msgstr "" +"Представьтесь и попросите присоединиться к языковой команде. Если языковая " +"команда не существует, попросите создать её. Самопредставление " +"обязательно. Оно увеличивает шансы на одобрение доступа на запись." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:73 +msgid "" +"Login to https://translate-dev.freebsd.org/[Weblate] with the new account." +msgstr "" +"Войдите в https://translate-dev.freebsd.org/[Weblate] с новым аккаунтом." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:74 +msgid "Find the language team and choose an initial document to translate." +msgstr "Найдите языковую команду и выберите первый документ для перевода." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:76 +msgid "" +"Create a Bugzilla account to submit the translations after finishing a " +"document. The Documentation project is also accepting GitHub Pull Requests " +"with translation submissions." +msgstr "" +"Создайте учетную запись в Bugzilla, чтобы отправлять переводы после " +"завершения работы над документом. Проект документации также принимает Pull " +"Requests на GitHub с переводами." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:80 +msgid "" +"All translation files and documents must follow https://www.freebsd.org/" +"copyright/freebsd-doc-license/[The FreeBSD Documentation License]; if this " +"is unacceptable, please do not sign up or send any patches or translations." +msgstr "" +"Все файлы переводов и документы должны соответствовать https://" +"www.freebsd.org/copyright/freebsd-doc-license/[Лицензии документации " +"FreeBSD]; если это неприемлемо, пожалуйста, не регистрируйтесь и не " +"присылайте никаких исправлений или переводов." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:83 +#, no-wrap +msgid "Introduce Yourself" +msgstr "Представьтесь" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:87 +msgid "" +"Please provide a brief self-introduction on the {freebsd-translators} to " +"initiate the process of granting access. This will enable a language " +"coordinator or administrator to provide the necessary permissions for the " +"new user of Weblate to start translating." +msgstr "" +"Предоставьте краткое самопредставление в рассылке {freebsd-translators}, " +"чтобы начать процесс предоставления доступа. Это позволит координатору " +"языка или администратору выдать необходимые права новому пользователю " +"Weblate для начала перевода." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:89 +msgid "Following is an example of how such an email could look." +msgstr "Ниже приведен пример того, как может выглядеть такое письмо." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:93 +#, no-wrap +msgid "Subject: Self-Introduction: Name and language\n" +msgstr "Subject: Self-Introduction: Name and language\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:105 +#, no-wrap +msgid "" +"Name: Name (use preferred name)\n" +"Location: City, country (optional)\n" +"Login: username or email (essential)\n" +"Language: Language to translate (essential)\n" +"Profession or student status: (optional)\n" +"About You: (free format -- info which you feel comfortable sharing with\n" +" others: company, school, other affiliation, historical qualifications, other\n" +" projects you have worked on, level and type of computer skills, other relevant skills,\n" +" etc.)\n" +"You and the FreeBSD Project: (free format: other FreeBSD projects of\n" +" interest, comments, etc.)\n" +msgstr "" +"Name: Name (use preferred name)\n" +"Location: City, country (optional)\n" +"Login: username or email (essential)\n" +"Language: Language to translate (essential)\n" +"Profession or student status: (optional)\n" +"About You: (free format -- info which you feel comfortable sharing with\n" +" others: company, school, other affiliation, historical qualifications, other\n" +" projects you have worked on, level and type of computer skills, other relevant skills,\n" +" etc.)\n" +"You and the FreeBSD Project: (free format: other FreeBSD projects of\n" +" interest, comments, etc.)\n" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:108 +#, no-wrap +msgid "Login to Weblate" +msgstr "Вход в Weblate" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:111 +msgid "Open https://translate-dev.freebsd.org/[] and `Sign in`." +msgstr "Откройте https://translate-dev.freebsd.org/[] и `Войдите` (Sign in)." + +#. type: Positional ($1) AttributeList argument for macro 'image' +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:112 +#, no-wrap +msgid "Weblate Login" +msgstr "Логин в Webleate" + +#. type: Target for macro image +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:112 +#, no-wrap +msgid "weblate-login.png" +msgstr "weblate-login.png" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:115 +msgid "Use a username, email address, or GitHub account to log in." +msgstr "" +"Используйте имя пользователя, адрес электронной почты или учетную запись " +"GitHub для входа." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:118 +msgid "" +"The user profile contains your preferences, name, and email address. The " +"name and address will be used in commits; keep this information accurate." +msgstr "" +"Профиль пользователя содержит ваши предпочтения, имя и адрес электронной " +"почты. Имя и адрес будут использоваться в коммитах; сохраняйте эту " +"информацию актуальной." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:122 +msgid "" +"On the FreeBSD Weblate instance, all translations will be committed to " +"https://github.com/freebsd/freebsd-doc-translate[freebsd-doc-translate] (an " +"intermediate repository on GitHub), not directly to https://github.com/" +"freebsd/freebsd-doc[freebsd-doc]. Translators must take the PO gettext " +"files (`.po`), converting them to `.adoc` and submit it via https://" +"bugs.freebsd.org/bugzilla/[Bugzilla] or https://github.com/freebsd/freebsd-" +"doc/pulls[GitHub] to get the translated document published or updated in the " +"documentation portal. See more in the following sections." +msgstr "" +"На экземпляре Weblate FreeBSD все переводы будут зафиксированы в https://" +"github.com/freebsd/freebsd-doc-translate[freebsd-doc-translate] " +"(промежуточном репозитории на GitHub), а не напрямую в https://github.com/" +"freebsd/freebsd-doc[freebsd-doc]. Переводчики должны брать файлы PO gettext " +"(`.po`), преобразовывать их в `.adoc` и отправлять через https://" +"bugs.freebsd.org/bugzilla/[Bugzilla] или https://github.com/freebsd/freebsd-" +"doc/pulls[GitHub], чтобы переведённый документ был опубликован или обновлён " +"в портале документации. Подробнее см. в следующих разделах." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:124 +msgid "" +"Weblate will commit daily, at least to `freebsd-doc-translate`, if any new " +"strings are translated." +msgstr "" +"Weblate будет фиксировать изменения ежедневно, как минимум в `freebsd-doc-" +"translate`, если есть новые переведённые строки." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:126 +#, no-wrap +msgid "Find a Language Team to Join In" +msgstr "Найти команду локализации для участия" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:129 +msgid "" +"Click `Projects`, choose `Documentation`, then click `Languages`, and see " +"all the available languages." +msgstr "" +"Нажмите `Проекты`, выберите `Документация`, затем нажмите `Языки` и увидите " +"все доступные языки." + +#. type: Positional ($1) AttributeList argument for macro 'image' +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:130 +#, no-wrap +msgid "Weblate Languages" +msgstr "Языки в Weblate" + +#. type: Target for macro image +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:130 +#, no-wrap +msgid "weblate-languages.png" +msgstr "weblate-languages.png" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:133 +msgid "" +"Note that some languages and translated documents already exist in the " +"documentation portal and repositories." +msgstr "" +"Обратите внимание, что некоторые языки и переведённые документы уже доступны " +"в портале документации и репозиториях." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:136 +msgid "" +"If the desired language for translation is not available in Weblate, please " +"contact the https://www.freebsd.org/docproj/translations/[language " +"coordinators] before asking to create a new language. If there is no " +"answer, then write to the {doceng}." +msgstr "" +"Если желаемый язык для перевода недоступен в Weblate, пожалуйста, свяжитесь " +"с https://www.freebsd.org/docproj/translations/[координаторами по языкам], " +"прежде чем запрашивать создание нового языка. Если ответа не последует, " +"обратитесь по адресу: {doceng}." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:138 +#, no-wrap +msgid "Translating Online on Weblate" +msgstr "Перевод онлайн на Weblate" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:141 +msgid "" +"Translating documents online proves to be the easiest method for document " +"translation on FreeBSD, as it allows users to collaborate on the same file, " +"distributing the workload." +msgstr "" +"Перевод документов онлайн оказывается наиболее простым способом перевода " +"документации в FreeBSD, так как позволяет пользователям совместно работать " +"над одним файлом, распределяя нагрузку." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:143 +msgid "" +"Once a coordinator or administrator grants access to a specific language for " +"a username, the save button will be enabled, so that this user can start " +"translating." +msgstr "" +"После того как координатор или администратор предоставит пользователю доступ " +"к определённому языку, кнопка сохранения станет активной, и пользователь " +"сможет начать перевод." + +#. type: Positional ($1) AttributeList argument for macro 'image' +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:144 +#, no-wrap +msgid "Weblate Documents" +msgstr "Weblate Документы" + +#. type: Target for macro image +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:144 +#, no-wrap +msgid "weblate-documents.png" +msgstr "weblate-documents.png" + +#. type: Positional ($1) AttributeList argument for macro 'image' +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:145 +#, no-wrap +msgid "Weblate Translate" +msgstr "Weblate Translate" + +#. type: Target for macro image +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:145 +#, no-wrap +msgid "weblate-translate.png" +msgstr "weblate-translate.png" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:151 +msgid "" +"Weblate has a set of links that lead to actual translation. The translation " +"is further divided into individual checks, like `Untranslated` or `Needing " +"review`. If the whole document is translated without any error, `All " +"translations` link is still available in case a review is necessary. " +"Alternatively, the search field can be used to find a specific string or " +"term." +msgstr "" +"В Weblate есть набор ссылок, ведущих к непосредственному переводу. Перевод " +"далее разделён на отдельные проверки, такие как `Не переведено` или `Требует " +"проверки`. Если весь документ переведён без ошибок, ссылка `Все переводы` " +"всё равно доступна на случай, если потребуется проверка. Также можно " +"воспользоваться полем поиска, чтобы найти конкретную строку или термин." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:153 +msgid "" +"In the https://docs.weblate.org/en/latest/user/translating.html#translation-" +"projects[Weblate documentation], there is more info about translations, like " +"keyboard shortcuts and other tips about the translation tool." +msgstr "" +"В https://docs.weblate.org/en/latest/user/translating.html#translation-" +"projects[документации Weblate] содержится дополнительная информация о " +"переводах, например, сочетания клавиш и другие советы по работе с " +"инструментом перевода." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:155 +#, no-wrap +msgid "Translating Offline" +msgstr "Перевод в автономном режиме" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:159 +msgid "" +"Weblate on FreeBSD uses PO gettext files for translations. Users familiar " +"with PO gettext files that want to translate offline can download and upload " +"the translations through the document page on Weblate by clicking in the " +"`Files` section." +msgstr "" +"Weblate на FreeBSD использует файлы перевода PO gettext. Пользователи, " +"знакомые с файлами PO gettext, которые хотят переводить офлайн, могут " +"загружать и выгружать переводы на странице документа в Weblate, выбрав пункт " +"в меню `Files`." + +#. type: Positional ($1) AttributeList argument for macro 'image' +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:160 +#, no-wrap +msgid "Weblate Offline" +msgstr "Weblate Offline" + +#. type: Target for macro image +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:160 +#, no-wrap +msgid "weblate-offline.png" +msgstr "weblate-offline.png" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:163 +#, no-wrap +msgid "Translation based on Automatic Suggestions" +msgstr "Перевод на основе автоматических предложений" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:166 +msgid "" +"Languages using Weblate before the migration to Hugo/Asciidoctor can use " +"this feature from Weblate to save time." +msgstr "" +"Языки, использующие Weblate до миграции на Hugo/Asciidoctor, могут " +"использовать эту функцию в Weblate для экономии времени." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:169 +msgid "" +"This feature from Weblate uses the Translation Memory generated by the other " +"components and projects on the same server. The former Weblate translations " +"are hosted on the same server as read-only for that." +msgstr "" +"Эта функция Weblate использует память переводов, созданную другими " +"компонентами и проектами на том же сервере. Для этого прежние переводы " +"Weblate сохранены на том же сервере в режиме только для чтения." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:172 +msgid "" +"Strings that match `100/100` in similarity can be copied and saved " +"directly. Other strings will need at least minor adjustment." +msgstr "" +"Строки, совпадающие с `100/100` по степени схожести, могут быть скопированы " +"и сохранены напрямую. Остальным строкам потребуется как минимум " +"незначительная корректировка." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:174 +msgid "Some examples:" +msgstr "Некоторые примеры:" + +#. type: Positional ($1) AttributeList argument for macro 'image' +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:175 +#, no-wrap +msgid "Weblate Automatic Suggestions 01" +msgstr "Weblate Автоматические предложения 01" + +#. type: Target for macro image +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:175 +#, no-wrap +msgid "weblate_automatic_suggestion_01.png" +msgstr "weblate_automatic_suggestion_01.png" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:180 +msgid "" +"With the migration to Hugo/Asciidoctor, documents use UTF-8. Some HTML " +"entities should be replaced. Some strings, such as links, require changes " +"to markup." +msgstr "" +"С переходом на Hugo/Asciidoctor документы используют UTF-8. Некоторые HTML-" +"сущности следует заменить. Некоторые строки, такие как ссылки, требуют " +"изменений в разметке." + +#. type: Positional ($1) AttributeList argument for macro 'image' +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:181 +#, no-wrap +msgid "Weblate Automatic Suggestions 02" +msgstr "Weblate Автоматические предложения 02" + +#. type: Target for macro image +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:181 +#, no-wrap +msgid "weblate_automatic_suggestion_02.png" +msgstr "weblate_automatic_suggestion_02.png" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:184 +msgid "Links:" +msgstr "Ссылки:" + +#. type: Positional ($1) AttributeList argument for macro 'image' +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:185 +#, no-wrap +msgid "Weblate Automatic Suggestions 03" +msgstr "Weblate Автоматические предложения 03" + +#. type: Target for macro image +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:185 +#, no-wrap +msgid "weblate_automatic_suggestion_03.png" +msgstr "weblate_automatic_suggestion_03.png" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:188 +#, no-wrap +msgid "Proofreading and Weblate Quality Checks" +msgstr "Вычитка и проверка качества в Weblate" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:192 +msgid "" +"The document dashboard `Project/Language/Document` shows the translation " +"status and string status for that document. This page is handy for " +"proofreading and quality checks." +msgstr "" +"Панель документа `Project/Language/Document` отображает статус перевода и " +"состояние строк для этого документа. Эта страница удобна для вычитки и " +"проверки качества." + +#. type: Positional ($1) AttributeList argument for macro 'image' +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:193 +#, no-wrap +msgid "Weblate Revision 01" +msgstr "Weblate Ревизия 01" + +#. type: Target for macro image +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:193 +#, no-wrap +msgid "weblate-revision1.png" +msgstr "weblate-revision1.png" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:196 +msgid "" +"In this example, two strings are missing the full stop; following that link " +"will show only those strings to be revised/translated." +msgstr "" +"В этом примере две строки пропустили точку; переход по этой ссылке покажет " +"только те строки, которые нужно пересмотреть/перевести." + +#. type: Positional ($1) AttributeList argument for macro 'image' +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:197 +#, no-wrap +msgid "Weblate Revision 02" +msgstr "Weblate Ревизия 02" + +#. type: Target for macro image +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:197 +#, no-wrap +msgid "weblate-revision2.png" +msgstr "weblate-revision2.png" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:200 +msgid "" +"Translators and reviewers often value observing translated strings in " +"context." +msgstr "" +"Переводчики и рецензенты часто ценят возможность видеть переведённые строки " +"в контексте." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:202 +#, no-wrap +msgid "Building the Translated Document" +msgstr "Сборка переведенного документа" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:206 +msgid "" +"The project does not use continuous integration and continuous delivery to " +"build translations. There are studies to make it available." +msgstr "" +"Проект не использует непрерывную интеграцию и непрерывную поставку для " +"сборки переводов. Ведутся исследования по внедрению этой возможности." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:211 +msgid "" +"The following example uses GitHub, as Weblate is also on GitHub. Note that " +"this repository is a read-only mirror, but Pull Requests are accepted." +msgstr "" +"Следующий пример использует GitHub, так как Weblate также находится на " +"GitHub . Обратите внимание, что этот репозиторий доступен только для чтения, " +"но Pull Requests принимаются." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:214 +msgid "To build the translation locally, follow these steps:" +msgstr "Для локальной сборки перевода выполните следующие шаги:" + +#. type: Block title +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:219 +#, no-wrap +msgid "Procedure: Clone the necessary repositories" +msgstr "Процедура: Клонирование необходимых репозиториев" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:221 +msgid "Clone the `freebsd-doc` repository:" +msgstr "Клонирование репозитория `freebsd-doc`:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:225 +#, no-wrap +msgid "% git clone https://github.com/freebsd/freebsd-doc.git ~/freebsd-doc\n" +msgstr "% git clone https://github.com/freebsd/freebsd-doc.git ~/freebsd-doc\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:228 +msgid "Clone the `freebsd-doc-translate` repository:" +msgstr "Клонирование репозитория `freebsd-doc-translate`:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:232 +#, no-wrap +msgid "% git clone https://github.com/freebsd/freebsd-doc-translate.git ~/freebsd-doc-translate\n" +msgstr "% git clone https://github.com/freebsd/freebsd-doc-translate.git ~/freebsd-doc-translate\n" + +#. type: Block title +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:239 +#, no-wrap +msgid "Procedure: Copy a translation file to `freebsd-doc`" +msgstr "Процедура: Копирование файла перевода в `freebsd-doc`" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:243 +msgid "" +"With both repositories in place, copy the translation from `freebsd-doc-" +"translate` to `freebsd-doc`. Example of the Committer's Guide article " +"translation in Spanish." +msgstr "" +"Имея оба репозитория, скопируйте перевод из `freebsd-doc-translate` в " +"`freebsd-doc`. Пример перевода статьи Руководства для коммиттеров на " +"испанском языке." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:248 +#, no-wrap +msgid "" +"% cp ~/freebsd-doc-translate/documentation/content/es/articles/committers-guide/_index.po \\\n" +"~/freebsd-doc/documentation/content/es/articles/committers-guide/\n" +msgstr "" +"% cp ~/freebsd-doc-translate/documentation/content/es/articles/committers-guide/_index.po \\\n" +"~/freebsd-doc/documentation/content/es/articles/committers-guide/\n" + +#. type: Block title +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:255 +#, no-wrap +msgid "Procedure: Convert a translation file (`.po`) to `.adoc`" +msgstr "Процедура: Преобразование файла перевода (`.po`) в `.adoc`" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:258 +msgid "Go to the root of `freebsd-doc`." +msgstr "Перейдите в корень `freebsd-doc`." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:262 +#, no-wrap +msgid "% cd ~/freebsd-doc\n" +msgstr "% cd ~/freebsd-doc\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:265 +msgid "Translate (convert) the `.po` file to `.adoc`" +msgstr "Преобразовать файл `.po` в `.adoc`" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:269 +#, no-wrap +msgid "% ./tools/translate.sh documentation es articles/committers-guide\n" +msgstr "% ./tools/translate.sh documentation es articles/committers-guide\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:272 +msgid "" +"By default: only files with more than eighty percent of strings translated " +"will be converted to `.adoc`." +msgstr "" +"По умолчанию: только файлы с более чем восьмидесятью процентами переведённых " +"строк будут преобразованы в `.adoc`." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:274 +msgid "To ignore that limit:" +msgstr "Чтобы игнорировать это ограничение:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:278 +#, no-wrap +msgid "% KEEP_ENV=0 ./tools/translate.sh documentation es articles/committers-guide\n" +msgstr "% KEEP_ENV=0 ./tools/translate.sh documentation es articles/committers-guide\n" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:285 +msgid "" +"Some documents, like books, have many PO gettext files. Always copy all of " +"them when translating and building. Files that weren't translated will be " +"converted with the source (English) strings." +msgstr "" +"Некоторые документы, такие как книги, содержат множество PO-файлов gettext. " +"Всегда копируйте их все при переводе и сборке. Файлы, которые не были " +"переведены, будут преобразованы с исходными (английскими) строками." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:290 +msgid "" +"The directory structure is fundamental. Always follow the English document " +"directory structure." +msgstr "" +"Структура каталогов является основополагающей. Всегда следуйте структуре " +"каталогов английского документа." + +#. type: Block title +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:296 +#, no-wrap +msgid "Procedure: Build the translated document" +msgstr "Процедура: Сборка переведенного документа" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:299 +msgid "Last, the building part." +msgstr "Наконец, часть сборки." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:301 +msgid "" +"Enter the documentation directory because there is no need to build the " +"FreeBSD website." +msgstr "" +"Перейдите в каталог документации, так как сборка веб-сайта FreeBSD не " +"требуется." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:305 +#, no-wrap +msgid "% cd documentation\n" +msgstr "% cd documentation\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:309 +msgid "" +"And build the documentation. Note that `en` is always added by default when " +"building any other language." +msgstr "" +"И соберите документацию. Обратите внимание, что `en` всегда добавляется по " +"умолчанию при сборке любого другого языка." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:313 +#, no-wrap +msgid "% DOC_LANG=es make\n" +msgstr "% DOC_LANG=es make\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:318 +msgid "" +"This command will build only the English and Spanish documents of the " +"FreeBSD documentation portal. The output will be in the [.filename]#public# " +"directory; open that in a browser. Note that some index files can redirect " +"the browser to the online page." +msgstr "" +"Эта команда соберет только английскую и испанскую документацию портала " +"FreeBSD. Результат будет сохранен в каталоге [.filename]#public#; откройте " +"его в браузере. Обратите внимание, что некоторые индексные файлы могут " +"перенаправлять браузер на онлайн-страницу." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:320 +msgid "" +"Another good option is to build and serve the content with Hugo's internal " +"webserver:" +msgstr "" +"Еще один хороший вариант — собрать и предоставить контент с помощью " +"встроенного веб-сервера Hugo:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:324 +#, no-wrap +msgid "% DOC_LANG=es make run\n" +msgstr "% DOC_LANG=es make run\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:327 +msgid "" +"By default, the webserver listens on `localhost`; To override this behavior, " +"specify the desired IP address in the `BIND` parameter value." +msgstr "" +"По умолчанию веб-сервер прослушивает `localhost`; чтобы изменить это " +"поведение, укажите нужный IP-адрес в значении параметра `BIND`." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:331 +#, no-wrap +msgid "% DOC_LANG=es make run BIND=192.168.15.10\n" +msgstr "% DOC_LANG=es make run BIND=192.168.15.10\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:334 +msgid "" +"This builds and serves the content with Hugo's internal webserver and lets " +"it open, and if any file changes, it rebuilds them automatically." +msgstr "" +"Это собирает и предоставляет содержимое с помощью встроенного веб-сервера " +"Hugo, оставляя его открытым, и при любых изменениях файлов автоматически " +"пересобирает их." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:337 +msgid "" +"To make any necessary adjustments in the translation, follow the steps below " +"to re-sync all components:" +msgstr "" +"Чтобы внести необходимые изменения в перевод, выполните следующие шаги для " +"повторной синхронизации всех компонентов:" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:339 +msgid "" +"Fix the translation string on https://translate-dev.freebsd.org/[Weblate]." +msgstr "" +"Исправьте строку перевода на https://translate-dev.freebsd.org/[Weblate]." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:340 +msgid "" +"Force Weblate to commit the changes on `Document/Manage/Commit` section." +msgstr "" +"Заставьте Weblate зафиксировать изменения в разделе `Document/Manage/Commit`." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:341 +msgid "" +"Sync the local Weblate repository `freebsd-doc-translate` with a `git pull " +"origin main` command." +msgstr "" +"Синхронизируйте локальный репозиторий Weblate `freebsd-doc-translate` с " +"помощью команды `git pull origin main`." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:342 +msgid "Copy the translation again to `freebsd-doc`." +msgstr "Скопируйте перевод снова в `freebsd-doc`." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:343 +msgid "" +"Convert the translation to .adoc with the `./tools/translate.sh` script." +msgstr "Преобразуйте перевод в .adoc с помощью скрипта `./tools/translate.sh`." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:344 +msgid "" +"Hugo will rebuild the file and not build the entire set if `make run` was " +"used; or re-execute `make`." +msgstr "" +"Hugo пересоберет файл и не будет собирать весь набор, если использовалась " +"команда `make run`, или повторно выполнит `make`." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:348 +msgid "" +"Follow the previous steps as many times as is necessary until the document " +"is ready to be published." +msgstr "" +"Повторяйте предыдущие шаги столько раз, сколько необходимо, пока документ не " +"будет готов к публикации." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:351 +msgid "" +"The crossref:doc-build[doc-build-rendering,Documentation Build Process] " +"chapter includes information about rendering to HTML and PDF." +msgstr "" +"Глава crossref:doc-build[doc-build-rendering,Процесс сборки документации] " +"содержит информацию о преобразовании в HTML и PDF." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:353 +#, no-wrap +msgid "Submitting Translations" +msgstr "Отправка переводов" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:356 +msgid "" +"Example of submitting an update to the Brazilian Portuguese article " +"Committer's Guide." +msgstr "" +"Пример отправки обновления для статьи на бразильском португальском " +"Committer's Guide." + +#. type: Block title +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:362 +#, no-wrap +msgid "Check the repository" +msgstr "Проверка репозитория" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:366 +msgid "" +"After following the steps in crossref:weblate[weblate-building,Building the " +"Translated Document], go to the root of `freebsd-doc` and preview what's to " +"be committed. For an overview of files to be changed, and differences in " +"file content:" +msgstr "" +"После выполнения шагов из раздела crossref:weblate[weblate-building,Сборка " +"переведенного документа], перейдите в корневую директорию `freebsd-doc` и " +"просмотрите, что будет включено в коммит. Для просмотра списка изменяемых " +"файлов и различий в их содержимом:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:371 +#, no-wrap +msgid "" +"% git status\n" +"% git diff\n" +msgstr "" +"% git status\n" +"% git diff\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:374 +msgid "" +"Review the output, and if any files unrelated to the Committer's Guide " +"translation update were changed or added, take the appropriate action of " +"reverting or removing them, respectively, before proceeding further." +msgstr "" +"Просмотрите вывод, и если какие-либо файлы, не связанные с обновлением " +"перевода Руководства коммиттера, были изменены или добавлены, выполните " +"соответствующее действие по их откату или удалению соответственно, прежде " +"чем продолжить." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:376 +msgid "" +"Always include the PO gettext file (`.po`) and the translated document in " +"Hugo/Asciidoctor (`.adoc`)." +msgstr "" +"Всегда включайте файл PO gettext (`.po`) и переведенный документ в Hugo/" +"Asciidoctor (`.adoc`)." + +#. type: Block title +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:382 +#, no-wrap +msgid "Create a new branch and commit" +msgstr "Создать новую ветку и зафиксировать изменения" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:385 +msgid "" +"Create another branch to separate the work, which will help with future " +"updates in the local repository." +msgstr "" +"Создайте еще одну ветку для разделения работы, что поможет при будущих " +"обновлениях в локальном репозитории." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:389 +#, no-wrap +msgid "% git checkout -b committers-guide_pt-br\n" +msgstr "% git checkout -b committers-guide_pt-br\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:392 +msgid "Register the local commit." +msgstr "Зарегистрировать локальный коммит." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:397 +#, no-wrap +msgid "" +"% git add .\n" +"% git commit\n" +msgstr "" +"% git add .\n" +"% git commit\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:400 +msgid "Example of commit messages for translations:" +msgstr "Пример сообщений коммитов для переводов:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:404 +#, no-wrap +msgid "pt-br/committers-guide: Sync with en XXXXXXX\n" +msgstr "pt-br/committers-guide: Sync with en XXXXXXX\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:407 +msgid "" +"Where `XXXXXXX` is the man:git[1] revision stored in the Weblate repository " +"[.filename]#~/freebsd-doc-translate/revision.txt#." +msgstr "" +"Где `XXXXXXX` — это ревизия man:git[1], хранящаяся в репозитории Weblate в " +"файле [.filename]#~/freebsd-doc-translate/revision.txt#." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:409 +msgid "If it is the first translation of an article:" +msgstr "Если это первый перевод статьи:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:413 +#, no-wrap +msgid "Add Korean translation of Leap Seconds article\n" +msgstr "Add Korean translation of Leap Seconds article\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:418 +msgid "" +"A message will be displayed after the commit if man:git[1] has not been " +"configured previously. Please follow the instructions and provide the name " +"and email address used on Weblate. This step is crucial to proper crediting " +"of contributors." +msgstr "" +"После выполнения коммита будет отображено сообщение, если man:git[1] ранее " +"не был настроен. Следуйте инструкциям и укажите имя и адрес электронной " +"почты, используемые в Weblate. Этот шаг важен для правильного учета вклада " +"участников." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:420 +msgid "" +"Then check the entire commit, review changes, and author name and email." +msgstr "" +"Затем проверьте весь коммит, просмотрите изменения, а также имя автора и " +"адрес электронной почты." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:424 +#, no-wrap +msgid "% git show\n" +msgstr "% git show\n" + +#. type: Block title +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:431 +#, no-wrap +msgid "Generate a patch" +msgstr "Сгенерировать патч" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:434 +msgid "Next, generate a man:git-format-patch[1] file." +msgstr "Далее создайте файл man:git-format-patch[1]." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:439 +#, no-wrap +msgid "" +"% git format-patch main\n" +"0001-pt-br-committers-guide-Sync-with-en-XXXXXXX.patch\n" +msgstr "" +"% git format-patch main\n" +"0001-pt-br-committers-guide-Sync-with-en-XXXXXXX.patch\n" + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:443 +msgid "" +"Attach the patch [.filename]#0001-pt-br-committers-guide-Sync-with-en-" +"XXXXXXX.patch# to a problem report in https://bugs.freebsd.org/bugzilla/" +"[FreeBSD Bugzilla]." +msgstr "" +"Прикрепите патч [.filename]#0001-pt-br-committers-guide-Sync-with-en-" +"XXXXXXX.patch# к отчёту об ошибке в https://bugs.freebsd.org/bugzilla/" +"[FreeBSD Bugzilla]." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:445 +msgid "Include the following information in the report:" +msgstr "Включите следующую информацию в отчёт:" + +#. type: Block title +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:447 +#, no-wrap +msgid "Bugzilla Fields" +msgstr "Поля Bugzilla" + +#. type: Table +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:451 +#, no-wrap +msgid "Field" +msgstr "Поле" + +#. type: Table +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:453 +#, no-wrap +msgid "Value" +msgstr "Значение" + +#. type: Table +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:454 +#, no-wrap +msgid "*product*" +msgstr "*продукт (product)*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:456 +#, no-wrap +msgid "Documentation" +msgstr "Documentation" + +#. type: Table +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:457 +#, no-wrap +msgid "*Component*" +msgstr "*Компонент (Component)*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:459 +#, no-wrap +msgid "Books & Articles" +msgstr "Books & Articles" + +#. type: Table +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:460 +#, no-wrap +msgid "*Summary*" +msgstr "*Сводка (Summary)*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:462 +#, no-wrap +msgid "Same as the local commit" +msgstr "Тот же текст, что и в локальном коммите" + +#. type: Table +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:463 +#, no-wrap +msgid "*Description*" +msgstr "*Описание (Description)*" + +#. type: Table +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:467 +#, no-wrap +msgid "" +"State that instructions in this guide were followed, including proofreading and other necessary steps.\n" +"Include things that may help with triage and progression of the report." +msgstr "" +"Укажите, что инструкции в этом руководстве были выполнены, включая вычитку и другие необходимые шаги.\n" +"Включите сведения, которые могут помочь с анализом и продвижением отчёта." + +#. type: Table +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:468 +#, no-wrap +msgid "*CC* (Optional)" +msgstr "*СС* (Необязательно)" + +#. type: Table +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:469 +#, no-wrap +msgid "If the language has coordinators, include their email addresses in the CC field." +msgstr "Если в языке есть координаторы, укажите их адреса электронной почты в поле CC." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:472 +msgid "" +"For people familiar with man:git[1] and GitHub: instead of submitting the " +"patch through https://bugs.freebsd.org/bugzilla/[Bugzilla], a https://" +"github.com/freebsd/freebsd-doc/pulls[GitHub pull request] can be used (use " +"the name and address that you use with Weblate)." +msgstr "" +"Для тех, кто знаком с man:git[1] и GitHub: вместо отправки исправления через " +"https://bugs.freebsd.org/bugzilla/[Bugzilla], можно использовать https://" +"github.com/freebsd/freebsd-doc/pulls[запрос на включение изменений (pull " +"request) в GitHub] (укажите имя и адрес, которые вы используете в Weblate)." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:475 +msgid "" +"https://github.com/freebsd/freebsd-doc/ is a secondary mirror. Changes to " +"the `doc` tree can be made only by people who have a `doc` commit bit." +msgstr "" +"https://github.com/freebsd/freebsd-doc/ является вторичным зеркалом. " +"Изменения в дереве `doc` могут вносить только люди, имеющие права на коммит " +"(`doc commit bit`)." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:477 +msgid "" +"When translators keep sending good-quality patches, they can be nominated by " +"other committers to receive write-access (a extref:{committers-guide}[doc " +"commit bit, committer.types] for translations), a FreeBSD account, and " +"associated perks." +msgstr "" +"Когда переводчики продолжают присылать качественные исправления, другие " +"коммиттеры могут выдвинуть их для получения прав на запись (extref:" +"{committers-guide}[бит коммита для документации, committer.types] для " +"переводов), учётной записи FreeBSD и сопутствующих привилегий." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:479 +msgid "" +"The list of extref:{contributors}[Additional FreeBSD Contributors, contrib-" +"additional] includes non-committers whose contributions are committed to the " +"`doc` tree." +msgstr "" +"Список extref:{contributors}[дополнительных участников FreeBSD, contrib-" +"additional] включает некоммиттеров, чьи изменения были закоммичены в дерево " +"`doc`." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:481 +msgid "If in doubt about any procedure, write to the {freebsd-translators}." +msgstr "" +"Если вы сомневаетесь в каком-либо действии, напишите в {freebsd-translators}." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:483 +#, no-wrap +msgid "FAQ (Frequently Asked Questions)" +msgstr "FAQ (Часто задаваемые Вопросы)" + +#. type: Title === +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:486 +#, no-wrap +msgid "Is it necessary to translate all the Copyright messages?" +msgstr "Нужно ли переводить все сообщения об авторских правах?" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:488 +msgid "" +"Every language team decides this for their language; in `pt-br` (Brazilian " +"Portuguese) team, it was decided not to translate those messages." +msgstr "" +"Каждая языковая команда решает этот вопрос для своего языка; в команде `pt-" +"br` (бразильский португальский) было решено не переводить эти сообщения." diff --git a/documentation/content/ru/books/fdp-primer/working-copy/_index.adoc b/documentation/content/ru/books/fdp-primer/working-copy/_index.adoc new file mode 100644 index 0000000000..cd3c04e167 --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/working-copy/_index.adoc @@ -0,0 +1,140 @@ +--- +description: 'Как получить рабочую копию проекта документации FreeBSD' +next: books/fdp-primer/structure +params: + path: /books/fdp-primer/working-copy/ +prev: books/fdp-primer/tools +showBookMenu: true +tags: ["working copy", "documentation", "manual pages", "git"] +title: 'Глава 3. Рабочая копия' +weight: 4 +--- + +[[working-copy]] += Рабочая копия +:doctype: book +:toc: macro +:toclevels: 1 +:icons: font +:sectnums: +:sectnumlevels: 6 +:sectnumoffset: 3 +:partnums: +:source-highlighter: rouge +:experimental: +:images-path: books/fdp-primer/ + +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, загруженная на локальный компьютер. Изменения вносятся в локальную рабочую копию, тестируются, а затем отправляются в виде патчей для включения в основной репозиторий. + +Полная копия дерева документации может занимать 550 мегабайт дискового пространства. Рекомендуется выделить не менее гигабайта, чтобы было место для временных файлов и тестовых версий в различных выходных форматах. + +link:https://git-scm.com/[Git] используется для управления файлами документации FreeBSD. Он устанавливается через package:devel/git[], который также имеет облегчённую версию под названием git-lite: + +[source, shell] +.... +# pkg install git-lite +.... + +[[working-copy-doc-and-src]] +== Документация и Справочник + +Документация FreeBSD — это не только книги и статьи. Справочник (man) для всех команд и конфигурационных файлов также являются частью документации и входят в сферу ответственности FDP. Используются два репозитория: `doc` для книг и статей и `src` для операционной системы и справочника. Для редактирования справочника необходимо отдельно получить репозиторий `src`. + +Репозитории могут содержать несколько версий документации и исходного кода. Новые изменения почти всегда вносятся только в последнюю версию, называемую `main`. + +[[working-copy-choosing-directory]] +== Выбор каталога + +Документация FreeBSD традиционно хранится в [.filename]#/usr/doc/#, а исходный код системы с руководствами — в [.filename]#/usr/src/#. Эти деревья каталогов могут быть перемещены, и пользователи могут разместить рабочие копии в других местах, чтобы избежать конфликтов с существующей информацией в основных каталогах. В следующих примерах используются [.filename]#~/doc# и [.filename]#~/src# — подкаталоги домашнего каталога пользователя. + +[[working-copy-checking-out]] +== Извлечение копии + +Загрузка рабочей копии из репозитория называется _клоном_ и выполняется командой `git clone`. В этом примере клонируется последняя версия (`main`) основного дерева документации: + +[source, shell] +.... +% git clone https://git.FreeBSD.org/doc.git ~/doc +.... + +Получение исходного кода для работы со справочником (man) выполняется аналогично: + +[source, shell] +.... +% git clone https://git.FreeBSD.org/src.git ~/src +.... + +[[working-copy-updating]] +== Обновление рабочей копии + +Документы и файлы в репозитории FreeBSD изменяются ежедневно. Пользователи вносят изменения в файлы и фиксируют их довольно часто. Даже спустя короткое время после первоначального получения копии репозитория, между локальной рабочей копией и основным репозиторием FreeBSD уже могут появиться различия. Чтобы обновить локальную версию с учетом изменений, внесённых в основной репозиторий, используйте команду `git pull` в каталоге с локальной рабочей копией: + +[source, shell] +.... +% cd ~/doc +% git pull --ff-only +.... + +Приучите себя к полезной привычке использовать `git pull` перед редактированием файлов документации. Кто-то другой мог недавно изменить этот файл, и ваша локальная рабочая копия не будет содержать последних изменений, пока вы не обновите её. Редактировать самую свежую версию файла гораздо проще, чем пытаться объединить более старую, отредактированную локальную версию с новой версией из репозитория. + +[[working-copy-revert]] +== Отмена изменений + +Иногда оказывается, что изменения были не нужны, или автор просто хочет начать заново. Файлы можно «сбросить» к их исходному состоянию с помощью `git restore`. Например, чтобы отменить правки, сделанные в [.filename]#_index.adoc#, и вернуть его в исходное состояние: + +[source, shell] +.... +% git restore _index.adoc +.... + +[[working-copy-making-diff]] +== Создание Diff + +После завершения редактирования файла или группы файлов, различия между локальной рабочей копией и версией в репозитории FreeBSD должны быть собраны в один файл для отправки. Эти _diff_-файлы создаются путём перенаправления вывода команды `git diff` в файл: + +[source, shell] +.... +% cd ~/doc +% git diff > doc-fix-spelling.diff +.... + +Присвойте файлу осмысленное имя, отражающее его содержимое. В приведенном примере указаны исправления орфографии для всего дерева документации. + +Если файл с различиями должен быть отправлен через веб-интерфейс "link:https://bugs.FreeBSD.org/bugzilla/enter_bug.cgi[Сообщить о проблеме в FreeBSD]", добавьте расширение [.filename]#.txt#, чтобы дать простой и прямолинейной веб-форме понять, что содержимое представляет собой обычный текст. + +Будьте осторожны: `git diff` включает все изменения в текущем каталоге и его подкаталогах. Если в рабочей копии есть файлы с правками, которые ещё не готовы к отправке, укажите список только тех файлов, которые нужно включить: + +[source, shell] +.... +% cd ~/doc +% git diff disks/_index.adoc printers/_index.adoc > disks-printers.diff +.... + +[[working-copy-git-references]] +== Ссылки Git + +Эти примеры демонстрируют базовое использование Git. Более подробная информация доступна в https://git-scm.com/book/en/v2[Книге по Git] и https://git-scm.com/doc[документации Git]. diff --git a/documentation/content/ru/books/fdp-primer/working-copy/_index.po b/documentation/content/ru/books/fdp-primer/working-copy/_index.po new file mode 100644 index 0000000000..378a61e4c0 --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/working-copy/_index.po @@ -0,0 +1,336 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR The FreeBSD Project +# This file is distributed under the same license as the FreeBSD Documentation package. +# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025. +msgid "" +msgstr "" +"Project-Id-Version: FreeBSD Documentation VERSION\n" +"POT-Creation-Date: 2025-09-20 14:02+0300\n" +"PO-Revision-Date: 2025-06-01 10:10+0000\n" +"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n" +"Language-Team: Russian <https://translate-dev.freebsd.org/projects/" +"documentation/booksfdp-primerworking-copy_index/ru/>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.17\n" + +#. type: Yaml Front Matter Hash Value: description +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:1 +#, no-wrap +msgid "How to get a working copy of the FreeBSD Documentation Project" +msgstr "Как получить рабочую копию проекта документации FreeBSD" + +#. type: Yaml Front Matter Hash Value: title +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:1 +#, no-wrap +msgid "Chapter 3. The Working Copy" +msgstr "Глава 3. Рабочая копия" + +#. type: Title = +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:14 +#, no-wrap +msgid "The Working Copy" +msgstr "Рабочая копия" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:53 +msgid "" +"The _working copy_ is a copy of the FreeBSD repository documentation tree " +"downloaded onto the local computer. Changes are made to the local working " +"copy, tested, and then submitted as patches to be committed to the main " +"repository." +msgstr "" +"_Рабочая копия_ — это копия дерева документации репозитория FreeBSD, " +"загруженная на локальный компьютер. Изменения вносятся в локальную рабочую " +"копию, тестируются, а затем отправляются в виде патчей для включения в " +"основной репозиторий." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:56 +msgid "" +"A full copy of the documentation tree can occupy 550 megabytes of disk " +"space. Allow for a full gigabyte of space to have room for temporary files " +"and test versions of various output formats." +msgstr "" +"Полная копия дерева документации может занимать 550 мегабайт дискового " +"пространства. Рекомендуется выделить не менее гигабайта, чтобы было место " +"для временных файлов и тестовых версий в различных выходных форматах." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:59 +msgid "" +"link:https://git-scm.com/[Git] is used to manage the FreeBSD documentation " +"files. It is obtained by installing the package:devel/git[] package, which " +"also has a lighter flavor called git-lite:" +msgstr "" +"link:https://git-scm.com/[Git] используется для управления файлами " +"документации FreeBSD. Он устанавливается через package:devel/git[], который " +"также имеет облегчённую версию под названием git-lite:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:63 +#, no-wrap +msgid "# pkg install git-lite\n" +msgstr "# pkg install git-lite\n" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:66 +#, no-wrap +msgid "Documentation and Manual Pages" +msgstr "Документация и Справочник" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:72 +msgid "" +"FreeBSD documentation is not just books and articles. Manual pages for all " +"the commands and configuration files are also part of the documentation, and " +"part of the FDP's territory. Two repositories are involved: `doc` for the " +"books and articles, and `src` for the operating system and manual pages. To " +"edit manual pages, the `src` repository must be checked out separately." +msgstr "" +"Документация FreeBSD — это не только книги и статьи. Справочник (man) для " +"всех команд и конфигурационных файлов также являются частью документации и " +"входят в сферу ответственности FDP. Используются два репозитория: `doc` для " +"книг и статей и `src` для операционной системы и справочника. Для " +"редактирования справочника необходимо отдельно получить репозиторий `src`." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:75 +msgid "" +"Repositories may contain multiple versions of documentation and source " +"code. New modifications are almost always made only to the latest version, " +"called `main`." +msgstr "" +"Репозитории могут содержать несколько версий документации и исходного кода. " +"Новые изменения почти всегда вносятся только в последнюю версию, называемую " +"`main`." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:77 +#, no-wrap +msgid "Choosing a Directory" +msgstr "Выбор каталога" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:82 +msgid "" +"FreeBSD documentation is traditionally stored in [.filename]#/usr/doc/#, and " +"system source code with manual pages in [.filename]#/usr/src/#. These " +"directory trees are relocatable, and users may want to put the working " +"copies in other locations to avoid interfering with existing information in " +"the main directories. The examples that follow use [.filename]#~/doc# and " +"[.filename]#~/src#, both subdirectories of the user's home directory." +msgstr "" +"Документация FreeBSD традиционно хранится в [.filename]#/usr/doc/#, а " +"исходный код системы с руководствами — в [.filename]#/usr/src/#. Эти " +"деревья каталогов могут быть перемещены, и пользователи могут разместить " +"рабочие копии в других местах, чтобы избежать конфликтов с существующей " +"информацией в основных каталогах. В следующих примерах используются " +"[.filename]#~/doc# и [.filename]#~/src# — подкаталоги домашнего каталога " +"пользователя." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:84 +#, no-wrap +msgid "Checking Out a Copy" +msgstr "Извлечение копии" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:88 +msgid "" +"A download of a working copy from the repository is called a _clone_, and " +"done with `git clone`. This example clones a copy of the latest version " +"(`main`) of the main documentation tree:" +msgstr "" +"Загрузка рабочей копии из репозитория называется _клоном_ и выполняется " +"командой `git clone`. В этом примере клонируется последняя версия (`main`) " +"основного дерева документации:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:92 +#, no-wrap +msgid "% git clone https://git.FreeBSD.org/doc.git ~/doc\n" +msgstr "% git clone https://git.FreeBSD.org/doc.git ~/doc\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:95 +msgid "A checkout of the source code to work on manual pages is very similar:" +msgstr "" +"Получение исходного кода для работы со справочником (man) выполняется " +"аналогично:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:99 +#, no-wrap +msgid "% git clone https://git.FreeBSD.org/src.git ~/src\n" +msgstr "% git clone https://git.FreeBSD.org/src.git ~/src\n" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:102 +#, no-wrap +msgid "Updating a Working Copy" +msgstr "Обновление рабочей копии" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:108 +msgid "" +"The documents and files in the FreeBSD repository change daily. People " +"modify files and commit changes frequently. Even a short time after an " +"initial checkout, there will already be differences between the local " +"working copy and the main FreeBSD repository. To update the local version " +"with the changes that have been made to the main repository, use `git pull` " +"on the directory containing the local working copy:" +msgstr "" +"Документы и файлы в репозитории FreeBSD изменяются ежедневно. Пользователи " +"вносят изменения в файлы и фиксируют их довольно часто. Даже спустя короткое " +"время после первоначального получения копии репозитория, между локальной " +"рабочей копией и основным репозиторием FreeBSD уже могут появиться " +"различия. Чтобы обновить локальную версию с учетом изменений, внесённых в " +"основной репозиторий, используйте команду `git pull` в каталоге с локальной " +"рабочей копией:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:113 +#, no-wrap +msgid "" +"% cd ~/doc\n" +"% git pull --ff-only\n" +msgstr "" +"% cd ~/doc\n" +"% git pull --ff-only\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:118 +msgid "" +"Get in the protective habit of using `git pull` before editing document " +"files. Someone else may have edited that file very recently, and the local " +"working copy will not include the latest changes until it has been updated. " +"Editing the newest version of a file is much easier than trying to combine " +"an older, edited local file with the newer version from the repository." +msgstr "" +"Приучите себя к полезной привычке использовать `git pull` перед " +"редактированием файлов документации. Кто-то другой мог недавно изменить этот " +"файл, и ваша локальная рабочая копия не будет содержать последних изменений, " +"пока вы не обновите её. Редактировать самую свежую версию файла гораздо " +"проще, чем пытаться объединить более старую, отредактированную локальную " +"версию с новой версией из репозитория." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:120 +#, no-wrap +msgid "Reverting Changes" +msgstr "Отмена изменений" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:125 +msgid "" +"Sometimes it turns out that changes were not necessary after all, or the " +"writer just wants to start over. Files can be \"reset\" to their unchanged " +"form with `git restore`. For example, to erase the edits made to " +"[.filename]#_index.adoc# and reset it to unmodified form:" +msgstr "" +"Иногда оказывается, что изменения были не нужны, или автор просто хочет " +"начать заново. Файлы можно «сбросить» к их исходному состоянию с помощью " +"`git restore`. Например, чтобы отменить правки, сделанные в " +"[.filename]#_index.adoc#, и вернуть его в исходное состояние:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:129 +#, no-wrap +msgid "% git restore _index.adoc\n" +msgstr "% git restore _index.adoc\n" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:132 +#, no-wrap +msgid "Making a Diff" +msgstr "Создание Diff" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:136 +msgid "" +"After edits to a file or group of files are completed, the differences " +"between the local working copy and the version on the FreeBSD repository " +"must be collected into a single file for submission. These _diff_ files are " +"produced by redirecting the output of `git diff` into a file:" +msgstr "" +"После завершения редактирования файла или группы файлов, различия между " +"локальной рабочей копией и версией в репозитории FreeBSD должны быть собраны " +"в один файл для отправки. Эти _diff_-файлы создаются путём перенаправления " +"вывода команды `git diff` в файл:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:141 +#, no-wrap +msgid "" +"% cd ~/doc\n" +"% git diff > doc-fix-spelling.diff\n" +msgstr "" +"% cd ~/doc\n" +"% git diff > doc-fix-spelling.diff\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:145 +msgid "" +"Give the file a meaningful name that identifies the contents. The example " +"above is for spelling fixes to the whole documentation tree." +msgstr "" +"Присвойте файлу осмысленное имя, отражающее его содержимое. В приведенном " +"примере указаны исправления орфографии для всего дерева документации." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:147 +msgid "" +"If the diff file is to be submitted with the web \"link:https://" +"bugs.FreeBSD.org/bugzilla/enter_bug.cgi[Submit a FreeBSD problem report]\" " +"interface, add a [.filename]#.txt# extension to give the earnest and simple-" +"minded web form a clue that the contents are plain text." +msgstr "" +"Если файл с различиями должен быть отправлен через веб-интерфейс " +"\"link:https://bugs.FreeBSD.org/bugzilla/enter_bug.cgi[Сообщить о проблеме в " +"FreeBSD]\", добавьте расширение [.filename]#.txt#, чтобы дать простой и " +"прямолинейной веб-форме понять, что содержимое представляет собой обычный " +"текст." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:150 +msgid "" +"Be careful: `git diff` includes all changes made in the current directory " +"and any subdirectories. If there are files in the working copy with edits " +"that are not ready to be submitted yet, provide a list of only the files " +"that are to be included:" +msgstr "" +"Будьте осторожны: `git diff` включает все изменения в текущем каталоге и его " +"подкаталогах. Если в рабочей копии есть файлы с правками, которые ещё не " +"готовы к отправке, укажите список только тех файлов, которые нужно включить:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:155 +#, no-wrap +msgid "" +"% cd ~/doc\n" +"% git diff disks/_index.adoc printers/_index.adoc > disks-printers.diff\n" +msgstr "" +"% cd ~/doc\n" +"% git diff disks/_index.adoc printers/_index.adoc > disks-printers.diff\n" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:158 +#, no-wrap +msgid "Git References" +msgstr "Ссылки Git" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/working-copy/_index.adoc:161 +msgid "" +"These examples show very basic usage of Git. More detail is available in " +"the https://git-scm.com/book/en/v2[Git Book] and the https://git-scm.com/" +"doc[Git documentation]." +msgstr "" +"Эти примеры демонстрируют базовое использование Git. Более подробная " +"информация доступна в https://git-scm.com/book/en/v2[Книге по Git] и https://" +"git-scm.com/doc[документации Git]." diff --git a/documentation/content/ru/books/fdp-primer/writing-style/_index.adoc b/documentation/content/ru/books/fdp-primer/writing-style/_index.adoc new file mode 100644 index 0000000000..51cc579684 --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/writing-style/_index.adoc @@ -0,0 +1,326 @@ +--- +description: 'Стиль написания и некоторые соглашения, используемые в проекте документации FreeBSD' +next: books/fdp-primer/editor-config +params: + path: /books/fdp-primer/writing-style/ +prev: books/fdp-primer/manual-pages +showBookMenu: true +tags: ["writing", "style", "typos", "one sentence per line"] +title: 'Глава 12. Стиль написания' +weight: 12 +--- + +[[writing-style]] += Стиль написания +:doctype: book +:toc: macro +:toclevels: 2 +:icons: font +:sectnums: +:sectnumlevels: 6 +:sectnumoffset: 12 +:partnums: +:source-highlighter: rouge +:experimental: +:images-path: books/fdp-primer/ + +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::[] + +[[writing-style-tips]] +== Советы + +Техническая документация может быть улучшена за счёт последовательного применения нескольких принципов. Большинство из них можно разделить на три цели: _быть понятным_, _быть полным_ и _быть кратким_. Эти цели могут противоречить друг другу. Хорошее изложение заключается в нахождении баланса между ними. + +[[writing-style-be-clear]] +=== Будьте понятны + +Ясность чрезвычайно важна. Читатель может быть новичком или изучать документ на неродном языке. Стремитесь к простому, понятному тексту, который чётко объясняет концепции. + +Избегайте витиеватой или украшенной речи, шуток или разговорных выражений. Пишите как можно проще и яснее. Простой текст легче понять и перевести. + +Делайте объяснения как можно короче, проще и понятнее. Избегайте пустых фраз вроде "для того чтобы", которые обычно можно заменить на "чтобы". Не используйте снисходительные слова вроде "по сути". Избегайте латинских терминов, таких как "i.e." или "cf.", которые могут быть непонятны за пределами академических или научных кругов. + +Следует писать в формальном стиле. Необходимо избегать прямого обращения к читателю. Например, следует использовать формулировку "скопировать файл в [.filename]#/tmp#", а не "вы можете скопировать файл в [.filename]#/tmp#". + +Приводите понятные, корректные и _проверенные_ примеры. Простой пример лучше, чем отсутствие примера. Хороший пример ещё лучше. Не приводите плохих примеров, которые можно распознать по извинениям или фразам вроде «но на самом деле так делать не стоит». Плохие примеры хуже, чем их отсутствие. Приводите хорошие примеры, потому что _даже если предупредить читателя, чтобы он не использовал пример в таком виде_, он всё равно, скорее всего, воспользуется им как есть. + +Избегайте _неопределённых выражений_, таких как «должен», «может», «попытаться» или «смог бы». Эти слова создают впечатление, что автор не уверен в фактах, и вызывают сомнения у читателя. + +Аналогично, давайте инструкции в виде повелительных команд: не "вам следует сделать это", а просто "сделайте это". + +[[writing-style-be-complete]] +=== Будьте полными + +Не делайте предположений о способностях или уровне навыков читателя. Сообщите им то, что им необходимо знать. Давайте ссылки на другие документы, чтобы предоставить справочную информацию без необходимости её повторного изложения. Поставьте себя на место читателя, предугадайте вопросы, которые у него возникнут, и ответьте на них. + +[[writing-style-be-concise]] +=== Будьте краткими + +Хотя функции должны быть описаны полностью, иногда информации так много, что читателю сложно найти нужную деталь. Баланс между полнотой и лаконичностью — это непростая задача. Один из подходов — включить введение, затем раздел «быстрый старт» с описанием наиболее распространённого сценария, а после него — подробный справочный раздел. + +[[writing-style-guidelines]] +== Рекомендации + +Для обеспечения единообразия среди множества авторов документации FreeBSD были разработаны рекомендации, которым следует придерживаться при написании. + +Используйте американское написание английских слов:: +Существует несколько вариантов английского языка с разным написанием одних и тех же слов. Если варианты написания отличаются, используйте американский английский. Например, «color», а не «colour», «rationalize», а не «rationalise», и так далее. ++ +[NOTE] +==== +Использование британского варианта английского языка может быть допустимо в случае предоставленной статьи, однако орфография должна быть единообразной во всем документе. Остальные документы, такие как книги, веб-сайты, справочные страницы и т. д., должны использовать американский вариант английского языка. +==== + +Не используйте сокращения:: +Не используйте сокращения. Всегда пишите фразу полностью. "Don't use contractions" является неправильным вариантом. ++ +Избегание сокращений способствует более формальному тону, повышает точность и немного облегчает работу переводчиков. + +Используйте серийную запятую:: +В списке элементов внутри абзаца разделяйте каждый элемент запятой. Последний элемент отделяйте от остальных запятой и словом "and". ++ +Например: ++ +This is a list of one, two and three items (Вот список из одного, двух и трёх элементов). ++ +Это список из трех элементов: "one", "two" и "three" или список из двух элементов: "one" и "two and three"? ++ +Лучше быть точным и включать серийную запятую: ++ +This is a list of one, two, and three items (Вот список из одного, двух и трёх элементов). +Избегайте избыточных фраз:: +Избегайте избыточных фраз. В частности, "команда", "файл" и "man команда" часто избыточны. ++ +Например, команды: ++ +Неверно: Используйте команду `git` для обновления исходного кода. ++ +Правильно: Используйте `git` для обновления исходников. ++ +Имена файлов: ++ +Неверно: ... в имени файла [.filename]#/etc/rc.local#... ++ +Правильно: ... в [.filename]#/etc/rc.local#... ++ +Ссылки на страницы Справочника (во втором примере используется `man:[]` с сущностью man:csh[1]): ++ +Неправильно: Дополнительную информацию смотрите в `man csh`. ++ +Правильно: См. man:csh[1]. + +Для получения дополнительной информации о стиле написания текстов см. http://www.bartleby.com/141/[«Элементы стиля»] Уильяма Странка. + +[[writing-style-guide]] +== Руководство по стилю + +Чтобы сохранить единообразие исходного кода документации при редактировании множеством разных людей, пожалуйста, следуйте этим стилевым соглашениям. + +[[one-sentence-per-line]] +=== Одно предложение на строку + +Используйте семантические разрывы строк в документации, метод, называемый "одно предложение на строку". Идея этого метода заключается в том, чтобы помочь пользователям писать и читать документацию. Для получения дополнительной информации об этом методе прочитайте страницу https://sembr.org/[Semantic Line Breaks]. + +Это пример, который не использует "одно предложение на строку". + +.... +All human beings are born free and equal in dignity and rights. They are endowed with reason and conscience and should act towards one another in a spirit of brotherhood. +.... + +И вот пример, использующий этот метод. + +.... +All human beings are born free and equal in dignity and rights. +They are endowed with reason and conscience and should act towards one another in a spirit of brotherhood. +.... + +[[writing-style-acronyms]] +=== Аббревиатуры + +Акроним должен быть определён при первом упоминании в документе, например: «Network Time Protocol (NTP)». После того как акроним определён, используйте только акроним, если контекст не требует полного термина. Обычно акроним определяется один раз в главе или документе. + +Все аббревиатуры должны быть заключены в символ `. + +[[writing-style-special-characters]] +== Список специальных символов + +Этот список специальных символов показывает правильный синтаксис и результат их использования в документации FreeBSD. Если нужного символа нет в списке, задайте вопрос на {freebsd-doc}. + +[.informaltable] +[cols="1,1,1", frame="none", options="header"] +|=== +| Имя +| Синтаксис +| Выводится + + +| Авторское право (copyright) +| +(C)+ +| (С) + +| Зарегистрировано +| +(R)+ +| (R) + +| Товарный знак +| +(TM)+ +| (TM) + +| Тире +| +--+ +| -- + +| Многоточия +| +...+ +| ... + +| Одиночная стрелка вправо +| +->+ +| -> + +| Двойная правая стрелка +| +=>+ +| => + +| Одиночная стрелка влево +| +<-+ +| <- + +| Двойная левая стрелка +| +<=+ +| <= + +|=== + +[[writing-style-linting-vale]] +== Проверка стиля с помощью Vale + +Для обеспечения ясности и единообразия во всей документации и на страницах веб-сайта в дерево документации были добавлены стили link:https://vale.sh[Vale]. link:https://vale.sh[Vale] — это мощный линтер для создания пользовательских правил написания текста, который можно использовать в различных сценариях. В настоящее время link:https://vale.sh[Vale] можно применять как инструмент командной строки, в CI/CD-процессах и интегрировать в предпочитаемый редактор. + +Следующая таблица описывает текущие названия правил и их соответствующую степень серьёзности. + +[.informaltable] +[cols="1,1", frame="none", options="header"] +|=== +| Имя +| Степень серьезности + +| FreeBSD.BrandTerms +| ошибка + +| FreeBSD.ConsciousLanguage +| warning + +| FreeBSD.Contractions +| предложение + +| FreeBSD.EOLSpacing +| warning + +| FreeBSD.Hang +| warning + +| FreeBSD.Hyphens +| warning + +| FreeBSD.Spacing +| ошибка + +| FreeBSD.SuperfluousOptArgInLinks +| предложение + +| Vale.Avoid +| ошибка + +| Vale.Repetition +| ошибка + +| Vale.Spelling +| ошибка + +| Vale.Terms +| ошибка + +|=== + +[[writing-style-linting-vale-rules]] +=== Текущие правила Vale + +. FreeBSD.BrandTerms: В соответствии с правилами авторского права The FreeBSD Foundation, *freebsd* следует писать как *FreeBSD*. Аналогично, у каждого крупного поставщика и компании есть свои правила написания их торговых марок и брендов. Следует проявлять уважение к брендам других и уделять время правильному написанию PostgreSQL, Node.js, Let's Encrypt и т. д. Отсутствующие названия брендов следует добавлять в файл [.filename]#.vale/styles/FreeBSD/BrandTerms.yml# в репозитории `doc`. + +. FreeBSD.ConsciousLanguage: Это правило предлагает использовать осознанный язык, чтобы по возможности избегать чувствительных слов, указывающих на цвет кожи, возраст, расу или сексуальную ориентацию людей. + +. FreeBSD.Сокращения: Не следует использовать сокращенные слова. Это правило исключает все сокращения и рекомендует использовать полные слова. + +. FreeBSD.EOLSpacing: В большинстве документов присутствуют пробелы в конце строк, что не является желательной ситуацией. + +. FreeBSD.Hang: Термин `Hang` часто используется для обозначения ситуации, когда приложение перестает отвечать. Это правило предлагает более подходящую формулировку. + +. FreeBSD.Дефисы: Часто наречия, оканчивающиеся на 'ly', добавляются с дефисом, что является ошибкой. + +. FreeBSD.Расстояние: Часто двойные пробелы трудно заметить невооруженным глазом, и здесь это решается. + +. FreeBSD.SuperfluousOptArgInLinks: Рекомендуется оставлять квадратные скобки пустыми в макросах `link:`, если отображаемый текст совпадает с URL. + +. Vale.Avoid: Запрещает использование терминов из списка *НЕ ИСПОЛЬЗОВАТЬ* в документации The FreeBSD Project. Если обнаружено слово, которое не должно присутствовать в документации, его следует добавить в файл [.filename]#.vale/styles/Vocab/Terms/reject.txt# в репозитории `doc`. На данный момент список пуст. + +. Vale.Repetition: Одни и те же слова часто набираются дважды при отходе от клавиатуры и возвращении к работе. Это правило находит повторяющиеся слова и предупреждает пользователей. + +. Vale.Spelling: В настоящее время в документации и на веб-сайте используется смесь написания en_US и en_GB. Vale поставляется со встроенным словарем, который использует строго en_US и не принимает варианты написания en_GB для любых слов. + +. Vale.Terms: Обеспечивает соблюдение *ПРЕДПОЧТИТЕЛЬНЫХ* терминов для проекта FreeBSD. В настоящее время список терминов пуст, и специфичные для FreeBSD термины будут добавляться постепенно. Если какое-либо слово считается правильным, но отсутствует в словаре, его следует добавить в файл [.filename]#.vale/styles/Vocab/Terms/accept.txt# в репозитории `doc`. + +Дополнительные правила будут введены в будущем по мере необходимости. + +[[writing-style-using-vale]] +=== Использование Vale + +link:https://vale.sh[Vale] можно использовать из командной строки, а также из редактора или IDE. Установить package:textproc/vale[] можно следующим образом: + +[source, shell] +.... +$ pkg install vale +.... + +[[writing-style-using-vale-commandline]] +==== Использование Vale в командной строке + +Предполагая, что репозиторий `doc` был склонирован в [.filename]#~/doc#, для запуска потребуются следующие команды: + +[source, shell] +.... +% cd ~/doc +% vale . +.... + +[NOTE] +====== +link:https://vale.sh[Vale] — это программа с высокой нагрузкой на процессор и память из-за специфики приложения, и она может долго не выводить результаты на экран. Лучше запускать её для конкретных папок или файлов, а не для всего репозитория `doc`, так как это уже выполняется в CI-пайплайне. +====== + +[[writing-style-using-vale-editors]] +==== Использование Vale в редакторах + +link:https://vale.sh[Vale] работает с основными популярными редакторами, такими как package:editors/vim[], package:editors/emacs[], package:editors/vscode[]. В настоящее время необходимая конфигурация для package:editors/vim[] описана в crossref:editor-config[editor-config-vim, Vim]. Конфигурация для package:editors/emacs[] находится в разработке. diff --git a/documentation/content/ru/books/fdp-primer/writing-style/_index.po b/documentation/content/ru/books/fdp-primer/writing-style/_index.po new file mode 100644 index 0000000000..2f20da91ff --- /dev/null +++ b/documentation/content/ru/books/fdp-primer/writing-style/_index.po @@ -0,0 +1,1035 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR The FreeBSD Project +# This file is distributed under the same license as the FreeBSD Documentation package. +# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025. +msgid "" +msgstr "" +"Project-Id-Version: FreeBSD Documentation VERSION\n" +"POT-Creation-Date: 2025-09-20 14:02+0300\n" +"PO-Revision-Date: 2025-09-09 04:45+0000\n" +"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n" +"Language-Team: Russian <https://translate-dev.freebsd.org/projects/" +"documentation/booksfdp-primerwriting-style_index/ru/>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.17\n" + +#. type: Yaml Front Matter Hash Value: description +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:1 +#, no-wrap +msgid "Writing Style and some conventions used in the FreeBSD Documentation Project" +msgstr "Стиль написания и некоторые соглашения, используемые в проекте документации FreeBSD" + +#. type: Yaml Front Matter Hash Value: title +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:1 +#, no-wrap +msgid "Chapter 12. Writing Style" +msgstr "Глава 12. Стиль написания" + +#. type: Title = +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:14 +#, no-wrap +msgid "Writing Style" +msgstr "Стиль написания" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:52 +#, no-wrap +msgid "Tips" +msgstr "Советы" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:58 +msgid "" +"Technical documentation can be improved by consistent use of several " +"principles. Most of these can be classified into three goals: _be clear_, " +"_be complete_, and _be concise_. These goals can conflict with each other. " +"Good writing consists of a balance between them." +msgstr "" +"Техническая документация может быть улучшена за счёт последовательного " +"применения нескольких принципов. Большинство из них можно разделить на три " +"цели: _быть понятным_, _быть полным_ и _быть кратким_. Эти цели могут " +"противоречить друг другу. Хорошее изложение заключается в нахождении баланса " +"между ними." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:60 +#, no-wrap +msgid "Be Clear" +msgstr "Будьте понятны" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:65 +msgid "" +"Clarity is extremely important. The reader may be a novice, or reading the " +"document in a second language. Strive for simple, uncomplicated text that " +"clearly explains the concepts." +msgstr "" +"Ясность чрезвычайно важна. Читатель может быть новичком или изучать " +"документ на неродном языке. Стремитесь к простому, понятному тексту, " +"который чётко объясняет концепции." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:69 +msgid "" +"Avoid flowery or embellished speech, jokes, or colloquial expressions. " +"Write as simply and clearly as possible. Simple text is easier to " +"understand and translate." +msgstr "" +"Избегайте витиеватой или украшенной речи, шуток или разговорных выражений. " +"Пишите как можно проще и яснее. Простой текст легче понять и перевести." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:74 +msgid "" +"Keep explanations as short, simple, and clear as possible. Avoid empty " +"phrases like \"in order to\", which usually just means \"to\". Avoid " +"potentially patronizing words like \"basically\". Avoid Latin terms like " +"\"i.e.,\" or \"cf.\", which may be unknown outside of academic or scientific " +"groups." +msgstr "" +"Делайте объяснения как можно короче, проще и понятнее. Избегайте пустых " +"фраз вроде \"для того чтобы\", которые обычно можно заменить на \"чтобы\". " +"Не используйте снисходительные слова вроде \"по сути\". Избегайте латинских " +"терминов, таких как \"i.e.\" или \"cf.\", которые могут быть непонятны за " +"пределами академических или научных кругов." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:78 +msgid "" +"Write in a formal style. Avoid addressing the reader as \"you\". For " +"example, say \"copy the file to [.filename]#/tmp#\" rather than \"you can " +"copy the file to [.filename]#/tmp#\"." +msgstr "" +"Следует писать в формальном стиле. Необходимо избегать прямого обращения к " +"читателю. Например, следует использовать формулировку \"скопировать файл в " +"[.filename]#/tmp#\", а не \"вы можете скопировать файл в [.filename]#/tmp#\"." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:85 +msgid "" +"Give clear, correct, _tested_ examples. A trivial example is better than no " +"example. A good example is better yet. Do not give bad examples, " +"identifiable by apologies or sentences like \"but really it should never be " +"done that way\". Bad examples are worse than no examples. Give good " +"examples, because _even when warned not to use the example as shown_, the " +"reader will usually just use the example as shown." +msgstr "" +"Приводите понятные, корректные и _проверенные_ примеры. Простой пример " +"лучше, чем отсутствие примера. Хороший пример ещё лучше. Не приводите " +"плохих примеров, которые можно распознать по извинениям или фразам вроде «но " +"на самом деле так делать не стоит». Плохие примеры хуже, чем их " +"отсутствие. Приводите хорошие примеры, потому что _даже если предупредить " +"читателя, чтобы он не использовал пример в таком виде_, он всё равно, скорее " +"всего, воспользуется им как есть." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:88 +msgid "" +"Avoid _weasel words_ like \"should\", \"might\", \"try\", or \"could\". " +"These words imply that the speaker is unsure of the facts, and create doubt " +"in the reader." +msgstr "" +"Избегайте _неопределённых выражений_, таких как «должен», «может», " +"«попытаться» или «смог бы». Эти слова создают впечатление, что автор не " +"уверен в фактах, и вызывают сомнения у читателя." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:90 +msgid "" +"Similarly, give instructions as imperative commands: not \"you should do " +"this\", but merely \"do this\"." +msgstr "" +"Аналогично, давайте инструкции в виде повелительных команд: не \"вам следует " +"сделать это\", а просто \"сделайте это\"." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:92 +#, no-wrap +msgid "Be Complete" +msgstr "Будьте полными" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:98 +msgid "" +"Do not make assumptions about the reader's abilities or skill level. Tell " +"them what they need to know. Give links to other documents to provide " +"background information without having to recreate it. Put yourself in the " +"reader's place, anticipate the questions they will ask, and answer them." +msgstr "" +"Не делайте предположений о способностях или уровне навыков читателя. " +"Сообщите им то, что им необходимо знать. Давайте ссылки на другие " +"документы, чтобы предоставить справочную информацию без необходимости её " +"повторного изложения. Поставьте себя на место читателя, предугадайте " +"вопросы, которые у него возникнут, и ответьте на них." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:100 +#, no-wrap +msgid "Be Concise" +msgstr "Будьте краткими" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:105 +msgid "" +"While features should be documented completely, sometimes there is so much " +"information that the reader cannot easily find the specific detail needed. " +"The balance between being complete and being concise is a challenge. One " +"approach is to have an introduction, then a \"quick start\" section that " +"describes the most common situation, followed by an in-depth reference " +"section." +msgstr "" +"Хотя функции должны быть описаны полностью, иногда информации так много, что " +"читателю сложно найти нужную деталь. Баланс между полнотой и лаконичностью " +"— это непростая задача. Один из подходов — включить введение, затем раздел " +"«быстрый старт» с описанием наиболее распространённого сценария, а после " +"него — подробный справочный раздел." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:107 +#, no-wrap +msgid "Guidelines" +msgstr "Рекомендации" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:110 +msgid "" +"To promote consistency between the myriad authors of the FreeBSD " +"documentation, some guidelines have been drawn up for authors to follow." +msgstr "" +"Для обеспечения единообразия среди множества авторов документации FreeBSD " +"были разработаны рекомендации, которым следует придерживаться при написании." + +#. type: Labeled list +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:111 +#, no-wrap +msgid "Use American English Spelling" +msgstr "Используйте американское написание английских слов" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:115 +msgid "" +"There are several variants of English, with different spellings for the same " +"word. Where spellings differ, use the American English variant. \"color\", " +"not \"colour\", \"rationalize\", not \"rationalise\", and so on." +msgstr "" +"Существует несколько вариантов английского языка с разным написанием одних и " +"тех же слов. Если варианты написания отличаются, используйте американский " +"английский. Например, «color», а не «colour», «rationalize», а не " +"«rationalise», и так далее." + +#. type: delimited block = 4 +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:120 +msgid "" +"The use of British English may be accepted in the case of a contributed " +"article, however the spelling must be consistent within the whole document. " +"The other documents such as books, web site, manual pages, etc. must use " +"American English." +msgstr "" +"Использование британского варианта английского языка может быть допустимо в " +"случае предоставленной статьи, однако орфография должна быть единообразной " +"во всем документе. Остальные документы, такие как книги, веб-сайты, " +"справочные страницы и т. д., должны использовать американский вариант " +"английского языка." + +#. type: Labeled list +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:122 +#, no-wrap +msgid "Do not use contractions" +msgstr "Не используйте сокращения" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:126 +msgid "" +"Do not use contractions. Always spell the phrase out in full. \"Don't use " +"contractions\" is wrong." +msgstr "" +"Не используйте сокращения. Всегда пишите фразу полностью. \"Don't use " +"contractions\" является неправильным вариантом." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:128 +msgid "" +"Avoiding contractions makes for a more formal tone, is more precise, and is " +"slightly easier for translators." +msgstr "" +"Избегание сокращений способствует более формальному тону, повышает точность " +"и немного облегчает работу переводчиков." + +#. type: Labeled list +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:129 +#, no-wrap +msgid "Use the serial comma" +msgstr "Используйте серийную запятую" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:132 +msgid "" +"In a list of items within a paragraph, separate each item from the others " +"with a comma. Separate the last item from the others with a comma and the " +"word \"and\"." +msgstr "" +"В списке элементов внутри абзаца разделяйте каждый элемент запятой. " +"Последний элемент отделяйте от остальных запятой и словом \"and\"." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:134 +msgid "For example:" +msgstr "Например:" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:136 +msgid "This is a list of one, two and three items." +msgstr "" +"This is a list of one, two and three items (Вот список из одного, двух и " +"трёх элементов)." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:138 +msgid "" +"Is this a list of three items, \"one\", \"two\", and \"three\", or a list of " +"two items, \"one\" and \"two and three\"?" +msgstr "" +"Это список из трех элементов: \"one\", \"two\" и \"three\" или список из " +"двух элементов: \"one\" и \"two and three\"?" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:140 +msgid "It is better to be explicit and include a serial comma:" +msgstr "Лучше быть точным и включать серийную запятую:" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:142 +msgid "This is a list of one, two, and three items." +msgstr "" +"This is a list of one, two, and three items (Вот список из одного, двух и " +"трёх элементов)." + +#. type: Labeled list +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:142 +#, no-wrap +msgid "Avoid redundant phrases" +msgstr "Избегайте избыточных фраз" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:145 +msgid "" +"Do not use redundant phrases. In particular, \"the command\", \"the file\", " +"and \"man command\" are often redundant." +msgstr "" +"Избегайте избыточных фраз. В частности, \"команда\", \"файл\" и \"man " +"команда\" часто избыточны." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:147 +msgid "For example, commands:" +msgstr "Например, команды:" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:149 +msgid "Wrong: Use the `git` command to update sources." +msgstr "Неверно: Используйте команду `git` для обновления исходного кода." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:151 +msgid "Right: Use `git` to update sources." +msgstr "Правильно: Используйте `git` для обновления исходников." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:153 +msgid "Filenames:" +msgstr "Имена файлов:" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:155 +msgid "Wrong: ... in the filename [.filename]#/etc/rc.local#..." +msgstr "Неверно: ... в имени файла [.filename]#/etc/rc.local#..." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:157 +msgid "Right: ... in [.filename]#/etc/rc.local#..." +msgstr "Правильно: ... в [.filename]#/etc/rc.local#..." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:159 +msgid "" +"Manual page references (the second example uses `man:[]` with the man:csh[1] " +"entity):" +msgstr "" +"Ссылки на страницы Справочника (во втором примере используется `man:[]` с " +"сущностью man:csh[1]):" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:161 +msgid "Wrong: See `man csh` for more information." +msgstr "Неправильно: Дополнительную информацию смотрите в `man csh`." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:163 +msgid "Right: See man:csh[1]." +msgstr "Правильно: См. man:csh[1]." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:165 +msgid "" +"For more information about writing style, see http://www.bartleby.com/141/" +"[Elements of Style] by William Strunk." +msgstr "" +"Для получения дополнительной информации о стиле написания текстов см. http://" +"www.bartleby.com/141/[«Элементы стиля»] Уильяма Странка." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:167 +#, no-wrap +msgid "Style Guide" +msgstr "Руководство по стилю" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:170 +msgid "" +"To keep the source for the documentation consistent when many different " +"people are editing it, please follow these style conventions." +msgstr "" +"Чтобы сохранить единообразие исходного кода документации при редактировании " +"множеством разных людей, пожалуйста, следуйте этим стилевым соглашениям." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:172 +#, no-wrap +msgid "One sentence per line" +msgstr "Одно предложение на строку" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:177 +msgid "" +"Use Semantic Line Breaks in the documentation, a technique called \"one " +"sentence per line\". The idea of this technique is to help the users to " +"write and read documentation. To get more information about this technique " +"read the link:https://sembr.org/[Semantic Line Breaks] page." +msgstr "" +"Используйте семантические разрывы строк в документации, метод, называемый " +"\"одно предложение на строку\". Идея этого метода заключается в том, " +"чтобы помочь пользователям писать и читать документацию. Для получения " +"дополнительной информации об этом методе прочитайте страницу https://" +"sembr.org/[Semantic Line Breaks]." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:179 +msgid "This is an example which does not use \"one sentence per line\"." +msgstr "Это пример, который не использует \"одно предложение на строку\"." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:182 +#, no-wrap +msgid "All human beings are born free and equal in dignity and rights. They are endowed with reason and conscience and should act towards one another in a spirit of brotherhood.\n" +msgstr "All human beings are born free and equal in dignity and rights. They are endowed with reason and conscience and should act towards one another in a spirit of brotherhood.\n" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:185 +msgid "And this is an example which uses the technique." +msgstr "И вот пример, использующий этот метод." + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:189 +#, no-wrap +msgid "" +"All human beings are born free and equal in dignity and rights.\n" +"They are endowed with reason and conscience and should act towards one another in a spirit of brotherhood.\n" +msgstr "" +"All human beings are born free and equal in dignity and rights.\n" +"They are endowed with reason and conscience and should act towards one another in a spirit of brotherhood.\n" + +#. type: Title === +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:192 +#, no-wrap +msgid "Acronyms" +msgstr "Аббревиатуры" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:197 +msgid "" +"Acronyms should be defined the first time they appear in a document, as in: " +"\"Network Time Protocol (NTP)\". After the acronym has been defined, use " +"the acronym alone unless it makes more sense contextually to use the whole " +"term. Acronyms are usually defined only once per chapter or per document." +msgstr "" +"Акроним должен быть определён при первом упоминании в документе, например: " +"«Network Time Protocol (NTP)». После того как акроним определён, используйте " +"только акроним, если контекст не требует полного термина. Обычно акроним " +"определяется один раз в главе или документе." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:199 +msgid "All acronyms should be enclosed using the ` character." +msgstr "Все аббревиатуры должны быть заключены в символ `." + +#. type: Title == +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:201 +#, no-wrap +msgid "Special Character List" +msgstr "Список специальных символов" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:205 +msgid "" +"This list of special characters shows the correct syntax and the output when " +"used in FreeBSD documentation. If a character is not on this list, ask " +"about it on the {freebsd-doc}." +msgstr "" +"Этот список специальных символов показывает правильный синтаксис и результат " +"их использования в документации FreeBSD. Если нужного символа нет в списке, " +"задайте вопрос на {freebsd-doc}." + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:210 +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:265 +#, no-wrap +msgid "Name" +msgstr "Имя" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:211 +#, no-wrap +msgid "Syntax" +msgstr "Синтаксис" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:214 +#, no-wrap +msgid "Rendered" +msgstr "Выводится" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:215 +#, no-wrap +msgid "Copyright" +msgstr "Авторское право (copyright)" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:216 +#, no-wrap +msgid "+(C)+" +msgstr "+(C)+" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:218 +#, no-wrap +msgid "(C)" +msgstr "(С)" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:219 +#, no-wrap +msgid "Registered" +msgstr "Зарегистрировано" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:220 +#, no-wrap +msgid "+(R)+" +msgstr "+(R)+" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:222 +#, no-wrap +msgid "(R)" +msgstr "(R)" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:223 +#, no-wrap +msgid "Trademark" +msgstr "Товарный знак" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:224 +#, no-wrap +msgid "+(TM)+" +msgstr "+(TM)+" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:226 +#, no-wrap +msgid "(TM)" +msgstr "(TM)" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:227 +#, no-wrap +msgid "Em dash" +msgstr "Тире" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:228 +#, no-wrap +msgid "+--+" +msgstr "+--+" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:230 +#, no-wrap +msgid "--" +msgstr "--" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:231 +#, no-wrap +msgid "Ellipses" +msgstr "Многоточия" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:232 +#, no-wrap +msgid "+...+" +msgstr "+...+" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:234 +#, no-wrap +msgid "..." +msgstr "..." + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:235 +#, no-wrap +msgid "Single right arrow" +msgstr "Одиночная стрелка вправо" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:236 +#, no-wrap +msgid "+->+" +msgstr "+->+" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:238 +#, no-wrap +msgid "->" +msgstr "->" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:239 +#, no-wrap +msgid "Double right arrow" +msgstr "Двойная правая стрелка" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:240 +#, no-wrap +msgid "+=>+" +msgstr "+=>+" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:242 +#, no-wrap +msgid "=>" +msgstr "=>" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:243 +#, no-wrap +msgid "Single left arrow" +msgstr "Одиночная стрелка влево" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:244 +#, no-wrap +msgid "+<-+" +msgstr "+<-+" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:246 +#, no-wrap +msgid "<-" +msgstr "<-" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:247 +#, no-wrap +msgid "Double left arrow" +msgstr "Двойная левая стрелка" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:248 +#, no-wrap +msgid "+<=+" +msgstr "+<=+" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:250 +#, no-wrap +msgid "<=" +msgstr "<=" + +#. type: Title == +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:253 +#, no-wrap +msgid "Linting with Vale" +msgstr "Проверка стиля с помощью Vale" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:258 +msgid "" +"To maintain clarity and consistency across all documentation and website " +"pages, link:https://vale.sh[Vale] styles have been introduced in the " +"documentation tree. link:https://vale.sh[Vale] is a powerful linter for " +"writing customized rules and can be used in multiple scenarios. Currently " +"link:https://vale.sh[Vale] can be used as a command line tool, for CI/CD " +"pipelines, and integrated into an editor of choice." +msgstr "" +"Для обеспечения ясности и единообразия во всей документации и на страницах " +"веб-сайта в дерево документации были добавлены стили link:https://" +"vale.sh[Vale]. link:https://vale.sh[Vale] — это мощный линтер для создания " +"пользовательских правил написания текста, который можно использовать в " +"различных сценариях. В настоящее время link:https://vale.sh[Vale] можно " +"применять как инструмент командной строки, в CI/CD-процессах и интегрировать " +"в предпочитаемый редактор." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:260 +msgid "" +"The following table describes the current rule names and their respective " +"severity." +msgstr "" +"Следующая таблица описывает текущие названия правил и их соответствующую " +"степень серьёзности." + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:267 +#, no-wrap +msgid "Severity" +msgstr "Степень серьезности" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:268 +#, no-wrap +msgid "FreeBSD.BrandTerms" +msgstr "FreeBSD.BrandTerms" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:270 +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:288 +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:294 +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:297 +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:300 +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:303 +#, no-wrap +msgid "error" +msgstr "ошибка" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:271 +#, no-wrap +msgid "FreeBSD.ConsciousLanguage" +msgstr "FreeBSD.ConsciousLanguage" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:273 +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:279 +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:282 +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:285 +#, no-wrap +msgid "warning" +msgstr "warning" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:274 +#, no-wrap +msgid "FreeBSD.Contractions" +msgstr "FreeBSD.Contractions" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:276 +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:291 +#, no-wrap +msgid "suggestion" +msgstr "предложение" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:277 +#, no-wrap +msgid "FreeBSD.EOLSpacing" +msgstr "FreeBSD.EOLSpacing" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:280 +#, no-wrap +msgid "FreeBSD.Hang" +msgstr "FreeBSD.Hang" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:283 +#, no-wrap +msgid "FreeBSD.Hyphens" +msgstr "FreeBSD.Hyphens" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:286 +#, no-wrap +msgid "FreeBSD.Spacing" +msgstr "FreeBSD.Spacing" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:289 +#, no-wrap +msgid "FreeBSD.SuperfluousOptArgInLinks" +msgstr "FreeBSD.SuperfluousOptArgInLinks" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:292 +#, no-wrap +msgid "Vale.Avoid" +msgstr "Vale.Avoid" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:295 +#, no-wrap +msgid "Vale.Repetition" +msgstr "Vale.Repetition" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:298 +#, no-wrap +msgid "Vale.Spelling" +msgstr "Vale.Spelling" + +#. type: Table +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:301 +#, no-wrap +msgid "Vale.Terms" +msgstr "Vale.Terms" + +#. type: Title === +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:306 +#, no-wrap +msgid "Current Vale Rules" +msgstr "Текущие правила Vale" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:312 +msgid "" +"FreeBSD.BrandTerms: According to the copyright rules of The FreeBSD " +"Foundation, *freebsd* should be written as *FreeBSD*. Similarly, every " +"major vendor and company has specific rules on writing their brand names and " +"trademarks. Care should be taken to be respectful to the brand value of " +"others and to take time to write PostgreSQL, Node.js, Let's Encrypt etc. " +"Missing brand names should be added to the [.filename]#.vale/styles/FreeBSD/" +"BrandTerms.yml# in the `doc` repository." +msgstr "" +"FreeBSD.BrandTerms: В соответствии с правилами авторского права The FreeBSD " +"Foundation, *freebsd* следует писать как *FreeBSD*. Аналогично, у каждого " +"крупного поставщика и компании есть свои правила написания их торговых марок " +"и брендов. Следует проявлять уважение к брендам других и уделять время " +"правильному написанию PostgreSQL, Node.js, Let's Encrypt и т. д. " +"Отсутствующие названия брендов следует добавлять в файл [.filename]#.vale/" +"styles/FreeBSD/BrandTerms.yml# в репозитории `doc`." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:314 +msgid "" +"FreeBSD.ConsciousLanguage: This rule proposes use of conscious language so " +"that sensitive words pointing to the color, age, race, or sexual orientation " +"of people are avoided where possible." +msgstr "" +"FreeBSD.ConsciousLanguage: Это правило предлагает использовать осознанный " +"язык, чтобы по возможности избегать чувствительных слов, указывающих на цвет " +"кожи, возраст, расу или сексуальную ориентацию людей." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:317 +msgid "" +"FreeBSD.Contractions: Contracted words should not be used. This rule avoids " +"all contractions and suggests full words." +msgstr "" +"FreeBSD.Сокращения: Не следует использовать сокращенные слова. Это правило " +"исключает все сокращения и рекомендует использовать полные слова." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:319 +msgid "" +"FreeBSD.EOLSpacing: In most of the documents EOL spacing is present which is " +"not the desirable situation." +msgstr "" +"FreeBSD.EOLSpacing: В большинстве документов присутствуют пробелы в конце " +"строк, что не является желательной ситуацией." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:322 +msgid "" +"FreeBSD.Hang: `Hang` is often used to mean that the application has stopped " +"responding. This rule proposes better wording." +msgstr "" +"FreeBSD.Hang: Термин `Hang` часто используется для обозначения ситуации, " +"когда приложение перестает отвечать. Это правило предлагает более " +"подходящую формулировку." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:324 +msgid "" +"FreeBSD.Hyphens: Often adverbs ending with 'ly' are added with a hyphen " +"which is wrong." +msgstr "" +"FreeBSD.Дефисы: Часто наречия, оканчивающиеся на 'ly', добавляются с " +"дефисом, что является ошибкой." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:326 +msgid "" +"FreeBSD.Spacing: Often double spaces are hard to catch with the naked eye " +"and this is addressed here." +msgstr "" +"FreeBSD.Расстояние: Часто двойные пробелы трудно заметить невооруженным " +"глазом, и здесь это решается." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:328 +msgid "" +"FreeBSD.SuperfluousOptArgInLinks: Suggest to empty square brackets in " +"`link:` macros when the displayed text coincides with the URL." +msgstr "" +"FreeBSD.SuperfluousOptArgInLinks: Рекомендуется оставлять квадратные скобки " +"пустыми в макросах `link:`, если отображаемый текст совпадает с URL." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:332 +msgid "" +"Vale.Avoid: Enforces the *DO NOT USE* vocabulary terms for The FreeBSD " +"Project. If any word is found that should not be in the documentation, the " +"word should be added to [.filename]#.vale/styles/Vocab/Terms/reject.txt# in " +"the `doc` repository. The list is empty at the moment." +msgstr "" +"Vale.Avoid: Запрещает использование терминов из списка *НЕ ИСПОЛЬЗОВАТЬ* в " +"документации The FreeBSD Project. Если обнаружено слово, которое не должно " +"присутствовать в документации, его следует добавить в файл [.filename]#.vale/" +"styles/Vocab/Terms/reject.txt# в репозитории `doc`. На данный момент список " +"пуст." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:335 +msgid "" +"Vale.Repetition: Same words are often typed twice when leaving the keyboard " +"and rejoining the work again. This rule finds repeated words and warns the " +"users." +msgstr "" +"Vale.Repetition: Одни и те же слова часто набираются дважды при отходе от " +"клавиатуры и возвращении к работе. Это правило находит повторяющиеся слова и " +"предупреждает пользователей." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:338 +msgid "" +"Vale.Spelling: At the moment there is a mix of en_US and en_GB spellings in " +"the documentation and website. Vale comes with an in built dictionary from " +"which uses strictly en_US and do not accept the en_GB variant of any words." +msgstr "" +"Vale.Spelling: В настоящее время в документации и на веб-сайте используется " +"смесь написания en_US и en_GB. Vale поставляется со встроенным словарем, " +"который использует строго en_US и не принимает варианты написания en_GB для " +"любых слов." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:342 +msgid "" +"Vale.Terms: Enforces the *PREFERRED* vocabulary terms for The FreeBSD " +"Project. At the moment the list of terms is empty and the FreeBSD specific " +"terms will be added gradually. If any word is found to be correct and not " +"available in the dictionary the word should be added to the " +"[.filename]#.vale/styles/Vocab/Terms/accept.txt# in the `doc` repository." +msgstr "" +"Vale.Terms: Обеспечивает соблюдение *ПРЕДПОЧТИТЕЛЬНЫХ* терминов для проекта " +"FreeBSD. В настоящее время список терминов пуст, и специфичные для FreeBSD " +"термины будут добавляться постепенно. Если какое-либо слово считается " +"правильным, но отсутствует в словаре, его следует добавить в файл " +"[.filename]#.vale/styles/Vocab/Terms/accept.txt# в репозитории `doc`." + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:344 +msgid "" +"More rules will be introduced in the upcoming days when and where required." +msgstr "Дополнительные правила будут введены в будущем по мере необходимости." + +#. type: Title === +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:346 +#, no-wrap +msgid "Using Vale" +msgstr "Использование Vale" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:350 +msgid "" +"link:https://vale.sh[Vale] can be used from the command line and from within " +"an editor or IDE. package:textproc/vale[] can be installed as following:" +msgstr "" +"link:https://vale.sh[Vale] можно использовать из командной строки, а также " +"из редактора или IDE. Установить package:textproc/vale[] можно следующим " +"образом:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:354 +#, no-wrap +msgid "$ pkg install vale\n" +msgstr "$ pkg install vale\n" + +#. type: Title ==== +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:357 +#, no-wrap +msgid "Using Vale on the command line" +msgstr "Использование Vale в командной строке" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:360 +msgid "" +"Assuming that the `doc` repository was cloned into [.filename]#~/doc# the " +"following commands are required to run:" +msgstr "" +"Предполагая, что репозиторий `doc` был склонирован в [.filename]#~/doc#, для " +"запуска потребуются следующие команды:" + +#. type: delimited block . 4 +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:365 +#, no-wrap +msgid "" +"% cd ~/doc\n" +"% vale .\n" +msgstr "" +"% cd ~/doc\n" +"% vale .\n" + +#. type: delimited block = 6 +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:371 +msgid "" +"link:https://vale.sh[Vale] is a CPU and memory intensive program due to the " +"nature of the application and can take a while to show any output on the " +"screen. A better way to run the application is on specific folders or files " +"rather than the entire `doc` repository as that is already done in the CI " +"pipeline." +msgstr "" +"link:https://vale.sh[Vale] — это программа с высокой нагрузкой на процессор " +"и память из-за специфики приложения, и она может долго не выводить " +"результаты на экран. Лучше запускать её для конкретных папок или файлов, а " +"не для всего репозитория `doc`, так как это уже выполняется в CI-пайплайне." + +#. type: Title ==== +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:374 +#, no-wrap +msgid "Using Vale in editors" +msgstr "Использование Vale в редакторах" + +#. type: Plain text +#: documentation/content/en/books/fdp-primer/writing-style/_index.adoc:378 +msgid "" +"link:https://vale.sh[Vale] works with major mainstream editors like " +"package:editors/vim[], package:editors/emacs[], package:editors/vscode[]. " +"At the moment the necessary configuration for package:editors/vim[] is " +"described in crossref:editor-config[editor-config-vim, Vim]. A " +"configuration for package:editors/emacs[] is being worked on." +msgstr "" +"link:https://vale.sh[Vale] работает с основными популярными редакторами, " +"такими как package:editors/vim[], package:editors/emacs[], package:editors/" +"vscode[]. В настоящее время необходимая конфигурация для package:editors/" +"vim[] описана в crossref:editor-config[editor-config-vim, Vim]. Конфигурация " +"для package:editors/emacs[] находится в разработке." |