查看: 1696|回复: 9
打印 上一主题 下一主题

[讨论] 把 mdx/mdd 放服务器上?

[复制链接]

该用户从未签到

2121

主题

2961

回帖

6万

积分

翰林院修撰

不忘初心。送分大人,灌水砖家。擅长抛砖引玉,挖坑不填。

Rank: 12Rank: 12Rank: 12

积分
61056

翰林院专用章灌水大神章笑傲江湖章小蜜蜂章管理组专用章

跳转到指定楼层
1
发表于 2017-11-30 17:29:52 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Oeasy 于 2017-11-30 17:32 编辑


我又来挖坑了。
其实 mdx/mdd 的在线化,已经有很多例子, 令人崩溃的是,好些 mdx 本身就是抓取词典网站而得。

- https://dic.academic.ru/ 这个站点,把无数 dsl 格式词典在线化了
- http://sentencedict.com/
- 甚至国学大师 http://www.guoxuedashi.com/ 很多词典都来自 PDAWIKI ,把 mdx/mdd 整理之后,做成在线版了,我一般都直接上这个站查汉语大词典等的扫描版
- ……

我的想法是,把 mdx/mdd 等词典文件(以及索引文件?)放在服务器上,本地 GoldenDict 直接查,但是要有权限控制,不公开,就自己或者小范围内用。

当然,服务器其实也就是一台有特殊作用的(虚拟)计算机,也可以是把 mdx 放在 NAS 上,总之就是不需要放在你面前的电脑硬盘、手机存储器里。

……

具体怎么搞,我还没想好。

该用户从未签到

258

主题

1651

回帖

1万

积分

状元

Rank: 9Rank: 9Rank: 9

积分
19159

灌水大神章小蜜蜂章笑傲江湖章

2
发表于 2017-11-30 17:34:54 | 只看该作者
感觉O大就要出大招了。。。。
  • TA的每日心情
    开心
    2020-3-25 07:07
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    129

    主题

    2409

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    17783

    灌水大神章小蜜蜂章笑傲江湖章

    3
    发表于 2017-11-30 19:18:44 | 只看该作者
    这个不错,值得期待。
  • TA的每日心情
    擦汗
    前天 07:00
  • 签到天数: 1090 天

    [LV.10]以坛为家III

    124

    主题

    1772

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    10477

    灌水大神章小蜜蜂章笑傲江湖章

    4
    发表于 2017-12-1 08:04:57 | 只看该作者
    在线化方面mdx格式不太好,象stardict格式就好多了。stardict索引和内容分离,将索引部分放客户端,内容部分放服务端。服务端只需支持断点续传即可,无需任何开发即可使用。客户端查到内容偏移量和长度后直接向服务端发送断点续传的下载请求就可以了。

    该用户从未签到

    95

    主题

    554

    回帖

    2万

    积分

    翰林院编修

    终身学习者

    Rank: 11Rank: 11Rank: 11Rank: 11

    积分
    24557

    翰林院专用章灌水大神章笑傲江湖章小蜜蜂章管理组专用章

    5
    发表于 2017-12-1 09:33:29 | 只看该作者
    其实我倒是有个想法,写个 mdx to sqlite 的程序, 一个mdx 保存为 一个 sqlite 文件,  这样查询啥的都没有问题。
    mdx 更新了,只要重新运行 mdx to sqlite 程序即可。

    排版是个问题,简单的就使用 mdx 自己的 css 文件排版即可。
  • TA的每日心情
    奋斗
    2018-1-13 12:57
  • 签到天数: 82 天

    [LV.6]常住居民II

    3

    主题

    140

    回帖

    1800

    积分

    解元

    字典颜控

    Rank: 5Rank: 5

    积分
    1800

    灌水大神章

    6
    发表于 2017-12-3 12:34:08 | 只看该作者
    解释mdx/mdd的库有python版,有nodejs版。
    之前用nodejs版的库写了点东西,单词释义没太大问题,就是发音部分需要花点时间研究

    把mdd/mdx放在nas的问题就是,远程操作文件的效率太差了,起码windows上面的samba协议经常在gui里卡那么几下。
    linux里的nas协议不知道怎样
  • TA的每日心情
    开心
    2023-2-14 17:52
  • 签到天数: 730 天

    [LV.9]以坛为家II

    2

    主题

    697

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    10623

    灌水大神章

    7
    发表于 2017-12-4 11:31:44 | 只看该作者
    henices 发表于 2017-12-1 09:33
    其实我倒是有个想法,写个 mdx to sqlite 的程序, 一个mdx 保存为 一个 sqlite 文件,  这样查询啥的都没 ...

    支持!如果是笼统地转换,可以写出通用的程序。如果是要将单词(固定搭配)下的释义、例句等不同元素分开存放,针对不同的mdx,需要写不同的sqlite,因为内部html标签和排版不一样。原作者对html的结构最清楚,可以考虑众筹给原作者写。然后对sqlite就可以有很多操作,比如将不同词典的相同单词(固定搭配)的相同释义互相对应起来,按照最优的解释**。例句也可以选出最优的。
  • TA的每日心情
    慵懒
    2020-2-9 17:53
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    9

    主题

    184

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    11480
    8
    发表于 2018-9-19 10:47:04 | 只看该作者
    本帖最后由 不想注册论坛 于 2018-9-19 10:52 编辑

    可以用我我的mdict-java + nanohttpd做Java后台,javafx的webview做服务端UI,Mdict Browser做前端显示。已经验证,前路通畅。
    现在做到单个词典的常规查询。


    不过声音播放有些麻烦,chrome浏览器不能直接播放href=‘sound://’这样的声音,只有服务器UI才能。
    方法是让词典制作者自行处理声音播放,这样也巧妙地解决了在线和本地播放的切换。
    比如(js):
    try(){
       new Audio("sound://someAudio.mp3").play();
    }catch(){
       //如果服务器查不到mdd中的someAudio.mp3, 自动抛出。
       new Audio(在线地址).play();
    }
  • TA的每日心情
    开心
    2019-1-23 23:12
  • 签到天数: 13 天

    [LV.3]偶尔看看II

    4

    主题

    431

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    11543

    灌水大神章

    9
    发表于 2018-9-21 14:41:45 | 只看该作者
    本帖最后由 tsisrep 于 2018-9-21 14:46 编辑
    不想注册论坛 发表于 2018-9-19 10:47
    可以用我我的mdict-java + nanohttpd做Java后台,javafx的webview做服务端UI,Mdict Browser做前端显示。已 ...

    您这个朗文改过排版吧,看起来层次分明些应该是少了发音图标
  • TA的每日心情
    擦汗
    2023-2-10 22:25
  • 签到天数: 83 天

    [LV.6]常住居民II

    1

    主题

    144

    回帖

    3527

    积分

    贡士

    Rank: 6Rank: 6

    积分
    3527

    QQ 章

    10
    发表于 2018-9-21 14:56:25 | 只看该作者
    玩出新高度