查看: 5766|回复: 73
打印 上一主题 下一主题

[工具] 我开发了一个安卓版的词典软件,兼容Mdict和StarDict的词库,放到论坛和大家交流。

[复制链接]

该用户从未签到

6

主题

14

回帖

127

积分

童生

Rank: 2

积分
127
跳转到指定楼层
1
发表于 2016-7-1 11:55:56 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 东风解冻 于 2016-7-1 20:25 编辑

我开发了一个安卓版的词典软件,兼容Mdict和StarDict的词库,放到论坛和大家交流。
软件还提供了丰富的词库开发接口,方便词库开发者实现各种功能,如果没有你想要的功能还可以和我联系。
二楼提供了词库开发接口。

另外,我对当前词库的数据并不是太满意,如果谁有合适的数据,我希望和您一起做一个词库。
最核心的数据包括:
  • 简洁,词条的解释不要太臃肿。
  • 针对每类解释中的每个解释都有例句。
  • 如果例句有发音就更好了。


下载地址
百度网盘下载

1.png (133.19 KB, 下载次数: 0)

1.png

2.png (145.83 KB, 下载次数: 0)

2.png

3.png (152.53 KB, 下载次数: 0)

3.png

4.png (53.72 KB, 下载次数: 0)

4.png

5.png (227.56 KB, 下载次数: 0)

5.png

该用户从未签到

6

主题

14

回帖

127

积分

童生

Rank: 2

积分
127
推荐
 楼主| 发表于 2016-7-1 12:04:30 | 只看该作者
本帖最后由 东风解冻 于 2016-7-1 14:12 编辑

## 文件结构
- 将词库放到 codetimes/dict/dict/目录下,每个词库一个目录。
- 一个词库目录中包含以下文件:
    - 词库数据文件。如:mdx, mdd, inf, idx, dict.dz等文件,目前支持StarDict和MDict的词库。
    - dict.png。词库图标,72*72像素大小的PGN图片。
    - dict.css。样式文件,必需以dict.css命名。
    - dict.js。脚本文件,必需以dict.js命名。
    - 资源文件。资源文件可以包含子目录结构。建议将资源文件整合到mdd等专用的资源文件中。

## 样式
- 为了更好的用户体验,请尽量使用预置样式。
- 预置样式详细见预置样式源代码。

  1. body
  2. {
  3.         font-family: 宋体, Helvetica, Arial, sans-serif /*{global-font-family}*/;
  4.         font-size:13px;
  5.         color: #595857;
  6.         margin: 0px;
  7.         padding: 4px 10px 4px 10px;
  8.         background: #f3f0e9;
  9. }

  10. /* 标题栏中的当前词条 */
  11. #current_word
  12. {
  13.     color:#E58339;
  14.     font-weight:bold;
  15.     font-size:24px;
  16. }

  17. /* 用于高亮例句中的当前词条 */
  18. .current_word
  19. {
  20.     color:Green;
  21. }

  22. /* 词性 */
  23. .pro
  24. {
  25.     color: White;
  26.     background-color: #999999;
  27.     font-size: 14px;
  28.     min-width: 30px;
  29.     display: inline-block;
  30.     padding: 1px 2px 1px 2px;
  31.     text-align: center;
  32.     font-weight: bold;
  33. }

  34. /* 词意 */
  35. .dec
  36. {
  37.     font-size: 15px;
  38.     font-weight: bold;
  39.     padding: 1px 2px 1px 2px;
  40.     vertical-align: baseline;
  41. }

  42. /* 例句原文 */
  43. .sent
  44. {
  45. }

  46. /* 例句译文 */
  47. .tran
  48. {
  49. }

  50. /* 高亮 */
  51. .highlight
  52. {
  53.     color:#E58339 !important;
  54. }
复制代码

## 脚本
- 默认已经引用了JQuery开发框架。
- 自定义脚本时,需要编写dictExecute函数:

  1. // 此函数将在切换词库时自动调用。
  2. // dict:词库信息;object类型;大体的格式如下:
  3. //    {
  4. //        "bookName":"锐特英汉词典",
  5. //        "date":"2013.06.17",
  6. //        "description":"Enjoy!",
  7. //        "wordCount":0,
  8. //        "author":"锐特"
  9. //        "dictSize":0,
  10. //        "dictVersion":"1",
  11. //        "dictVersionCode":0,
  12. //        "type":"main"
  13. //    }
  14. // word: 当前要查的词;string类型;
  15. // response: word词条的数据;string类型,如果词条的数据是一个JSON字符串,可以用eval("(" + response + ")")将其转化为JSON对象;
  16. // 在编写脚本的过程中,你可直接使用这些参数中的数据。
  17. function dictExecute(dict, word, response){
  18. }
复制代码

