LinuxForum.Fans
Тема

locale -a Как понимать, что она вывела?

Автор: andrei186 24 сообщений 3779 просмотров
16.11.2014 15:51 #401135

locale -a возвращает
С
С.UTF-8
en_GB.utf8
PROSIX
ru_RU.utf8

Я понимаю, это значения каких-то переменных.
Из них понял только en_GB.utf8 - это значение LANG в файле /ets/default/locale
Больше в этом файле ничего нет.

Каким переменным принадлежат
С
С.UTF-8
PROSIX
ru_RU.utf8

в каких файлах они сидят и за что отвечают?

16.11.2014 16:47 #401143
stalker_tk написал:

Извините, но ответ тоже детский. В ссылках нет ответа ни на один из моих вопросов.
Хуже, эти ссылки плодят новые вопросы. Например там сказано, что переменные находятся в файле etc/console-cyrillic. У меня этот файл есть, но он пустой.

16.11.2014 22:34 #401193

Вот что у меня
[console]$ locale -a
C
C.UTF-8
en_US.utf8
POSIX
ru_RU.utf8
[/console]
[console]$ locale
LANG=ru_RU.UTF-8
LANGUAGE=
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=[/console]

"andrei186" написал:
Например там сказано, что переменные находятся в файле etc/console-cyrillic. У меня этот файл есть, но он пустой.
Все зависит от версии дебиана, у меня тестинг с systemd

Если после установки появится необходимость в перенастройке, то для этих целей необходимо выполнить:

[console]sudo dpkg-reconfigure console-cyrillic[/console]

После того, как все настройки сделаны, необходимо перезагрузить систему, либо выполнить:

[console]sudo /etc/init.d/console-cyrillic start[/console]

Для сквизи эта информация актуальна. Вопрос не первый раз поднимался и обсуждался, что еще может быть непонятно *PARDON*

17.11.2014 05:52 #401217

Как понимать, что она вывела?

детский сад. Ладно, вот цитата:

-a, --all-locales
Display a list of all available locales. The -v option causes the LC_IDENTIFICATION
metadata about each locale to be included in the output.

Перевожу: "показ списка всех доступных локалей". Что вам ещё непонятно?

17.11.2014 06:02 #401219

"andrei186" написал:
Например там сказано, что переменные находятся в файле etc/console-cyrillic
бред. Это переменные окружения, и находятся они в оперативной памяти. Они наследуются от порождающего процесса, и их можно изменять. Но судя по вашему locale -a, изменять вам не на что. Потому сначала установите нужные локали пакетным менеджером.

И да, что-бы не было недомолвок, отмечу, что "локаль" это поддержка какого-т языка(русского, американского, и т.п.), а точнее какой-то страны. С помощью переменных можно включить что-то, что-бы например было так, как это принято в России, если конечно локаль ru доступна (у вас недоступна).

К примеру $LC_TIME определяет вывод времени, у меня например
[console]$ date
Пн ноя 17 05:58:42 MSK 2014
[/console]
А можно(у меня) и по-итальянски:
[console]$ LC_TIME=it_IT date
lun 17 nov 2014, 06.00.39, MSK
[/console]
Обратите внимание, что часовой пояс НЕ меняется. Меняется только формат вывода.
17.11.2014 06:04 #401220

"stalker_tk" написал:
у меня тестинг с systemd
вы этим гордитесь, да? Поверьте, systemd тут совсем не при чём.
17.11.2014 08:19 #401226

drBatty написал:
[quote="stalker_tk"]у меня тестинг с systemd
вы этим гордитесь, да? Поверьте, systemd тут совсем не при чём.[/quote]Нет, я не фанат systemd. Он был упомянут чтобы человек понимал возможные различия между релизами debian,а
17.11.2014 09:58 #401233

"stalker_tk" написал:
Он был упомянут чтобы человек понимал возможные различия между релизами debian,а
а это не нужно. Не нужно смотреть ни в какие каталоги и файлы, нужно осваивать пакетный менеджер.

вот нагуглил:

http://proadminz.ru/lokalizatsiya-debian/

этот вариант с systemd уже не работает?
17.11.2014 11:52 #401240

[console]$ sudo /etc/init.d/console-cyrillic start[/console]drBatty, в случае c systemd эта команда не сработает.

"drBatty" написал:
нужно осваивать пакетный менеджер.
Согласен.
17.11.2014 13:53 #401262

