public void ConfigureServices(IServiceCollection services) { services.AddLocalization(options => options.ResourcesPath = "Resources"); // ... }
public void Configure(IApplicationBuilder app, IHostingEnvironment env) { var supportedCultures = new[] { new CultureInfo("en-US"), new CultureInfo("fr-FR"), new CultureInfo("es-ES") };
app.UseRequestLocalization(new RequestLocalizationOptions
{
DefaultRequestCulture = new RequestCulture("en-US"),
SupportedCultures = supportedCultures,
SupportedUICultures = supportedCultures
});
// ...
}
确保资源文件的命名方式正确。例如,如果您有一个名为"Resources.resx"的资源文件,则可以为每个区域性创建资源文件"Resources.fr-FR.resx"和"Resources.es-ES.resx"等。
确保在视图中使用了正确的本地化标记:
import { LOCALE_ID } from '@angular/core';
export function getLocale() { return document.documentElement.lang; }
@NgModule({ ... providers: [ { provide: LOCALE_ID, useFactory: getLocale } ], ... })
通过这些步骤,您可以解决ASP.NET Core应用程序发布后本地化不起作用的问题。