我有一个应用程序,我需要在该应用程序中使用两种语言。 例如:
- 英语
- 阿拉伯语
但我不知道我该怎么做。任何人都可以帮助我吗?
我需要一些 C# Windows Forms
中的示例。
最佳答案
使用表单的 Localizable
和 Language
属性
Form
类有 Localizable
和 Language
属性。如果将 Localizable
属性设置为 true,则可以将控件添加到默认语言的表单并设置默认语言的属性。然后您可以选择其他语言并更改这些语言的属性。这样,值或可本地化的属性将针对不同的文化存储在单独的资源文件中。
注意:如果属性用 [Localizable(true)]
修饰,则该属性被认为是可本地化的属性。例如BackColor
属性不可本地化,但 Text
属性是可本地化的。
使用 Resx 资源文件本地化消息和图像
该项目在 Properties
文件夹下有一个 Rseources.Resx
文件,您可以使用它来本地化图像和消息。您也可以将 .resx 资源文件添加到项目中。例如,您可以创建一个 Strings.resx
文件并向其中添加一些字符串键和值,然后将其复制为 strings.en.resx
和 strings.fa .resx
并编辑这些语言的值。然后你可以使用这些资源值,例如:
MessageBox.Show(Properties.Resources.AreYouSure);
将使用当前 UI 区域性语言显示 Resources.Resx
文件中的 AreYouSure
的值。
如果找不到文化的资源 key 或资源文件的指定文化,将使用 Resx
文件的中性文化中的 key 值。
在运行时更改语言
您可以使用以下方法将应用程序的文化设置为波斯语
:
System.Threading.Thread.CurrentThread.CurrentCulture =
System.Globalization.CultureInfo.GetCultureInfo("fa");
System.Threading.Thread.CurrentThread.CurrentUICulture =
System.Globalization.CultureInfo.GetCultureInfo("fa");
您应该将上述代码放在应用程序的开头或显示表单之前。
更多信息
更多信息和示例:
关于c# - 如何在 Winforms 中制作多语言应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32989100/