我使用谷歌翻译已经有几年了,效果非常好。现在,谷歌已经弃用了我的版本,现在采用了Google.Cloud.Translation.V2。
Nuget Install-Package Google.Cloud.Translation.V2 -Version 2.0.0会安装,但会导致可怕的黄屏显示找不到一件又一件的东西,而且System.Net.Http版本冲突。手动编辑Web和Machine配置,等等。
此外,Google samples还引用了具有未定义名称空间的内容。我有Google credentials json文件。
我真的不想在生产环境中更改environment变量。
底线是什么?我同意成百上千的人说这是一场噩梦。
使用Nuget,通常很容易安装、引用和运行。但在这里并非如此。谷歌在这方面的入门是不必要的冗长和不可能的,至少对我来说是不可能理解的。这应该是Nuget,reference,code。
我想我大概有100个人都有同样的问题。啊!
想法?
发布于 2021-02-10 04:59:01
好了,我已经弄清楚了这一点,虽然所有的说明都在黑板上,但过程并不是这样。
这是为C#准备的。
您需要在谷歌上拥有一个启用Google.Cloud.Translation.V2的帐户。启用后,您将需要一个json凭证文件。下载并保存。这些说明展示了如何使用Package Manager控制台来允许它们工作。
在translate类中,添加以下内容:
using Google.Cloud.Translation.V2; //PM> Install-Package Google.Cloud.Translation.V2 -Version 2.0.0
using Google.Apis.Auth.OAuth2; //PM> Install-Package Google.Apis.Oauth2.v2 -Version 1.50.0.1869然后是这个(编码可以是你需要的任何东西):
//usage:
var translated = TranslateText("en", "ar", "Happy Translating");
public string TranslateText(string srclang, string destlang, string trns)
{
var utf8 = new UTF8Encoding(false);
var client = TranslationClient.Create(GoogleCredential.FromFile(path to json credentials file));
var result = client.TranslateText(
text: trns,
targetLanguage: destlang, // ar
sourceLanguage: srclang, // en
model: TranslationModel.Base);
// or model: TranslationModel.NeuralMachineTranslation);
return utf8.GetString(utf8.GetBytes(result.TranslatedText));
}结果:سعيدالترجمة
https://stackoverflow.com/questions/66110451
复制相似问题