現在、翻訳エンジンを実装している WinForms アプリがあります。これまでのところ、次のような構文に従う一連のテキスト ドキュメントがあります。
messages.manualupdate="There is a manual update available for ProgName.\n\nDo you want to update to version {0}.{1}.{2}{3}?"
messages.errorcopy="Clicking OK will copy the error so you can paste it elsewhere!"
messages.error="Error"
messages.notsupported.title="Unsupported client"
messages.notsupported.message="This version is no long supported. Please wait for an update."
たとえば、さまざまな言語用にこれらがたくさんあります。
messages.manualupdate="é disponibile un'aggiornamento manuale del programma ProgName.\n\nVuoi aggiornare alla versione {0}.{1}.{2}{3}?"
messages.errorcopy="Cliccando OK eseguirete una copia degli errori visualizzati"
messages.error="Error"
messages.notsupported.title="Client non supportato"
messages.notsupported.message="Questa versione non è utilizzabile al momento. attendi il prossimo aggiornamento!"
DynamicObject
次に、これを のようにアクセスできる に解析しますlanguage.messages.notsupported.error
。私が知りたいのは、フォーム上のすべてのコントロールをリンクして、作成時に動的オブジェクトの変数を使用できるかどうかです。たとえば、フォームに「エラー」というテキストを入れたいボタンがあります。フォームが表示される前にlanguage
、ユーザーが選択した言語に変数を設定し、フォームが表示されたら、language
. すべてのボタンテキストを値に設定してからすべてを変更するのは少し無駄に思えるので、フォームコンストラクターで呼び出されるメソッドを記述する必要はなく、デザイナーでこれを行う方法はありますか?フォームがロードされたとき。私は一種のバインディングを探していますが、コントロールの Text パラメータに。
誰にもアイデアはありますか?