Домашняя страница
Установщик Slint
Пакет Slint
Переводчики
Содействие
Инструменты
Журнал изменений
This a previous, archived Slint website.
Проект интернационализации Slackware

Transifex

Платформа Transifex упрощает взаимодействие переводчиков, является местом, где команда переводчиков может централизованно хранить свои PO-файлы и распространять информацию. Доступен онлайн-редактор, который также подходит и для ревизии переводов.

Инструкции по использованию смотрите в Центре помощи Transifex.

Можете использовать онлайн-редактор Transifex при необходимости, но:

  • на всякий случай не забывайте почаще делать локальные резервные копии

  • форматирование текста переводов легче выполнять и проверять локально, при помощи специализированных PO-редакторов, таких как Lokalize или Poedit

Для перевода web-страниц в формате asciidoc использование Transifex обязательно (смотрите ниже).

Warning Если предпочитаете переводить локально, выбирайте на Transifex Скачать для перевода (а не Скачать для использования) и Заблокировать этот перевод, чтобы предупредить остальных, что вы работаете над ним. Это исключит дублирование усилий… Несколько членов команды могут одновременно работать над одним большим PO-файлом, если договорятся, кто какую часть переводит.
Tip

Transifex не переносит строки переведенного текста. Это приводит к появлению очень длинных строк, усложнению чтения в текстовом редакторе и даже к высокой загрузке процессора. Чтобы избежать этого, после загрузки PO-файла наберите:

  msgcat файл_загруженный_с_Transifex > переименованный_файл

и используйте Lokalize или Poedit для перевода переименованного_файла. Этот файл будет с переносами строк, но в остальном будет идентичен загруженному файлу, так что не повредит.

Если переводите локально, не забывайте выгружать отредактированный файл на Transifex, приостанавливая работу с ним, не держите блокировку без нужды.

Lokalize

Lokalize входит в состав Slackware. Вы можете либо прочесть Lokalize Handbook в сети, либо из меню Помощь, нажав [F1]. Рекомендуемые настройки:

  • Настройка ⇒ Настроить Lokalize ⇒ Идентификация: Выбрать язык (установить в целевой язык).

  • Настройки ⇒ Настроить Lokalize ⇒ Внешний вид: Выбрать шрифт фиксированной ширины с засечками (моноширинный), например Courier. Это позволит различать 0 (цифра) и O (буква) или | (пайп) и I (буква) и проверять форматирование, например выравнивание первых слов на последовательных строках.

  • Настройка ⇒ Настроить Lokalize ⇒ Внешний вид: Выбрать Индикаторы состояния для выделения непереведенных и неточных строк, также как позиция курсора в столбце, очень удобно для проверки длины строк, когда это имеет значение.

Poedit

Poedit не поставляется со Slackware, но доступен на SlackBuilds.org.

У него не хватает удобных функций для проверки длины строки, но в остальном его функционал аналогичен Lokalize, так что можно выбирать один или другой редактор по своему вкусу.

В Правка ⇒ Настройки ⇒ Редактор отметьте Автоматически проверять орфографию и, как и в Lokalize, выберите шрифт фиксированной ширины с засечками.

Использование сценариев, содержащихся в тарболе Slint

Этот сжатый архив содержит все необходимое для создания продуктов slint, как и инструменты для участников slint. Он называется slint-[дата].tar.xz и находится в каталоге pub/.

Для его распаковки наберите:

  tar xf slint-[дата].tar.xz

Появится каталог slint-[дата]. Смотрите файл CONTENT.TXT в нем для более подробной информации, таблица ниже только приводит сценарии, используемые для создания продуктов slint и инструменты для переводчиков. Все пути указаны относительно этого каталога.

Имя сценария и расположение Назначение

build/slint.sh

Создает гибридный (CD/DVD или USB) образ установщика Slint или дистрибутив Slackware c установщиком Slint.

build/make_slint_packages

Итернационализирует разные пакеты Slackware и создает пакет SlintLocales.

build/slintLocales

Создает пакет, включающий все обновленные переводы сценариев Slackware, входящих в установщики Slint (всех версий) или инструментов для Slackware.

tools_for_translators/toolbox.sh

Этот сценарий управляет переводами сообщений, собранных в slackware.pot.

