【发布时间】:2014-11-19 23:33:16
【问题描述】:
我们开始开发一个新的 asp.net mvc 5 应用程序,它应该是多语言的。
我找到了一个很好的tutorial 如何让它工作。关于本教程,我唯一想知道的是,作者建议在解决方案中为资源创建一个单独的项目。
现在我的问题是:这是推荐的吗?
【问题讨论】:
标签: asp.net visual-studio asp.net-mvc-5 embedded-resource multilingual
我们开始开发一个新的 asp.net mvc 5 应用程序,它应该是多语言的。
我找到了一个很好的tutorial 如何让它工作。关于本教程,我唯一想知道的是,作者建议在解决方案中为资源创建一个单独的项目。
现在我的问题是:这是推荐的吗?
【问题讨论】:
标签: asp.net visual-studio asp.net-mvc-5 embedded-resource multilingual
我通常在我的 MVC 项目中创建一个名为 Resources 的文件夹。虽然如果您希望从其他项目中引用您的资源,您可能希望在单独的项目中创建它们。
然后我根据我的控制器名称创建子文件夹并将“自定义工具”属性更改为“PublicResXFileCodeGenerator”。
当我在 Views 中使用资源字符串时,它看起来像:
<title>@Resources.Home.Index.PageTitle</title>
就个人而言,我更喜欢使用文件夹而不是项目,因为这迫使我不在我的应用程序层中生成 UI 字符串,并迫使我找到更好的方法来解决可能最终在我的业务逻辑中生成字符串的问题最终可能会出现在 UI 中。
【讨论】:
我们在项目中拥有最相关的资源文件。
我们有一个组件可以处理不同级别的资源翻译
(也适用于 Winforms 和 WPF...)
我们根据功能重要性对资源文件进行分组,
业务层项目中的业务级别消息,
我们的标准代码使用的通用翻译项目。
一个 .NET ResourceManager 可以处理一个资源文件,因此我们的管理器会保留一个 ResourceManager 列表。
在运行时,您只需尝试所有这些(或使用逻辑类别名称来加快查找速度)...
【讨论】: