前言

通常网站内容翻译,我们都不推荐使用 Google Translate。但网站中一些不那么重要的内容确实可以用 Google Translate。比如 Customer Reviews。

这篇是续

Google Maps Embed API & JavaScript API

Google – Reviews

YouTube Data API

又一篇关于 Google Cloud API 的教程。请大家先看完上面几篇,因为教过的内容我是不重复的。

参考

Docs – Cloud Translation

v2 basic 和 v3 advanced 版本

Google Translate API 有两个版本。v2 是旧的,v3 是新的。

我估计 v2 会被完全淘汰掉,所以这篇只会教 v3 而已。

2 个点要说一下:

第一、v2 和 v3 的 API 接口完全不同。

第二、v2 只需要 API Keys 就可以使用了,v3 却一定要 OAuth 才能使用。

Setup

和 Google Reviews、YouTube Data API 类似。

1. Google Cloud Account(要绑定信用卡哦)

2. Google Cloud Project

3. Enable Cloud Translation API

4. OAuth(App, Client id, Client secret),不需要 API Keys 哦。

5. Login by Google Account with scopes:

https://www.googleapis.com/auth/cloud-platform

https://www.googleapis.com/auth/cloud-translation

Detect Langauge by Http Request

var accessToken = "access token";
var cloudProjectId = "project id";
var chineseText = "风萧萧兮易水寒,壮士一去兮不复还"; var httpRequestMessage = new HttpRequestMessage
{
Method = HttpMethod.Post,
Headers = {
{ "Accept", "application/json; charset=utf-8" },
{ "Authorization", $"Bearer {accessToken}" }
},
Content = JsonContent.Create(new
{
content = chineseText,
}),
RequestUri = new Uri($"https://translation.googleapis.com/v3/projects/{cloudProjectId}/locations/global:detectLanguage")
}; var httpClient = httpClientFactory.CreateClient();
var response = await httpClient.SendAsync(httpRequestMessage);
var json = await response.Content.ReadAsStringAsync();
var jObject = JsonSerializer.Deserialize<JsonObject>(json)!;
var languageCode = jObject["languages"]![0]!["languageCode"]!.GetValue<string>(); // zh-CN
var confidence = jObject["languages"]![0]!["confidence"]!.GetValue<decimal>(); // 1

1. 要先有 access token 哦.

2. 中文是 zh-CN、zh-TW(ISO-639),不是 zh-Hans、zh-Hant (ISO 15924)哦,完整的 language code 看这篇

3. 如果中英文混搭,测出来会不太准确。

4. confidence 是准确性,0-1 之间。1 表示 100% 测出语言。

Translate Language by Http Request

var accessToken = "access token";
var cloudProjectId = "project id";
var chineseText = "风萧萧兮易水寒,壮士一去兮不复还"; var httpRequestMessage = new HttpRequestMessage
{
Method = HttpMethod.Post,
Headers = {
{ "Accept", "application/json; charset=utf-8" },
{ "Authorization", $"Bearer {accessToken}" }
},
Content = JsonContent.Create(new
{
sourceLanguageCode = "zh-CN", // optional 不放也可以,不过它 detect langauge 另外收钱,所以如果知道最好还是放
targetLanguageCode = "en",
contents = new[] { chineseText }
}),
RequestUri = new Uri($"https://translation.googleapis.com/v3/projects/{cloudProjectId}:translateText")
}; var httpClient = httpClientFactory.CreateClient();
var response = await httpClient.SendAsync(httpRequestMessage);
var json = await response.Content.ReadAsStringAsync();
var jObject = JsonSerializer.Deserialize<JsonObject>(json)!;
var englishText = jObject["translations"]![0]!["translatedText"]!.GetValue<string>();
// The wind is rustling and the water is cold. Once the strong man is gone, he will never return.

1. sourceLanguageCode 不是必须的,它自己可以 detect language。

