|
本帖最后由 chigre3 于 2021-1-12 11:50 编辑 $ a1 f, k7 Y9 U$ j( D
0 O! B/ u4 s: V% b Q* U$ O
2021.01.12更新:
* o F) p: {; t. C% ^$ p. fMD5 HASH值【路径、文件名 都区分大小写】
2 Y6 l; q# T, u8 {/ V1 h1. DSL格式:.dsl 或者 .dsl.dz, k4 J1 N; \# \2 K' e5 k
2. STARDICT格式:.ifo/ _ ~$ O( ~8 L8 N1 ?. H
3. BABYLON格式:.bgl
' a# j. X" i6 z* n5 J4. ...其他
4 y. G$ ?" B% w9 I1 n% W. z' u" G! i9 n. R% O; n
2021.01.11更新:
% `8 ?4 k9 a% M. J/ _ ]8 aGoldenDict 安卓版的词典ID产生是转化带目录的文件名hash为MD5得到(STRING TO MD5):
2 a/ H! O2 v; C9 @) j$ Whttps://www.md5hashgenerator.com/
y7 B8 K C E- W4 k7 Y, vID事先可以确定,就可以有比较有趣的用途了!!
9 ^& t* S; z& u+ e4 q; q/ c3 I7 i2 F4 l3 }2 c/ Q
例子①:a.dsl + a.dsl.files.zip 放置在 /goldendict/ 目录下
% E5 P% R) _; G! d& Z则:a.dsl ---> cf720ab20d00f14ea433254b99c5c1b8
+ q, O6 K# g% y6 f( C' ]4 |' F- c; B! Z# j
例子②:a.dsl + a.dsl.files.zip 放置在 /goldendict/zzz/ 目录下
G6 d% d* p& z \则:zzz/a.dsl ---> 5a4a28e8fab346d876be7e2218556487
. I5 u7 G u0 `! R4 V/ d0 | V; m `: @, d' _( b- p
  
% ]9 Y- L. G1 J6 [- U4 J- {: ~9 L `1 H# J3 q" J L2 t" I Q
为什么这么折腾?
R/ C% ]/ X% s6 B 1. 查词时不想输入特殊字符
' R! H* h3 C$ Z, {7 ~* m9 H0 l, H3 S 2. 名词、形容词等变形、动词变位等等直接根据hunspell返回原形单词
1 A9 \: m; S/ \ 3. 个人制作的切词版词典,DSL+ZIP格式最为简单
1 O# O. K) \( U4 W安卓版goldendict能满足我个人上述使用要求,并且安卓版goldendict支持的词典格式也是很多的,详见安卓版官网:http://goldendict.mobi/$ X# q, s4 F. x6 S/ t. x8 }
- Lingoes .LD2 files
- Babylon .BGL files
- ABBYY Lingvo .LSD, .DSL, .LSA and .DAT files
- StarDict files
- Dictd files
- Hunspell morphologies+ B C8 ]( b( k3 E0 n
9 j8 s/ s5 h+ k$ s! D
/////////////////////////////////////////////////////////////////1 j. s/ |# s$ U
7 o0 F: l) V. E3 e' o& D" A1 f3 D O
额,先附上一个很早的帖子:安卓版 Goldendict 支持 .mdx .mdd 的方法 (经验)
# A0 ~4 ]7 Z1 h3 J9 [https://www.pdawiki.com/forum/thread-13437-1-1.html
4 A2 E/ X2 a, C$ A
/ W" E% V3 ?; ^2 H8 G0 C2020.05.07 更新: 把goldendict安卓版原生的添加audio的js函数加上这样做的目的是让APP里不用点击自己设定的按钮键,直接点击APP上的工具栏上的发音键就可以了!(第一个音频)
) Z! s0 _3 C8 e9 j2 M2 c+ d4 _+ E5 _请参考gd本来的js函数 gdAddAudioLink( dictionaryId, url )! {' |7 a! C- e: S& q; a7 i2 S" e
<script language="JavaScript">gdAddAudioLink( '词典ID', "content://mobi.goldendict.android/audio/词典ID/音频名%2emp3" ); </script>
& e7 z1 _+ H: m) [<a href="content://mobi.goldendict.android/audio/词典ID/音频名%2emp3"><img width="20" height="20" src="content://mobi.goldendict.android/asset/playsound.bmp" border="0" align="absmiddle" alt="Play"></a> - var gdAudioLink;& p3 f# c8 [, H+ v
- var gdAudioLinks = {};
; p5 u( s9 K4 L) X/ L+ u/ b
; Y" S1 R4 }- Z. i X- function gdAddAudioLink( dictionaryId, url )
* L9 M" ^" W* \+ J0 g - {
0 _) [( W! c2 h/ a - if ( !gdAudioLink )
/ A9 h( @) m! d; U" v" r& G2 ^# D - {# S8 ~3 O" o3 ?6 G* d* ?8 X# J
- gdAudioLink = url;; J; m$ A4 ` g9 a- l K0 {
- // GDHost.setHasAudio();
5 q2 Y' D- N$ e3 w; e - alert( 'setHasAudio://' );* O% B# z+ C4 o) g: ` i
- }; ]5 O [: l# l& M
- U/ K8 |: P7 b" t$ V, s- // Only add the first sound in the dictionary
% Q' Q' W2 t6 J& o. r8 m - if ( !( dictionaryId in gdAudioLinks ) )0 I0 ~+ T1 m9 X0 a8 X
- gdAudioLinks[ dictionaryId ] = url;; x4 D) x8 i) U/ g
- }
复制代码
5 m |' }" b: o
- b# K9 G0 m) S) M9 Q; e% q: V _# U! Q7 T4 p) e/ ^' Z
2020.05.06 更新:测试词典和工具、教程下载链接:站内附件:
& [' y5 b$ P# J A百度网盘:链接:https://pan.baidu.com/s/16YjbXM1YbdP-YR2-PG--0w 提取码:5lkl& t2 q- [" a- y. l
, W- Y0 w2 L2 ?* ^1 J* n7 x/ l9 o ( d4 {6 K& I( M0 q
3 I0 U6 q& k; v5 O8 z1 o( `9 M8 q3 @ , P: j: c# I: o" Y5 { }
5 z. I+ v# U: [3 y解压到文件夹,阅读:___ReadMe_请阅读我先.txt
5 f" I1 u i- g X7 F你好!本文档为简略说明,请适当理解并自行DIY操作!
. e, C7 n d5 k+ v---------------------
, L% @: P. m3 X4 f' T; s, U目标:让安卓版Goldendict曲线支持MDX/MDD(MP3/图片/JS/CSS)8 W, j8 M" ~" z- G0 c
结果:
- U; u$ u& c. \% \" I- g0 QMDX 转为 Stardict格式的.ifo .idx .dict或.dict.dz
* Y4 k# N" y# C+ M( u! K8 q/ n0 aMDD 转为 空壳DSL+ZIP8 [* n4 O; @$ [0 y% y2 j# A: B
---------------------9 R8 L; p8 W. v- I( Q* `7 ?
(1) 获取词典ID的词典, 注意在Goldendict词典管理界面将其放置至末尾
* l, `. L j% W1 v├── _GetDict_id(Any-Any).bmp
* R- t2 R$ i4 P* n8 p├── _GetDict_id(Any-Any).dict7 y: E5 H+ Y( y: ^
├── _GetDict_id(Any-Any).idx4 S# p& T3 B1 U
└── _GetDict_id(Any-Any).ifo
4 g3 [5 I% |$ F* R- W
: { ]% a# h. K& D5 ]# \, S+ B* m(2) 测试词典资源ZIP和空壳DSL9 e- k& u& p$ J9 d+ V8 n4 n
├── 测试词典.bmp【词典图标】1 F) I! E+ L$ h; U \
├── 测试词典.dsl【词典资源文件空壳DSL,仅设一个词条a,用于获取词典ID】
1 t, ]8 S; l0 D3 \: i, {3 p% V2 q└── 测试词典.dsl.files.zip【词典资源文件打包为zip,包含CSS/MP3/PNG】
; ]1 ?5 M% r8 {9 B5 s# w: z┈┈┈┈┈┈┈┈├── YHCD_IT-ZH.css* t9 f1 }; m0 s: V: S) r
┈┈┈┈┈┈┈┈├── p068052.mp3
" y' R1 c# N5 I; ^: [7 ?9 j) n┈┈┈┈┈┈┈┈└── 604_WW_001(1).png
9 x% r, }% v# e# p, j1 C( s0 O
( \# {! ^! \0 j: c(3) 修改测试词典.txt里引用的资源文件的路径
" S: @" T) g$ u# o! U& V测试词典.txt 【词典MDICT文本】
+ E$ O+ K. m9 k% q┈┈┈└── 测试词典.mdx 【词典MDICT格式MDX; 下一步使用GetDict2_6.exe转为stardict格式】) ~) V2 W e; m* z7 N' C1 {
┈┈┈┈┈┈┈┈┈┈├── 测试词典.dict 【说明:可用 dictzip.exe 压缩】1 G9 J3 u4 @" T, E9 D3 m: Z
┈┈┈┈┈┈┈┈┈┈├── 测试词典.idx1 m' J4 e. v, L) O9 _+ k
┈┈┈┈┈┈┈┈┈┈└── 测试词典.ifo
]( t, U# _# t1 B" V" v
* y R& O4 d6 F# s! U(4) dictzip.exe 【压缩 .dict 为 .dict.dz】
2 }9 b, F, M) Q5 q: p(5) GetDict2_6.exe 【示例为用其转换MDX为StarDict文件】! t+ d% e' a, A/ c
---------------------
% u0 y4 M! A6 `! L9 D7 m& `) v1. 将(1)(2)的文件放入手机sdcard/GoldenDict目录下, 打开GoldenDict, 扫描词典进行索引化, 设置这2个词典的源语言例如为Aa(Afar) 目标语言为Any(Any), 并且(1)的词典顺序始终要在(2)之后
4 W6 W) X, X% d" B2. 右上角设置语言对:Aa - Any,查询 a,得到(2)的词典ID' }- l7 I! j, }) }
3. 修改测试词典.txt里相关的路径里的词典ID, 转为MDX, 再转为StarDict格式 (其中.dict可以使用dictzip.exe压缩)$ A4 s+ d+ K' C* U. M& M, [8 L
4. 将上一步得到的词典文件 (.dict或.dict.dz, .idx, .ifo) 复制到手机sdcard/GoldenDict目录下, 打开软件扫描词典索引化
% ?2 ]* g* Z6 [1 R: r5. 查询provare, 测试:(1) CSS加载成功,版式显示正确; (2) 点击小喇叭, 单词发音正确; (3) 点击数字1/2,图片显示正确
7 I; {5 c& H! D0 ?* D- s
( T' o4 N6 J2 I- J% M6 n; C注意点:
+ v# S8 i! k( _' ?9 ]CSS/图片/JS等路径:content://mobi.goldendict.android/resource/词典ID/文件名%2e后缀名
& r1 P6 T1 s; K3 jMP3等Audio路径:<a type="audio" href="content://mobi.goldendict.android/audio/词典ID/文件名%2emp3">点击发音</a> ) B8 A' A! y& m" X
2020.05.05 更新:成功实现!!!9 V* w: f( ]3 p% `& y% W
安卓系统的GoldenDict加载DSL/ZIP格式时发音文件路径调取如下:
& C+ d4 R$ n0 g. k3 }- @. m; x* F4 R3 k' ^
<span class="dsl_s_wav">
4 o2 Q8 O4 d- s3 X<a href="content://mobi.goldendict.android/audio/词典ID/音频名%2eMP3">; F- r F9 h+ A! o* b) ^
<img width="20" height="20" src="content://mobi.goldendict.android/asset/playsound.bmp" border="0" align="absmiddle" alt="Play">
% y1 m* }2 _- R, _4 Q</a>
u1 l6 b) W- H& s6 j</span>! {% Y, g! U2 M; {: P- A
; _. V/ F8 \: m. f9 T+ F- _" p4 x D1. 新建一个空的外壳资源DSL/ZIP,复制到手机上,打开goldendict,通过JavaScript获取其词典ID
3 V/ u# z6 q+ T" S( b2. 使用 GetDict2.6 转换MDX生成Stardict格式的词典(注意:MP3等资源文件的路径和.号)- e. f8 I' F3 ~ M7 m- V
& x% S. {8 f) X! U$ a
一句话总结:STARDICT格式词典获取另外一个DSL/ZIP格式词典的资源作为己用: N$ y0 x6 S8 n0 i; V1 u" j s
方法有点曲线救国~~
. \7 d R# q- H) v
7 x9 B! m9 y1 q3 N
/ \ S& S) e. D
& `$ |/ O _7 ]+ l4 L
+ d0 U" [' L" j* e3 T6 W$ ~
& C) X7 O& \8 X5 Q1 k. y# Z6 A" F ]- h( w% _% j
( y% o: ?% J. m- Q
- F N+ B7 B- u$ d# F( N |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?免费注册
x
评分
-
1
查看全部评分
-
|