FindLang Policy

Материал из ALT Linux Wiki
Stamp90cw.png
Действующая политика Sisyphus

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

Ответственный за проведение политики в жизнь — Игорь Власенко.


Policy по применению %find_lang.

Общие положения.

  • Языкозависимые файлы, отсутствие которых не нарушает работы программы, должны быть помечены как %lang.
  • Допускается (из-за особенностей реализации %find_lang, см. письмо) не помечать файлы для языка en, в том числе .mo файлы.
  • Допускается не помечать файлы, входящие в подпакеты c разбивкой по языкам вида *-i18n-<lang>.
  • .po файлы, установленные в /usr/share/locale/*/*.po, должны быть конвертированы в .mo формат.
  • Рекомендуется для создания списков таких файлов использовать, где это возможно, встроенную команду %find_lang.

Часто встречающиеся файлы, которые рекомендуется помечать командой %find_lang:

    • /usr/share/locale/*/*.mo
    • /usr/share/omf/*/*-<LANG>.omf описание omf
    • /usr/share/gnome/*/<LANG>
    • /usr/share/doc/HTML/<LANG>/*
    • /usr/share/man/<LANG>/*

Использование %find_lang

%find_lang вызывается в секции %install

Для программ GNOME указывается:

%find_lang --with-gnome %name

При этом find-lang кроме файлов переводов в %_datadir/locale ищет файлы справки Гном в %_datadir/gnome/help и .omf файлы в %_datadir/omf

Поэтому не нужно указывать в секции %files каталоги с locale (переводами), а также

%_datadir/omf/%name
%_datadir/gnome/help/

Для программ KDE указывается:

%find_lang --with-kde %name

При этом find-lang ищет файлы справки KDE в %_defaultdocdir/HTML

При необходимости "собрать" несколько групп файлов переводов можно применить такую форму:

%find_lang --output=%name.lang %name %name-gnulib

Далее секция %files оформляется следующим образом:

%files -f %name.lang

%find_lang, являющийся скриптом /usr/lib/rpm/find-lang, имеет и другие параметры, делающие его более гибким, см. исходный текст.