|
本帖最后由 chigre3 于 2021-1-12 11:50 编辑 6 }: F8 t5 G% l, p$ Q! Q
% |. x5 E+ o7 O2021.01.12更新:
( I3 C m0 }) K4 g+ [MD5 HASH值【路径、文件名 都区分大小写】+ `( J- L7 k, u3 n
1. DSL格式:.dsl 或者 .dsl.dz
' q; r/ V U0 c' z6 j) `) y2. STARDICT格式:.ifo* p0 l7 m% Q$ F7 k
3. BABYLON格式:.bgl
, u# G& E% P' d, g' Z2 B" G4. ...其他: g& R2 I- E; B. Q
. l9 {1 z4 I1 \& j2021.01.11更新:+ q. [& g0 ]. X( i( r- ?
GoldenDict 安卓版的词典ID产生是转化带目录的文件名hash为MD5得到(STRING TO MD5):
, |" r* x+ v$ ~: T# b/ f$ bhttps://www.md5hashgenerator.com/; P& W' I: K; G% ]' r8 ~
ID事先可以确定,就可以有比较有趣的用途了!!' e* s; g; d- g5 R2 U4 p
6 _& K! a# d# S1 A# r" S例子①:a.dsl + a.dsl.files.zip 放置在 /goldendict/ 目录下9 K# Y" [9 }# M/ Q d
则:a.dsl ---> cf720ab20d00f14ea433254b99c5c1b87 d- a/ ~* e" I L
/ |+ T1 U/ V4 o
例子②:a.dsl + a.dsl.files.zip 放置在 /goldendict/zzz/ 目录下3 a- ~) V9 T. |2 t8 P, _4 @* ?4 l
则:zzz/a.dsl ---> 5a4a28e8fab346d876be7e2218556487
. f8 D+ a$ v. Y+ v+ D8 \
) e8 a; d: H) M! m. z! N) _& }2 X0 C5 }) g) Z0 u: t* c1 b) h9 j
7 ~ i! K; A) L3 u J F为什么这么折腾? p- e' [1 C4 Y/ t4 P' z
1. 查词时不想输入特殊字符6 {3 E# t- p# u- j& o0 l+ X
2. 名词、形容词等变形、动词变位等等直接根据hunspell返回原形单词. J, _ e. J2 W4 Q( A( e+ P
3. 个人制作的切词版词典,DSL+ZIP格式最为简单! i9 i0 P7 _2 z
安卓版goldendict能满足我个人上述使用要求,并且安卓版goldendict支持的词典格式也是很多的,详见安卓版官网:http://goldendict.mobi/
5 l" `/ J1 b- K' P6 U8 Z- Lingoes .LD2 files
- Babylon .BGL files
- ABBYY Lingvo .LSD, .DSL, .LSA and .DAT files
- StarDict files
- Dictd files
- Hunspell morphologies; [. b' t/ D6 s
: E/ W+ @( `! {4 O/////////////////////////////////////////////////////////////////
* @' f! H1 x( S' J* ^ @0 Y v7 @
额,先附上一个很早的帖子:安卓版 Goldendict 支持 .mdx .mdd 的方法 (经验)
- O7 ? r* p7 I) ^' U9 \( Ahttps://www.pdawiki.com/forum/thread-13437-1-1.html
2 B& ?- M9 H0 [5 n7 z
. N% v( ]% g @7 y( }2020.05.07 更新: 把goldendict安卓版原生的添加audio的js函数加上这样做的目的是让APP里不用点击自己设定的按钮键,直接点击APP上的工具栏上的发音键就可以了!(第一个音频)
3 i1 ]' g! @9 G$ k* @& S请参考gd本来的js函数 gdAddAudioLink( dictionaryId, url )
- ]+ d! ]- C' @! n0 e* b& x( o/ R. I<script language="JavaScript">gdAddAudioLink( '词典ID', "content://mobi.goldendict.android/audio/词典ID/音频名%2emp3" ); </script>0 j0 q1 R8 `+ T
<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 z7 t0 M0 _" a2 b" H+ K% } - var gdAudioLinks = {};
9 \) ^4 ?6 U' x- J, L. F - 8 v; r/ d" C* e& f
- function gdAddAudioLink( dictionaryId, url )
' q4 Y& L, z, v; T4 T; C; a - {
1 {: w: S: m& E - if ( !gdAudioLink )
9 f; z* _- [# R! `8 a - {
; C' V% |0 f( U4 Z* p" ~5 q. l+ M - gdAudioLink = url;
/ W7 ` G" t1 X+ ` - // GDHost.setHasAudio();& }* w6 i# q b4 z- Q2 z$ L
- alert( 'setHasAudio://' );
]- D( g5 n. {8 | - }- N, H% p% [0 N+ i4 [) M0 X
- 0 V+ V9 @. e& ~/ {- z, e. ]% K
- // Only add the first sound in the dictionary9 o. q8 J, y0 J5 @$ c; C/ Q: L+ a
- if ( !( dictionaryId in gdAudioLinks ) )
8 ^" }9 @+ t4 e, ]6 j" ^# p - gdAudioLinks[ dictionaryId ] = url;( w& {2 n7 o6 e" H$ x( R/ o
- }
复制代码 / Y2 ^' U% d: b) ]
3 X2 I+ \! m( m) O1 X" B: t* O* [3 [8 v8 E9 E5 I
2020.05.06 更新:测试词典和工具、教程下载链接:站内附件: , i3 O: [' Y7 l5 X* c+ T' P) W
百度网盘:链接:https://pan.baidu.com/s/16YjbXM1YbdP-YR2-PG--0w 提取码:5lkl+ g, }% A, a4 U4 Y3 [; P" I
* _# S4 h. @, V; u4 K2 j4 l
! P; P) ^2 D! G4 j, C
" e& u! W2 i3 n0 t! ^9 V
- V( o/ W" \- a4 |4 S6 N+ }, R
5 Z* X7 j5 ^; {+ ~& `7 g) }
解压到文件夹,阅读:___ReadMe_请阅读我先.txt
/ ]4 C3 v7 d0 f8 K3 }. \你好!本文档为简略说明,请适当理解并自行DIY操作!# N4 c6 ?' {0 S1 p0 Z
---------------------
9 B* |9 s' }/ I目标:让安卓版Goldendict曲线支持MDX/MDD(MP3/图片/JS/CSS)& V' S( G8 L; l" m/ w0 z- t M7 m
结果:6 B$ i' B3 p3 n" w2 P4 G
MDX 转为 Stardict格式的.ifo .idx .dict或.dict.dz
9 u. ^- x% n) d4 D) d0 |* iMDD 转为 空壳DSL+ZIP- g0 `7 z- A, V4 p, Q" m
---------------------
1 Q8 D ~8 ] V( K(1) 获取词典ID的词典, 注意在Goldendict词典管理界面将其放置至末尾; C O1 h) }* ~8 U5 ?
├── _GetDict_id(Any-Any).bmp
; b& b q( M! a├── _GetDict_id(Any-Any).dict
0 n4 K+ q( ]4 z# M& _' @├── _GetDict_id(Any-Any).idx
7 F* {" C8 r: p0 |- K' o g└── _GetDict_id(Any-Any).ifo
& I' `% g0 @3 T( R) t6 c e# D: o" O, Q2 {- x
(2) 测试词典资源ZIP和空壳DSL
* H. { f8 |+ f% V S5 i. H8 S├── 测试词典.bmp【词典图标】
2 R/ @1 b# Y4 }9 B) g├── 测试词典.dsl【词典资源文件空壳DSL,仅设一个词条a,用于获取词典ID】
& ^9 ]0 ^2 L# |! D└── 测试词典.dsl.files.zip【词典资源文件打包为zip,包含CSS/MP3/PNG】
3 M; s) H: q" W$ K5 ^, s2 U3 D. }( O┈┈┈┈┈┈┈┈├── YHCD_IT-ZH.css; V. l/ l* @) z+ Y8 X$ M3 {
┈┈┈┈┈┈┈┈├── p068052.mp3. e' y" P" U" K
┈┈┈┈┈┈┈┈└── 604_WW_001(1).png3 F/ Y9 f/ w8 h3 x
5 R4 s, k* [( B) o) E& K& @(3) 修改测试词典.txt里引用的资源文件的路径) W1 R; @! }0 ^: R- {4 Q
测试词典.txt 【词典MDICT文本】
( k, o: _4 }. H' F. n$ G; \! {┈┈┈└── 测试词典.mdx 【词典MDICT格式MDX; 下一步使用GetDict2_6.exe转为stardict格式】) u. {' v8 ^* C1 }" P8 _
┈┈┈┈┈┈┈┈┈┈├── 测试词典.dict 【说明:可用 dictzip.exe 压缩】
' m+ J6 P% M) G7 q2 S┈┈┈┈┈┈┈┈┈┈├── 测试词典.idx' c/ c; T7 |1 {8 C. U( Q
┈┈┈┈┈┈┈┈┈┈└── 测试词典.ifo) J/ y) Q/ D5 X; C
" p. t, W0 i: `- K7 ~/ d1 c6 ~(4) dictzip.exe 【压缩 .dict 为 .dict.dz】, L1 r2 K- w3 c6 J4 L" H! S
(5) GetDict2_6.exe 【示例为用其转换MDX为StarDict文件】$ t. Z% F1 Q, |1 i8 c& C
---------------------( _1 ^/ {# \' A6 t: l7 k! t, @
1. 将(1)(2)的文件放入手机sdcard/GoldenDict目录下, 打开GoldenDict, 扫描词典进行索引化, 设置这2个词典的源语言例如为Aa(Afar) 目标语言为Any(Any), 并且(1)的词典顺序始终要在(2)之后
. u4 F$ d h8 C" ?2. 右上角设置语言对:Aa - Any,查询 a,得到(2)的词典ID
! V0 Z: x6 d. R- S6 [3. 修改测试词典.txt里相关的路径里的词典ID, 转为MDX, 再转为StarDict格式 (其中.dict可以使用dictzip.exe压缩)3 j/ \$ R3 z5 k& v
4. 将上一步得到的词典文件 (.dict或.dict.dz, .idx, .ifo) 复制到手机sdcard/GoldenDict目录下, 打开软件扫描词典索引化
4 b" i( s- r9 c2 {4 J& N5. 查询provare, 测试:(1) CSS加载成功,版式显示正确; (2) 点击小喇叭, 单词发音正确; (3) 点击数字1/2,图片显示正确; u5 j8 W: w9 ]0 Z+ n2 P
2 V0 L$ j7 K+ g3 x8 s+ I
注意点:
- p* |: s/ W- e: f& vCSS/图片/JS等路径:content://mobi.goldendict.android/resource/词典ID/文件名%2e后缀名! T ` R2 @4 { z
MP3等Audio路径:<a type="audio" href="content://mobi.goldendict.android/audio/词典ID/文件名%2emp3">点击发音</a>
3 ^0 P o; g. y2 N" T) }9 `, D V4 V6 f2020.05.05 更新:成功实现!!!$ m5 P% e; ~& o
安卓系统的GoldenDict加载DSL/ZIP格式时发音文件路径调取如下:# m, f* e- K& q6 Z7 A/ l* H% V
1 ]0 Z5 C% Y+ h0 [* D+ ~<span class="dsl_s_wav">' k; y4 _: ^6 F0 T
<a href="content://mobi.goldendict.android/audio/词典ID/音频名%2eMP3">
6 E. p2 F& P6 c<img width="20" height="20" src="content://mobi.goldendict.android/asset/playsound.bmp" border="0" align="absmiddle" alt="Play">7 h. S4 e9 c6 e) b" L( w0 l
</a>3 h, |& u% I) Y0 C
</span>
' ]; Q6 N' g0 N+ l. i7 _; M2 G, ^. x% r* t
1. 新建一个空的外壳资源DSL/ZIP,复制到手机上,打开goldendict,通过JavaScript获取其词典ID
* q o7 q0 H3 V, e: [2. 使用 GetDict2.6 转换MDX生成Stardict格式的词典(注意:MP3等资源文件的路径和.号)4 v, }/ [4 P7 U
- ~ B6 a4 C1 o+ A% X3 O/ ^
一句话总结:STARDICT格式词典获取另外一个DSL/ZIP格式词典的资源作为己用
% h( J( i* l) J( C9 u- Y) |方法有点曲线救国~~! R6 ^% g ~9 b; r" o2 Y, J
$ o( W- C9 `2 L% @$ O' g% _# {6 ?" b- D
5 e, j6 {8 Y1 _. b6 S) H* m) M
: U5 p% H9 }0 {6 A+ v8 h& f$ Y
. e. V3 ]7 U7 ]: J# k) A3 k0 i
: j3 B( x' ^( e: z8 P/ z- n) M
4 P5 Z$ c9 R& J0 W# q7 d1 d |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?免费注册
x
评分
-
1
查看全部评分
-
|