• 接入方式
  • 语言列表
  • 错误码
  • 收费标准
  • 接入方式
  • 语言列表
  • 错误码
  • 介绍
  • 资源目录说明
  • Android SDK 集成步骤
  • 常见问题及注意事项
  • 介绍
  • 语言列表
  • 硬件需求

API技术文档

图像翻译是将第三方的API接口与小牛翻译API接口进行集成封装成一个接口提供给用户使用。采用WebAPI的方式提供给开发者一个通用的HTTP接口。

收费标准

图像翻译价格=图像识别+文本翻译
由于采用第三方的图像识别接口,所以计费方式存在两个维度合并计算:
图像识别:按调用次数收费,可以在控制台购买流量包。
文本翻译:按照平台文本翻译的价格执行,可以在控制台购买流量包或者包月。

接入方式

基于HTTP协议的URL请求

请求地址

http://apis.niutrans.vip/NiuTransServerApplication/transImg

请求方式

POST

请求参数

字段名 类型 描述
from String 源语言:待翻译文本语种参数 语言列表
to String 目标语言:翻译目标语种参数 语言列表
apikey String API的密钥 可在控制台查看
transImage String 待翻译的图片文件,需要进行Base64位编码,
图片要求为PNG、JPG、JPEG,最短边至少15px,最长边最大4096px,
图片大小最大不超过2M

返回类型

json字符串

字段说明如下:

字段名 描述
from 源语言:待翻译文本语种参数 语言列表
to 目标语言:翻译目标语种参数 语言列表
apikey API的密钥 可在控制台查看
result_code 错误码
result_msg 错误码描述

成功示例

成功返回案例
1{
2  "result_code":213000,
3  "result_msg":" translate success.",
4  "from":"zh",
5  "to":"en",
6  "apikey":"8653e055bb**************6df0e33b ",
7  “src_text”:”hello”,
8  “tgt_text”:”你好”,
9}

失败示例

失败返回案例
1{
2  "result_code":213998,
3  "result_msg":"apikey is null.",
4  "from": "zh"
5  "to":"en",
6  "apikey":""
7}

语言列表

语言 参数代码
中文 zh
英文 en

错误码列表

错误码 描述
213000 翻译成功
213001 图片识别为空
213002 图片输入为空
213003 源语言或者目标语言不支持
213004 源语言与目标语言相同
213005 源语言或者目标语言输入为空
213997 系统错误
213998 apikey为空
213999 apikey错误或者没有访问权限
282000 服务器内部错误
216100 请求中包含非法参数,请检查后重新尝试
216101 缺少必须的参数,请检查参数是否有遗漏
216102 请求了不支持的服务
216103 请求中某些参数过长,请检查后重新尝试
216110 系统内部出现错误
216200 图片为空,请检查后重新尝试
216201 上传的图片格式错误,现阶段我们支持的图片格式为:PNG、JPG、JPEG、BMP,请进行转码或更换图片
216202 上传的图片大小错误,现阶段我们支持的图片大小为:Base64编码后小于2.5M,分辨率不高于4096*4096,请重新上传图片
216630 识别错误,请再次请求
216634 检测错误,请再次请求
272000 未能匹配模板,请检查参照字段的设置是否符合规范,并重新选取或增加更多的参照字段
272001 未能成功分类
282003 请求参数缺失
282004 您指定的模板暂未发布,请先保存发布该模板,再调用
282005 处理批量任务时发生部分或全部错误,请根据具体错误码排查
282006 批量任务处理数量超出限制
282809 返回结果请求错误(不属于excel或json)
282810 图像识别错误

API技术文档

语音翻译是将第三方的API接口与小牛翻译API接口进行集成封装成一个接口提供给用户使用。通过WebAPI的方式提供给开发者一个通用的HTTP接口。

收费标准

语音翻译价格=语音识别+文本翻译+语音合成
由于采用第三方的语音识别、语音合成接口,所以计费方式存在多个维度合并计算:
语音识别、语音合成:按调用次数收费,可以在控制台购买流量包。
文本翻译:按平台文本翻译的价格执行,可以在控制台购买流量包或者包月。

接入方式

基于HTTP协议的URL请求

请求地址

