2

我们已经成功地本地化了我们的 windows-forms 应用程序。一种形式拒绝使用本地化的资源并且总是与嵌入的资源一起显示。我检查了以下几点:

  • 表单 Localizable 属性为 true
  • 在运行时 UI 文化设置正确
  • 卫星组件在正确的位置
  • 使用 SysInternals 流程资源管理器,我验证了该流程使用卫星程序集
  • 我用 IL-Spy 打开了卫星程序集并检查它是否包含翻译的资源
  • 在调试器中,我进入了 Microsoft 的 ComponentResourceManager.ApplyResources 方法以获得一个按钮。它找到了 text 属性,但是随着代码的优化,我看不到真正有趣的东西。

所有其他形式(不同的程序集)都以正确的语言出现,只有这个……我希望有人有一个有用的想法。

4

1 回答 1

0

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

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

参考http://msdn.microsoft.com/library/y99d1cd3%28v=vs.110%29.aspx,本地化的资源文件应出现在表单下方(作为子项)。

所以我的解决方案是: - 浏览所有表格,将语言从默认更改为德语并返回默认。- 结果,*.de.resx 文件被列为表单的子项 - 然后用本地化文件覆盖刚刚创建的 *.de.resx 文件

然后它适用于所有形式。不过,我不知道为什么它以前适用于 4 种形式中的 3 种形式。

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

于 2014-04-15T14:35:26.327 回答