FindLang Policy: различия между версиями
(не показано 5 промежуточных версий 4 участников) | |||
Строка 1: | Строка 1: | ||
{{ | {{Policy | ||
|responsible= | |responsible=Игорь Власенко | ||
| | |since=незапамятных времен | ||
| | |metabug= | ||
}} | }} | ||
==Policy по применению %find_lang.== | ==Policy по применению %find_lang.== | ||
=== Общие положения. === | === Общие положения. === | ||
* Языкозависимые файлы, отсутствие которых не нарушает работы программы,должны быть помечены как %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 файлы. | ||
Строка 18: | Строка 19: | ||
* Рекомендуется для создания списков таких файлов использовать, где это возможно, встроенную команду %find_lang. | * Рекомендуется для создания списков таких файлов использовать, где это возможно, встроенную команду %find_lang. | ||
Часто встречающиеся файлы, которые рекомендуется помечать командой %find_lang: | |||
** {{path|/usr/share/locale/*/*.mo}} | ** {{path|/usr/share/locale/*/*.mo}} | ||
Строка 42: | Строка 43: | ||
При этом find-lang ищет файлы справки KDE в %_defaultdocdir/HTML | При этом find-lang ищет файлы справки KDE в %_defaultdocdir/HTML | ||
При необходимости "собрать" несколько групп файлов переводов можно применить такую форму: | |||
%find_lang --output=%name.lang %name %name-gnulib | |||
Далее секция %files оформляется следующим образом: | Далее секция %files оформляется следующим образом: | ||
%files -f %name.lang | %files -f %name.lang | ||
%find_lang, являющийся скриптом, имеет и другие параметры, делающие его более гибким. | %find_lang, являющийся скриптом {{path|/usr/lib/rpm/find-lang}}, имеет и другие параметры, делающие его более гибким, | ||
см. исходный текст. |
Текущая версия от 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, имеет и другие параметры, делающие его более гибким, см. исходный текст.