通常狀況下,應用程序的界面語言會和系統語言保持一致。但有些時候,咱們也會但願臨時換用一種不一樣的界面語言。例如,一些程序的中文翻譯詞不達意,有必要參考英文界面來肯定功能的準確含義;又如,一些網頁會強制按照瀏覽器語言顯示不一樣版本,所以必須經過切換瀏覽器語言來控制網頁語言。shell
問題是,並非全部的應用程序都提供了切換界面語言的選項。事實上,大多數 macOS 的內建應用都沒有這樣的設置。若是每次遇到這種需求都去臨時改變系統語言,未免過於耗時和麻煩。瀏覽器
這個問題能夠經過終端命令來解決。macOS 容許在運行應用程序時向其傳遞特定參數,其中,-AppleLanguages
參數就是用來控制應用程序的語言的。例如:app
# 以簡體中文界面啓動 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
以前的部分就是各語言對應的地區代碼。google
Safari 的語言文件翻譯
固然,更快捷的方法仍是使用終端命令。例如:code
# 查看 Ulysses 支持的界面語言
$ ls /Applications/Ulysses.app/Contents/Resources | grep lproj
> Base.lproj
> de.lproj
> en.lproj
> …
爲應用程序的特定語言建立快捷方式blog
若是須要比較頻繁地用不一樣語言顯示某個應用,那麼能夠爲其建立一個快捷方式。ip
方法是:打開系統內建的「腳本編輯器」應用,新建一個文檔,在命令欄輸入:文檔
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