2022-10-17更新:更新了项目,只是把google.cn改成了google.com,加上科学网络就可以继续使用谷歌翻译了。
2022-10-07更新:短短时间发生了一主线剧情和一支线剧情:
- 主线:谷歌翻译也跑路啦,屏幕翻译v9里面大量使用的谷歌翻译也随之失效,仅小米英译中还能使用,后续会考虑百度翻译或腾讯翻译又或者彩云小译(有道不行,Deepl也不行),到时会以v9.1呈现,至于现有v9版本,如果你有科学的网络环境,可在屏幕翻译v9内搜索google.cn,改成google.com后即可正常使用。
- 支线:下文说到了可以在电脑上贴图的小工具 MouseInc,其作者因为一些事情暂时离开互联网了,网站也暂时关闭,有兴趣使用MouseInc的可以在原下载地址直接点击下载。
前言
故事开始的时间很早,早到我的初中时代,好好的英语突然就掉线了。
到了2017年,我遇到了Tasker,我的英语一样不在线,还好Tasker是有中文的。
2018年,屏幕翻译第一个版本出现了,视频都还在,好丑,去看看 。
很长时间,我把它叫界面翻译,并分享在网上。
2019年,分享了二代产品,去看看 。
接着,记得有改进型v5在群里分享,后来有一段时间的功能改造,改得完全不能用,v6没了。
2021年,有一天脑洞大开,v7又打开了局面,全新的工作原理,更快的速度,第三代来了,去看看 。
时间不长,v7长大了,成了v8,然后不断+0.1。
v8.6又迎来了贴图小伙伴,去看看 。
不断+0.1。。。
现在,你好,屏幕翻译v9。
老司机请直接获取:屏幕翻译v9 密码:27315
对于新手,除了以上网盘文件,还有以下保姆级教程,后续想起什么会随时补更。
实现了什么功能?
主要有三:
- 翻译:翻译屏幕上的文字到任意的语言。
- 复制:复制屏幕上出现的任意文字。
- 贴图:把关键信息固定在屏幕上。
具体细分看图:
视频演示
准备
你得有一台运行着安卓系统的设备,手机、平板、或者啥。。都行,唯一要求系统安卓5以上,除此以外基本不挑,简单说就是5年以内的手机都可以。
华为的鸿蒙OS好像也可以。
安装Tasker
这是一个神器。
Tasker是一款Android应用程序,最初(2007年)由一位名为"Pent"的开发人员开发,后来(2018年)被"João Dias"购买。
属于个人开发应用,现任开发者非常活跃,更新版本也异常勤快,一天都能更新好多个beta版本,不断新增便捷的功能(和修补以往的Bug),不存在什么最终版打死不改版,也没有什么Pro版高级版,
Tasker是干什么的?
官网概括地很好:Total Automation for Android,Android 的全面自动化。
众多的开发版本:Tasker - Google 云端硬盘
开发者活跃论坛:Tasker: Total Automation for Android
当前最新正式版:6.0.10
当前最新测试版:6.1.4-beta
当前推荐安装版本:6.1.2-beta
官网、商店和Google网盘都能下载到安装包(大约15M),下载后安装即可。
Tasker并不是免费软件,商店售价3.49美元,因为一些不可描述的原因,我们想在这个不可描述的商店购买到这个app并不容易,所以我假装你已经购买。
开玩笑的,虽然有不少的app用户已经购买了授权,但对于新手来说,让本不富裕的生活雪上加霜,容易让一趟好奇之旅还没开始就会结束。
Tasker的正版验证机制很简单,就是问商店:
- Tasker:我是不是正版?
- 商店:是。
- Tasker:好的。
早期版本中,如果商店不存在,Tasker问不到结果,将直接可无限制使用;后来开发者改了,变成了没有商店将直接不可用,但是也保留了"问不到结果,将直接可无限制使用"的优良传统。
所以。。。
安装FakeStore
地址:Releases · microg/FakeStore · GitHub
商店有了,但是商店不理Tasker。
没毛病。(参考视频P2)(此方法需要卸载正版Play 商店)
安装TouchTask
贴图必须用这个插件,所以要装。
另一个商店:下载TouchTask的安卓版本
汉化版:Tasker插件 密码:cf1234,由酷安大佬 @Jeff_CF 提供。
这是一个免费app,Tasker的强大帮手,app本身不能执行任何动作,只能作为插件由Tasker去调用。
这个插件可以让你在无root状态下,实现模拟点击、长按、滚动、剪切、复制、粘贴、设置文本、选择文本、滑动和捏合、添加图层、阅读屏幕、OCR等操作,在屏幕翻译里只用到了阅读屏幕、添加图层和识别二维码功能。
其中,阅读屏幕功能需要无障碍辅助服务权限,无障碍辅助服务的初衷是帮助残障人士能够更方便得使用手机,但也成了刷题开挂的工具,包括现在需要实现的自动化功能。
TouchTask内实现的功能,全程离线,不需要网络。
安装AutoInput(可选)
另一个商店:下载AutoInput的安卓版本
汉化版:Tasker插件 密码:cf1234,由酷安大佬 @Jeff_CF 提供。
这是另一个插件,功能与TouchTask高度相同,互有优略,作为可选的原因就是在阅读屏幕(读屏)方面要优于TouchTask,比如在一些复杂界面,AutoInput能读到TouchTask读不到的文字,更出色。
不安装也没有任何关系,如果真的碰到TouchTask读不出文字的时候,OCR功能也能完全胜任。
AutoInput的开发人员和现任Tasker的开发人员是同一人,是先为Tasker开发了AutoInput,后接管了Tasker,app本身说是免费使用,但是每天需要你看30秒的广告,不过上方的汉化版很机智的解决了这个问题。
网上也有其他的免广告版本:AutoInput 2.8.2b Apk Full Unlocked
搞定一些权限问题(建议)
APP要正常地运行起来,需要获得足够的权限,Tasker因为能干的事情非常多,多到可能用得上你手机里的任何一个能给的权限,Tasker不回给你一次性全要,而是需要用到什么权限就提醒你需要授权什么权限,有些权限可以在手机上直接授予,但有一些隐藏的权限,需要使用电脑通过ADB工具授予,比如静默截图,和无障碍保活。
ADB授权需要手机连接电脑,并进入手机的开发者选项,打开 USB调试 和 USB调试(安全设置)(如果有的话)。
无线调试也可以的。
屏幕翻译内的OCR和贴图功能,都用到了截图功能,在默认未授予大权的情况下,也不是不能用,就是每次截图时都会问你能不能截图,非常的影响体验。
但只要用以下代码授权一次(就一次),就可以免提示无声无息静默截图。
adb shell appops set net.dinglisch.android.taskerm PROJECT_MEDIA allow
另外,Tasker和TouchTask、AutoInput都需要无障碍辅助服务权限,这个权限的特殊性,使得每次app被完全关闭,都会丢掉这个权限,而再次授权需要经过多次点击,还可能需要强制等待10秒观看风险提示,所以,在通常情况下,我们要对app做一些设置:
- 自启动:开
- 省电策略:无限制
- 最近任务:加锁
这样,无障碍辅助权限一般就不会掉了,Tasker也能随时为我们服务,至于耗电,低,低得很,甚至不会超过1%。
再进阶一点,我要让无障碍辅助权限哪怕真掉了,也让它自动开起来,新版本Tasker提供了这个功能,只需ADB授权执行以下代码,再在Tasker首选项内勾选需要保活的应用,就能做到无障碍权限永不掉。
adb shell pm grant net.dinglisch.android.taskerm android.permission.WRITE_SECURE_SETTINGS
其实吧,Tasker的开发者提供了更简单简洁快速的授权工具:
下载地址:Releases · joaomgcd/Tasker-Permissions · GitHub
上方2个权限对应下图绿色的2个,红色未授权,绿色已授权,点击Grant All Permissions可以一键授予所有权限,但在一些低版本安卓上,因为本身不存在一些接口,所以一键授权时会报错(第5第6个名字带Buttons的),这时需要挨个地点击红色框框授权,转绿就成功,不成功就报错。
授权后可进入Tasker首选项→监视器→KEEP ACCESSlBILITY RUNNING设置无障碍保活。
建议以上APP均加入无障碍保活豪华套餐。
进入Tasker
参考视频P4,首次进入基本就是按流程走,里面的2种模式Tasky和Tasker:
Tasky模式只是可以让你搜索别人分享的配置并一键加载,然后选择开启或关闭,且只有正版用户才可以使用。
Tasker模式才是最好选择,他说得没错,唯一限制你的是你的想象力。
想象力的第一道坎
来了来了,刚进入Tasker的主界面什么都没有,啥也不能干,连示例都没有。
底部是项目标签,默认有一个基础项目,就是那个小房子,上面有4个标签分别为:
- 配置文件:意为当什么时候
- 任务:做一些事
- 场景:显示一些内容
- 变量:存储一些数据
也就是配置文件决定什么时候执行什么任务,任务里可以控制场景和变量。
导入配置文件
(参考视频P5、P6)
Tasker可灵活导出导入各部分的数据,屏幕翻译v9含有多个配置文件、任务和场景,是一个小项目,请按导入项目的方式加载。
屏幕翻译v9
导入项目后,要使用那些个功能需要先召唤出主菜单,就是以下3个图标
呼出主菜单
当成功导入屏幕翻译v9_2022xxxx.prj.xml文件,点击右上方的 ✔ 后,主菜单会自动出现。再以后使用时,就要手动呼出。
一般来说方式有二:
- TouchTask已安装运行的情况下,可 音量键+ 跟 音量键- 各按一次,无先后顺序。
- 通知栏快捷方式按钮。
Tasker内置了3个通知栏快捷方式,此时有一个快捷方式已经变成了"屏幕翻译",把这个按钮放到方便的地方,就可以像开关WIFI一样开关屏幕翻译主菜单了。
当然,进入Tasker里面手动运行"屏幕翻译"任务或者打开"屏幕翻译主菜单"的配置文件也是可以的,就是没了便利快捷。
读屏方式
以上说了,AutoInput和TouchTask都支持无障碍读取屏幕上的文字信息,这里设置了优先级:
- 当只安装了TouchTask的时候,会自动使用TouchTask读屏。
- 当安装了AutoInput的时候,会自动使用AutoInput读屏。
也就是AutoInput优先。
如果没有安装AutoInput,Tasker虽然不会用到,但也会检测到插件缺失,会有一个三角感叹号提醒,无视就好。
第一件事
对于配置本身,能自动的都给自动了,就只剩下一个顽固的场景大小,它的大小不能自动调节,而是根据原始分享者的设备分辨率和场景大小的比例,再根据目标机器的分辨率,以同样的比例得出这个场景在目标机器上的场景大小,这个过程在你导入项目瞬间就已经完成,然而这个得出的场景大小根本不对,反正就不对,所以导入配置后的第一件事就是修改场景大小。
有2个场景大小需要修改的,分别是"区域截图v9"和"屏幕翻译图层v9",具体的值如图所示:
其中①②等于设备分辨率的宽,③等于设备分辨率的高,而④等于设备分辨率的高减去最上方状态栏的高度,也就是%SBO显示的数值,最终④=③-⑤,请忽略⑤本身是个负值,所以2400-103=2297就是④的最佳值。
在实际修改一个场景时,要先修改场景的大小,再修改场景内的元素大小。
不明白请参考视频。
翻译
(参考视频P7)
把屏幕上的文字翻译为其他语种(共109种)。
其中,小米英译中使用了小米的翻译接口,也只能英译中。
其余使用了多种不同方式的谷歌翻译,具体区别看图或者视频了解,不多说了。
输入时翻译
(参考视频P8)
灵光一闪的产物。
把你在文本框正在输入的文字翻译为别的语种。
复制
(参考视频P9)
也不仅仅复制。
其中助手读屏,用于获取当前页面的内部信息。
二维码识别,解决了自己扫自己的问题。
OCR
无论是翻译还是复制,当遇到特殊页面或者图片的时候,读屏将不起作用,只能通过OCR识别,这里使用了百度的OCR接口,免费,但有次数限制,一般情况是够用的。
请自行进入百度智能云-管理中心 添加应用
获得API Key和Secret Key,放到任务里的"5百度OCRtoken"。
我在分享的项目里,内置了用我自己的key获取好的token,有效期大概30天,有及时获取到的同学就可以立马体验到OCR功能。
区域截图
区域OCR和贴图功能对区域截图的强烈需求催生下的一个小模块,有限的知识使用了简单的原理实现的小功能,用过电脑截图的都知道,小范围截图就是框一个框,可以任意姿势地框,但是在这里,由于实现比较简单,所以功能也不丰富,框的的时候只能从左上角开始,框到右下角。
我就是想说,区域OCR和贴图的时候,是左上到右下。
还有,框完后需要进行下一步的步骤是返回,这一点跟Tasker的操作逻辑一样,返回即确认。
8向场景移动
主菜单你看到了,有3个图标+1个透明区域,共4个格子,呼出主菜单默认是出现在屏幕的左上角的,如果图标挡住了什么而需要移动的,可以拖动图标直接移动,但是只能在8个方向上移动,即上下左右和4个对角方向,米字型的8个方向。
这也是Tasker在场景功能方面的不足之处,能8个方向的笨拙移动已经足够满足正常使用。
8向移动功能是一个独立的小模块,名称为"@场景移动-8向",任何可交互的场景只要在场景内的滑动标签内直接调用此任务,就拥有了8向移动功能。
贴图
(参考视频P10)
我敢说,这是多少人只存在于想象中的功能,当你在2个app之间切来切去,好输入一些没办法复制的身份证号码、银行卡号码、快递单号之类的内容时,你就会想到,就不能把那个号码放在屏幕最上层让我直接抄吗?
至少,自我有手机起,已经无数次惦记着这个功能。
现在,手机端贴图在此!
另外,PC端的早就有了成熟的贴图工具,比如我天天都用的鼠标手势应用: MouseInc 。
地址:耍下 (shuax.com)(也跑路了)
只要按住鼠标右键逆时针画个圈即完成贴图,每个看到的同事都大呼牛逼。
其他类似功能的APP?
有的有的。
几年前刚开始做屏幕翻译的时候,我确实没注意到有app已经可以提供屏幕翻译功能,待到今年在网友提醒下发现提供屏幕翻译的app已经是一抓一箩筐,于是,我在国内外商店找了30多个app,并测试。
测试过程很恶心,不断授权不断看广告之后,得到结果如下(仅供参考的哈)。
结论,在不雪上加霜的情况下
- 第一推荐为搜狗翻译
- 第二推荐为百度翻译
- 第三推荐有道翻译官吧(凑数的)
当然我更加推荐Tasker版本的实现:屏幕翻译v9。
大概也有可能是测试过程身体不适的原因(就是上面说的恶心),每个APP都是匆匆忙忙快快速速以迅雷不及掩耳之势地测了一下,体验结果可能真的不准,我看哔哩哔哩上就有好多个狂吹某APP的up(演示的时候都出现了免费次数用完),就这样还有勇气分享?
不过孰好孰坏,有兴趣的同学还得亲自体验才知道。
而在贴图方面,在安卓系统内,没有,一个都没有,找不到,不知道谁可以,仅此一家,如有知道的同学,麻烦请知会一声。
最后
技术在进步,想法也在进步,就写这篇6000字小作文的过程中,屏幕翻译v9就修改了多少次,写着写着你应该手动怎么样的时候,突然灵机一动一动动,为什么要手动?自动不香吗?然后就改成了自动的。
屏幕翻译从v1到现在v9,虽然版本号是随便编的,也都是代表着一直向前的脚步,没有什么最终版,有好点子会继续想办法实现。加油!