我想到了三种方法来使用 Visual Studio 2008 在 WinForms 的 .Net 项目中创建和维护资源。(我确信应该有不止三种方法。)我需要决定在开始为我们的产品实现国际化之前。
- 为每个 .net 项目中的每个 Windows 窗体或 UI 片段(自定义控件)提供单独的资源文件集 (resx)。当表单或控件属性中的 Localizable 属性设置为 true 时,这些由 Visual Studio 自动生成。
- 每个 .net 项目有一个资源文件。这是手动添加的,并使用资源字符串和消息手动更新。
- 拥有一个资源管理器项目,其中包含一组 .net 项目的所有组件的资源。
就我个人而言,我不喜欢第一种方法,因为它会创建大量资源文件。我们在这种方法中获得的唯一优势是我们不需要手动在 UI 元素中设置文本。
我喜欢第二种和第三种方法,因为它们易于维护,而且您只需处理一组资源。所以没有重复的字符串和消息。翻译人员也很容易。
你有什么想法?请分享。
最佳答案
我倾向于使用 VS 创建项目并提供默认资源集,然后通过 SDK 工具 winres.exe、resgen.exe 和 al.exe 在 visual studio 之外维护任何其他资源。
您可以将资源维护在一个相当简单的文件夹结构中,每个区域性一个文件夹,只需一个或两个批处理文件即可将资源构建到附属程序集中。这为您提供了将 VS 解决方案保留在核心产品上的优势,并且所有本地化都可以在事后完成。
关于c# - 这是在 .Net 中维护国际化资源的好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1375064/