1
get请求文化我尝试创建IStringLocalizer在asp.net 1.1核心的implemantation使用每种语言的单一资源文件为我的整个项目(而不是一个每页每种语言...)。而且我无法找到如何在这里获得请求语言以回报具有良好文化的价值观。如何从IStringLocalizer实施
我可能失去了实现它的方式,但文档在主题上很差。有人能告诉我如何获得良好的文化(用户的一个EQ要求用户语言)请在这里:
public class CustomLocalizer : IStringLocalizer
{
private readonly CultureInfo _currentCulture;
public IEnumerable<LocalizedString> GetAllStrings(bool includeParentCultures)
{
ResourceManager rm = new ResourceManager(typeof(MyResources));
foreach(DictionaryEntry value in rm.GetResourceSet(_currentCulture, false, true))
{
yield return new LocalizedString((string)value.Key, (string)value.Value);
}
}
public CustomLocalizer(CultureInfo culture = null)
{
_currentCulture = culture ?? CultureInfo.DefaultThreadCurrentUICulture;
}
public IStringLocalizer WithCulture(CultureInfo culture)
{
return new CustomLocalizer(culture);
}
LocalizedString IStringLocalizer.this[string name]
{
get
{
ResourceManager rm = new ResourceManager(typeof(MyResources));
return new LocalizedString(name, rm.GetString(name, _currentCulture));
}
}
LocalizedString IStringLocalizer.this[string name, params object[] arguments]
{
get
{
ResourceManager rm = new ResourceManager(typeof(MyResources));
return new LocalizedString(name, rm.GetString(name, _currentCulture));
}
}
}