Skip to content

studyzy/imewlconverter

Repository files navigation

深蓝词库转换

Stars Actions Check Integration Tests 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 格式)
  • 谷歌拼音输入法

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

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

命令行使用

基本语法

# 使用 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
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

查看帮助和格式列表

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格式 → 多种输出格式)
  • ✅ 高级功能测试(过滤、编码、大文件性能)

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

更多信息

Star History

Star History Chart

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors