冰川魔兽私服[2021.01.11]安卓版Goldendict曲线全面支持MDX/MDD:发音/图片
本帖最后由 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
$ B: Z: x* A( E c9 K( E2 ^4 q
1 ~; j& s4 N' O( P" C4 b1 ]. B为什么这么折腾?
8 a6 w/ ?" w4 i- ~# r, Y; t+ v9 b1 G 1. 查词时不想输入特殊字符
9 t; |) G H0 K7 ]3 x2 E 2. 名词、形容词等变形、动词变位等等直接根据hunspell返回原形单词
# R- N* h2 N' v' i/ Y) G 3. 个人制作的切词版词典,DSL+ZIP格式最为简单7 U6 g$ K X- z/ r+ m; W
安卓版goldendict能满足我个人上述使用要求,并且安卓版goldendict支持的词典格式也是很多的,详见安卓版官网:
/ [; L0 F8 f0 i7 {; e) J) w
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# `
}
复制代码3 b" h. o% W" ~# N+ @+ x- X' {/ h5 ]. K% \7 a+ w5 B" L7 ^
0 q+ }* X. g% Q! V/ ^ ~
2020.05.06 更新:测试词典和工具、教程下载链接:站内附件:
0 c7 o4 w, N" M& M0 T4 z百度网盘:链接:https://pan.baidu.com/s/16YjbXM1YbdP-YR2-PG--0w 提取码:5lkl. W! ~3 d& L+ R
- s& a" ~" C0 J3 ]$ d4 X' m- ]
9 T0 H4 S' {: i& \3 x9 }, W s$ e6 N* I2 l7 z( w, Q
. \. R0 j0 o+ E8 R* y* S' B" \
解压到文件夹,阅读:___ReadMe_请阅读我先.txt
. G) X3 c* ^2 y# N/ D
你好!本文档为简略说明,请适当理解并自行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>
2020.05.05 更新:成功实现!!!- U/ y2 N% V6 B6 e+ a# z
安卓系统的GoldenDict加载DSL/ZIP格式时发音文件路径调取如下:. S' k! u r- a6 \, `
# f; l6 W8 w0 Z6 x% K; m+ z. M<span class="dsl_s_wav">( A# I9 q! s" [0 P& X
<a href="content://mobi.goldendict.android/audio/词典ID/音频名%2eMP3">
/ `" l' a5 q: y9 k3 `<img width="20" height="20" src="content://mobi.goldendict.android/asset/playsound.bmp" border="0" align="absmiddle" alt="Play">
$ L4 j2 ~5 a' s, w+ g) j4 j</a># W" Y& u& p! @* w: }+ P W& K1 t- X
</span>5 O. T6 l6 j' R) E9 \" R
0 a8 W, ~9 P5 V7 T/ Y) h2 o1. 新建一个空的外壳资源DSL/ZIP,复制到手机上,打开goldendict,通过JavaScript获取其词典ID
4 E, v$ z4 G9 E; K1 P, q( ^" H2. 使用 GetDict2.6 转换MDX生成Stardict格式的词典(注意:MP3等资源文件的路径和.号): ^$ j! L. j4 p) M: D# N
7 f$ p& ], F/ ^一句话总结:STARDICT格式词典获取另外一个DSL/ZIP格式词典的资源作为己用
; n2 Y# C2 x, _1 k方法有点曲线救国~~. F9 o5 U E# i; u. O6 \6 ~
3 M' s2 A$ K( o, s
* C' {* I- C2 D/ q# G, a
6 p N6 S% T! v7 l3 k
' @ t6 ` x/ B2 q0 ^3 `9 a6 }& ]1 A' e, x$ }6 B/ Q5 Q
5 H7 j3 t1 S. l1 _0 F9 C2 e8 V0 V9 Q3 @3 C. k3 H. x0 n
/ E/ p8 r) `) U* g( V, S
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?免费注册
