Перейти к содержанию

locale


cL0N31

Рекомендуемые сообщения

цель: правильное отображение русских букв вместо вопросов и ероглифов в приложениях на русском языке (non-unicode); читабельность русских текстовых файлов; никаких побочных эффектов типа полной локализации быть не должно; не использовать права root

что я сделал так это инициализировал следующие переменные в моём .profile :

LANG=ru_RU
LC_NUMERIC=POSIX
LC_TIME=POSIX
LC_COLLATE=POSIX
LC_MONETARY=POSIX
LC_MESSAGES=POSIX
LC_PAPER=POSIX
LC_NAME=POSIX
LC_ADDRESS=POSIX
LC_TELEPHONE=POSIX
LC_MEASUREMENT=POSIX
LC_IDENTIFICATION=POSIX

вопрос: есть ли вариант решения задачи проще, или это самый правильный метод?

Ссылка на комментарий
Поделиться на другие сайты

ИМХО, использование переменных окружения (environment variables) - это самый правильный способ.

Не очень четко сформулирована задача и вариант ее решения. У вас программа с русской локализацией или без? Она у вас отображается/должна отображаться на русском языке? Ввод текста осуществляется/должен осуществлять на русском? Работает или нет?

Ссылка на комментарий
Поделиться на другие сайты

программа русская с русскими букавками запущенная в wine... при выставлении этих переменных всё отображает корректно... без этих переменных отображает ероглефы... хотя только недавно заметил что если в окне терминала ввести 'man несуществующая команда' то в ответ выдаютса ероглифы которые по идее должны грить что мол not found... может я какую var забыл?

Ссылка на комментарий
Поделиться на другие сайты

Уж не знаю, правильно ли я вас понял. Вообще, если вам нужна русская локаль, то надо всем этим переменным присвоить значение ru_RU. При этом ru_RU - это на самом деле только ссылка на ru_RU.UTF8, либо ru_RU.KOI8-R, либо ru_RU.CP1251 и т.п. Программы, которыми вы будете пользоваться должны иметь соответствующую локализацию. Про то, как это устроено, надо читать в manpages. Полный перечень поддерживаемых локалей можно узнать с помощью locale -a, если чего-то нехватает, можно собрать недостающие файлы с помощью localedef. Я, помнится, как-то добавлял ручками локаль ru_RU.CP1251 в Mandrake Linux много-много лет назад. В любом современном дистрибутиве все локали уникодные.

Поэтому, если что-то где-то кракозяблами, то первым делом попробуйте export LC_ALL=ru_RU && export LANG=ru_RU && ./myprog. Если это "лечит ситуацию", прописывайте в profile значения ru_RU для всех переменных.

Как там wine работает с этими переменными, и есть ли какая-то специфика, я не в курсе, т.к. не сталкивался и сталкиваться не собираюсь.

Ссылка на комментарий
Поделиться на другие сайты

вобщем запускаемое приложение как я уже говорил я запускаю через wine а значит оно виндовое... линуховой локализации в нём нет и не могло быть естессно... кодировка в нём non-unicode... моя цель ещё раз: сделать чтоб через wine сия прога отображалась корректно, но чтоб линух в целом остался английским а не русским... потомучто если я поменяю всё на ru_RU и LC_MESSAGES в том числе то будут messages на русском

Ссылка на комментарий
Поделиться на другие сайты

И, кстати, переменные окружения можно задавать только для запуска одной программы. К примеру, вы можете для запуска gedit задать для LC_ALL значение POSIX дав в терминале команду:

$ LC_ALL=POSIX gedit

Для запуска вашей этой программы можно сделать так:

LC_CTYPE=ru_RU wine /path/to/myprog

Это не спасет отца русской демократии?

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...