我有一个本地化的 WinForms 应用程序。为了避免翻译过程中的大量迭代,我为我们的翻译人员提供了软件,允许他们直接编辑 .resx 文件。
这对于不与 UI 组件(表单/控件)绑定(bind)的资源文件非常有效,但对于表单和控件,资源似乎没有更新。我的意思是,在设计时,所有资源字符串都是正确的(文本/工具提示等),并且我可以看到正确的翻译 - 当我运行应用程序(调试或任何其他版本)时,翻译不会被翻译更新了,为什么?
感谢您的宝贵时间。
编辑1。情节进一步变得复杂。当我更改其组件(按钮文本、工具提示或由底层资源文件控制的任何内容)时,有两个按钮根本没有更新。假设我将按钮文本从“锁定工作簿”更改为“锁定工作簿 GG”,然后新文本显示在设计器和 .resx 文件中(在 .resx 设计器和后面的代码中),但是当我运行代码时(在调试或 Release模式下)按钮文本未更新!?
如果我更新上面更新的按钮旁边的按钮,这会更改正在运行的应用程序中的文本吗?这正在烘烤我的面条,因为我看不到旧文本存储在哪里,为什么对于按钮的子集,它们的组件文本没有更新!?
热烈欢迎任何想法!
编辑2。我尝试删除 .suo 并清理并重新编译。我还从解决方案中删除了麻烦的表单并重新添加了它。
为了让您看到这种奇怪的行为,这里有一个有问题的按钮(“锁定工作簿 GG”)和一个正常的按钮(“设置为默认工作簿 GG”)。
现在在运行时我看到
最佳答案
也许您的build设置错误?
这就是我的 dll 的内容。
关于c# - 资源文件未编译成 DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19631221/