1、字符长度限制5000;

接口描述

通用版本接口

TranslateGeneralRequest generalRequest = new TranslateGeneralRequest();
generalRequest.setMethod(MethodType.POST); // 设置请求方式,POST
generalRequest.setFormatType("text");  //翻译文本的格式
generalRequest.setSourceLanguage("zh");  //源语言
generalRequest.setSourceText(URLEncoder.encode("你好","UTF-8"));  //原文
generalRequest.setTargetLanguage("en");  //目标语言

电商版本接口

TranslateECommerceRequest eCommerceRequest = new TranslateECommerceRequest();
eCommerceRequest.setScene("title");
eCommerceRequest.setMethod(MethodType.POST); // 设置请求方式,POST
eCommerceRequest.setFormatType("text");  //翻译文本的格式
eCommerceRequest.setSourceLanguage("zh");  //源语言
eCommerceRequest.setSourceText(URLEncoder.encode("你好","UTF-8"));  //原文
eCommerceRequest.setTargetLanguage("en");  //目标语言

参数说明

参数名 参数值
method 请求类型,POST,选择MethodType.POST
formatType 翻译文本的格式,html( 网页格式。设置此参数将对待翻译文本以及翻译后文本按照html格式进行处理)、text(文本格式。设置此参数将对传入待翻译文本以及翻译后结果不做文本格式处理,统一按纯文本格式处理。
sourceText 需要翻译文本串注意:1、请先将需要翻译的文本转换为UTF-8编码,2、在发送HTTP请求之前需要对文本做 URLEncoder 3、长度限制5000字符
sourceLanguage 翻译原文语言,具体取值参见下方语言列表
targetLanguage 翻译目标语言,具体取值参见下方语言列表
scene 场景,电商版本需要设置该字段,取值有三个可选,商品标题:title,商品描述:description,商品沟通:communication,通用版本可选值有两个,通用:general,医疗:medical,默认是:general
region 地区region信息,目前只有杭州地区,cn-hangzhou

注意事项

2、用户调用接口QPS限制50

如果需要更多的字符,更大的QPS请与我们联系

场景(scene)

API 版本 scene 场景 是否必须 是否默认
电商版本 title 商品标题
电商版本 description 商品描述
电商版本 communication 商品沟通
通用版本 general 通用
通用版本 medical 医疗

Region 可用地区

地域 regionId product endoption
杭州 cn-hangzhou alimt mt.cn-hangzhou.aliyuncs.com

返回结果

{
  "code": 200,
  "data": {
    "translated": "书籍"
  }
}

如果翻译失败返回如下

{
  "code": 10005,
  "message": "translate from source to target not support"
}

翻译支持的语言列表:

通用版

版本 语项 说明
通用标准版 en 英文
通用标准版 zh 简体中文
通用标准版 auto 自动识别原文语种

电商版

版本 语项 说明
电商标准版 en 英文
电商标准版 zh 简体中文
电商标准版 zh-tw 繁体中文
电商标准版 ru 俄语
电商标准版 pt 葡萄牙语
电商标准版 es 西班牙语
电商标准版 fr 法语
电商标准版 tr 土耳其语
电商标准版 ar 阿拉伯语
电商标准版 pl 波兰语
电商标准版 it 意大利语
电商标准版 de 德语
电商标准版 th 泰语
电商标准版 vi 越南语
电商标准版 id 印尼语
电商标准版 ms 马来语
电商标准版 ja 日语
电商标准版 ko 韩语
电商标准版 auto 自动识别原文语种

错误码列表

错误码 含义 解决方法
10001 请求超时 可重试
10002 系统错误 可重试
10003 译文URL decode失败 确认是否是UTF-8编码,并且URL encode正确
10004 参数缺失 检查入参
10005 译文翻译语言方向不支持 检查译文是否在支持的语言对里面
10006 语种识别失败 确认传入的待识别文本是否正确
10007 翻译失败 确认译文是否是正确的文字
10008 字符长度过长 确认翻译原文字符长度,可以分多次调用,长度限制5000字符
10009 子账号没有权限 请让主账号给子账号授权
10010 账号没有开通服务 请开通机器翻译产品后在使用
10011 子账号服务失败 联系客服解决
10012 翻译服务调用失败 联系客服解决
10013 账号服务没有开通或者欠费 请开通服务或者交清欠费
19999 未知错误 联系客服解决

## 主账号给子账号授权

授权配置

MyAlimtFullAccess
{
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "alimt:*",
            "Resource": "*"
        }
    ],
    "Version": "1"
}

新建授权 选择授权用户 选择权限

下载安装

可从maven 服务器下载最新版本SDK:

       <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
            <version>4.3.2</version>
        </dependency>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-alimt</artifactId>
            <version>1.0.3</version>
        </dependency>

JAVA 代码示例

    public static void main(String[] args) {
        // 创建DefaultAcsClient实例并初始化
        try {
            DefaultProfile profile = DefaultProfile.getProfile(
                    "cn-hangzhou",          // 地域ID
                    accessKeyId,      // 阿里云账号的AccessKey ID
                    accessKeySecret); // 阿里云账号Access Key Secret
            IAcsClient client = new DefaultAcsClient(profile);
            // 创建API请求并设置参数
            TranslateECommerceRequest request = new TranslateECommerceRequest();
			eCommerceRequest.setScene("title");  //设置场景
            request.setMethod(MethodType.POST); // 设置请求方式,POST
            request.setFormatType("text");  //翻译文本的格式
            request.setSourceLanguage("en");  //源语言
            request.setSourceText(URLEncoder.encode("book","UTF-8"));  //原文
            request.setTargetLanguage("zh");  //目标语言
            TranslateECommerceResponse response = client.getAcsResponse(request);
            System.out.println(JSONObject.toJSON(response));
        } catch (Exception e) {
            e.printStackTrace();
        }

    }