Web 应用程序中的强类型资源本地化失败

发布于 2025-01-03 13:21:07 字数 361 浏览 1 评论 0原文

我们创建了两个资源文件 GlobalResources.resx(英语)和 GlobalResources.de.resx(德语)。

这可行(文本根据网络浏览器设置翻译成语言):

string s = HttpContext.GetGlobalResourceObject("GlobalResources",
    "YouHaveSuccessfullyLoggedOut");

这不行(文本始终是英语):

string s = Resources.GlobalResources.YouHaveSuccessfullyLoggedOut;

为什么?

We've created two Resource files GlobalResources.resx (English) and GlobalResources.de.resx (German).

This works (text is translated to language based on web browser setting):

string s = HttpContext.GetGlobalResourceObject("GlobalResources",
    "YouHaveSuccessfullyLoggedOut");

This does not (text is always English):

string s = Resources.GlobalResources.YouHaveSuccessfullyLoggedOut;

Why?

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

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

发布评论

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

评论(1

独闯女儿国 2025-01-10 13:21:08

现在它又可以工作了。

我们认为这可能是因为应用程序正在运行(在调试中),或者当我们将字符串重构为资源时(使用 http://resourcerefactor2010.codeplex.com/)。这与 VS 决定生成 .designer 文件的时间有关(我们甚至看到它为一个 .resx 文件创建了两个 .designer 文件) - 这整个区域在 VS2010 中很脆弱,需要小心对待!

It's now working again.

We think it may have happened because the application was running (in Debug), or the .resx file was open (in an VS Editor window) when we re-factored the string into a resource (using http://resourcerefactor2010.codeplex.com/). It's to do with when VS decides to generate the .designer files (we've even seen it create two .designer files for one .resx file) - this whole area is flaky in VS2010 and needs be treated gently!

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