为什么我的所有WinForm控件和窗体都没有本地化?
时间:2020-03-06 14:40:15 来源:igfitidea点击:
大家问候,
我正在尝试本地化.NET / Cproject。我正在使用字符串资源文件,并将所有表单上的" Localizable"属性设置为" True"。汇编文化是空的。 resx /资源文件已成功通过Lingobit,resgen等传递。
当运行本地化的可执行文件时,我的某些表单未进行本地化(我知道其中设置了Localizable标志的表单),而另一些则未进行本地化。甚至有一些本地化的表单,但没有一个或者两个按钮。我无法分辨未本地化的窗体/控件与本地化的窗体/控件之间的任何区别。
有人知道我可能会缺少什么吗?谢谢!
解决方案
在Visual Studio中打开表单时,如果将"表单"的"语言"属性更改为我们要本地化的语言,是否存在相同的问题?即使在本地化的资源中,非本地化的表单/按钮是否仍可能设置了英文文本?
是的,我会和Andy一起去做,并对资源文件的内容感到怀疑。我们曾涉足本地化一段时间,遇到了许多问题,但这当然不是其中之一。
如果不是,那么我们如何测试应用程序?如果我们还没有尝试过,我建议我们启动一组安装了Windows外国语言版本的VM(而不只是更改计算机上的语言设置),看看是否有任何区别。
好吧,我知道了。你们是正确的。我们没有从Lingobit正确生成转换后的resx文件。有些文件将被翻译,而另一些文件的英文文本仍在resx中。
谢谢你的帮助!
编辑:只是为了对此进行扩展,我们专门搞砸了al.exe命令,该命令采用了二进制.resources文件并创建了一个附属程序集,将其添加到可执行文件的清单中。在/ embed命令中,我们必须将资源文件绑定到名称空间。我们的顶级名称空间已正确映射,但我们并未绑定到所有资源文件上的子级名称空间。