0

英語の ASP.NET アプリケーションにグローバリゼーション (アラビア語) を追加する必要があります。

Visual Studio で行う変更に関する情報を取得するのは非常に簡単ですが、従うべき一般的な行 (サーバー、データベースなど)、特に SQL Server データベースで行う変更に関する情報を取得するのは簡単ではありません。データベースを複製する必要がありますか? 多分テーブル?

このアプリケーションは学習管理システムです。ユーザーはフラッシュ ムービーを見てから試験を受け、その後コメントやフィードバックを書きます。テーブルは、ユーザー、組織、プレゼンテーション、動画、フィードバック、および履歴であり、セキュリティのためにさらにいくつかあります。

私たちの考えは、可能であれば 1 つのサーバーを保持することですが、重複したデータベースは許可されています (それが許容できる解決策であるかどうかはわかりません)。

どのように進めればよいですか?

どうぞよろしくお願いいたします。

4

2 に答える 2

0

どのような種類のアプリケーションをお持ちかはわかりませんが、可能であれば、ローカリゼーションの問題をデータ レイヤーから完全に取り除くことをお勧めします。もちろん、アプリがコンテンツ中心 (e コマース サイトなど) の場合、それは現実的ではありません。ただし、DB に国名などの言語固有のものしか含まれていない場合 (たとえば)、これらを削除して、ローカリゼーションの責任をアプリケーション層に移すことができます (この例を維持するために、データベースの国名をISO コードを入力し、アプリケーションのプレゼンテーション層でこれらを国名に変換します)。

これは、アプリのローカライズは、.NET Framework と Visual Studio (リソース ファイル、サテライト アセンブリ、言語フォールバック) によって提供されるローカライズ サポートに依存する可能性があり、多くのツールがプロセスに役立つためです。ただし、データベース層では、すべてを自分で行う必要があります。

于 2012-05-04T13:47:59.703 に答える
0

Web アプリケーションの場合、ローカリゼーションを処理する方法はいくつかありますが、リソース ファイル (.resx) を使用することになります。

データベース側では、サポートする言語が 2 つしかない場合は、テキスト フィールドの複製を回避できるかどうか、または他の言語の可能性がある場合は別のテーブルが必要かどうかを決定します。言語キーで結合されたテキスト値の場合。

例えば:

table something
  pk id,
  string data, 
  etc

table something_resx
  pk id,
  fk something_id
  fk lang
  string text

次に、次のようなクエリがあります

select data, text from something s join something_resx r on s.id = r.something_id where lang = lang_key

于 2012-05-04T11:44:02.510 に答える