m (moved Ru RU/L10N FAQ to L10N FAQ/ru: new structure) |
|
(No difference)
|
Revision as of 23:09, 23 June 2010
Часто задаваемые вопросы о выполнении переводов в проекте 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".
Нужно ли переводить правовые положения ?
Нет. Более того, их нельзя переводить, так как точность перевода имеет исключительное значение, а перевод, не заверенный юридически, представляет собой огромный риск. Red Hat хоть и представляет Fedora на юридическом уровне, но не имеет возможности проверять каждый перевод. Поэтому настоятельно рекомендуется оставлять исходный текст на английском.
Как сообщить об ошибках или отправить свои предложения?
- Сообщения об ошибках и предложения по улучшению инфраструктуры 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.
Если модуль расположен в другом месте, но вы не хотите предоставлять SSH-доступ:
(например, если вы используете распределённые системы контроля версий, такие как git и Mercurial)
- Разместите промежуточную ветку на github или fedorahosted и следуйте инструкциям, приведенным выше в секции "Если модуль расположен где-то в другом месте".
- После того как Transifex обновит промежуточную ветку, можно будет добавить изменения в репозиторий.
Шаг 2: Сообщите нам об изменениях
Создайте запрос в Bugzilla и укажите следующую информацию:
Имя модуля Описание Веб-страница проекта Корень VCS, модуль, ветвь Фильтр файлов (например, <code>po/.*</code>) Changelog (если доступен) Веб-страница для доступа к 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).
Что делает msgmerge? (#msgmerge)
Любой PO-файл должен содержать те же записи, что и соответствующий ему POT, даже если они не переведены. Если в файле *.PO отсуствуют записи, то эти записи в окончательном продукте не будут переведены. Получается парадокс: PO-файл полностью переведён, а статистика на сайте показывает обратное или, ещё хуже, приложение содержит текст на английском языке.
В идеале для всех PO-файлов нужно выполнить операцию объединения (msgmerge) после каждого обновления POT. Но поскольку это не всегда происходит, иногда переводчикам приходится самостоятельно убедиться, что файл был вовремя обновлён. Веб-утилиты сайта исполняют msgmerge
каждый раз ДО расчёта статистики. Так, они выполняют объединение записей из существующего PO-файла с новыми записями из POT-файла и уже после этого показывают статистику. Они также покажут ссылку к полученному PO-файлу, загрузить который можно выбрав соответствующий значок справа.
Чтобы убедиться, что PO-файл действительно полностью переведён:
- На странице статистики загрузите PO-файл и затем опять его отправьте. Просмотрите результат.
- С помощью VCS напрямую загрузите PO-файл и выполните msgmerge прежде чем приступить к работе над ним. Для модулей с поддержкой intltool (им соответствует файл
po/POTFILES.in
):
cd po && intltool-update <language>
Для других:
export L='el' && mv $L.po $L.previous.po && msgmerge $L.previous.po *pot > $L.po
Как переводить файлы .desktop?
Просмотрите это сообщение.
При попытке получения или отправки файла я получаю ошибку "Permission denied" (#ssh-key-denied)
В большинстве случаев эта проблема связана с несоответствием ключей SSH. Когда пользователь создаёт новую учётную запись, мы ей сопоставляем ключ SSH. При этом мы попросим пользователя отправить на сервер общедоступную часть ключа (расположена в локальном каталоге ~/.ssh/
), после чего для идентификации пользователя будет использоваться этот ключ. Это обеспечивает более высокий уровень защиты по сравнению с использованием обычных паролей. Если вы не можете пройти аутентификацию на cvs.fedoraproject.org, это означает, что используемый SSH-ключ не соответствует ключам на наших серверах.
Если вы недавно изменили ключ SHH, его надо заново отправить.
Если же вы ключ не изменяли, убедитесь, что используется верный ключ (например, скопируйте их с вашего другого компьютера).
Где можно найти запись "About this Computer"?
Эту запись можно найти в Вики, на странице AboutThisComputer.
Можно ли перевести секцию Export Regulations, которая появляется в нижней части страницы fedoraproject.org/get-fedora?
Нет. Эта секция должна оставаться на английском. Подробнее.
Когда мы получаем версии текстов для переводов (POT/PO)?
Следите за датой "String freeze", именно тогда разработчики сгенерируют окончательную версию PO-файла. Это также работает и для документации, авторы текстов ориентируются на эту дату при добавлении и изменении исходного текста документов. Список дат можно найти в секции "Detailed Schedules" на странице плана работ.
Что делать, если текст был изменен после даты "String Freeze"?
Отправьте запрос в рассылку trans@lists.fpo.