Некоторые rpm-пакеты помимо обязательного описания на английском языке могут содержать дополнительные описания на других языках.
Как можно посмотреть это локализованное описание через yum или rpm?
Локализованное описание rpm-пакетов
Про встроенные опции у rpm для работы с "локализированным описанием" я никогда не слышал. Такие разве вообще имеются?
Правильно ли я понял задачу, необходимо посмотреть описание rpm-пакета, но не целиком, а только ту часть, что НЕ на английском языке. Так?
Самое простое, что пришло в голову
[console]rpm -qpi pkg.rpm | grep "[А-Яа-яЁё]"[/console]
Выдаст только те строки, что содержат символы русского алфавита, т.е. как раз строки с "локализированным описанием пакета" :)
Естественно, это подразумевает, что язык искомого не-английского описания должен быть заранее известен.
Нет, не так.
spec-файлы могут содержать локализованное описание Summary(ru) и decsription -l ru. И если локаль русская, то выводиться должны эти строки, а не английские.
Сейчас я вижу эту проблему в Федоре 20. В консоли по Ctrl+Alt+F2 yum и rpm выводят всё правильно, а в konsole КДЕ - неправильно.
И ещё yum для неустановленных пакетов тоже неправильно выводит.
Пример - пакет libzen.
Vascom, а вот оно что.
Может с LANG или LC_CTYPE перед rpm явно указать, не пробовал?
Всё пробовал, и вручную тоже, не помогает. Вот вывод locale
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=Vascom,
Изменить кнопку запуска Konsole на:
LANGUAGE=ru:en konsoleз.ы. не решит проблему с запуском терминала через дельфина.
Vascom, locale выполняли от рута, или от пользователя? А запрос описания?
locale выполняли от рута, или от пользователя?
Без разницы (особенно если выводы везде одинаковые и типа верные)
Это кеды тупят.
Выполнение глобального:
export LANGUAGE=ru:enнегативно влияет на GTK-приложения.(становятся английскими)
Надо что-то покрутить.
Тогда, для исключения влияния Konsole, я бы попробовал через xterm или другой эмулятор терминала.
Тогда, для исключения влияния Konsole, я бы попробовал через xterm или другой эмулятор терминала.
Везде, кроме кед, всё нормально.
Проверил у Себя...
Команды которые использовал:
rpm -qi rpm
zypper if rpm
zypper - выводит сводку на русском языке.
rpm - выводит на английском.... (пункт summary)
Изучив содержимое пакета RPM видно вроде как локализованные файлы в нем содержаться.
Выполняем просто RPM видим что Локаль имеется...
Показать
RPM версия 4.11.1
Авторские права © 1998-2002 - Red Hat, Inc.
Эту программу можно свободно распространять на условиях GNU GPL
Использование: rpm [вырезано][/console]
Выполняю zypper для пакета aspell-ru (все на русском):
Показать
Загрузка данных о репозиториях...
Чтение установленных пакетов...
Сведения — пакет aspell-ru:
---------------------------
Репозиторий: openSUSE-13.1-Oss
Имя: aspell-ru
Версия: 0.99.f7.1-42.1.2
Архитектура: x86_64
Производитель: openSUSE
Установлен: Да
Состояние: актуален
Размер после установки: 5,6 MiB
Сводка: Русский словарь для Aspell
Описание:
Русский словарь для проверки правописания в Aspell.
[/console]
Выполняю ту же команду но с помощью RPM..., все плачевно хотя файл локали имеется...
Показать
Name : aspell-ru
Version : 0.99.f7.1
Release : 42.1.2
Architecture: x86_64
Install Date: Вт 19 ноя 2013 22:49:53
Group : Productivity/Text/Spell
Size : 5913778
License : GPL-2.0+ and LGPL-2.1+ and SUSE-Permissive-Modify-By-Patch
Signature : RSA/SHA256, Сб 28 сен 2013 03:36:38, Key ID b88b2fd43dbdc284
Source RPM : aspell-dictionaries-0.50.6-42.1.2.src.rpm
Build Date : Сб 28 сен 2013 03:26:55
Build Host : cloud137
Relocations : (not relocatable)
Packager : http://bugs.opensuse.org
Vendor : openSUSE
URL : http://aspell.net/
Summary : Russian Dictionary for Aspell
Description :
A Russian dictionary for the aspell spell checker.
Distribution: openSUSE 13.1
[/console]
В "LANGUAGE=ru:en konsole"
Показать
Name : libzen
Version : 0.4.29
Release : 1.fc20.R
Architecture: i686
Install Date: Чт 06 мар 2014 21:58:45
Group : System Environment/Libraries
Size : 310769
License : zlib
Signature : DSA/SHA1, Пн 03 июн 2013 16:44:42, Key ID 8318be83dbb6c70d
Source RPM : libzen-0.4.29-1.fc20.R.src.rpm
Build Date : Пт 31 май 2013 11:47:32
Build Host : koji.russianfedora.ru
Relocations : (not relocatable)
Packager : koji.russianfedora.ru
Vendor : Russian Fedora Team
URL : http://sourceforge.net/projects/zenlib
Summary : Разделяемая библиотека для libmediainfo and medianfo*
Description :
Файлы разделяемой библиотеки для libmediainfo and medianfo-*.
Distribution: RFRemix[/console]
Просто konsole:
Показать
Name : libzen
Version : 0.4.29
Release : 1.fc20.R
Architecture: i686
Install Date: Чт 06 мар 2014 21:58:45
Group : System Environment/Libraries
Size : 310769
License : zlib
Signature : DSA/SHA1, Пн 03 июн 2013 16:44:42, Key ID 8318be83dbb6c70d
Source RPM : libzen-0.4.29-1.fc20.R.src.rpm
Build Date : Пт 31 май 2013 11:47:32
Build Host : koji.russianfedora.ru
Relocations : (not relocatable)
Packager : koji.russianfedora.ru
Vendor : Russian Fedora Team
URL : http://sourceforge.net/projects/zenlib
Summary : Shared library for libmediainfo and medianfo*
Description :
Files shared library for libmediainfo and medianfo-*.
Distribution: RFRemix[/console]
И там, и там %description английское. В спеке точно все на месте? А в метаданных готового пакета? Плюс, русских локалей больше одной.
mozgfx,
Vascom имел ввиду содержимое:
Summary
Descriptionzypper if libzen:
Показать
Загрузка данных о репозиториях...
Чтение установленных пакетов...
Сведения — пакет libzen:
------------------------
Репозиторий: @System
Имя: libzen
Версия: 0.4.29-1.fc20.R
Архитектура: i686
Производитель: Russian Fedora Team
Установлен: Да
Состояние: актуален
Размер после установки: 303,5 KiB
Сводка: Shared library for libmediainfo and medianfo*
Описание:
Files shared library for libmediainfo and medianfo-*.[/console]
Это кеды тупят.
Да и я давно это обнаружил...
Локализация деградирует иногда... не знаю как в других дистрибутивах в openSUSe как минимум у двух форумчан была обнаружена проблема...
Я долго рыл и копал причину, а в итоге надоело и грохнул весь профиль KDE проблема исчезла.
Если повторится придется дорыться до сути ещё раз.
verg,
mozgfx,
Vascom имел ввиду содержимое:
Неудачный пакет взял за пример... у него (у пакета с именем RPM) оно изначально на английском.... поэтому и в моих выводах там на английском в обеих вариантах... сейчас найду более красивый пакет... ))
UPD:
Исправил в качестве примера пакет ASPELL-RU
Да, через "LANGUAGE=ru:en konsole" правильно показывает. Значит проблема КДЕ...
Надо подумать.
Старый баг: https://bugs.kde.org/show_bug.cgi?id=149300
Коммит к нему: http://lists.kde.org/?l=kde-commits&m=118929094520649
Сейчас эти строки выглядят так: (konsole-4.12.3/src/Pty.cpp)
// BR:149300
setEnv("LANGUAGE", QString(), false /* do not overwrite existing value if any*/);
Написано, что баг решён. Или нет на самом деле?