Locale что это за программа

Locale что это за программа

Библиотека сайта rus-linux.net

11. Локализация и Интернационализация

Пока я описывал, как заставить различные программы понять кириллицу. Обычно каждая программа требовала, чтобы это был её собственный метод, как правило, чрезвычайно отличный от других. Кроме того, у некоторых программ была незавершённая поддержка языков, отличных от английского, не говоря уж об их неспособности взаимодействовать, используя родной язык пользователя вместо английского.

Проблемы, перечисленные выше, сильно подавляют, так как программное обеспечение редко создаётся только для местного рынка. Переработка существенных частей программного обеспечения каждый раз при входе на новый международному рынок очень неэффективна; а интернациональная поддержка, осуществляемая собственными средствами программы, уникальным и присущим только ей способом, в терминах долгосрочного планирования также не блестящая идея.

Следовательно, возникает потребность в стандартизации. И стандарт есть.

№1 Запуск через японскую локаль/ошибка при запуске JRPG на Windows 10 x64

Все связанное с вышеперечисленными проблемами разделено в соответствии c двумя базисными концепциями: localization и internationalization. Под локализацией мы имеем в виду создание программ, способных обрабатывать различные языковые соглашения для различных стран. Позвольте привести пример. Формат даты, принятый в Соединённых Штатах, имеет вид ММ/ДД/ГГ.

Однако в России наиболее популярный формат — ДД.ММ.ГГ. Другие проблемы включают в себя представление времени, форматы числа и представления валюты. Кроме этого, один из наиболее важных аспектов локализации — это определение соответствующих классов символов, то есть определение, какие символы в наборе символов являются «кирпичиками» языка (буквами) и как они упорядочиваются. С другой стороны, локализация не работает со шрифтами.

Интернационализация (или i18n для краткости), как предполагается, решает проблемы, связанные со способностью программы взаимодействовать с пользователем на его родном языке.

Обе эти концепции должны быть стандартизованы, давая программистам непротиворечивый путь создания программ, работающих в национальной среде.

Хотя стандартизация ещё в процессе, много её частей уже фактически являются стандартом, так что они могут использоваться без особых проблем.

Я опишу общую схему создания программ, использующих описанные выше возможности стандартным способом. Так как это заслуживает отдельного документа, я буду давать только очень общее описание и указатели на более полные источники.

11.1 Locale

Одно из основных понятий локализации — locale. Под locale подразумевается набор соглашений, специфических для отдельно взятого языка в отдельно взятой стране. В общем случае говорить, что locale определяется только страной, неправильно. Например, в Канаде могут быть определены два locale — язык Канада / Английский и язык Канада / Французский. Более того, язык Канада / Английский не является эквивалентом языку Великобритания / Английский или Американский / Английский, точно так же Канада / Французский язык — не эквивалент языку Франция / Французский или языку Швейцария / Французский.

Урок Java 206: Локаль — locale

Более подробное описание проблем/возможностей/достоинств локализации на русском языке можно найти на страничке Локализация, как она есть .

Locale с точки зрения пользователя

Каждая locale — это специальная база данных, определяющая, по крайней мере, следующие правила и соглашения:

  1. Классификация символов и преобразований,
  2. Представление валюты,
  3. Представление чисел (то есть Десятичные символы),
  4. Формат даты / времени.

Настройка локали

Прежде всего — подробная документация о локали имеется на www.sensi.org/~alec/locale Обращайтесь туда, если вам нужны нестандартные варианты (например, отключение русскоязычного интерфейса с сохранением правильной сортировки и т.д.)

Документацию по иксовой локали можно найти по адресу www.tsu.ru/~pascal/x_locale/

Вот инструкция для нетерпеливых (только для glibc).

  • Зайти в /usr/share/locale и создать там симлинк ru_RU.KOI8-R, указывающий на ru_SU. Эта операция необходима только для glibc < 2.1.2.
  • Как-либо прописать установку переменной LANG в стартовых скриптах. В RedHat-based дистрибутивах это делается путём редактирования файла /etc/sysconfig/i18n , где, кроме прочего, должна быть строчка

LANG=ru_RU.KOI8-R
В общем случае можно прописать в /etc/profile
LANG= export LANG

Гораздо же честнее сделать отдельный настоящий каталог: /usr/share/locale/ru_RU.KOI8-R/ (конечно, если его нет в данном дистрибутиве).

Некоторые дистрибутивы неправильно включают

LANG=ru LC_ALL=ru_RU.KOI8-R

Это НЕПРАВИЛЬНО, почему так делать нельзя — описано ниже.

А теперь поговорим о том же, но гораздо подробнее. Итак:

Как включить локализацию?

Если на UNIX машине (с POSIX:1996) средства locale правильно установлены и программы правильно написаны, то локализация включается путём задания строки окружения LANG:

$ export LANG=

Если такой строки окружения нет, то работает значение локализации по умолчанию: LANG=»C» или LANG=»POSIX» (что то же самое) — минимальный набор параметров, необходимый для функционирования программ на ANSI C (ISO 9899:1990), в кодировке US-ASCII (7 bit) ( Portable Character Set).

