【发布时间】:2018-06-25 14:05:32
【问题描述】:
我将创建一个字符串资源文件,该文件将用于我公司未来所有产品的本地化。我们称该文件为 CAPSStrings.resx,因为这就是它的名称。在 C# 下的 WinForms 中,Localizable 属性设置为 True 的表单有自己的资源文件。除了字符串资源之外,这些文件还包含表单中控件的所有非默认设置。
我希望能够将 CAPSStrings.resx 中的字符串导入表单资源文件,以便在使用 Microsoft 随 Visual Studio 提供的单独翻译工具开发或翻译表单时,可以使用来自 CAPSStrings.resx 的翻译.这不必在运行时甚至在设计时完成。运行一个能够知道源文件和目标文件位置的独立程序就足够了。
最好的方法是什么?
【问题讨论】:
-
您不能重用/导入
CAPSStrings.resx作为表单的资源文件。但是,如果您想提供一种解决方案以在不重新构建应用程序的情况下添加对不同语言的支持,我分享了一篇文章,展示了如何向您的应用程序添加新语言。 -
@ROBERT:注意:我是 VS 开发人员的商业本地化工具(插件)的作者(为了全面披露)。目前尚不清楚您要做什么。首先,什么是“CAPSStrings.resx”。它是您的一个表单(每个表单都有自己的)的默认语言“.resx”文件,还是您创建的其他(非基于表单的)“.resx”文件。看起来是这样,看来您可能正在尝试使用单个“.resx”文件来填充应用程序中的所有表单。这不是 VS 本身支持的,因此我不建议这样做,但您需要澄清您的问题。
-
是的,CAPSString.resx 独立于我的应用程序中的所有表单。它设计用于多种应用。我现在打算不尝试将它与表单资源文件合并,而是单独使用它并将表单资源文件用于控件定位和它们设计的其他东西。
-
@ROBERT:好的,明白了。 VS 并非旨在以这种方式处理基于表单的字符串,因此尝试(恕我直言)会让自己更加头疼。不过,像您自己一样,我更喜欢单个文件系统(一个文件来处理所有字符串)。不幸的是,VS 本身并不支持它(无论如何对于表单),并且 VS 中的本地化在任何情况下都不是很好。这就是促使我编写一个商业本地化工具的原因,它将所有字符串捆绑到一个文件中(用于外部翻译)并消除了所有的苦差事。如果不是这么多的工作,我会免费赠送的。
标签: c# .net winforms localization