locale -a возвращает
С
С.UTF-8
en_GB.utf8
PROSIX
ru_RU.utf8
Я понимаю, это значения каких-то переменных.
Из них понял только en_GB.utf8 - это значение LANG в файле /ets/default/locale
Больше в этом файле ничего нет.
Каким переменным принадлежат
С
С.UTF-8
PROSIX
ru_RU.utf8
Извините, но ответ тоже детский. В ссылках нет ответа ни на один из моих вопросов.
Хуже, эти ссылки плодят новые вопросы. Например там сказано, что переменные находятся в файле etc/console-cyrillic. У меня этот файл есть, но он пустой.
Вот что у меня
[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
Если после установки появится необходимость в перенастройке, то для этих целей необходимо выполнить:
-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.
Перевожу: "показ списка всех доступных локалей". Что вам ещё непонятно?
Например там сказано, что переменные находятся в файле 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]
Обратите внимание, что часовой пояс НЕ меняется. Меняется только формат вывода.
вы этим гордитесь, да? Поверьте, systemd тут совсем не при чём.[/quote]Нет, я не фанат systemd. Он был упомянут чтобы человек понимал возможные различия между релизами debian,а
Мужики, Вы вопрос понимать умеете?
Я знаю, что это называется доступными локалями
Я спрашиваю, в каких настройках они хранятся.
Т.е. откуда команда locale -a берет эту информацию.
И потом что значит доступные? То, что я могу. скажем, переключать клаву с кириллицы на американку, и нашу десятичную запятую на американскую точку?
Что тогда С, POSIX?
На всяк случай - погуглил POSIX, но ничего не понял.
И последнее - эту ветку я затеял из-за моих недоразумений со Скайпом в соседней ветке, где все советуют что-то делать с локалью. Но у меня локаль выдает то же самое, что и у вас, а у вас вроде все верно - мне тогда зачем что-то делать со свое локалью?
[quote="andrei186"]Например там сказано, что переменные находятся в файле etc/console-cyrillic
бред. Это переменные окружения, и находятся они в оперативной памяти.
.[/quote]
Ты это мне зачем говоришь? Скажи это ресурсу, в котором Сталкер мне предложил искать ответы.
А потом с бредом тебя не заносит? Да, когда Деб запущен, переменные окружения находятся в памяти. Но откуда они туда приходят? Наверное всеже их какого-то файла?
drBatty написал:
Но судя по вашему locale -a, изменять вам не на что. Потому сначала установите нужные локали пакетным менеджером.
Логика меня убивает.
"Но судя по вашему locale -a, изменять вам не на что. Потому сначала установите нужные локали"
Во-первых, где я говорил, что мне надо что-то изменять?
Во-вторых, что такого криминального ты усмотрел в моих локалях, что советуешь устанавливать какие-то нужные? И кому и для чего нужные?
Т.е. откуда команда locale -a берет эту информацию.
какая разница? Эта команда и существует для того, что-бы администратор мог посмотреть список на любом сервере без танцев с бубном.
"andrei186" написал:
И потом что значит доступные? То, что я могу. скажем, переключать клаву с кириллицы на американку, и нашу десятичную запятую на американскую точку?
ну типа того. Я могу сделать время по-итальянски, а вы не можете, т.к. локали у вас такой нет. И да, клава тут скорее всего не при чём.
"andrei186" написал:
Что тогда С, POSIX?
синонимы. Это стандартная "локаль", т.е. всякое отсутствие локализации.
"andrei186" написал:
И последнее - эту ветку я затеял из-за моих недоразумений со Скайпом в соседней ветке, где все советуют что-то делать с локалью. Но у меня локаль выдает то же самое, что и у вас, а у вас вроде все верно - мне тогда зачем что-то делать со свое локалью?
для начала покажите locale без параметров, это текущая локаль. У вас должно быть
text
ru_RU.utf8
Это значение годится для большинства программ, и они будут работать по-русски.
А вот про скайп я не в курсе, я им не пользуюсь.
PS:
"andrei186" написал:
Я знаю, что это называется доступными локалями
если -бы знали, не задовали-бы глупых вопросов, вроде "что такое POSIX". (вопрос глупый для того, кто знает).
Во-вторых, что такого криминального ты усмотрел в моих локалях, что советуешь устанавливать какие-то нужные? И кому и для чего нужные?
а у кого проблема с локалями? Разве у меня? У меня нет проблем, проблема на вашей стороне. Если вам ваша локаль не нравится, то поставьте другую локаль пакетным менеджером.
я для вас и команду нагуглил:
[console]dpkg-reconfigure locales[/console]
[quote="andrei186"]Т.е. откуда команда locale -a берет эту информацию.
какая разница? Эта команда и существует для того, что-бы администратор мог посмотреть список на любом сервере без танцев с бубном.
[/quote]
я не спрашивал, зачем нужна команда локаль, я спрашивал, откуда она берет значения переменных. Зная это, знаешь как их подправить напрямую.
Если не знаешь - так и скажи. А то получется типа Адьютанта его превосходительства:
-Пал Андреич, вы шпион?
-Видишь ли, Юра, у вас в имениибыл садовник
drBatty написал:
Что тогда С, POSIX?
синонимы. Это стандартная "локаль", т.е. всякое отсутствие локализации.
Общие слова. Для чего это и как этим пользоваться?
drBatty написал:
для начала покажите locale без параметров, это текущая локаль. У вас должно быть
text
ru_RU.utf8
Это значение годится для большинства программ, и они будут работать по-русски.
Я же сказал, что locale без параметров и с параметрами выдает то же что и у Сталкера (см выше)
drBatty написал:
[quote="andrei186"]Я знаю, что это называется доступными локалями
если -бы знали, не задовали-бы глупых вопросов, вроде "что такое POSIX". (вопрос глупый для того, кто знает).[/quote]
Я сказал, что знаю, что вывод locale есть доступные параметры. Но я не говорил, что знаюЮ что такое POSIX. Более тогоЮ, я сказал, что почитал о нем в инете и ничего не понял. Поэтому прежде чем писАть о чужой глупости, разберись со своей. И вообще, мне здесь многие помогают - спасибо им за их время и терпение - а ты пишешь много, грубо и в основном не по делу
Неправильно понимаете. Смотрите в сторону /usr/share/locale по вопросу имеющихся локалей, в сторону /usr/share/i18n по вопросу исходных данных для сборки локалей.
[quote="andrei186"]Я понимаю, это значения каких-то переменных.
Неправильно понимаете. Смотрите в сторону /usr/share/locale по вопросу имеющихся локалей, в сторону /usr/share/i18n по вопросу исходных данных для сборки локалей.[/quote]
Не понял. В указанных директоиях лежит то, что В ПРИНЦИПЕ можно установить. А меня интересует, что ФАКТИЧЕСКИ установлено.
И если это не locale выводит не значения каких-то переменных, то что есть то, что он выводит?
так... по порядку...
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 может вызываться не вручную, а на основе какого либо триггера... обычно при установке/конфигурации пакета...
В указанных директоиях лежит то, что В ПРИНЦИПЕ можно установить.
locale -a выводит именно это.
"andrei186" написал:
А меня интересует, что ФАКТИЧЕСКИ установлено.
locale покажет значения переменных окружения, отвечающих за настройки локали: LANG и LC_*.
Для задания локали обычно достаточно только LANG, все незаданные явно переменные LC_* (кроме LC_ALL) получат значение, указанное в LANG. Если нужна более тонкая настройка, можно переопределить отдельные переменные LC_*. Если нужно перекрыть все LC_* переменные единым параметром, используют LC_ALL, который перекрывает своим значением все переменные LC_*.
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 выводит установленные локали.
Лично мне все равно, но я приму Вашу точку зрения, коль скоро Вы сможете аргументированно опровергнуть мое предположение. С радостью, бо я чувствую себя некомфортно, когда мне непонятно мнение более компетентного человека.