Вопрос или проблема
Я пытался установить UT99, как объяснено здесь и здесь. После загрузки необходимых библиотек я начал установку программы, но позже получил предупреждение, как указано в теме.
Я не понимаю, в чем проблема, другими словами, фраза “Локаль не поддерживается библиотекой C” не объясняет, в чем ошибка.
Я пытаюсь посмотреть внутри своей системы следующим образом:
$ sudo locale -a
C
C.UTF-8
it_IT.utf8
POSIX
Затем, если ввести
$ sudo locale -a
LANG=it_IT.utf8
LANGUAGE=
LC_CTYPE="it_IT.utf8"
LC_NUMERIC="it_IT.utf8"
LC_TIME="it_IT.utf8"
LC_COLLATE="it_IT.utf8"
LC_MONETARY="it_IT.utf8"
LC_MESSAGES="it_IT.utf8"
LC_PAPER="it_IT.utf8"
LC_NAME="it_IT.utf8"
LC_ADDRESS="it_IT.utf8"
LC_TELEPHONE="it_IT.utf8"
LC_MEASUREMENT="it_IT.utf8"
LC_IDENTIFICATION="it_IT.utf8"
LC_ALL=
На этом этапе я прекратил установку.
Какие-нибудь советы?
Спасибо
Вы получили предупреждение, а не ошибку. Но работает ли программа?
Я замечаю, что вы дважды показываете одну и ту же команду: $ sudo locale -a, но с разным выводом. Хмм, предполагаю, что это неправильное действие копирования/вставки.
Более важно, по крайней мере, я думаю, это могло бы быть важно, это пустая переменная
LANGUAGE=
В вашей системе я ожидал бы, что она будет: LANGUAGE=it_IT. Если это не поможет, вы могли бы попробовать изменить ваши локали на en_US и если предупреждения.
На сайте UT я вижу, что у них есть сообщество/форум. Я предлагаю вам также задать свой вопрос там. Удачи.
Ответ или решение
При установке UT99 вы столкнулись с предупреждением GTK, о том, что ваш текущий язык Locale не поддерживается C библиотекой. Это сообщение может ввести в заблуждение, так как кажется, что оно указывает на ошибку, тогда как на самом деле это лишь предупреждение. Давайте разберемся, что могло его вызвать и как это можно исправить.
Причины проблемы
-
Неподдерживаемая локаль: Предупреждение может возникнуть, если указанная локаль (например, it_IT.utf8) не была полностью настроена или поддерживается в вашей системе.
-
Некорректные настройки переменных окружения: Проблема может быть связана с неполными или неправильными значениями переменных среды, таких как
LANG
,LANGUAGE
,LC_*
. -
Отсутствие поддержки в запущенной программе: Некоторые программы, особенно старые игры, такие как UT99, могут не поддерживать локали отличные от en_US.
Решение проблемы
-
Проверьте наличие локалей:
Убедитесь, что локальit_IT.utf8
корректно установлена. Выполните команду:sudo locale-gen it_IT.utf8 sudo update-locale
После этого перезапустите терминал или выполните
source /etc/default/locale
. -
Проверка и корректировка переменных среды:
Проверьте значения переменных среды:echo $LANG echo $LANGUAGE
Если
LANGUAGE
пустая, добавьте в.bashrc
или в другой файл инициализации:export LANGUAGE=it_IT.utf8
Попробуйте временно изменить локаль на en_US для проверки:
export LANG=en_US.utf8 export LANGUAGE=en_US.utf8
-
Тестируйте программу:
Попробуйте запустить программу, чтобы проверить, устранилось ли предупреждение и корректно ли функционирует игра. -
Сообщество и поддержка:
Посетите форумы UT для получения дополнительной поддержки и возможных патчей или настроек от других пользователей, которые столкнулись с аналогичной проблемой.
Заключение
Хотя предупреждение о не поддерживаемой библиотекой локали может вызвать беспокойство, оно не всегда указывает на критическую ошибку, если игра работает правильно. Настройки локали часто связаны со специфическими системными конфигурациями и могут требовать ручной настройки для конкретных приложений. Подкорректировав переменные окружения и удостоверившись в поддержке вашей локали, вы сможете либо устранить предупреждение, либо убедиться в нормальной работе приложения.