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 ...
随机推荐
- LAMP与LNMP架构的区别
我们就来说说ApacheApache是世界上用排名第一的Web服务器软件,其几乎可以在所有广泛使用的计算机平台上运行,由于其跨平台和安全性被广泛使用,是最流行的Web服务端软件之一.相比于nginx, ...
- CF1929B Sasha and the Drawing 题解
CF1929B 题意 给定一个 \(n\times n\) 的正方形,已知正方形最多有 \(4\times n-2\) 条对角线,要求要有至少 \(k\) 条对角线经过至少一块黑色方格,求至少要将几条 ...
- Nuxt.js 环境变量配置与使用
title: Nuxt.js 环境变量配置与使用 date: 2024/7/25 updated: 2024/7/25 author: cmdragon excerpt: 摘要:"该文探讨了 ...
- python学习总结(重要!!!)
前取,后不取 index从0开始 list = [1,2,3,4,5,6,7,8,9]print(list[3:7]) #输出:[4, 5, 6, 7]print(list[3:-2]) ...
- windows环境xampp搭建php电商项目/搭建禅道
windows环境xampp搭建php论坛/电商项目 一,首先下载xampp https://www.apachefriends.org/zh_cn/index.html 下载之后解压到E盘或者F盘的 ...
- 记一次eclipse导入的JavaEE项目无法连接数据库的排查
1.问题描述 Eclipse导入了一个JavaEE项目 在虚拟机环境中新建了一个数据库 数据库可以使用本地客户端工具正常连接 导入的JavaEE项目修改了数据源配置后无法启动 相同的数据源配置通过在I ...
- 【Python】GUI开发笔记
一.环境搭建: 1.Pycharm开发工具 pycharm历史版本 https://www.jetbrains.com/pycharm/download/other.html 破解插件 https:/ ...
- DirectX9(D3D9)游戏开发:高光时刻录制和共享纹理的踩坑
共享纹理 老游戏使用directx9无法直接与cc高光sdk(d3d11)对接,但是d3d9ex有共享纹理,我们通过共享纹理把游戏画面共享给cc录制,记录一些踩坑的笔记. 共享纹理示例: // 初始化 ...
- 使用GPU计算时,单精度float32类型和半精度float16类型运算效率的区别
最近在看资料时发现写着使用float16 半精度类型的数据计算速度要比float32的单精度类型数据计算要快,因为以前没有考虑过数据类型对计算速度的影响,只知道这个会影响最终的计算结果精度.于是,好奇 ...
- baselines算法库的安装——Ubuntu20.04系统使用anaconda环境配置
baselines算法库不做过多介绍,个人认为这是公开是所有reinforcement learning算法库中最权威的,虽然没有后期更新,也就是没有了学术界的state of the art , ...