Если ваша система имеет полный набор утилит POSIX.2, то узнать установленные в системе и допустимые значения для LANG= можно командой locale :

$ locale -a

По новому стандарту (POSIX.2 приложение E (?)) значения локализации записываются в форме:

language_TERRITORY.Codeset

Стандарт ISO 639 описывает «language names», ISO 3166 — «territory names». Территории _SU более не существует (вернее, теперь она означает Судан), однако для совместимости некоторые системы продолжают её поддерживать как alias: ru_SU —> ru_RU .

Для русского языка LANG устанавливается, как правило, равным LANG=»ru_RU.KOI8-R» или LANG=»ru_RU.ISO_8859-5″ . То есть:

$ export LANG=»ru_RU.KOI8-R»

Для установки украинской локали эта переменная должна быть равна соответственно uk_UA.koi8-u .

Согласно стандарту допустимы также короткие именования значений locale , которые часто оформляются как aliases (псевдонимы) полного наименования. Например «C» —> «POSIX» .

$ export LANG=ru $ export LANG=ru_RU $ export LANG=ru_RU.KOI8-R

Однако, если вы указываете короткое имя, может оказаться, что ваша кодировка оказывается вовсе не KOI8-R (почему следует использовать именно koi8-r, описано в разделе Символы и кодировки). Лучше не пользоваться значениями по умолчанию, а указывать точное длинное имя.

Во FreeBSD 2.x так и есть. Для Linux — зависит от дистрибутива. В коммерческих реализациях (Solaris, SCO, AIX etc) как правило используется значение LANG=»ru_RU», или укороченное LANG=»ru» (и как правило, Codeset ISO8859-5 по умолчанию).

Некоторые могут пожелать сделать себе локализацию в другом наборе символов: ru_RU.X-CP-866 ( ru_RU.IBM866 ), ru_RU.x-mac-cyrillic , ru_RU.ISO_8859-5 или даже ru_RU.CP1251 — на это нет никаких ограничений. Все эти кодировки совершенно равноправны и зарегистрированы (кроме x-mac-cyrillic ) в IANA. Только не забудьте, что локализация, ввод-вывод и отображение национальных символов на терминале — это совершенно разные вещи.

Если система локализована не полностью и использовать полное переключение на другой язык (с помощью export LANG= ) нельзя, можно включить locale только для функций locale API библиотеки libc , задав значение категорий локализации. Можно также присваивать разные значения разным категориям, задавая их имена в строках окружения:

Если вас раздражают русские даты, сообщения и man-ы, но нужно обрабатывать русские буквы и т.д., то сделайте:

$ export LANG=»C» $ export LC_CTYPE=»ru_RU.KOI8-R» $ export LC_COLLATE=»ru_RU.KOI8-R» $ export LC_TIME=»C»

Hиже идёт описание различных опций locale

  • LC_CTYPE — определяет одиночные символы,
  • LC_NUMERIC — формат чисел,
  • LC_TIME — формат времени,
  • LC_COLLATE — используется для сравнения строк,
  • LC_MONETARY — валюта,
  • LC_MESSAGES — системные сообщения,
  • LC_PAPER — формат бумаги,
  • LC_NAME — формат имён,
  • LC_ADDRESS — формат адресов ,
  • LC_TELEPHONE — формат телефонов.

Не рекомендуется использовать строку окружения:

$ export LC_ALL=

поскольку формально такой категории локализации нет, она «виртуальная» и обозначает «одновременно все категории». Из-за этого во многих реализациях locale API возникают проблемы. Проблемы могут возникнуть также с программами, работающими с PostScript : в категории LC_NUMERIC локализации ru_RU в соответствии со стандартом ГОСТ в качестве десятичного разделителя используется символ ‘запятая’: «,» в то время, как в стандарте языка PostScript — точка «.» А категория LC_NUMERIC оказывает влияние на printf(«%f»,float); . Используйте значение C (POSIX) для LC_NUMERIC , если вы работаете с PostScript :

$ export LC_NUMERIC=»POSIX»

Посмотреть текущие значения категорий локализации можно все той же утилитой locale (без параметров).

$ locale

ПРИМЕЧАНИЕ: В некоторых современных системах начинает появляться локализация в UNICODE. Включается она заданием строки окружения LANG=»ru_RU.UTF-8″ для России.

Устаревшая процедура установки Locale

В RedHat Linux (как, вероятно, и во многих других дистрибутивах Linux), имеются фактически две базы данных locale: одна для библиотеки C ( libc ), а другая — для X библиотек. В идеальном случае должна иметься только одна база данных locale для всего.

Чтобы изменить значение locale по умолчанию, обычно достаточно установить системную переменную LANG . Например, как это делается в sh :

Читайте также:
Апноэ что это за программа

LANG=ru_SU export LANG

Вы можете проверить действие этой команды сразу же, если запустите команду date . Результатом должен быть вывод дня, недели и месяца на русском языке.

