一个有趣的方法是这样的。我找到了这个很好的翻译代码:
public static string TranslateText( string input, string languagePair)
{
string url = String.Format("http://www.google.com/translate_t?hl=en&ie=UTF8&text={0}&langpair={1}", input, languagePair);
HttpClient httpClient = new HttpClient();
string result = httpClient.GetStringAsync(url).Result;
result = result.Substring(result.IndexOf("<span title=\"") + "<span title=\"".Length);
result = result.Substring(result.IndexOf(">") + 1);
result = result.Substring(0, result.IndexOf("</span>"));
return result.Trim();
}
在这个回答中,你可以像这样使用它:
bool output;
Boolean.TryParse(TranslateText("wahr", "de|en"), out output);
Console.WriteLine($"German Output: {output}");
Boolean.TryParse(TranslateText("verdadero", "esp|en"), out output);
Console.WriteLine($"Spanish Output: {output}");
Boolean.TryParse(TranslateText("falso", "it|en"), out output);
Console.WriteLine($"Italian Output: {output}");
它会给你以下输出结果:
德语输出:真
西班牙语输出:真
意大利语输出:假
这更像是一种嬉戏的方式。 ;)
编辑:
为此,您还可以使用
System.Globalization.CultureInfo.CurrentCulture
。
Boolean.TryParse(TranslateText("wahr", System.Globalization.CultureInfo.CurrentCulture + "|en"), out output);
Console.WriteLine($"{System.Globalization.CultureInfo.CurrentCulture} Output: {output}");
Boolean.TryParse(TranslateText("falsch", System.Globalization.CultureInfo.CurrentCulture + "|en"), out output);
Console.WriteLine($"{System.Globalization.CultureInfo.CurrentCulture} Output: {output}");
它实际上是有效的!输出:
德语(德国)输出:True
德语(德国)输出:False
Boolean.TrueString
和Boolean.FalseString
。你需要一个假设的Parse()
方法来接受本地化字符串值吗?你必须自己编写它... - Adriano Repetti