2016-12-26 91 views
4

我有我想本地化和翻译的asp.net核心应用程序(v 1.1.0)。我想的源代码,同时支持英语和挪威语部署,我发现这可能是一个startup.cs配置在appsettings.json(asp.net核心本地化)中设置文化和ui文化?

 RequestLocalizationOptions localizationOptions = new RequestLocalizationOptions 
     { 
      SupportedCultures = new List<CultureInfo> { new CultureInfo("en-US"), new CultureInfo("nb-NO") }, 
      SupportedUICultures = new List<CultureInfo> { new CultureInfo("en-US"), new CultureInfo("nb-NO") }, 
      DefaultRequestCulture = new RequestCulture("nb-NO") 
     }; 
     app.UseRequestLocalization(localizationOptions); 

但是我想为每个部署只有一个文化,一个UI的文化,所以我希望找到一种方法来设置appsettings.json或环境变量中的文化和ui文化。可能吗?

回答

5

当然。

appsettings.json

{ 
    "SiteLocale" : "en-US" 
} 

Startup.cs

var locale = Configuration["SiteLocale"]; 
RequestLocalizationOptions localizationOptions = new RequestLocalizationOptions 
{ 
    SupportedCultures = new List<CultureInfo> { new CultureInfo(locale) }, 
    SupportedUICultures = new List<CultureInfo> { new CultureInfo(locale) }, 
    DefaultRequestCulture = new RequestCulture(locale) 
}; 
app.UseRequestLocalization(localizationOptions); 
+0

谢谢!当你告诉我如何,似乎很简单。 –