Я хочу использовать определенную локаль для некоторого приложения, но не для остальной части моей системы. Как это сделать?
Вы можете изменить локаль или только ее части для определенного процесса, прежде чем создавать его, изменив его среду.
Проверьте это, запустив gnome-calculator через
env LC_NUMERIC=de_DE.UTF-8 gnome-calculator
, если в данный момент вы используете десятичную точку и через
env LC_NUMERIC=en_IE.UTF-8 gnome-calculator
, если в настоящее время вы используете запятую как десятичную точку.
] Процесс gnome-calculator будет использовать язык, указанный перед его вызовом.
Обратите внимание, что это не сохраняется, если вы закрываете приложение и открываете его через Dash или просто вызываете gnome-calculator в терминале. Фактически, это зависит от процесса, и вы можете использовать несколько экземпляров gnome-calculator, некоторые из них используют периоды, а некоторые из них используют запятые в качестве их десятичных точек. Проверьте это, запустив gnome-calculator в другом терминале. Он будет использовать ваши обычные настройки.
Вам не нужно искать ни одного локали, который бы соответствовал вашим потребностям во всем. Вместо этого достаточно найти тот, который соответствует тому, что вы хотите в определенной категории локализации. Здесь нам только нужен формат времени, который можно изменить, манипулируя переменной окружения LC_TIME.
Возможно, вас интересует международный формат времени (ISO 8601) или формат времени для какой-либо страны из которых вы знаете формат времени. Для первого используйте en_DK.UTF-8. Для последнего используйте 2-буквенную аббревиатуру языка строчными буквами, символ подчеркивания, аббревиатуру 2 буквы для графства заглавными буквами, а затем .UTF-8. Например, en_IE.UTF-8 является ирландским английским, de_DE.UTF-8 является немецким немецким, de_CH.UTF-8 является швейцарским немецким, а fr_CH.UTF-8 является швейцарским французским.
Теперь, когда вы немного узнали о том, насколько классный Linux, давайте перейдем к практической части.
Вы, вероятно, запускаете свое приложение через Dash. Если вы это сделаете, вы используете файл рабочего стола. Найдите свой рабочий стол. Это либо в /usr/share/applications, либо в ~/.local/share/applications. Первый является общесистемным, последний является специфичным для пользователя.
Я буду использовать Firefox в качестве примера приложения. Это рабочий файл /usr/share/applications/firefox.desktop.
После того, как вы нашли файл рабочего стола, который хотите манипулировать, скопируйте его в папку рабочего стола вашего пользователя:
cp /usr/share/applications/firefox.desktop ~/.local/share/applications
Теперь вы можете манипулировать скопируйте, чтобы ваши изменения влияли только на локальную версию пользователя.
Откройте его в текстовом редакторе. Неважно, используете ли вы одну командную строку или графическую. Обычный Ubuntu поставляется с GEdit в качестве графического текстового редактора по умолчанию:
gedit ~/.local/share/applications/firefox.desktop
Если это не работает, потому что вы используете аромат Ubuntu, который не поставляется с GEdit, просто используйте nano: [ ! d18]
nano ~/.local/share/applications/firefox.desktop
Найдите строку, начинающуюся с Exec=. Для Firefox это Exec=firefox %u. Затем возьмите все, что приходит после Exec=, и получите его в этом формате с нужной вами локалью вместо en_DK.UTF-8:
Exec=env LC_TIME=en_DK.UTF-8 firefox %u
Конечно, вам нужно заменить en_DK.UTF-8 на любой язык, который вы хотите
Сохраните файл.
После внесения изменений вам необходимо сделать исполняемый файл рабочего стола. Файл, который вы скопировали, является исполняемым, но это свойство не копируется, поэтому вам нужно снова установить его для нового файла. Сделайте это, запустите эту команду:
chmod +x ~/.local/share/applications/firefox.desktop
Теперь перезапустите приложение.
Dash обычно обновляет файлы рабочего стола автоматически, но на медленных системах это может занять некоторое время. Или, по крайней мере, это было в некоторой версии. Если он не работает мгновенно, выйдите из системы и снова запустите.
Вы можете изменить локаль или только ее части для определенного процесса, прежде чем создавать его, изменив его среду.
Проверьте это, запустив gnome-calculator через
env LC_NUMERIC=de_DE.UTF-8 gnome-calculator
, если в данный момент вы используете десятичную точку и через
env LC_NUMERIC=en_IE.UTF-8 gnome-calculator
, если в настоящее время вы используете запятую как десятичную точку.
] Процесс gnome-calculator будет использовать язык, указанный перед его вызовом.
Обратите внимание, что это не сохраняется, если вы закрываете приложение и открываете его через Dash или просто вызываете gnome-calculator в терминале. Фактически, это зависит от процесса, и вы можете использовать несколько экземпляров gnome-calculator, некоторые из них используют периоды, а некоторые из них используют запятые в качестве их десятичных точек. Проверьте это, запустив gnome-calculator в другом терминале. Он будет использовать ваши обычные настройки.
Вам не нужно искать ни одного локали, который бы соответствовал вашим потребностям во всем. Вместо этого достаточно найти тот, который соответствует тому, что вы хотите в определенной категории локализации. Здесь нам только нужен формат времени, который можно изменить, манипулируя переменной окружения LC_TIME.
Возможно, вас интересует международный формат времени (ISO 8601) или формат времени для какой-либо страны из которых вы знаете формат времени. Для первого используйте en_DK.UTF-8. Для последнего используйте 2-буквенную аббревиатуру языка строчными буквами, символ подчеркивания, аббревиатуру 2 буквы для графства заглавными буквами, а затем .UTF-8. Например, en_IE.UTF-8 является ирландским английским, de_DE.UTF-8 является немецким немецким, de_CH.UTF-8 является швейцарским немецким, а fr_CH.UTF-8 является швейцарским французским.
Теперь, когда вы немного узнали о том, насколько классный Linux, давайте перейдем к практической части.
Вы, вероятно, запускаете свое приложение через Dash. Если вы это сделаете, вы используете файл рабочего стола. Найдите свой рабочий стол. Это либо в /usr/share/applications, либо в ~/.local/share/applications. Первый является общесистемным, последний является специфичным для пользователя.
Я буду использовать Firefox в качестве примера приложения. Это рабочий файл /usr/share/applications/firefox.desktop.
После того, как вы нашли файл рабочего стола, который хотите манипулировать, скопируйте его в папку рабочего стола вашего пользователя:
cp /usr/share/applications/firefox.desktop ~/.local/share/applications
Теперь вы можете манипулировать скопируйте, чтобы ваши изменения влияли только на локальную версию пользователя.
Откройте его в текстовом редакторе. Неважно, используете ли вы одну командную строку или графическую. Обычный Ubuntu поставляется с GEdit в качестве графического текстового редактора по умолчанию:
gedit ~/.local/share/applications/firefox.desktop
Если это не работает, потому что вы используете аромат Ubuntu, который не поставляется с GEdit, просто используйте nano: [ ! d18] nano ~/.local/share/applications/firefox.desktop
Найдите строку, начинающуюся с Exec=. Для Firefox это Exec=firefox %u. Затем возьмите все, что приходит после Exec=, и получите его в этом формате с нужной вами локалью вместо en_DK.UTF-8:
Exec=env LC_TIME=en_DK.UTF-8 firefox %u
Конечно, вам нужно заменить en_DK.UTF-8 на любой язык, который вы хотите
Сохраните файл.
После внесения изменений вам необходимо сделать исполняемый файл рабочего стола. Файл, который вы скопировали, является исполняемым, но это свойство не копируется, поэтому вам нужно снова установить его для нового файла. Сделайте это, запустите эту команду:
chmod +x ~/.local/share/applications/firefox.desktop
Теперь перезапустите приложение.
Dash обычно обновляет файлы рабочего стола автоматически, но на медленных системах это может занять некоторое время. Или, по крайней мере, это было в некоторой версии. Если он не работает мгновенно, выйдите из системы и снова запустите.
Вы можете изменить локаль или только ее части для определенного процесса, прежде чем создавать его, изменив его среду.
Проверьте это, запустив gnome-calculator через
env LC_NUMERIC=de_DE.UTF-8 gnome-calculator
, если в данный момент вы используете десятичную точку и через
env LC_NUMERIC=en_IE.UTF-8 gnome-calculator
, если в настоящее время вы используете запятую как десятичную точку.
] Процесс gnome-calculator будет использовать язык, указанный перед его вызовом.
Обратите внимание, что это не сохраняется, если вы закрываете приложение и открываете его через Dash или просто вызываете gnome-calculator в терминале. Фактически, это зависит от процесса, и вы можете использовать несколько экземпляров gnome-calculator, некоторые из них используют периоды, а некоторые из них используют запятые в качестве их десятичных точек. Проверьте это, запустив gnome-calculator в другом терминале. Он будет использовать ваши обычные настройки.
Вам не нужно искать ни одного локали, который бы соответствовал вашим потребностям во всем. Вместо этого достаточно найти тот, который соответствует тому, что вы хотите в определенной категории локализации. Здесь нам только нужен формат времени, который можно изменить, манипулируя переменной окружения LC_TIME.
Возможно, вас интересует международный формат времени (ISO 8601) или формат времени для какой-либо страны из которых вы знаете формат времени. Для первого используйте en_DK.UTF-8. Для последнего используйте 2-буквенную аббревиатуру языка строчными буквами, символ подчеркивания, аббревиатуру 2 буквы для графства заглавными буквами, а затем .UTF-8. Например, en_IE.UTF-8 является ирландским английским, de_DE.UTF-8 является немецким немецким, de_CH.UTF-8 является швейцарским немецким, а fr_CH.UTF-8 является швейцарским французским.
Теперь, когда вы немного узнали о том, насколько классный Linux, давайте перейдем к практической части.
Вы, вероятно, запускаете свое приложение через Dash. Если вы это сделаете, вы используете файл рабочего стола. Найдите свой рабочий стол. Это либо в /usr/share/applications, либо в ~/.local/share/applications. Первый является общесистемным, последний является специфичным для пользователя.
Я буду использовать Firefox в качестве примера приложения. Это рабочий файл /usr/share/applications/firefox.desktop.
После того, как вы нашли файл рабочего стола, который хотите манипулировать, скопируйте его в папку рабочего стола вашего пользователя:
cp /usr/share/applications/firefox.desktop ~/.local/share/applications
Теперь вы можете манипулировать скопируйте, чтобы ваши изменения влияли только на локальную версию пользователя.
Откройте его в текстовом редакторе. Неважно, используете ли вы одну командную строку или графическую. Обычный Ubuntu поставляется с GEdit в качестве графического текстового редактора по умолчанию:
gedit ~/.local/share/applications/firefox.desktop
Если это не работает, потому что вы используете аромат Ubuntu, который не поставляется с GEdit, просто используйте nano: [ ! d18] nano ~/.local/share/applications/firefox.desktop
Найдите строку, начинающуюся с Exec=. Для Firefox это Exec=firefox %u. Затем возьмите все, что приходит после Exec=, и получите его в этом формате с нужной вами локалью вместо en_DK.UTF-8:
Exec=env LC_TIME=en_DK.UTF-8 firefox %u
Конечно, вам нужно заменить en_DK.UTF-8 на любой язык, который вы хотите
Сохраните файл.
После внесения изменений вам необходимо сделать исполняемый файл рабочего стола. Файл, который вы скопировали, является исполняемым, но это свойство не копируется, поэтому вам нужно снова установить его для нового файла. Сделайте это, запустите эту команду:
chmod +x ~/.local/share/applications/firefox.desktop
Теперь перезапустите приложение.
Dash обычно обновляет файлы рабочего стола автоматически, но на медленных системах это может занять некоторое время. Или, по крайней мере, это было в некоторой версии. Если он не работает мгновенно, выйдите из системы и снова запустите.
Я предпочитаю сценарий оболочки оболочки для этого. Сначала создайте скрипт с помощью текстового редактора по вашему выбору. Пример скрипта:
$ cat ~/bin/firefox
#!/bin/sh
export LC_TIME=en_DK.UTF-8
exec /usr/bin/firefox $@
Затем сделайте его выполнимым:
chmod +x ~/bin/firefox
Преимущества с помощью этого метода:
Нет локальной копии файла .desktop, который будет отменять возможные изменения в исходном файле .desktop при обновлении пакета. Работает как при запуске приложения из графической среды, так и при запуске с терминала.Я предпочитаю сценарий оболочки оболочки для этого. Сначала создайте скрипт с помощью текстового редактора по вашему выбору. Пример скрипта:
$ cat ~/bin/firefox
#!/bin/sh
export LC_TIME=en_DK.UTF-8
exec /usr/bin/firefox $@
Затем сделайте его выполнимым:
chmod +x ~/bin/firefox
Преимущества с помощью этого метода:
Нет локальной копии файла .desktop, который будет отменять возможные изменения в исходном файле .desktop при обновлении пакета. Работает как при запуске приложения из графической среды, так и при запуске с терминала.Я предпочитаю сценарий оболочки оболочки для этого. Сначала создайте скрипт с помощью текстового редактора по вашему выбору. Пример скрипта:
$ cat ~/bin/firefox
#!/bin/sh
export LC_TIME=en_DK.UTF-8
exec /usr/bin/firefox $@
Затем сделайте его выполнимым:
chmod +x ~/bin/firefox
Преимущества с помощью этого метода:
Нет локальной копии файла .desktop, который будет отменять возможные изменения в исходном файле .desktop при обновлении пакета. Работает как при запуске приложения из графической среды, так и при запуске с терминала.