3

我正在尝试在 VS2008 中本地化桌面应用程序 (C#)。

我已经掌握了多种语言的本地化表单,并且我还有一个用于通用字符串的项目资源文件,但我无法理解如何创建该文件的多种语言版本!

它似乎没有记录在任何地方。

结果似乎是,如果我想生成我的应用程序的德语版本,我必须编辑通用资源文件(Properties/Resources.resx),构建和部署应用程序,然后重新编辑通用资源文件回到英语。

每次我想制作一个新的德语版本时,我都必须这样做。与本地化表单的工具相比,这似乎很笨拙,我相信在 VS2008 中有更好的方法。有谁知道它是什么?

4

3 回答 3

3

你是对的,我看错了这个问题。

在这种情况下,您可能想要尝试向项目中添加一个新项目,或者您添加现有资源文件的现有副本可能需要先在 VS 之外重命名它。

选择“资源文件”

将其命名为 Resource.de-DE.resx

创建完成后,您可以将其移至“属性”文件夹。

打开文件,将顶部的访问修饰符更改为内部,它将设置为“无代码生成”

将带有德语翻译的字符串添加到新资源文件中

编译,当语言或线程 UI 文化发生变化时,它应该使用语言资源文件中的正确值。

我的快速小测试运行良好并根据需要切换。

于 2008-12-11T03:54:10.713 回答
2

您可以使用卫星资源 DLL(注意:我只在 C++ 中使用过它们)。
这是一个系统,您可以在其中为您想要支持的每种语言提供不同的资源 DLL。应用程序内部将不再有资源(至少没有可能需要本地化的资源),因此翻译团队只需将资源 DLL 翻译成适当的语言。

于 2008-12-10T11:08:33.613 回答
1

实际上,Visual Studio 已经内置了。在您希望本地化语言的表单上,将属性 Localizable 更改为 true。

然后将 Language 属性更改为您希望为其设置资源文件的语言。在你的情况下,选择德语。

将表单上的所有文本更改为德语文本。这将为您更改语言属性的每种语言创建一个额外的 resx 文件。

完成后,您可以为另一个翻译的表单资源文件更改为另一种语言或切换回默认值。

现在,当计算机在设置为使用不同语言的机器上运行时,它将查找 resx 文件以匹配并切换所有控件以使用资源文件中提供的文本。

您还可以通过更改 CurrentThread 上的 CurrentUICulture 来测试这一点

这也是 MSDN 上的一个很好的演练:http:
//msdn.microsoft.com/en-us/library/y99d1cd3 (VS.80).aspx

于 2008-12-10T16:43:44.937 回答