2

При запуске программы, помимо прочего, она проверяет настройки языка и текста для Mac OS X и определяет язык для работы. «Если программа поддерживает язык, стоящий первым в списке, он будет использоваться для меню и сообщений в программе. Если ваш первый язык не поддерживается, будет использоваться второй язык ".

Как сделать так, чтобы программа обращалась только к определенному (второму) языку из списка?

Пример:

  • Вся система работает с английским языком, когда вы запускаете "программу", она работает с английским языком и не понимает русский язык.
  • Вся система работает с русским языком, если вы запускаете "программу", она работает с английским и русским языками.

Требуется система на английском языке, а для "программы" русская.

Переключатель языка не работает, потому что по умолчанию он только английский. Спасибо-

3 ответа3

2

У меня есть следующие две функции в моем .bash_profile:

# default language order: German, Swiss German, Swiss French, French, ...
langreset() { defaults write NSGlobalDomain AppleLanguages "(de, de-CH, fr-CH, fr, en, es, it, en-US)"; }
langfoo() { defaults write NSGlobalDomain AppleLanguages "($1, de, de-CH, fr-CH, fr, en, es, it, en-US)"; }

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

langfoo it
# run the app, either as a unix command, 
# double-click, QuickSilver, "open /path/to/app"...

# To return to the default language order, type
langreset

Это не изменяет переменную среды оболочки LANG, но программы Unix, кажется, работают с новым языком просто отлично. Если вы не хотите управлять этим через командную строку, вы, конечно, можете обернуть эти команды в AppleScript, превратить его в приложение и запустить его таким образом. Applescripts может запрашивать ввод с помощью небольшого диалогового окна.

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

defaults write ch.sudo.cyberduck AppleLanguages "(Dutch,English)"

Вы можете найти файл prefs приложения (т.е. ch.sudo.cyberduck), выполнив поиск через ~/Library/Preferences/

0

Language Switcher просто добавляет массивы AppleLanguages, подобные этой, в списки свойств приложений:

defaults write com.apple.TextEdit AppleLanguages -array ru

Вы можете временно открыть приложение на другом языке, используя аргумент -AppleLanguages:

/Applications/TextEdit.app/Contents/MacOS/TextEdit -AppleLanguages '(ru)'

Вы можете увидеть список идентификаторов со defaults read -g AppleLanguages .

0

РЕДАКТИРОВАТЬ:

Больше не поддерживается переключение для одного приложения в 10.6.4 в Finder.

"Рекомендуемый обходной путь" - переключать языки перед этим приложением. Если Language Switcher не работает (и он поддерживает русский язык по состоянию на февраль этого года!) Возможно, вам придется вручную переключаться.

Из того, что я могу сказать, Language Switcher ДОЛЖЕН работать на вас, хотя.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .