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.)
Глава 10. Переводы в Weblate
Этот перевод может быть устаревшим. Для того, чтобы помочь с переводом, пожалуйста, обратитесь к Сервер переводов FreeBSD.
Содержание
10.1. Введение
Эта глава описывает основные шаги для присоединения к команде переводчиков FreeBSD, перевода онлайн в Weblate или офлайн, а также содержит простые рекомендации по переводу, вычитке и тестированию. Основное внимание уделено части, связанной с переводом.
Исходные документы (статьи и книги) находятся на портале документации.
Weblate — это веб-ориентированное программное обеспечение с открытым исходным кодом, специализирующееся на локализации. Проект FreeBSD поддерживает собственный экземпляр.
10.2. Как стать переводчиком FreeBSD
Вот простые шаги для начала перевода статей и книг проекта документации FreeBSD.
Создайте учетную запись на FreeBSD Weblate с помощью электронной почты или вашего аккаунта GitHub.
Подписаться на список рассылки {freebsd-translators}.
Представьтесь и попросите присоединиться к языковой команде. Если языковая команда не существует, попросите создать её. Самопредставление обязательно. Оно увеличивает шансы на одобрение доступа на запись.
Войдите в Weblate с новым аккаунтом.
Найдите языковую команду и выберите первый документ для перевода.
Создайте учетную запись в Bugzilla, чтобы отправлять переводы после завершения работы над документом. Проект документации также принимает Pull Requests на GitHub с переводами.
Все файлы переводов и документы должны соответствовать Лицензии документации FreeBSD; если это неприемлемо, пожалуйста, не регистрируйтесь и не присылайте никаких исправлений или переводов. |
10.3. Представьтесь
Предоставьте краткое самопредставление в рассылке {freebsd-translators}, чтобы начать процесс предоставления доступа. Это позволит координатору языка или администратору выдать необходимые права новому пользователю Weblate для начала перевода.
Ниже приведен пример того, как может выглядеть такое письмо.
10.4. Вход в Weblate
Откройте https://translate-dev.freebsd.org/ и Войдите
(Sign in).

Используйте имя пользователя, адрес электронной почты или учетную запись GitHub для входа.
Профиль пользователя содержит ваши предпочтения, имя и адрес электронной почты. Имя и адрес будут использоваться в коммитах; сохраняйте эту информацию актуальной.
На экземпляре Weblate FreeBSD все переводы будут зафиксированы в freebsd-doc-translate (промежуточном репозитории на GitHub), а не напрямую в freebsd-doc. Переводчики должны брать файлы PO gettext (.po
), преобразовывать их в .adoc
и отправлять через Bugzilla или GitHub, чтобы переведённый документ был опубликован или обновлён в портале документации. Подробнее см. в следующих разделах.
Weblate будет фиксировать изменения ежедневно, как минимум в freebsd-doc-translate
, если есть новые переведённые строки.
10.5. Найти команду локализации для участия
Нажмите Проекты
, выберите Документация
, затем нажмите Языки
и увидите все доступные языки.

Обратите внимание, что некоторые языки и переведённые документы уже доступны в портале документации и репозиториях.
Если желаемый язык для перевода недоступен в Weblate, пожалуйста, свяжитесь с координаторами по языкам, прежде чем запрашивать создание нового языка. Если ответа не последует, обратитесь по адресу: Группа Менеджеров Дерева Документации <doceng@FreeBSD.org>.
10.6. Перевод онлайн на Weblate
Перевод документов онлайн оказывается наиболее простым способом перевода документации в FreeBSD, так как позволяет пользователям совместно работать над одним файлом, распределяя нагрузку.
После того как координатор или администратор предоставит пользователю доступ к определённому языку, кнопка сохранения станет активной, и пользователь сможет начать перевод.


В Weblate есть набор ссылок, ведущих к непосредственному переводу. Перевод далее разделён на отдельные проверки, такие как Не переведено
или Требует проверки
. Если весь документ переведён без ошибок, ссылка Все переводы
всё равно доступна на случай, если потребуется проверка. Также можно воспользоваться полем поиска, чтобы найти конкретную строку или термин.
В документации Weblate содержится дополнительная информация о переводах, например, сочетания клавиш и другие советы по работе с инструментом перевода.
10.7. Перевод в автономном режиме
Weblate на FreeBSD использует файлы перевода PO gettext. Пользователи, знакомые с файлами PO gettext, которые хотят переводить офлайн, могут загружать и выгружать переводы на странице документа в Weblate, выбрав пункт в меню Files
.

