C# WinUI 3アプリを作っていく途中で、躓いた部分を備忘録的に投稿します。今回はWinUI3プロジェクトで実行時にフォームのタイトルバーに表示されるシステムメニューが英語で表示される場合の対処法です。
実行時のシステムメニュー
プロジェクトの作成時に[WinUI3]を選択してビルドしたアプリを実行した際に、画面の左上などタイトルバーをマウスの右ボタンでクリックして表示されたポップアップメニューが英語になります。
[元のサイズに戻す]、[移動]などの日本語ではなく、[Restore]や[Move]などの英語でシステムメニューが表示されます。
Xamlファイル内で、xml:lang=”ja-JP” など言語設定やフォント設定をしても文字化けは治りません。
Appxmanufestファイルの既定の言語が原因
WinUI3プロジェクトを作成した場合、既定で作成されるPackage.appxmanifestファイルの[既定の言語]が[en-US]に設定されています。
なんで既定値が英語になっているのか分かりませんが、この設定値を[ja-JP]に変更することでシステムメニューが日本語で表示されます。
具体的には次のような操作で[既定の言語]を変更します。
1. Visual Studioの[ソリューション エクスプローラー]画面で “Package.appxmanifest” ファイルを開きます。
2. 表示された[アプリケーション]画面で[言語の設定]を編集して “en-US” か “ja-JP” に変更します。
ソリューションをビルト後に実行すると、システムメニューが日本語で表示されます。
まとめ
今回は短い記事ですが、WinUI 3 プロジェクトを作成した際に、実行時にシステムメニューが英語で表示される場合の対象法について書きました。
原因は、Package.appxmanifestファイルの[既定の言語]設定です。
設定されている値を “en-US” から “ja-JP” に変更することで、実行時のシステムメニューが日本語で表示されるようになります。
C#のWinUI 3アプリで実行時に、システムメニューが英語で表示されて困っている人の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。