переменная "LANG" (локализация)

Автор takeda, 05 Сентября 2008, 00:37

« предыдущая тема - следующая тема »

0 Пользователей и 1 Гость просматривают эту тему.

takeda

установил "Gentoo 2008.1", преступил к локализации:
во всех мануалах по локализазии(которые я нашел в интернете) говорится что значение переменной "LANG" и "LC_NUMERIC" надо выстовлять в файле "/etc/env.d/02locale". создание этого файла и установка в нем переменных не к чему не приводит.
Наверное разработчики переместили этот файл в другое место(это мое предположение) :o.
Где надо выставлять эти переменные(желательно то место где предпологают разработчики), что при полном обновлении(#emerge --sync; #emerge --update --deep --newuse world) эти переменные остовались на том же месте?
надо установить следующие значения:
LANG="ru_RU.utf8"
LC_NUMERIC="C"

Vicpo

/etc/locale.gen
en_US ISO-8859-1
en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8
ru_RU.KOI8-R KOI8-R
ru_RU.CP1251 CP1251

./locale-gen

И все станет на свои места.
отсюда

Видимо там же и искать LC_NUMERIC

takeda

нет это не то!
В этом файле выставляется какие локали будут собраны при пересборке glibc.
А локали у меня собраны и работают нормально.

http://ru.gentoo-wiki.com/HOWTO_ru_RU.utf8_Gentoo_way

Vicpo

ну тогда незнаю 2008.1 ещё не качал не пробовал развернуть

takeda

я до этого ошибся с версией gentoo у меня 2008.0
PS: хотя это нечего не меняет.

resurtm

Не знаю в чём проблема, но у меня локаль в Gentoo с профилем 2008.0 работает отлично. Так что проверяйте получше там, где копались.

resurtm@resurtm-desktop ~ $ cat /etc/env.d/02locale
LC_ALL=""
LANG="ru_RU.UTF-8"
LC_NUMERIC="C"
resurtm@resurtm-desktop ~ $ locale
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC=C
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=
resurtm@resurtm-desktop ~ $ ls -FGg /etc/make.profile
lrwxrwxrwx 1 46 Авг 30 19:13 /etc/make.profile -> /usr/portage/profiles/default/linux/x86/2008.0/
resurtm@resurtm-desktop ~ $ uname -a
Linux resurtm-desktop 2.6.25-gentoo-r7 #6 Tue Sep 2 21:52:32 ALMT 2008 i686 AMD Sempron(tm) Processor 3100+ AuthenticAMD GNU/Linux
resurtm@resurtm-desktop ~ $ cat /proc/version
Linux version 2.6.25-gentoo-r7 (root@resurtm-desktop) (gcc version 4.1.2 (Gentoo 4.1.2 p1.1)) #6 Tue Sep 2 21:52:32 ALMT 2008

takeda

ЦитироватьНе знаю в чём проблема, но у меня локаль в Gentoo с профилем 2008.0 работает отлично. Так что проверяйте получше там, где копались.

так у меня нету файла /etc/env.d/02locale

resurtm

Цитировать
ЦитироватьНе знаю в чём проблема, но у меня локаль в Gentoo с профилем 2008.0 работает отлично. Так что проверяйте получше там, где копались.

так у меня нету файла /etc/env.d/02locale

Так его и надо создавать руками. И вписать туда то, что указывают:

LC_ALL=""
LANG="ru_RU.UTF-8"
LC_NUMERIC="C"

Например так:

# touch /etc/env.d/02locale
# echo "LC_ALL=""" >> /etc/env.d/02locale
# echo "LANG="ru_RU.UTF-8"" >> /etc/env.d/02locale
# echo "LC_NUMERIC="C"" >> /etc/env.d/02locale

takeda

to resurtm
В самом начале я сказал что создание этого файла вручную не к чему не приводит.

проблему решил выполнением команды:
echo "export LANG="en_US.utf8"" >> /etc/profile
хотя, не нравится мне это решение