2008-12-10 70 views
3

我想在VS2008中本地化桌面应用程序(C#)。Visual Studio 2008中的本地化

我已经掌握了本地化多种语言的表单,我也有一个项目资源文件的一般字符串,但我无法想出如何创建此文件的多种语言版本!

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

后果似乎是,如果我想生成一个德语版本的应用程序,我必须编辑常规资源文件(Properties/Resources.resx),构建和部署应用程序,然后重新编辑一般资源文件恢复为英文。

每次我想制作一个新的德语版本时,我都必须这样做。与用于定位表单的工具相比,这看起来非常笨重,我相信VS2008中有更好的方法。有谁知道它是什么?

回答

2

你可以使用Satellite Resource DLLs(注:我只用它们在C++中)。
这是一个系统,您可以为要支持的每种语言拥有不同的资源DLL。应用程序内部没有更多的资源(至少没有可能需要本地化的资源),所以翻译团队只需要将资源DLL翻译成适当的语言。

1

实际上Visual Studio有这个内置的。 在你的表单上你希望本地化一种语言,把属性Localizable改为true。

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

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

一旦你完成你可以改变到另一种语言的另一个翻译的形式资源文件或切换回默认。

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

您也可以通过更改CurrentThread

中的CurrentUICulture测试这这里是一个不错的步行通过MSDN上还有:
http://msdn.microsoft.com/en-us/library/y99d1cd3(VS.80).aspx

3

你说得对,我误解了问题。

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

选择“资源文件”,它Resource.de-DE.resx

一旦它创造了你可以将它的属性文件夹

名称。

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

与德文翻译加入你的字符串到新的资源文件

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

我的快速小测试工作正常,并根据需要切换。