RedHat 5.x определяет KOI8-R locale как ru_SU . Более очевидное название ru_RU используется для locale, основанного на iso-8859-5 кодировки.

Иногда вы можете захотеть изменить только один аспект locale без изменения других. Например, вы можете захотеть (всякое в жизни случается) пользоваться ru_SU locale, но печатаемые числа должны будут соответствовать стандарту POSIX один. В подобных случаях имеется набор системных переменных, которые Вы можете задать, чтобы сконфигурировать соответствующие части locale. Например, в нашем случае это бы выглядело так:

LANG=ru_SU LC_NUMERIC=POSIX export LANG LC_NUMERIC

Подробнее см. locale(7) .

Теперь давайте держаться поближе к специфике Linux. К сожалению, в Linux libc версии 5.3.12 (пример: дистрибутив RedHat 4.1), отсутствует русская locale. В данном случае её надо скачать из Interneta (я, однако, не знаю точного адреса).

Чтобы проверить, для каких языков у вас есть locale, выполните ‘ locale -a ‘. Это выведет список всех locale из баз данных, доступных libc.

Что касается библиотек X , то они имеют свою собственную базу данных locale. В версии XFree86 3.3 уже имеется российская база данных locale. Я не уверен, есть ли она в предыдущей версии. В любом случае вы можете проверить это, изучив директорию /usr/lib/X11/locale/ (в большинстве систем). В моем случае уже есть подкаталоги, именованные koi8-r и даже iso8859-5 .

Locale зависимое программирование

С locale программа не должна знать о различных символьных преобразованиях и правилах сравнения, описанных выше. Вместо этого они используют специальный API, который действует по правилам, определённым locale. Кроме того, нет необходимости для программы пользоваться только одной locale для соблюдения всех правил — возможно пользоваться другими правилами, описанными в других locale (хотя такой метод не очень хорош).

Из man setlocale(3) :

Программа может быть сделана переносимой для всех locale, вызывая setlocale(LC_ALL, «» ) после инициализации программы, используя значения, возвращённые из запроса localeconv() для locale-зависимой информации, и используя strcoll() или strxfrm() для сравнения строк.

Довольно легко определить четыре уровня программной локализации:

    Чисто 8ми битное программное обеспечение. То есть программа вызывает setlocale() . Она не делает каких-либо предположений относительно 8-ого бита каждого символа, используя пользовательские функции из ctype.h и ограничения из limits.h , а также заботится относительно signed/unsigned результата. Очень важно, чтобы программа не делала каких-либо предположений относительно характера набора символов и их упорядочения. То есть следует воздержаться от следующих конструкций при программировании:

if (c >= ‘A’ c

Подобные конструкции с точки зрения правильного «locale»-программирования совершенно недопустимы. Взамен во всех таких случаях должны использоваться, макрокоманды из locale зависимого файла заголовка ctype.h . Например:

if (isalpha(c) isupper(c)) < . или if (isascii(c) isupper(c))

Для выяснения подробностей смотрите, например, ( Voropay1 ) или ( SingleUnix ).

11.2 интернационализация

В то время как локализация описывает как адаптировать программу к иностранному окружению, интернационализация (или i18n для краткости) детализирует способы общения программы с не-англоговорящим пользователем.

Прежде это делалось с помощью создания абстракций сообщений для вывода их из кода программы. Теперь такой механизм (более или менее) стандартизирован. И, конечно, есть его free реализации!

Источник: rus-linux.net

Locale что это за программа

Locale
версия: 6.3.9

Последнее обновление программы в шапке: 25.12.2019

Прикрепленное изображение

Прикрепленное изображение Прикрепленное изображениеПрикрепленное изображение

Краткое описание:
Выбор профиля по заданным условиям.

Описание:
Программа в зависимости от условий (время, дата, день недели, состояние батареи и зарядки и т.д.)? а также местоположения телефона выбирает условия работы телефона. Работает отлично. Правда на английском. Но разобраться легко.

Прошлые версии
Причина редактирования: Обновление: новая версия 6.3.9 Paid/Patched
30.11.09, 07:17 | #2


Друзья 4PDA
Реп: ( 12 )

На Hero я так понял скриншоты мне сделать не удастся)

30.11.09, 11:52 | #3


Почетные форумчане
Реп: ( 1343 )
Местоположение определяет по GPS? Как это сказывается на продолжительности работы устройства?
30.11.09, 12:35 | #4


Друзья 4PDA
Реп: ( 12 )

GPS, Wi-Fi, Network

Пишет, что при использовании Network определяет местоположение по антенам. Не знаю как сказывается на утечке траффика, но разработчик заверят, что расход энергии будет минимальным.

GPS
Наверняка должен быть предусмотренн временной интервал между проверками местоположения.

Есть один способ это проверить :yes2:

30.11.09, 14:03 | #5


Друзья 4PDA
Реп: ( 13 )

У меня эта прога так и не заработала по человечески. Зато похожая Toggle settings очень нравится. Переключает профили по времени.

