|
|
本帖最后由 chigre3 于 2021-1-12 11:50 编辑 + X' H2 h( o% `* J6 L6 R+ s! t
0 }/ I# h2 y9 R2021.01.12更新:
0 e, j. O G% f3 B) \3 M, nMD5 HASH值【路径、文件名 都区分大小写】: g, q$ ?* P0 I3 p
1. DSL格式:.dsl 或者 .dsl.dz
, \ v% D/ P. l4 O8 n2. STARDICT格式:.ifo, s- N' x; X8 ?. I
3. BABYLON格式:.bgl7 Y- N" k( D2 w f! l5 R2 g9 P
4. ...其他
( I' I9 \1 N! V' d% {, E- k
2 s A( P6 ~ A; }2021.01.11更新:: U S P& G/ {! Z
GoldenDict 安卓版的词典ID产生是转化带目录的文件名hash为MD5得到(STRING TO MD5):* ]+ q c' z2 ~7 ^& t+ C1 u+ j! B
https://www.md5hashgenerator.com/
9 O/ o# `* l FID事先可以确定,就可以有比较有趣的用途了!!9 ?. M/ J3 R, _3 b, F
% N3 O+ q9 L) e2 v& Z# u8 |
例子①:a.dsl + a.dsl.files.zip 放置在 /goldendict/ 目录下
0 d& I+ p! l2 G/ ?! ]( y则:a.dsl ---> cf720ab20d00f14ea433254b99c5c1b8
% y* {- A2 t3 X7 |
: I9 a* x: F! m- a; q9 S7 j9 }0 r, c5 q例子②:a.dsl + a.dsl.files.zip 放置在 /goldendict/zzz/ 目录下7 A+ N& {# f2 Y: n( i J5 L8 I
则:zzz/a.dsl ---> 5a4a28e8fab346d876be7e2218556487
1 o- q3 I2 V9 Y" E; n0 C0 P0 O9 }/ m w' T9 m p
  7 e* \8 ~* b4 r7 n8 p
% T$ T. I; P$ k V2 S! i& `" J为什么这么折腾?. C+ s0 T4 q$ I3 \* ~' Q8 s
1. 查词时不想输入特殊字符/ C: T5 }! t1 ?; q" L1 j6 M
2. 名词、形容词等变形、动词变位等等直接根据hunspell返回原形单词
: J9 a8 H( x* b7 t' x; F' B' m 3. 个人制作的切词版词典,DSL+ZIP格式最为简单
' T- A, H; N. b3 Q2 [* e+ U q安卓版goldendict能满足我个人上述使用要求,并且安卓版goldendict支持的词典格式也是很多的,详见安卓版官网:http://goldendict.mobi/
$ C1 d# s! K' w- Lingoes .LD2 files
- Babylon .BGL files
- ABBYY Lingvo .LSD, .DSL, .LSA and .DAT files
- StarDict files
- Dictd files
- Hunspell morphologies; S- s, d5 m% D
# q1 r" q1 I7 g! Z& h
/////////////////////////////////////////////////////////////////; [0 i) O- o0 E0 M6 T
* `& @- {8 ~" Z
额,先附上一个很早的帖子:安卓版 Goldendict 支持 .mdx .mdd 的方法 (经验). H0 W ^5 A; w
https://www.pdawiki.com/forum/thread-13437-1-1.html
; Z. Y/ ?: |! ^% t6 L" N/ _$ m
5 \3 i; D% d( h, |2020.05.07 更新: 把goldendict安卓版原生的添加audio的js函数加上这样做的目的是让APP里不用点击自己设定的按钮键,直接点击APP上的工具栏上的发音键就可以了!(第一个音频)' K2 q# M% t0 ^' E$ Q+ D+ T
请参考gd本来的js函数 gdAddAudioLink( dictionaryId, url )
1 {3 |# J2 u% q1 F<script language="JavaScript">gdAddAudioLink( '词典ID', "content://mobi.goldendict.android/audio/词典ID/音频名%2emp3" ); </script>" r# L5 n I" p9 T% N
<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;4 x! D# f7 V# E k
- var gdAudioLinks = {};7 I/ g' v% n; B1 P% K2 z2 [5 H# O
- 2 }6 e( V2 x- [; O4 b2 ?
- function gdAddAudioLink( dictionaryId, url )) p+ l1 S; E/ f8 u0 N& T/ ^
- {
9 I# S( w2 |0 N - if ( !gdAudioLink )
2 a1 j5 n8 k7 U4 { - {
, ?% T, B& R( D - gdAudioLink = url;, q' V9 V7 y- ^
- // GDHost.setHasAudio();
3 t- t3 H$ |5 K7 i. e; f& Q - alert( 'setHasAudio://' );
4 P3 d1 z" X1 x* Y - }
- @3 z+ D( g9 G$ @ Q5 I, o
0 [2 }, P# C) V1 J( s- // Only add the first sound in the dictionary- ~* a4 y3 u U
- if ( !( dictionaryId in gdAudioLinks ) )! t( i6 b5 U3 T
- gdAudioLinks[ dictionaryId ] = url;
& W3 ^: k; h- S- }% ~" g" Q& A - }
复制代码
. h! g6 |# ~7 ?! k; t2 P/ p# G/ U7 m* w' t+ ^6 k
" _$ {5 S( Y) A" C; f- e2020.05.06 更新:测试词典和工具、教程下载链接:站内附件: 0 k% L$ _. B9 a6 w' e
百度网盘:链接:https://pan.baidu.com/s/16YjbXM1YbdP-YR2-PG--0w 提取码:5lkl$ x* P1 F J' A/ x% W
5 w z8 x7 F8 s
. E9 y2 E' {( I" L3 Y. X# e
/ p5 @+ N# d$ r0 X( A

4 r% K3 I2 n5 G2 ?' Y h8 @
0 q5 G& c( D" |7 V! O解压到文件夹,阅读:___ReadMe_请阅读我先.txt
& M2 E9 m! D0 q( H你好!本文档为简略说明,请适当理解并自行DIY操作!
2 c9 r3 s* B# K9 v$ t. P---------------------- e4 b& r2 J+ `# c7 z
目标:让安卓版Goldendict曲线支持MDX/MDD(MP3/图片/JS/CSS)
6 F. h) N, s* |, F3 a* j) x2 ~结果:7 H' {" u7 A7 O- F p
MDX 转为 Stardict格式的.ifo .idx .dict或.dict.dz
4 B* z5 C$ d% ]8 s$ K; ]MDD 转为 空壳DSL+ZIP
! T, Z# x5 i) D' ~% _ G6 f---------------------% M& q. q8 O: ~: c T' c0 t
(1) 获取词典ID的词典, 注意在Goldendict词典管理界面将其放置至末尾
3 o! ], A5 Y8 |7 |├── _GetDict_id(Any-Any).bmp2 Y. |7 r3 V" [/ N5 ?0 M4 ~
├── _GetDict_id(Any-Any).dict
8 T0 [7 L; F. z! s├── _GetDict_id(Any-Any).idx
* x& t/ o+ Q' ]# I└── _GetDict_id(Any-Any).ifo
% Z+ T* k& k$ d0 o3 k, U' O" _9 j, u5 t
(2) 测试词典资源ZIP和空壳DSL) _' E" ?& [2 [. z1 j; C
├── 测试词典.bmp【词典图标】: T9 b7 p( \* ~& ~2 t; `
├── 测试词典.dsl【词典资源文件空壳DSL,仅设一个词条a,用于获取词典ID】& r# j8 i- V9 q; S
└── 测试词典.dsl.files.zip【词典资源文件打包为zip,包含CSS/MP3/PNG】
- h9 V) A( |3 y+ ~4 e+ b/ c┈┈┈┈┈┈┈┈├── YHCD_IT-ZH.css; q) R1 O2 s& i5 d
┈┈┈┈┈┈┈┈├── p068052.mp3* B/ ?: a) t7 l
┈┈┈┈┈┈┈┈└── 604_WW_001(1).png
3 k, ^( f9 S" ~/ h2 I9 D& m/ ^2 @& h$ W5 i+ _" s: E
(3) 修改测试词典.txt里引用的资源文件的路径
4 ]4 V$ k, b3 M* }测试词典.txt 【词典MDICT文本】
. {- g7 t+ \: h. Z# f# ~┈┈┈└── 测试词典.mdx 【词典MDICT格式MDX; 下一步使用GetDict2_6.exe转为stardict格式】
+ {) q5 q: z0 ]" g: {( ~: ]- X5 B┈┈┈┈┈┈┈┈┈┈├── 测试词典.dict 【说明:可用 dictzip.exe 压缩】7 [+ j+ i7 r+ s9 Q/ z, v$ O
┈┈┈┈┈┈┈┈┈┈├── 测试词典.idx- {( E+ K: ^5 k; |( U# F
┈┈┈┈┈┈┈┈┈┈└── 测试词典.ifo2 Z- H& k7 Z ?8 a9 v
* z5 s' _( L& l# @; R7 Q(4) dictzip.exe 【压缩 .dict 为 .dict.dz】8 Q5 I" Z1 n# E2 L
(5) GetDict2_6.exe 【示例为用其转换MDX为StarDict文件】
. P8 z$ r+ X Q( b---------------------1 U& z: @" H) Y2 M0 M) `. q
1. 将(1)(2)的文件放入手机sdcard/GoldenDict目录下, 打开GoldenDict, 扫描词典进行索引化, 设置这2个词典的源语言例如为Aa(Afar) 目标语言为Any(Any), 并且(1)的词典顺序始终要在(2)之后( H ]- z Z% l1 k
2. 右上角设置语言对:Aa - Any,查询 a,得到(2)的词典ID
5 o- L9 j, K' J+ W* X6 @3. 修改测试词典.txt里相关的路径里的词典ID, 转为MDX, 再转为StarDict格式 (其中.dict可以使用dictzip.exe压缩)% O5 C Z+ T i9 A* A
4. 将上一步得到的词典文件 (.dict或.dict.dz, .idx, .ifo) 复制到手机sdcard/GoldenDict目录下, 打开软件扫描词典索引化
( T. [& w- k# M3 o- }4 j5. 查询provare, 测试:(1) CSS加载成功,版式显示正确; (2) 点击小喇叭, 单词发音正确; (3) 点击数字1/2,图片显示正确- O) O( Y# ^# }
3 p/ ]" B( h8 a7 |* Y6 h: i5 ?6 h3 x
注意点:& t; g5 x& ?3 p! u" B0 K
CSS/图片/JS等路径:content://mobi.goldendict.android/resource/词典ID/文件名%2e后缀名
6 D( l G6 B' _9 ~MP3等Audio路径:<a type="audio" href="content://mobi.goldendict.android/audio/词典ID/文件名%2emp3">点击发音</a> - X- T( J7 M5 ]8 T9 m- E
2020.05.05 更新:成功实现!!!: c+ C$ f" |9 m# ?- }6 Z7 {8 f: g
安卓系统的GoldenDict加载DSL/ZIP格式时发音文件路径调取如下:( R; T" B8 i( y% N( `
0 |* n' F5 ]* V! j8 w, @
<span class="dsl_s_wav">
+ J0 a. i) ^5 p* f8 U( X<a href="content://mobi.goldendict.android/audio/词典ID/音频名%2eMP3"># S' }$ O9 U9 x( c! _2 Z
<img width="20" height="20" src="content://mobi.goldendict.android/asset/playsound.bmp" border="0" align="absmiddle" alt="Play">
# J: l3 H D- q6 p; P9 s) C</a>
1 a) l- O3 D n' y+ P</span>
9 t) a2 _/ }7 E: f8 B$ M4 E8 q; ^
7 f# f4 ?! V0 `/ W/ J" \+ E# F1. 新建一个空的外壳资源DSL/ZIP,复制到手机上,打开goldendict,通过JavaScript获取其词典ID4 s! x; A% C: i- \. Z
2. 使用 GetDict2.6 转换MDX生成Stardict格式的词典(注意:MP3等资源文件的路径和.号)
% T/ [1 |5 ^! F7 z
J7 {; N6 ~, \/ |一句话总结:STARDICT格式词典获取另外一个DSL/ZIP格式词典的资源作为己用, ^ T+ m! y! N! t6 M; a, g$ y( K) l
方法有点曲线救国~~& u1 R2 p* o! C1 m2 p8 B# E
) _ H8 h( W- {/ W$ D9 q- v ^+ t1 k0 S, A9 u) S2 c5 p
' V6 L1 M! ~. `: C/ }* ~9 u
+ T7 D+ D/ x7 z I f0 \" z [- @# B! U" H( M2 Z7 [ l7 ^, t
8 ~; j% R9 ]' l6 N
! C2 v3 J& B! v* X; z
/ S4 ]% ^ r, H' M4 Z, d
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?免费注册
x
评分
-
1
查看全部评分
-
|