Macのアプリを英語環境にする

MacやLinuxなどUnix系OSのコマンドなら、ロケールという仕組みで言語環境を設定するものが多い。ターミナルに locale と打ち込むと、日本語環境のMacなら

LANG="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_CTYPE="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_ALL=

のように返る。このうち特に LANG 環境変数が言語を定めている。

例えば gpg のようなコマンドは、日本語に設定されていると拙い日本語のメッセージになるので、LANG=en_US.UTF-8 gpg あるいは LANG=en gpg あるいは LANG=C gpg のようにして英語のメッセージに戻すことがよく行われている。

Macの(GUIな)アプリケーションでは、LANG=en_US.UTF-8 open -a アプリ名open --env LANG=en_US.UTF-8 -a アプリ名 と打ち込んでも言語が変わらないようである。

次のようにすればよさそうである。例えば Google Chrome の場合、

% osascript -e 'id of app "Google Chrome"'
com.google.Chrome
% defaults read com.google.Chrome AppleLanguages
(存在しない)
% defaults write com.google.Chrome AppleLanguages '("en-US")'
% defaults read com.google.Chrome AppleLanguages
(
    "en-US"
)

とする("en_US""en_US.UTF-8" でもいいみたい)。これでGoogle Chromeを立ち上げ直すと英語環境になる。元に戻すには

% defaults delete com.google.Chrome AppleLanguages

とする。

同様に、ChatGPTアプリの場合、com.openai.chat に対して同様にすればよい。

もっと楽な方法:システム設定→一般→言語と地域→アプリケーションで「+」をクリックしてアプリごとに言語設定をカスタマイズできる。これでGoogle Chromeを「English ― 英語」にしたところ、

% defaults read com.google.Chrome AppleLanguages
(
    "en-JP",
    ja,
    "ja-JP",
    "ru-JP"
)

のようになった(最後のは私のMacでロシア語も有効にしてあったかららしい)。