10.8. Перевод на основе автоматических предложений
Языки, использующие Weblate до миграции на Hugo/Asciidoctor, могут использовать эту функцию в Weblate для экономии времени.
Эта функция Weblate использует память переводов, созданную другими компонентами и проектами на том же сервере. Для этого прежние переводы Weblate сохранены на том же сервере в режиме только для чтения.
Строки, совпадающие с 100/100
по степени схожести, могут быть скопированы и сохранены напрямую. Остальным строкам потребуется как минимум незначительная корректировка.
Некоторые примеры:

С переходом на Hugo/Asciidoctor документы используют UTF-8. Некоторые HTML-сущности следует заменить. Некоторые строки, такие как ссылки, требуют изменений в разметке.

Ссылки:

10.9. Вычитка и проверка качества в Weblate
Панель документа Project/Language/Document
отображает статус перевода и состояние строк для этого документа. Эта страница удобна для вычитки и проверки качества.

В этом примере две строки пропустили точку; переход по этой ссылке покажет только те строки, которые нужно пересмотреть/перевести.

Переводчики и рецензенты часто ценят возможность видеть переведённые строки в контексте.
10.10. Сборка переведенного документа
Проект не использует непрерывную интеграцию и непрерывную поставку для сборки переводов. Ведутся исследования по внедрению этой возможности.
Следующий пример использует GitHub, так как Weblate также находится на GitHub . Обратите внимание, что этот репозиторий доступен только для чтения, но Pull Requests принимаются. |
Для локальной сборки перевода выполните следующие шаги:
Клонирование репозитория
freebsd-doc
:% git clone https://github.com/freebsd/freebsd-doc.git ~/freebsd-doc
Клонирование репозитория
freebsd-doc-translate
:% git clone https://github.com/freebsd/freebsd-doc-translate.git ~/freebsd-doc-translate
freebsd-doc
Имея оба репозитория, скопируйте перевод из freebsd-doc-translate
в freebsd-doc
. Пример перевода статьи Руководства для коммиттеров на испанском языке.
% cp ~/freebsd-doc-translate/documentation/content/es/articles/committers-guide/_index.po \
~/freebsd-doc/documentation/content/es/articles/committers-guide/
.po
) в .adoc
Перейдите в корень freebsd-doc
.
% cd ~/freebsd-doc
Преобразовать файл .po
в .adoc
% ./tools/translate.sh documentation es articles/committers-guide
По умолчанию: только файлы с более чем восьмидесятью процентами переведённых строк будут преобразованы в .adoc
.
Чтобы игнорировать это ограничение:
% KEEP_ENV=0 ./tools/translate.sh documentation es articles/committers-guide
Некоторые документы, такие как книги, содержат множество PO-файлов gettext. Всегда копируйте их все при переводе и сборке. Файлы, которые не были переведены, будут преобразованы с исходными (английскими) строками.
Структура каталогов является основополагающей. Всегда следуйте структуре каталогов английского документа. |
Наконец, часть сборки.
Перейдите в каталог документации, так как сборка веб-сайта FreeBSD не требуется.
% cd documentation
И соберите документацию. Обратите внимание, что en
всегда добавляется по умолчанию при сборке любого другого языка.
% DOC_LANG=es make
Эта команда соберет только английскую и испанскую документацию портала FreeBSD. Результат будет сохранен в каталоге public; откройте его в браузере. Обратите внимание, что некоторые индексные файлы могут перенаправлять браузер на онлайн-страницу.
Еще один хороший вариант — собрать и предоставить контент с помощью встроенного веб-сервера Hugo:
% DOC_LANG=es make run
По умолчанию веб-сервер прослушивает localhost
; чтобы изменить это поведение, укажите нужный IP-адрес в значении параметра BIND
.
% DOC_LANG=es make run BIND=192.168.15.10
Это собирает и предоставляет содержимое с помощью встроенного веб-сервера Hugo, оставляя его открытым, и при любых изменениях файлов автоматически пересобирает их.
Чтобы внести необходимые изменения в перевод, выполните следующие шаги для повторной синхронизации всех компонентов:
Исправьте строку перевода на Weblate.
Заставьте Weblate зафиксировать изменения в разделе
Document/Manage/Commit
.Синхронизируйте локальный репозиторий Weblate
freebsd-doc-translate
с помощью командыgit pull origin main
.Скопируйте перевод снова в
freebsd-doc
.Преобразуйте перевод в .adoc с помощью скрипта
./tools/translate.sh
.Hugo пересоберет файл и не будет собирать весь набор, если использовалась команда
make run
, или повторно выполнитmake
.
Повторяйте предыдущие шаги столько раз, сколько необходимо, пока документ не будет готов к публикации. |
Глава Процесс сборки документации содержит информацию о преобразовании в HTML и PDF.
10.11. Отправка переводов
Пример отправки обновления для статьи на бразильском португальском Committer’s Guide.
После выполнения шагов из раздела Сборка переведенного документа, перейдите в корневую директорию freebsd-doc
и просмотрите, что будет включено в коммит. Для просмотра списка изменяемых файлов и различий в их содержимом:
% git status
% git diff
Просмотрите вывод, и если какие-либо файлы, не связанные с обновлением перевода Руководства коммиттера, были изменены или добавлены, выполните соответствующее действие по их откату или удалению соответственно, прежде чем продолжить.
Всегда включайте файл PO gettext (.po
) и переведенный документ в Hugo/Asciidoctor (.adoc
).
Создайте еще одну ветку для разделения работы, что поможет при будущих обновлениях в локальном репозитории.
% git checkout -b committers-guide_pt-br
Зарегистрировать локальный коммит.
% git add .
% git commit
Пример сообщений коммитов для переводов:
pt-br/committers-guide: Sync with en XXXXXXX
Где XXXXXXX
— это ревизия git(1), хранящаяся в репозитории Weblate в файле ~/freebsd-doc-translate/revision.txt.
Если это первый перевод статьи:
Add Korean translation of Leap Seconds article
После выполнения коммита будет отображено сообщение, если git(1) ранее не был настроен. Следуйте инструкциям и укажите имя и адрес электронной почты, используемые в Weblate. Этот шаг важен для правильного учета вклада участников.
Затем проверьте весь коммит, просмотрите изменения, а также имя автора и адрес электронной почты.
% git show
Далее создайте файл git-format-patch(1).
% git format-patch main
0001-pt-br-committers-guide-Sync-with-en-XXXXXXX.patch
Прикрепите патч 0001-pt-br-committers-guide-Sync-with-en-XXXXXXX.patch к отчёту об ошибке в FreeBSD Bugzilla.
Включите следующую информацию в отчёт:
Поле | Значение |
---|---|
продукт (product) | Documentation |
Компонент (Component) | Books & Articles |
Сводка (Summary) | Тот же текст, что и в локальном коммите |
Описание (Description) | Укажите, что инструкции в этом руководстве были выполнены, включая вычитку и другие необходимые шаги. Включите сведения, которые могут помочь с анализом и продвижением отчёта. |
СС (Необязательно) | Если в языке есть координаторы, укажите их адреса электронной почты в поле CC. |
Для тех, кто знаком с git(1) и GitHub: вместо отправки исправления через Bugzilla, можно использовать запрос на включение изменений (pull request) в GitHub (укажите имя и адрес, которые вы используете в Weblate).
https://github.com/freebsd/freebsd-doc/ является вторичным зеркалом. Изменения в дереве doc
могут вносить только люди, имеющие права на коммит (doc commit bit
).
Когда переводчики продолжают присылать качественные исправления, другие коммиттеры могут выдвинуть их для получения прав на запись (бит коммита для документации для переводов), учётной записи FreeBSD и сопутствующих привилегий.
Список дополнительных участников FreeBSD включает некоммиттеров, чьи изменения были закоммичены в дерево doc
.
Если вы сомневаетесь в каком-либо действии, напишите в {freebsd-translators}.
Изменено: 20 сентября 2025 г. by Vladlen Popolitov