Причина редактирования: + от Henryke
30.11.09, 14:32 | #6


Друзья 4PDA
Реп: ( 2 )

где то написано то ли в хелп то ли в настройках что время переключения между профилями может занимать до 10 минут. по опыту использования могу сказать что работает все довольно неплохо и стабильно. когда включаешь телефон то тут же видно что включается и GPS. буквально секунд на 10-15 ( похоже на горячий старт ) и выключается. я так понял что это именно Locale включает GPS для определения координат. да у меня GPS в настройках телефона включен постоянно. по поводу трафика сказать не могу — он у меня анлимитед и я никогда не отслеживал его. по поводу расхода энергии — все тоже в порядке. как до использовании этой программы заряжал свой G1 каждый вечер так и сейчас то же самое.

30.11.09, 22:21 | #7


Друзья 4PDA
Реп: ( 3 )

Я плохо искал в настройках, или Locale действительно не позволяет вручную принудительно включить определенный профиль?

01.12.09, 00:24 | #8


Друзья 4PDA
Реп: ( 2 )

позволяет. просто тапаешь этот профиль и он становится активным. до следующего события. еще один нюанс. чем выше профилт в списке — тем выше его приоритет. при разночтении выполняется условие с высшим приоритетом

01.12.09, 02:46 | #9


Друзья 4PDA
Реп: ( 3 )

Ovakoly,
Это в каком месте? В основном окне по умолчанию активна вкладка Situations, в ней список профилей с триггерами Вкл/Выкл. Если тапнуть по названию профиля, попадаешь в форму его редактирования, а если тапнуть по триггеру, то просто меняется статус профиля — он либо включается в список доступных для активации, либо исключается из него. Однако активируются профили только сами — тогда, когда соблюдены указанные в них условия. Принудительно включить один из них невозможно. 🙁 Или это делается как-то иначе?

01.12.09, 03:55 | #10


Друзья 4PDA
Реп: ( 12 )

bdm-home,
То что вы хотите от этой программы, сделать не получится. Сами посудите, как она изменит настройки на заданные для данных условий, если условия не соблюдены.
Возможно для вас будет более полезно это приложение — Profiles

Аха) через пару минут понял как это реализовать.
Поставил настройки, но не указал ситуацию. и они вступили в силу.
А изменение приоритетов осуществляется в вкладке Manage. Не уверен, что перемещеие в списке изменяет приоритет, но для более быстрыго управления Situations пригодится. (чтоб легко можно было вкл/выкл наиболее частые Situations не пролистывая весь список)

Причина редактирования: эврика!
01.12.09, 06:22 | #11


Друзья 4PDA
Реп: ( 2 )

приношу извинения. действительно если тапнуть — то делает этот профиль доступным или выключает его. перемещение в списке меняет приоритет. проверено. у меня если телефон стоит на зарядке ночью дома то он переходит в беззвучный режим. но есть несколько человек которые занесены в список что могут звонить всегда. в списке это номер один. так вот звонок от этих людей проходит всегда. есть еще настройка defaults. эти настройки включаются если не выполняются ни один из профилей.

01.12.09, 16:05 | #12


Друзья 4PDA
Реп: ( 3 )

Vampir386, Ovakoly,

Про условия и приоритет профилей все понимаю. Собственно, я о том и говорю, что удивляет отсутствие ручного режима. Пара ситуаций к примеру:

— В городских условиях точность позиционирования в закрытом помещении составляет +/- километр (условно, но близко к реальности, если GPS спутников не видит, а для мобильных базовых станций пол-лаптя по карте — не расстояние). При этом, сидя дома или на работе, я постоянно наблюдаю на телефоне перемещение с улицы в помещение и обратно. Расширение зоны чувствительности на карте приводит к тому, что Locale, наоборот, отказывается воспринимать выход из помещения — при прогулках/поездках в довольно большом радиусе вокруг дома или офиса программа не определяет выход из зоны действия правила (тем более, что позиционирование происходит с периодичностью раз в ~10 минут, а за эти 10 минут я могу уехать оооой, как далеко от границы зоны). 🙁

— Дома по ночам я предпочитаю включать Airplane Mode — т.е. выключать все приемники/передатчики, чтобы не фонили и не анноили лишними звуками спящего ребенка. Но если я вдруг соберусь засидеться заполночь со своим аппаратом, то Locale на это наплюет и просто в 00:00 автоматически активирует профиль «Ночь», отрубив мне всю связь.

Читайте также:
Что за программа касперский секьюрити коннекшн

В обеих ситуациях очевидный выход — возможность открыть список профилей, тапнуть по нужному и включить его принудительно, не смотря на выполнение заданных условий. А когда необходимость в оверрайде отпадет — снова открыть список, нажать на кнопку «Авто» и вернуться к выбору профилей по условиям. Так, к примеру, сделано в Spb Phone Suite для WM.

Напишу об этом разработчикам. Поддержите еще кто-нибудь, плз.

