Closed czz404 closed 8 months ago
欢迎建议 :)
增加对compact html紧凑格式的支持
这两天会实现。
简繁通搜如果能实现不依赖标记组的语言为 zh ,直接在默认组就能实现就好了
这个不会支持。简繁转换和希腊文阿拉伯文 ASCII 转写用的是同一套 API, 如果我默认支持 zh, 要不要默认支持 el, ar, 甚至是以后可能加上的 Farsi, Urdu, 各种 Perso-Arabic 的/用西里尔字母的语言,印地语梵语呢?即便只加上 zh 也会影响从 suggestions 到查词各种功能的性能。
加上 zh 十分容易,新建一个 group, 语言填上 zh 就行了,然后把词典加进去。直接强行修改 Default group 的 lang 字段不是不行,这么写:
- lang: !!set
zh: null
name: Default Group
三栏宽度可调整 词典名称字体大小可以稍微小一些
我不是设计师,前端的一点东西也都是为了这个项目自学的,所以水平有限。我这几天把后端该实现的都实现之后会用一些业界成熟框架(而不是直接用 React 自己 home-grow components)重新设计前端,这些建议我都会记下来。
好的,谢谢大佬🙏
你觉得这次宽度如何?我不知道怎么才能拖拽调节宽度,如果需要自己改,可能只能修改代码重新 build 了。
另外,compact HTML 已经支持,如果急着用,克隆最新代码即可。
感谢,很漂亮。🌹 这几天在外面,等回去了再更新。
调整宽度需要修改的行:
感谢大佬的更新,新版很漂亮! 我想再请教一下形态分析sibel的安装使用。 是只需要将 Hunspell 词典放入 ~/.silverdict/hunspell,再安装 Python 包 sibel(pip install sibel)就可以实现了吗 我看说明有点没看明白,还是还需要安装有libhunspell-dev和libicu-dev吗
*-dev
包都是编译时依赖,如果你有办法直接搞到二进制(像是在 Debian 上直接 apt install python3-hunspell
),那就不需要 dev 包,只需要 libxxx 之类的,也就是库文件 shared objects (.so). 但是大多数平台不打包二进制的 PyHunspell, 更别提我刚写出来的 Sibel 了,只能用 pip 从源码安装,这时候就需要自己编译,需要 *dev
包,不然会编译失败。
也就是说,在 pip install sibel 之前,需要安装 libhunspell-dev 和 libicu-dev. 另外需要小心的是,Sibel 为了优化,定义了一个非常大的常量替换表,可能导致编译器撑爆内存(在我手机上大概 3 GiB 可用内存,炸了),解决方法:
好的,感谢解答!
大佬您好,发现有两个词典似乎不能正常查询,能麻烦大佬看下问题吗 https://czz404-my.sharepoint.com/:f:/g/personal/frank_czz404_onmicrosoft_com/EjzPpT-KRhFLlnTMLoG670sBqG7N8B6qqoXbHM-SVYpujw?e=4XVe4K
文件名里有“法汉汉法词典”字样的词典已经删了?
拉魯斯正在看。
另外我有本正常工作的 StarDict 格式的法汉汉法词典。一般来说,StarDict 作为开源格式,不管是性能还是处理麻烦程度都要远远优于 MDict.
法汉汉法词典的问题已经修好了,在最新的 commit 里。那本拉鲁斯我没看出来问题,是指语音不能正常播放吗?这点正常,语音格式是 Ogg Speex, 至少我用的 Firefox 是没有解码器的。另外这些“语音”怎么听都是机器合成的,感觉没必要留着。我有一个有 121320 个词条的纯语音法语词典,需要吗?
附件是之前提到的 StarDict plain text 格式的法汉汉法词典,上面 mdx 格式的看起来和我的那个在内容上没有区别(最终来源应该都是古老的金山词霸内置的词典),只是把 LF 全换成了 <br>
而已。
感谢分享!这个法汉汉法词典格式内容上确实差不多,但查询多个意思的词时似乎词头有问题。比如查faire搜不到,但查 faire 01 , faire 02 , faire 03 , faire 04 可以。就还用原来的好了。 拉鲁斯那个我又试了一下确实没问题。 另外还有一本显示也有些问题(有丢内容的情况),麻烦大佬看一下。 词典:https://czz404-my.sharepoint.com/:u:/g/personal/frank_czz404_onmicrosoft_com/ETMi1urfZkpFnv7mvztnUCIBFneFLjLPcC3iWj056PBN3A
感谢继续反馈 MDict 问题!
这个问题已经在最新的 commit 中修改了,根源在于,这个词典看起来一开始也只是 plaintext, 被人用 <br>
换掉了所有 LF 后,又给所有 part of speech 都加上了 styling, 但是忘记这东西是 HTML, 没有 open/close 的 root tag.
感谢大佬解答!辛苦了
大佬有空再看下这个,部分内容不显示 词典:https://www.lanzoum.com/i0wRi1oksora 十分感谢!
大佬有空再看下这个,部分内容不显示 词典:https://www.lanzoum.com/i0wRi1oksora 十分感谢!
已修,在最新 commit 中,等有些界面翻译的问题处理完之后大概会发新版。
感谢报错,我主要测试的是 DSL 词典,绝大多数都是商业公司 ABBYY Lingvo 制作的,格式比较统一,MDict 几乎都是 user made content, 只能靠用户反馈个别问题了 :)
另外建议每次发现新问题都 reopen 一下,不然有时候如果邮件被淹没了,我在 GitHub dashboard 也看不到。
好的,感谢!🙏
一本有点粗糙的“半成品”词典不知道大佬能不能看下问题
https://www.lanzoum.com/iubAB1q1galg
不知道是不是因为结构什么的写的不太好,和 GD-ng 呈现出来的区别很大 感谢!
(这本好像不太完善,常有标签套错之类的情况,如果大佬不好做适配我就不用这本了)
一本有点粗糙的“半成品”词典不知道大佬能不能看下问题
https://www.lanzoum.com/iubAB1q1galg
不知道是不是因为结构什么的写的不太好,和 GD-ng 呈现出来的区别很大 感谢!
(这本好像不太完善,如果大佬不好做适配我就不用这本了)
修好了,不是词典的问题,是代码的问题。我打算再攒几个 commits 再发布新版。
直接把最新的 commit 复制粘贴过去就行。
哇,谢谢大佬!
大佬,我弄好后这里和你的截图呈现的有点出入,是我这里词典配置的原因吗
大佬,我弄好后这里和你的截图呈现的有点出入,是我这里词典配置的原因吗
我觉得应该是别的 MDict 的 CSS 干扰到了,可以排查一下是哪个,然后手动改一下这些讨厌的规则。
确实是这个原因,感谢🙏
https://www.lanzoum.com/iZdob1q25cgd
大佬,这本有点小问题,会多显示一些样式内容
https://www.lanzoum.com/iZdob1q25cgd
大佬,这本有点小问题,会多显示一些样式内容
已改,感谢报错,这个 bug 还可能会影响到 StarDict.
大佬,此次更新后发现一些以前可以正常显示css效果的词典现在不行了 比如这个:https://www.lanzoum.com/ifhjv1q7lnwb 之前文字上有颜色的(和GD-ng显示相同),现在没有了。
大佬,此次更新后发现一些以前可以正常显示css效果的词典现在不行了 比如这个:https://www.lanzoum.com/ifhjv1q7lnwb 之前文字上有颜色的(和GD-ng显示相同),现在没有了。
都是哪些词典,能列举一下词典文件名吗?我怀疑是名字问题。
感谢回复,我印象比较清楚的有这几个,难道和名字里的空格有关
感谢回复,我印象比较清楚的有这几个,难道和名字里的空格有关
对于你之前分享的词典,对 server/app/dictionaries.py:136
行的函数做以下修改后,删掉并重新添加词典,问题解决:
def add_dictionary(self, dictionary_info: dict) -> None:
# Remove whitespace and prepend '_' to make it a valid CSS selector
dictionary_info['dictionary_name'] = '_' + ''.join(dictionary_info['dictionary_name'].split())
dictionary_info['dictionary_filename'] =\
self.settings.parse_path_with_env_variables(dictionary_info['dictionary_filename'])
(也就是加了两行。)
试一下别的行不行?
感谢大佬回复,测试了一下只有分享给你那本恢复正常了 那两本也是来自论坛的,但体积比较大,大佬我用什么网盘分享给你方便一些呀
从哪里下载的?可以直接把源地址发给我,我自己下。
我似乎看出问题了,稍等。
改两个地方,上面的函数开头改成(又加了两行):
def add_dictionary(self, dictionary_info: dict) -> None:
dictionary_info['dictionary_name'] =\
self._re_illegal_css_selector_chars.sub('', dictionary_info['dictionary_name'])
# Remove whitespace and prepend '__' to make it a valid CSS selector
dictionary_info['dictionary_name'] = '__' + ''.join(dictionary_info['dictionary_name'].split())
41 行下面加上(就是 class 下加两行)
class Dictionaries:
_re_illegal_css_selector_chars =\
re.compile('[\\~!@\\$%\\^\\&\\*\\(\\)\\+=,\\./\';:"\\?><\\[\\]\\\\\\{\\}\\|`\\#]')
_re_legacy_lookup_api = re.compile(r'/api/lookup/([^/]+)/([^/]+)')
解决了,感谢大佬!
大佬您好,我是论坛过来的,老占楼回复不太方便,在这里记录一下我的小建议
功能上:
界面上: