2016-07-21 47 views
3

ASP.Netコアアプリでデフォルトと唯一の文化を設定できません: は、私はポーランドのオペレーティングシステムに取り組んでいます

 // Configure the localization options 
     var supportedCultures = new[] 
     { 
      new CultureInfo("en-GB") 
     }; 

     app.UseRequestLocalization(
      new RequestLocalizationOptions 
      { 
       DefaultRequestCulture = new RequestCulture("en-GB"), 
       SupportedCultures = supportedCultures, 
       SupportedUICultures = supportedCultures, 
       FallBackToParentCultures = true, 
       FallBackToParentUICultures = true, 
       RequestCultureProviders = null 
      }); 

フルオプション

は参考用です、私は次のコードしている私の Statup.csクラスで

のみ後ろに何も設定されていないことを確認してください。私の_Layout.cshtmlでは、私は次のコードしている:

<div>Current Culture: @CultureInfo.CurrentCulture.DisplayName</div> 
<div>Current UI Culture: @CultureInfo.CurrentUICulture.DisplayName</div> 

ザ・のみサポートされ、利用可能な文化がしかし、ウェブサイト上で、それが常に表示され、en-GB次のようになります。

Current Culture: Polski (Polska) 
Current UI Culture: Polski (Polska) 

私はMicrosoft.AspNet.Localizationパッケージを追加しようとしました、違いはありません。ローカリゼーションミドルウェアのコードに基づいて、すべてが期待どおりに動作するはずです。私はASP.NET Core 1.0.0の最新バージョンを実行しています。

+0

私はあなたの問題を再現しようとしましたが、成功しませんでした。ドイツのシステムでは、英国文化はうまく表示されました。他のコードセグメントが現在のカルチャーを直接設定できる大きなアプリケーションがありますか? –

+0

@rboe私はちょうど追加テストをしました。そして重要なことが1つあります。 'UseRequestLocalization'は' UseMvc'の前になければなりません。それ以外の場合は動作しません。 – Marcin

答えて

4

ドキュメントには記載されていない重要なことが1つあります。 UseRequestLocalizationUseMvcの前に置く必要があります。

+0

私はまったく同じ状況で、UseRequestLocalizationはUseMvcの前に置く必要がありますが、動作しません。どうすれば別の方法で解決できますか? –

+0

@ YuriyN。あなたはどのような文化を持っていますか?デフォルトの文化やサポートされている文化を設定しましたか? – Marcin

+0

私は英国文化を持ち、デフォルト文化として英国を設定しています。 –

関連する問題