01.12.09, 16:40 | #13


Друзья 4PDA
Реп: ( 12 )

:friends: Добавить к этому отображение, какое правило (ситуация) выполняется в данный момент.

Упс) это реализовано. Выполняемое правило выделено жирным шрифтом.
будем знать.

Причина редактирования: проверил)
01.12.09, 18:01 | #14


Друзья 4PDA
Реп: ( 3 )

Занятно, что одновременно могут быть активны сразу несколько профилей (например, при выполнении двух различных условий, одно из которых привязано к месту, а другое ко времени). Надо бы попытать Locale на предмет того, как она себя поведет при включении нескольких профилей с взаимоисключающими системными параметрами. Но, по-моему, это ошибка.

01.12.09, 18:46 | #15


Друзья 4PDA
Реп: ( 42 )

то Locale на это наплюет и просто в 00:00 автоматически активирует профиль «Ночь», отрубив мне всю связь.


кста насчет этого,в маркете есть плугин для нее с аираплан моде вроде,но чо он умеет не подскажу)
01.12.09, 20:32 | #16


Друзья 4PDA
Реп: ( 3 )

Ну да, Autopilot Plugin как-раз и умеет включать и выключать Airplane Mode. Ничего, кроме этого.

02.12.09, 00:43 | #17


Друзья 4PDA
Реп: ( 42 )
Autopilot Plugin как-раз и умеет включать и выключать

вот) как раз тема) затестил у себя) создал режим сна когда вкл режим полета и режим вкл обычного режима,лег спать и телефон тоже спать лягет). оч удобно получилось,теперь можно будет и будильниками на хиро пользоваться)

08.12.09, 11:00 | #18


Друзья 4PDA
Реп: ( 71 )

Не все плагины доступны в русском маркете, например плагин SMS — не доступен, было бы неплохо в шапку кинуть ссылки на загрузку плагинов к программе, если у кого есть возможность их скачать.

08.12.09, 14:25 | #19


Друзья 4PDA
Реп: ( 2 )

возможность скачать есть. что именно интересует? я никогда не выкладывал но скачаю плагин для смс и попробую. но только вечером. часов через 13-14.

09.12.09, 01:11 | #20


Друзья 4PDA
Реп: ( 2 )

poyan
только что глянул на этот плагин. он тебе нужен или поиграться хочешь? если нужен буду качать а если нет. хоть и 99 центов не большие деньги но не люблю я платить :rofl: хотя за три программы я таки заплатил. вот на них и буду выкладывать апдейты.

09.12.09, 01:19 | #21


Друзья 4PDA
Реп: ( 2 )
bdm-home

— В городских условиях точность позиционирования в закрытом помещении составляет +/- километр (условно, но близко к реальности, если GPS спутников не видит, а для мобильных базовых станций пол-лаптя по карте — не расстояние). При этом, сидя дома или на работе, я постоянно наблюдаю на телефоне перемещение с улицы в помещение и обратно. Расширение зоны чувствительности на карте приводит к тому, что Locale, наоборот, отказывается воспринимать выход из помещения — при прогулках/поездках в довольно большом радиусе вокруг дома или офиса программа не определяет выход из зоны действия правила (тем более, что позиционирование происходит с периодичностью раз в ~10 минут, а за эти 10 минут я могу уехать оооой, как далеко от границы зоны). sad.gif

для себя я решил эту проблему так — когда ты находишься дома или на работе имеется ввиду в помещении где я бываю часто и подолгу я как правило ставлю телефон на зарядку. при выходе — он естественно вынимается. при смене профиля включается GPS для определения местоположения. и при активации телефона тоже. так что создай две ситуации для одного места но при зарядке или без.

— Дома по ночам я предпочитаю включать Airplane Mode — т.е. выключать все приемники/передатчики, чтобы не фонили и не анноили лишними звуками спящего ребенка. Но если я вдруг соберусь засидеться заполночь со своим аппаратом, то Locale на это наплюет и просто в 00:00 автоматически активирует профиль «Ночь», отрубив мне всю связь.

думаю достаточно вынести на рабочий стол виджет режима самолета и эта проблема решится намного быстрее. не надо открывать Locale и выключать профиль.

Источник: 4pda.to

Как поменять язык Linux без переустановки системы

При установке Linux можно выбрать язык системы (локаль) — и в дальнейшем этот язык будет использоваться в программах и окнах Linux (за исключением тех приложений, для которых не сделан перевод).

Если вы решили поменять язык Linux, то вам не нужно переустанавливать её — достаточно выполнить простые действия.

Чтобы узнать текущие языковые настройки, наберите команду:

locale

Чтобы посмотреть доступные языковые настройки (локали), воспользуйтесь командой

locale -a

Для изменения языка системы, нужно, чтобы локаль, на которую вы хотите поменять язык, уже присутствовала в системе. Если её нет, то нужно добавить.

Чтобы добавить новую локаль, откройте файл /etc/locale.gen:

sudo gedit /etc/locale.gen

