В системе → Администрирование → Поддержка языков → Текст. Я могу выбрать только стандартные локали, но я бы хотел их настроить. Например, в Windows я мог настроить такие вещи, как формат времени и даты, единицы измерения, десятичный разделитель, валюта и т. Д. Вручную - как я могу сделать это в Ubuntu?
Не уверен, какую настройку вы хотите, но вы можете установить некоторые переменные локали, используя ~/.locale
. Например, чтобы получать сообщения на английском языке, но по немецкому времени и тому подобное я использую
export LC_ALL=""
export LANG="en_GB.utf8"
export LC_CTYPE="de_DE.utf8"
export LC_NUMERIC="de_DE.utf8"
export LC_TIME="de_DE.utf8"
export LC_COLLATE="de_DE.utf8"
export LC_MONETARY="de_DE.utf8"
export LC_MESSAGES="en_GB.utf8"
export LC_PAPER="de_DE.utf8"
export LC_NAME="en_GB.utf8"
export LC_ADDRESS="de_DE.utf8"
export LC_TELEPHONE="de_DE.utf8"
export LC_MEASUREMENT="de_DE.utf8"
export LC_IDENTIFICATION="de_DE.utf8"
Также возможно создание пользовательских локалей. Смотрите, например это руководство для дат.
Этот ответ продемонстрирует, как полностью настроить локаль, дополнительно с помощью существующей локали в качестве основы. Тип локали, которая будет использоваться в этом ответе, i18n
введите; такой тип локали будет подразумеваться в каждом упоминании о слове "локаль" в теле ответа.
Первая вещь необходимо настроить локаль, узнают формат локали. У этого веб-редактора локали есть всестороннее описание каждого поля в локали, несмотря на то, чтобы не быть применимым просто любым в сразу же способ. Это будет руководством по использованию.
Единственные инструменты необходимо работать с локалями,
Я рекомендую Вам создать каталог и сохранить все связанное с работой, которую Вы сделаете на локали к нему.
Примечание: при использовании необычных символов, у Вас могут быть проблемы со сценарием, который я пишу ниже; Вы могли бы хотеть смотреть на альтернативные сценарии, связанные nass.
Сохраните следующий код в файл. Этот файл будет определен Вашей системой как сценарий Python, который в порядке, потому что это - то. Это руководство предполагает, что Вы назвали сценарий encodestr
.
#!/usr/bin/python
def encode(string):
newstring = str()
for ch in string:
newstring += "<U%04X>" % ord(ch)
return newstring
if __name__ == '__main__':
import sys
print encode(sys.argv[1])
После сохранения его дайте разрешение выполнения файла - это пригодится. Можно сделать тот наутилус использования, или путем выполнения от терминала следующей команды, на каталоге, в котором Вы сохранили сценарий: chmod +x encodestr
.
Можно теперь протестировать этот сценарий путем работы того же каталога: ./encodestr hello
. Необходимо получить вывод, равный <U0068><U0065><U006C><U006C><U006F>
.
Изменение существующей локали является самым легким случаем, поскольку идеально Вы выберете локаль, которая соответствует Вашим потребностям почти полностью, в этом случае необходимо сделать только маленькие модификации. Для адаптации его можно использовать руководство для знания, какой из разделов является теми, Вы хотите измениться, и как можно изменить их. Все установленные локали находятся в /usr/share/i18n/locales
, однако руководство содержит в значительной степени каждую локаль, когда-либо созданную.
Однако первая вещь, которую Вы заметите при открытии локали, состоит в том, что Вы считаете английские слова так же как странный <UXXXX>
коды. Необходимо будет смочь создать эти коды - это то, где encodestr
сценарий появляется.
Когда Вы знаете, какие разделы необходимо изменить, необходимо знать каждое поле, содержавшееся в разделе.
Например,
LC_TIME
раздел содержит полеt_fmt
, и многие другие. Каждое поле имеет свое собственное описание на руководстве.
Теперь, когда Вы знаете, который поля изменить, используйте руководство снова для обнаружения, какие значения делает поле, принимают.
Например, поле
t_fmt
принимает текст и общие strfmt переменные.
Как раз в то самое время, когда Вы знаете, что записать на полях, Вы хотите изменить, прокрутить текст encodestr
сценарий для получения его закодированного эквивалента.
Примечание: Не каждое поле должно быть закодировано, использовать существующую локаль в качестве ссылки в случае необходимости.
Например, если Вы хотите иметь формат времени
Time: %T
вt_fmt
поле, выполненное./encodestr "Time: %T"
; это возвратится<U0054><U0069><U006D><U0065><U003A><U0020><U0025><U0054>
и таким образом, у Вас будет строкаt_fmt <U0054><U0069><U006D><U0065><U003A><U0020><U0025><U0054>
в Вашей локали (в он - соответствующий раздел, конечно).
После изменения каждого поля, Вы хотели, необходимо будет продолжить устанавливать локаль на системе, таким образом, это сможет использоваться. Продолжите двигаться к разделу установки для этого.
В противоположность изменению того другой метод можно использовать для создания пользовательской локали, работает над ним с нуля. Это не очень трудно - снова - при использовании руководства. Вот полезная подсказка хотя: можно скопировать разделы с других локалей без фактической копии и методов вклеивания. Просто необходимо следовать за этим форматом:
LC_SECTION
copy "locale"
END LC_SECTION
Где LC_SECTION
раздел, который Вы хотите изменить, и locale
локаль, с которой Вы хотите скопировать тот раздел.
Например, если бы Вы хотите скопировать формат времени в английской локали, у Вас был бы этот текст Вашим пользовательским файлом локали:
LC_TIME
copy "en_GB"
END LC_TIME
И это сохраняет Вас большая работа и гарантирует, что любое изменение, внесенное в локаль, на которую ссылаются, будет зеркально отражено к Вашему.
Шаги, которые я собираюсь показать ниже, не могут быть оптимальными, но работа.
Скомпилируйте свою локаль. Не паникуйте! Это занимает время. Просто выполните команду sudo localedef -i custom -f UTF-8 custom.UTF-8 -c -v
где custom
название Вашей локали.
Скопируйте свою локаль в /usr/share/i18n/locales/
каталог. Вам определенно будет нужен sudo priviledges, чтобы сделать это, и можно сделать это с командой sudo cp locale /usr/share/i18n/locales/
где locale
имя файла Вашей пользовательской локали.
Укажите свою локаль в /var/lib/locales/supported.d/
. Например, создайте имя файла /var/lib/locales/supported.d/asd
и добавьте строку custom UTF-8
, где пользовательский название Вашей локали.
Выполните волшебную команду. Я на самом деле не знаю то, что точно делает эта команда, но это крайне важно. Выполненный sudo locale-gen
. Является самым вероятным, что это генерирует ссылки на доступные локали при необходимости.
Скажите Вашей системе использовать локаль. Если Вы хотите, чтобы локаль использовалась на способе в масштабе всей системы, измените /etc/environment
файл. В противном случае можно изменить Ваш ~/.profile
файл или любой другой тот, который получен при запуске. Если Вы не знаете то, что не волнуют последние средства, просто используйте ~/.profile
файл. Знать то, что необходимо записать в нем, первый показ locale
команда. Это должно выпустить список с объектами как LANGUAGE
, LC_MESSAGES
, LC_CTYPE
и многие другие. Вы запишете для каждого из разделов, которые Вы хотите (перечисленный предыдущей командой), на отдельных строках, этом SECTION="locale"
где SECTION
раздел и locale
название Вашей пользовательской локали.
Например, если Вы хотите использовать формат времени из Нидерландов, но английский язык, запишите:
LANGUAGE="en_GB:en"
LC_TIME="nl_NL"
Примечание: Если Вы хотите использовать одну локаль для каждой установки локали, записать LC_ALL="locale"
где locale
название Вашей пользовательской локали. Если Вы хотите использовать локаль для всего, но для языка, можно записать LANG="locale"
и (на другой строке, конечно) LANGUAGE="locale":XX
где XX
2 алфавитных кода для языка, который Вы хотите.
Например, если Вы хотите использовать голландскую локаль и английский язык, Вы могли бы использовать:
LANG="nl_NL"
LANGUAGE="nl_NL:en"
В следующий раз, когда Вы входите в систему, Ваша локаль должна использоваться. Можно протестировать это путем выполнения locale
управляйте снова.
Прокомментируйте о несоответствиях или ложных операторах в этом руководстве!