2

ローカライズされた WinForms アプリケーションがあります。翻訳手順を何度も繰り返すのを避けるために、私は翻訳者に .resx ファイルを直接編集できるようにソフトウェアを提供しました。

これは、UI コンポーネント (フォーム/コントロール) に関連付けられていないリソース ファイルではうまく機能しましたが、フォームとコントロールでは、リソースが更新されていないようです。これが意味することは、設計時にすべてのリソース文字列が正しく (Text/ToolTips など)、正しい翻訳を確認できるということです。アプリケーション (デバッグまたはその他のリリース) を実行すると、翻訳は行われません。更新しました、なぜですか?

御時間ありがとうございます。


編集1. プロットはさらに厚くなります。コンポーネント (ボタンのテキスト、ツールチップ、または基になるリソース ファイルによって管理されるもの) を変更しても、まったく更新されないボタンが 2 つあります。ボタンのテキストを 'Lock Workbook' から 'Lock Workbook GG' に変更すると、新しいテキストがデザイナーと .resx ファイル (.resx デザイナーとコード ビハインドの両方) に表示されますが、コードを実行すると(デバッグまたはリリース モードで) ボタンのテキストが更新されない!?

上記で更新したボタンの横にあるボタンを更新すると、実行中のアプリケーションのテキストが変更されますか?? 古いテキストが保存されている場所と、ボタンのサブセットのコンポーネントテキストが更新されない理由がわからないので、これは私の麺を焼いています!?

どんなアイデアでも大歓迎です!


編集2。.suo を削除し、クリーンアップして再コンパイルしようとしました。また、面倒なフォームをソリューションから削除して、再度追加しました。

この奇妙な動作を確認できるように、問題のあるボタンの 1 つ (「Lock Workbook GG」) と通常のボタン (「Set as Default Workbook GG」) を示します。

デザインタイム

今実行時に私は見る

ランタイム

4

4 に答える 4

1

.resx ファイルを直接編集できるように、翻訳者にソフトウェアを提供しました。

それは確かに良い考えではありませんでした。プロの翻訳者なら誰でも、.NET resx ファイルに取り組む方法を知っています。SDL Passolo のように、翻訳者が従来から使用しているツールがない場合でも、SDK に含まれる標準のWinres.exe ユーティリティにフォールバックします。

あなたが書いたものには、おそらくバグがあります。そのバグが何であるかという質問からリバースエンジニアリングするのは非常に困難です。それ以外では、Winforms フォームの .resx ファイルは、リソース ファイル プロジェクト テンプレートまたはリソース デザイナーから取得したものとはかなり異なります。フォームのプロパティとそのコントロールのプロパティの間のあいまいさを避けるために、リソースの名前付けには多くのトリックがあります。名前を間違えるとうまくいきません。

自分で作成しないでください。少なくとも、必要に応じて Winres.exe を使用するよう依頼してください。無料です。

于 2013-11-01T12:56:42.090 に答える
1

ビルド設定が間違っている可能性がありますか?
これは、私のdll用に持っているものです。

ここに画像の説明を入力

于 2013-10-28T10:28:14.617 に答える
1

ボタンへのバインディングは、関連するフォームのデザイナー ファイルで行われますが、問題がないか確認しましたか? リソースを設定するコードを削除し、デザイナーを介して再度追加してみてください。

于 2013-11-01T13:00:37.620 に答える
0

おそらく、これは CopyLocal プロパティと関係があります。これらのリソース ファイルが TRUE かどうかを確認してください。そうでない場合は、それらを true に設定します。それ以外の場合、コンパイルが成功した後、それらは出力ディレクトリにコピーされません。

于 2013-11-01T12:57:02.603 に答える