[devel] menu DURING_INSTALL

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вт Ноя 25 14:32:26 MSK 2008


On Tue, Nov 25, 2008 at 01:05:15PM +0200, Igor Vlasenko wrote:
> On Tue, Nov 25, 2008 at 01:37:34PM +0300, Alexey Tourbin wrote:
> > По-моему, в списке languages() кодировки указывать не надо.
> 
> Но кодировки нужно указывать в langs(), 
> чтобы не сломать рабочие системы :(

lang() будет работать как и раньше.

> Например, в
> /etc/menu-methods/icewm:
> [...]
>   x11=  "  prog \"" translate(lang(), title()) "\" \"" findicon($icon, "-") "\" 
> " $command"\n"
> [...]
> 
> $ cat /etc/menu-methods/lang.h
> function lang()="ru_RU.CP1251"
> function languages()="ru_RU"
> 
> (У меня локаль пользователей - ru_RU.CP1251).
> 
> Проблема в том, что, например, icewm не поддерживает кодировок,
> что видит, то и поет (хоть бНОПНЯ, хоть РєРСРs).

Вот как это будет работать.

$ hsh --init && hsh-install menu
...
<13>Nov 25 11:26:26 rpmi: sox-14.0.1-alt3 installed
<13>Nov 25 11:26:26 rpmi: sound_handler-0.3.1-alt1 installed
<13>Nov 25 11:26:26 rpmi: libao-alsa-0.8.8-alt1.13239 installed
<13>Nov 25 11:26:26 rpmi: menu-2.1.41-alt3 installed
$ echo LC_MESSAGES=ru_RU.CP1251 |hsh-run --rooter -- sort -o /etc/sysconfig/i18n
$ hsh-run --rooter /usr/sbin/update-menus
$ hsh-run cat /etc/menu-methods/lang.h   
# Generated by /usr/sbin/update-menus.
function lang()="ru_RU.CP1251"
function languages()="af:am:ar:az:be:bg:br:bs:ca:cs:cy:da:de:el:eo:es:et:eu:fa:fi:fr:ga:gl:he:hi:hr:hu:id:is:it:ja:ka:ko:lt:lv:mi:mk:mn:ms:mt:nb:nl:nn:oc:pl:pt:pt_BR:ro:ru:sk:sl:sq:sr:sr на Latn:sv:ta:tg:th:tr:uk:uz:uz на Cyrl:vi:wa:xh:zh_CN:zh_TW"
$ 

(Далее.)

$ hsh-install icewm
...
<13>Nov 25 11:28:41 rpmi: xinitrc-2.4.31-alt1 installed
<13>Nov 25 11:28:41 rpmi: icewm-light-1:1.2.36-alt1 installed
WARNING: icewm-light uses obsolete alternatives interface
<13>Nov 25 11:28:41 rpmi: design-icewm-1.0-alt5 installed
<13>Nov 25 11:28:41 rpmi: icewm-1:1.2.36-alt1 installed
$ hsh-run cat /etc/X11/icewm/menu |iconv -f cp1251
prog "Terminal" xterm xvt
menu "Сессия" "windowmanager_section" {
menu "Оконные менеджеры" "windowmanager_section" {
  restart "IceWM" "icewm" icewm
}
}
menu "Терминалы" "terminals_section" {
  prog "UXTerm" "xterm-color_48x48" uxterm
  prog "XTerm" "xterm-color_48x48" xterm -name XTerm
}
$

> На примере 
> /etc/menu-methods/xdg-desktop-entry-spec-apps
> эта проблема не видна, так как для .desktop файлов 
> конечная кодировка (utf-8) задана заранее
> и не зависит от системной локали.

lang() всегда соответсвует LC_MESSAGES (или LC_ALL), и поэтому,
как правило, там всегда есть кодировка.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20081125/205414eb/attachment-0001.bin>


Подробная информация о списке рассылки Devel