И раскомментируйте там строки с желаемыми новыми локалями. Затем выполните команду:

sudo locale-gen

Теперь новые языковые настройки (новую локаль) вы можете видеть в списке доступных локалей.

locale -a


Смена локали для текущий сессии

Чтобы поменять язык и кодировку для текущей сессии, вам нужно установить переменную окружения LANG, это можно сделать командой export:

# Установить английскую локаль export LANG=en_US.UTF-8 # Установить русскую локаль export LANG=ru_RU.UTF-8 # Установить французскую локаль export LANG=fr_FR.UTF-8

Если в вашей системе это не сработало, то замените переменную LANG на переменную LANGUAGE, например:

export LANGUAGE=en_US.UTF-8

Изменение языковых настроек насовсем для одного пользователя

Добавьте строку с экспортом желаемой локали (например, export LANG=en_US.utf-8) в файл ~/.bashrc

Изменения начнут действовать после выхода/входа и будут действовать после каждой перезагрузки.

Изменение системной локали по умолчанию

Есть два альтернативных метода смены локали.

Первый — это запустить следующую команду (укажите нужную вам локаль):

sudo localectl set-locale LANG=en_US.UTF-8
sudo localectl set-locale LANG=ru_RU.UTF-8

Второй метод — прописать язык в файле /etc/locale.conf, откройте его:

sudo gedit /etc/locale.conf

и добавьте туда строку с нужной локалью:

LANG=en_US.utf-8

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

Чтобы это окно не появлялось при каждой загрузке системы, поставьте галочку «Не задавать больше этот вопрос».

Чтобы вновь открыть это окно, выполните в командной строке:

echo ‘en_US’ > ~/.config/user-dirs.locale xdg-user-dirs-gtk-update

Источник: zalinux.ru

Что такое » locale.exe » ?

В нашей базе содержится 4 разных файлов с именем locale.exe . You can also check most distributed file variants with name locale.exe. Это исполняемый файл. Вы можете найти его выполняющимся в диспетчере задач как процесс locale.exe.

Подробности о наиболее часто используемом файле с именем «locale.exe»

Продукт: (Пустое значение) Компания: (Пустое значение) Описание: (Пустое значение) Версия: 3.2.8.1 MD5: a30b5ac86853a15d68db0f3940e4141e SHA1: 58d8155c7fec17400f0e994fe2e6254ea4334d5d SHA256: 1ec1cb33627b0ff6181b3257351381951034d2848e08450b31ff47bc3eb7f06f Размер: 256651 Папка: C:WindowsSystem32 ОС: Windows XP Частота: Низкая

Проверьте свой ПК с помощью нашей бесплатной программы

Icon

System Explorer это наша бесплатная, удостоенная наград программа для быстрой проверки всех работающих процессов с помощью нашей базы данных. Эта программа поможет вам держать систему под контролем.

Процесс «locale.exe» безопасный или опасный?

Последний новый вариант файла «locale.exe» был обнаружен 3709 дн. назад. В нашей базе содержится 1 шт. вариантов файла «locale.exe». У всех этих вариантов пока нет окончательных оценок.

Комментарии пользователей для «locale.exe»

У нас пока нет комментариев пользователей к файлам с именем «locale.exe».

Добавить комментарий для «locale.exe»

Для добавления комментария требуется дополнительная информация об этом файле. Если вам известны размер, контрольные суммы md5/sha1/sha256 или другие атрибуты файла, который вы хотите прокомментировать, то вы можете воспользоваться расширенным поиском на главной странице .

Если подробности о файле вам неизвестны, вы можете быстро проверить этот файл с помощью нашей бесплатной утилиты. Загрузить System Explorer.

Проверьте свой ПК с помощью нашей бесплатной программы

System Explorer это наша бесплатная, удостоенная наград программа для быстрой проверки всех работающих процессов с помощью нашей базы данных. Эта программа поможет вам держать систему под контролем. Программа действительно бесплатная, без рекламы и дополнительных включений, она доступна в виде установщика и как переносное приложение. Её рекомендуют много пользователей.

Источник: systemexplorer.net

Locale что это за программа

Основной объём этого документа занимают описания, как заставить различные программы понять кириллицу. Обычно каждая программа требует, чтобы это был её собственный метод, как правило, чрезвычайно отличный от других.

Читайте также:
Обучение по программе 1 3 в начальных классах что это

Кроме того, у некоторых программ поддержка языков, отличных от английского далека от идеала, не говоря уж об их неспособности взаимодействовать, используя родной язык пользователя вместо английского. Проблемы, перечисленные выше, сильно осложняют жизнь, так как программное обеспечение редко создаётся только для местного рынка.

Переработка существенных частей программного обеспечения каждый раз при входе на новый международному рынок очень неэффективна. Интернациональная поддержка, осуществляемая собственными средствами программы, уникальным и присущим только ей способом, в терминах долгосрочного планирования далеко не блестящая идея. Следовательно, возникает потребность в стандартизации.

