【发布时间】:2020-11-19 12:58:59
【问题描述】:
在我的 ASP.NET Core 3.1 网站上,我尝试为不同的支持语言生成备用链接。这些链接存储在资源中。我在课堂上使用 IStringLocalizer 作为依赖项来获取翻译。曾经有一个扩展方法 .WithCulture() 允许字符串本地化器在不同的文化中查找。但是,这已被标记为已过时(并在 .NET 5 中删除)。
从多种可用文化中加载单个键的最佳方法是什么? 我目前正在使用这种方法“破解”它
var originalCulture = Thread.CurrentThread.CurrentUICulture;
Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture(cultureCode);
var localized = localizer[myKey];
Thread.CurrentThread.CurrentUICulture = originalCulture;
针对每种支持的语言。 然而,这对我来说似乎并不正确。
有更好的方法吗?
我还认为存在某种竞争条件,因为我遇到一些文本在不正确的文化中随机呈现 - 因为我正在改变一些全局状态..
【问题讨论】:
标签: c# asp.net-core razor-pages