C# Windows窗体:窗体未本地化

C# Windows窗体:窗体未本地化,c#,winforms,localization,C#,Winforms,Localization,我们已成功本地化windows窗体应用程序。一个表单拒绝使用本地化的资源,并且总是与嵌入的资源一起显示。我检查了以下几点: forms Localizable属性为true 在运行时,UI区域性设置正确 卫星组件位于正确的位置 通过SysInternals process explorer,我验证了流程是否使用附属程序集 我用IL Spy打开了卫星程序集,并检查它是否包含已翻译的资源 在调试器中,我进入Microsofts ComponentResourceManager.ApplyResou

我们已成功本地化windows窗体应用程序。一个表单拒绝使用本地化的资源,并且总是与嵌入的资源一起显示。我检查了以下几点:

  • forms Localizable属性为true
  • 在运行时,UI区域性设置正确
  • 卫星组件位于正确的位置
  • 通过SysInternals process explorer,我验证了流程是否使用附属程序集
  • 我用IL Spy打开了卫星程序集,并检查它是否包含已翻译的资源
  • 在调试器中,我进入Microsofts ComponentResourceManager.ApplyResources方法以获取一个按钮。它找到了文本属性,但随着代码的优化,我看不到真正有趣的东西
所有其他表单(不同的程序集)都使用正确的语言显示,只有此表单。。。
我希望有人有一个有用的想法。

刚刚偶然发现了同样的问题,但可以解决它

我刚刚将本地化的resx文件导入到项目中。因此*.de.resx是项目的一部分,但本地化资源并没有应用于所有表单

参考,本地化的资源文件应显示在表单下方(作为子项)

所以我的解决方案是: -检查所有表格,将语言从默认更改为德语,然后再更改为默认。 -因此,*.de.resx文件被列为表格的子项 -然后用本地化文件覆盖刚刚创建的*.de.resx文件

然后它适用于所有形式。不过,我不知道为什么它以前在四分之三的表格中有效


向Windows窗体应用程序添加新语言的推荐方法是什么?我真的需要点击我的应用程序的所有表单来为新语言创建空的resx文件吗?当然,我可以手动编辑项目文件…

好吧,改为调试调试版本。