tools_for_translators/toolbox_slint_sh

Этот сценарий управляет переводами сообщений, выводимых сценарием slint.sh .

tools_for_translators/generate_man_pages

Генерирует переведенные страницы руководств для разных инструментов Slackware. Позволяет проверять PO-файлы. Использование этого сценария требует установленного пакета po4a, доступного в каталоге extra/.

Как проверять переводы установщика Slackware и сценариев администратора

Ресурс slint, файл slackware.pot

Когда вы закончите перевод, поместите файл в каталог wip/, (пере)именуйте, например, в ru_RU.slackware.po, затем запустите на выполнение /path/to/tools_for_translators/toolbox.sh и выберите в меню проверить_PO. Если все идет хорошо:

  1. скопируйте ru_RU.slackware.po в каталог po/ (перевод на русский в этом примере)

  2. Запустите /path/to/build/SlintLocales.SlackBuild для включения обновленного перевода в пакет SlintLocales

  3. Запустите /path/to/build/slint.sh для создания гибридного CD или USB образа установщика

  4. Разверните образ на CD или USB-флешку

  5. Попытайтесь установить (очевидно, на русском языке в данном случае), на виртуальную или реальную машину

Tip Чтобы запустить установщик в виртуальной машине, вы можете использовать файл .iso как виртуальный носитель, в этом случае не нужно записывать его на физический носитель.

Как проверять переводы файла slint.sh

Ресурс: POT file for slint.sh

Когда вы закончите перевод, поместите файл в каталог wip/, переименуйте, например, в ru_RU.slint.po для руского, затем запустите /path/to/tools_for_translators/toolbox_slint_sh и выберите в меню проверить_PO.

Если все идет хорошо, снова запустите /path/to/tools_for_translators/toolbox_slint_sh, но выберите формат_PO в меню. Если все идет хорошо, будет сгенерирован и помещен в соответствующий каталог в дереве slint-[дата] файл slint.mo (в данном примере slint_locales/ru/LC_MESSAGES).

Затем попробуйте ваш перевод, сравнивая с английской и немецкой версиями командами наподобие:

  /path/to/build/slint.sh
  LANG=de_DE.utf8 /path/to/build/slint.sh

Как проверять переводы страниц руководств, входящих в пакеты pkgtools и slackpkg

Ресурсы: pkgtools and slackpkg

Опять же, поместите PO-файлв каталог wip/, (пере)именуйте, например, в ru.pkgtools.po (страницы руководств, входящих в пакет pkgtools на русском). Затем выполните команду:

   /path/to/tools_for_translators/generate_man_pages ru.pkgtools

Если все идет хорошо, сценарий создаст все страницы руководств (в данном случае: ru.explodepkg, ru.installpkg, ru.makepkg, ru.pkgtool, ru.removepkg, ru.upgradepkg). В противном случе читайте сообщения об ошибках, вносите необходимые правки и попробуйте еще раз. Вы можете избежать многих ошибок, прочитав Предупреждения.

Чтобы сравнить переведенные страницы руководств с оригинальными, выполните, например, это (пример для перевода на русский):

  cd /path/to/wip/
  LANG=ru_UA.utf8 GROFF_ENCODING=utf8 man ./installpkg # переведенное руководство
  GROFF_ENCODING=utf8 man installpkg # оригинальное руководство

Чтобы не набирать "GROFF_ENCODING=utf8" каждый раз, добавьте эту строку в ~/.bashrc:

  export GROFF_ENCODING=utf8

Перевод текстовых файлов, обрабатываемых AsciiDoc при генерации web-страниц

Как показано в Перевод web страниц, следующие страницы сгенерированы asciidoc из исходных текстовых файлов: slint.html, installer.html, package.html, Contribute, Translators, Tools и ChangeLog, так же как template.po.

Эти файлы нужно переводить при помощи онлайн-редактора Transifex: попытка выгрузить переведенный текстовый файл на Transifex оканчивается неудачей с сообщением о неизвестной ошибке редактора, поэтому перевод этих файлов локально и выгрузка их на Transifex - не вариант.

Но онлайн-редактор Transifex имеет преимущество в том, что позволяет добавлять в файлы переводов строки и целые параграфы, сохраняя при этом привязку к строкам оригинального английского файла.

Это позволяет переводчикам изменять их переводы, добавляя информацию, специфичную их локали, например, о том, как пользователь может получить поддержку на этом языке или в данной стране, или о ссылках на локализованную документацию и прочем.

Tip

При обновлении оригинального англоязычного файла те строки текста в переводе, которые совпадают с изменившимися строками из англоязычного файла, будут отброшены.

На этот случай вы можете сохранить то, что набирали, если сделаете локальную копию перевода (загрузив его с Transifex), затем вы можете скопировать старый перевод из этой локальной копии и вставить его в редакторе Transifex, при необходимости отредактировав.

Даже проще, если щелкнуть "Код страницы" внизу меню новой веб страницы, будет показан соответствующий исходный текстовый файл.

Кроме того, редактор Transifex имеет возможность «Предложения» (аналогичную «Памяти переводов» в Lokalize), которая «запоминает» похожие последние переводы строк. Эта возможность может быть очень полезна, когда бы страница сайта ни была обновлена. Transifex помнит ваш последний перевод и предоставляет ссылку «Используйте это», вы можете просто воспользоваться ею, избежав повторного набора и перевода.

Ознакомьтесь с синтаксисом разметки AsciiDoc

Основной документ - это Руководство пользователя AsciiDoc, но для начала, прочтите шпаргалки по AsciiDoc. Еще быстрее, при установленном AsciiDoc, следующая команда:

asciidoc --help syntax > asciidoc.txt

Она запишет в файл asciidoc.txt общие сведения о синтаксисе разметки AsciiDoc, которые вы можете прочесть или распечатать.

Сохраняйте разметку

Тщательно сохраняйте разметку как есть. Например, добавление или удаление пробелов или символов «новой строки» может привести к неожиданному результату. Ниже несколько примеров:

  • Начало параграфа с пробела приведет к генерации буквального параграфа, отображаемого специальным шрифтом

  • «= текст» приведет к генерации заголовка уровня 0 (заголовка документа), но только если «=» — первый символ в строке, есть пробел после него и пустая строка перед ним.

  • добавленный в конец строки «\+» приведет к генерации разрыва строки только если перед «+» есть пробел.

Warning Во избежание путаницы с кодами форматирования рекомендуем сперва копировать исходную (английскую) строку в перевод (просто щёлкнув значок с двумя листами справа над исходной строкой), затем отредактировать её.
Проверка внешнего вида вашего перевода

Вы легко можете проверить, как выглядит страница, сгенерированная из вашего перевода. Просто выполните следующее:

lftp -c "mirror https://slint.fr/website/"
Загрузите ваш перевод с Transifex (назовем его <translation.txt>) в каталог website, созданный предыдущей командой
cd website
CONFIG_FILE=slint.conf.en
# Необязательно, если заголовок и меню, переведенные на ваш язык, загружены на веб-сайт:
wget https://slint.fr/slint.conf.ll; CONFIG_FILE=slint.conf.ll # замение «ll» на код вашего языка (две буквы)
# затем сгенерируйте веб-страницу
asciidoc -b xhtml11 -a icons -f $CONFIG_FILE <translation.txt> # эта команда сгенерирует <translation.html>
firefox <translation.html> &
Переводить или нет, вот вопрос

Следующие слова имеют специальное значение в AsciiDoc и не должны переводиться, когда они начинают параграф с предупреждением (они заменяются значками): TIP, NOTE, IMPORTANT, WARNING и CAUTION.

Вообще говоря, ссылки и URL не должны переводиться, но их заголовки - можно, в зависимости от контекста. В следующих примерах (полученных из вывода asciidoc --help syntax) только значение caption можно переводить:

Ссылки на документы:
[[id]]                      (определяет цель ссылки)
<<id,заголовок>>              (ссылка на назначенный id)
link:filename#id[заголовок]   (ссылка на внешний HTML-файл)

Адреса URL:
http:address[заголовок]       (ссылка на веб-страницу)
mailto:address[заголовок]     (ссылка на получателя электронной почты)

Изображения:
image:filename[заголовок]     (встроенное изображение)
image::filename[заголовок]    (блок с изображением)