Skip to content

About

”深蓝词库转换“ 一款开源免费的输入法词库转换程序

Topics

Resources

Stars

10.4k stars

Watchers

141 watching

Forks

Repository files navigation

深蓝词库转换

Stars Actions Check License Repo size Code Count

Join the chat Release Downloads

一款输入法词库转换软件,支持以下超过 20 种的输入法工具和词库

本程序支持批量转换(一次拖拽多个词库文件,或者按住 Ctrl 选择多个文件),支持命令行模式(在命令行下使用-h命令查看帮助),支持 Windows、Linux、MacOS。

快速安装(命令行工具)

前置要求

从源码安装

# 1. 克隆仓库
git clone https://github.com/studyzy/imewlconverter.git
cd imewlconverter

# 2. 构建命令行工具
dotnet build src/ImeWlConverterCmd

# 3. 验证安装(查看帮助)
dotnet src/ImeWlConverterCmd/bin/Debug/net10.0/ImeWlConverterCmd.dll --help

构建完成后,命令行工具位于 src/ImeWlConverterCmd/bin/Debug/net10.0/ImeWlConverterCmd.dll。

通过 dotnet <dll路径> 方式运行,也可以使用 dotnet run 简化调用:

# 方式一:直接运行 DLL
dotnet src/ImeWlConverterCmd/bin/Debug/net10.0/ImeWlConverterCmd.dll --help

# 方式二:使用 dotnet run(自动构建并运行,注意 -- 分隔符)
dotnet run --project src/ImeWlConverterCmd -- --help

使用 Makefile(推荐)

项目提供了 Makefile 简化构建流程:

git clone https://github.com/studyzy/imewlconverter.git
cd imewlconverter
make build-cmd                    # Debug 模式构建
# 或
DOTNET_CONFIG=Release make build-cmd  # Release 模式构建

支持列表

PC 端:

手机端:

  • QQ 手机拼音
  • 百度手机拼音(文本词库和 bcd 格式)
  • 谷歌拼音输入法
  • Gboard user_dict_3_3

该软件支持 6 种以上的输入法编码方法:

  • 仓颉
  • 二笔(超强二笔,青松二笔等)
  • 拼音(全拼、双拼)
  • 五笔(五笔 86、五笔 98、新世纪五笔)
  • 郑码
  • 注音
  • 自定义

命令行使用

Windows GUI 程序的命令行模式

Windows 版 深蓝词库转换.exe 支持双模式:

  • 双击运行(无参数):打开图形界面
  • 带参数运行:作为命令行工具使用
深蓝词库转换.exe --help
深蓝词库转换.exe -i scel -o qqpy -O output.txt input.scel

注意:GUI 程序为窗口子系统,输出通过附着父控制台实现。交互式命令行(cmd、PowerShell、Windows Terminal)下输出可见,但不支持输出重定向和管道(深蓝词库转换.exe --help > help.txt 会得到空文件)。需要重定向/管道/脚本调用的场景请使用 ImeWlConverterCmd.exe。

基本语法

# 使用 dotnet 运行(将 <dll路径> 替换为实际的 DLL 路径)
dotnet <dll路径> -i <输入格式> -o <输出格式> -O <输出文件> <输入文件>

# 如果设置了别名或使用 dotnet run
imewlconverter -i <输入格式> -o <输出格式> -O <输出文件> <输入文件>

格式代码速查表

格式代码 说明 文件扩展名 支持导入 支持导出
scel 搜狗拼音细胞词库 .scel ✅ ✅
sgpy 搜狗拼音文本格式 .txt ✅ ✅
sgpybin 搜狗拼音备份词库 .bin ✅ ✅
qqpy QQ 拼音文本格式 .txt ✅ ✅
qpyd QQ 拼音分类词库 .qpyd ✅ ❌
qcel QQ 拼音细胞词库 .qcel ✅ ❌
ggpy 谷歌拼音 .txt ✅ ✅
bdpy 百度拼音文本格式 .txt ✅ ✅
bdict 百度拼音二进制格式 .bdict ✅ ❌
rime Rime 输入法 .yaml ✅ ✅
zgpy 紫光拼音 .txt ✅ ✅
pyjj 拼音加加 .txt ✅ ✅
libpy libpinyin (Linux) .txt ✅ ✅
plist macOS 系统拼音 .plist ✅ ✅
fit FIT 输入法 (Mac) .txt ✅ ✅
gboardbin Gboard user_dict_3_3 .dict ✅ ✅
self 自定义格式 .txt ✅ ✅

