【已完结】 SIO双向双解词典v3.3

欧路设置里可以调字体大小的,只要你不介意全局都改得很小

已经解决了,换了个css

大侠,你是怎么做到的?
这么牛逼的词典都让你搞出来了。
希望能够再次更新。
你需要什么资料呢?我愿意跟你换。

1 个赞

终于用上了,扭劲改了一下排版,谢谢。

1 个赞

我比较喜欢宋体或明体一些,所以稍微改了下 CSS 自用。下面截图分别来自 GoldenDict 和安卓版欧路词典:

:point_down:

又小改了一版,把用到的字体用 base64 塞进 CSS 了,大概就这样吧:

:point_down:
:point_right: 完整词典下载点这里
:point_up_2:

Windows 上把雅黑设置成了默认的中文字体。

7 个赞

你这用的是mac版的gd吧?mac字体渲染舒服,宋体好看,但在win下惨不忍睹

1 个赞

是的,Win 上宋体时虚的~

3 个赞

樣式很不錯,求分享。

2 个赞

更新了分享链接,见上面贴文。

3 个赞

请问什么css,能发吗?

thanks

eudict缓存已清,显示如下,不知何故


2 个赞

很不错,eudict无闪退现象


2 个赞

打开CSS改一下
.pg_key {
/* 例句的来源词条,例如〔assembly〕。要隐藏的话,设置display为none即可 */
color: /green/ #05173B;
display: inline;
font-weight:bold;
margin-left:-0.6em;
}
最后一行改成:margin-left:0em

css稍微学一点,很简单的,:joy:

4 个赞

重新下载一遍吧~
好像有一次文件上传中途我关机了。

2 个赞

不论中文是显还是隐,例句中的中文翻译都不应该喧宾夺主。个人感觉中文翻译字体还是淡些小些合适,大概这样:


1 个赞

TIO 完整数据库下载,其中包含了以下四个表:

c2e_simple_idx ,提取了ESL双解词典的英文解释、中文释义,共计 260,915

ec2_idx ,最核心的中英双语权威例句,共计 3,895,294

ec_simple_idx,单词词组的简明释义及大量专业词汇, 共计 3,282,538

eng_extra_idx,作为补充的纯英文例句,共计 15,126,967 条。根据平时的对比查询,这部分内容要胜过有道、必应之类的在线词典,不少词汇的查询结果甚至优于ludwig或者skell。

使用说明( 以Linux系统为例)

1.下载数据库文件 tpm.tar (MD5: d5b92327c16f8945dcbc2c45ca0745dc) 并解压至自定义目录A,需要约11G磁盘空间。

下载链接: https://pan.baidu.com/s/1lL8GarQPwdbAs336--_3bg 提取码: 4gpc

  1. 根据自己的操作系统,下载、安装SphinxSearch 3.4.1 到自定义目录B。 http://sphinxsearch.com/downloads/current/

  2. 在第一步的自定义解压目录A中,创建sphinx.conf文件。注意修改 path 参数。有报错可以对照在线文档: http://sphinxsearch.com/docs/

index c2e_simple_idx
{
    source                  = c2e_simple
    min_word_len=1
    ngram_len     = 1
    ngram_chars       = U+3003..U+FF0B,U+FF0D..U+2FA1F
    path                    = /usr/local/tpm/c2e_simple_idx
    hl_fields = body
    docstore_comp = lz4
    docstore_type = vblock
    stopword_step =0
}

index eng_extra_idx
{
    source                  = eng_extra
    path                    = /usr/local/tpm/eng_extra_idx
    ignore_chars=U+3002,U+FF0C
    morphology = lemmatize_en_all
    hl_fields = body
    docstore_comp = lz4
    docstore_type = vblock
    stopword_step =0
}

index ec_simple_idx
{
    source                  = ec_simple
    min_word_len=1
    ngram_len     = 1
    ngram_chars       = U+3003..U+FF0B,U+FF0D..U+2FA1F
    morphology = lemmatize_en_all
    path                    = /usr/local/tpm/simple_idx
    ignore_chars=U+3002,U+FF0C
    hl_fields = body
    docstore_comp = lz4
    docstore_type = vblock
    stopword_step =0
}

index ec2_idx
{
    source                  = ec2
    min_word_len=1
    ngram_len     = 1
    ngram_chars       = U+3003..U+FF0B,U+FF0D..U+2FA1F
    path                    = /usr/local/tpm/ec2_idx
    ignore_chars=U+3002,U+FF0C
    morphology = lemmatize_en_all
    hl_fields = body
    docstore_comp = lz4
    docstore_type = vblock
    stopword_step =0
}
indexer
{
    mem_limit = 512M
}
searchd
{
    listen          = 127.0.0.1:9312
    listen          = 127.0.0.1:9306:mysql41
    thread_stack = 512K
    log         = /dev/null
    pid_file  =/tmp/search.pid
}
  1. 使用自定义目录B下的searchd命令启动服务。例如: searchd -c sphinx.conf。启动后可以直接使用 mysql -h0 -P9306 连接到SphinxSearch。

  2. 数据的查询和展示,以python+flask为例。保存以下代码为sample.py。sphinxsearch兼容MySQL协议,因此有编程经验的朋友应该很容易用其他语言写出更高效的代码。

from flask import Flask
import pymysql

app = Flask(__name__)

def Sorting(lst):
    lst.sort(key=len)
    return lst

@app.route("/<word>")
def sample(word):
    body = "<style>.pg_exam { padding-top: 0.3em; color: #4c4e56; display: inline-block; } .hl { color: red; } </style>"
    db = pymysql.connect(host="0", user="",password="",port=9306)
    cur = db.cursor()
    sql = "SELECT snippet(body, %s, 'limit=5000','around=2000','before_match=<span class=\"hl\">','after_match=</span>','force_all_words=true') FROM ec2_idx where match(%s) limit 100"

    cur.execute(sql,('"' + word + '"',' @body  "' + word + '"'))
    exact_rows=cur.fetchall()

    tio_list=[]

    if exact_rows:
        for exrow in exact_rows:
            current_body= '<class="pg_exam">' + " ‣ " + exrow[0] + "</span>" + "<br />"
            tio_list.append(current_body)
        msg = "".join(Sorting(tio_list)[:50])
        return body + msg
    else:
        return "Keyword not found"
  1. 启动服务。 export FLASK_APP=sample ; flask run --host=0.0.0.0

  2. 通过 http://127.0.0.1:5000/<中英文单词> 来直接访问,如果你使用GD,本地可以直接配置网络词典为: http://127.0.0.1:5000/%GDWORD% 。至于样式、字体等等大家都可以根据自己的喜好在代码中自行调整。

基于以上的数据,你可以:

  1. 打造离线版本的TIO词典

  2. 打造一本基于目标词汇,适合自己、适合特定对象、用于特定目的的个性化词典

TIO数据库中的内容虽然都来自互联网,但收集、抓取、清洗、整理却颇为不易,严禁任何人用来作任何形式的盈利。

32 个赞

大侠厉害 谢谢分享 感恩

2 个赞

大侠们更改的sio的css在我的欧路词典上还是和原来一样,没有变化啊

2 个赞

谢谢你的无私分享。

3 个赞

感谢分享,有好心的前辈做个视频版教程教教我这个毫无编程基础的同学吗

3 个赞