我有一个多语言C#WinForms应用程序,它使用资源文件作为多语言文本。是否有可能添加包含其他语言的新资源文件而无需重新编译应用程序。
最终目标是让客户有可能将他的应用程序翻译成各种语言并部署新的语言/资源文件,而无需我们重新编译整个应用程序。
答案 0 :(得分:1)
您正在寻找“卫星装配”。在MSDN网站上有一个非常好的解释+教程:Creating Satellite Assemblies
答案 1 :(得分:0)
当然,只需创建您的resx文件并使用resgen独立编译。
“资源文件生成器(Resgen.exe)将文本(.txt或.restext)文件和基于XML的资源格式(.resx)文件转换为可嵌入到的公共语言运行时二进制(.resources)文件运行时二进制可执行文件或附属程序集。(请参阅为桌面应用程序创建资源文件。)“
答案 2 :(得分:0)
资源文件是嵌入式资源;因此,无法编译而无法添加和使用新的资源文件。一个选项可能采用附属组件。
另一方面,您可以只使用xml文件来存储必要的数据,然后使用基于文化的命名约定,应用程序可以从相关的xml文件中读取资源。
答案 3 :(得分:0)
为每个GUI组件创建一个XML文档 因此,如果您修复了该语言,您的应用程序将反序列化xml文档并填充新值 我不知道更容易的事情