Alterator/l10n

Материал из ALT Linux Wiki

help

Старая схема:

  • хелпы хранятся в пакете alterator-l10n, устанавливаются в директорию /usr/share/alterator/l10n/help/ и не используются альтератором
  • модуль, использующий хелп из alterator-l10n должен иметь сборочную зависимость на alterator-l10n
  • при сборке модуля хелпы берутся из /usr/share/alterator/l10n/help/ (см. ) и устанавливаются в директорию /usr/share/alterator/help/, где их и ищет альтератор.

(неочевидная хитрость: хелп устанавливается только, если он упомянут в desktop-файле модуля)

Таким образом, при изменении хелпа в alterator-l10n следует пересобирать модуль.

Новая схема:

  • Хелп пакуется либо в alterator-l10n либо в модуль и в любом случае устанавливается сразу в /usr/share/alterator/help/

При правки хелпа ипересборки модуля не требуется.

В 4.1 работает только старая схема, в 5.0 и Сизифе - обе схемы. Для поддержки двух схем в исходниках пакета alterator-l10n сделаны директории old_help и new_help. При переходе со старой схемы на новую надо следить, чтобы хелп не оказался запакован и в alterator-l10n и в модуль, и не возникло конфликта.

po

Старая схема:

  • словарь, общий для всех модулей, лежит в alterator-l10n
  • существует процедура обновления словаря, при которой по списку обновляются git-репозитории для всех модулей, использующих alterator-l10n, в них генерятся pot-файлы, берутся po-файлы и затем мерджатся с общим словарем внутри alterator-l10n.
  • модуль, использующий переводы из alterator-l10n должен иметь сборочную зависимость на alterator-l10n
  • при сборке модуля переводы берутся из alterator-l10n, создается отдельный словарь для данного модуля и устанавливается в систему.

Недостатки старой схемы:

  • При изменении модуля, приходится пересобирать alterator-l10n, а затем - опять модуль.
  • При пересборке alterator-l10n требуется иметь актуальные git-репозитории для всех модулей, которые используют alterator-l10n. Дело осложнено тем, что для модулей альтератора сложилась традиция сборки, при которой неясно, в чьем репозитарии находится актуальная версия. Существуют, впрочем "нечестные" способы обновления базы переводов alterator-l10n
  • "Общий" файл переводов очень неудобно мерджить, в случае, если несколько человек параллельно обновляют alterator-l10n
  • "Общий" файл переводов неудобно переводить без контекста.
  • В модуле, не использующем alterator-l10n может быть нужна сборочная зависимость на модуль, использующий alterator-l10n. В этом случае локальные переводы пропадут из модуля.

Предложение новой схемы: