掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 411|回复: 8

[索引] 安卓版GoldenDict:仅有页面首单词索引的图片词典查词

[复制链接]

该用户从未签到

发表于 2026-7-13 01:49:22 | 显示全部楼层 |阅读模式
本帖最后由 chigre3 于 2026-7-13 02:02 编辑
- |1 ~+ p3 `0 C
[设想]一种新的词典格式[专为图片版词典设计]
+ H, `6 I4 A" ]( G; R: U$ \$ zhttps://www.pdawiki.com/forum/fo ... hread&tid=22035 (出处: 掌上百科 - PDAWIKI)
% W3 K: O0 E+ _
' g( u6 \; |9 W
没想到最早的讨论帖子都过去这么久了,当时停留在桌面版GoldenDict可以通过外置的python代码实现图片词典的查词和图片显示。  X/ R5 _) Y& d, W  x" l! Y5 `
现在将功能诉求告诉DeepSeek,让它帮忙写了些JavaScript代码,考虑了很多细节并反复修改优化,最终让这个功能在Android端的GoldenDict也较好地实现了。
  F1 n" k$ y2 Y+ ?$ j当然啦,最好的就是APP本身的搜索框那里就能支持是最好的(DictTango要是加上这个功能就好啦~~)
8 G! j7 C5 h3 M4 K3 i这次提供了工具和例子,有需要就请拿过去用吧。% B) f% [: x; [0 ?, ?) D! s
- V- x3 h' I' |- \- z. F( Z
/ I2 l& w; z) S+ ^6 _  y
简单介绍:
4 L1 Q7 N% n& G5 j/ c$ D4 P0. 支持西文词典(一个词条一个页面),也支持中文词典(一个词条多个页面,如多音字"参")。
  ^: V) a; Y; b8 O2 ^    中文词典搜索结果若有多个,默认显示第一个结果所在页面,并显示结果列表1.2.3.4以便点击查看6 Z1 U: P. y8 c3 V* q

3 y$ l  U/ V/ |4 a) ~0 a/ H- B1. 查询功能入口暂时放在特定的"picdic"这个入口词条7 Q/ b, f; M. Z4 i6 S  N: z

