当前位置:网站首页>原来,这才是开发者打开世界读书日的正确姿势
原来,这才是开发者打开世界读书日的正确姿势
2022-04-22 18:52:00 【华为移动服务】
“独阅乐不如众阅乐”。
什么意思?就是独自快乐阅读,不如让更多人能够快乐阅读。这就是程序员阿强朴素的阅读观。
作为外文图书爱好者,阿强想尽情享受外文原版书的原汁原味,却总被不时出现的陌生词汇整得磕磕绊绊;
学生时代的外文阅读阻碍扎堆出现在查阅文献阶段,专业且生僻的词汇是他理解文献效率的最大“杀手”;
而如今的全球实时新闻,再大的词汇量也不能完美防守住新词发起的挑战。
为了让更多人都能拥有更好的外文阅读体验,一个“哪里不会划哪里”的阅读神器在阿强的数行代码间诞生了,使用机器学习服务的文本翻译能力,徒手实现一个划词翻译功能,让外文读物阅读体验更顺畅。
关于文本翻译
机器学习服务提供在线和离线文本翻译能力,支持不同语种互译并且有网络的场景。例如:
旅游类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 最新技术资讯~
版权声明
本文为[华为移动服务]所创,转载请带上原文链接,感谢
https://hmscore.blog.csdn.net/article/details/124339565
边栏推荐
- 为什么不能直接在 useEffect 中使用 async
- k9.第二章 基于二进制包安装kubernetes v1.20 -- 基本环境配置和内核配置(一)
- JSP learning (VIII. JDBC and file upload processing project)
- Video knowledge points (16) - how to convert y4m files into YUV files?
- DL yolov3: translation and interpretation of yolov3: an incremental improvement
- Server side password encryption
- 【服务器数据恢复】服务器进水导致多块硬盘同时掉线,服务器崩溃的数据恢复案例
- 2020-09-08 去除js代码的注释
- 2019-11-19解决Go test执行单个测试文件提示未定义问题
- Some indicators in text classification
猜你喜欢

Kellerman Software . NET SFTP Library

On the ability of LAN chat software

The Sandbox 与 Slipknot 以及 Knotfest 达成合作关系,共同打造 KNOTVERSE

Talk about some opportunities I've missed over the years
![[network security] duomics variable coverage vulnerability from white box test to actual combat](/img/cd/876cad6523e923d5aaada65beb54a2.png)
[network security] duomics variable coverage vulnerability from white box test to actual combat

C语言的预编译(预处理)#define

RHCE-ansible

单片机红外模块知识分享,理论是日后实战的基础

大话测试数据(一)

What kind of database products do we need
随机推荐
【最佳实践】巡检项:内容分发网络(CDN)开启URL鉴权
2022年安全、下单速度快、费用低的期货公司推荐?
CData Drivers for Jira完整的特征和属性
High availability - consumer documents
RHCE-ansible
Popular grass planting product forecast, guess the top 3 to get a red envelope!
2022年挖掘机司机(建筑特殊工种)复训题库及答案
【CIcadplayer】进度条回调
Type description file of module code
Career planning of data analysts -- career anxiety and future development of data analysts
Some indicators in text classification
模块代码的类型描述文件
CVPR2022 | 跨模态检索的协同双流视觉语言预训练模型
Talk about the pit of cache Boolean value
2020-12-15 rocksdb研究
Mmdeploy quick start
人气种草产品预测,猜中TOP 3得红包!
深圳大学课题组发布《深圳市可持续发展评估报告(2016-2021年)》
图片转base64
【网络安全】Duomicms的变量覆盖漏洞从白盒测试到实战