【发布时间】:2016-04-24 18:58:17
【问题描述】:
我正在维护一个用 C# 2.0 (VS2005) 编写的程序。它有相当大的代码库,很多作者,它几乎是内部应用程序,但目前它也是我们使用它的客户之一。
应用程序是多语言的,并且可以翻译自己的表单和组件。但是,有一个组件——WeifenLuo 的 DockPanel Suite,我需要将它翻译成另一种语言(zh-CN)——其中一个中国人将资源文件翻译成他的语言,现在我正在尝试在应用程序中包含和使用,但我失败了——虽然整个应用程序都是中文的,但这个组件仍然是英文的。未翻译的资源文件可以在github上找到:https://github.com/dockpanelsuite/dockpanelsuite/blob/master/WinFormsUI/Docking/Strings.resx
如何做到这一点?我尝试了几乎所有的方法,幼稚的方法(只是resgen 并由al 编译,并尝试将其用作附属程序集-也尝试过ilmerge),然后在VS2013 Express 中打开DockPanelSuite,将resx 添加为Strings.zh-CN .resx,但没有任何效果,工具提示和其他内容仍然是英文。
也尝试使用调试器进行单步调试,但调试器在 tooltip = Strings.DockPaneCaption_ToolTipAutoHide 处中断,但它没有跨入 Strings.Designer.cs 中定义的 getter
我被卡住了,我不知道该怎么做。任何想法?非常感谢!
【问题讨论】:
-
我并不完全理解您的问题,但我可以帮助解释一件事:“它没有进入吸气剂” - 它不会。要调试 setter 或 getter,您需要一种特殊的方式。检查这个:stackoverflow.com/questions/4408110/…
-
问题是我无法将另一种语言资源“插入”到组件中(在单独的 DLL 中)。它仍然使用英语。
标签: c# visual-studio internationalization resources