【发布时间】:2009-09-03 18:18:21
【问题描述】:
我已经想到了三种使用 Visual Studio 2008 在 WinForms 的 .Net 项目中创建和维护资源的方法。(我相信应该有不止三种方法。)我需要决定在开始为我们的产品实施国际化之前。
- 对于每个 .net 项目中的每个窗口窗体或 UI 片段(自定义控件)都有单独的资源文件集 (resx)。当窗体或控件属性中的 Localizable 属性设置为 true 时,这些是由 Visual Studio 自动生成的。
- 每个 .net 项目有一个资源文件。这是手动添加并使用资源字符串和消息手动更新的。
- 拥有一个资源管理器项目,该项目包含一组 .net 项目的所有组件的资源。
就我个人而言,我不喜欢第一种方法,因为它会创建大量资源文件。我们在这种方法中获得的唯一优势是我们不需要手动在 UI 元素中设置文本。
我喜欢第二种和第三种方法,因为它们易于维护,并且您只需处理一组资源。所以没有重复的字符串和消息。译者也很容易。
你的想法是什么?请分享。
【问题讨论】:
-
请注意,两个不同上下文中的字符串在另一种语言中的翻译方式可能会有所不同,因此不必使用一个巨大的资源文件来避免重复的字符串。
-
很高兴知道您指的是 .Net 的哪一部分? Asp.Net、WinForms 还是 WPF? WPF 有一些非常好的本地化功能,而其他的则没有。
标签: c# .net localization resources internationalization