2011-12-07 20 views
4

我有一个C#应用程序,我需要转换为支持英语和西班牙语,有没有半简单的方法来添加,并能够在以后添加其他语言?如何将C#.NET应用程序转换为支持多种语言?

+0

可能重复[是否可以在.NET资源文件中使用多种语言?](http://stackoverflow.com/questions/3010523/is-it-possible-to-use-multiple-languages -in-net-resource-files) –

+0

你甚至谷歌这个主题?检查这里:http://stackoverflow.com/questions/119568/best-practice-to-make-a-multi-language-application-in-c-winforms –

+0

我发现这个youtube与一个容易遵循示范如何使用多语言加载项https://www.youtube.com/watch?v=SNIyP1QQdVs – Prokurors

回答

8

是的!它被称为资源(.resx)文件。你所做的是:

  1. 将您的可本地化形式的Localizable属性更改为true。这将使设计人员从.resx文件中获取文本和其他属性,而不是对其进行硬编码。
  2. 用一种语言创建你的程序,比如说英语。
  3. 接下来,所有的形式改变为另一种语言,像这样:
    1. 变化的形式向其他语言的Language财产,让我们说西班牙语。
    2. 更改所有控件上的文字。设计人员将自动为该语言生成一个新的.resx文件。
    3. 在开发过程中根据需要来回切换。
  4. 发布时,进入您的Assembly Settings并更改语言。我想你也可以在代码中改变语言。

和voilà!你完成了!

+0

谢谢,这是我所需要的。简单,到点的步骤,并没有第三方工具! –

0

您将所有表单和控件标记为可本地化。这会将所有UI相关的文本(标签等)放在资源文件中。如果您需要在代码中创建字符串,则使用字符串资源文件并通过资源关键字查找字符串(例如StringResource.Get("My_Message"))。然后,您可以使用工具翻译您的所有资源。通常你会为每种语言创建一个本地化的.dll。我们使用Passolo,但还有其他工具。

0

,您可以拨打多语种的应用程序有两种方式:

  1. 通过将应用程序本地化,所以当用户更改设备的文化,如果添加此应用程序会自动切换到文化的UI语言已经在应用程序中支持的语言。 您可以通过将项目上的每个窗体的Localizable属性设置为Localizable来执行此操作,然后将UI更改为新的区域性。

  2. 通过为应用程序中的每个添加语言制作语言选项和资源文件(.resx),并根据所选语言,可以从选定语言的资源文件中加载图像或字符串。