在 ASP.NET 中使用 GetGlobalResourceObject 或 GetLocalResourceObject 时覆盖区域性

发布于 2024-08-09 05:43:45 字数 211 浏览 3 评论 0原文

我已经使用资源文件在此 ASP.NET 项目中实现了本地化,并且按预期工作。 但有一种情况,我必须以一种语言显示整个页面,然后根据下拉列表中的选择以其他语言显示其中的一部分。

据我所知,GetGlobalResourceObject() 和 GetLocalResourceObject() 方法根据页面区域性工作,但我需要以编程方式调整语言。有没有办法覆盖这些方法的行为以便我可以指定语言?

I've implemented localization in this ASP.NET project using resource files and that's working as expected.
But there is one situation where I have to display the whole page in one language and then a section of it in some other language based on the selection from a dropdown list.

From what I can see, the GetGlobalResourceObject() and GetLocalResourceObject() methods work from the page culture, but I need to adjust the language programmatically. Is there a way to override those methods' behaviour so that I can specify the language?

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

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

发布评论

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

评论(1

苯莒 2024-08-16 05:43:45

我相信您可以使用以下方法访问特定的 resx 文件:

   value = HttpContext.GetGlobalResourceObject(classKey, resourceKey, culture)

您可以像这样初始化您的区域性:

Culture culture = CultureInfo.CreateSpecificCulture("pt-PT");

只需从下拉列表中选择您的值并在 CreateSpecificCulture 方法中切换区域性。

我还没有测试过,如果不起作用请告诉我。

编辑:它与 GetLocalResourceObject 相同

I believe you can access a specific resx file by using this method:

   value = HttpContext.GetGlobalResourceObject(classKey, resourceKey, culture)

You can initialize your culture like this:

Culture culture = CultureInfo.CreateSpecificCulture("pt-PT");

Just pick up your value from the dropdown and switch the culture in the CreateSpecificCulture method.

I havent tested it, let me know if that doesnt work.

EDIT: its the same for GetLocalResourceObject

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文