WSJT-X Improved 260908版が英語で起動する理由 ― 日本語で使用するには --language=ja を指定 ― 2026年09月11日 10時18分27秒
WSJT-X Improved 3.2 の 260908版を日本語Windows環境で起動すると、 これまでと違ってデフォルトでは英語GUIで起動することが分かりました。
最初は日本語translationの問題も疑いましたが、調査した結果、 これは翻訳ファイルの不具合ではなく、260908版で意図的に導入された 起動言語の仕様変更であることが分かりました。
DG2YCB Uweにも確認し、変更の経緯について回答をいただきましたので、 これから260908版を使用する日本のユーザー向けにまとめておきます。
■ 実際の動作
同じ日本語Windows PCで260818版と260908版を比較したところ、 次のようになりました。
| Version | 起動オプション | 起動言語 |
|---|---|---|
| 260818 | 指定なし | 日本語 |
| 260908 | 指定なし | 英語 |
| 260908 | --language=ja | 日本語 |
つまり、260818まではWindowsのシステムロケールに従って 日本語環境では自動的に日本語GUIが選択されていましたが、 260908では言語を明示しない場合に英語が選択されるようになっています。
■ ソースコードを比較すると原因は明確
260818と260908の完全なソースツリーを比較したところ、
原因は wsjtx/main.cpp の変更でした。
260818では次のようになっています。
L10nLoader l10n {&a, locale, parser.value (lang_option)};
この場合、--language が指定されていなければ、
通常のsystem localeを使った言語選択処理へ進みます。
そのため日本語Windowsでは日本語translationが自動的に読み込まれます。
一方、260908では次のコードに変更されています。
QString language_override = parser.value(lang_option);
// Default to English unless a language was explicitly requested.
if (language_override.isEmpty()) {
language_override = "en";
}
L10nLoader l10n {&a, locale, language_override};
コメントにも、
Default to English unless a language was explicitly requested.
と明記されています。
つまり260908では、言語オプションが空の場合、
system localeを参照する前に明示的に "en" が設定されます。
その結果、動作は次のようになります。
260818 言語指定なし ↓ system locale ↓ Japanese Windows ↓ Japanese GUI 260908 言語指定なし ↓ "en" を明示的に指定 ↓ English GUI 260908 --language=ja ↓ "ja" を明示的に指定 ↓ Japanese GUI
■ なぜこの変更が入ったのか
この点についてUweに問い合わせたところ、変更の経緯も分かりました。
Uweによると、複数の言語環境をインストールしたmacOSを使用している あるOMからの提案を受けて、
English should be the default everywhere.
という考え方に基づき、 言語を明示指定しなかった場合は英語をデフォルトにする 変更を行ったとのことです。
したがって260908版が日本語Windows上でも英語で起動するのは、 偶発的なregressionではなく、現在のWSJT-X Improvedで意図された動作です。
■ 日本語で使用するには
260908版を日本語GUIで使用したい場合は、起動時に
--language=ja
を指定してください。
Windowsのショートカットから起動している場合は、
ショートカットのプロパティを開き、
「リンク先」の wsjtx.exe の後ろに半角スペースを入れて、
次のようにします。
"C:\...\wsjtx.exe" --language=ja
実際のパスはインストール先によって異なりますので、 現在ショートカットに設定されているパスは変更せず、 その末尾に
--language=ja
を追加すればOKです。
例えば英語を明示的に使用する場合は、
--language=en
となります。
■ 日本語translationが削除されたわけではありません
ここは誤解しやすいところですが、 260908版から日本語translationが無くなったわけではありません。
実際に
--language=ja
を指定すれば、正常に日本語GUIで起動します。
つまり問題はtranslation resourceではなく、 起動時にどの言語を選択するかというselection logicです。
■ Best S&Pの言語依存問題修正とは別件
今回の件については、私が以前Uweへ送った Best S&Pのlanguage-dependent flaw修正との関係も念のため確認しました。
結論として、両者は無関係です。
Best S&Pの修正は、 翻訳された文字列そのものを比較してCQ priorityを判定していた部分を、 typed CQ priority valueによる比較へ変更したものです。
変更対象は主として
displaytext.cpp と mainwindow.cpp であり、
- QLocale
- QTranslator
- L10nLoader
- language command-line option
- translation loading
には触れていません。
Uweからも、
It was not due to your patch, Yoshi.
と明確に回答をいただいています。
■ 将来的にはGUIから言語切替も?
Uweはさらに、各言語のtranslation fileが継続的にきちんとメンテナンスされるのであれば、 将来的には「User Dark Style」のように、 メインプログラムのメニューから言語を切り替えられるようにしたい、 という考えも示しています。
これは実現すればかなり便利だと思います。
■ まとめ
WSJT-X Improved 260908版について、 日本語Windowsで英語GUIが表示されても異常ではありません。
260908版では仕様変更により、 起動時に言語を指定しなかった場合は英語がデフォルト になりました。
日本語で使用する場合は、
--language=ja
を起動オプションとして指定してください。
日本語translation自体は正常に収録されており、 このオプションを指定すれば従来通り日本語で使用できます。
最近のコメント