Jisho Lens 是一款应用程序,可让您从图片中扫描日语单词并从词典中搜索其含义。简而言之,可以将其视为Google Lens,但它不是从Google搜索,而是从本地词典搜索。
动机
这有点长,请耐心点。如果您不感兴趣,可以忽略它 lol
这款应用程序的开发主要是因为我发现手机上有个词我不认识时感到沮丧。我的意思是,可以直接Google搜索,对吧?不行。您知道,日语有多种书写系统,其中一种是汉字。为了能够Google搜索,我需要知道如何写它。汉字与拉丁字母不同,您不能仅仅看到一个字母就可以用键盘写下来。
现在,想象一下这个场景。您不是英语母语者,遇到了单词*“depression”*,您不知道它的意思,很简单,直接Google搜索即可,只需在Google上输入*“depression”*即可完成。那日语呢?想象一下您不是日语母语者,遇到了一个词“鬱”(至少对我来说,它的小尺寸看起来几乎像一个方块)。您怎么知道它读作うつ?您不知道。这就是我开发这款应用程序来尝试解决这个问题的原因。
我使用了这个很棒的浏览器扩展程序 Yomichan,它基本上就像魔法棒一样。您只需将光标悬停在不认识的单词上,它就会显示一个词典条目。不幸的是,它仅在浏览器上运行。这也是我开发这款应用程序的另一个原因,我希望在手机上也能提供类似的功能。
我前几天发现了一个很酷的项目 Jidoujisho,这是一个支持沉浸式学习的应用程序。这是一个非常酷的项目,我喜欢它。为什么我不用它呢?嗯,自己动手更有趣 ¯\_(ツ)_/¯。Jisho Lens basically is a fraction of that project and I prefer having simpler app that does one thing that suits my need. 我建议您至少看看它,它可能有更多适合您的功能,因为它还有很多其他功能?
功能
以下是此应用程序的一些功能
- 深色/浅色模式
- 扫描图片中的文字
- 使用关键字从词典中搜索单词,支持全文搜索
- 通过共享到此应用程序来扫描图片(此处查看详情)
- 将词典条目添加到Anki(计划中)
- 使用快速设置磁贴从当前屏幕扫描单词(计划中)
- JMdict数据集
- KANJIDIC2数据集(计划中)
- Tatoeba数据集(计划中)
- 在线版本?您将不再需要下载整个数据集,但需要互联网连接,而我需要托管服务器 :p
限制
此应用程序有一些限制
- 它仅在Android(特别是Android)上运行,因为我没有Apple设备可以测试。
- 目前,您需要手动拍摄照片并稍后删除它才能扫描当前屏幕,但一旦我实现了快速设置磁贴,Jisho Lens应该可以自动处理图像删除。 当您完成后,它应该可以自动处理图像的删除。
- 当添加更多数据集时,应用程序的大小可能会在未来稍有增加。目前应用程序大小约为26MB,JMdict数据库约为100MB。我计划找到一种模块化数据库的方法,以便例如,如果您只想使用JMdict,您可以单独下载它,而无需下载其余数据。
- 查询速度可能有点慢,因为我不是SQL专家,无法将查询/数据库优化得比光速更快。我希望随着应用程序的发展,情况会变得更好。
- 由于Google ML Kit并不完美,图像可能会出现识别文本的误报(图标被识别为文本),但大多数情况下应该足够好。
技术栈
该项目分为两部分:Android应用程序和一个用于从词典生成数据库的小工具。
以下是用于Android应用程序的一些框架/库。
- Flutter – 主要框架
- Riverpod – 状态管理
- Google ML Kit – 用作文本识别引擎
- Hive – 持久键值存储
- Sqflite – Flutter的SQLite数据库驱动程序
有关更多详细信息,请参阅 DbGenerator/README.md。
用法
您必须先导入词典才能使用此应用程序。只需转到设置页面,然后按 导入数据库 菜单,您就可以从 发布页面 下载数据库文件。我将词典分开,以便可以更频繁地更新它,而无需每次都重新安装应用程序。如果您不导入词典,则无法使用任何功能,并将收到类似此的警告
导入词典后,一切应该不言自明,但如果还不够清楚,这里有一些视频演示了如何使用此应用程序(它托管在streamable上,因为我不想将它附加在readme中,绝对不是我太懒了才不附加它们,不)。
屏幕截图
开发
这是一个标准的Flutter项目,您可以使用 Android Studio 或 Visual Studio Code 像任何其他Flutter应用程序一样开发它。如果您是第一次使用Flutter,您可以按照 官方说明 进行设置。但是,如果您想开发任何与词典相关的功能,则需要先按照 DbGenerator/README.md 中的说明生成数据库。











