• 小牛翻译APP

离线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号