Matlab R2016a日本語版では、SPM12を起動するときにエラーが出る

タイトル通りなのですが、

Matlab R2016a日本語版では、SPM12を起動しようとするとエラーが出ます。

詳しい現象は、こちらに説明されていますので、下記をご覧ください。

SPM12がMATLAB R2016aで動かない

こちらに解決法が書いてあり、「デスクトップの言語を英語にする」と書いてあります。

Linuxではこれは簡単です。

ターミナルを起動し、

LANG=C matlab &

で英語環境でMatlabが起動します。

Macで同じことができるかと思ったらダメでした。
Macでは、ターミナルでLANG変数を変更しても、Matlab起動時に無視されてしまうとのこと。Mathworks本家が言っているのでどうしようもないです。

Mac プラットフォームのロケール設定

決して賢くはないですが、なんとかする方法がわかりましたので書いておきます。

Matlabを起動する前に、

システム環境設定→言語と地域

で、優先する言語を”English”にします。

そして、そのウィンドウを閉じようとすると、再起動しますかと聞かれますが、再起動しなくてOKです。

そこで、Matlabを起動すると、英語モードで起動します。

そうすると、SPMは問題なく起動します。

終わったあとに、もう一度 System Preferences… で同様にJapaneseを優先言語にもってきます。

これで終了すれば、日本語に戻ります。

もっとスマートな方法があるかと思いましたが、ありませんでした…。

今後、時間があるときに、SPMのMailing listにバグ報告を出しておこうと思いますが、
一番の対策は、Matlab R2015b以降にはしばらくアップデートしないということになります。

ご参考まで。