运行 --list-formats 可查看当前版本支持的完整格式列表。

常用示例

搜狗 scel 细胞词库转搜狗拼音 txt 格式:

dotnet ImeWlConverterCmd.dll -i scel -o sgpy -O output.txt input.scel

搜狗 scel 细胞词库转谷歌拼音格式:

dotnet ImeWlConverterCmd.dll -i scel -o ggpy -O output.txt input.scel

搜狗 scel 细胞词库转 Rime 格式:

dotnet ImeWlConverterCmd.dll -i scel -o rime -O output.yaml input.scel

多文件转换:

dotnet ImeWlConverterCmd.dll -i scel -o ggpy -O output.txt file1.scel file2.scel file3.scel

批量转换到目录(输出目录以 / 结尾):

dotnet ImeWlConverterCmd.dll -i scel -o ggpy -O ./output/ *.scel

使用过滤器:

dotnet ImeWlConverterCmd.dll -i scel -o ggpy -O output.txt -f "len:1-100|rm:eng|rm:num" input.scel

自定义 scel 词库元数据(导出为 scel 格式时,可自定义词库编号、名称、类别和描述):

dotnet ImeWlConverterCmd.dll -i scel -o scel \
  --dict-id 888888 \
  --dict-name "我的词库" \
  --dict-category "IT科技" \
  --dict-description "自定义描述" \
  -O output.scel input.scel

说明:这些选项仅影响内嵌元数据的格式(目前为搜狗 .scel)。未指定的字段使用默认值(名称:深蓝词库转换,类别:自定义,编号:随机生成)。

查看帮助和格式列表:

dotnet ImeWlConverterCmd.dll --help
dotnet ImeWlConverterCmd.dll --list-formats

完整使用示例(从安装到转换)

以下示例展示从克隆仓库到完成词库转换的完整流程:

# 1. 克隆并构建
git clone https://github.com/studyzy/imewlconverter.git
cd imewlconverter
dotnet build src/ImeWlConverterCmd

# 2. 将搜狗 scel 词库转为搜狗拼音 txt 格式
dotnet src/ImeWlConverterCmd/bin/Debug/net10.0/ImeWlConverterCmd.dll \
  -i scel -o sgpy -O 唐诗300首.txt \
  "src/ImeWlConverterCoreTest/Test/唐诗300首【官方推荐】.scel"

# 3. 将搜狗 scel 词库转为 Rime 格式
dotnet src/ImeWlConverterCmd/bin/Debug/net10.0/ImeWlConverterCmd.dll \
  -i scel -o rime -O 唐诗300首.yaml \
  "src/ImeWlConverterCoreTest/Test/唐诗300首【官方推荐】.scel"

也可以使用 dotnet run 方式运行(无需关心 DLL 路径):

cd imewlconverter
dotnet run --project src/ImeWlConverterCmd -- \
  -i scel -o sgpy -O 唐诗300首.txt \
  "src/ImeWlConverterCoreTest/Test/唐诗300首【官方推荐】.scel"

重要说明

从 v3.0.0 开始,命令行参数格式已更新为 GNU 风格。如果您使用的是旧格式(如 -i:scel),请参阅 MIGRATION.md 进行迁移。

集成测试

本项目包含完整的集成测试框架,确保各种输入法格式之间的转换正确性。

快速运行测试

# 1. 编译CLI工具
cd src/ImeWlConverterCmd
dotnet build -c Release

# 2. 运行集成测试
cd ../../tests/integration
./run-tests.sh --all

测试覆盖范围

当前已实现:

  • ✅ 导入测试(多种输入格式 → 统一CSV格式)
  • ✅ 导出测试(统一CSV格式 → 多种输出格式)
  • ✅ 高级功能测试(过滤、编码、大文件性能)
  • ✅ GUI 转换矩阵测试(Windows,驱动 WinForms 界面执行转换与词库合并、文件分割等 41 条路径,需交互桌面会话)
  • ✅ 实机端到端测试(Win10 微软拼音候选验证)

详细的测试矩阵与数据来源见 tests/integration/TEST-MATRIX.md。

# Windows GUI 转换矩阵测试(需交互桌面会话)
powershell -ExecutionPolicy Bypass -File tests\integration\windows-gui-matrix.ps1

更多信息

Star History

Star History Chart

About

”深蓝词库转换“ 一款开源免费的输入法词库转换程序

Topics

Resources

Stars

10.4k stars

Watchers

141 watching

Forks

Releases

Packages

Used by

Contributors

Languages