Visual Studio 资源编辑器:只能有一个字符串表?

13
我在.rc文件中创建了一个包含英文字符串的字符串表 - 现在我需要添加另一种语言的字符串表。
如果我尝试执行以下操作: 添加资源… -> 字符串表 -> 新建
我会收到错误消息:“不能有多个此类型的实例”。
我知道我可以在记事本中打开.rc文件并在其中添加语言,但我应该如何在Visual Studio内部完成这个任务?
4个回答

12

是的,它被隐藏得非常好。在解决方案资源管理器中双击.rc文件以打开资源视图窗口,展开“字符串表”节点,在“字符串表”上右键单击并选择“插入副本”,然后会进入语言选择组合框。


6
正如nobugz所提到的,每种语言只能有一个字符串表。
但是回到更大的图景:将多种语言存储在一个可执行文件/dll中被认为是一种不好的做法。"最佳实践"是拥有仅包含资源的dll,每种语言一个。然后您可以完全控制加载哪种语言(否则您让Windows为您做决定)。
还要看一下MUI API(http://msdn.microsoft.com/en-us/goglobal/bb978454.aspx,特别是左侧的"入门"部分)。

说到最佳实践:我是否仍然需要在每种语言中重新定义每个对话框?我不能在对话框内引用字符串表资源吗? - OneWorld
“我是否仍然需要在每种语言中重新定义每个对话框?”:是的。您可以从字符串表中获取字符串并在运行时填充对话框。但是(本机)Windows对话框不会自动调整大小。因此,您可能会遇到被截断、丑陋的对话框。 - Mihai Nita

0
最终,只能有一个。(抱歉,我忍不住了)。
如果它与当前表格的语言不同,它将允许您添加一个表格, 尝试将当前字符串表格的语言更改为其他语言,比如“巴斯克语”,然后添加新表格,再将其改回来。

如果您将副本的语言更改回来,它将与原始副本合并。 - Mihai Nita

0
创建一个新的资源文件,并添加相同语言的新字符串表。 希望它能够正常工作...我已经尝试了..!!!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接