Часто задаваемые вопросы о выполнении переводов в проекте Fedora
Здесь приведены наиболее часто встречающиеся вопросы о проекте локализации Fedora.
Обозначения
Transifex :: Приложение Django для получения переводов и сбора статистики (Сайт разработки Transifex). Сайт переводов: https://translate.fedoraproject.org/
VCS :: Система контроля версий (Version Control System). CVS, Subversion, Mercurial (hg) также являются системами VCS.
Общие вопросы
Как можно получить файлы для перевода? (#get-files)
Чтобы загрузить PO-файл для перевода модуля, перейдите на страницу статистики этого модуля, в списке языков найдите Russian (ru) и справа от индикатора прогресса нажмите значок загрузки.
Как можно отправить готовый перевод? (#submit)
Все модули, для которых принимаются переводы в системе Transifex, перечислены здесь: https://translate.fedoraproject.org/projects/
Нажмите отмеченную стрелкой кнопку, появится поле для выбора файла. Выберите переведенный файл и нажмите кнопку "Send".
Как сообщить об ошибках или отправить свои предложения?
- Сообщения об ошибках и предложения по улучшению инфраструктуры Fedora следует направлять сюда: https://fedorahosted.org/fedora-infrastructure/newticket
Например, если невозможно отправить перевод пакета XYZ или получить его статистику перевода, то можно создать отчёт на этой странице.
- Сообщения об ошибках и предложения по улучшению работы Transifex следует отправлять сюда: http://transifex.org/newticket
Пример: запрос включения в статистику информации о пользователе, который последним отправил файл, или запрос добавления возможности сортировки статистики.
Но быстрее всего связаться с группой администраторов FLP можно напрямую в канале IRC #fedora-l10n.
Вопросы по веб-сайту
Сайт проекта локализации Fedora расположен по адресу http://translate.fedoraproject.org/.
- Его поддержку обеспечивает команда локализации L10N. Администраторы сайта -- DimitrisGlezos и DiegoZacarao.
Как сообщить об ошибках сайта проекта переводов или отправить свои предложения? (#bugs)
Сообщения об ошибках и предложения по улучшению сайта рекомендуется регистрировать в Bugzilla (компонент Website). Выборку существующих отчётов можно просмотреть здесь.
Прежде чем создавать новый запрос, просмотрите этот список и убедитесь, что об этой проблеме ещё не сообщалось. Также можно задать вопрос в канале #fedora-l10n. В теле запроса подробно опишите проблему, укажите модуль и выпуск, время события (UTC) и ваше имя пользователя Fedora. Если вы считаете, что проблема связана с конкретным файлом, включите информацию об этом файле.
Если проблема связана с инфраструктурой Transifex, а не Fedora, то запрос следует создать в системе отчётов Transifex.
Как создать новую команду перевода? (#new-team)
Если вы хотите заниматься координацией переводов, вам сюда (ссылка на статью на англ.)
Чтобы добавить новую команду, создайте запрос в Bugzilla.
Укажите язык, ваше имя и учетную запись FAS, электронный адрес, а также ссылку на страницу вашей команды и адрес рассылки (если они существуют).
Как создать компонент Bugzilla для русского языка? (#bugzilla-team)
Для каждого языка существует отдельный компонент в системе регистрации ошибок Bugzilla, что позволяет облегчить перенаправление отчетов людям, которые смогут исправить ошибки. Список поддерживаемых языков можно найти в файле owners.list по адресу /cvs/l10n/owners/.
За дальнейшей информацией можно обратиться к координатору переводов (ссылка на статью на англ.) .
Если у вас уже есть учетная запись Bugzilla, можно приступить к созданию нового отчета об ошибке. В списке "Component" выберите "Russian [ru]" и в поле "Description" подробно опишите проблему. При необходимости заполните остальные поля.
Завершив, нажмите кнопку "Commit".
Что это за предупреждения на странице статистики? (#stats-warnings)
Эти сообщения позволяют определить проекты с проблемами, вызванными адаптацией переводов. Обычно они не оказывают влияния на работу переводчиков, их решение входит в компетенцию разработчиков и администраторов.
Ошибки intltool (#intltool-errors)
Это наиболее распространенные ошибки (например, "Can't generate POT file"). Обычно означает, что модуль не использует intltool для извлечения строк, поэтому нет стопроцентной гарантии, что все строки, которые требуется перевести, будут включены в POT-файл. Если сообщение содержит "Using old one", то будет использоваться POT-файл, предоставленный переводчиком.
Сообщение: "There are some missing files from POTFILES.in" (#missing-files)
Если сообщения содержат "There are some missing files from POTFILES.in", это означает, что не все исходные файлы использовались при извлечении строк. Об этой ошибке рекомендуется сообщить разработчикам (создайте запрос в Bugzilla).
Сообщение: "Entry for this language is not present in (ALL_)LINGUAS file" (#missing-from-linguas)
Некоторые проекты используют специальные файлы, такие как po/LINGUAS и po/Makefile, для определения того, какие языки включены в поставку того или иного продукта. Так, перечисленные в этих файлах языки включены в комплект поставки, все остальные -- не включены.
Если эти файлы расположены в VCS, интерфейс статистики выполнит поиск языка в файле. Если язык не указан, будет показано предупреждение "Entry for this language is not present in (ALL_)LINGUAS file". В этом случае надо указать язык в соответствующем файле LINGUAS или в переменной в файле Makefile.
Если вы уверены, что в комплект поставки модуля включены все языки, то это сообщение можно проигнорировать.
Cообщение: "Don't know where to look if this language is actually used" (#where-to-look)
Если сообщение содержит "Don't know where to look if this language is actually used", это означает, что язык не указан в файлах po/LINGUAS
, Makefile
. При использовании intltool это служит доказательством того, что язык не входит в комплект поставки заданного продукта (например, flp-website ). В других ситуациях это сообщение можно просто проигнорировать.
Другие ошибки (например, сообщение "Missing files from POTFILES.in") и "Can't generate POT file" (#error-no-pot)
Некоторые модули не предоставляют POT-файл и полностью полагаются на intltool
в его создании. Всё это замечательно, но администратору нужно убедиться, что POT-файл можно сгенерировать так, чтобы при этом не произошел сбой intltool (подсказка: intltool -r
или -m
), так как в этом случае POT-файл не будет создан. В результате вы увидите показанное ниже сообщение.
Об этом сразу следует сообщить разработчикам, чтобы они могли исправить эту проблему (например, обновить POTFILES.{in,skip}
и не забывать их регулярно обновлять).
Пример отчёта об ошибке для отсутствующих в POTFILES.{in,skip} файлов.
File:L10N FAQ l10n-error-inexistent-potfilesin.png
Мой файл полностью переведён, но при тестировании приложения виден английский текст! (#missing-strings)
Это не сильно похоже на вопрос. Тем не менее...
Возможные причины:
- Вероятно, этот текст не был отмечен разработчиком для перевода, поэтому он не был включён в POT-файл и, как следствие, в PO-файл. В этом случае разработчику потребуется извлечь этот текст с помощью gettext.
- Исходные файлы не были включены при сборке (intltool).
- POT-файл давно не обновлялся. На странице компонента можно проверить дату создания файла. Если файл был создан давно, об этом следует сообщить администраторам.
- Надо выполнить msmerge для вашего PO-файла. В этом случае статистика в Transifex покажет меньше 100% (так как Transifex автоматически выполняет эту операцию). Загрузите заново файл с Transifex или, если вы знаете как это сделать, выполните msmerge с POT-файлом самостоятельно.
Как часто обновляется статистика? (#update-frequency)
Статистика обновляется автоматически после получения переведённых файлов.
Так, на странице модуля можно увидеть время последнего обновления. Пример: Download POT file POT file (217 messages) — updated on 2007-09-24 01:43:00 MST. (MST is UTC-7).
Мой PO-файл полностью переведён, но не показан на странице. В чём дело? (#100-percent)
Наиболее вероятные причины:
- Статистика обновляется не сразу, а по расписанию. В этом случае следует дождаться следующего обновления. См. #live
- Возможно, для отправленного вами PO-файла сначала нужно выполнить msgmerge, так как, может быть, он не содержит последние добавленные строки. Скажем, вы загрузили PO-файл из VCS, перевели его и отправили обратно. Прежде чем выполнить сбор статистики, Transifex выполнит
msgmerge
(операцию объединения изменений в файле *.pot с переведённым файлом *.po).
Как добавить модуль в Transifex? (#add-transifex)
Чтобы добавить новые файлы для перевода через Transifex, сначала нужно создать учётную запись VCS. Подробности описаны на странице Infrastructure/SOP/Translations.
Шаг 1: Откройте доступ к модулю
Если модуль расположен в инфраструктуре Fedora:
- Если вы являетесь координатором проекта, добавьте пользователя "transif" в группу проекта в Fedora Account System и поручитесь за него.
- Если вы не являетесь координатором, откройте запрос о добавлении этого пользователя в Bugzillа и свяжите его с отчётом #436824 так, чтобы новый запрос его блокировал. Пример: #438122
- Transifex использует этого пользователя для передачи переводов в репозиторий. Не стоит его удалять, так как это нарушит процесс отправки переводов.
- Перейдите к шагу 2.
Если модуль расположен где-то в другом месте:
- Ваш репозиторий должен разрешать доступ через SSH. DimitrisGlezos поможет вам создать пару ключей и предоставит общедоступный ключ.
- Создайте учётную запись VCS (например, transifex-fedora), указав общедоступный ключ, и предоставьте ей права записи при доступе к модулю.
- Откройте доступ только для каталогов и файлов, которые переводчикам будет разрешено изменять (например,
/po/*
). Если это невозможно, нестрашно. Доступ можно ограничить в самой системе Transifex с помощью regex. - Проверьте настройки.
- Добавьте комментарий в теле запроса Bugzilla и сообщите, что всё готово.
- Перейдите к шагу 2.
Шаг 2: Сообщите нам
Создайте запрос в Bugzilla и заполните поля:
Module name Description Project webpage VCS root, module, branch File filter (например, <code>po/.*</code>) Changelog file (if applicable) Web front-end to VCS <ссылка на отчёт для шага 1> (если существует)
Кто-нибудь проверит наличие доступа записи, добавит модуль в Transifex, убедится в возможности отправки переводов и ответит на запрос.
Наконец, сообщите об изменениях списку рассылки fedora-trans-list. Всё!
Другие вопросы
Почему для модуля X нет файла *.POT? (#no-pot)
При сборке пакета некоторые разработчики используют утилиту gettext для извлечения строк, другие же пользуются intltool
, что позволяет создавать POT-файл динамически. Поэтому для таких модулей POT-файл в VCS не существует, так как в нем просто нет необходимости. Таким образом, чтобы обновить PO-файл (msgmerge), выполните следующее:
cd po && intltool-update <language>
Если нужно создать POT-файл, измените команду так:
cd po && intltool-update --pot
Обратите внимание, что при отсутствии POT-файла обязательно, чтобы команда intltool-update
завершилась успешно (см. [#missing-files-no-pot] ). Если это не удалось или, может, вы хотите, чтобы POT-файл в любом случае был добавлен в VCS, создайте запрос в Bugzilla для интересующего вас модуля и попросите разработчиков добавить файл.
Для интересующего меня модуля нет PO-файлов и статистики! Можно это исправить? (#no-po-files)
К сожалению, нет. Эту проблему может решить разработчик, поэтому рекомендуется создать запрос в Bugzilla (для Fedora и Red Hat) или в Trac (для fedorahosted.org).
Как переводить файлы .desktop?
Просмотрите это сообщение.