本帖最后由 chigre3 于 2021-1-12 11:50 编辑
2 l2 N1 T* _ [ l+ H
0 l# D; P" Y" t0 r( M! R2021.01.12更新:
3 m" O; d: a3 Z' v7 I4 H* q- {MD5 HASH值【路径、文件名 都区分大小写】
. v' ~0 X; e$ l' d+ j8 }" e" v1. DSL格式:.dsl 或者 .dsl.dz
5 S$ T& D! _9 R$ {8 ?# s! h2. STARDICT格式:.ifo' L6 r( b d% t; U. j0 C5 ^
3. BABYLON格式:.bgl
) y" `' d7 {, I6 [1 @3 ~4. ...其他% ?( r' R9 K) v* p& t/ p. j
+ f9 L0 k5 |, G/ L! ^* @* D2021.01.11更新:
0 R+ w. Y! l; b( G6 f4 dGoldenDict 安卓版的词典ID产生是转化带目录的文件名hash为MD5得到(STRING TO MD5):; S: w1 _- ~0 A
https://www.md5hashgenerator.com/
6 @( [9 r9 R2 @4 ]- {) V7 ]ID事先可以确定,冰川魔兽私服就可以有比较有趣的用途了!!
+ {; i- w) j8 H& Z6 O- A1 U
3 Z3 |' y, ]2 |例子①:a.dsl + a.dsl.files.zip 放置在 /goldendict/ 目录下
9 C1 F5 h: F2 a& D: T则:a.dsl ---> cf720ab20d00f14ea433254b99c5c1b84 t. g$ f' [ L
, q" K) c) ^5 F7 T7 N( S例子②:a.dsl + a.dsl.files.zip 放置在 /goldendict/zzz/ 目录下: ^% q1 \9 ?$ \0 |6 K2 C! e$ ~8 N
则:zzz/a.dsl ---> 5a4a28e8fab346d876be7e2218556487
9 _ i5 J% g r7 P* \0 O5 V+ Y
) l: E; v2 [. \6 r8 G" ], u! k
Lingoes .LD2 files
Babylon .BGL files
ABBYY Lingvo .LSD, .DSL, .LSA and .DAT files
StarDict files
Dictd files
Hunspell morphologies: R# S( p$ }" I0 h+ P9 A
X1 i/ o, o* E8 L# R* \/////////////////////////////////////////////////////////////////
; B2 F. Q. |4 r/ M1 V0 I1 K
6 ?4 a. r: ?: H" N( ?6 Z8 \额,先附上一个很早的帖子:安卓版 Goldendict 支持 .mdx .mdd 的方法 (经验)
+ A# c& E) C. }: Hhttps://www.pdawiki.com/forum/thread-13437-1-1.html8 I) j8 h7 B5 x$ b# y
, f3 ?% ]4 Z. J: o6 o2020.05.07 更新: 把goldendict安卓版原生的添加audio的js函数加上这样做的目的是让APP里不用点击自己设定的按钮键,直接点击APP上的工具栏上的发音键就可以了!(第一个音频)
$ c) X, e5 S: }) M请参考gd本来的js函数 gdAddAudioLink( dictionaryId, url )
( H9 B' ~* r, ^* Z) }( m* ]
<script language="JavaScript">gdAddAudioLink( '词典ID', "content://mobi.goldendict.android/audio/词典ID/音频名%2emp3" ); </script>* I7 r$ t6 Z( y5 p5 R$ \' D+ A1 }- G
<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;
' a/ G7 J; C$ _1 G! Y/ |" p i
var gdAudioLinks = {};
- l: g2 }" \" x
: n9 C) \6 z# ^5 `6 `. e& q
function gdAddAudioLink( dictionaryId, url )# ~# ]9 k( G: ~
{
: H. E* m+ @, x$ a* I# `
if ( !gdAudioLink )
; E' o6 [' w' s% j
{. J1 _. D) x; c/ j; h6 ]
gdAudioLink = url;* T1 r. N6 x/ x# f
// GDHost.setHasAudio();) [ L# x* w# D k( r# ~; Q
alert( 'setHasAudio://' );
: G, u `% P. h) `" h* j1 l
}3 {$ r- l4 P7 m8 z
9 ]* F. J o* [1 X- Y1 K
// Only add the first sound in the dictionary1 G' U: S0 [# g9 k2 {
if ( !( dictionaryId in gdAudioLinks ) )3 X: R+ d! ?9 M4 x3 O3 j: V
gdAudioLinks[ dictionaryId ] = url;4 U* k: ?$ M# `
}
复制代码你好!本文档为简略说明,请适当理解并自行DIY操作!
1 D9 d& V( I4 ]* G---------------------; ? S4 k- ]* [( [# T
目标:让安卓版Goldendict曲线支持MDX/MDD(MP3/图片/JS/CSS)6 v7 J! A- f, K! l; C p$ \5 N
结果:' |5 O9 b0 f8 L3 R' ~0 m
MDX 转为 Stardict格式的.ifo .idx .dict或.dict.dz6 L6 h" z. e* y9 k$ v2 M# A+ Q
MDD 转为 空壳DSL+ZIP
; s' T8 A5 v9 T; q; Y3 M---------------------6 ^- o" I' ]1 t, \( u: h) e
(1) 获取词典ID的词典, 注意在Goldendict词典管理界面将其放置至末尾
& h: _6 H( i8 M2 n' L( z: z& f├── _GetDict_id(Any-Any).bmp
- l( ]' V, J+ ?0 n5 F' w }, ]├── _GetDict_id(Any-Any).dict6 Y5 d2 m; w$ K# \7 T E) ]( U7 o! R
├── _GetDict_id(Any-Any).idx
: ?5 [4 G) d8 o7 |/ s2 x└── _GetDict_id(Any-Any).ifo
/ p4 O4 L: q# ~, P3 H. Q3 i. L( c, M/ q1 ]: T
(2) 测试词典资源ZIP和空壳DSL% F$ O( M* l/ C6 }
├── 测试词典.bmp【词典图标】$ o. e( h: I" ^9 n$ T% `
├── 测试词典.dsl【词典资源文件空壳DSL,仅设一个词条a,用于获取词典ID】
: T# ~. L/ m' l7 D└── 测试词典.dsl.files.zip【词典资源文件打包为zip,包含CSS/MP3/PNG】
7 V$ e; W( j1 d8 I. I/ w( K6 T7 x┈┈┈┈┈┈┈┈├── YHCD_IT-ZH.css# D& ?0 w. A1 h$ T7 o( c) O' Q
┈┈┈┈┈┈┈┈├── p068052.mp3
8 m; b { ^- j5 w9 `5 P" ~3 g┈┈┈┈┈┈┈┈└── 604_WW_001(1).png
4 Y$ }/ X$ _% D# y+ u( f- Z: f# W9 z8 X4 H: y
(3) 修改测试词典.txt里引用的资源文件的路径 L0 B* n+ k) N( V9 z: H
测试词典.txt 【词典MDICT文本】
7 k' L5 i, h! l! Y6 J1 T┈┈┈└── 测试词典.mdx 【词典MDICT格式MDX; 下一步使用GetDict2_6.exe转为stardict格式】( s9 b M* K F# `" o3 h! _1 F
┈┈┈┈┈┈┈┈┈┈├── 测试词典.dict 【说明:可用 dictzip.exe 压缩】
" ?" r! [; L$ N- R┈┈┈┈┈┈┈┈┈┈├── 测试词典.idx
: Z, }# v: U9 s* O5 T┈┈┈┈┈┈┈┈┈┈└── 测试词典.ifo' I/ J0 r+ |7 v0 J5 m
8 f' Y f4 I( T& Z$ d+ ]
(4) dictzip.exe 【压缩 .dict 为 .dict.dz】7 n9 _% _3 u- J; n. P( V3 Z
(5) GetDict2_6.exe 【示例为用其转换MDX为StarDict文件】
; ^8 v$ v; x. v$ j8 {3 g u---------------------
' j- G5 C* c+ Z" k( [1. 将(1)(2)的文件放入手机sdcard/GoldenDict目录下, 打开GoldenDict, 扫描词典进行索引化, 设置这2个词典的源语言例如为Aa(Afar) 目标语言为Any(Any), 并且(1)的词典顺序始终要在(2)之后3 @+ S/ m9 W3 f" U3 F2 h
2. 右上角设置语言对:Aa - Any,查询 a,得到(2)的词典ID
- W. R9 C7 K4 G3. 修改测试词典.txt里相关的路径里的词典ID, 转为MDX, 再转为StarDict格式 (其中.dict可以使用dictzip.exe压缩)6 g. I' Z* U" n, O6 U
4. 将上一步得到的词典文件 (.dict或.dict.dz, .idx, .ifo) 复制到手机sdcard/GoldenDict目录下, 打开软件扫描词典索引化
8 }3 ]" T0 j% @2 a( N# i5. 查询provare, 测试:(1) CSS加载成功,版式显示正确; (2) 点击小喇叭, 单词发音正确; (3) 点击数字1/2,图片显示正确 x; R- B1 \- w& `6 G5 F+ z
& ?# Y9 Q7 |7 D
注意点:
# ~* j9 A7 t, m0 p: o" z3 [9 CCSS/图片/JS等路径:content://mobi.goldendict.android/resource/词典ID/文件名%2e后缀名
3 [6 o$ M6 s+ q: f: ]MP3等Audio路径:<a type="audio" href="content://mobi.goldendict.android/audio/词典ID/文件名%2emp3">点击发音</a>
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?免费注册
