2016-07-21 21 views
3

ich auf Polnisch Betriebssystem arbeiten:Kann nicht Standard und nur Kultur in ASP.Net Core-App gesetzt

In meiner Statup.cs Klasse habe ich folgenden Code

 // 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 
      }); 

die vollen Optionen sind nur als Referenz um sicher zu gehen, dass nichts dahintersteckt. In meinem _Layout.cshtml Ich habe folgenden Code:

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

Die einzige unterstützte und verfügbar Kultur sollte en-GB jedoch auf der Webseite sein wird es immer zeigt:

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

Ich habe versucht, Microsoft.AspNet.Localization Paket hinzufügen, aber es macht keinen Unterschied. Basierend auf Code in Lokalisierungs-Middleware sollte alles wie erwartet funktionieren. Ich verwende die neueste Version von ASP.NET Core 1.0.0.

+0

Ich habe versucht, Ihr Problem zu reproduzieren, aber ohne Erfolg. Auf einem deutschen System zeigte die Ansicht die britische Kultur gut an. Haben Sie eine große Anwendung, bei der andere Code-Segmente die aktuelle Kultur direkt einstellen können? –

+0

@rboe Ich habe gerade einen zusätzlichen Test gemacht. Und es gibt eine wichtige Sache. 'UseRequestLocalization' muss vor' UseMvc' stehen, sonst funktioniert es nicht. – Marcin

Antwort

4

Es gibt eine wichtige Sache, nicht in der Dokumentation erwähnt. UseRequestLocalization muss vor UseMvc platziert werden, meins war unten.

+0

Ich habe genau die gleiche Situation, UseRequestLocalization muss vor UseMvc platziert werden, aber es funktioniert nicht. Wie kann ich es anders lösen? –

+0

@ YuriyN. Welche Kulturen haben Sie? Haben Sie eine Standardkultur oder unterstützte Kulturen festgelegt? – Marcin

+0

Ich habe uk und en cultures und setze uk als Standardkultur. –