.Net Core 2.2에서 .Net Core 3.0으로 프로젝트를 업그레이드했습니다.
모든 경고와 오류를 해결하려고 시도한 후 이제이 경고에 대한 해결책을 마련하려고합니다.
'IStringLocalizer.WithCulture(CultureInfo)' is obsolete: 'This method is obsolete.
Use `CurrentCulture` and `CurrentUICulture` instead.'
이것을 사용하여 로그인 한 사용자마다 웹 사이트 언어를 변경하고 있습니다. 사용자 당 웹 사이트 문화를 변경하기 위해이 구현이 있습니다.
public class CultureLocalizer : ICultureLocalizer
{
private readonly IStringLocalizer localizer;
public CultureLocalizer(IStringLocalizerFactory factory)
{
var type = typeof(Resources.PageResources);
var assemblyName = new AssemblyName(type.GetTypeInfo().Assembly.FullName);
localizer = factory.Create("PageResources", assemblyName.Name);
}
// if we have formatted string we can provide arguments
// e.g.: @Localizer.Text("Hello {0}", User.Name)
public LocalizedString Get(string key, params string[] arguments)
{
return arguments == null ? localizer[key] : localizer[key, arguments];
}
public LocalizedString Get(Enum key, params string[] arguments)
{
return arguments == null ? localizer[key.ToString()] : localizer[key.ToString(), arguments];
}
public LocalizedString Get(CultureInfo culture, string key, params string[] arguments)
{
// This is obsolete
return arguments == null ? localizer.WithCulture(culture)[key] : localizer.WithCulture(culture)[key, arguments];
}
public LocalizedString Get(CultureInfo culture, Enum key, params string[] arguments)
{
// This is obsolete
return arguments == null ? localizer.WithCulture(culture)[key.ToString()] : localizer.WithCulture(culture)[key.ToString(), arguments];
}
}
그리고 이것은 .resx
번역을위한 파일 만 보유하는 더미 클래스입니다 .
// dummy class for grouping localization resources
public class PageResources
{
}
아직 해결책이없는 것으로 보이는 github에 대한 토론을 제외 하고는이 경고를 해결하는 방법을 나타내는 웹에서 아무것도 찾을 수 없습니다 .
다른 사람 이이 경고를 우연히 발견하고 해결책을 찾았습니까?