我研究了new approach在ASP.Net Core中的本地化问题,关于使用IStringLocalizer
并使用它_localizer["About Title"]
。
然后它还说明了
对于许多开发人员来说,没有默认语言的新工作流程 .resx文件并简单地包装字符串文字可以减少 本地化应用程序的开销。
它确实减少了开销,但是我会将什么传递给翻译呢?通常,我有一个默认的Resource.resx
,它是英文的,他们可以翻译并回复Resource.fr.resx
。新的"没有默认语言的工作流程是什么.resx"机制?
答案 0 :(得分:0)
我知道这有点晚了,但如果您还需要它,那么这就是答案。您可以拥有一个名为YourResource.en-US.resx
或YourResource.en.resx
的文件,并将其设置为:
public void ConfigureServices(IServiceCollection services)
{
...
// Your resources folder
services.AddLocalization(options => options.ResourcesPath = "Resources");
}
public void Configure(IApplicationBuilder app)
{
...
// Languages you support in your application
var supportedCultures = new[]
{
new CultureInfo("en-US"),
new CultureInfo("xx-YY")
};
app.UseRequestLocalization(new RequestLocalizationOptions
{
// default language
DefaultRequestCulture = new RequestCulture("en-US", "en-US");,
SupportedCultures = supportedCultures,
SupportedUICultures = supportedCultures
});
}
然后您将YourResource.en-US.resx
文件发送给翻译人员。通过如上所示进行设置,您可以将该文件定义为默认文件(如果没有正确的文件,则回退)。