|
本帖最后由 chigre3 于 2021-1-12 11:50 编辑
8 j( u/ T( I. H% [- n3 A# a& ?% y3 m% Q: N' |6 p
2021.01.12更新:
* R# K& G2 j7 |% K; @MD5 HASH值【路径、文件名 都区分大小写】/ V' s' H4 q( j# A0 T& V
1. DSL格式:.dsl 或者 .dsl.dz+ l2 I4 n1 U" l0 O
2. STARDICT格式:.ifo9 D1 ]/ }4 ~/ c- n
3. BABYLON格式:.bgl
( l! C( r3 Y, m4. ...其他
4 c d* S4 k) C- u3 E S! E0 }; Q
3 X# \$ b8 b- f4 t: z2021.01.11更新:3 e7 A/ {$ d4 b) v0 Z4 }4 S
GoldenDict 安卓版的词典ID产生是转化带目录的文件名hash为MD5得到(STRING TO MD5):3 k8 k3 j; s5 o/ v" n& E
https://www.md5hashgenerator.com/& W8 r* d7 A8 q
ID事先可以确定,就可以有比较有趣的用途了!!
7 ^! q/ ?; s4 d" O6 f7 i+ T( \. [5 k4 n
例子①:a.dsl + a.dsl.files.zip 放置在 /goldendict/ 目录下5 O6 G) `! i! Z4 ^0 N! O
则:a.dsl ---> cf720ab20d00f14ea433254b99c5c1b8+ k3 Q2 R1 A& Z
8 i; e8 ^* g8 V$ [/ Z5 n7 l例子②:a.dsl + a.dsl.files.zip 放置在 /goldendict/zzz/ 目录下
3 t7 `% h& q1 [9 C( D# R5 o; g) T则:zzz/a.dsl ---> 5a4a28e8fab346d876be7e2218556487
% J; `8 u" S; j1 J: w. D# J' ?7 r0 ~# S6 K
5 c9 ]& g1 F+ d f( M
% m* i0 O5 T4 i% V" J$ z为什么这么折腾?
+ n/ I* u$ ?/ o# b 1. 查词时不想输入特殊字符- D4 G6 y% c2 P& [; w) C- }
2. 名词、形容词等变形、动词变位等等直接根据hunspell返回原形单词) H1 a: i( g$ q
3. 个人制作的切词版词典,DSL+ZIP格式最为简单
. x, u' C$ d' t安卓版goldendict能满足我个人上述使用要求,并且安卓版goldendict支持的词典格式也是很多的,详见安卓版官网:http://goldendict.mobi/
6 C+ `8 G- q5 p9 h3 R- Lingoes .LD2 files
- Babylon .BGL files
- ABBYY Lingvo .LSD, .DSL, .LSA and .DAT files
- StarDict files
- Dictd files
- Hunspell morphologies
$ n* }- U0 v& W 9 D! r9 M. C: \! m# t/ c
/////////////////////////////////////////////////////////////////* J2 y, |# @* v, I, N
" f5 J* ^, h. \( q# J6 P, [额,先附上一个很早的帖子:安卓版 Goldendict 支持 .mdx .mdd 的方法 (经验)
+ Y- h2 ~9 L# Q+ u& bhttps://www.pdawiki.com/forum/thread-13437-1-1.html# W5 x/ ?4 `" L4 }: I
8 }% \* e1 l f* {/ z' A5 i2020.05.07 更新: 把goldendict安卓版原生的添加audio的js函数加上这样做的目的是让APP里不用点击自己设定的按钮键,直接点击APP上的工具栏上的发音键就可以了!(第一个音频)) |/ b2 R- z- e2 M" z
请参考gd本来的js函数 gdAddAudioLink( dictionaryId, url )
j7 S8 U2 `7 N4 i0 p3 T<script language="JavaScript">gdAddAudioLink( '词典ID', "content://mobi.goldendict.android/audio/词典ID/音频名%2emp3" ); </script>
% U3 U& u' a7 Y6 i- H; J9 ^<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;
+ i2 y. t5 [3 [- A5 z - var gdAudioLinks = {};
) Z+ \/ b( j& ^$ _% b! Q
% t- c6 {! L# v9 J- function gdAddAudioLink( dictionaryId, url ) H. s. i' |+ R2 @$ p# T
- {
- j/ Z! J4 R- ~) e! y - if ( !gdAudioLink )
1 u: z6 ^, L# b, s( L - {+ s0 T. }- x' K" R. l5 s+ i7 M
- gdAudioLink = url;
( ~9 g; X4 y. ~) O6 c8 a - // GDHost.setHasAudio();
% x7 U/ V/ S& Z' x, Y - alert( 'setHasAudio://' );
. R+ x! x2 C6 C* O9 s5 G* I6 k/ T5 D - }
J; W$ l2 l6 z, ?
& P* }5 E ^$ K. ?% V7 J; K0 t- // Only add the first sound in the dictionary" i8 z0 w! q- ^* A
- if ( !( dictionaryId in gdAudioLinks ) ): g7 \$ |1 K. ~
- gdAudioLinks[ dictionaryId ] = url;' E) ~4 P' ?# s: ]& t
- }
复制代码 % i" Q1 v7 |+ h# d5 b5 t: G
) I/ n% }1 C. Z1 D Z. v5 [
1 {/ x6 _# S% J$ D- Q2 I% K& q; S
2020.05.06 更新:测试词典和工具、教程下载链接:站内附件: ) R e! D* [7 h( F
百度网盘:链接:https://pan.baidu.com/s/16YjbXM1YbdP-YR2-PG--0w 提取码:5lkl
# p9 g4 L3 `2 p+ O, K- ?
2 f4 q$ T' Z. d9 Q# L1 O" Y; n8 o2 T2 F# O5 l& Y: K; I' ]
- d. H. c; y/ G1 e. M
8 z' \* \: l3 M4 t& i+ n+ M
/ F; u3 \9 ?" L5 K5 Y解压到文件夹,阅读:___ReadMe_请阅读我先.txt
) r0 z+ E/ j% a O+ Z9 y你好!本文档为简略说明,请适当理解并自行DIY操作!
- v6 {( o( y1 G---------------------
% ]$ m" ?2 }& t5 Z. Y目标:让安卓版Goldendict曲线支持MDX/MDD(MP3/图片/JS/CSS)! N4 n9 S* h( k9 y. w8 t" f7 V
结果:5 m( i& T6 y* F8 ~2 ?
MDX 转为 Stardict格式的.ifo .idx .dict或.dict.dz
5 `7 r; Q ^' z6 Z8 s6 DMDD 转为 空壳DSL+ZIP
) J% [) m9 I/ z5 @! H. z z% W---------------------
$ z& F8 B, \3 Z- z(1) 获取词典ID的词典, 注意在Goldendict词典管理界面将其放置至末尾/ n6 t& I- r3 N4 C6 L
├── _GetDict_id(Any-Any).bmp
# v4 x. n. D& X* ^& ^' S; E├── _GetDict_id(Any-Any).dict
# x+ z9 n% t, J3 Y├── _GetDict_id(Any-Any).idx' x9 n& H( n I. ?- W) [
└── _GetDict_id(Any-Any).ifo0 t3 N$ {& V0 e4 }. T; o4 M: T
" B @9 T; x' `3 \
(2) 测试词典资源ZIP和空壳DSL
( J3 K9 w' T5 e, Q├── 测试词典.bmp【词典图标】
9 B7 d8 X1 k T0 m8 @8 x- I├── 测试词典.dsl【词典资源文件空壳DSL,仅设一个词条a,用于获取词典ID】- ~# P1 t {5 K3 V4 C8 T
└── 测试词典.dsl.files.zip【词典资源文件打包为zip,包含CSS/MP3/PNG】$ T5 @0 c/ }$ m) |* U2 l
┈┈┈┈┈┈┈┈├── YHCD_IT-ZH.css
' V7 t! K. Y r! A9 W┈┈┈┈┈┈┈┈├── p068052.mp3
2 X! y7 ]9 G* b! d9 P" d┈┈┈┈┈┈┈┈└── 604_WW_001(1).png
5 v# N4 C9 m, \/ |0 K" W
3 u1 I# i: g/ p, Z- {+ M, l5 m(3) 修改测试词典.txt里引用的资源文件的路径6 C4 l5 ~# u: P. ?/ k- J
测试词典.txt 【词典MDICT文本】
# \. M* L! r4 P1 E; |┈┈┈└── 测试词典.mdx 【词典MDICT格式MDX; 下一步使用GetDict2_6.exe转为stardict格式】! i; W! V* c% l! M& O
┈┈┈┈┈┈┈┈┈┈├── 测试词典.dict 【说明:可用 dictzip.exe 压缩】
. t/ G' O! P1 u2 N+ ~# J1 m! s9 m┈┈┈┈┈┈┈┈┈┈├── 测试词典.idx
' ?0 f( T3 H# K3 z4 J┈┈┈┈┈┈┈┈┈┈└── 测试词典.ifo/ q* q5 {$ A/ {
2 a5 z' S9 k* X0 J- S4 N# m" O
(4) dictzip.exe 【压缩 .dict 为 .dict.dz】
+ J7 P1 G l! D7 b(5) GetDict2_6.exe 【示例为用其转换MDX为StarDict文件】
* p( ?" u3 g3 N2 A! d---------------------
. n& [6 a: `7 C2 ?1 \+ \1. 将(1)(2)的文件放入手机sdcard/GoldenDict目录下, 打开GoldenDict, 扫描词典进行索引化, 设置这2个词典的源语言例如为Aa(Afar) 目标语言为Any(Any), 并且(1)的词典顺序始终要在(2)之后$ [$ \$ `2 u; M8 h5 z1 G& E
2. 右上角设置语言对:Aa - Any,查询 a,得到(2)的词典ID
& b' u5 s' s+ ` s6 r3. 修改测试词典.txt里相关的路径里的词典ID, 转为MDX, 再转为StarDict格式 (其中.dict可以使用dictzip.exe压缩)
|9 m. m6 L8 l* u4. 将上一步得到的词典文件 (.dict或.dict.dz, .idx, .ifo) 复制到手机sdcard/GoldenDict目录下, 打开软件扫描词典索引化) W: P+ n; d0 q. o
5. 查询provare, 测试:(1) CSS加载成功,版式显示正确; (2) 点击小喇叭, 单词发音正确; (3) 点击数字1/2,图片显示正确$ G- c4 [9 u. e9 d9 T0 k" }4 O
/ o% e' |" P* L6 j9 ], ?
注意点:) l& h1 p5 p% R) Z7 K" s; r+ ^
CSS/图片/JS等路径:content://mobi.goldendict.android/resource/词典ID/文件名%2e后缀名
& _6 h3 d; U$ l1 }: Y/ vMP3等Audio路径:<a type="audio" href="content://mobi.goldendict.android/audio/词典ID/文件名%2emp3">点击发音</a>
3 r$ Q6 B8 r* Q5 P2020.05.05 更新:成功实现!!! G2 d8 e, H, f* _1 `
安卓系统的GoldenDict加载DSL/ZIP格式时发音文件路径调取如下:
6 ]2 U# f+ i* _$ Y1 P. K& U" e
8 C+ ~: X# R0 n. X8 j- w<span class="dsl_s_wav">" Z5 p2 q7 j# u0 P
<a href="content://mobi.goldendict.android/audio/词典ID/音频名%2eMP3">
) V5 i) u0 A F/ }2 I+ [: Z+ R6 E<img width="20" height="20" src="content://mobi.goldendict.android/asset/playsound.bmp" border="0" align="absmiddle" alt="Play">& l$ K+ Y4 ~5 B, x6 T
</a>% o! v% ~" u/ u" f O. x5 W9 b/ ~* B
</span>! b9 A$ ?0 ?) P5 g' _2 `
& ~; b" T- |4 f4 G; W- x- g1. 新建一个空的外壳资源DSL/ZIP,复制到手机上,打开goldendict,通过JavaScript获取其词典ID
% \7 B0 ~7 l: b+ C5 Q3 a$ [2. 使用 GetDict2.6 转换MDX生成Stardict格式的词典(注意:MP3等资源文件的路径和.号)
1 r0 G5 @: I+ W- z! f# @+ S
: L j/ R' n( P0 ]$ \. t7 O一句话总结:STARDICT格式词典获取另外一个DSL/ZIP格式词典的资源作为己用$ n% s& a0 m# c+ V# s2 ?6 m3 ?- [
方法有点曲线救国~~- m3 Y% i( R- |
1 {5 j7 j/ X' t" n, ?6 B; t
8 [0 H6 v: f) S- l) W/ Z0 n. |6 K
- `' K( T1 x6 h3 {8 G+ s$ U7 G* h
. J {, ]/ r' `$ k7 n) C- F/ x X; F4 s: Z
w- C4 x. W5 S/ ]0 u6 i k
! I: C5 x( N5 Q# u$ j* @# I* q0 U( E) T; m2 D+ U
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?免费注册
x
评分
-
1
查看全部评分
-
|