[跨平台 Mac/Win/Linux] 词典APP Medict (开发者预览版)讨论

要是好几个mdd怎么办?
图片的一个
发音的一个
……,
有的是把css,js都打包在了mdd里了,
能把词典文件都放到一个文件夹就直接载入一个文件夹最好了。

目前还不能正常发音(我明天再自己鼓捣鼓捣),字体载入显示不正常(看音标里的小方块),很不错了,慢慢弄,把基础的功能完善了就很OK了。

跳转还不灵

因为我词典用的不是很多,你说的多个mdd的情况我还没有遇到过,不过这个功能不复杂,可以支持的
载入文件夹的话,目前有一个安全性的问题,目前的技术是将mdd中的资源加载到一个特定文件夹中,然后用网页的方式渲染的,所以用户的js代码目前是需要放在特定的文件夹里面隔离的,这样可以保护用户不被恶意js攻击。

这个可以让APP自动拷贝mdx所在文件夹的js、css文件到特定文件夹解决,但是mdx mdd 文件因为太大了,所以还是要用户自己选择的


新版本修复了宽度问题
https://github.com/terasum/medict/releases/tag/v2.0.1-1059881327

1 个赞

It works. :+1:

建议让 mdd 和词典描述都是 optional 的。 :hugs:

既然是用Typescript 开发的,建议插件这一块借鉴 VS Code 的做法,把插件们放到单独的 Extension Host 进程里,而UI等则在主进程里。这样一来,如果任何插件性能不佳或者不稳定,不存在会把主进程搞崩的情况。虽然每个插件都占用一个进程浪费一些内存,但这种空间换稳定的方案,可以为各类插件作者提供良好的创作基础。
比如,基于有把图片mdx 进行OCR的需求,今后也许会有利用百度云OCR或 Free OCR API 的插件。

1 个赞

试用了一下(Windows 10 pro 1809)感觉很棒。暂时发现几个小问题:

  1. 删词典时会完全卡住;
  2. 重复词头好像不支持,比如在新牛津里搜china(词典里有两个词头)只能显示一个;进一步使得左侧列表词头与右侧释义在顺序上错位(搜china再逐个点列表词头);
  3. 某些@@@=Link没有处理,还有些词条释义空白(例如搜japan,再逐个点列表词头)
  4. 输入对大小写敏感;
  5. href词头跳转和发音好像还不支持;
  6. 无法添加不含mdd的词典。

抱歉你说的这个词典我我无法下载得到,你说的几个问题:

  1. 删除词典是会完全卡住,是否能够描述的更加详细一些,删除字典仅仅是修改一下内存中的配置,应该不会卡住的
  2. 重复词的问题,这个我们在js-mdict库研发的时候讨论过很多次,大小写不同的词我们在查找的时候是认为不同的词的,即根据词典配置,应该是大小写敏感的,顺序错位的问题,我怀疑是 @@Link 直接跳转导致的,就是其实是不同的词条,显示了相同的内容. @@@=Link 没有处理,这个可能需要逐个例子去解决
  3. 还有些词条释义空白 这个也需要case by case 解决 我需要先下载到这个新牛津(这个我想想办法)
  4. 大小写敏感这个是词典决定的,不是APP决定的
  5. href 跳转在oale8词典中已经完美支持,这个也需要针对特定词典进行调试一下
  6. 这个问题是已知问题,正在解决中

非常感谢你的反馈,目前已经在逐个解决

你的建议非常好,我会在实现插件功能的时候采用这种设计的,谢谢!

1 个赞

谢谢反馈,目前已经是优先级第一的优化点

1 个赞

目前mdd文件必须要选择,现在已经出现了 0-多个 mdd 文件的需求,这个功能目前我会优先解决,非常感谢反馈

今天试了下,没有mdd的好解决(临时的方法),css打包个mdd就可以了,多个mdd还不知道,看来还要你出手了 :+1:

新版本已经修复,可以选择0到多个mdd文件

2 个赞

新版本已经修复删除词典会卡住的问题

目前正在处理@@Link的问题,资源已经由W2K发给我了,感谢!

原帖新牛津百度云:
提取码:u6ke
解压密码:NODE@PDA

  1. (例:新牛津)就是执行 设置->词典配置->词典详情->删除词典->确认 后,界面停留在词典详情卡住,只能退出程序再重新打开。但重启Medict后显示词典是有被成功删除的。
  2. (例:新牛津)两个完全相同的词头索引(“china”,“china”,均小写),MDict中可单独显示(见图),GoldenDict和欧路可拼接后显示,而Medict只显示了其中一个词头(见图)。另外,错位问题(见图)。

    image


  3. (例:新牛津)搜 “japan”,显示空白。(词典中有三个完全相同的“japan”索引)。搜 “japanned”,出现错位的@@@Link(见图)。
  4. (例:简明英汉必应版)如果做成大小写敏感,输入小写 “pda” 无法搜到 “PDA”,有些不方便,而MDict,GoldenDict和欧路都可以不区分大小写去搜索。
  5. 感谢修复!

你好,针对词典大小写的问题,请问你是否可以花点时间先帮我看看这个issue的讨论呢?

我们针对词典的大小写问题讨论了很久,但是没有征求实际用户的需求,今天遇到的这个问题我觉得有必要再深入讨论一下,感谢!

这个大小写的问题其实主要是如下几种情况

  1. 词典制作者设置了keyCaseSensitive为true 所以词典应该是大小写敏感的,搜小写应该是无法返回大写的
  2. 词典制作者设置了keyCaseSensitive为false,但是在制作的时候还是出现了Chinachina这种词条,这种情况下,我目前的策略是先搜索和用户搜索目标一致的,即先搜索China然后再搜索china

词典制作时,词头只是在排序的时候转成小写排序,实际写进入索引,仍然是原始的词头。

就我个人而言,站在用户的角度,我并不关心词典是如何制作的,是如何设置keyCaseSensitive的。举个不恰当的例子,wikipedia中随便找一个词条 “The legend of Nyaminyami”,若是大小写敏感,想必很难搜到,靠用户来区分,不太现实。

MDict中查询尽管仅返回一个结果,但suggest list中不区分大小写条件下的相同词头(“China” 和 “china”)是紧邻排列的,很容易切换;而GD和欧路的拼接显示,也免去用户输入时需要担心大写还是小写。不论keyCaseSensitive设置为true还是false,结论均成立。

另外,大小写完全相同的词头(“china” 和 “china”)在MDict和GD也是可以显示的。

terasum 兄,能在初期就有此成果相當不容易,值得鼓勵與慶賀,令人佩服,請仁兄在圖片辭典多加費心,顯示有點問題,不知是否是css沒有自動加載…且圖面也過大了,…謝謝啦!讚!加油


把 css 複製到詞典資源的目錄後,顯示正常,但導航的翻頁和詞條均無法動作