C# 为什么我所有的WinForm控件和表单都没有本地化?

C# 为什么我所有的WinForm控件和表单都没有本地化?,c#,.net,localization,C#,.net,Localization,大家好, 我正在尝试本地化.NET/C项目。我正在使用字符串资源文件,并将所有表单上的Localizable属性设置为“True”。程序集区域性为空。resx/resource文件成功地通过Lingobit、resgen和al传递 当运行本地化的可执行文件时,我的一些表单不是本地化的表单,我知道在这些表单中设置了本地化标志,而其他表单是。甚至有一些表单是本地化的,但一两个按钮不是。我无法区分非本地化窗体/控件与本地化窗体/控件之间的任何区别 有人知道我遗漏了什么吗?谢谢 在Visual Stud

大家好,

我正在尝试本地化.NET/C项目。我正在使用字符串资源文件,并将所有表单上的Localizable属性设置为“True”。程序集区域性为空。resx/resource文件成功地通过Lingobit、resgen和al传递

当运行本地化的可执行文件时,我的一些表单不是本地化的表单,我知道在这些表单中设置了本地化标志,而其他表单是。甚至有一些表单是本地化的,但一两个按钮不是。我无法区分非本地化窗体/控件与本地化窗体/控件之间的任何区别


有人知道我遗漏了什么吗?谢谢

在Visual Studio中打开表单时,如果将表单的Language属性更改为要本地化的语言,是否存在相同的问题?即使在本地化的资源中,非本地化的表单/按钮是否仍然设置了英文文本?

在Visual Studio中打开表单时,如果将表单的Language属性更改为要本地化的语言,是否存在相同的问题?即使在本地化的资源中,非本地化的表单/按钮也可能设置了英文文本吗?

是的,我同意Andy的观点,并且怀疑资源文件的内容。我们曾涉猎过本地化,遇到了许多问题,但这肯定不是其中之一


如果不是这样,那么你如何测试你的应用程序?如果您还没有尝试过,我建议启动一组安装了外语版本Windows的虚拟机,而不仅仅是更改您机器上的语言设置,看看这是否有什么不同。

是的,我会和Andy一起讨论这个问题,并对资源文件的内容表示怀疑。我们曾涉猎过本地化,遇到了许多问题,但这肯定不是其中之一


如果不是这样,那么你如何测试你的应用程序?如果您还没有尝试过,我建议启动一组安装了外语版本Windows的虚拟机,而不仅仅是更改您机器上的语言设置,看看这是否有什么不同。

好的,我找到了答案。你们是对的。我们没有从Lingobit正确生成已翻译的resx文件。一些文件将被翻译,而另一些文件的英文文本仍在resx中

谢谢你的帮助


编辑:为了进一步扩展,我们特别弄乱了al.exe命令,该命令获取binary.resources文件并创建附属程序集,将其添加到可执行文件的清单中。在/embed命令中,必须将资源文件绑定到命名空间。我们的顶级名称空间映射正确,但我们没有绑定到所有资源文件上的子级别名称空间。

好的,我找到了答案。你们是对的。我们没有从Lingobit正确生成已翻译的resx文件。一些文件将被翻译,而另一些文件的英文文本仍在resx中

谢谢你的帮助

编辑:为了进一步扩展,我们特别弄乱了al.exe命令,该命令获取binary.resources文件并创建附属程序集,将其添加到可执行文件的清单中。在/embed命令中,必须将资源文件绑定到命名空间。我们的顶级名称空间映射正确,但我们没有绑定到所有资源文件上的子级别名称空间