7

私は、言語のローカリゼーションを必要とする可能性があることを意図して最初に作成された MVC 4 アプリを使用しているため、プロジェクト全体で .resx ファイルと対応する参照の埋め込みが多用されています。結局のところ、このアプリは英語を話すユーザーのみが使用し、実際に他の言語が読み込まれることはありませんでした。現在、ページにテキストを配置する必要があるたびにオーバーヘッドが発生し、英語としての不一致が増加しています。言語は、.js ファイルや DB 内の参照データなどのリソース ファイルに直接アクセスできない場所にハードコーディングされています。

多くのコピーと貼り付けを行う以外に、リソース ファイルから英語の値を抽出し、ビュー内の参照を置き換える自動化された方法はありますか? 完璧な世界では、これを行うためのツールが存在し、確かにそれは概念的にスクリプト可能ですが、このようなものはすでに存在しますか?

4

3 に答える 3

1

私はこれを処理するものを見たことがありません。私が最初に考えたのは、ほとんどの「すぐに使える」ソリューションで発生する可能性があるローカリゼーションの問題です。

これはとてつもないことかもしれませんが、試してみてください。リソース ファイルを保持するアセンブリを読み込み、プロジェクト内のすべてのファイルをループして、リソース キーを値に置き換える C# アプリを作成できますか?

あなたが言ったように、スクリプトを作成することは可能です。これは、私の考えでは、タスクを完了するための最も簡単でありながら最も粗野な方法のようです. 話しているリソースの数によっては、明らかにコピー/貼り付けの方が簡単で安全です。

于 2013-03-08T03:30:00.803 に答える
0

サテライト アセンブリ..すべてのアプリ リソースがプロジェクトに配置されている場合は、実装する既定以外の言語を作成します。たとえば、fr_ca.ErrorMsg | en_gb.ErrorMsg および en_Us.ErrorMsg。デフォルトの言語は、メインの Thread.CultureInfo で指定できます。en_us の場合、en_us ファイルに必要なすべてのエントリを入力します。その他のリソースは、デフォルトのリソース ->en_us に存在しない場合にのみロードされます。

于 2013-03-08T04:32:52.323 に答える