news 2026/11/5 1:13:06

如何用深蓝词库转换把 50 多种输入法词库格式互相转换

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何用深蓝词库转换把 50 多种输入法词库格式互相转换

如何用深蓝词库转换把 50 多种输入法词库格式互相转换

【免费下载链接】imewlconverter”深蓝词库转换“ 一款开源免费的输入法词库转换程序项目地址: https://gitcode.com/gh_mirrors/im/imewlconverter

深蓝词库转换(imewlconverter)是一款开源免费的输入法词库转换工具,能把搜狗 scel、百度 bdict、QQ 拼音 qpyd、Rime、macOS plist 等 50 多种词库格式互相转换,支持 Windows、macOS 图形界面和 Linux 命令行。它只做离线文件转换:读入一个词库文件,按目标输入法的格式写出一个新文件,不会接管或修改输入法内置词库。如果你的需求是“手里有个 A 格式的词库,想拿到 B 格式的输入法上用”,这条路径走通后基本就不再需要其他工具。

能力速览:先确认你的转换方向支不支持

30 秒判断标准:看源格式和目标格式是否都出现在--list-formats的输出里,以及方向是否被允许。不少二进制格式是“只进不出”的——工具能读懂它们,但不能反向生成。

你想做的事是否支持说明
scel / rime / 各拼音文本格式互转✅输入输出都可用
qpyd、qcel、bdict、ld2、搜狗备份 bin 等二进制⚠️ 仅导入只能作为源文件,需经中间格式再导出
自整理词表导入指定输入法✅用word格式读纯文字词表,拼音由工具自动计算
在输入法内实时增删词条❌离线转换工具,不接管内置词库

稳妥的通用路径是:二进制 → 中间文本格式(如self)→ 目标格式。

从零构建环境:图形版和命令行版怎么选

📦入口一:图形界面。Windows 和 macOS 各有图形版,词库文件拖进窗口、选源格式和目标格式即可;一次拖入多个文件可批量转换。下载入口见仓库 README.md 提到的 Release 页面(以项目仓库说明为准)。

入口二:命令行工具。适合 Linux 用户、想把转换写进脚本的人。前置要求只有一个:.NET SDK 10.0 以上,用下面这条命令确认,输出版本号 ≥ 10.0 即可:

dotnet --version

克隆仓库并构建:

git clone https://gitcode.com/gh_mirrors/im/imewlconverter cd imewlconverter dotnet build src/ImeWlConverterCmd

构建完成后产物在src/ImeWlConverterCmd/bin/Debug/net10.0/ImeWlConverterCmd.dll。跑一条帮助命令验证环境——你应该看到完整参数说明(-i、-o、-O、-f等):

dotnet src/ImeWlConverterCmd/bin/Debug/net10.0/ImeWlConverterCmd.dll --help

再跑一条格式清单命令,会分两段打印“支持的输入格式”和“支持的输出格式”,每行是格式代码加中文名(如scel 搜狗细胞词库scel)。后面所有-i、-o用的都是这份清单里的代码,拿不准就先查它:

dotnet src/ImeWlConverterCmd/bin/Debug/net10.0/ImeWlConverterCmd.dll --list-formats

嫌 DLL 路径长的话,也可以用dotnet run --project src/ImeWlConverterCmd -- -i scel ...的方式运行,注意--分隔符;或者用 Makefile 的make build-cmd一键构建。

把搜狗 scel 词库转成 Rime 词库:一次完整转换

🎯 目标:仓库自带的示例词库src/ImeWlConverterCoreTest/Test/唐诗300首【官方推荐】.scel(一个真实的搜狗细胞词库)转成 Rime 词库。

基本语法只有一行,输入文件作为位置参数放在最后,输出路径用大写-O显式指定:

dotnet src/ImeWlConverterCmd/bin/Debug/net10.0/ImeWlConverterCmd.dll \ -i scel -o rime -O rime-dict.yaml \ "src/ImeWlConverterCoreTest/Test/唐诗300首【官方推荐】.scel"

验证点 1:终端输出。成功时你会看到一行统计:转换完成: 导入 N 条, 过滤 M 条, 导出 K 条。三个数字的关系是:导入 - 过滤 ≈ 导出(个别词条可能因无码被丢弃),如果导出为 0,先别查输出文件。

验证点 2:产物内容。Rime 导出格式是制表符分隔的三列:词条、拼音、词频,按词频降序排列。打开rime-dict.yaml应能看到类似这样的行:

床前明月光 chuang qian ming yue guang 1000

验证点 3:放进输入法。把文件拷入 Rime 的用户词库目录,重新加载输入方案,输入对应拼音确认词条出现。

同一条源文件转其他目标只换-o,比如转搜狗文本格式-o sgpy -O output.txt、转谷歌拼音-o ggpy -O output.txt。

进阶用法:按场景查参数

🔧场景一:转出来太杂,想过滤词条。用-f,多个条件用竖线拼接:

dotnet src/ImeWlConverterCmd/bin/Debug/net10.0/ImeWlConverterCmd.dll \ -i scel -o ggpy -O output.txt -f "len:1-100|rm:eng|rm:num" input.scel

可用条件:len:1-100(保留指定字数范围)、rank:2-9999(保留词频区间)、rm:eng(去含英文)、rm:num(去含数字)、rm:space(去含空格)、rm:pun(去含标点)。跑完后终端的“过滤 N 条”会反映实际滤掉的数量,这是核对过滤条件是否生效最快的办法。

场景二:一次转一批文件。命令行可传多个输入文件,输出路径以/结尾时会按批量模式把每个文件的产物写进该目录:

dotnet src/ImeWlConverterCmd/bin/Debug/net10.0/ImeWlConverterCmd.dll \ -i scel -o ggpy -O ./output/ *.scel

