1
我有一個asp.net核心項目,我想將默認語言設置爲nl-BE。由於某種原因,它總是採取語言en-US始終是相同的文化:en-US
請參閱下面的代碼(ps:我創建了我自己的ApplicationLocalizer誰從數據庫中獲取資源=>正常工作)。
Startup.cs
public void ConfigureServices(IServiceCollection services)
{
//Add MVC
services.AddMvc()
.AddViewLocalization();
//Localization factory
services.AddSingleton<IStringLocalizerFactory, ApplicationLocalizerFactory>();
...
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, ApplicationDbContext context)
{
...
//Localization
var supportedCultures = new[]
{
new CultureInfo("en-US"),
new CultureInfo("nl-BE")
};
var options = new RequestLocalizationOptions {
DefaultRequestCulture = new RequestCulture("nl-BE"),
SupportedCultures = supportedCultures,
SupportedUICultures = supportedCultures
};
app.UseRequestLocalization(options);
...
}
控制器
public string Index()
{
return CultureInfo.CurrentCulture.Name;
}
的這段代碼總是返回的en-US
有人可以幫我解決這個問題?
您的代碼看起來不錯,我懷疑即使默認文化不是en-US,您的Web瀏覽器語言首選項設置爲en-US,因此它會使用它,因爲它受支持。請確保您沒有設置en-US語言的cookie。我曾經有一個本地主機cookie,就像玩本地化示例一樣,所以清除cookie可能有助於 –
Thxs的回覆。我已經將瀏覽器語言更改爲nl-BE並刪除了所有的cookies,但它一直在使用en-US語言 – Wouter