乐趣区

关于程序员:如何临时修改-macOS-应用的界面语言

如何长期批改 macOS 利用的界面语言

个别状况下,应用程序的界面语言会和零碎语言保持一致。但有些时候,咱们也会心愿长期换用一种不同的界面语言。例如,一些程序的中文翻译词不达意,有必要参考英文界面来确定性能的精确含意;又如,一些网页会强制依照浏览器语言显示不同版本,因而必须通过切换浏览器语言来管制网页语言。

问题是,并不是所有的应用程序都提供了切换界面语言的选项。事实上,大多数 macOS 的内建利用都没有这样的设置。如果每次遇到这种需要都去长期扭转零碎语言,未免过于耗时和麻烦。

这个问题能够通过终端命令来解决。macOS 容许在运行应用程序时向其传递特定参数,其中,-AppleLanguages 参数就是用来控制应用程序的语言的。例如:

# 以简体中文界面启动 Safari 浏览器
$ open -a /Applications/Safari.app --args -AppleLanguages '(zh-CN)' 

# 以英文界面启动 Pages
$ open -a /Applications/Pages.app --args -AppleLanguages '(en)'

如果想以其余语言启动某个应用程序,只须要批改将上述命令最初的地区代码。其余一些罕用的代码包含繁体中文(zh-TW)、日文(ja)、法文(fr)、德文(de)等。

查问应用程序反对哪些语言

要晓得一个利用都反对哪些界面语言 ,能够在 Finder 中找到该利用,点击右键抉择 显示包内容,而后查看 /Contents/Resources 目录下以 .lproj 结尾的语言文件目录;.lproj 之前的局部就是各语言对应的地区代码。

Safari 的语言文件

当然,更快捷的办法还是应用终端命令。例如:

# 查看 Ulysses 反对的界面语言
$ ls /Applications/Ulysses.app/Contents/Resources | grep lproj
> Base.lproj
> de.lproj
> en.lproj
> …

为应用程序的特定语言创立快捷方式

如果须要比拟频繁地用不同语言显示某个利用,那么能够为其创立一个快捷方式。

办法是:关上零碎内建的「脚本编辑器」利用,新建一个文档,在命令栏输出:

do shell script "open -a [应用程序门路] --args -AppleLanguages'([要显示的语言])'"

点击 文件 > 导出,起一个易认的名字(例如「Safari CN」),并将「文件格式」选为「脚本」,而后将其导出到 Applications 文件夹。

用脚本编辑器为特定语言创立快捷方式

这样,就能够间接从 Launchpad 以特定语言启动这一利用了。

Alfred 或 LaunchBar 用户能够用该原理制作动作来实现同样成果,在此不赘。

默认以特定语言启动应用程序

最初,如果心愿始终以某种与零碎设置不同的语言启动特定利用,能够用 defaults write 命令来批改其默认设置。具体语法是:

$ defaults write [利用的 Bundle ID] AppleLanguages '([要默认显示的语言])'

例如:

# 默认以简体中文关上「文本编辑」利用
$ defaults write com.apple.TextEdit AppleLanguages '(zh-CN)'

其中,利用的 Bundle ID 能够通过运行 mdls -name kMDItemCFBundleIdentifier [应用程序门路] 来查找。例如:

# Chrome 浏览器的 Bundle ID
$ mdls -name kMDItemCFBundleIdentifier /Applications/Google\ Chrome.app
> kMDItemCFBundleIdentifier = "com.google.Chrome"

如果不再须要固定应用程序的显示语言,在终端运行:

$ defaults delete [利用的 Bundle ID] AppleLanguages
退出移动版