From Fedora Project Wiki
No edit summary
 
(35 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{Update/ru}}{{autolang}}
= Часто задаваемые вопросы о выполнении переводов в проекте Fedora =
= Часто задаваемые вопросы о выполнении переводов в проекте Fedora =


Line 7: Line 8:
== Обозначения ==
== Обозначения ==


Transifex :: Приложение Django для получения переводов и сбора статистики ([http://transifex.org Страница разработки Transifex]). Страница переводов: https://translate.fedoraproject.org/
'''Transifex''' :: Приложение Django для получения переводов и сбора статистики ([http://transifex.org Сайт разработки Transifex]). Сайт переводов: https://translate.fedoraproject.org/


VCS :: Version Control System. CVS, Subversion, Mercurial (hg) также являются системами VCS.
'''VCS''' :: Система контроля версий (Version Control System). CVS, Subversion, Mercurial (hg) также являются системами VCS.


{{Anchor|general}}
{{Anchor|general}}
Line 33: Line 34:
{{Anchor|website}}
{{Anchor|website}}


== Вопросы по веб-сайту ==
=== Нужно ли переводить правовые положения ? ===
 
Нет. Более того, их нельзя переводить, так как точность перевода имеет исключительное значение, а перевод, не заверенный юридически, представляет собой огромный риск. 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/'''.
Сайт проекта локализации Fedora расположен по адресу '''http://translate.fedoraproject.org/'''.


* Его поддержку обеспечивает [[Ru_RU/L10N| команда локализации L10N]]. Администраторы сайта -- DimitrisGlezos и DiegoZacarao.
* Его поддержку обеспечивает [[Ru_RU/L10N| команда локализации L10N]]. Администраторы сайта -- DimitrisGlezos и DiegoZacarao.
=== Как сообщить об ошибках сайта проекта переводов или отправить свои предложения? (#bugs) ===
Сообщения об ошибках и предложения по улучшению сайта рекомендуется регистрировать в [https://bugzilla.redhat.com/bugzilla/enter_bug.cgi?product=Fedora%20Localization&component=Website Bugzilla (компонент Website)]. Выборку существующих отчётов можно просмотреть [https://bugzilla.redhat.com/buglist.cgi?product=Fedora+Localization&version=unspecified&component=Website&bug_status=NEW&bug_status=ASSIGNED&bug_status=NEEDINFO&bug_status=MODIFIED&short_desc_type=allwordssubstr&short_desc=&long_desc_type=allwordssubstr&long_desc= здесь].
Прежде чем создавать новый запрос, просмотрите этот список и убедитесь, что об этой проблеме ещё не сообщалось. Также можно задать вопрос в канале #fedora-l10n. В теле запроса подробно опишите проблему, укажите модуль и выпуск, время события (UTC) и ваше имя пользователя Fedora. Если вы считаете, что проблема связана с конкретным файлом, включите информацию об этом файле.
Если проблема связана с инфраструктурой Transifex, а не Fedora, то запрос следует создать в [https://transifex.org/newticket системе отчётов Transifex].
{{Anchor|new-team}}


=== Как создать новую команду перевода? (#new-team) ===
=== Как создать новую команду перевода? (#new-team) ===
Line 76: Line 101:


{{Anchor|missing-files}}
{{Anchor|missing-files}}
==== Некоторые файлы отсутствуют в POTFILES.in (#missing-files) ====
==== Сообщение: "There are some missing files from POTFILES.in" (#missing-files) ====


Если сообщения содержат "There are some missing files from POTFILES.in", это означает, что не все исходные файлы использовались при извлечении строк. Об этой ошибке рекомендуется сообщить разработчикам (создайте отчет об ошибке).
Если сообщения содержат "There are some missing files from POTFILES.in", это означает, что не все исходные файлы использовались при извлечении строк. Об этой ошибке рекомендуется сообщить разработчикам (создайте запрос в Bugzilla).


[[Image:L10N_FAQ_l10nerror2.png]]
[[Image:L10N_FAQ_l10nerror2.png]]
==== Файл (ALL_)LINGUAS не содержит запись для языка (#missing-from-linguas) ====


Сообщение: "Entry for this language is not present in (ALL_)LINGUAS file".
==== Сообщение: "Entry for this language is not present in (ALL_)LINGUAS file" (#missing-from-linguas) ====


Некоторые проекты используют специальные файлы, такие как po/LINGUAS и po/Makefile, для определения того, какие языки включены в поставку того или иного продукта. Так, перечисленные в этих файлах языки включены в комплект поставки, все остальные -- не включены.
Некоторые проекты используют специальные файлы, такие как po/LINGUAS и po/Makefile, для определения того, какие языки включены в поставку того или иного продукта. Так, перечисленные в этих файлах языки включены в комплект поставки, все остальные -- не включены.
Line 92: Line 116:


{{Anchor|where-to-look}}
{{Anchor|where-to-look}}
==== Неизвестно, используется ли заданный язык (#where-to-look) ====
 
==== 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", это означает, что язык не указан в файлах <code>po/LINGUAS</code>, <code>Makefile</code>. При использовании intltool это служит доказательством того, что язык не входит в комплект поставки заданного продукта (например, [http://translate.fedoraproject.org/module/flp-website flp-website] ). В других ситуациях это сообщение можно просто проигнорировать.
Если сообщение содержит "Don't know where to look if this language is actually used", это означает, что язык не указан в файлах <code>po/LINGUAS</code>, <code>Makefile</code>. При использовании intltool это служит доказательством того, что язык не входит в комплект поставки заданного продукта (например, [http://translate.fedoraproject.org/module/flp-website flp-website] ). В других ситуациях это сообщение можно просто проигнорировать.
Line 100: Line 125:
{{Anchor|missing-files-no-pot}}
{{Anchor|missing-files-no-pot}}
{{Anchor|error-no-pot}}
{{Anchor|error-no-pot}}
==== Другие ошибки (например, сообщение "Missing files from POTFILES.in") и "Can't generate POT file" (#error-no-pot) ====
Некоторые модули не предоставляют POT-файл и полностью полагаются на <code>intltool</code> в его создании. Всё это замечательно, но администратору нужно убедиться, что POT-файл ''можно'' сгенерировать так, чтобы при этом не произошел сбой intltool (подсказка: <code>intltool -r</code> или <code>-m</code>), так как в этом случае POT-файл не будет создан. В результате вы увидите показанное ниже сообщение.
Об этом сразу следует сообщить разработчикам, чтобы они могли исправить эту проблему (например, обновить <code>POTFILES.{in,skip}</code> и не забывать их регулярно обновлять).
[https://bugzilla.redhat.com/show_bug.cgi?id=433456 Пример отчёта об ошибке] для отсутствующих в POTFILES.{in,skip} файлов.
[[Image:L10N_FAQ_l10n-error-inexistent-potfilesin.png]]
{{Anchor|missing-strings}}
=== Мой файл полностью переведён, но при тестировании приложения виден английский текст! (#missing-strings) ===
Это не сильно похоже на вопрос. Тем не менее...
Возможные причины:
* Вероятно, этот текст не был отмечен разработчиком для перевода, поэтому он не был включён в POT-файл и, как следствие, в PO-файл. В этом случае разработчику потребуется извлечь этот текст с помощью gettext.
* Исходные файлы не были включены при сборке (intltool).
* POT-файл давно не обновлялся. На странице компонента можно проверить дату создания файла. Если файл был создан давно, об этом следует сообщить администраторам.
* Надо выполнить msmerge для вашего PO-файла. В этом случае статистика в Transifex покажет меньше 100% (так как Transifex автоматически выполняет эту операцию). Загрузите заново файл с Transifex или, если вы знаете как это сделать, выполните msmerge с POT-файлом самостоятельно.
{{Anchor|update-frequency}}
=== Как часто обновляется статистика? (#update-frequency) ===
Статистика обновляется автоматически после получения переведённых файлов.
Так, на странице модуля можно увидеть время последнего обновления.
Пример: ''Download POT file  POT file (217 messages) — updated on 2007-09-24 01:43:00 MST. ''  (MST is UTC-7).
{{Anchor|100-percent}}
=== Мой PO-файл полностью переведён, но не показан на странице. В чём дело? (#100-percent) ===
Наиболее вероятные причины:
* Статистика обновляется не сразу, а по расписанию. В этом случае следует дождаться следующего обновления. См. [[live|  #live]]
* Возможно, для отправленного вами PO-файла сначала нужно выполнить msgmerge, так как, может быть, он не содержит последние добавленные строки. Скажем, вы загрузили PO-файл из VCS, перевели его и отправили обратно. Прежде чем выполнить сбор статистики, Transifex выполнит <code>msgmerge</code> (операцию объединения изменений в файле *.pot с переведённым файлом *.po).
{{Anchor|add-transifex}}
=== Как добавить модуль в Transifex? (#add-transifex) ===
Чтобы добавить новые файлы для перевода через Transifex, сначала нужно создать учётную запись VCS. Подробности описаны на странице [[Infrastructure/SOP/Translations]].
==== Шаг 1: Откройте доступ к модулю ====
Если модуль расположен '''в инфраструктуре Fedora:
* Если вы являетесь координатором проекта, добавьте [https://admin.fedoraproject.org/accounts/user/view/transif пользователя "transif"] в группу проекта [https://admin.fedoraproject.org/accounts/group/list/ в Fedora Account System] и поручитесь за него.
* Если вы не являетесь координатором, откройте запрос о добавлении этого пользователя в Bugzillа и свяжите его с отчётом #436824 так, чтобы новый запрос его блокировал. Пример: [https://bugzilla.redhat.com/show_bug.cgi?id=438122 #438122]
* Transifex использует этого пользователя для передачи переводов в репозиторий. Не стоит его удалять, так как это нарушит процесс отправки переводов.
* Перейдите к шагу 2.
Если модуль расположен где-то '''в другом месте''':
# Ваш репозиторий должен разрешать доступ через SSH. DimitrisGlezos поможет вам создать пару ключей и предоставит общедоступный ключ.
# Создайте учётную запись VCS (например, transifex-fedora), указав общедоступный ключ, и предоставьте ей права записи при доступе к модулю.
# Откройте доступ только для каталогов и файлов, которые переводчикам будет разрешено изменять (например, <code>/po/*</code>). Если это невозможно, нестрашно. Доступ можно ограничить в самой системе Transifex с помощью regex.
# Проверьте настройки.
# Добавьте комментарий в теле запроса Bugzilla и сообщите, что всё готово.
# Перейдите к шагу 2.
Если модуль расположен '''в другом месте, но вы не хотите предоставлять SSH-доступ''':
(например, если вы используете распределённые системы контроля версий, такие как git и Mercurial)
# [https://www.redhat.com/archives/fedora-trans-list/2009-October/msg00043.html Разместите промежуточную ветку] на github или fedorahosted и следуйте инструкциям, приведенным выше в секции "Если модуль расположен где-то в другом месте".
# После того как Transifex обновит промежуточную ветку, можно будет добавить изменения в репозиторий.
==== Шаг 2: Сообщите нам об изменениях ====
Создайте [https://bugzilla.redhat.com/bugzilla/enter_bug.cgi?product=Fedora%20Localization&component=l10n-requests запрос в Bugzilla] и укажите следующую информацию:
<pre>Имя модуля
Описание
Веб-страница проекта
Корень VCS, модуль, ветвь
Фильтр файлов (например, <code>po/.*</code>)
Changelog (если доступен)
Веб-страница для доступа к VCS
<ссылка на отчёт для шага 1> (если существует)</pre>
Кто-нибудь проверит наличие доступа записи, добавит модуль в Transifex, убедится в возможности отправки переводов и ответит на запрос.
Наконец, сообщите об изменениях в список рассылки fedora-trans-list. Всё!
{{Anchor|other}}


== Другие вопросы ==
== Другие вопросы ==


{{Anchor|no-pot}}
{{Anchor|no-pot}}
=== Почему для модуля X остутствует файл *.POT? (#no-pot) ===
=== Почему для модуля X нет файла *.POT? (#no-pot) ===


При сборке пакета некоторые разработчики используют утилиту gettext для извлечения строк, другие же пользуются <code>intltool</code>, что позволяет создавать POT-файл динамически. Поэтому для таких модулей POT-файл в VCS не существует, так как в нем просто нет необходимости. Таким образом, чтобы обновить PO-файл (msgmerge), выполните следующее:
При сборке пакета некоторые разработчики используют утилиту gettext для извлечения строк, другие же пользуются <code>intltool</code>, что позволяет создавать POT-файл динамически. Поэтому для таких модулей POT-файл в VCS не существует, так как в нем просто нет необходимости. Таким образом, чтобы обновить PO-файл (msgmerge), выполните следующее:
Line 118: Line 234:
Обратите внимание, что при отсутствии POT-файла обязательно, чтобы команда <code>intltool-update</code> завершилась успешно (см. [#missing-files-no-pot] ). Если это не удалось или, может, вы хотите, чтобы POT-файл в любом случае был добавлен в VCS, создайте запрос в Bugzilla для интересующего вас модуля и попросите разработчиков добавить файл.
Обратите внимание, что при отсутствии POT-файла обязательно, чтобы команда <code>intltool-update</code> завершилась успешно (см. [#missing-files-no-pot] ). Если это не удалось или, может, вы хотите, чтобы POT-файл в любом случае был добавлен в VCS, создайте запрос в Bugzilla для интересующего вас модуля и попросите разработчиков добавить файл.
{{Anchor|no-po-files}}
{{Anchor|no-po-files}}
=== Для интересующего меня модуля нет PO-файлов и статистики! Можно это исправить? (#no-po-files) ===
К сожалению, нет. Эту проблему может решить разработчик, поэтому рекомендуется создать запрос в Bugzilla (для Fedora и Red Hat) или в Trac (для fedorahosted.org).
{{Anchor|msgmerge}}
=== Что делает msgmerge? (#msgmerge) ===
Любой PO-файл должен содержать те же записи, что и соответствующий ему POT, даже если они не переведены. Если в файле *.PO отсуствуют записи, то эти записи в окончательном продукте не будут переведены. Получается парадокс: PO-файл полностью переведён, а статистика на сайте показывает обратное или, ещё хуже, приложение содержит текст на английском языке.
В идеале для всех PO-файлов нужно выполнить операцию объединения (msgmerge) после каждого обновления POT. Но поскольку это не всегда происходит, иногда переводчикам приходится самостоятельно убедиться, что файл был вовремя обновлён. Веб-утилиты сайта исполняют <code>msgmerge</code> каждый раз ДО расчёта статистики. Так, они выполняют объединение записей из существующего PO-файла с новыми записями из POT-файла и уже после этого показывают статистику. Они также покажут ссылку к полученному PO-файлу, загрузить который можно выбрав соответствующий значок справа.
Чтобы убедиться, что PO-файл действительно полностью переведён:
# На странице статистики загрузите PO-файл и затем опять его отправьте. Просмотрите результат.
# С помощью VCS напрямую загрузите PO-файл и выполните msgmerge прежде чем приступить к работе над ним. Для модулей с поддержкой intltool (им соответствует файл <code>po/POTFILES.in</code>):
<pre>cd po && intltool-update <language>
</pre>
Для других:
<pre>export L='el' && mv $L.po $L.previous.po && msgmerge $L.previous.po *pot > $L.po
</pre>
=== Как переводить файлы .desktop? ===
Просмотрите [https://www.redhat.com/archives/fedora-trans-list/2009-August/msg00040.html это сообщение].
{{Anchor|ssh-key-denied}}
=== При попытке получения или отправки файла я получаю ошибку "Permission denied" (#ssh-key-denied) ===
В большинстве случаев эта проблема связана с несоответствием ключей SSH. Когда пользователь создаёт новую учётную запись, мы ей сопоставляем ключ SSH. При этом мы попросим пользователя отправить на сервер общедоступную часть ключа (расположена в локальном каталоге <code>~/.ssh/</code>), после чего для идентификации пользователя будет использоваться этот ключ. Это обеспечивает более высокий уровень защиты по сравнению с использованием обычных паролей. Если вы не можете пройти аутентификацию на cvs.fedoraproject.org, это означает, что используемый  SSH-ключ не соответствует ключам на наших серверах.
Если вы недавно изменили ключ SHH, его надо заново [http://admin.fedoraproject.org/accounts/ отправить].
Если же вы ключ не изменяли, убедитесь, что используется верный ключ (например, скопируйте их с вашего другого компьютера).
=== Где можно найти запись "About this Computer"? ===
Эту запись можно найти в Вики, на странице [https://fedoraproject.org/wiki/WillWoods/AboutThisComputer AboutThisComputer].
=== Можно ли перевести секцию Export Regulations, которая появляется в нижней части страницы fedoraproject.org/get-fedora? ===
Нет. Эта секция должна оставаться на английском. [http://lists.fedoraproject.org/pipermail/legal/2010-March/001183.html Подробнее].
=== Когда мы получаем версии текстов для переводов (POT/PO)? ===
Следите за датой "String freeze", именно тогда разработчики сгенерируют окончательную версию PO-файла. Это также работает и для документации, авторы текстов ориентируются на эту дату при добавлении и изменении исходного текста документов. Список дат можно найти в секции "Detailed Schedules" на странице [https://fedoraproject.org/wiki/Schedule плана работ].
=== Что делать, если текст был изменен после даты "String Freeze"? ===
Отправьте запрос в рассылку trans@lists.fpo.
[[Category:LocalizationRussian]][[Category:Страницы на русском]]

Latest revision as of 12:31, 30 November 2010

Эта страница давно не обновлялась
Данную статью желательно обновить, дополнить, привести в соответствие с оригиналом или переместить в архив.

Часто задаваемые вопросы о выполнении переводов в проекте Fedora

Здесь приведены наиболее часто встречающиеся вопросы о проекте локализации 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 на юридическом уровне, но не имеет возможности проверять каждый перевод. Поэтому настоятельно рекомендуется оставлять исходный текст на английском.


Как сообщить об ошибках или отправить свои предложения?

Например, если не удаётся отправить перевод пакета XYZ или получить его статистику перевода, то можно создать отчёт на этой странице.

  • Сообщения об ошибках и предложения по улучшению работы Transifex следует отправлять сюда: http://transifex.org/newticket

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

Но быстрее всего связаться с группой администраторов FLP можно напрямую в канале IRC #fedora-l10n.

Вопросы по сайту

Сайт проекта локализации Fedora расположен по адресу http://translate.fedoraproject.org/.

Как сообщить об ошибках сайта проекта переводов или отправить свои предложения? (#bugs)

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

Прежде чем создавать новый запрос, просмотрите этот список и убедитесь, что об этой проблеме ещё не сообщалось. Также можно задать вопрос в канале #fedora-l10n. В теле запроса подробно опишите проблему, укажите модуль и выпуск, время события (UTC) и ваше имя пользователя Fedora. Если вы считаете, что проблема связана с конкретным файлом, включите информацию об этом файле.

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

Как создать новую команду перевода? (#new-team)

Если вы хотите заниматься координацией переводов, вам сюда (ссылка на статью на англ.)

Чтобы добавить новую команду, создайте запрос в Bugzilla.

Укажите язык, ваше имя и учетную запись FAS, электронный адрес, а также ссылку на страницу вашей команды и адрес рассылки (если они существуют).

Как создать компонент Bugzilla для русского языка? (#bugzilla-team)

Для каждого языка существует отдельный компонент в системе регистрации ошибок Bugzilla, что позволяет облегчить перенаправление отчетов людям, которые смогут исправить ошибки. Список поддерживаемых языков можно найти в файле owners.list по адресу /cvs/l10n/owners/.

За дальнейшей информацией можно обратиться к координатору переводов (ссылка на статью на англ.) .

Для создания отчета об ошибке необходимо зарегистрироваться в Bugzilla. Новую учетную запись можно создать на странице Create Bugzilla account

Если у вас уже есть учетная запись Bugzilla, можно приступить к созданию нового отчета об ошибке. В списке "Component" выберите "Russian [ru]" и в поле "Description" подробно опишите проблему. При необходимости заполните остальные поля.

Завершив, нажмите кнопку "Commit".

Что это за предупреждения на странице статистики? (#stats-warnings)

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

Ошибки intltool (#intltool-errors)

Это наиболее распространенные ошибки (например, "Can't generate POT file"). Обычно означает, что модуль не использует intltool для извлечения строк, поэтому нет стопроцентной гарантии, что все строки, которые требуется перевести, будут включены в POT-файл. Если сообщение содержит "Using old one", то будет использоваться POT-файл, предоставленный переводчиком.

File:L10N FAQ l10nerror1.png

Сообщение: "There are some missing files from POTFILES.in" (#missing-files)

Если сообщения содержат "There are some missing files from POTFILES.in", это означает, что не все исходные файлы использовались при извлечении строк. Об этой ошибке рекомендуется сообщить разработчикам (создайте запрос в Bugzilla).

File:L10N FAQ l10nerror2.png

Сообщение: "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 ). В других ситуациях это сообщение можно просто проигнорировать.

File:L10N FAQ l10nerror3.png

Другие ошибки (например, сообщение "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.

Если модуль расположен где-то в другом месте:

  1. Ваш репозиторий должен разрешать доступ через SSH. DimitrisGlezos поможет вам создать пару ключей и предоставит общедоступный ключ.
  2. Создайте учётную запись VCS (например, transifex-fedora), указав общедоступный ключ, и предоставьте ей права записи при доступе к модулю.
  3. Откройте доступ только для каталогов и файлов, которые переводчикам будет разрешено изменять (например, /po/*). Если это невозможно, нестрашно. Доступ можно ограничить в самой системе Transifex с помощью regex.
  4. Проверьте настройки.
  5. Добавьте комментарий в теле запроса Bugzilla и сообщите, что всё готово.
  6. Перейдите к шагу 2.

Если модуль расположен в другом месте, но вы не хотите предоставлять SSH-доступ:

(например, если вы используете распределённые системы контроля версий, такие как git и Mercurial)

  1. Разместите промежуточную ветку на github или fedorahosted и следуйте инструкциям, приведенным выше в секции "Если модуль расположен где-то в другом месте".
  2. После того как 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-файл действительно полностью переведён:

  1. На странице статистики загрузите PO-файл и затем опять его отправьте. Просмотрите результат.
  2. С помощью 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.