Google – Cloud Translation API的更多相关文章

  1. 通过google cloud API 使用 WaveNet

    Cloud Text-to-Speech 中使用了WaveNet,用于TTS,页面上有Demo.目前是BETA版 使用方法 注册及认证参考:Quickstart: Text-to-Speech 安装g ...

  2. [Google Translation API v2 for Java]

    Reference:https://cloud.google.com/translate/docs/reference/libraries#java-resources QuickstartSampl ...

  3. Getting Started(Google Cloud Storage Client Library)

    在运行下面的步骤之前,请确保: 1.你的项目已经激活了Google Cloud Storage和App Engine,包括已经创建了至少一个Cloud Storage bucket. 2.你已经下载了 ...

  4. Activating Google Cloud Storage

    先决条件 你需要下面的内容: 1.一个Google账户,比如来自Gmail.如果你没有,请在Google account signup site注册. 2.一个新的或已经存在的Google Devel ...

  5. Downloading the Google Cloud Storage Client Library

    Google Cloud Storage client是一个客户端库,与任何一个生产环境使用的App Engine版本都相互独立.如果你想使用App Engine Development server ...

  6. Java Client for Google Cloud Storage

    关于Google Cloud Storage Google Cloud Storage有益于大文件的存储与服务(serve).此外,Cloud Storage提供了对访问控制列表(ACLs)的使用,提 ...

  7. 使用GCM服务(Google Cloud Messaging)实现Android消息推送

    最近在网上查了关于很多Android消息推送的资料,其中主要有四种方法. 1) 使用GCM服务(Google Cloud Messaging) 2) 使用XMPP协议(Openfire + Spark ...

  8. 使用Google Cloud Platform构建机器学习项目-宠物识别

    宠物识别我们使用到了tensorflow object-detection API  (https://github.com/tensorflow/models/tree/master/researc ...

  9. [Xamarin.Android] 結合Windows Azure與Google cloud message 來實現Push Notification (转帖)

    這一篇要討論如何使用Xamarin.Android 整合GCM以及Windows Azure來實作Android手機上的推播通知服務. 這篇文章比較著重概念的部分,在開始讀這篇之前,也可以先參考一下X ...

  10. Google Cloud Platform 续

    Google Cloud Platform 创建新实例 地区:australia-southeast1-a 机器类型:1个vCPU n1-standard-1 系统:Ubuntu 16.04 LTS ...

随机推荐

  1. Mybatis-Plus最优化持久层开发

    Mybatis-plus:最优化持久层开发 一:Mybatis-plus快速入门: 1.1:简介: Mybatis-plus(简称MP)是一个Mybatis的增强工具,在mybatis的基础上只做增强 ...

  2. 全网最适合入门的面向对象编程教程:11 类和对象的Python实现-子类调用父类方法-模拟串口传感器和主机

    全网最适合入门的面向对象编程教程:11 类和对象的 Python 实现-子类调用父类方法-模拟串口传感器和主机 摘要: 本节课,我们主要讲解了在 Python 类的继承中子类如何进行初始化.调用父类的 ...

  3. 全网最适合入门的面向对象编程教程:08 类和对象的Python实现-@property装饰器:把方法包装成属性

    全网最适合入门的面向对象编程教程:08 类和对象的 Python 实现-@property 装饰器:把方法包装成属性 摘要: 本文主要对@property 装饰器的基本定义.使用场景和使用方法进行了介 ...

  4. 第二章 编译FFmpeg并开启H.264编码

    目录 前言 1. 下载x264 2. 编译x264 3. 编译FFmpeg 3.1 可能出现的问题和解决方法 3.1.1 ERROR: x264 not found using pkg-config ...

  5. LRZ

    1.在平面直角坐标系中,已知点 \(A(-2,2).B(3,4).C(0,1)\),直线 \(y=kx+b\) 过点 \(C\) 且与线段 \(AB\) 有交点,则 \(k\) 的取值范围是_____ ...

  6. 备份服务器eBackup

    目录 软件包方式安装eBackup备份软件   1.前景提要   2.创建虚拟机   3.安装备份软件.   4.安装 eBackup 补丁   5.配置 eBackup 服务器   6.访问web界 ...

  7. Jmeter函数助手16-StringFromFile

    StringFromFile函数用于获取文本文件的值,一次读取一行,可读取多个文件. 输入文件的全路径:填入文件路径 存储结果的变量名(可选) Start file sequence number ( ...

  8. 【RabbitMQ】05 通配符模式

    需要设定交换机模式为通配符模式 Topic 在绑定规则上采用通配描述实现动态绑定 创建通配符模式的生产者 package cn.dzz.topicQueue; import com.rabbitmq. ...

  9. 【Java-GUI】09 Swing03 对话框

    消息弹出框案例: package cn.dzz.swing; import javax.swing.*; import java.awt.*; import java.awt.event.Action ...

  10. wandb原来是可以网络直连的,国内可以无障碍使用

    一直不是很常使用神经网络训练可视化的工具,包括:tensorboard,等等,wandb平时也是直接就忽略,不过最近无意间看了看这个效果,感觉还是不错的,于是尝试了一下. 网上很多人说这个工具服务器在 ...