Google – Cloud Translation API
前言
通常网站内容翻译,我们都不推荐使用 Google Translate。但网站中一些不那么重要的内容确实可以用 Google Translate。比如 Customer Reviews。
这篇是续
Google Maps Embed API & JavaScript API
又一篇关于 Google Cloud API 的教程。请大家先看完上面几篇,因为教过的内容我是不重复的。
参考
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的更多相关文章
- 通过google cloud API 使用 WaveNet
Cloud Text-to-Speech 中使用了WaveNet,用于TTS,页面上有Demo.目前是BETA版 使用方法 注册及认证参考:Quickstart: Text-to-Speech 安装g ...
- [Google Translation API v2 for Java]
Reference:https://cloud.google.com/translate/docs/reference/libraries#java-resources QuickstartSampl ...
- Getting Started(Google Cloud Storage Client Library)
在运行下面的步骤之前,请确保: 1.你的项目已经激活了Google Cloud Storage和App Engine,包括已经创建了至少一个Cloud Storage bucket. 2.你已经下载了 ...
- Activating Google Cloud Storage
先决条件 你需要下面的内容: 1.一个Google账户,比如来自Gmail.如果你没有,请在Google account signup site注册. 2.一个新的或已经存在的Google Devel ...
- Downloading the Google Cloud Storage Client Library
Google Cloud Storage client是一个客户端库,与任何一个生产环境使用的App Engine版本都相互独立.如果你想使用App Engine Development server ...
- Java Client for Google Cloud Storage
关于Google Cloud Storage Google Cloud Storage有益于大文件的存储与服务(serve).此外,Cloud Storage提供了对访问控制列表(ACLs)的使用,提 ...
- 使用GCM服务(Google Cloud Messaging)实现Android消息推送
最近在网上查了关于很多Android消息推送的资料,其中主要有四种方法. 1) 使用GCM服务(Google Cloud Messaging) 2) 使用XMPP协议(Openfire + Spark ...
- 使用Google Cloud Platform构建机器学习项目-宠物识别
宠物识别我们使用到了tensorflow object-detection API (https://github.com/tensorflow/models/tree/master/researc ...
- [Xamarin.Android] 結合Windows Azure與Google cloud message 來實現Push Notification (转帖)
這一篇要討論如何使用Xamarin.Android 整合GCM以及Windows Azure來實作Android手機上的推播通知服務. 這篇文章比較著重概念的部分,在開始讀這篇之前,也可以先參考一下X ...
- Google Cloud Platform 续
Google Cloud Platform 创建新实例 地区:australia-southeast1-a 机器类型:1个vCPU n1-standard-1 系统:Ubuntu 16.04 LTS ...
随机推荐
- 从输入URL到页面展示到底发生了什么?--01
在浏览器中输入一个URL并按下回车键后,会发生一系列复杂且有条不紊的步骤,从请求服务器到最终页面展示在你的屏幕上.这个过程可以分为以下几个关键步骤: URL 解析 DNS 查询 TCP 连接 发送 H ...
- Django model 层之事务管理总结
Django model 层之事务管理总结 by:授客 QQ:1033553122 实践环境 Python版本:python-3.4.0.amd64 下载地址:https://www.python.o ...
- Python版RNA-seq分析教程:DEseq2差异表达基因分析
Bulk RNA-seq 分析的一个重要任务是分析差异表达基因,我们可以用 omicverse包 来完成这个任务.在omicverse中,除了最简单的ttest外,在这里,我们介绍一种类似R语言中的D ...
- Docker PHP容器安装composer
1.进入php容器docker exec -it cb6c1fe83bff(php容器ID) bash2.安装composerphp -r "copy('https://install.ph ...
- top的wa,mpstat的%iowait以及pidstat的%wait
top的wa,mpstat的%iowait以及pidstat的%wait pidstat 中, %wait 表示进程等待 CPU 的时间百分比.等待 CPU 的进程已经在 CPU 的就绪队列中,处于运 ...
- 【Zookeeper】Re03 集群搭建
我这里采用的是模拟真实情况: 部署三台虚拟机Centos7 192.168.242.101 192.168.242.102 192.168.242.103 每台机器都安装Zookeeper且一致: / ...
- 【MUI】工作总结
1.快速创建页面结构: mDoctype HTML: <!doctype html> <html lang="en"> <head> <m ...
- 【Spring Data JPA】06 全注解配置(非SpringBoot整合)
总依赖组件坐标: <properties> <spring.version>5.2.8.RELEASE</spring.version> <hibernate ...
- 强化学习:AC算法中为什么不使用Q函数来表示优势函数
强化学习中的策略梯度法(PG)不直接使用Q函数作为值函数来进行计算已经在Sutton的PG公式证明中提出,主要作用就是减少方差,因此使用优势函数进行计算.作为PG算法类中最常见的AC类算法有着较多的使 ...
- 在国产超算平台上(aarch64架构)安装pytorch-cuda失败,究其原因竟是官方未提供对应的cuda版本——pip方式和conda方式均无法获得相应cuda版本
最近在国产超算平台上安装pytorch,但是怎么弄都会报错: raise AssertionError("Torch not compiled with CUDA enabled" ...