场景三:自整理词表没有拼音。用word格式读入纯汉字词表(每行一个词,自动识别 UTF-8 / GBK 编码),拼音由工具自动计算后再导出:

dotnet src/ImeWlConverterCmd/bin/Debug/net10.0/ImeWlConverterCmd.dll \ -i word -o rime -O out.txt 纯汉字.txt

场景四:给词条指定固定词频。-r 100会把所有词条词频强制覆盖为 100;-r llm则调用 LLM API 为词频为 0 的词条在线生成词频,Key 通过--llm-key或环境变量IMEWL_LLM_KEY提供,API 失败时转换会整体失败而不是静默用默认词频,详见 docs/MIGRATION.md。

场景五:自定义编码输入(形码类)。提供 Tab 分隔的“汉字↹编码”映射表用-c指定;多字词取码规则用-m指定,规则语法(如code_e2=p11+p12+p21+p22)完整说明见 docs/custom-code-rules.md。

场景六:导出 scel 时改元数据。--dict-name、--dict-category、--dict-id、--dict-description控制生成 scel 内嵌的词库名称、类别、编号和描述,方便在搜狗词库里识别。

场景七:脚本集成。加--json输出机器可读结果,退出码有稳定契约:0 成功、1 用法错误、2 输入错误、3 部分失败、4 内部错误——写 shell 脚本时按这些值分支即可。

图形版里另有合并词库、拆分大文件的独立窗口,单个词库对输入法压力过大时用得上。

词库转换常见报错的自救手册

🛠 以下按“症状 → 先查 → 解法”排:

  1. 症状:终端直接报“错误: 检测到旧的参数格式”。先查命令里是否有-i:、-o:、-f:这类冒号写法——那是 3.0 之前的旧格式,新版已移除。解法:改成空格分隔,-i:scel改为-i scel,完整新旧对照表在 docs/MIGRATION.md,报错信息本身也会打印常用参数对照。
  2. 症状:提示未知输入/输出格式。先跑--list-formats核对代码拼写,注意区分sgpy(搜狗文本)和sgpybin(搜狗备份 bin)。如果格式确实没收录,到项目 issue 区提需求。
  3. 症状:输出文件里是乱码。先确认源文件编码:纯文本词表常见 UTF-8 和 GBK 两种。word格式导入会自动识别这两种;其他文本格式乱码时,换用能自动识别编码的中间格式(word或self)重新走一遍再导出。
  4. 症状:批量转换后目录里没有文件。先查-O的输出路径是否以/结尾——不带/时它被当成单个输出文件名而不是目录;路径含空格的要加引号。
  5. 症状:dotnet命令无法启动或构建报目标框架错误。先跑dotnet --version,本项目目标框架是net10.0,SDK 低于 10.0 装不上;升级 .NET SDK 后重新dotnet build src/ImeWlConverterCmd。
  6. 症状:部分文件成功、部分失败(退出码 3)。这通常意味着批次里混了坏文件(截断的下载、空文件)。先用单个文件复现,确认是源文件问题再重跑全量;大词库可以先截取几十条小样本验证流程,再跑完整文件。

资源导航:遇到问题该读哪个文件

  • README.md:项目入口,含格式代码速查表、完整使用示例和 Windows GUI 双模式(带参数运行即命令行,但不支持输出重定向,脚本场景请用ImeWlConverterCmd)说明。
  • docs/:文档目录索引。MIGRATION.md讲参数迁移和退出码契约,custom-code-rules.md讲自定义编码规则语法,docker.md讲容器化使用。
  • src/ImeWlConverter.Formats/:每种格式一个子目录,Importer / Exporter 成对出现;想看某格式怎么解析,直接读对应目录。
  • src/ImeWlConverterCoreTest/Test/:仓库自带的一批真实格式示例文件(scel、qpyd、bdict、ld2 等),拿来做第一次转换不用自己找样例。
  • tests/integration/TEST-MATRIX.md:格式转换覆盖矩阵,想确认“某格式到某格式”是否被测试覆盖时查这里。

【免费下载链接】imewlconverter”深蓝词库转换“ 一款开源免费的输入法词库转换程序项目地址: https://gitcode.com/gh_mirrors/im/imewlconverter

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/5 1:12:38

SQL从零入门:hello-sql的50+实战命令与完整学习路径

SQL从零入门:hello-sql的50实战命令与完整学习路径 【免费下载链接】hello-sql Curso para aprender los fundamentos del lenguaje SQL y bases de datos relacionales desde cero y para principiantes. 项目地址: https://gitcode.com/gh_mirrors/he/hello-sql…

作者头像 李华
网站建设 2026/11/5 1:12:26

Rufus 制作 U 盘启动盘:分区选对、一次引导成功的完整方案

Rufus 制作 U 盘启动盘:分区选对、一次引导成功的完整方案 【免费下载链接】rufus The Reliable USB Formatting Utility 项目地址: https://gitcode.com/GitHub_Trending/ru/rufus Rufus 是一个单文件、免安装的 U 盘格式化工具,核心场景很聚焦&…

作者头像 李华
网站建设 2026/11/5 1:11:44

8、SpringBoot高频面试题

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/11/5 1:11:05

三月七小助手:星穹铁道自动化完整指南

三月七小助手:星穹铁道自动化完整指南 【免费下载链接】March7thAssistant 日常交给三月七,开拓留给你。《崩坏:星穹铁道》开源自动化助手。 项目地址: https://gitcode.com/gh_mirrors/ma/March7thAssistant 每天凌晨4点体力刷新&…

作者头像 李华
网站建设 2026/11/5 1:10:12

ADS122U04IPWR+STM32F031C6工业温度采集系统设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/11/5 1:09:29

ADS122U04IPWR+PIC18F96J94工业温度采集实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华