2013-08-28 4 views
5

国際化のために、検証メッセージと情報メッセージにリソースファイル(.resx)を使用しているプロジェクトに取り組んでいます。それはサーバー側でうまく動作し、クライアント側でも同じアプローチを使用したいと思います。私はそのような種類のものでかなり新しいです。私はJSONとしてリソースファイルを取得するにはAJAX呼び出しを行うことを考えていたクライアント側の場合C#ベストプラクティスのmvc-4プロジェクトのクライアント側のユーザーリソースファイル

http://www.hanselman.com/blog/GlobalizationInternationalizationAndLocalizationInASPNETMVC3JavaScriptAndJQueryPart1.aspx

http://afana.me/post/aspnet-mvc-internationalization.aspx

:私はtはこれについての情報を取得するこれらの偉大なブログを学びます。そしてそれをクライアント側で使用するよりも。私は思っていたアプローチについて知りたいだけです。それは良いと最適化されているか、同じを達成するための他の良い方法がありますか?

これを達成するための最善の方法を教えてください。あなたは、私は翻訳された値を保持し、それらからつかむために隠しフィールドを使用することをお勧めしますJavaScriptでローカライズされた文字列を必要とする場合

おかげ

答えて

0

私はどうやらここに少し上rambled、短いバージョンがあります。

グローバリゼーションとローカリゼーションの複数の言語を処理するには、2つの部分があります。

グローバリゼーションは、現在の文化の規範に基づいて数字と関連するものを処理しています。例えば、米国では$ 1,000.00を書いていますが、ドイツでは(私のグーグルリングが正しいと仮定して)$ 1.000,00と書いています(通貨は複雑なトピックですが、IMOに該当しません)。

このJavaScriptは、多くの場合、(ページのロードを必要とせずに、カート内の項目を合計インスタンスの)ユーザ出力として、いくつかの化合物データをレンダリングするために持っているので、我々はのためのJavaScriptライブラリがたくさんあるビット

ローカライズされていますあなたのページのテキストを処理する、これはJavaScriptが非常に弱い領域です。それが弱い理由は、あなたが本当にそれを必要とすべきではないからです。 Javascriptのローカリゼーションが必要な唯一の場所は、Webページに表示されるテキストの奇妙なソースであるJavascriptからのテキスト出力をレンダリングするときです。

Javascriptの文字列をローカライズする必要があるとき(プロンプトの場合など)は、サーバー側のローカリゼーションツールによって設定された隠しフィールドを使用する必要があります。それは通常のプロセスとうまく連携しているように見え、問題をきれいに解決します。理想的ではありませんが、ローカライゼーションの悪夢であるJavascriptの文字列を最小限に抑えるのにも役立ちます。

0

私はこの問題のいくつかのアイデアを持っている:あなたがページに必要なすべてのリソースを持つ一つのオブジェクトを持つJavaスクリプトファイルをレンダリングするコントローラ(することができますまた、グループにそれらを作るために

  1. ひとつのアイデアイストを別の方法ではありますが、アプリケーションに大きなjsリソースファイルがあることはお勧めできません)。

    var resources = {}; 
    resources.Yes = 'Yes'; 
    resources.No = 'No'; 
    resources.DeleteUser = 'Delete User?'; 
    

    は、あなたのスクリプトでこれを簡単にアクセスできます:

このコントローラは、このようなオブジェクトgerenates例えば、

if (alert(resources.DeleteUser)) { 
    // Delete User 
} 

あなたはこれらのファイルを生成するための巧妙な方法を必要とします自動的にあなたのjscriptをresource-acess-statementsに対してスキャンし、これらのファイルを生成することができます。

  1. jscriptファイルのカスタムハンドラを作成し、すべてのリソースアクセスステートメント(例:リソース[...]をローカライズされたバージョンに置き換えてください。各言語用に1つのjscriptファイルを提供し、パフォーマンスを向上させるためにjscriptファイルにキャッシュとキャッシュ依存性を使用します。
関連する問題