0

MVVMとPrismを使用してデスクトップアプリケーションを作成していますが、次の問題があります。ラベルなどと同様に、異なる言語でデータを保存することも必要です。

たとえば、米国では、ユーザーは英語またはスペイン語のいずれかを使用してログインできる場合があります(ネイティブスピーカーであるため)。

  • ユーザーが製品詳細フォームにアクセスするときにスペイン語を使用してログインすると、製品の説明がスペイン語に対してデータベースに保存されます。
  • 彼らが英語を使用してログインした場合、製品の説明はデータベースに保存され、英語に関連付けられます。

現時点での私の唯一のアイデアは次のとおりです
。--CurrentLoggedInUserプロパティを含むグローバルにアクセス可能なApplicationViewModel

私が知りたいのは、特にデスクトップアプリケーションで、MVVMを使用するときに、現在ログインしているユーザーが選択した言語を保存する方法です。
注意:選択した言語は、オペレーティングシステムが使用されている言語やロケールとは

異なる場合があります。MVVMを使用する場合、他の人はこれを解決し、さまざまなウィンドウ/ユーザーコントロール間でユーザーの「セッション」を維持する方法を教えてください。

4

1 に答える 1

1

あなたがする必要があるのは、おそらくLCIDとして、現在の言語をどこかに保存することです。

通常、これは言語固有のリソースファイルをロードするために使用され、ほとんどの言語依存の状況を処理します。コントロールなどは、すべての文字列をリソースに格納するだけなので、現在の言語に直接アクセスする必要はありません。

データベース文字列を保存する場所を知っているなど、言語にアクセスする必要がある状況では、はい、言語を静的/シングルトンとして公開するか、より望ましくは、ViewModelが必要とするものに注入する必要があります。

于 2012-04-12T10:45:39.610 に答える