Мужики, Вы вопрос понимать умеете?
Я знаю, что это называется доступными локалями
Я спрашиваю, в каких настройках они хранятся.
Т.е. откуда команда locale -a берет эту информацию.
И потом что значит доступные? То, что я могу. скажем, переключать клаву с кириллицы на американку, и нашу десятичную запятую на американскую точку?
Что тогда С, POSIX?
На всяк случай - погуглил POSIX, но ничего не понял.
И последнее - эту ветку я затеял из-за моих недоразумений со Скайпом в соседней ветке, где все советуют что-то делать с локалью. Но у меня локаль выдает то же самое, что и у вас, а у вас вроде все верно - мне тогда зачем что-то делать со свое локалью?

17.11.2014 14:01 #401268
drBatty написал:
[quote="andrei186"]Например там сказано, что переменные находятся в файле etc/console-cyrillic

бред. Это переменные окружения, и находятся они в оперативной памяти.
.[/quote]
Ты это мне зачем говоришь? Скажи это ресурсу, в котором Сталкер мне предложил искать ответы.
А потом с бредом тебя не заносит? Да, когда Деб запущен, переменные окружения находятся в памяти. Но откуда они туда приходят? Наверное всеже их какого-то файла?

drBatty написал:
Но судя по вашему locale -a, изменять вам не на что. Потому сначала установите нужные локали пакетным менеджером.

Логика меня убивает.
"Но судя по вашему locale -a, изменять вам не на что. Потому сначала установите нужные локали"
Во-первых, где я говорил, что мне надо что-то изменять?
Во-вторых, что такого криминального ты усмотрел в моих локалях, что советуешь устанавливать какие-то нужные? И кому и для чего нужные?

17.11.2014 14:10 #401271
"andrei186" написал:
Т.е. откуда команда locale -a берет эту информацию.
какая разница? Эта команда и существует для того, что-бы администратор мог посмотреть список на любом сервере без танцев с бубном.

"andrei186" написал:
И потом что значит доступные? То, что я могу. скажем, переключать клаву с кириллицы на американку, и нашу десятичную запятую на американскую точку?
ну типа того. Я могу сделать время по-итальянски, а вы не можете, т.к. локали у вас такой нет. И да, клава тут скорее всего не при чём.

"andrei186" написал:
Что тогда С, POSIX?
синонимы. Это стандартная "локаль", т.е. всякое отсутствие локализации.

"andrei186" написал:
И последнее - эту ветку я затеял из-за моих недоразумений со Скайпом в соседней ветке, где все советуют что-то делать с локалью. Но у меня локаль выдает то же самое, что и у вас, а у вас вроде все верно - мне тогда зачем что-то делать со свое локалью?
для начала покажите locale без параметров, это текущая локаль. У вас должно быть
text
ru_RU.utf8

Это значение годится для большинства программ, и они будут работать по-русски.

А вот про скайп я не в курсе, я им не пользуюсь.

PS:

"andrei186" написал:
Я знаю, что это называется доступными локалями

если -бы знали, не задовали-бы глупых вопросов, вроде "что такое POSIX". (вопрос глупый для того, кто знает).

17.11.2014 14:15 #401273

"andrei186" написал:
Но откуда они туда приходят?
это уже вопрос десятый.

"andrei186" написал:
Во-вторых, что такого криминального ты усмотрел в моих локалях, что советуешь устанавливать какие-то нужные? И кому и для чего нужные?
а у кого проблема с локалями? Разве у меня? У меня нет проблем, проблема на вашей стороне. Если вам ваша локаль не нравится, то поставьте другую локаль пакетным менеджером.
я для вас и команду нагуглил:
[console]dpkg-reconfigure locales[/console]
17.11.2014 15:58 · отредактировано #401316
drBatty написал:
[quote="andrei186"]Т.е. откуда команда locale -a берет эту информацию.
какая разница? Эта команда и существует для того, что-бы администратор мог посмотреть список на любом сервере без танцев с бубном.
[/quote]
я не спрашивал, зачем нужна команда локаль, я спрашивал, откуда она берет значения переменных. Зная это, знаешь как их подправить напрямую.
Если не знаешь - так и скажи. А то получется типа Адьютанта его превосходительства:
-Пал Андреич, вы шпион?
-Видишь ли, Юра, у вас в имениибыл садовник

drBatty написал:
Что тогда С, POSIX?
синонимы. Это стандартная "локаль", т.е. всякое отсутствие локализации.

Общие слова. Для чего это и как этим пользоваться?

drBatty написал:
для начала покажите locale без параметров, это текущая локаль. У вас должно быть
text
ru_RU.utf8

