我有一个已经本地化的 WinForms 程序,有四种语言。它由一个EXE 和几个DLL 组成。所有 C# 项目都包含在一个解决方案中。附属程序集是从本地化资源文件自动生成的,例如Strings.fr.resx或MyForm.it.resx。
源代码存储在 Subversion 中,即 Artifactory 中集中(构建服务器)生成的二进制文件。Maven 用于依赖解析。二进制文件(快照)的相应源代码也存储在 Artifactory 中。因此,二进制文件(DLL、EXE)和相应的源代码都可以从其他项目中引用。
现在,我想在不重新编译的情况下为程序添加一种额外的语言。不得触及原始二进制文件。
这个想法是创建一个依赖于(Maven)原始程序版本的附加解决方案。所以,我得到了二进制文件和源代码。然后我可以为每个原始项目创建工具项目以创建附属程序集,例如使用批处理文件。这将适用于资源文件中具有可本地化文本和其他内容的项目。
但是控件和表单呢?不同的语言可能有不同的结果控件布局、换行符、位置变化、大小等。这不仅仅是文本翻译。因此,WinForms 设计器会很有帮助。有人知道创建包含控件的附属程序集的好方法吗?
无法使用其他工具(例如 Sisulizer)。原始二进制文件是强命名的,并且密钥仅在构建服务器上可用。因此,新的卫星组件也必须使用该密钥进行强命名。