臨時修改 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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章