1

ASP.NET MVC、リソース管理は、アプリケーションの多面的なマルチカルチャーサポートに十分なように見えます。

しかし、私はデータについての慣行を疑問に思っています。

ユーザーストーリー;

  1. ユーザーは文化をen-USとして設定し、すべての製品アイテムを英語で表示します。
  2. ユーザーは文化をfr-FRとして設定し、すべての製品アイテムをフランス語で表示します。
  3. ユーザーは文化をru-RUとして設定し、すべての製品アイテムをロシア語で表示します。
  4. ユーザーには適切なカルチャ設定の変更がなく、アプリケーションが多言語リソースに到達することはありません。デフォルトの言語とカルチャが使用されます。
4

2 に答える 2

2

これがまさにあなたが求めているものかどうかはわかりませんが、DB レベルでローカライズしたい場合は、CONTEXT_INFO に依存する VIEW を使用して行うことができます。この方法では、常に同じ VIEW をクエリしますが、CONTEXT_INFO に基づいて異なる結果が返されます。

詳細については、こちらをご覧ください: データベースのローカリゼーション - ルックアップ リスト - スマートな方法

于 2010-12-31T13:47:51.970 に答える
0

データベースでこのローカリゼーションを行うには、もっと洗練された方法があるかもしれませんが、私は異なる言語のデータ値を次のようなテーブルに格納するだけです:

            WIDGETS
            widgetid
            widgetname nvarchar (default English)


            WIDGETSLOCAL
            widgetid      foreign key references WIDGETS(widgetid)
            language_code
            widgetname  nvarchar
            unique composite index on (widgetid, language_code)

次に、個別のビュー (view_WIDGETS_enus、view_WIDGETS_ruru など) を作成するか、WHERE 句で言語コードを使用するか、ユーザーの言語コードをストアド プロシージャに渡します。私たちのデータベースは、厳密な意味で適切に「ローカライズ」されていません。ユーザーベースの主な母国語である英語、スペイン語、フランス語に基づいて、いくつかの異なる翻訳を利用できます.

日付については、常に US 形式を使用しますが、月は 15 MAR 2010 と省略され、dd/mm/yyyyy 形式と mm/dd/yyyy 形式を切り替えるのではありません。私たちのデータベースにはお金の列が含まれていないため、小数や通貨の書式設定の問題は発生しません。

于 2010-12-31T16:20:08.140 に答える