【问题标题】:custom client localization form Win Forms自定义客户端本地化表单 Winforms
【发布时间】:2015-07-10 10:10:44
【问题描述】:
我有一个很大的 WinForms 项目,现在我需要创建模块,客户端可以在其中创建/更新/删除自己的项目本地化(dataGrid 名称-值,如 resx 文件)。我们还需要默认本地化。但是在 WinForms 中,每个表单都有自己的 resx 文件=(实现此功能的最佳方法是什么?XML 文件或者可以通过 resx 文件来完成。
在项目的早期版本中(遗憾的是没有源代码)它是 jsut 文本键值文件。
【问题讨论】:
标签:
c#
winforms
localization
【解决方案1】:
有不同的方式来接近该主题。对于这个问题,我有两个解决方案。
第一个解决方案
由于 *.resx 文件被编译为可执行文件,因此您无法真正修改它们,但由于您正在使用它们,因此最简单的方法是将引用从 *.resx 文件中的原始构建更改为您创建并放入文件夹中的引用等级制度。这样你就可以使用你的内置文件作为默认文件,并搜索其他语言(如果存在的话)替换它们。
这可能会帮助你Modifying .resx file in c#
这种方法的缺点是 resx 文件是 c# 类,很难在 Visual Studio 编辑器之外进行编辑。
第二种解决方案
如果您有时间将所有默认文本移动到 *.xml 文件中,您可以这样做并使用与 *.resx 文件类似的方法。因为我发现创建和编辑 xml 文件更容易,所以这可以节省您的时间。这种方法的缺点是将每个字符串连接到您的 Windows 窗体应用程序需要时间。