Это значение годится для большинства программ, и они будут работать по-русски.

Я же сказал, что locale без параметров и с параметрами выдает то же что и у Сталкера (см выше)

drBatty написал:

[quote="andrei186"]Я знаю, что это называется доступными локалями

если -бы знали, не задовали-бы глупых вопросов, вроде "что такое POSIX". (вопрос глупый для того, кто знает).[/quote]
Я сказал, что знаю, что вывод locale есть доступные параметры. Но я не говорил, что знаюЮ что такое POSIX. Более тогоЮ, я сказал, что почитал о нем в инете и ничего не понял. Поэтому прежде чем писАть о чужой глупости, разберись со своей. И вообще, мне здесь многие помогают - спасибо им за их время и терпение - а ты пишешь много, грубо и в основном не по делу

17.11.2014 16:30 #401333
"andrei186" написал:
Я понимаю, это значения каких-то переменных.

Неправильно понимаете. Смотрите в сторону /usr/share/locale по вопросу имеющихся локалей, в сторону /usr/share/i18n по вопросу исходных данных для сборки локалей.

17.11.2014 17:33 · отредактировано #401348
bormant написал:
[quote="andrei186"]Я понимаю, это значения каких-то переменных.

Неправильно понимаете. Смотрите в сторону /usr/share/locale по вопросу имеющихся локалей, в сторону /usr/share/i18n по вопросу исходных данных для сборки локалей.[/quote]
Не понял. В указанных директоиях лежит то, что В ПРИНЦИПЕ можно установить. А меня интересует, что ФАКТИЧЕСКИ установлено.

И если это не locale выводит не значения каких-то переменных, то что есть то, что он выводит?

17.11.2014 17:54 · отредактировано #401353

так... по порядку...
1. список локалей для генерации задаётся пользователем/хранится в /etc/locale.gen.
2. исходные файлы для сборки локалей хранятся в /usr/share/locale и /usr/share/i18n/
3. locale-gen собирает по списку (1) и исходникам (2) файл /usr/lib/locale/locale-archive
4. locale -a читает /usr/lib/locale/locale-archive и выводит список...
5. /usr/lib/locale/locale-archive также используется пости всеми остальными программами, чтобы модифицировать своё поведение в соответствии с той или иной локалью

в зависимости от дистрибутива пути могут отличаться.
locale-gen может вызываться не вручную, а на основе какого либо триггера... обычно при установке/конфигурации пакета...

17.11.2014 18:01 #401356
"andrei186" написал:
В указанных директоиях лежит то, что В ПРИНЦИПЕ можно установить.

locale -a выводит именно это.

"andrei186" написал:
А меня интересует, что ФАКТИЧЕСКИ установлено.

locale покажет значения переменных окружения, отвечающих за настройки локали: LANG и LC_*.
Для задания локали обычно достаточно только LANG, все незаданные явно переменные LC_* (кроме LC_ALL) получат значение, указанное в LANG. Если нужна более тонкая настройка, можно переопределить отдельные переменные LC_*. Если нужно перекрыть все LC_* переменные единым параметром, используют LC_ALL, который перекрывает своим значением все переменные LC_*.

man 7 locale в помощь.

17.11.2014 19:57 #401394
bormant написал:

locale покажет значения переменных окружения, отвечающих за настройки локали: LANG и LC_*.
Для задания локали обычно достаточно только LANG, все незаданные явно переменные LC_* (кроме LC_ALL) получат значение, указанное в LANG. Если нужна более тонкая настройка, можно переопределить отдельные переменные LC_*. Если нужно перекрыть все LC_* переменные единым параметром, используют LC_ALL, который перекрывает своим значением все переменные LC_*.

man 7 locale в помощь.

За это спасибо

bormant написал:
[quote="andrei186"]В указанных директоиях лежит то, что В ПРИНЦИПЕ можно установить.

locale -a выводит именно это.
[/quote]
А это непонятно. В указанных директориях сидит сотни две локалей, а locale -a выводит только пяток.
Причем до того как я установил RU, RU в выводе locale -a RU не появлялось. Следовательно напрашивается естественный вывод: locale -a выводит установленные локали.
Лично мне все равно, но я приму Вашу точку зрения, коль скоро Вы сможете аргументированно опровергнуть мое предположение. С радостью, бо я чувствую себя некомфортно, когда мне непонятно мнение более компетентного человека.

Войдите или зарегистрируйтесь, чтобы ответить.