关于辞典格式的一些疑问

随便截个图,我逆向过的用引入的sqlcipher.so第三方库加密的安卓词典app:

翻了下库存的ipa,负责任地告诉你里面95%使用sqlite。

2 个赞

谢谢科普。我现在手头设备全是林檎,对dictango不太熟…

你这些 ipa 文件从哪下载的?我看有些是付费的?

自己掏钱,前前后后搞词典一分钱没赚,倒是投进去好几千。

3 个赞

mdx 已经满足大多数人的需求了(英汉词典),新格式短时间内很难和 mdx 竞争。sqlite 跨平台没问题,难的是 app 跨平台开发,需要耗费大量时间和精力,反过来说新的格式只支持某个平台的话也很难推广开来。(对独立开发者来说很困难

词典的全文检索是不是伪需求?感觉解释和例句检索(反查)就够用了。电子书的全文检索反而比较需要,论坛里很多人是把电子书当作词典用。(论坛里另一个更大的伪需求我认为是词典编辑 :laughing:

我认为对于MDX资源来说,“编辑”功能可能并非刚需。因为目前市面上99%的MDX资源都是通过爬虫抓取并打包而成的。只有当数据残缺严重时,例如前段时间流出的《古音汇纂》,才可能需要进行编辑。但即使如此,真正需要编辑数据的可能也只有数据整理者一人。
关于全文检索和“释义/用例检索”,我认为也存在一些问题。以往的MDX文件并没有统一的释义和例句区分标准,有的甚至根本没有区分。如果像物书堂那样的词典软件限制了全文检索功能,势必会导致现有的MDX文件难以快速迁移过去。因此,我认为可以考虑以下两种方案:

  • 直接提供整个词条正文的全文检索功能。 这种方案最为直接,可以最大程度地兼容现有的MDX资源。
  • 提供一个折衷方案: 同时提供全文检索功能,并将释义和例句检索作为可选项。这样既能满足对精确检索的需求,又能保证基本的全文检索功能可用。
1 个赞

词典里编辑更好的方式我觉得是外挂形式的笔记,专门用于指定文本行的修订,这样高亮文本、导入导出对比、反馈给其他人都很方便,直接编辑词典文本会出现版本问题也不方便交流沟通。

第二个方案比较好,两种不同需求的用户都能兼顾。

PS:现在开发跨平台应用越来越简单了,指不定哪天就会出现新的作者带来新的格式和让人惊艳的新应用。(或者有人已经在开发了,正在酝酿中 :laughing:

我打算利用春假时间搓个macos端的软件出来…
sryagdjeg_10000.py (6.3 KB)
这是个生成测试数据的Python代码,麻烦您帮忙看下数据库结构合理不…

1 个赞

没有问题,就是触发器那里没看懂,要触发器没什么用吧?

确实是没什么必要,明天起来再改改,直接移除掉得了。
还没想好释义和例句反查怎么实现,从content正文里面分割提取出来然后描点跳转行吗?物书堂是怎么实现的?

物书堂就是把每个句子拆出来加上锚点。如果双解词典的话,就把两条句子拼成一个句子再索引。

忘记问了,你用的软件壳子是啥?支持拼音或者读音(読み)搜索吗?

抱歉,没看太懂,「你用的软件壳子」是什么意思?
我是说想利用春假时间(2-4月)写个词典软件出来,现在用swiftui写的,基础查询(查词头已经搞好了),虽然很简陋就是了。
录屏2025-01-15 13.57.51

1 个赞

软件壳子就是用什么框架写的。比如你用的 swiftui,goldendict/欧路用的 qt, medict 用的 electron,dicttango 用的 winui。你这个就差加载网页了。

加载html吗?已经做到了。
html比较简单,你看下上面那个py代码。

看你截图里网页没动以为你没完成。词头搜索你是想做成物书堂那样吗?还是会支持聚合显示?或者像苹果词典一样?

苹果的词头是这样的:

<d title="make" value="makes" />
<d title="沸く" reading="わく" />
<d title="湧く" reading="わく" />
<d title="朝阳" reading="cháoyáng" />
<d title="朝阳" reading="zhāoyáng" />

搜索 わく:

哦,忘了写清除输入框的时候清除webview那个代码了。
我的词头不是纯文本,有一个检索词头和一个显示词头(为了对付扩展区的字或者像说文那种小篆字头),显示词头是html片段。
什么是聚合显示?

就是你显示词头之后要点击加载词条的内容,物书堂只加载单本词典的内容,苹果词典会加载所有词典的内容,后者就是聚合显示。

明白了,会考虑加个开关控制,毕竟有人喜欢有人不喜欢。

1 个赞