共计 1784 个字符,预计需要花费 5 分钟才能阅读完成。
“独阅乐不如众阅乐”。
什么意思?就是单独高兴浏览,不如让更多人可能高兴浏览。这就是程序员阿强奢侈的浏览观。
作为外文图书爱好者,阿强想纵情享受外文原版书的原汁原味,却总被不断呈现的生疏词汇整得磕磕绊绊;
学生时代的外文浏览妨碍扎堆呈现在查阅文献阶段,业余且生僻的词汇是他了解文献效率的最大“杀手”;
而现在的寰球实时新闻,再大的词汇量也不能完满防守住新词发动的挑战。
为了让更多人都能领有更好的外文浏览体验,一个“哪里不会划哪里”的浏览神器在阿强的数行代码间诞生了,应用机器学习服务的文本翻译能力,徒手实现一个划词翻译性能,让外文读物浏览体验更顺畅。
对于文本翻译
机器学习服务提供在线和离线文本翻译能力,反对不同语种互译并且有网络的场景。例如:
游览类 App 中,提供将外文路牌、菜单等翻译成母语的性能,优化体验;教育学习类 App,学习多种语言时,轻松实现将生疏语言翻译成相熟的语言,进步学习效率。
同时,离线翻译可不需网络反对,旅途中即便身处无网环境也可轻松解决沟通阻碍。
成果展现
开发筹备
在正式开发“划词翻译”性能之前须要实现以下筹备工作:
配置 AppGallery Connect
开明服务
集成 HMS Core SDK
配置混同脚本
增加权限
具体开发筹备能够参考文档
利用开发
2.1 参考云测鉴权信念应用须知,设置利用的鉴权信息
MLApplication.getInstance().setApiKey("apiKey or Token");
2.2 创立在线文本翻译器
MLLocalTranslateSetting setting = new MLLocalTranslateSetting
.Factory()
.setSourceLangCode(mSourceLangCode)
.setTargetLangCode(mTargetLangCode)
.create();
this.localTranslator = MLTranslatorFactory.getInstance().getLocalTranslator(setting);
2.3 查问在线翻译所反对的语种
MLTranslateLanguage.getCloudAllLanguages().addOnSuccessListener(new OnSuccessListener<Set<String>>() {
@Override
public void onSuccess(Set<String> result) {// 胜利获取在线翻译所反对的语种。}
});
2.4 进行在线文本翻译
localTranslator.preparedModel(downloadStrategy, modelDownloadListener).addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {final Task<String> task = localTranslator.asyncTranslate(input);
task.addOnSuccessListener(new OnSuccessListener<String>() {
@Override
public void onSuccess(String text) {displaySuccess(text, true);
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(Exception e) {displayFailure(e);
}
});
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(Exception e) {displayFailure(e);
}
});
2.5 翻译实现,开释资源
if (localTranslator != null) {localTranslator.stop();
}
理解更多机器学习服务 >>
拜访机器学习服务联盟官网
获取机器学习服务开发领导文档
理解更多详情 >>
拜访华为开发者联盟官网
获取开发领导文档
华为挪动服务开源仓库地址:GitHub、Gitee
关注咱们,第一工夫理解 HMS Core 最新技术资讯~