Asp.net核心本地化 - 如果没有默认资源

时间:2017-09-12 03:59:38

标签: c# asp.net asp.net-core localization

我研究了new approach在ASP.Net Core中的本地化问题,关于使用IStringLocalizer并使用它_localizer["About Title"]

然后它还说明了

  

对于许多开发人员来说,没有默认语言的新工作流程   .resx文件并简单地包装字符串文字可以减少   本地化应用程序的开销。

它确实减少了开销,但是我会将什么传递给翻译呢?通常,我有一个默认的Resource.resx,它是英文的,他们可以翻译并回复Resource.fr.resx。新的"没有默认语言的工作流程是什么.resx"机制?

1 个答案:

答案 0 :(得分:0)

我知道这有点晚了,但如果您还需要它,那么这就是答案。您可以拥有一个名为YourResource.en-US.resxYourResource.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文件发送给翻译人员。通过如上所示进行设置,您可以将该文件定义为默认文件(如果没有正确的文件,则回退)。