C# 用C语言改变语言#

C# 用C语言改变语言#,c#,.net,windows,multilingual,cultureinfo,C#,.net,Windows,Multilingual,Cultureinfo,我正在Windows上用C#开发一个多语言程序 如何更改某些操作的Windows书写语言。。。 例如,在焦点活动中从英语改为阿拉伯语 谢谢 另请参见CurrentUICulture属性 要选择一个全新的区域性,请将CurrentThread.CurrentCulture设置为一个新区域性,例如,要设置为法语: System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("fr-FR"); System.Th

我正在Windows上用C#开发一个多语言程序

如何更改某些操作的Windows书写语言。。。
例如,在焦点活动中从英语改为阿拉伯语

谢谢


另请参见
CurrentUICulture
属性

要选择一个全新的区域性,请将
CurrentThread.CurrentCulture
设置为一个新区域性,例如,要设置为法语:

System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("fr-FR");
System.Threading.Thread.CurrentThread.CurrentCulture = ci;
您可以找到预定义的
CultureInfo
名称和名称的列表

如果要更改默认区域性的某些方面,可以获取当前线程的区域性,使用其名称创建新的CultureInfo实例,并通过一些更改设置线程的新区域性,例如,将当前区域性更改为使用“Euro”符号:

System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo( System.Threading.Thread.CurrentThread.CurrentCulture.Name);
ci.NumberFormat.CurrencySymbol = "€";
System.Threading.Thread.CurrentThread.CurrentCulture = ci;

此外,如果您希望在运行时刷新所有控件的资源,则需要使用以下内容:

private void RefreshResources(Control ctrl, ComponentResourceManager res)
{
    ctrl.SuspendLayout();
    res.ApplyResources(ctrl, ctrl.Name, CurrentLocale);
    foreach (Control control in ctrl.Controls)
        RefreshResources(control, res); // recursion
    ctrl.ResumeLayout(false);
}

如果您想要更好的示例检查。

这些语句对我很有帮助:

string myLanguage = "HE-IL";
InputLanguage.CurrentInputLanguage =
   InputLanguage.FromCulture(new System.Globalization.CultureInfo(myLanguage));

在加载事件中,插入以下代码:

InputLanguage.CurrentInputLanguage =
      InputLanguage.FromCulture(new System.Globalization.CultureInfo("fa-IR"));

你能说说如何获得“yournewculture”吗?这些类似的帖子可能会带来一些轻松的欢呼!对于某些情况,还需要设置System.Threading.Thread.CurrentThread.CurrentUICulture。(注意属性名称中间的“UI”)我必须在运行单元测试的同时设置UnStudio。上面的评论救了我:)这也很棒,修改第一行,可以为任何国家做
InputLanguage.CurrentInputLanguage =
      InputLanguage.FromCulture(new System.Globalization.CultureInfo("fa-IR"));