[gnu] Интернациональная локаль
---
...Я работаю...
- поставь локаль ru_RU с LANG и MESSAGES в en_US
- застрелись от безысходности
Как быть?POSIX не устроит\не работает ?
Вот тут предлагают изобрести глобализованную en_EU
http://unix.stackexchange.com/questions/62316/why-is-there-n...
POSIX не устроит\не работает ?zurg:~$ LANG=POSIX date +%x
05/27/13
zurg:~$ LANG=en_DK.UTF-8 date +%x
2013-05-27
zurg:~$ LANG=en_DK.UTF-8 ncal
May 2013
Mo 6 13 20 27
Tu 7 14 21 28
We 1 8 15 22 29
Th 2 9 16 23 30
Fr 3 10 17 24 31
Sa 4 11 18 25
Su 5 12 19 26
zurg:~$ LANG=POSIX ncal
May 2013
Su 5 12 19 26
Mo 6 13 20 27
Tu 7 14 21 28
We 1 8 15 22 29
Th 2 9 16 23 30
Fr 3 10 17 24 31
Sa 4 11 18 25
- собери свою локальДля этого мне надо вникать во все тонкости стандартизации и локализации. Кроме того, это будет только у меня. Мне неясно почему столь очевидную вещь не сделали разрабочики... glibc, насколько я понимаю.
- поставь локаль ru_RU с LANG и MESSAGES в en_USПричём здесь локаль ru_RU вообще? Из русского мне надо только корректное отображение кирилицы и раскладку. Формат даты типа DD.MM.YYYY и запятая в качестве разделителя разрядов - это так стандартно. Лучше уж тогда en_DK действительно использовать, хотя что-то мне подсказывает, что у датчан, как и шведов, тоже запятая.
P.S. Ненавижу локализацию. Заказывал телефон с ebay из штатов, после того, как выбрал в форме, что живу в Швеции, интерфейс переключился на шведский без возможности вернуться к английскому. Пришлось копипастить в гугл-транслейт, чтобы понять чего от меня хотят. Что, блин, за тенденция такая. Вместо стандартизации делать везде локазизацию, от которой только проблемы могут быть.
Локаль ru_RU - потому что описание того, что тебе нужно, выглядит как "хочу чтоб все было так, как мне нравится". Потому и рекомендую то, что теоретически должно подходить большинству россиян. Хотя, наверное, именно тут и кроется моя ошибка...
Русская локаль мне перестала подходить ещё когда я пользовался Windows XP, живя в ФДС.
Пользуюсь локалью en_US, но всё же меня это не совсем устраивает. Где-то вылазили дюймы, где-то - бумага формата letter, где-то ещё что-то. Я не в восторге от дат формата MM/DD/YYYY.Представляешь, а жители США в восторге.
Я просто хочу, чтобы всё в моей системе по-умолчанию соответствовало стандартам.Что всё и каким стандартам? На дату/время в date есть поддержка RFC 2822 и ISO 8601, чего ещё не хватает?
По мне так должна быть локаль типа en_INT, чтобы там было всё в соответствии со стандартами ISO.Хоти, про «всё» спросил выше.
При этом искать в какой локали какой стандарт соблюдается и знать все эти стандарты, чтобы определять каждую переменную LC_*, я не хочу.Про какие стандарты речь? Ну не хочешь ты чего-то знать, нам-то зачем знать, что ты не хочешь знать?
Как всегда всплеск недовольства легко сводится к неосиляторству, неумению автора настроить свою систему и непониманию проблемы.
~>localeРаботает ровно так, как надо - кирилицу вводить могу, всё остальное по умолчанию на английском. С датой и календарем проблем не замечал.
LANG=
LC_CTYPE=en_US.UTF-8
LC_COLLATE="C"
LC_TIME="C"
LC_NUMERIC="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=
Представляешь, а жители США в восторге.Я понимаю. Они на одном месте вертели все эти международные стандарты и чуть ли не единственными в мире остаются, кто не осилил измерять расстояние в метрах.
Что всё и каким стандартам? На дату/время в date есть поддержка RFC 2822 и ISO 8601, чего ещё не хватает?Поддержка-то есть, я хочу чтобы стандарт применялся по-умолчанию, а не только если я припишу опцию --iso-8601
Совсем всё я перечислить может и не смогу, но вот:
первый день недели - понедельник
разделитель целой и дробной части - точка
везде английский язык (британский или американский - пофиг)
дата по iso 8601: YYYY-MM-DD
24-часовой формат времени
метрическая система
бумага А4
Потому и рекомендую то, что теоретически должно подходить большинству россиянзасунь свою запятую себе в задницу. Русскую локаль придумал имбецил, который из всех программ видел только косынку локализованную
С датой и календарем проблем не замечал.первый день недели какой?
я хочу чтобы стандарт применялся по-умолчанию, а не только если я припишу опцию --iso-8601man alias
бумага А4man paperconfig
первый день недели - понедельникВсё остальное LC_* и настройка приложений. За невозможностью настроить приложение оставшиеся варианты — патчи, фичереквесты, отказ от использования приложения или смирение.
разделитель целой и дробной части - точка
везде английский язык (британский или американский - пофиг)
дата по iso 8601: YYYY-MM-DD
24-часовой формат времени
метрическая система
Иногда вылезают баги, например, Quassel и QtCreator показывают интерфейс на русском (хотя LC_MESSAGES стоит en_US), но это просто означает, что в этих программах баг, в таких случаях я отправляю баг-репорты (можно ещё самому пропатчить, не дожидаясь, пока они пофиксят) - собственно, это правильный способ устранения всех проблем в мире свободного ПО.
А никакой международной локали быть не может. Потому что не совсем понятно, какие стандарты должны туда входить. Американцы считают себя пупом Земли, и не захотят в гипотетическую en_INT включать какие-то стандарты, отличные от en_US
Тоже самое и в
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
или
LANG=
LANGUAGE=
LC_CTYPE=en_US.UTF-8
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"
LC_ALL=
всё у вас бздшников не так как у нормальных людей
Гг. Фейл. Один из выводов был снят как раз на пингвинусе.
Про paperconfig я во-первых сразу же при установке соответствующего пакета, когда вижу в elog сообщение, ставлю а4. Во-вторых, для меня загадка почему это существует параллельно с LC_PAPER и что приоритетнее при различии настроек.
Вот как раз сегодня случилась неприятность из-за этой фигни. Поставил свой на рабочий компьютер cups на gentoo, установил сетевой ipp-принтер через ppd-файл на сайте университета и распечатал статью. Распечаталсь она на листе формата А3, сдвинутой в угол страницы. Это несмотря на paperconfig в А4 и установленный в настройках принтера через веб-интерфейс localhost:631 Media Size A4 (он там, кстати по-умолчанию). В диалоге печати то, что стоит по-умолчанию в размере меняется в зависимости от софтины, из которой я печатаю. Например, если печатать plain text через leafpad, то там стоит US Letter и причём выпадающий список неактивен. Принтер, видимо, не имея возможности уместить выдаваемое на печать на А4, переключается на А3.
Понятно, что эти проблемы решаемы. Вероятно, если я выставлю LC_PAPER в какую-нибудь из европейских локалей, то US Letter, возможно, изчезнет везде. Я просто не понимаю, зачем такие проблемы этим пользователям создавать.
А ещё: ты, может, пользуешься LFS? А то тебя так удивляет, когда человек хочет, чтобы простейшие вещи были уже разрешены разработчиками.
Вроде как локаль "C" - это то, что было бы, если я бы вообще не делал locale-gen. И оно, как мне казалось, неюникодное, не?
на каком?
squeeze/sid
То, что ты предлагаешь и есть набор костылей вместо нормальной международной локали.Тебе «шашечки» или ехать? Если «шашечки», так жди международную локаль.
И оно, ..., неюникодное, не?True. Но мне это совсем не мешает.
странно всё это, в en_US ну никак не может быть понедельник. завтра посмотрю что там такое творится.
zurg:/# cat /etc/debian_version
jessie/sid
zurg:/# locale
LANG=POSIX
LANGUAGE=
LC_CTYPE="POSIX"
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"
LC_ALL=
zurg:/# ncal
May 2013
Su 5 12 19 26
Mo 6 13 20 27
Tu 7 14 21 28
We 1 8 15 22 29
Th 2 9 16 23 30
Fr 3 10 17 24 31
Sa 4 11 18 25
True. Но мне это совсем не мешает.Я теперь окончательно запутался. Ладно список региональных стандартов... но тут ещё и кодировка символов!
Как применимо понятие кодировки символов, например, к размеру бумаги?
Что будет, если я поставлю LC_PAPER в C, когда у меня везде UTF8?
Оставить комментарий
dangerr
Пользуюсь локалью en_US, но всё же меня это не совсем устраивает. Где-то вылазили дюймы, где-то - бумага формата letter, где-то ещё что-то. Я не в восторге от дат формата MM/DD/YYYY. Вроде, конечно, критических вещей не было, всё легко решалось, но всё равно я не очень понимаю зачем надо это решать. Я просто хочу, чтобы всё в моей системе по-умолчанию соответствовало стандартам. При этом искать в какой локали какой стандарт соблюдается и знать все эти стандарты, чтобы определять каждую переменную LC_*, я не хочу.Вот, например, пользователь датскую локаль для переменной LC_TIME, чтобы получить стандартное представление дат вида YYYY-MM-DD. Мне кажется это костылём, а я не люблю костыли.
По мне так должна быть локаль типа en_INT, чтобы там было всё в соответствии со стандартами ISO. болеее того, она, а не en_US должна быть дефолтной. Но ничего подобного я в директории /usr/share/i18n/locales не нашёл (en_IN - это английский для Индии). Как быть?