И такой стандарт существует . Все связанное с вышеперечисленными проблемами разделено в соответствии c двумя базисными концепциями: localization и internationalization . Под локализацией мы имеем в виду создание программ, способных обрабатывать различные языковые соглашения для различных стран. Позвольте привести пример.

Формат даты, принятый в Соединённых Штатах, имеет вид ММ/ДД/ГГ. Однако в России наиболее популярный формат — ДД.ММ.ГГ. Другие проблемы включают в себя представление времени, форматы числа и представления валюты.

Кроме этого, один из наиболее важных аспектов локализации — это определение соответствующих классов символов, то есть определение, какие символы в наборе символов являются «кирпичиками» языка (буквами) и как они упорядочиваются. С другой стороны, локализация не работает со шрифтами.

Интернационализация (или i18n для краткости), как предполагается, решает проблемы, связанные со способностью программы взаимодействовать с пользователем на его родном языке. Обе эти концепции должны быть стандартизованы, давая программистам непротиворечивый путь создания программ, работающих в национальной среде. Хотя стандартизация ещё в процессе, много её частей уже фактически являются стандартом, так что они могут использоваться без особых проблем. Я опишу общую схему создания программ, использующих описанные выше возможности стандартным способом. Так как это заслуживает отдельного документа, я буду давать только очень общее описание и указатели на более полные источники.

Locale

Одно из основных понятий локализации — locale . Под locale подразумевается набор соглашений, специфических для отдельно взятого языка в отдельно взятой стране. В общем случае говорить, что locale определяется только страной, неправильно. Например, в Канаде могут быть определены два locale — язык «Канада/Английский» и язык «Канада/Французский». Более того, язык «Канада/Английский» не является эквивалентом языку «Великобритания/Английский» или «Американский/Английский», точно так же «Канада/Французский» язык — не эквивалент языку «Франция/Французский» или языку «Швейцария / Французский» . Более подробное описание проблем/возможностей/достоинств локализации на русском языке можно найти на страничке Локализация, как она есть.

Locale с точки зрения пользователя

Каждая locale — это специальная база данных, определяющая, по крайней мере, следующие правила и соглашения:

  1. Классификация символов и преобразований,
  2. Представление валюты,
  3. Представление чисел (то есть Десятичные символы),
  4. Формат даты / времени.

Настройка локали

Прежде всего — подробная документация о локали имеется на www.sensi.org/~alec/locale Обращайтесь туда, если вам нужны нестандартные варианты (например, отключение русскоязычного интерфейса с сохранением правильной сортировки и т.д.)

Документацию по локали X Window можно найти по адресу www.tsu.ru/~pascal/x_locale/

Вот инструкция для нетерпеливых (только для glibc).

  • Зайти в /usr/share/locale и создать там симлинк ru_RU.KOI8-R , указывающий на ru_SU . Эта операция необходима только для glibc < 2.1.2.
  • Как-либо прописать установку переменной LANG в стартовых скриптах. В RedHat-based дистрибутивах это делается путём редактирования файла /etc/sysconfig/i18n, где, кроме прочего, должна быть строчка

LANG=ru_RU.KOI8-R
В общем случае можно прописать в /etc/profile
LANG= export LANG

Гораздо же честнее сделать отдельный настоящий каталог: /usr/share/locale/ru_RU.KOI8-R/ (конечно, если его нет в данном дистрибутиве).

Некоторые дистрибутивы неправильно включают

LANG=ru LC_ALL=ru_RU.KOI8-R

Это НЕПРАВИЛЬНО , почему так делать нельзя — описано ниже.

А теперь поговорим о том же, но гораздо подробнее. Итак:

Как включить локализацию?

Если на UNIX машине (с POSIX:1996) средства locale правильно установлены и программы правильно написаны, то локализация включается путём задания строки окружения LANG:

$ export LANG=

Если такой строки окружения нет, то работает значение локализации по умолчанию: LANG=»C» или LANG=»POSIX» (что то же самое) — минимальный набор параметров, необходимый для функционирования программ на ANSI C (ISO 9899:1990), в кодировке US-ASCII (7 bit) (“Символы и кодировки”).

Если ваша система имеет полный набор утилит POSIX.2, то узнать установленные в системе и допустимые значения для LANG= можно командой locale:

$ locale -a

По новому стандарту (POSIX.2 приложение E) значения локализации записываются в форме:

language_TERRITORY.Codeset

Стандарт ISO 639 описывает «language names», ISO 3166 — «territory names». Территории _SU более не существует (вернее, теперь она означает Судан), однако для совместимости некоторые системы продолжают её поддерживать как alias: ru_SU —> ru_RU.

Для русского языка LANG устанавливается, как правило, равным LANG=»ru_RU.KOI8-R» или LANG=»ru_RU.ISO_8859-5″. То есть:

$ export LANG=»ru_RU.KOI8-R»

Для установки украинской локали эта переменная должна быть равна соответственно uk_UA.koi8-u.

Согласно стандарту допустимы также короткие именования значений locale, которые часто оформляются как aliases (псевдонимы) полного наименования. Например «C» —> «POSIX».