http://apis.niutrans.vip/NiuTransServerApplication/transAudio

请求方式

POST

请求参数

字段名 类型 描述
from String 源语言:待翻译文本语种参数 语言列表
to String 目标语言:翻译目标语种参数 语言列表
apikey String API的密钥 可在控制台查看
transAudio String 待翻译的音频文件,需要进行Base64位编码,
采样率必须是16K,文件大小不超过2M,
源文件格式为pcm,时长不超过60s
aiff int 3为mp3格式(默认); 4为pcm-16k;5为pcm-8k;
6为wav(内容同pcm-16k);
len int 原文件的字节数,单位字节

需要根据 Content-Type的头部来确定是否服务端翻译成功。

如果合成成功,返回的Content-Type以“audio”开头
如果成功翻译,则头文件会有以下内容
如果参数aiff=3 ,返回为二进制mp3文件,具体header包含:Content-Type: audio/mp3;
如果参数aiff=4 ,返回为二进制pcm文件,具体header包含:ContentType:audio/basic;codec=pcm;rate=16000;channel=1
如果参数aiff=5 ,返回为二进制pcm文件,具体header信息:Content-Type:audio/basic;codec=pcm;rate=8000;channel=1
如果参数aiff=6 ,返回为二进制wav文件,具体header包含:Content-Type: audio/wav;
如果合成出现错误,则会返回json文本,具体header包含:Content-Type: application/json。

字段说明如下:

字段名 描述
from 源语言:待翻译文本语种参数 语言列表
to 目标语言:翻译目标语种参数 语言列表
apikey API的密钥 可在控制台查看
result_code 错误码
result_msg 错误码描述

示例

异常返回案例
1{
2  "result_code":113998,
3  "result_msg":"apikey is null.",
4  "from": "zh"
5  "to":"en",
6  "apikey":""
7}

语言列表

语言 参数代码
中文 zh
英文 en

错误码列表

错误码 描述
113312 识别结果为空
113313 图像64位编码输入为空
113314 源语言或者目标语言不在支持范围内
113315 源语言与目标语言相同
113316 源语言或者目标语言为空
113300 输入参数不正确
113301 音频质量过差
113302 鉴权失败
113303 转pcm失败
113304 用户的请求QPS超限
113305 用户的日pv(日请求量)超限
113307 语音服务器后端识别出错问题
113308 音频过长
113309 音频数据问题
113310 输入的音频文件过大
113311 采样率rate参数不在选项里
113312 音频格式format参数不在选项里
113500 不支持输入
113501 输入参数不正确
113502 token验证失败
113503 合成后端错误
113997 系统错误
113998 apikey输入为空
113999 apikey输入错误或没有权限

离线SDK

介绍

小牛翻译离线SDK可将其安装在手机、翻译机、智能音箱等小型智能设备中,可以在无网络或者网络信号差的情况下,仍可提供稳定、实时、 高品质机器翻译服务。支持英语、日语、韩语、法语、西班牙语、俄语、泰语、德语、意大利语与中文间的互译,模型小巧仅占用100MB左右存储空间,单机可容纳更多语种。

资源目录说明

1、NiuTransTransformer文件夹

存放多语种模型及其相关配置文件

语种和子目录对应关系

目录名 语种方向
zh2en 中译英
en2zh 英译中
zh2ko 中译韩
ko2zh 韩译中
zh2ja 中译日
ja2zh 日译中
zh2ru 中译俄
ru2zh 俄译中
zh2th 中译泰
th2zh 泰译中
fr2zh 中译法
zh2fr 法译中
zh2it 中译意
it2zh 意译中
zh2de 中译德
de2zh 德译中

2、jniLibs文件夹

存放armeabi架构的so库,满足绝大多数安卓设备需求

3、Demo文件夹

Android SDK的测试程序工程(集成开发环境是Android Studio 2.3.3)

4、jar文件夹

存放NiuTransTransformer.jar包,是Android SDK中所需要的jar包

Android SDK 集成步骤

1、拷贝模型文件

将NiuTransTransformer模型文件拷贝到安卓设备的**根目录**

2、添加Jar包(以Android Studio为例):