8 @/ c$ T  G$ }  N, T2. 'picdic'入口,默认显示正文第一页
3 C9 r6 \; M# C" S! m- E0 {7 F! a' s
2 c- F7 I% ?) c1 U3. 默认模式下,可对图片进行以下操作:2 O9 v3 l, Q/ W7 o9 e" R$ t
(1)单击:【翻页】左侧1/3→上一页;中间1/3→开启按钮功能区;右侧1/3→下一页7 \5 k7 C) f0 x, W: Q% n  S, }
(2)双击:【放大;开启允许图片拖拽浏览;开启按钮功能区】单次放大倍数1.75,超过5倍返回100%屏幕宽度
' _% ^% Y: t/ r
( U$ r2 f1 L- _  K" I. Q: j- Y- l; v* t4. 按钮模式下,可对图片进行以下操作:4 O! e) m5 W5 t
(1)拖拽:方便拖到自己想看的内容区域
* K" ]& E5 w( {4 l(2)双击放大:单次放大倍数1.75,超过5倍返回100%屏幕宽度
3 N5 V, K8 d* F9 h8 C(3)单击功能按钮:【上一页】 / 【下一页】 / 【关闭】 / 【放大】/ 【缩小】
& t, e  e% H+ |6 f6 j2 W( M    A. 图片已经放大的情况下,翻页显示新的图片大小也一致。
  Q* R2 L! k! O7 T+ k5 [% F- h" q    B. 模仿阅读逻辑,下一页按钮,图片会拉齐到左上角;上一页按钮,图片会拉齐到右下角。
' ^  H- p* F. W& ~4 E    C. 关闭X:关闭功能区,返回初始页面状态$ u* k+ U3 W$ w$ x3 R
    D. 放大/缩小按钮:+0.5 或者 -0.5 scale数值
- l8 L0 o. i9 K1 O" _; O3 j2 x0 T7 m" V5 j& f' z+ N1 J4 s
1 C' b, S# R4 x7 {- l) o* j2 J% s4 M% U
GoldenDict Android 以前还在Play市场,是付费软件。现在众所周知的原因,被下架了。
, Y8 o$ Y% u8 X# A! x作者都不更新了,也提供了免费下载和激活的方式:http://goldendict.mobi/  具体看网页上操作说明吧3 I4 \0 V) p1 e0 x0 M8 X
下载最后的版本,安装后用软件显示的device id,去网页上获得 license文件('goldendict-key.txt')放到goldendict文件夹下。1 G: G% U$ I% M5 B$ C' t6 i: p- z% l

5 U1 _8 U4 v3 P' n# e) L5 Y1 u$ w* C4 Q6 p) t& v8 A' ?1 F
7 d. m7 E" _7 T' Z! K
请自行下载,解压后,不可修改任何文件名,复制到手机内部存储\GoldenDict 文件夹下
; Z" }  t. c  I' C/ u(词典ZIP资源文件的ID是根据‘路径和文件名’得到的MD5 HASH码,已经写进了html和js文件中,固定了放置的路径和文件名)5 r; W& X2 a1 f9 A

! ~. ]& @+ K! k5 f# L! eDOWNLOAD URL: : ]5 ~4 T% {, t( L

% p8 j& s& E6 Q6 G: l1. PicDic_EN-ZH_RHWCD.bmp                词典icon* U+ r) O, A  U) I" p$ W8 h* i
2. PicDic_EN-ZH_RHWCD.dict                Stardict格式,'picdic'入口词条
. t! k" S4 g; R  T) u9 B3. PicDic_EN-ZH_RHWCD.idx                Stardict格式,'picdic'入口词条) |1 t2 p) r% R2 V' M* I
4. PicDic_EN-ZH_RHWCD.ifo                Stardict格式,'picdic'入口词条。.ifo可以用文本编辑器修改词典信息, ~5 @1 R% Q9 X7 }! ?
5 _  |$ t# A' L7 p2 R
5. PicDic_EN-ZH_RHWCD.dsl                Abbyy DSL格式,空壳占位。这个文件的文件名计算得到的MD5 hash值已被写入 PicDic_search.js 的 PIC_RESOURCE_ID)' ?+ N% E# `! v4 n% i
6. PicDic_EN-ZH_RHWCD.dsl.files.zip                Abbyy DSL格式,空壳占位,所有词典图片的资源包【】
4 B6 Q$ O6 o3 b- b& Q" G! v
, `0 Y! A) B' k/ t7. PicDic_EN-ZH_RHWCD_index.dsl                Abbyy DSL格式,空壳占位。0 P& i* ]2 H3 Y
8. PicDic_EN-ZH_RHWCD_index.dsl.files.zip                Abbyy DSL格式,空壳占位,资源包(CSS+INDEX索引+查词js)。为方便修改,不和图片一起打包
0 a3 Q- w! Y  G9 F; S: c0 K→→(8.1 PicDic_EN-ZH_RHWCD.css        入口词条'picdic'的CSS)+ |+ m; [/ ?/ p" J/ E2 r
→→(8.2 PicDic_EN-ZH_RHWCD_index.js                词典的INDEX数据)/ {# Y& A; s2 J$ ?- M' {
→→(8.3 PicDic_search.js                后端查词和调用图片显示等所有功能的通用js代码,这个是核心啦,其他APP要支持就靠这个啦): ~! Y2 N' `  ~/ M# {
$ x# v" k; m0 Z/ N7 N/ H, t  C5 _
. b4 h) H1 s' H- s5 H7 d; M* S) X
原始index文件结构简单(页码\t内容),举例如下,可使用python代码直接转为'PicDic_EN-ZH_RHWCD_index.js'
8 C/ U4 K  T4 P+ S代码也附在这儿了:+ {/ Z: y8 {& W. s: F
) k$ s" x! T- `  q4 F( |4 q5 N) I4 h
0000_00_00        封面; V" _7 t/ r& M- K
0000_00_01        内封
* ^+ K* I  |* s0 J, {2 h) f4 t; Z0000_00_02        版权  r, Z& p$ v9 i& S
0000_00_03          U1 I8 B$ U+ q. _- d/ W* d0 a
0000_00_04        原书编写者名单
/ C, |& I% r7 d5 L- k- f0000_00_05        编译组名单& N# f* X  _. b- L& [
0000_01        编译者前言& j0 b" e1 `3 {) I: l# ]! P
0000_02       
: m% U4 w: ]/ m1 J3 h6 a7 y( p* k0000_03        原书修订版英语序言, A0 \) U4 c  A# _& i/ \: d
0000_04        原书第一版英语序言
, I7 S, \6 C& v6 g9 ~# b) S3 M0000_05        印欧语系语言
  H# q" \+ C) ~& Q0000_06        英语简史; r; g& W8 t- h* x5 V0 v- O
0000_07        7 K* P$ o' _* o+ A0 e
0000_08        3 U. g8 e: G4 o+ }; E6 |
0000_09       
( ?& |7 O" v: u, Q( ?4 I0000_10        + a' `1 [7 f7 e; J: A5 }' G; |* X- v
0000_11       
5 r7 S( S2 f. [' U9 ^1 l/ Z0000_12        用法说明6 c) P  i4 f. I# ~! f0 |
0000_13        ' r$ S. L; f0 d: e2 I0 D
0000_14        + U% o  P; x$ k
0000_15       
. _/ Z, L1 p, S+ U9 Q# h! X1 e0000_16       
) I9 |7 E+ a3 V- {/ L0 ]0 Z3 u5 T+ ]0000_17        美英音标对照表
8 E$ o  e6 j6 ]% y0000_18       
9 S: }9 J( u2 P# i/ @7 |0000_19        目录# f# c) o) \2 Y
0001        aalst
# A: K' i# f7 z$ ]0002        abandon2 \1 m0 i% m% H
0003        abdicate
8 I- G' T0 E' U. z6 v% n0004        abhor  H/ }9 Y, q/ u: D' ~. [* A
0005        ablative absolute- j. Z! C$ A9 `- G$ s
0006        Abominable Snowman6 T; d) w- I( R) t5 a5 c
0007        ab ovo
# _1 y: {  r/ ~1 e0008        absence" M4 Q+ R$ z, P: B/ A
0009        absolve
' w  Q4 }% M2 l" j0010        abstractive1 |7 I7 }( l  s# t& b6 s$ g
0011        abysm1 G: ?% ?8 H# ]; `( E
0012        acarid* I* p- c' K. K- d
0013        accept
; ]( y2 x  {! F; d+ R0014        acclaim, x( L* B- U, x
0015        accordingly* R' Y4 H$ n4 b2 d1 F. _
0016        accumulate
8 {2 K1 @0 Q6 Q4 |) A2 j8 h.............................
. \* |' |/ u9 f  D4 x% p
3 `7 Q/ v; Z& m8 h) ?
6 o: [0 a! p: |$ l----------------------------; S0 h* G3 ^* C! J3 k: ]' }
其他有用的DIY相关信息:6 k3 f/ M( T9 U1 j) @, g2 t* [
1. MD5 HASH计算('路径/文件名', 不包括''):在线版 https://www.md5hashgenerator.com/  当然也可以CMD命令得到(问下deepseek就知道啦)
" R. Z' s# ]3 |* o* Z6 G9 Q, f2. TAB文本转STARDICT:需要安装pyglossary,然后CMD命令行运行:pyglossary PicDic_EN-ZH_RHWCD.txt PicDic_EN-ZH_RHWCD.ifo --read-format=Tabfile --write-format=Stardict; R2 V1 o8 r5 S& _! O  U6 f' o
3. 暂时就这样吧
' B$ r6 W) ^# O9 P9 L$ k- ?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

该用户从未签到

发表于 2026-7-14 23:32:49 | 显示全部楼层
咋支持中文词典的呀?按音序推断的吗?

该用户从未签到

 楼主| 发表于 2026-7-15 00:32:23 | 显示全部楼层
本帖最后由 chigre3 于 2026-7-15 00:37 编辑 2 u) a$ w' h8 A# x/ J

, Y! M% F  B! {; u& P--------------------------
: F4 C" ?* n, t' Y如果词条形式是:中文→页码(1个或多个),那就下面举例的情况。5 f1 v7 S5 U5 a! }8 r
如果词典本身是按照拼音顺序排列的,那也可以录入:拼音→页码,就类似西文处理的方式了(针对拼音,js后端还需要特别处理,使得排序正确吧)6 _! X3 O) h4 C; D+ X' Y( H% Z' q. p
6 Z0 T$ [( ~/ a8 U) }$ V+ a' v0 \( Z7 ^

; E" }) g- x. g, ^# o( Q/ t直接举例吧,用下面的文件替换(只是把原来英文的索引文件后面加了-en,把示例的中文索引加了进来,图片还是兰登的)
6 l) s; ]' O6 ^  h3 G. S【PicDic_EN-ZH_RHWCD_index.dsl.files.zip】 9 [+ L4 X* B4 I* W+ g
& f+ q; G2 {$ V' D- r8 h
1 q+ {/ t  `! p: _- z" k$ S
        "阿": ["0001", "0011", "0015", "1000"],; O* \$ \4 ?5 @1 }# p: ~( W
        "阿门": ["0016"],
" j; l" z4 l8 \( O        "阿姨": ["0008", "0105"],
! i7 u. C  Q# d: v( p- H/ F        "啊": ["0002", "0010", "0100"],
8 r3 h; `, F, U0 ^7 o7 W* @        "吖": ["0003"],8 q1 v( Y# T- ~) j1 J
        "腌": ["0004"],: r+ A& i& y& {
        "挨": ["0005"],, X) S2 z& _  v3 s, O; @5 n
        "唉": ["0006"],5 J+ D. J4 ?  P
        "哀": ["0007"],
! u. \! w- R  N* n        "皑": ["0008"],

# F2 ~* Y! C& b, p
5 A/ _$ b1 K3 h5 G# S/ W% {0 Y! w( `( N
在'picdic'查询界面,输入‘阿',就会出现 ① ② ③ ④,7 c! n8 j* D8 S! w, q* f
分别对应0001,0011,0015,1000这4个页面,默认显示第一个结果4 s# O1 f1 ^8 G! T$ o4 d8 D/ n) K1 d
点击其他序号就显示相应页面。) P! D% x0 V# S/ T! c5 X
图片浏览功能很方便了:翻页/放大缩小/拖动(当然,没有像浏览PDF那么方便)
; o, K) X4 N4 A% |

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

该用户从未签到

 楼主| 发表于 2026-7-15 00:43:24 | 显示全部楼层
实际就是:搞了一个统一格式format的索引式图片词典(无论是只有每页页首单词,或者是详细索引,不论中文还是英文索引)
4 D6 U* h6 O$ h% p2 L" o: d3 G/ E前端展示放在了goldendict的‘picdic’词条下,
# R! V, y# @( Z, m; |  ~* \后端js搞定排序定位/显示结果和图片/图片操作定义等
& X" N7 m" ^/ p& t. h+ X/ P
3 n! q/ J' I( u) b7 F4 j- x- m* c如果有手机端APP集成了这个功能,也就是增添了对于这个统一格式format索引图片词典的支持,9 R" y) a6 g& X0 x! B# _
前端就直接是APP搜索入口,和其他词典一样查询啦,同时显示,那样最好啦。

该用户从未签到

 楼主| 发表于 2026-7-15 01:14:52 | 显示全部楼层
本帖最后由 chigre3 于 2026-7-15 01:17 编辑 - L6 A# X' Z$ q* e5 R! s" `% C" t

  A+ _: G3 {5 Q0 u3 @; Q# F( X20260715:3 i! h( L5 T1 q$ K  i  d  Q
功能增强:
% O; t6 r/ E# Y# a; I' ?$ b1 N; I1. 增设配置文件 picdic_display.ini(也还是js格式,放了常用设置选项)
6 h6 N- M: X6 a2. 增加图片显示时预先加载前后页的可选功能(翻页浏览的感觉更丝滑了)
. ~. ^% I( r- L5 y2. 增加默认模式下的左右滑动翻页功能(手指划一划翻页,很符合手机上操作啊)

该用户从未签到

 楼主| 发表于 2026-7-15 01:29:58 | 显示全部楼层
klwo2 发表于 2026-7-14 23:32$ c9 H: D$ O  U  C
咋支持中文词典的呀?按音序推断的吗?

* Q3 d! U, s( d( U2 Q3 S( U8 u我又想了下,就是如果一本全新的中文词典,只录入了(拼音→页码)这样的最简单形式的索引。对这样的索引词典,如何输入中文后去定位页面呢?% q0 Z5 T1 c( W0 K+ f  I+ W: ]) H
有python包,刚刚去了解了下,可以实现输入中文,转为拼音(多音也可以),然后用pinyin去定位页面。3 ?% e- ^% K4 j' o

2 Z4 }, W% Y( }) o- Qjs有没有这样的功能库我需要再查一下。其实没有,也可以自制一个数据库用来转化咯。

该用户从未签到

 楼主| 发表于 2026-7-15 04:32:46 | 显示全部楼层
功能升级:
% V. W! y; b7 v: I3 B: D) H$ k支持索引类型:拼音,汉字,英文(西文)9 G( M) K1 U6 J: }# \. W
对于中文词典,只制作了拼音索引,也可以支持了
3 g9 h6 f! h( `; s$ P6 P* I-------------------------------------) u% s# s) `. R9 x' N- C" P
输入        索引类型        行为        结果2 u8 Z) a% I) `; ~) \" m5 V( a
"参"        pinyin        取所有读音(can1, cen1, san1, shen1)        合并四个读音对应的所有页面  Y6 |+ Q2 Q' H3 b& }+ z
"参加"        pinyin        取首字 "参" 的上下文读音 can1        仅匹配 can1 对应的页面
) F1 P' B0 }4 M  {/ V9 Y"中心"        chinese        二分查找精确匹配 "中心"        返回 "中心" 对应的页面* H! \0 K/ X+ F( L6 K
"center"        english        二分查找精确/前缀匹配 "center"        返回最接近的页面
2 f, n+ Z1 }7 Z' S"can1"        pinyin        二分查找匹配键 "can1"        返回 "can1" 对应的页面

该用户从未签到

发表于 2026-7-15 19:29:50 | 显示全部楼层
chigre3 发表于 2026-7-15 04:32
$ a2 X( v0 t" N% N- a4 i& B功能升级:7 }/ H! n! e* J; f% y9 ?% u
支持索引类型:拼音,汉字,英文(西文)/ s6 b( L! f% M0 K& g5 T
对于中文词典,只制作了拼音索引,也可以支持了
* U, ?, A+ J" ^/ |0 S4 V
我想来想去,你这套东西可能最适合《古今汉语词典》,因为它是按音序排的,收词量也算大/ W4 M9 Q& C" h+ o9 Y, g
$ h7 J1 ~$ v3 S4 z8 }2 Q* B8 N
也适合《现代汉语大词典》——不过这套书大家都想要精确索引
, @1 U$ W& N( m! J5 p& _
. [2 B+ C3 ^. a1 j它暂时不适合按部首排的,或者按四角号码排的
5 }7 v: q- Z+ @8 i, k. P- t" O7 Z8 D6 i7 v, B
我没工夫研究这个只是留言给感兴趣的朋友

该用户从未签到

 楼主| 发表于 2026-7-16 00:44:42 | 显示全部楼层
klwo2 发表于 2026-7-15 19:29; Y, C+ F) f  _) v7 f  v
我想来想去,你这套东西可能最适合《古今汉语词典》,因为它是按音序排的,收词量也算大
8 L, \& A" P" j- @, V, J5 m% d, r& B( b/ ^! n9 R9 z5 l
也适合 ...

. q5 `. f) I1 j, J7 H我是觉得那些没有文字版的外文词典和中文词典都通用呀
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

小黑屋|手机版|Archiver|PDAWIKI |网站地图

GMT+8, 2026-9-1 23:11 , Processed in 0.021032 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表