ヨーロッパ製のGPLライセンスのFIAT用スキャンツールを海外日本語化しようと取組んでいます。言語はC#。他WEB記事を拝見すると、日本語 と、日本語(日本) の2つが見られました。Visual Stdio の form プロパティ の Language からはどちらも選べるようになっています。
どちらかデフォルトなのでしょうか? リソースは同じProject内で両方生成できてしまうため、日本語OS上で動作させるとき、どちらをリーソースの作成対象なのか知る必要があります。
いずれを選ぶかによって、以下のように生成される情報がかわります。
選択 | 日本語 | 日本語(日本) |
Culture名 | jp | ja-JP |
Formリソースファイル | .jp.resx | .ja-JP.resx |
共通リソースファイル | Lang.jp.resx | Lang.ja-JP.resx |
リソースdllファイル | ja\*.resources.dll | ja-JP\*.resources.dll |
以下のコードを挿入し、日本語での Culture (カルチャ Win32APIでいうロケールと同意 )を確認してみます。挿入箇所はだいたいどこでもいいようです。
using System.Diagnostics;
(中略)
Debug.Print( "OS Lang=" + System.Threading.Thread.CurrentThread.CurrentCulture );
Windows11日本語にて、デバッグビルドで実行すると、日本語(日本) のようですね。
こういう時はテストProjectを作り試すのが一番です。日本語 と、日本語(日本) の2つを追加して試すとの以下のようになりました。