FindLang Policy: различия между версиями

Материал из ALT Linux Wiki
м (переименовал «FindLangPolicy» в «FindLang Policy»)
 
(не показана 1 промежуточная версия 1 участника)
Строка 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

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