启动程序时,除其他事项外,它会检查 Mac OS X 的语言和文本设置并确定工作语言。“如果程序支持列表中的语言,它将用于程序中的菜单和消息。如果不支持您的第一语言,将使用第二语言”。
如何使程序仅对列表中的某种(第二种)语言具有吸引力?
例子:
- 整个系统以英语运行,当您启动“程序”时,它会以英语运行并且不懂俄语。
- 整个系统使用俄语,如果你运行一个“程序”,它会使用英语和俄语。
需要英语系统,但“程序”需要俄语。
“语言切换器”不起作用,因为默认情况下它只有英语。 谢谢-
答案1
我的.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)"; }
第二个函数的逻辑明显存在漏洞,但效果还不错。如果我想启动意大利语应用程序,我会输入
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 shell 环境变量,但 unix 程序似乎可以很好地处理新语言。如果您不想通过命令行进行操作,您当然可以将这些命令包装在 AppleScript 中,将其变成应用程序,然后以此方式启动它。Applescript 可以通过一个小对话框提示输入。
如果您希望某个特定的应用程序始终以一种特定的语言启动:
defaults write ch.sudo.cyberduck AppleLanguages "(Dutch,English)"
您可以通过搜索 ~/Library/Preferences/ 找到应用程序首选项(即 ch.sudo.cyberduck)文件
答案2
编辑:
在 Finder 10.6.4 中不再支持切换单个应用程序。
“推荐的解决方法”是在应用程序之前切换语言。如果语言切换器不起作用(并且它从今年 2 月起就开始支持俄语!)您可能必须手动切换。
据我所知,语言切换器应该适合您。
答案3
语言切换器只是将这样的 AppleLanguages 数组添加到应用程序的属性列表中:
defaults write com.apple.TextEdit AppleLanguages -array ru
您可以使用 -AppleLanguages 参数暂时使用另一种语言打开应用程序:
/Applications/TextEdit.app/Contents/MacOS/TextEdit -AppleLanguages '(ru)'
您可以使用 查看标识符列表defaults read -g AppleLanguages
。