3

db から取得したデータをローカライズする最善の方法は何ですか? カテゴリ名など?

MVC C# .net 4,4.5

4

2 に答える 2

3

データベースに変換された値が必要です。

言語が少なく、変わらない場合は、言語ごとに列を追加できます (NameEn、NameEs、NameFr など)。正規化の規則に少し反しますが、生活を楽にします。

他の db アプローチは、すべての翻訳を保持するテーブルを持つことです。

Localize
 - Field
 - Locale
 - Translation

次に、カテゴリ名については、言語ごとに 1 つずつ、合計 3 つのレコードがあります。フィールドとロケールでテーブルをクエリするだけです。

于 2013-03-06T00:45:00.563 に答える
1

非常に一般的なアプローチは、ローカリゼーションが必要な少なくとも1つの列を持つテーブルごとに個別の変換テーブルを作成することにより、データベースを介してローカライズすることです。これは私たちが通常私たちのプロジェクトで行うことです。データベースデータ->DBでローカライズ。ビュー/UI文字列->resxファイルでローカライズします。

ここでこの回答を見てください:ローカライズされたバージョンのデータを格納するための優れたデータベーステーブルの設計

編集:リンクとは異なり、通常は「デフォルト」言語を元のテーブルに保存するため、実際に翻訳エントリを作成する必要はありません。

たとえば、テーブル「Categories」に列IdとNameが含まれている場合、対応するTranslationテーブル「Categories_Translation」には列CategoryId、LanguageCode、Name_Txが含まれ、Name_Txには言語「LanguageCode」の「Name」の翻訳テキストが含まれます。

于 2013-03-06T13:52:29.803 に答える