FindLang Policy: различия между версиями
(не показаны 2 промежуточные версии 2 участников) | |||
Строка 9: | Строка 9: | ||
=== Общие положения. === | === Общие положения. === | ||
* Языкозависимые файлы, отсутствие которых не нарушает работы программы,должны быть помечены как %lang. | * Языкозависимые файлы, отсутствие которых не нарушает работы программы, должны быть помечены как %lang. | ||
* Допускается (из-за особенностей реализации %find_lang, см. [http://lists.altlinux.org/pipermail/devel/2010-February/180492.html письмо]) не помечать файлы для языка en, в том числе .mo файлы. | * Допускается (из-за особенностей реализации %find_lang, см. [http://lists.altlinux.org/pipermail/devel/2010-February/180492.html письмо]) не помечать файлы для языка en, в том числе .mo файлы. | ||
Строка 43: | Строка 43: | ||
При этом find-lang ищет файлы справки KDE в %_defaultdocdir/HTML | При этом find-lang ищет файлы справки KDE в %_defaultdocdir/HTML | ||
При необходимости "собрать" несколько групп файлов переводов можно применить такую форму: | |||
%find_lang --output=%name.lang %name %name-gnulib | |||
Далее секция %files оформляется следующим образом: | Далее секция %files оформляется следующим образом: |
Текущая версия от 23:32, 2 января 2021
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, имеет и другие параметры, делающие его более гибким, см. исходный текст.