2009-10-12 6 views
7

多くの言語で多くのリソースファイルがあります。resxファイルのローカルリソースが見つかりません

例えば、我々は3つの言語(EN、DE、FR)をサポートしているとし、このファイルを持っています:私は

common.resx common.de.resx common.fr.resx

を例えば、リソースがdeで要求されたが、欠落しているためにデフォルトの言語に戻ったときに発生を検出したい。これをキャッチする方法はありますか? (私はそれを記録し、後で不足しているリソースを追加することができます)。

おかげ

答えて

5

差異をキャッチする場合は、RESX Synchronizerを使用してください。これは、メインのresxからローカライズされたものまでのすべての相違点をシンクロナイズできるオープンソースのアプリケーションです(ローカライズされたリソースのキーを追加および/または削除します)。追加されるか、から削除されたすべてのキーをあること

resxsync /v common.resx common.de.resx 

/vオプションリストのすべての変更を:common.de.resxするcommon.resxからのすべての変更をコピーするには、次のように

あなたはそれを使用することができますデresx。

+0

1の自動化に上書きされない されるたびに警告を発します! – Greg

+0

このツールは、一貫しています。代替案としてリンクしているプロジェクトも中止されています。 – LueTm

+0

リンクはもう動作しません。 – Dominik

0

何も外部でフォールバックを公開して、既存のリソースの読み取りAPIではありません。しかし、System.Resources.ResourceManagerはシールされていないので、フォールバックが必要なときにイベントを発生させるためにサブクラス化することは何もありません。

2

すべてのリソースファイルの変更が開発から開始され、プロダクションに移行すると仮定すると、これは何らかの静的解析の仕事のようです。

私はZeta Resource Editorを使用します。これは、翻訳が見つからない領域とプレースホルダも強調表示するためです(例:{0})。

関連する問題