新建Android工程,在把**NiuTransTransformerNMT.jar**拷贝到**app/libs**目录下
右键点击NiuTransTransformerNMT.jar,选择Add as Library,并点击OK

3、添加so文件

在app/src/main目录下新建jniLibs文件夹
将so文件中的arneabi文件夹拷贝到jniLibs目录下

4、添加权限

在AndroidMaifest.xml中加入以下几行代码
1  < uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
2  < uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
3  < uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

5、功能集成说明

Android中入口模块MainActivity.java:(以中英互译为例,其他语种使用方法类似)
1  package com.example.niutrans;
2  import com.niutrans.permission.PermisionUtils;// 引入jar包中的类
3  import com.niutrans.translate.Translator;// 引入jar包中的类
4  import android.os.Environment;
5  import android.support.v7.app.AppCompatActivity;
6  import android.os.Bundle;
7  import java.io.File;
8  public class MainActivity extends AppCompatActivity {
9    @Override
10    protected void onCreate(Bundle savedInstanceState) {
11      super.onCreate(savedInstanceState);
12      setContentView(R.layout.activity_main);
13      PermisionUtils.verifyStoragePermissions(this);// 获取读取设备文件的相关权限
14      File f = Environment.getExternalStorageDirectory();// 获得设备的根目录路径
15      // 中译英方向
16      Translator ZH2EN_Translator = new Translator();
17      ZH2EN_Translator.init(f.getAbsolutePath() + "/NiuTransTransformer/zh2en/NMTScheduler.Conf");
18      String zh2en_output = ZH2EN_Translator.translate("我需要预定一个房间。");
19      System.out.println(zh2en_output);
20      zh2en_output = ZH2EN_Translator.translate("你现在考虑的怎么样了?");
21      System.out.println(zh2en_output);
22      ZH2EN_Translator.destroy();
23      // 英译中方向
24      Translator EN2ZH_Translator = new Translator();
25      EN2ZH_Translator.init(f.getAbsolutePath() + "/NiuTransTransformer/en2zh/NMTScheduler.Conf");
26      String en2zh_output = EN2ZH_Translator.translate("Is it a direct train to London?");
27      System.out.println(en2zh_output);
28      en2zh_output = EN2ZH_Translator.translate("What's the sale price?");
29      System.out.println(en2zh_output);
30      EN2ZH_Translator.destroy();
31    }
32  }

说明

1)离线翻译项目中主要引用了NiuTransTransformer.jar中的两个类,Translator类和PermisionUtils,在使用翻译功能时需要import进来。
2)配置文件路径:这里用的是绝对路径(前提是将模型包NiuTransTransformer模型包拷贝到设备根目录,相应配置文件在模型包中)
在AndroidMaifest.xml中加入以下几行代码
1  String EN2ZH_ConfigPath = f.getAbsolutePath() + "/NiuTransTransformer/en2zh/NMTScheduler.Conf";
3) PermisionUtils类:获取外部设备读取权限。
4) Translator类:对外提供翻译接口,一共有三个函数,分别是init, translate, destroy 三个函数。
String translate(String input):input是输入待翻译的句子,返回的是翻译结果。
void destroy() : 对模型进行销毁,在程序退出时执行,只需一次。
在AndroidMaifest.xml中加入以下几行代码
1  public class Translator {
2    public void init(String configFile){...}
3    public String translate(String input) {...}
4    public void destroy(){...}
5  }

常见问题及注意事项

1)在进行安卓真机调试时,会出现是否允许读取手机内部存储的弹窗,由于要读取模型文件,出现弹窗时点允许即可。
2)NiuTransTransformer要放在根目录中,若改变位置,相应的配置文件中的路径需全部修改。
3)Jar包以及so库的位置确保要放置正确,在添加Jar后要右键选择Add as Library。
4)添加 PermisionUtils.verifyStoragePermissions(this); 这句代码,保证程序能读取模型及相关配置文件。

本地部署

介绍

