我如何在我的wpf项目中支持库尔德语言? 我创建了不同的文化(本地化)资源文件C#库尔德语言本地化
French -> fr
English -> en
Arabic -> ar
.
.
.
Kurdish -> ???
如果窗户剂量不支持这种语言,我该如何使用CultureAndRegionInfoBuilder类添加这种文化? 有没有其他的方法?
我如何在我的wpf项目中支持库尔德语言? 我创建了不同的文化(本地化)资源文件C#库尔德语言本地化
French -> fr
English -> en
Arabic -> ar
.
.
.
Kurdish -> ???
如果窗户剂量不支持这种语言,我该如何使用CultureAndRegionInfoBuilder类添加这种文化? 有没有其他的方法?
区阿
所有支持的代码here
此代码演示了如何使用CultureAndRegionInfoBuilder库尔德本地化增加系统的文化类型。请注意,代码注册文化UserCustomCulture存储。此代码仅适用于Windows 7或更低版本。在Windows 10不能正常工作(我认为也是Windows 8)。在Windows 10中已经有库尔德文化库阿拉伯了。
class Program
{
static void Main(string[] args)
{
BuildCulture();
}
public static void BuildCulture()
{
if(cultureExist())
CultureAndRegionInfoBuilder.Unregister("ku-KU");
Console.WriteLine("Create the CultureAndRegionInfoBuilder...");
var cib = new CultureAndRegionInfoBuilder("ku-KU", CultureAndRegionModifiers.None);
cib.CultureEnglishName = "Kurdish (Kurdistan)";
cib.RegionEnglishName = "Kurdistan";
cib.CultureNativeName = "ßæÑÏí";
var cia = new CultureInfo("ar-IQ");
cib.NumberFormat = cia.NumberFormat;
cib.GregorianDateTimeFormat = cia.DateTimeFormat;
cib.TextInfo = cia.TextInfo;
cib.CompareInfo = cia.CompareInfo;
cib.KeyboardLayoutId = cia.KeyboardLayoutId;
cib.RegionNativeName = "ßæÑÏÓÊÇä";
cib.ThreeLetterISOLanguageName = "kur";
cib.ThreeLetterISORegionName = "kur";
cib.TwoLetterISORegionName = "ku";
cib.ThreeLetterWindowsRegionName = "kur";
cib.ISOCurrencySymbol = "USD";
cib.CurrencyNativeName = "Dinary Kurdi";
cib.CurrencyEnglishName = "Kurdish Dinar";
var cinull = new CultureInfo("");
cib.Parent = cinull;
cib.ThreeLetterWindowsLanguageName = "kur";
cib.TwoLetterISOLanguageName = "ku";
cib.IetfLanguageTag = "kurdisk";
cib.Register();
cib.Save(@"C:\temp\kurdish.xml"); //Save created culture to XML document
Console.WriteLine("Create and explore the custom culture...");
var ci = new CultureInfo("ku-KU");
Console.WriteLine("Name: . . . . . . . . . . . . . {0}", ci.Name);
Console.WriteLine("EnglishName:. . . . . . . . . . {0}", ci.EnglishName);
Console.WriteLine("NativeName: . . . . . . . . . . {0}", ci.NativeName);
Console.WriteLine("TwoLetterISOLanguageName: . . . {0}", ci.TwoLetterISOLanguageName);
Console.WriteLine("ThreeLetterISOLanguageName: . . {0}", ci.ThreeLetterISOLanguageName);
Console.WriteLine("ThreeLetterWindowsLanguageName: {0}", ci.ThreeLetterWindowsLanguageName);
Console.Read();
}
//Register culture from XML file
private void cmdCreateCultureFromXML()
{
if(cultureExist())
CultureAndRegionInfoBuilder.Unregister("ku-KU");
CultureAndRegionInfoBuilder cib = CultureAndRegionInfoBuilder.CreateFromLdml(@"C:\temp\kurdish.xml");
cib.Register();
}
private static bool cultureExist()
{
var cultures = CultureInfo.GetCultures(CultureTypes.UserCustomCulture);
return cultures.Where(s => s.Name == "ku-KU").Any();
}
}
你是什么意思? –
你在这个答案中包含的代码的目的是什么,***没有***解释呢?哪个BTW通常被认为是“低质量答案”。所以请添加一些关于这段代码应该做什么的解释,以及它如何回答实际问题。祝你好运! –
我认为'ßæÑÏí'是一种文化的不好名字...... – Joey
我有消息 **文化不被支持。 参数名称:名称 ku-Arab是一个无效的文化标识符** 当我编写'CultureInfo.GetCultureInfo(“ku-Arab”)' –
@AmjadSham:尝试'ku'首先,也许。此外,受支持文化的列表可能会根据您的操作系统的年龄而变化。在我的Windows 10上,我有库尔德(中央库尔德),库阿拉(中央库尔德语(阿拉伯语)),库拉阿拉伯智商(中央库尔德人(伊拉克))和库拉阿拉伯国家联盟(库尔德人(Perso-Arabic,伊朗))。现在,在一个古老的Windows版本上尝试相同的可能会失去其中的一些。 – Joey
指向受支持列表的链接是指Bing Maps REST API。我以某种方式怀疑WPF的相关性...... – Joey