我正在尝试改变 a 的文化,ASP.NET Web API 2
但我不知道要覆盖哪个函数
我已经尝试过ExecuteAsync,Initialize但无论如何该应用程序都使用英语资源。
这就是我设定文化的方式
protected void SetCulture(string cultureName)
{
// Validate culture name
cultureName = CultureHelper.GetImplementedCulture(cultureName);
// Modify current thread's cultures
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(cultureName);
Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;
}
protected override void Initialize(HttpControllerContext controllerContext)
{
if (controllerContext.Request.Headers.AcceptLanguage != null &&
controllerContext.Request.Headers.AcceptLanguage.Count > 0)
{
string language = controllerContext.Request.Headers.AcceptLanguage.First().Value;
SetCulture(language);
}
base.Initialize(controllerContext);
}
Run Code Online (Sandbox Code Playgroud)
这里的资源始终是英文的。我戴上了手表Thread.CurrentThread.CurrentCulture,上面写着fr
private void SendConfirmationEmail(string userId)
{
...
UserManager.SendEmail(userId,
Resources.Resources.ConfirmAccount,
Resources.Resources.PleaseClickToConfirmAccount
+ callbackUrl);
}
Run Code Online (Sandbox Code Playgroud)
我们如何设定当前的文化?
编辑 …