当前位置:   article > 正文

原来,这才是开发者打开世界读书日的正确姿势_mlapplication.getinstance().setapikey

mlapplication.getinstance().setapikey

“独阅乐不如众阅乐”。

什么意思?就是独自快乐阅读,不如让更多人能够快乐阅读。这就是程序员阿强朴素的阅读观。

作为外文图书爱好者,阿强想尽情享受外文原版书的原汁原味,却总被不时出现的陌生词汇整得磕磕绊绊;

学生时代的外文阅读阻碍扎堆出现在查阅文献阶段,专业且生僻的词汇是他理解文献效率的最大“杀手”;

而如今的全球实时新闻,再大的词汇量也不能完美防守住新词发起的挑战。

为了让更多人都能拥有更好的外文阅读体验,一个“哪里不会划哪里”的阅读神器在阿强的数行代码间诞生了,使用HMS Core机器学习服务的文本翻译能力,徒手实现一个划词翻译功能,让外文读物阅读体验更顺畅。

关于文本翻译

机器学习服务提供在线和离线文本翻译能力,支持不同语种互译并且有网络的场景。例如:

旅游类App中,提供将外文路牌、菜单等翻译成母语的功能,优化体验;教育学习类App,学习多种语言时,轻松实现将陌生语言翻译成熟悉的语言,提高学习效率。

同时,离线翻译可不需网络支持,旅途中即使身处无网环境也可轻松解决沟通障碍。

效果展示

开发准备

在正式开发“划词翻译”功能之前需要完成以下准备工作:

配置AppGallery Connect

开通服务

集成HMS Core SDK

配置混淆脚本

添加权限

具体开发准备可以参考文档

应用开发

2.1 参考云测鉴权信心使用须知,设置应用的鉴权信息


MLApplication.getInstance().setApiKey("apiKey or Token");

  • 1
  • 2
  • 3

2.2 创建在线文本翻译器


MLLocalTranslateSetting setting = new MLLocalTranslateSetting
        .Factory()
        .setSourceLangCode(mSourceLangCode)
        .setTargetLangCode(mTargetLangCode)
        .create();
this.localTranslator = MLTranslatorFactory.getInstance().getLocalTranslator(setting);

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

2.3 查询在线翻译所支持的语种


MLTranslateLanguage.getCloudAllLanguages().addOnSuccessListener(new OnSuccessListener<Set<String>>() {
    @Override
    public void onSuccess(Set<String> result) {
        // 成功获取在线翻译所支持的语种。
    }
});

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

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);
    }
});

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

2.5 翻译完成,释放资源

if (localTranslator != null) {
    localTranslator.stop();
		
}

  • 1
  • 2
  • 3
  • 4
  • 5

了解更多机器学习服务>>

访问机器学习服务联盟官网

获取机器学习服务开发指导文档

了解更多详情>>

访问华为开发者联盟官网
获取开发指导文档
华为移动服务开源仓库地址:GitHubGitee

关注我们,第一时间了解 HMS Core 最新技术资讯~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/266305
推荐阅读
相关标签
  

闽ICP备14008679号