Что-то rpm -qi перестал выдавать русское описания пакетов, несмотря на наличие его в в спеке. $ rpm -qi newmoon ... Description : The New Moon browser, an unofficial branding of the Pale Moon project browser The palemoon project is a redesign of Mozilla's Firefox browser component, written using the XUL user interface language and designed to be cross-platform. Хотя : %description -l ru_RU.UTF8 Интернет-браузер %sname - кроссплатформенная модификация браузера Mozilla Firefox , созданная с использованием языка XUL для описания интерфейса пользователя.
Должна быть установлена локаль.
Created attachment 17545 [details] Локаль установлена Естественно, или вы что-то другое имеете ввиду ?
Да всё правильно. А что покажет declare -p LANGUAGE LC_ALL LC_MESSAGES LANG ?
Не понял, что за declare ? Если команда , то посмотрю что за пакет
Пожалуйста, введите в bash промпт и, если не трудно, покажите полный вывод команды: declare -p LANGUAGE LC_ALL LC_MESSAGES LANG
declare -p LANGUAGE LC_ALL LC_MESSAGES LANG declare -x LANGUAGE="" bash: declare: LC_ALL: не найден bash: declare: LC_MESSAGES: не найден declare -x LANG="ru_RU.UTF-8"
Вначале не понял на что ругается
Спасибо. Причина такого поведения в том, что переменная окружения LANGUAGE определена в пустую строку.
(In reply to Vitaly Chikunov from comment #8) > Спасибо. Причина такого поведения в том, что переменная окружения LANGUAGE > определена в пустую строку. Причина такого поведения rpm в том, что переменная окружения LANGUAGE > определена в пустую строку.
(In reply to Vitaly Chikunov from comment #8) > Спасибо. Причина такого поведения в том, что переменная окружения LANGUAGE > определена в пустую строку. Причина такого поведения rpm в том, что переменная окружения LANGUAGE определена в пустую строку.
Как вылечить ?
LANGUAGE=ru_RU.UTF8 rpm -qi newmoon Name : newmoon Epoch : 2 Version : 33.4.1 Release : alt1 DistTag : sisyphus+363284.100.1.1 Architecture: x86_64 Install Date: Сб 23 ноя 2024 21:23:01 Group : Networking/WWW Size : 112842366 License : MPL-2.0 GPL-3.0 and LGPL-2.1+ Signature : RSA/SHA512, Сб 23 ноя 2024 21:07:38, Key ID ff979dedda2773bb Source RPM : palemoon-33.4.1-alt1.src.rpm Build Date : Сб 23 ноя 2024 21:06:46 Build Host : ruslandh-sisyphus.hasher.altlinux.org Relocations : (not relocatable) Packager : Hihin Ruslan <ruslandh@altlinux.ru> Vendor : ALT Linux Team URL : https://github.com/MoonchildProductions/Pale-Moon Summary : Интернет-браузер New Moon - неофициальная сборка браузера Pale Moon Description :
А куда Description пропал ? Возмдго я не так в пакете что-то сделал ;-)
(In reply to ruslandh from comment #13) > Возмдго я не так в пакете что-то сделал ;-) Попробуйте определить такую же локаль как в Summary.
PS, пойду разбираться ;-) LANGUAGE=ru_RU.UTF8 rpm -qi alsa-tools Name : alsa-tools Version : 1.2.11 Release : alt1 DistTag : sisyphus+352677.100.1.1 Architecture: x86_64 Install Date: Вс 14 июл 2024 10:14:22 Group : System/Kernel and hardware Size : 504059 License : GPLv2+ Signature : RSA/SHA512, Чт 11 июл 2024 21:38:32, Key ID ff979dedda2773bb Source RPM : alsa-tools-1.2.11-alt1.src.rpm Build Date : Чт 11 июл 2024 21:38:27 Build Host : mike-sisyphus.hasher.altlinux.org Relocations : (not relocatable) Packager : Valery Inozemtsev <shrek@altlinux.ru> Vendor : ALT Linux Team URL : http://www.alsa-project.org/ Summary : Инструменты ALSA Description : Пакет содержит инструменты ALSA (современной звуковой подсистемы Linux), предназначенные для низкоуровневой работы с некоторыми звуковыми картами (на чипах Envy24, EMU10K1).
.... Summary(ru_RU.UTF-8): Интернет-браузер New Moon - неофициальная сборка браузера Pale Moon .... %description -n %bname -l ru_RU.UTF8 Интернет-браузер New Moon - неофициальная сборка браузера Pale Moon Интернет-браузер %sname - кроссплатформенная модификация браузера Mozilla Firefox , созданная с использованием языка XUL для описания интерфейса пользователя. А где штатно у нас должен задаваться LANGUAGE ?
Спасибо.
Установлен ли startup(Ответ для Vitaly Chikunov на комментарий #10) > (In reply to Vitaly Chikunov from comment #8) > > Спасибо. Причина такого поведения в том, что переменная окружения LANGUAGE > > определена в пустую строку. > > > Причина такого поведения rpm в том, что переменная окружения LANGUAGE > определена в пустую строку. Почему LANGUAGE должна быть задана? В /etc/profile.d/lang.sh такой код: if [ -n "$LANGUAGE" ]; then [ "$LANGUAGE" != "$LANG" ] && export LANGUAGE || Unset LANGUAGE То есть если LANGUAGE равна LANG, произойдёт unset LANGUAGE. LANGUAGE нужна для указания списка альтернативных локалей через двоеточие. Обычно это не требуется.
(In reply to Антон Мидюков from comment #18) > > Причина такого поведения rpm в том, что переменная окружения LANGUAGE > > определена в пустую строку. > > Почему LANGUAGE должна быть задана? ? Кстати > В /etc/profile.d/lang.sh такой код: LANGUAGE="$(grep -s "^$LANG:" /etc/sysconfig/langmap ||:)" Это не выглядит как не ошибка. Впрочем, дальше все равно делается unset.
(Ответ для Vitaly Chikunov на комментарий #19) > (In reply to Антон Мидюков from comment #18) > > > Причина такого поведения rpm в том, что переменная окружения LANGUAGE > > > определена в пустую строку. > > > > Почему LANGUAGE должна быть задана? > > ? > LANGUAGE у нас была задана исключительно в специфичных случаях. Например, когда основная локаль татарская, а дополнительная русская. В rpm были изменения на этот счёт или их не было? > Кстати > > > В /etc/profile.d/lang.sh такой код: > > LANGUAGE="$(grep -s "^$LANG:" /etc/sysconfig/langmap ||:)" > > Это не выглядит как не ошибка. Впрочем, дальше все равно делается unset. /etc/sysconfig/langmap пережиток прошлого. Его ни у кого нет.
(In reply to Vitaly Chikunov from comment #19) > > В /etc/profile.d/lang.sh такой код: > LANGUAGE="$(grep -s "^$LANG:" /etc/sysconfig/langmap ||:)" > Это не выглядит как не ошибка. Впрочем, дальше все равно делается unset. (ps. Ошибся перепутав с -q.) (In reply to Антон Мидюков from comment #20) > (Ответ для Vitaly Chikunov на комментарий #19) > > (In reply to Антон Мидюков from comment #18) > > > > Причина такого поведения rpm в том, что переменная окружения LANGUAGE > > > > определена в пустую строку. > > > > > > Почему LANGUAGE должна быть задана? > > > > ? > > > > LANGUAGE у нас была задана исключительно в специфичных случаях. > Например, когда основная локаль татарская, а дополнительная русская. Так и не понял в чем состоит вопрос или почему он ко мне? У меня LANGUAGE не задана. И я не говорил и не считаю, что она "должна быть задана". Почему она задана в пустую строку у ruslandh я не знаю. grep в скриптах /etc/profile.d/ из репозитория не помог найти такой скрипт. Я не уверен что у нас вообще есть поддержка LANGUAGE. $ LANGUAGE=ru date Fri Jan 17 10:23:56 AM MSK 2025 > В rpm были изменения на этот счёт или их не было? Там основной код не менялся с 2008 года, а в 2018 был добавлен свой перекодировщик "convert" через iconv(3) https://bugzilla.altlinux.org/33190 впрочем, вряд ли это имеет отношение к делу?
Обрабатывается, но не правильно. Думаю, в апстриме так же. $ LANGUAGE=ru rpm -q man-pages --qf '%{summary}\n' Man (manual) pages from the Linux Documentation Project $ LANGUAGE=ru.UTF8 rpm -q man-pages --qf '%{summary}\n' Руководства пользователя Linux Documentation Project
Created attachment 17549 [details] Поигрался я тут с локалeми Поигрался я тут с переменными локали. Вопрос - я есть определение какая должна за что отвечать, или это куча реализаций одного и того-же от разных авторов ? Если что, можно ссылку, чтобы прочитать.
https://www.gnu.org/software/gettext/manual/html_node/Locale-Environment-Variables.html
ruslandh, было бы неплохо, если бы вы выяснили где у вас делается LANGUAGE="". Это может означать баг в чем-то другом. 🤷♂️
Мне трудно сказать, наверное из /etc/profile.d/lang.sh и т.п.
(Ответ для Vitaly Chikunov на комментарий #25) > ruslandh, было бы неплохо, если бы вы выяснили где у вас делается > LANGUAGE="". Это может означать баг в чем-то другом. 🤷♂️ Проблема проявляется в Сизифе на двух DE: kde и lxqt. Пока подозрение на kf6, как общий для них компонент.
(Ответ для Антон Мидюков на комментарий #27) > (Ответ для Vitaly Chikunov на комментарий #25) > > ruslandh, было бы неплохо, если бы вы выяснили где у вас делается > > LANGUAGE="". Это может означать баг в чем-то другом. 🤷♂️ > > Проблема проявляется в Сизифе на двух DE: kde и lxqt. Пока подозрение на > kf6, как общий для них компонент. В KDE проявляется в любом терминале, а в других DE только в терминалах konsole и qterminal. Проблема у konsole была ещё и в p5 (проверил на kdesktop). Какой-то баг qt от начала времён?
Да, в tty консоле нормально, даже в KDE. И если из tty консоли запустить xterm (DISPLAY=:0 xterm), то тоже нормально. А вот если так-же запустить konsole, то уже описание по английски. И еще, даты-то по-русски: $ rpm -qi man-pages Name : man-pages Version : 6.05.01 Release : alt1 DistTag : sisyphus+326874.100.1.1 Architecture: noarch Install Date: Ср 13 мар 2024 20:33:06 Group : Documentation Size : 2827373 License : BSD-2-Clause and BSD-3-Clause and BSD-4-Clause-UC and GPL-1.0-or-later and GPL-2.0-only and GPL-2.0-or-later and Linux-man-pages-copyleft and MIT Signature : RSA/SHA512, Чт 10 авг 2023 14:32:23, Key ID ff979dedda2773bb Source RPM : man-pages-6.05.01-alt1.src.rpm Build Date : Чт 10 авг 2023 14:32:21 Build Host : glebfm-sisyphus.hasher.altlinux.org Relocations : (not relocatable) Packager : Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org> Vendor : ALT Linux Team URL : http://www.kernel.org/doc/man-pages/ Summary : Man (manual) pages from the Linux Documentation Project Description : A large collection of man pages (reference material) from the Linux Documentation Project (LDP). The man pages are organized into the ....
Интересно, в этом случае в xterm: $ declare -p LANGUAGE LC_ALL LC_MESSAGES LANG bash: declare: LANGUAGE: не найден bash: declare: LC_ALL: не найден bash: declare: LC_MESSAGES: не найден declare -x LANG="ru_RU.UTF-8" А напомню, в konsole: $ declare -p LANGUAGE LC_ALL LC_MESSAGES LANG declare -x LANGUAGE="" bash: declare: LC_ALL: не найден bash: declare: LC_MESSAGES: не найден declare -x LANG="ru_RU.UTF-8" Т.е. в одном случае переменная LANGUAGE вообще не существует в окружении, а в другом существует, но равна пустой строке (?)
Возможно, LANGUAGE="" устанавливается в qtermwidget6/lib/Pty.cpp // unless the LANGUAGE environment variable has been set explicitly // set it to a null string // this fixes the problem where KCatalog sets the LANGUAGE environment // variable during the application's startup to something which // differs from LANG,LC_* etc. and causes programs run from // the terminal to display messages in the wrong language // // this can happen if LANG contains a language which KDE // does not have a translation for // // BR:149300 setEnv(QLatin1String("LANGUAGE"),QString(),false /* do not overwrite existing value if any */); 2010
(In reply to Vitaly Chikunov from comment #31) > Возможно, LANGUAGE="" устанавливается в qtermwidget6/lib/Pty.cpp То есть ошибки в наших скриптах нет, а libqtermwidget6.so хочет установить его в пустую строку и устанавливает. qtermwidget6 antohami @everybody
(Ответ для Vitaly Chikunov на комментарий #31) > Возможно, LANGUAGE="" устанавливается в qtermwidget6/lib/Pty.cpp > > // unless the LANGUAGE environment variable has been set explicitly > // set it to a null string > // this fixes the problem where KCatalog sets the LANGUAGE environment > // variable during the application's startup to something which > // differs from LANG,LC_* etc. and causes programs run from > // the terminal to display messages in the wrong language > // > // this can happen if LANG contains a language which KDE > // does not have a translation for > // > // BR:149300 > setEnv(QLatin1String("LANGUAGE"),QString(),false /* do not overwrite > existing value if any */); > > 2010 Этот код взят из Konsole: https://invent.kde.org/tcanabrava/konsole/-/blob/fix_bidirecctional_text_with_braille/src/Pty.cpp#L233 Они 17 лет назад ВРЕМЕННО пофиксили багу: https://invent.kde.org/tcanabrava/konsole/-/commit/675094884351142a3d5260258933f74841d756eb
(Ответ для Vitaly Chikunov на комментарий #32) > (In reply to Vitaly Chikunov from comment #31) > qtermwidget6 antohami @everybody Исправил: [#370498] DONE (try 2) qtermwidget6.git=2.1.0-alt2 Но проблема остаётся у kde и konsole.
(In reply to Антон Мидюков from comment #34) > (Ответ для Vitaly Chikunov на комментарий #32) > > (In reply to Vitaly Chikunov from comment #31) > > qtermwidget6 antohami @everybody > > Исправил: > [#370498] DONE (try 2) qtermwidget6.git=2.1.0-alt2 Спасибо. Как раз хотел предложить брать этот код.
(In reply to Vitaly Chikunov from comment #35) > (In reply to Антон Мидюков from comment #34) > > (Ответ для Vitaly Chikunov на комментарий #32) > > > (In reply to Vitaly Chikunov from comment #31) > > > qtermwidget6 antohami @everybody > > > > Исправил: > > [#370498] DONE (try 2) qtermwidget6.git=2.1.0-alt2 > > Спасибо. Как раз хотел предложить брать этот код. Убрать. :]
На всякий случай, подтверждаю, что после обновления qterminal перестал устанавливать LANGUAGE="", то есть это помогло.
Добрый день. потеря русского описания в секции %description -l ru_RU.UTF8 также воспроизводится на kitty, данное поле при отображении rpm -qi input-leap пустое при этом секция Summary(ru_RU.UTF-8): Программное обеспечение KVM с открытым исходным кодом показывается на русском.
(Ответ для Aleksandr Shamaraev на комментарий #38) > Добрый день. > > потеря русского описания в секции > %description -l ru_RU.UTF8 > Вы не видите, что локаль указана неверно? > также воспроизводится на kitty, данное поле при отображении rpm -qi > input-leap пустое > > при этом секция > Summary(ru_RU.UTF-8): Программное обеспечение KVM с открытым исходным кодом > > показывается на русском. А тут локаль указана правильно.
(Ответ для Антон Мидюков на комментарий #39) > (Ответ для Aleksandr Shamaraev на комментарий #38) > > Добрый день. > > > > потеря русского описания в секции > > %description -l ru_RU.UTF8 > > > > Вы не видите, что локаль указана неверно? > хм.. странно, но в пакете man-pages все показывает при %description -l ru_RU.UTF8 Большая коллекция справочного материала разработанного в рамках Linux Documentation Project (LDP). Материалы сгруппированы по секциям: 1: Команды пользователя (введение) 2: Системные вызовы 3: Вызовы libc 4: Устройства (например, hd, sd) 5: Форматы файлов и протоколов (например, wtmp, /etc/passwd, nfs) 6: Игры (только введение) 7: Соглашения, макропакеты, и т.д. 8: Системное администрирование (только введение) https://packages.altlinux.org/ru/sisyphus/srpms/man-pages/specfiles/ ок, я понял, потом пересобиру input-leap
Если указывать локали в разном написании, то для rpm это две разные локали и он будет показывать одну из них.
(Ответ для Vitaly Chikunov на комментарий #41) > Если указывать локали в разном написании, то для rpm это две разные локали и > он будет показывать одну из них. Я увидел... я понял смысл, большое спасибо. Антон, Вам тоже.