2016-04-13 18 views
5

MVC 6'da varsayılan olarak, tarayıcı tarafından değil, pencere tarafından kullanılan CultureInfo.CurrentCulture'dur.Asp.Net Çekirdeğinde İstemci Tabanlı Kültürü Etkinleştirme

<globalization culture="auto" uiCulture="auto"/> 

ve bu tarayıcı (Accept-Language başlığı) tarafından belirtildiği gibi CultureInfo.CurrentCulture aynı yapacak:

MVC 5 ben web.config bu koyabilirim.

MVC 6 uygulamasını tarayıcı kültürünü varsayılan olarak kullanmak üzere yapılandırmanın bir yolu var mı?

cevap

3

listenize Startup.cs için aşağıdaki Microsoft.AspNet.Localization Nuget paketini yükleyip eklemek gerekir:

public void Configure(IApplicationBuilder app) 
{ 
    app.UseRequestLocalization(); 
    app.UseMvc(); 
} 

Varsayılan olarak, eski enableClientBasedCulture ayara denk olması gereken bir kültür-sağlayıcısı olarak AcceptLanguageHeaderRequestCultureProvider, kaydeder.

Güncelleme: Eğer RC1 sürümünü kullanıyorsanız beri

Yorumlarınız gereğince, sen yönteme varsayılan bir kültürü sağlamalıdır. Örneğin: me (MVC 6 RC1-son), bu uzantı lokalizasyon paketi yüklemeden mevcuttur (I yükleme güvenilir hiç fark) için

app.UseRequestLocalization(new RequestCulture("en")); 
+1

; Ayrıca eklenti, app.UseRequestLocalization (yeni RequestCulture ("tr")) 'i denediğim için en az 1 parametre gerektirir; 'yalnızca, bunu app.UseMvc'den önce kullanırsanız ve aynı zamanda belirtilmesi gereken – Omu

+0

tarayıcı dilini yok sayarsa çalışır RequestCulture (yani 2 parametre) ve sonuç aynı – Omu

+0

'UseRequestLocalization() 'uzantı yönteminizi sağlayan derlemenin hangisi olduğunu kontrol edebilir misiniz? – haim770

İlgili konular