修改macOS中软件的界面语言
- By Hugo on 2018-05-29, Updated 2019-11-21
背景
在 macOS 中,如果一个软件本身带有中文、英文等多种语言,那么它的界面默认显示的语言会根据操作系统偏好设置内的语言列表顺序从上往下来读取。但有时候我们出于某些原因,需要把某个软件的界面语言改为另一种,但软件自身的偏好设置里又没有给出语言切换选项,那就需要我们自己动手修改一下。
举个例子🌰:系统语言是中文,安装的 Office 默认也是中文,并且 Office 也没有内置语言切换选项。这时如果你想把 Office 的语言设置成英文,但又不希望修改系统语言,仅想修改 Office 的默认语言,本文目的就是要解决这个问题。
使用第三方软件修改(推荐)
App Language Chooser 或 Language Switcher
手动修改
修改语言的前提,确认软件本身是否提供了你需要的那种语言
- 手动查看
在软件图标上点右键 –> 显示包内容,之后打开Contents/Resources/
这个文件夹,看是否存在类似English.lproj
、zh_CN.lproj
这样以.lproj结尾的文件夹。 - 或使用终端命令查看
ls /Applications/Microsoft\ Word.app/Contents/Resources | grep lproj
看是否有你需要的语言,全称或简写均可(参照文末常用语言设置选项),若有请继续往下看,若没有 …… ,google 一下「xx 语言包」看是否有人提供,实在没有那关掉页面洗洗睡吧。
有几种情况,以下逐一说明
- 临时使用某种语言
- 每次启动默认为某种语言
- 在多种语言之间频繁切换
临时使用某种语言
以英文界面启动 Safari 浏览器:open -a /Applications/Safari.app --args -AppleLanguages '(en)'
每次启动默认某种语言
defaults write 软件标识 AppleLanguages '(你需要的语言)'
很简单,就这一条命令,但需要先知道软件标识是什么(即软件的 Bundle Identifier),以 Microsoft Word 为例,在终端中输入命令:
mdls -name kMDItemCFBundleIdentifier /Applications/Microsoft\ Word.app
得到结果,引号里的「com.microsoft.Word」就是我们需要的:
kMDItemCFBundleIdentifier = "com.microsoft.Word"
现在可以开始修改,在终端中输入命令:
defaults write com.microsoft.Word AppleLanguages '(zh_CN)'
在多种语言之间频繁切换
使用系统内建的「脚本编辑器」软件,新建一个文档,在命令栏输入:
do shell script "open -a 软件路径 --args -AppleLanguages '(你需要的语言)'"
点击 文件 > 导出,起一个容易记忆的名字(例如「Safari中文」),并将「文件格式」选为「脚本」,然后将其导出到应用程序文件夹,下次启动时候直接打开这个脚本即可。也可以使用 Automator 保存为 app,这里不再赘述。
移除设置
在我们增加了特定程序语言环境之后,如果手动切换系统语言之后,已设置的程序默认语言仍保留我们手动设置的,若不需要,可以采用以下命令去除,这样软件就会根据系统语言顺序来显示。
defaults delete 软件标识 AppleLanguages
常用语言设置选项
ar = Arabic
cs = Czech
da = Danish
de = German
el = Greek
en = English (US)
es = Spanish
fi = Finnish
fr = French
he = Hebrew
hu = Hungarian
id = Indonesian
it = Italian
ja = Japanese
ko = Korean
nl = Netherlands
no = Norwegian
pl = Polish
pt_PT = Portuguese
pt = Portuguese Brazil
ru = Russian
sk = Slovak
sv = Swedish
th = Thai
tr = Turkish
zh_CN = Chinese Simplified
zh_TW = Chinese Taiwan