假设有一堆表单: A.cs、B.cs、C.cs……
每个表单都是本地化的- A.resx、A.NL-nl.resx等。
这些表单包含一些特定的标签和一些在所有表单中常用的标签。因此,特定的字符串转到A.resx (A.NL-nl.resx)和公共字符串-比如说Common.resx (Common.NL-nl.resx)
当form初始化为使用来自A.resx和Common.resx的所有公共字符串的资源字符串时,有什么方法可以强制执行吗?当然,我可以在一些OnLoad方法中为我的表单布局项设置标题,但这样做会丢失内置的本地化功能。
我之所以喜欢这样的功能,是因为有很多不同形式的常用字符串,管理/翻译这些*.resx文件要容易得多。
我读过一些关于C#本地化的文章,但我可能遗漏了一些东西。
发布于 2011-11-27 02:27:07
根据我的经验,我可以说:
你最好为所有的表单创建一个本地化的resx文件。
当你将你的应用程序翻译成不同的语言时,最后一个确实很重要,因为翻译可能真的取决于上下文。在一个表单上,默认按钮可能被命名为OK,而在另一个表单上,它应该被命名为Accept。虽然在英语中,这两个按钮都可能被命名为Ok,但在其他一些语言中,这听起来会很别扭,因此需要不同的名称。如果对所有按钮使用相同的资源字符串,这将是有问题的。
为了缓解多次翻译相同字符串的问题,你应该使用一些翻译器软件,它保留了字符串的字典,并为你提供了已经翻译的字符串。
发布于 2011-11-27 02:08:12
资源有一个完全限定的名称。也就是说他们只有一个来源。如果您想在表单中使用来自Common.resx的文本,则必须为此编写代码。代码很简单,但还是要写代码。
https://stackoverflow.com/questions/8257997
复制相似问题