- 预置JS函数
  1. // 用cls类样式标记source中的word
  2. // 例如: markWord("This is a good dict.", "good", "hightlight"); 将会返回"This is a <span class="hightlight">good</span> dict."
  3. function markWord(source, word, cls);

  4. // 分词,给每个单词加上一个<w>标签。当用户点击<w>标签时,将会弹出其文本解释。
  5. // source 句子
  6. // 例如: splitWord("This is a good dict."); 将会返回"<w>This</w> <w>is</w> <w>a</w> <w>good</w> <w>dict</w>."
  7. function splitWord(source);
复制代码


## 词条数据
- 词条数据,可以是HTML、文本、JSON、二进制。
- 为了能更好在手机上使用,建议对每个词条的HTML进行压缩,去掉其中的换行和空字符,网上有现成的压缩工具。
- 对于各词条布局比较简洁统一的词库,建议词库只用来存储JSON之类的数据,用JS来生成HTML页面。
- 预置HTML标签扩展:
  1. <!--entry://跳转;key: 跳转到key单词;不推荐使用,为了更好的用户体验,请尽量使用词内查词功能替代。-->
  2. <a href="entry://key">key</a>

  3. <!--sound://发音;其后是发音文件的路径,这个路径可以是一个文件路径也可以是MDD等资源库中的key。-->
  4. <a href="sound://uk/outlive_gb_1.aac">a sentence.</a>

  5. <!--给单词加上<w>标签,当用户点击这个词时,就可以实现词内查词;可以使用内置的函数自动给句子中的每个词都加上<w>标签。-->
  6. <w>word</w>
复制代码


## 资源
- 资源可以词库目录下,但最好是放在转用的资源库中,如:mdd文件。
- 资源路径中的分隔符使用\例如:\pic\test.png。
- 音频资源格式建议使用Android和IOS都支持的AAC(推荐)、MP3,其中AAC的文件更小。
- 软件已经包含了一些预置图标,可直接使用:
  1. uk_pron.png 英式发音图标
  2. us_pron.png 美式发音图标
  3. voice.png 语音图标
复制代码


## 注意事项
- CSS, JS等文本文件如无特殊说明均使用UTF-8

## QA
- 目前支持哪些格式的词库格式?
目前支持StarDict和MDict的词库。
MDict词库目前暂不支持加密。
StarDict词库为了提高手机平台的使用效率仅支持压缩后的.dict.dz格式。

- 如何添加的词库?
将词库放到 codetimes/dict/dict/目录下,每个词库一个目录。

- 我制作词库时需要技术怎么办?
请在论坛发帖,我会全力技术。

- 自带的词库数据是否会开源?
会的,自带的词库数据是JSON格式的,如果你使用同样格式编写词库,那就可以直接使用对应的脚本,并有完整的功能支持。

## 开发计划
- 单词发音
- 支持多语言词库的索引

该用户从未签到

5

主题

277

回帖

865

积分

举人

Rank: 4

积分
865
推荐
发表于 2016-7-1 12:41:12 | 只看该作者
本帖最后由 ncq001 于 2016-7-1 12:44 编辑

