V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
gudong
V2EX  ›  程序员

『咕咚翻译』 开源了,一个手机端实现『划词翻译』的 Android 应用

  •  
  •   gudong ·
    maoruibin · 2016-03-03 12:38:47 +08:00 · 5451 次点击
    这是一个创建于 3223 天前的主题,其中的信息可能已经有所发展或是发生改变。

    自己最近开发的一个手机 App ,咕咚翻译,一个实现了划词翻译功能的 Android 应用。效果如下图,以前需要七步才能完成的翻译操作现在只要两步。

    目前项目已开源到 Github 项目地址

    咕咚翻译

    之前在这里有一个关于咕咚翻译的一些讨论帖,感谢热心的 V 友之前提供的一些反馈信息

    特别感谢TonyLOfficial提供的图标设计

    一个非常有执行力的大学生,再一次谢过~

    24 条回复    2016-03-04 20:22:20 +08:00
    karnaugh
        1
    karnaugh  
       2016-03-03 13:39:34 +08:00
    6666666
    oott123
        2
    oott123  
       2016-03-03 14:49:34 +08:00
    看效果图更像“剪贴板翻译”而不是“划词翻译”。
    感觉用辅助服务 API 是可以做到划词翻译的…
    garipan
        3
    garipan  
       2016-03-03 15:06:47 +08:00
    挺好的 感谢分享

    以前 ios 欧陆词典 /有道词典都是用这个方式的。但是 ios 的后台留驻是个问题
    gudong
        4
    gudong  
    OP
       2016-03-03 15:12:01 +08:00   ❤️ 1
    @oott123 没试过辅助服务,我看到有一个同学试过,好像不能拿到复制的内容,后来放弃了~
    gudong
        5
    gudong  
    OP
       2016-03-03 15:12:42 +08:00
    @garipan android 有道词典也有这个功能,但是稍显臃肿!不够简洁
    backsqpace
        6
    backsqpace  
       2016-03-03 16:35:19 +08:00 via iPhone
    star ,很不错
    hahastudio
        7
    hahastudio  
       2016-03-03 16:50:38 +08:00
    话说 Google Translate 是怎么做的呢,它是在菜单里单独有一个选项
    http://www.engadget.com/2015/10/07/google-translate-in-app-android-marshmallow/
    garipan
        8
    garipan  
       2016-03-03 17:30:45 +08:00
    @gudong 其实我主要是想说 能查完以后 立刻加进生词本里面
    gudong
        9
    gudong  
    OP
       2016-03-03 18:54:07 +08:00
    @garipan 但是这样自动性太强,其实不好,里面会生成大量的无用生词,加上收藏按钮,用户点击,说明他认可这是一个生词,你说的这个功能应该是历史记录展示,也有别人提到过,我想想~
    gudong
        10
    gudong  
    OP
       2016-03-03 18:55:14 +08:00
    @hahastudio 你用的应该是 Android 6.0 这是他的新特性,我看了下 6.0 以下不支持
    gpw1987
        11
    gpw1987  
       2016-03-03 21:54:08 +08:00
    这个可以有呀
    oroge
        12
    oroge  
       2016-03-03 22:00:51 +08:00
    @gudong 要支持这个类似 Google Translate 的特性工作量大吗?(感觉这个特性很好用的说)
    garipan
        13
    garipan  
       2016-03-03 23:44:44 +08:00
    @gudong 对对 我的意思是 你现在这个弹出窗口上一键收藏就挺好的
    可惜我用的是 ios 现在
    icedx
        14
    icedx  
       2016-03-03 23:55:41 +08:00
    软件非常不错 但是还是没能跨越 按下复制按钮的这个坎
    gudong
        15
    gudong  
    OP
       2016-03-04 01:07:19 +08:00
    @gpw1987 来了~
    gudong
        16
    gudong  
    OP
       2016-03-04 01:10:29 +08:00
    @oroge Google Translate 应该只是支持自己的应用,不能做到全局, Google 只是针对 6.0 出了一套 API ,让开发者在自己 APP 中去实现自定义的长按浮动弹框以及事件拦截,但是这需要其他应用自己的支持,所以目前实现意义不大,不过我会注意这块的~多谢提醒!
    gudong
        17
    gudong  
    OP
       2016-03-04 01:11:57 +08:00
    @garipan iOS 上有相应的划词词典,有网友提供了欧路词典,说是还不错!你可以试试~
    gudong
        18
    gudong  
    OP
       2016-03-04 01:16:07 +08:00
    @icedx 那你觉得怎样就理想了呢?如果不复制,你是想怎样会更方便?其余的方案我觉得可能需要硬件支持了~
    avatar
        19
    avatar  
       2016-03-04 06:03:58 +08:00   ❤️ 1
    Google Translate 用的是 6.0 的新特性, ACTION_PROCESS_TEXT ,你可以搜一下这个,很好实现。只需要在对应的 Activity 加一个 intent-filter 就可以了,像这样
    <intent-filter >
    <action android:name="android.intent.action.PROCESS_TEXT"/>
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="text/plain" />
    </intent-filter>
    gudong
        20
    gudong  
    OP
       2016-03-04 09:30:51 +08:00
    @avatar 谢谢你~
    icedx
        21
    icedx  
       2016-03-04 10:10:23 +08:00
    @gudong 不知道 我早就开发过类似咕咚翻译的软件 但是始终跨不过复制这个坎 复制可是在右上角的 单手操作很费劲...
    现在那个软件连我自己都不用...
    gudong
        22
    gudong  
    OP
       2016-03-04 10:27:26 +08:00
    @icedx 好吧,如果可以不复制就能翻译,扫描可以~
    farley
        23
    farley  
       2016-03-04 12:34:07 +08:00
    哪里有不复制就能翻译的啊?
    gudong
        24
    gudong  
    OP
       2016-03-04 20:22:20 +08:00
    @farley 有,这种叫扫描翻译, Google Translate 有这个功能,已经已经是另一个使用场景了~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2650 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 15:06 · PVG 23:06 · LAX 07:06 · JFK 10:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.