FindLang Policy
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, имеет и другие параметры, делающие его более гибким, см. исходный текст.