2011-07-19 6 views
0

現在、Webフォーム用にWebフォームが設​​定されており、ゆっくりとMVCに変換しようとしています。現在、翻訳はデータベースに保存されています。私たちの翻訳テーブルには、各言語の列と一種のタイトルが含まれています。 (プライマリキー)MVC ASP.NETを使用した複雑なローカライゼーション

しかし、実際には、同じテキストのビットに対して異なる言葉を必要とする異なるクライアントが存在する可能性があります。

など。 1つはそれを読むことを望みます - 配達費用 そして次に次のようにそれが欲しいかもしれません - 配達価格

それで、我々は翻訳と同じであるだけでなく、クライアントID番号を持っている2番目のCustomTranslationデータテーブルを持っています。ユーザーがログインし、 "DeliveryCost"として変換の識別情報を探している場合は、CustomTranslationテーブルにレコードが存在するかどうかを確認して、標準変換テーブルを使用します。

その後、ユーザーが望む適切な言語を選択します。

基本的に私は、ユーザーの設定に応じて私たちのウェブサイトを翻訳できるようにする必要があります。そして、彼らが働いている会社(私たちのクライアント)

ローカライズの一般的な方法は、リソースファイルを使用しますが、それらを実際にデータベースに保存する必要があります。これは第2の問題を生みます。これは、あなたが異なるテキストや翻訳を持つ能力に必要な、典型的な表示名と検証メッセージを宣言しようとしたときですが、一般的には我々が持たないStaticフィールドを期待しています。

この複雑なローカリゼーションの問題を解決する最善の方法を教えてください。

ありがとうございます。スティーブ

答えて

1

問題1 - データベース
使用データベースに標準リソースを拡張するためthis articleで使用されるアプローチでリソースを持ちます。

問題2 - ちょうどすなわちEN-US、EN-US-Customer1、EN-US-Customer2を使用し、
問題ありませんが、標準の.NETのアプローチは、地域や顧客などのローカライズをサポートして顧客ごとのカスタム局在を持ちますなど。

+0

en-US-Customer1とen-USを持っていることが面白いです。 eu-US-Customer1に翻訳がない場合、en-USに戻ってしまいますか? – Steve

+0

はい........... –

関連する問題