以下の短い記事を使用して多言語を追加しました。
たとえばドイツ語を追加すると、次のファイルが作成されます。 formMain.resx formMain.de-DE.resx formMain.Designer.cs formMain.cs
最初のファイルには、文字列、画像などのニュートラル言語のリソースがあります..
そのため、コードで使用される文字列のリソースも追加する必要があります。新しいリソース ファイルを追加し、formMain.Strings.resx という名前を付けます。次に、翻訳する必要があるすべての文字列の名前と値のペアを入力します。リソース ファイルを追加すると、resx デザイナーを閉じるたびに formMain.Strings.Designer.cs という名前の別のファイルが自動的に再生成されるため、自動的に入力されます。
formMain.Strings.de-DE.resx という名前の別のリソースを追加します。前のリソースと同じ名前キーを追加し、値を対応するドイツ語に変更します。ソースから作成したリソースにアクセスするには、このようになります。
MessageBox.Show(formMain_Strings.SameStringName);
ただし、タイ語に変更しました。VS でアプリを実行すると、すべて正常に動作します。
ただし、セットアップ プロジェクトを追加してクライアント マシンにインストールするとすぐに、言語がタイ語に変更されず、デフォルトの言語のままになります。
そのため、リソース ファイルと th-TH dll をプロジェクト セットアップに追加しました。そして、私はまだ同じ問題を抱えています。
Packaging file 'Lang.Strings.resx'...
Packaging file 'MultiLanguage.resources.dll'...
Packaging file 'MultiLanguage.exe'...
Packaging file 'Lang.Strings.th-TH.resx'...
ビジュアルスタジオで実行すると、すべてが正常に機能します。インストールしたら実行するために必要なことはありますか。私が持っている各ファイルのすべてのプロパティはデフォルトのままです。
どうもありがとう、
=========
static void Main()
{
System.Threading.Thread.CurrentThread.CurrentUICulture =
new System.Globalization.CultureInfo("th-TH");
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}