通过显式本地化获取资源价值

发布于 2024-10-29 06:03:12 字数 200 浏览 1 评论 0原文

对于不同的资源文件 (*.resx),如何通过提供显式本地化来检索本地化值。

也就是说,通常我可以直接使用 custom-tool-namespace.Resource.localizedAttribute 引用该属性。

它将给出的值取决于为 CurrentCulture 设置的本地化(线程方式)。但与此不同的是,我想将本地化交给资源获取器。这可能吗?

With different resource files (*.resx), how can I retrieve localized values by giving explicit localization.

That is, normally I can directly reference the attribute with custom-tool-namespace.Resource.localizedAttribute.

The value it will give depends on what localization has been set to CurrentCulture (thread-wise). But unlike this, I'd like to hand the localization to the resource getter. Is this possible?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

泪眸﹌ 2024-11-05 06:03:12

假设您有多个资源文件:

Messages.resx
Messages.fr-FR.resx
...
Messages.xx-XX.resx

所有资源文件都包含一些字符串值,您可以检索特定区域性的值:

var culture = new CultureInfo("fr-FR");
string value = Messages.ResourceManager.GetString("SomeKey", culture);

这将独立于当前线程区域性的值。

Assuming you have multiple resource files:

Messages.resx
Messages.fr-FR.resx
...
Messages.xx-XX.resx

all containing some string value you could retrieve the value for a specific culture:

var culture = new CultureInfo("fr-FR");
string value = Messages.ResourceManager.GetString("SomeKey", culture);

and this will be independently of the value of the current thread culture.

回忆凄美了谁 2024-11-05 06:03:12

更好的做法是使用 nameof 来维护智能感知并避免输入错误

var culture = new CultureInfo("fr-FR");
string value = Messages.ResourceManager.GetString(nameof(Messages.SomeKey), culture);

Better practice is to use nameof to mantain intellisense and avoid typing errors

var culture = new CultureInfo("fr-FR");
string value = Messages.ResourceManager.GetString(nameof(Messages.SomeKey), culture);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文