|
K4YT3X |
Default
K4YT3X https://k4yt3x.com/fcitx5-pinyin-%E6%89%B9%E9%87%8F%E5%AF%BC%E5%85%A5%E6%90%9C%E7%8B%97%E8%AF%8D%E5%BA%93/ -虽然 fcitx5-configtool 内可以为 fcitx5-pinyin 导入搜狗词库,但它并不能批量导入词库,因而特此写一篇教程记录下我研究出的批量导入搜狗词库的方案。
批量下载词库
批量下载词库的方法多种多样,在此我以 搜狗词库爬虫 (Sougou_dict_spider) 为例,批量下载所有词典。
批量转换为 libime dict
接下来将所有需要转换的词典收集到同一个目录下方便操作,下面的这条目录复制了所有官方推荐的词典到 recommended
目录下。命令中还用 -not
参数排除了几个不需要的类别。
1
|
find . -type f -iname '*官方推荐*.scel' -not -path "./436/*" -not -path "./403/*" -exec cp {} ~/sogou/recommended/ \;
|
接下来我们需要使用 fcitx5-chinese-addons
包提供的 scel2org5
命令将 scel 文件转成文本格式,再用 libime
提供的 libime_pinyindict
命令将 .txt
文本转换为 libime 可以识别的 .dict
格式。下面这个脚本可以批量转换当前目录下的所有 .scel
文件并将转换完的文件输出到 dict/
子目录中。
1
2
3
4
5
6
7
8
9
10
|
#!/usr/bin/python
# -*- coding: utf-8 -*-
import pathlib
import subprocess
for file in pathlib.Path("scel/").glob("*.scel"):
subprocess.run(["/usr/bin/scel2org5", str(file), "-o", f"txt/{file.stem}.txt"])
for file in pathlib.Path("txt/").glob("*.txt"):
subprocess.run(["/usr/bin/libime_pinyindict", str(file), f"dict/{file.stem}.dict"])
|
将 dict 文件导入 fcitx5-pinyin
词典的导入相当简单,只需要把转换完的 .dict
文件复制到 ~/.local/share/fcitx5/pinyin/dictionaries
即可。您可能需要重新加载 Fcitx5 来使新词典生效。
- https://k4yt3x.com/fcitx5-pinyin-%E6%89%B9%E9%87%8F%E5%AF%BC%E5%85%A5%E6%90%9C%E7%8B%97%E8%AF%8D%E5%BA%93/ - 2019-2024 K4YT3X. All rights reserved.