博观而约取,厚积而薄发。这篇文章主要讲述原来,这才是开发者打开世界读书日的正确姿势!相关的知识,希望能为你提供帮助。
“独阅乐不如众阅乐”。
什么意思?就是独自快乐阅读,不如让更多人能够快乐阅读。这就是程序员阿强朴素的阅读观。
作为外文图书爱好者,阿强想尽情享受外文原版书的原汁原味,却总被不时出现的陌生词汇整得磕磕绊绊;
学生时代的外文阅读阻碍扎堆出现在查阅文献阶段,专业且生僻的词汇是他理解文献效率的最大“杀手”;
而如今的全球实时新闻,再大的词汇量也不能完美防守住新词发起的挑战。
为了让更多人都能拥有更好的外文阅读体验,一个“哪里不会划哪里”的阅读神器在阿强的数行代码间诞生了,使用机器学习服务的文本翻译能力,徒手实现一个划词翻译功能,让外文读物阅读体验更顺畅。
关于文本翻译
??机器学习服务??,支持不同语种互译并且有网络的场景。例如:
旅游类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??
关注我们,第一时间了解 HMS Core 最新技术资讯~
推荐阅读
- OSPF的详细讲解分类,还有实验讲解
- 函数指针与回调函数
- k8s-容器监控与报警
- 华为云媒体査勇(华为云在视频AI转码领域的技术实践)
- 开发板漂流计划 HarmonyOSAPP控制超声波小车
- 翻译翻译什么是适配器模式()
- Transforme结构(位置编码 | Transformer Architecture: The Positional Encoding)
- 全网最全JSR303参数校验与全局异常处理(从理论到实践别用if判断参数了)
- 一款超牛逼的 Linux 终端复用神器(附安装使用教程)