亚马逊AWS官方博客
Amazon Translate 支持新语言:希腊语、匈牙利语、罗马尼亚语、泰国语、乌克兰语、乌尔都语和越南语
技术宣传官出差的时间很多,在演示 Amazon Translate 时客户提出最多的问题是:“是否支持我的母语?”。今天我很高兴地宣布,如果您的语言是希腊语、匈牙利语、罗马尼亚语、泰国语、乌克兰语、乌尔都语和越南语,我们的回答将是“支持”。事实上,使用 Amazon Translate,我们甚至可以用优雅的方言来说“ναί”、“igen”、“da”、“ใช่”、“так”、“جی ہاں”和 “có”… !
增加这些语言后,Amazon Translate 现已支持 32 种语言:阿拉伯语、中文(简体)、中文(繁体)、捷克语、丹麦语、荷兰语、英语、芬兰语、法语、德语、希腊语、希伯来语、印地语、匈牙利语、印度尼西亚语、意大利语、日本语、韩语、马来语、挪威语、波斯语、波兰语、葡萄牙语、罗马尼亚语、俄罗斯语、西班牙语、瑞典语、泰国语、土耳其语、乌克兰语、乌尔都语和越南语。
在这些语言之间,我们的服务共支持 987 个翻译组合:有关支持的语言对的完整列表请访问此文档页面。
Amazon Translate 的使用
Amazon Translate 的使用极为简单。让我们在 AWS 控制台中快速测试以下我非常喜欢的一首诗:
开发人员当然更喜欢调用 TranslateText API。下面是一个使用 AWS CLI 的示例。
$ aws translate translate-text --source-language-code auto --target-language-code hu --text "Les sanglots longs des violons de l’automne blessent mon coeur d’une langueur monotone"
{
"TranslatedText": "Az őszi hegedű hosszú zokogása monoton bágyadtsággal fáj a szívem",
"SourceLanguageCode": "fr",
"TargetLanguageCode": "hu"
}
当然,此 API 也可在任何 AWS 开发工具包中调用。秉承语言多样性的精神,再来一个 C++ 的示例如何? 下面是一个翻译磁盘上存储的文本文件的简短程序。
#include <aws/core/Aws.h>
#include <aws/core/utils/Outcome.h>
#include <aws/translate/TranslateClient.h>
#include <aws/translate/model/TranslateTextRequest.h>
#include <aws/translate/model/TranslateTextResult.h>
#include <fstream>
#include <iostream>
#include <string>
# define MAX_LINE_LENGTH 5000
int main(int argc, char **argv) {
if (argc != 4) {
std::cout << "Usage: translate_text_file 'target language code' 'input file' 'output file'"
<< std::endl;
return -1;
}
const Aws::String target_language = argv[1];
const std::string input_file = argv[2];
const std::string output_file = argv[3];
std::ifstream fin(input_file.c_str(), std::ios::in);
if (!fin.good()) {
std::cerr << "Input file is invalid." << std::endl;
return -1;
}
std::ofstream fout(output_file.c_str(), std::ios::out);
if (!fout.good()) {
std::cerr << "Output file is invalid." << std::endl;
return -1;
}
Aws::SDKOptions options;
Aws::InitAPI(options);
{
Aws::Translate::TranslateClient translate_client;
Aws::Translate::Model::TranslateTextRequest request;
request = request.WithSourceLanguageCode("auto").WithTargetLanguageCode(target_language);
Aws::String line;
while (getline(fin, line)) {
if (line.empty()) {
continue;
}
if (line.length() > MAX_LINE_LENGTH) {
std::cerr << "Line is too long." << std::endl;
break;
}
request.SetText(line);
auto outcome = translate_client.TranslateText(request);
if (outcome.IsSuccess()) {
auto translation = outcome.GetResult().GetTranslatedText();
fout << translation << std::endl;
} else {
std::cout << "TranslateText error: " << outcome.GetError().GetExceptionName()
<< " - " << outcome.GetError().GetMessage() << std::endl;
break;
}
}
}
Aws::ShutdownAPI(options);
}
代码构建完成后,让我们将这首完整的诗翻译为泰国语:
$ translate_text_file th verlaine.txt verlaine-th.txt
$ cat verlaine-th.txt
“เสียงสะอื้นยาวของไวโอลินฤดูใบไม้ร่วงทำร้ายหัวใจของฉันด้วยความอ่อนเพลียที่น่าเบื่อ ทั้งหมดหายใจไม่ออกและซีดเมื่อชั่วโมงดังผมจำได้ว่าวันเก่าและร้องไห้ และฉันไปที่ลมเลวร้ายที่พาฉันออกไปจากที่นี่ไกลกว่าเช่นใบไม้ที่ตายแล้ว” - Paul Verlaine บทกวีของดาวเสาร์
您可以看到,在您自己的应用程序中集成 Amazon Translate 也极为简单。一个 API 即可搞定!
现已推出!
从现在开始,在提供 Amazon Translate 服务的所有区域都可使用这些新的语言。从您首次请求翻译开始,免费套餐在前 12 个月每月为您提供 200 万个字符的翻译。
我们期待您的反馈! 请将反馈发布到 AWS 论坛的 Amazon Translate 版块,或者将其发送给您常用的 AWS Support 联系人。
– Julien;