aboutsummaryrefslogtreecommitdiff
path: root/documentation/content/ru/books/fdp-primer/weblate/_index.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/content/ru/books/fdp-primer/weblate/_index.adoc')
-rw-r--r--documentation/content/ru/books/fdp-primer/weblate/_index.adoc456
1 files changed, 456 insertions, 0 deletions
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` (бразильский португальский) было решено не переводить эти сообщения.