VB.NETで作成したWindowsフォームアプリで多言語対応をしたいと思っています。
Button の Text プロパティなどの固定文字箇所は、Form の Localizable を True にして、Language で言語を指定して実現できることは分かりました。
また、メッセージボックスなどに表示する固定の文字列は、下のようにリソースファイルを作成して実現できることは分かりました。
Message.resx ※既定用(日本語用)
Message.en.resx ※英語
質問したいのは、可変の文字列の多言語化です。
例えば、プログラム上でファイルを作成し保存したときのメッセージとして、下のようにメッセージボックスで表示するとします。
処理によってファイル名が変化します。
MessageBox.Show( "ファイル " & FileName & " を作成しました。")
これを、英語にした場合はメッセージは次のようにしたいと思っています。
MessageBox.Show( "Creates " & FileName & "
file.")
このような場合、それぞれの単語を英語化しても、文法の関係で並び順が変化してしまいうまくいきません。
やりたいこととしては、引数か何かを渡して、一部が変化する文章全体をひとまとめとして処理なのですが、何か良い方法はないでしょうか?