1
私は、nl-BEにデフォルト言語を設定するasp.netコアプロジェクトを持っています。何らかの理由で、常に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ではないにもかかわらず、ウェブブラウザの言語設定がen-USに設定されているため、コードがサポートされているため、コードが使用されているようです。 en-USの言語設定でクッキーが設定されていないことを確認してください。ローカリゼーションサンプルを使って遊んだことがあるようなローカルホストクッキーがあったので、クッキーをクリアすると返信用の –
Thxsが役に立ちます。私はすでにブラウザ言語をnl-BEに変更し、すべてのクッキーを消去しましたが、en-US言語 – Wouter