还想要的关键(基本)功能:
1、支持带分组管理的单词本功能(能与PC等平台联机同步),可以导入/导出单词文本文件,有PC端支持编辑管理生词分组和导入/导出。
2、支持词典正文中单词的弹出式跳查功能(当前正在阅读的正文不变),查出的单词可以再加入生词本指定分组中。
3、对于MDX类型的词典,可以控制不同词典正文内容的显示,比如新牛津2中,如果不需要显示词源部分正文,可以有选项控制显示或关闭。
4、生词本提供单词简要义项列表方式,或详细方式(多词典),其中列表中的内容能指定使用哪个MDX的词典,比如牛8还是新牛2.
  • TA的每日心情
    开心
    2020-3-25 07:07
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    129

    主题

    2409

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    17783

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

    3
    发表于 2016-7-1 12:06:04 | 只看该作者
    支持,但是我只用PC版,希望将来有。
  • TA的每日心情

    2020-5-4 18:04
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    0

    主题

    8

    回帖

    91

    积分

    白身

    Rank: 1

    积分
    91
    4
    发表于 2016-7-1 12:19:13 | 只看该作者
    支持,准备试试

    该用户从未签到

    29

    主题

    424

    回帖

    5232

    积分

    会元

    Rank: 7Rank: 7Rank: 7

    积分
    5232

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

    7
    发表于 2016-7-1 15:58:11 来自手机 | 只看该作者
    支持开发,感谢分享。
  • TA的每日心情
    开心
    2019-6-28 11:53
  • 签到天数: 28 天

    [LV.4]偶尔看看III

    6

    主题

    976

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    13997

    灌水大神章

    8
    发表于 2016-7-1 16:34:57 | 只看该作者
    謝謝分享,請問有其他下載地址嗎?這個下載地址要花10小時以上@@

    该用户从未签到

    6

    主题

    14

    回帖

    127

    积分

    童生

    Rank: 2

    积分
    127
    9
     楼主| 发表于 2016-7-1 17:04:02 | 只看该作者
    group1234 发表于 2016-7-1 16:34
    謝謝分享,請問有其他下載地址嗎?這個下載地址要花10小時以上@@

    一会我放一个到百度网盘。

    点评

    謝謝~~  发表于 2016-7-2 11:04

    该用户从未签到

    19

    主题

    363

    回帖

    2553

    积分

    解元

    Rank: 5Rank: 5

    积分
    2553

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

    10
    发表于 2016-7-1 20:15:12 | 只看该作者
    哇感觉好棒!要是变成一个支持mdx的背单词软件就好了
  • TA的每日心情
    慵懒
    2023-2-4 11:26
  • 签到天数: 579 天

    [LV.9]以坛为家II

    12

    主题

    1027

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    12103

    灌水大神章

    11
    发表于 2016-7-1 23:41:25 | 只看该作者
    安装后,打不开,闪退

    该用户从未签到

    0

    主题

    120

    回帖

    428

    积分

    秀才

    Rank: 3Rank: 3

    积分
    428
    12
    发表于 2016-7-2 14:25:29 | 只看该作者
    73.5兆为什么这么大?

    该用户从未签到

    6

    主题

    14

    回帖

    127

    积分

    童生

    Rank: 2

    积分
    127
    13
     楼主| 发表于 2016-7-2 15:46:03 | 只看该作者
    尤泽毅 发表于 2016-7-2 14:25
    73.5兆为什么这么大?

    包含了两个词库一个是自己的,一个是牛8

    该用户从未签到

    6

    主题

    14

    回帖

    127

    积分

    童生

    Rank: 2

    积分
    127
    14
     楼主| 发表于 2016-7-2 15:46:39 | 只看该作者
    865052004 发表于 2016-7-1 23:41
    安装后,打不开,闪退

    可能是在部分手机上有Bug,我再好好检查下。

    该用户从未签到

    6

    主题

    14

    回帖

    127

    积分

    童生

    Rank: 2

    积分
    127
    15
     楼主| 发表于 2016-7-2 15:47:36 | 只看该作者
    fnaviwwo1 发表于 2016-7-1 20:15
    哇感觉好棒!要是变成一个支持mdx的背单词软件就好了

    想过以后写一个背单词的,慢慢来。
  • TA的每日心情
    慵懒
    2023-2-4 11:26
  • 签到天数: 579 天

    [LV.9]以坛为家II

    12

    主题

    1027

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    12103

    灌水大神章

    16
    发表于 2016-7-3 11:21:07 | 只看该作者
    还是闪退 华为荣耀6p,安卓6.0

    该用户从未签到

    6

    主题

    14

    回帖

    127

    积分

    童生

    Rank: 2

    积分
    127
    17
     楼主| 发表于 2016-7-3 11:29:01 | 只看该作者
    865052004 发表于 2016-7-3 11:21
    还是闪退 华为荣耀6p,安卓6.0

    谢谢 我测试下
  • TA的每日心情
    开心
    2023-1-25 21:22
  • 签到天数: 1144 天

    [LV.10]以坛为家III

    1

    主题

    1127

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    14375

    灌水大神章

    18
    发表于 2016-7-4 04:33:55 来自手机 | 只看该作者
    谢谢,我感觉非常好
  • TA的每日心情
    开心
    2018-9-16 07:45
  • 签到天数: 77 天

    [LV.6]常住居民II

    75

    主题

    122

    回帖

    13万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    130013

    QQ 章灌水大神章笑傲江湖章

    19
    发表于 2016-7-5 14:18:32 | 只看该作者
    只有安卓的吗?亲

    该用户从未签到

    0

    主题

    120

    回帖

    428

    积分

    秀才

    Rank: 3Rank: 3

    积分
    428
    20
    发表于 2016-7-5 14:54:14 来自手机 | 只看该作者
    建议可以把自带的词典去掉
  • TA的每日心情
    开心
    2023-3-23 04:42
  • 签到天数: 397 天

    [LV.9]以坛为家II

    7

    主题

    1356

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    16086

    灌水大神章

    21
    发表于 2016-7-5 21:50:55 来自手机 | 只看该作者
    支持楼主,谢谢楼主分享
  • TA的每日心情
    开心
    2020-9-24 15:44
  • 签到天数: 293 天

    [LV.8]以坛为家I

    0

    主题

    439

    回帖

    7666

    积分

    会元

    Rank: 7Rank: 7Rank: 7

    积分
    7666
    22
    发表于 2016-7-6 16:42:53 | 只看该作者
    強大!這一定要試試看,謝謝
  • TA的每日心情
    开心
    2019-9-3 09:48
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    2

    主题

    108

    回帖

    1594

    积分

    解元

    Rank: 5Rank: 5

    积分
    1594
    23
    发表于 2016-7-6 18:48:31 | 只看该作者
    安卓6.0,闪退!
  • TA的每日心情
    慵懒
    昨天 22:42
  • 签到天数: 1438 天

    [LV.10]以坛为家III

    0

    主题

    1889

    回帖

    3万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    36283

    笑傲江湖章灌水大神章

    24
    发表于 2016-7-7 09:33:53 来自手机 | 只看该作者
    荣耀3c 安卓4.0 查词无反应