物事を少しスパイスするために、Asp.net Mvc アプリでのグローバリゼーションのための最良のアプローチは何ですか
3 に答える
グローバリゼーションとは、文字列または識別子から他の言語の翻訳へのマップを作成することであり、ローカリゼーションとはそのマップを使用して正しい翻訳を見つけることです。グローバリゼーションは開発中に発生し、ローカリゼーションは実行時に発生します。
ASP.NETでこれを行う経験はあまりありませんが...
howに関しては、私が目にする最も一般的なアプローチは、アセンブリごと (または UI コンポーネントごと) に言語ごとに辞書を用意することです。値はローカライズされた文字列です。キーは通常、静的クラスまたは列挙型の読み取り専用メンバーです。多くの場合、メンバーが識別子からローカライズされたメッセージへのマップである便利なクラスがあります。
通常、辞書は個別のファイルに保存され、人間の翻訳者向けの形式で保存されます。
詳細はこちら: http://msdn.microsoft.com/en-us/library/aa478974.aspx
W3C I18n FAQから:
ローカリゼーションとは、製品、アプリケーション、またはドキュメントのコンテンツを、特定の対象市場 (「ロケール」) の言語、文化、およびその他の要件を満たすように適応させることを指します。
国際化 (またはグローバリゼーション) とは、文化、地域、または言語が異なる対象ユーザー向けに簡単にローカライズできるようにする、製品、アプリケーション、またはドキュメント コンテンツの設計および開発です。
私は ASP.NET MVC アプリケーションをグローバル化したことがないので、お役に立てなかったら申し訳ありません。
System.Globalization名前空間には、言語、国/地域、使用されているカレンダー、日付、通貨、数値の書式パターン、文字列の並べ替え順序など、カルチャ関連の情報を定義するクラスが含まれています。
それとローカリゼーションの違いは何ですか?それは、車と都市の違いとして説明できると思います。1 つは目的地であり、もう 1 つはそこに到達する方法です。
ASP.NET MVC を使用したことはありませんが、同様のモノレールを使用しました。MR アプリをローカライズしたい場合は、おそらくビュー ファイルの別のツリーを使用します。一方、英語のみの場合、次のようになります。
\Views\Home\*.asp
\Views\Admin\*.asp
\Views\Products\*.asp
国際化されたアプリの場合、次のようなものがあります。
\en\Views\Home\*.asp
\en\Views\Admin\*.asp
\en\Views\Products\*.asp
\de\Views\Home\*.asp
\de\Views\Admin\*.asp
\de\Views\Products\*.asp
\es\Views\Home\*.asp
\es\Views\Admin\*.asp
\es\Views\Products\*.asp