resx 资源或全球化资源数据库

发布于 2024-11-05 21:20:47 字数 406 浏览 5 评论 0原文

我一直在尝试获取特定于文化的资源来处理 ASP.NET MVC 3 应用程序。

如果我的 App_GlobalResources 文件夹中有 LanguageResources.resx 和 LanguageResources.en-UK.resx,则会收到错误“命名空间‘Resources’已包含‘LanguageResources’的定义”

这是一长串问题的结束这是我在尝试让特定文化资源发挥作用​​时所经历的。我必须说,我对 Microsoft 提供的使用此功能的文档印象不深。

我正在考虑使用数据库表来存储我的文化特定字符串,然后我可以构建一个可用于我的控制器和视图的所有值的字典。

是否有其他人做出了这样的决定,或者对与使用数据库来处理特定于文化的字符串相关的性能问题有任何直接的了解?

还有人放弃资源吗?

I have been trying to get culture specific resources to work on an asp.net mvc 3 application.

If I have a LanguageResources.resx and a LanguageResources.en-UK.resx in my App_GlobalResources folder then I get an error "The namespace 'Resources' already contains a definition for 'LanguageResources'"

This is the end of a long line of issues that I have had with trying to get culture specific resources to work. I must say, I'm not impressed with the documentation Microsoft provide for using this feature.

I'm considering using a database table to store my culture specific strings instead, then I can just build a dictionary of all the values that will be available to my controller and views.

Has anyone else made such a decision, or have any direct knowledge on performance issues related to using a database for culture specific strings?

Has anyone else given up on resources too?

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

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

发布评论

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

评论(1

仅冇旳回忆 2024-11-12 21:20:47

我必须承认,我尝试重现你的缺陷并且成功了。看起来,当您添加 some.en-UK.resx 时,Visual Studio 会生成附加类。奇怪的。它不应该允许你首先添加这样的东西,因为没有这样的文化。

如何解决问题?只需添加 LanguageResources.en-GB.resx 并删除
LanguageResources.en-GB.resx。这有帮助。

我不会使用数据库来存储与语言相关的资源,除非它们非常频繁地更改或者必须由最终用户输入(即有某种模板)。
使用数据库会损害本地化能力并且需要付出很多努力。正确设计很难(我在该领域看到过很多错误)。除非确实必要,否则不要走那条路。

I must admit, I tried to reproduce your defect and I was successful. It looks like, Visual Studio generates additional class when you add something.en-UK.resx. Strange. It should not allow you to add anything like this in the first place for there is no such culture.

How to resolve the problem? Just add LanguageResources.en-GB.resx and delete
LanguageResources.en-GB.resx. That helps.

I would not use database for storing language-related resources, unless they are changing very frequently or must be entered by end users (i.e. there are some kind of templates).
Using the database hurts Localizability and requires much effort. It is hard to design correctly (I have seen a lot of mistakes in that area). Don't go that road unless you really have to.

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