将小牛翻译系统部署到用户本地服务器中,可以在用户的内部网络中使用小牛翻译系统,网络延时低, 干扰少,稳定服务,并且用户还可以充分利用内网隔断等安全保护机制,维护数据安全。
支持术语词典、翻译记忆库、文档翻译功能,提供基于HTTP协议的翻译API接口,用户可以很便捷的将机器翻译能力集成嵌入到自己的业务平台或其他应用中。接口文档详见API接口
支持国内少数民族语言、东盟语言、一带一路沿线语言及国际主流语言等超过百种外文到中文的实时互译。

语言列表

阿尔巴尼亚语 阿拉伯语 阿姆哈拉语 阿塞拜疆语 爱尔兰语
爱沙尼亚语 巴斯克语 白俄罗斯语 白苗文 保加利亚语
冰岛语 波兰语 波斯尼亚语 波斯语 藏语
丹麦语 德语 俄语 法语 菲律宾语
斐济语 芬兰语 弗里西 格鲁吉亚语 古吉拉特
哈萨克语 海地克里奥尔语 韩国语 豪萨 荷兰语
吉尔吉斯语 加利西亚 加泰罗尼亚语 柬埔寨语(高棉语) 捷克语
卡纳达 科西嘉 克雷塔罗奥托米语 克罗地亚语 库尔德语
拉丁语 拉脱维亚语 老挝语 立陶宛语 卢森堡语
罗马尼亚语 马尔加什语 马耳他语 马拉地 马拉雅拉姆
马来语 马其顿语 毛利语 蒙古语 孟加拉语
缅甸语 南非荷兰语(布尔语) 南非科萨语 南非祖鲁语 尼泊尔语
挪威语 旁遮普语 葡萄牙语 普什图语 齐切瓦语
日语 瑞典语 萨摩亚语 塞尔维亚语 塞索托语
僧伽罗语 世界语 斯洛伐克语 斯洛文尼亚语 斯瓦希里语
苏格兰盖尔语 索马里语 塔吉克语 塔希提语 泰卢固语
泰米尔语 泰语 汤加语 土耳其语 威尔士语
维吾尔语 乌尔都语 乌克兰语 乌兹别克语 西班牙语
希伯来语 希腊语 夏威夷语 信德语 匈牙利语
修纳语 宿务语 亚美尼亚语 伊博 彝语
意大利语 意第绪语 印地语 印尼巽他语 印尼语
印尼爪哇语 英语 尤卡坦玛雅语 约鲁巴语 越南语
壮语

硬件需求

项目 具体参数
CPU Intel系列 主频2.4GHz以上
内存 16GB以上
硬盘 1T以上
GPU卡 NVIDIA系列 显存8G以上
如果用户需要可提供软硬一体的解决方案,对小牛翻译平台软硬件提供全方位的运维及售后服务,为用户提供高效服务。

定制服务

1.新语种构建服务

如果小牛翻译支持的112个语种仍然不满足用户的需求,可以根据用户的要求开发指定语言方向的机器翻译系统。

2.垂直领域翻译效果优化

根据用户翻译内容的行业领域,了解行业特点、分析待翻译文本的特性,通过追加资源及修改技术方案来实现翻译的特殊定制与优化。

3.用户数据增量式训练

支持利用用户自有数据进行翻译系统的增量式训练,实现垂直领域翻译品质优化。

4.定制开发服务

如果用户没有开发能力而想将机器翻译集成到业务流程中去,我们可以根据用户的业务需要定制开发功能模块,以满足用户需求。

5.开放底层接口

根据用户的实际需要,为用户开放底层函数接口;实现用户既有平台与翻译系统的深层次融合。

其他没有罗列的情况,而您需要的内容,我们都可以帮您寻求解决方案。

Trados插件

Niutrans Plugin
是一款基于SDL Trados的机器翻译插件
支持英、日、韩、法、西、俄等语种与中文间的互译。借助该插件实现多语言、多领域的批量翻译,可大大提高您的翻译速度和工作效率。在开放平台的术语词典和翻译记忆库中添加对应词条和句对可使翻译效果更佳。

1.文件轻便、安装简单

文件大小仅仅100多KB,傻瓜式一键安装。

2.支持少数民族语言

翻译少数民族语言时,不再为找不到插件而烦恼。

3.多版本支持

我们针对不同版本的Trados开发了不同插件。

以上内容是否对您有帮助?

京ICP备18033082号  京公网安备 11010802027393号