繁体   English   中英

如何从给定的语言名称中获取语言文化?

[英]How to get language culture from given language name?

我从用户那里获取源语言和目标语言作为输入,我想生成这些输入的文化,如下使用.Net 库;

例如,用户从两个组合框中选择“English”和“Turkish”。 然后我想从“英语”和土耳其语中生成“En”和“Tr”。 我想为所有可能的语言实现这一点,这样做的正确方法是什么?

我将在我的请求中使用这些文化来翻译文本,而不是这个;

string url = String.Format("https://translate.googleapis.com/translate_a/single?client=gtx&sl={0}&tl={1}&dt=t&q={2}",
       "En", "Tr", Uri.EscapeUriString(input));

我想用这个;

string url = String.Format("https://translate.googleapis.com/translate_a/single?client=gtx&sl={0}&tl={1}&dt=t&q={2}",
       sourceLanguage, targetLanguage, Uri.EscapeUriString(input));

我不想使用字典,因为我需要为每种语言手动输入所有信息,我想用 CultureInfo class 来做,但我还没弄清楚该怎么做。

使用System.Globalization

添加 using 语句: using System.Globalization;

CultureInfo[] cultures = CultureInfo.GetCultures(CultureTypes.AllCultures);

foreach (CultureInfo ci in cultures)
{
    string output = String.Format("Name: {0} DisplayName: {1} 2-Letter Name: {2} 3-Letter Name: {3}", ci.Name, ci.DisplayName, ci.TwoLetterISOLanguageName, ci.ThreeLetterISOLanguageName);
    System.Diagnostics.Debug.WriteLine(output);
}

注意:您想要的数据在属性TwoLetterISOLanguageName中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM