2009-06-29 15 views
10

複数のクライアントが使用するasp.netサイトで、クライアント固有の専門用語と共にローカライゼーションを実装する最良の方法についてのアドバイスを探しています。クライアント固有の言葉遣いのためのカスタムカルチャーですか?

たとえば、フォームのラベルは、サイトにログインしているクライアントと言語設定が何であるかによって変わる必要があります。

したがって、クライアントごとにデフォルトの言葉遣い/専門用語セットがあります。そして、各クライアントの言葉遣い/専門用語は、必要な言語に翻訳されます。

私は各クライアントのカスタムカルチャーを作成し、asp.netとリソースファイルの "組み込み"ローカリゼーション機能を使用することを考えていました。

私はデフォルトのカルチャーを持っているかもしれませんし、クライアント固有のカルチャー...そしてクライアント固有のカルチャーを他の言語に翻訳しているかもしれません。デ-DE

EN-US-CLIENT1

EN-US-CLIENT2

デ-DE-CLIENT1

デ-DE-CLIENT2 EN-US

これはクレイジーですか?私にはかなり健全なアプローチのように思えるかもしれませんが、ちょっとしたハックかもしれません...もっと良いアイデアを歓迎しますか?

ありがとうございました!

+1

ちょっと好奇心が強い、どうしたの?私は同じボートに入っています。あなたがこのアプローチで問題に遭遇した場合(これは最も論理的な方法だと思われるので)、私は不思議です。また、あなたのページでこれをどのように使用したかの例/コードがありますか? ASPの仕組みが不思議です。netは適切なリソースファイルを非標準の名前でロードします。 – rocketmonkeys

+0

私はまさに上記のことを行いました。エンドユーザーが画面を介して翻訳を更新できるようにするために、リソースファイルをデータベーステーブルに置き換える独自のプロバイダを作成しました。後のmsdnのドキュメントがたくさんあります。 – Todd

+0

どのようにして「使用する」文化を指定したのですか?私は同じことをしたいと思うWeb.configでカスタム文化を指定しますが、運はありません。私も同様の質問を投稿しました:http://stackoverflow.com/questions/17217098/how-to-specify-a-custom-culture –

答えて

5

実際にはそうではありませんが、これは一般的なアプローチです - 私は、中央店舗が一般的な白いラベルである電子商取引店ではかなりの回数見てきました。 ASP.NETは、キャッシング等

を管理、錫のうち、むしろ、あなたはそれとはビューステートをトリミング、すべてのとびきりの要求にテキストの独自の設定をロールバックすることよりも、ローカライズをサポートし、忘れてはいけないので、

それはうれしいです文化固有の情報はリソースファイルit can come from a database tooにある必要はありません。

2

はい、少し狂っています。しかし、ほんの少しです。 ASP.NETは、言語とロケールまでのローカライゼーションを自動的にサポートします。どのクライアントにも特化していない分野ではそうすることをお勧めします。

クライアント固有のラベルについては、ユーザーコントロールをコードビハインドと組み合わせて、リソースファイルから正しいテキストを選択することをお勧めします(VSを使用している場合は、ビルトインサポートリソースを管理するため)、おそらくASP.NET固有のテキストを選択するために使用できる属性の組み合わせが限られている場合は、ASP.NET Cache(おそらく@Cacheディレクティブ)を使用します。

アプローチは少し手作業のように見えるかもしれませんが、デバッグに多くの時間を要する問題につながる可能性が高くなります。