|
本帖最后由 chigre3 于 2021-1-12 11:50 编辑
$ v9 q6 D) ~. {* ?9 z: t* ^* p {- t; L' e/ y% J
2021.01.12更新:' n% T. v5 F6 w# z$ h" M+ J
MD5 HASH值【路径、文件名 都区分大小写】- z4 e* |& l7 }8 j0 b+ J4 k
1. DSL格式:.dsl 或者 .dsl.dz
5 i, Q; c5 R; `# C) \2. STARDICT格式:.ifo
4 c& @( x3 I9 e {8 r' X3. BABYLON格式:.bgl
* k; f6 C$ A" ]5 T- g4. ...其他+ i, K' P3 A- n! B3 r+ I
- i6 e$ B+ `; i# B% m* q
2021.01.11更新:! V4 |2 I" J6 z0 w7 t; F& ^
GoldenDict 安卓版的词典ID产生是转化带目录的文件名hash为MD5得到(STRING TO MD5):+ {* X8 A w8 G: i
https://www.md5hashgenerator.com/
- W# ~ ~" h; Q6 _& xID事先可以确定,就可以有比较有趣的用途了!!) r; B) U$ R; U: ?) _
S7 Y" ?* L9 y" s% ?, k+ ~# {例子①:a.dsl + a.dsl.files.zip 放置在 /goldendict/ 目录下
, j6 ]7 k5 X1 _) r' g" o# @则:a.dsl ---> cf720ab20d00f14ea433254b99c5c1b82 x& j2 h) [* p. W/ I' S
" Y) [" K0 W' F, O例子②:a.dsl + a.dsl.files.zip 放置在 /goldendict/zzz/ 目录下
: y" P# J" B( Y! y7 A- t. r! K; e则:zzz/a.dsl ---> 5a4a28e8fab346d876be7e2218556487
, y5 `* M- U$ B% l
, p; ~! ` {8 m! K1 Q' `# S9 |2 ~; a, @' m3 m
3 Q8 r6 x, S2 F6 D/ Y: B. L# ~. Y- h
为什么这么折腾?
" y- n; F- P p& k. N: O7 C 1. 查词时不想输入特殊字符
) ]0 i2 g+ z# R9 x+ y# ^/ L3 q 2. 名词、形容词等变形、动词变位等等直接根据hunspell返回原形单词
, K5 H. f3 P% A5 ` 3. 个人制作的切词版词典,DSL+ZIP格式最为简单
- ^4 w* \! u: M, Q# o安卓版goldendict能满足我个人上述使用要求,并且安卓版goldendict支持的词典格式也是很多的,详见安卓版官网:http://goldendict.mobi/# L& H% V6 L/ ~5 `+ a4 K+ ~" @4 K
- Lingoes .LD2 files
- Babylon .BGL files
- ABBYY Lingvo .LSD, .DSL, .LSA and .DAT files
- StarDict files
- Dictd files
- Hunspell morphologies/ _ Y7 q& U! A t# f6 M v
, U/ r* Z3 `2 x: c( p/ w9 t
/////////////////////////////////////////////////////////////////3 R& y( B& M$ G6 U" i& H% S
3 z5 Y( ~7 l) N9 U; ~
额,先附上一个很早的帖子:安卓版 Goldendict 支持 .mdx .mdd 的方法 (经验)
0 s! \6 z5 u3 k# v# @" e4 R* R& V7 ]https://www.pdawiki.com/forum/thread-13437-1-1.html! G* i% r6 n/ \0 P( e, q7 `2 p# M, A
# A3 C, ^2 r4 B* z* p' e; F
2020.05.07 更新: 把goldendict安卓版原生的添加audio的js函数加上这样做的目的是让APP里不用点击自己设定的按钮键,直接点击APP上的工具栏上的发音键就可以了!(第一个音频)/ ]9 K3 S1 @9 J
请参考gd本来的js函数 gdAddAudioLink( dictionaryId, url )
( Q& X$ k: ~$ R' u% H3 N<script language="JavaScript">gdAddAudioLink( '词典ID', "content://mobi.goldendict.android/audio/词典ID/音频名%2emp3" ); </script>
1 e7 a$ N$ K6 u<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;5 I% C V0 ~3 T& t( @* Y
- var gdAudioLinks = {};) \/ H4 H' A# t; {/ {3 L4 ?5 E
- + s* h: `+ `( o) j
- function gdAddAudioLink( dictionaryId, url )* k# k4 R) U9 {
- {% i6 d0 H# s& w4 r2 Z$ P
- if ( !gdAudioLink )
; h: {. g! L% G4 b; D; L* z - {+ w$ I- g8 @1 V7 V$ B7 {
- gdAudioLink = url;
+ Y# ?" ?/ f9 d - // GDHost.setHasAudio();
% q: ]3 q4 Y0 V' C9 Y9 U/ Y! ` - alert( 'setHasAudio://' );
5 m v: n% X, j* l - }# p6 _5 S9 `1 r! L, B* Y
; [+ I) h$ z0 X* a3 Y- // Only add the first sound in the dictionary* O% h6 ]" H% o. o* f7 y
- if ( !( dictionaryId in gdAudioLinks ) )
Y! [7 R! w9 V! V - gdAudioLinks[ dictionaryId ] = url;
* o2 z+ t2 q2 Z5 `" D- }. c - }
复制代码 ) W7 F9 k# I9 t5 [; T
! ^1 Z+ Y5 C; ?2 Y0 W$ F& }5 H8 J
9 R, E5 C$ E' m+ X. {1 l$ ?
2020.05.06 更新:测试词典和工具、教程下载链接:站内附件: 4 N8 y, ?8 i3 |6 o9 B7 v+ [
百度网盘:链接:https://pan.baidu.com/s/16YjbXM1YbdP-YR2-PG--0w 提取码:5lkl7 Y$ P# T& b1 j! k( g
) ?$ _6 w+ ~" Y4 Z! Z5 B7 `
7 I3 h" F5 H& W1 w
7 @2 V$ _) s& p0 B ^/ p) R, C4 x S9 Z, N4 e( w1 }
8 W/ N* [+ @; R9 V1 [3 I
解压到文件夹,阅读:___ReadMe_请阅读我先.txt5 i8 f6 D. x6 h
你好!本文档为简略说明,请适当理解并自行DIY操作!
D) \4 a* n' t1 }# i---------------------
% t; i5 E& \0 Y$ K4 T& R9 D目标:让安卓版Goldendict曲线支持MDX/MDD(MP3/图片/JS/CSS)9 E) [$ ?" w: i* V8 @; q @- k9 ~" [
结果:
5 r& ?* U& P' F8 Z8 EMDX 转为 Stardict格式的.ifo .idx .dict或.dict.dz
8 c# l. A$ G, Q/ X' X ~+ aMDD 转为 空壳DSL+ZIP7 P% I9 m; T8 }6 v0 @3 S, W
---------------------7 r* U6 \$ g8 Z! f7 S4 |
(1) 获取词典ID的词典, 注意在Goldendict词典管理界面将其放置至末尾
B* ?. o: e! s9 |( S( D├── _GetDict_id(Any-Any).bmp/ i! O7 ~1 c( K, m5 m
├── _GetDict_id(Any-Any).dict* @2 |# {+ s7 a! R5 m' L M
├── _GetDict_id(Any-Any).idx
0 t; _* V- R0 ~# e# Z0 t% k└── _GetDict_id(Any-Any).ifo: W5 v! D1 }6 u8 D j1 r0 i0 K
! o; \+ E; ^# { `9 y P(2) 测试词典资源ZIP和空壳DSL5 \: A5 [3 p! v- y% _5 c1 G4 D
├── 测试词典.bmp【词典图标】9 T+ `! R6 X5 J4 R2 w: L
├── 测试词典.dsl【词典资源文件空壳DSL,仅设一个词条a,用于获取词典ID】
, Q# K1 p @0 C* o( R' ~/ U└── 测试词典.dsl.files.zip【词典资源文件打包为zip,包含CSS/MP3/PNG】
9 e. M4 s! ~+ W' n+ z6 E┈┈┈┈┈┈┈┈├── YHCD_IT-ZH.css
$ ^( B( G' p! a; q┈┈┈┈┈┈┈┈├── p068052.mp3
6 K9 ^$ o% m0 a┈┈┈┈┈┈┈┈└── 604_WW_001(1).png& G5 H+ g$ P/ m) Y$ F2 u. ?
: s- |3 c8 U' z5 c) j, N(3) 修改测试词典.txt里引用的资源文件的路径9 F2 u2 R3 a/ I8 v( Z' Q2 O8 U4 F8 b. }
测试词典.txt 【词典MDICT文本】6 |; x( y* e6 @ t' A! Z9 Z- @, T
┈┈┈└── 测试词典.mdx 【词典MDICT格式MDX; 下一步使用GetDict2_6.exe转为stardict格式】+ e8 O* x: I. |+ x$ J' m
┈┈┈┈┈┈┈┈┈┈├── 测试词典.dict 【说明:可用 dictzip.exe 压缩】$ m; m8 [& [! n4 N7 O9 C
┈┈┈┈┈┈┈┈┈┈├── 测试词典.idx
% _7 \2 [7 g* [6 g┈┈┈┈┈┈┈┈┈┈└── 测试词典.ifo
; w4 j7 N3 t5 E: j7 A- i: C) R
7 i/ h, O2 k S$ h! R/ E+ B" z$ z; K(4) dictzip.exe 【压缩 .dict 为 .dict.dz】
+ M/ P# [2 b7 B% _ j2 k(5) GetDict2_6.exe 【示例为用其转换MDX为StarDict文件】6 P9 x6 D3 ?3 b: w
---------------------4 z' n Z+ Y1 i: a. S
1. 将(1)(2)的文件放入手机sdcard/GoldenDict目录下, 打开GoldenDict, 扫描词典进行索引化, 设置这2个词典的源语言例如为Aa(Afar) 目标语言为Any(Any), 并且(1)的词典顺序始终要在(2)之后
8 u- B$ t' Q* }7 O7 W: W2 V7 W2. 右上角设置语言对:Aa - Any,查询 a,得到(2)的词典ID
% y# w0 f4 ?1 X2 y3. 修改测试词典.txt里相关的路径里的词典ID, 转为MDX, 再转为StarDict格式 (其中.dict可以使用dictzip.exe压缩)
# z+ u& ]% ~, M; p) s% ?4 F4. 将上一步得到的词典文件 (.dict或.dict.dz, .idx, .ifo) 复制到手机sdcard/GoldenDict目录下, 打开软件扫描词典索引化$ R) p, i0 w& t. I; R
5. 查询provare, 测试:(1) CSS加载成功,版式显示正确; (2) 点击小喇叭, 单词发音正确; (3) 点击数字1/2,图片显示正确
( m1 Y9 R. [, T( K1 ?+ e% y% m# _# f. C3 s5 | Y3 r
注意点:
. S) A- O, O5 W4 X4 NCSS/图片/JS等路径:content://mobi.goldendict.android/resource/词典ID/文件名%2e后缀名* ]& [" v& N: v" Z9 ?/ v4 o* P3 T
MP3等Audio路径:<a type="audio" href="content://mobi.goldendict.android/audio/词典ID/文件名%2emp3">点击发音</a> * X6 U5 ?% K/ K. y& h, e- E9 L
2020.05.05 更新:成功实现!!!: s8 o$ H" R C- r; J
安卓系统的GoldenDict加载DSL/ZIP格式时发音文件路径调取如下:
# }" Y3 n" n1 t \8 n/ y% z" N- K0 o9 K9 j
<span class="dsl_s_wav">+ V) f" K b/ l- g6 ~1 h+ E. `7 K! d
<a href="content://mobi.goldendict.android/audio/词典ID/音频名%2eMP3">4 ?6 A* q6 X& R- [) H4 l+ g
<img width="20" height="20" src="content://mobi.goldendict.android/asset/playsound.bmp" border="0" align="absmiddle" alt="Play"> L5 l3 a+ B3 }% w6 {5 I l5 o& {- A
</a>+ t' v3 l, ]2 C$ c# z5 P3 ~
</span>4 J3 y% H4 `/ w% |+ u' o/ S7 |
6 |4 q/ P$ E* H
1. 新建一个空的外壳资源DSL/ZIP,复制到手机上,打开goldendict,通过JavaScript获取其词典ID
5 \. Q# y ~1 Y, ]" z2. 使用 GetDict2.6 转换MDX生成Stardict格式的词典(注意:MP3等资源文件的路径和.号)
- x6 }* \1 e- i6 h2 P" q
O2 V- T, Y" _3 @7 @8 X一句话总结:STARDICT格式词典获取另外一个DSL/ZIP格式词典的资源作为己用" N0 h u) c% G: w& s4 S
方法有点曲线救国~~
! [8 ~% c4 N$ i- w! [# Y' e' X6 V4 Y. Q+ p
$ Q0 C+ R: T6 v8 R- l
5 v/ c( n0 ^, u: m5 @+ d( {
2 `; p" Y+ ?# H: O- z4 A" u- p5 k5 T- U: D) l0 y0 w
9 c+ I6 S8 P; U! z' X7 ?
/ Y2 k& j$ c# ^- y; v, {: W# _7 t( ]- W
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?免费注册
x
评分
-
1
查看全部评分
-
|