宣传一下自己写的基于 web 技术的词典软件

大佬有没有推荐silverdict使用的英语发音词典呀
论坛里sound++等等带离线发音词典可能是格式比较复杂,放进来后显示都不太理想
(比如sound++会多显示一些内容; Macmillan Thesaurus+会让silverdict整体UI缩小一圈等等)

另外未来有没有可能支持有联网资源的词典呢

我用的这个网站上下载到的 OALD 9, 有 BrE 和 NAmE, 但这本收词比较少,有一个 DSL 版本的 Merriam-Webster 挺全的,但是只有美式英语。

这两个没听说过,但是听起来还是 CSS 的问题,可以学习一下 CSS 写法然后把那些影响全局 style 的规则改掉。

本来就没法不支持呀,词典内容如果引用了外部网站上的东西,会自动加载的。

1 个赞

试试删掉这本词典 mmt.css 首行的:


* {
    font-size: .86rem;
}


话说 SilverDict 没做词典间的css隔离么?:thinking:

1 个赞

@Sunny1 @crissium
感谢解答 :heartpulse:
做词典间的 css 隔离确实挺有必要的,我之前在GitHub上反馈的一些问题也是词典css互相影响导致的,有的时候甚至整体UI和文字会变色

GitHub - Crissium/SilverDict: Web-Based Alternative to GoldenDict 参这个第二条。有什么更好的方法吗?

我不知道原 gd 是怎么做到的,但 gd-ng 的做法似乎是 WebView 里面某一时刻只加载一个词典的内容?这个办法是最开始用的,后来给改成一次获取所有内容方便上下滑。

1 个赞

原版 GD 的词典隔离 (#L280),是直接给词典的样式文件里的每个选择器前面加上词典的ID就可以了。随便词典的样式文件怎么写,都能做到隔离,但同名的字体没法隔离,不同词典的同名字体会互相覆盖,只有最后的字体能生效。NG 应该也是这样隔离的(我不确定没仔细看过 NG 的代码。缺点是脚本隔离,需要词典作者自己实现。

还可以参考 MDict、苹果内置词典的隔离实现,这两个用的 iframe 框架,隔离效果很好,不止样式、字体、脚本也能完美隔离,手机端的话每本词典都可以是独立的 WebView,也类似没有隔离的问题,缺点就是卡顿,多词典容易崩溃。

3 个赞

非常感谢解释,我刚把这段代码翻译成 Python 抄过来,完全隔离了不同词典的规则。

3 个赞

大佬修复火速呀,赞!
大佬最近发版吗,如果最近不发更新的话我手动替换下文件体验一下

(刚看到已经更新了 :joy:)
谢谢:pray:

目前搭配这个油猴脚本实现了划词调用silverdict搜索
到silverdict点击“添加搜索引擎”然后自己录制步骤即可(点击搜索框输入,然后点候选词第一个位置)

还想问下大佬以后可以支持这种添加网站搜索吗,如果能实现就太好了

本来就支持的,如果我理解正确。参数格式是

http://localhost:2628/?group=English&key=word
1 个赞

大佬的意思是现在已经支持添加“词典网站”作为词典源了吗

比如这个的英语搜索要如何添加呢

我理解错了……

未来应该不会实现这个功能。本来这个项目就是个“在线词典”,用一个网站去查另一个网站的东西感觉怪怪的。而且,现在的设计决定了能查的只能是本地的词典,工作原理是事先把各个词的解释的位置存到一个本地数据库里,然后查询时取回这个位置信息,据此去读本地文件的一小块。

1 个赞

好的,感谢解答 :smiley: