当前位置: 首页 > 后端技术 > Java

原来,这才是开发者开启世界读书日的正确姿势!

时间:2023-04-01 17:18:55 Java

“一个人读书不如大家一起读书。”什么意思?与其让更多的人快乐地阅读,不如一个人快乐地阅读。这就是程序员阿强的简单阅读理念。作为外文爱好者,阿强想享受原版外文书籍的原汁原味,却总是被时不时出现的生词给绊倒;学生时代的外语阅读障碍一起出现在文献综述阶段,专业和生僻词是他理解文档效率的最大“杀手”;而在当今的全球实时新闻中,无论词汇量再大,也无法完美抵御生词带来的挑战。为了让更多的人有更好的外语阅读体验,一款“不知从何画起”的阅读神器在阿强的几行代码之间诞生了。利用HMSCore机器学习服务的文本翻译能力,手工实现。划词翻译功能,让外文书籍的阅读体验更顺畅。关于文本翻译机器学习服务提供在线和离线文本翻译能力,支持不同语言之间的翻译,并且有网络。例如,在旅游类APP中,提供将外语路牌、菜单翻译成母语的功能,优化体验;在教育学习类APP中,学习多种语言时,很容易将不熟悉的语言翻译成熟悉的语言,提高学习效率。同时,离线翻译不需要网络支持,即使在旅途中无网络的环境下也能轻松解决沟通障碍。效果展示开发准备在正式开发“单词翻译”功能之前,需要完成以下准备工作:配置AppGalleryConnect、开通服务、集成HMSCoreSDK、配置混淆脚本、添加权限。具体开发准备请参考文档应用开发2.1。注意,设置应用程序的认证信息MLApplication.getInstance().setApiKey("apiKeyorToken");2.2创建在线文本翻译器MLLocalTranslateSettingsetting=newMLLocalTranslateSetting.Factory().setSourceLangCode(mSourceLangCode).setTargetLangCode(mTargetLangCode)。create();this.localTranslator=MLTranslatorFactory.getInstance().getLocalTranslator(setting);2.3查询在线翻译支持的语言MLTranslateLanguage.getCloudAllLanguages().addOnSuccessListener(newOnSuccessListener>(){@OverridepublicvoidonSuccess(Setresult){//成功获取在线翻译支持的语言。}});2.4在线文本翻译localTranslator.preparedModel(downloadStrategy,modelDownloadListener).addOnSuccessListener(newOnSuccessListener(){@OverridepublicvoidonSuccess(VoidaVoid){finalTasktask=localTranslator.asyncTranslate(input);task.addOnSuccessListener(newOnSuccessListener(){@OverridepublicvoidonSuccess(Stringtext){displaySuccess(text,true);}}).addOnFailureListener(newOnFailureListener(){@OverridepublicvoidonFailure(Exceptione){displayFailure(e);}});}}).addOnFailureListener(newOnFailureListener(){@OverridepublicvoidonFailure(Exceptione){displayFailure(e);}});2.5翻译完成后释放资源if(localTranslator!=null){localTranslator.stop();}了解更多机器学习服务>>访问机器学习服务联盟官网获取机器学习服务开发指导文档更多详情>>访问华为开发者联盟官网获取开发指导指南文档华为移动服务开源仓库地址:GitHub、Gitee关注我们,第一时间了解HMSCore最新技术资讯~