$ export LANG=ru $ export LANG=ru_RU $ export LANG=ru_RU.KOI8-R

Однако, если вы указываете короткое имя, может оказаться, что ваша кодировка оказывается вовсе не KOI8-R (почему следует использовать именно koi8-r , описано в разделе “Символы и кодировки”). Лучше не пользоваться значениями по умолчанию, а указывать точное длинное имя.

Во FreeBSD 2.x так и есть. Для Linux — зависит от дистрибутива. В коммерческих реализациях (Solaris, SCO, AIX etc), как правило, используется значение LANG=»ru_RU», или укороченное LANG=»ru» (и, как правило, кодовая страница ISO8859-5 по умолчанию).

Некоторые могут пожелать сделать себе локализацию в другом наборе символов: ru_RU.X-CP-866 (ru_RU.IBM866), ru_RU.x-mac-cyrillic, ru_RU.ISO_8859-5 или даже ru_RU.CP1251 — на это нет никаких ограничений. Все эти кодировки совершенно равноправны и зарегистрированы (кроме x-mac-cyrillic) в IANA. Только не забудьте, что локализация, ввод-вывод и отображение национальных символов на терминале — это совершенно разные вещи.

Если система локализована не полностью и использовать полное переключение на другой язык (с помощью export LANG= ) нельзя, можно включить locale только для функций locale API библиотеки libc, задав значение категорий локализации. Можно также присваивать разные значения разным категориям, задавая их имена в строках окружения:

Если вас раздражают русские даты, сообщения и man-ы, но нужно обрабатывать русские буквы и т.д., то сделайте:

$ export LANG=»C» $ export LC_CTYPE=»ru_RU.KOI8-R» $ export LC_COLLATE=»ru_RU.KOI8-R» $ export LC_TIME=»C»

Ниже идёт описание различных опций locale

  • LC_CTYPE — определяет одиночные символы,
  • LC_NUMERIC — формат чисел,
  • LC_TIME — формат времени,
  • LC_COLLATE — используется для сравнения строк,
  • LC_MONETARY — валюта,
  • LC_MESSAGES — системные сообщения,
  • LC_PAPER — формат бумаги,
  • LC_NAME — формат имён,
  • LC_ADDRESS — формат адресов,
  • LC_TELEPHONE — формат телефонов.

Не рекомендуется использовать строку окружения :

$ export LC_ALL=

поскольку формально такой категории локализации нет, она «виртуальная» и обозначает «одновременно все категории». Из-за этого во многих реализациях locale API возникают проблемы. Проблемы могут возникнуть также с программами, работающими с PostScript: в категории LC_NUMERIC локализации ru_RU в соответствии со стандартом ГОСТ в качестве десятичного разделителя используется символ ‘запятая’: «,» в то время, как в стандарте языка PostScript — точка «.» А категория LC_NUMERIC оказывает влияние на printf(«%f»,float);. Используйте значение C (POSIX) для LC_NUMERIC, если вы работаете с PostScript:

$ export LC_NUMERIC=»POSIX»

Посмотреть текущие значения категорий локализации можно все той же утилитой locale (без параметров).

$ locale

ПРИМЕЧАНИЕ: В некоторых современных системах начинает появляться локализация в UNICODE. Например, для России эта локаль включается заданием строки окружения LANG=»ru_RU.UTF-8″.

Locale зависимое программирование

С locale программа не должна знать о различных символьных преобразованиях и правилах сравнения, описанных выше. Вместо этого они используют специальный API, который действует по правилам, определённым locale. Кроме того, нет необходимости для программы пользоваться только одной locale для соблюдения всех правил — возможно пользоваться другими правилами, описанными в других locale (хотя такой метод не очень хорош).

Из man setlocale(3):

Программа может быть сделана переносимой для всех locale, вызывая setlocale(LC_ALL, «» ) после инициализации программы, используя значения, возвращённые из запроса localeconv() для locale-зависимой информации, и используя strcoll() или strxfrm() для сравнения строк.

Довольно легко определить четыре уровня программной локализации:

  1. Чисто 8ми битное программное обеспечение. То есть программа вызывает setlocale(). Она не делает каких-либо предположений относительно 8-ого бита каждого символа, используя пользовательские функции из ctype.h и ограничения из limits.h, а также заботится относительно signed/unsigned результата. Очень важно, чтобы программа не делала каких-либо предположений относительно характера набора символов и их упорядочения. То есть следует воздержаться от следующих конструкций при программировании:

if (c >= ‘A’ c

Подобные конструкции с точки зрения правильного «locale»-программирования совершенно недопустимы . Взамен во всех таких случаях должны использоваться, макрокоманды из locale зависимого файла заголовка ctype.h. Например:

if (isalpha(c) isupper(c)) < . или if (isascii(c) isupper(c))

Пред. Уровень выше След.
Проверка правильности кириллизации X Window Начало Интернационализация

Источник: www.opennet.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru