ASP.NET Core 如何从指定的文化资源中获取字符串。

3
在我的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;

对于每种支持的语言,然而这个方法在我看来并不太正确。

有更好的方法吗?

此外,我认为存在某种竞争条件,因为我遇到了一些文本随机地以错误的语言呈现 - 因为我正在更改一些全局状态...

1个回答

0
为什么不将它存储在appSettings.json或其他json文件中?

因为我不想在整个应用程序中使用它时,构建基于语言选择正确机制的机制。 - Václav Holuša

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接