2017-08-24 3 views
0

開発中のアプリケーションでは、出力メッセージをローカライズする必要があります。 私のweb apiプロジェクト私は、.netコアのグローバリゼーション/ローカライゼーション機能で成功しました。各ユーザーはデータベース内に特定のロケールを持っているので、カスタムのRequestCultureProviderではユーザーのプリンシパルにアクセスし、言語を取得してRequestCultureProviderを変更しました。 しかし、私はユーザーにプッシュ通知メッセージを送信する手順を実行することがあります。例えば:.NETコア1.1およびランタイムでのローカライゼーション

foreach(var user in users) 
     await SendNotification("message", user.DeviceId) 

Iは次のように書き換える場合:はのSendNotification(ローカライザ[ "メッセージ"]、user.DeviceId)は、各ユーザが "メッセージ" の同じ変換を有することになる待ちます。 user.cultureInfoに従ってランタイムをランタイムで変更することは可能ですか?

ありがとうございました

答えて

1

もちろんです。

は、あなただけの、文化を含む変数またはプロパティでen-USを交換もちろん.WithCulture(...)

foreach(var user in users) 
    await SendNotification(localizer.WithCulture(new Culture("en-US"))["message"], user.DeviceId) 

でローカライザーを呼び出す必要があり、すなわち

foreach(var user in users) 
    await SendNotification(localizer.WithCulture(new Culture(user.CultureInfo))["message"], user.DeviceId) 
関連する問題