首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谷歌翻译V2

谷歌翻译V2
EN

Stack Overflow用户
提问于 2021-02-09 06:44:05
回答 1查看 87关注 0票数 0

我使用谷歌翻译已经有几年了,效果非常好。现在,谷歌已经弃用了我的版本,现在采用了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个人都有同样的问题。啊!

想法?

EN

回答 1

Stack Overflow用户

发布于 2021-02-10 04:59:01

好了,我已经弄清楚了这一点,虽然所有的说明都在黑板上,但过程并不是这样。

这是为C#准备的。

您需要在谷歌上拥有一个启用Google.Cloud.Translation.V2的帐户。启用后,您将需要一个json凭证文件。下载并保存。这些说明展示了如何使用Package Manager控制台来允许它们工作。

在translate类中,添加以下内容:

代码语言:javascript
复制
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

然后是这个(编码可以是你需要的任何东西):

代码语言:javascript
复制
//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));
}

结果:سعيدالترجمة

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66110451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档