hosxy / rime-aurora-pinyin

【极光拼音】输入方案
Apache License 2.0
70 stars 3 forks source link

使用import_tables的方式加载的词典不全, 求助. #10

Open rsyqvthv opened 3 years ago

rsyqvthv commented 3 years ago

aurora是我唯一的输入方法, 用import_tables的方式挂载了一些字典, 但发现这些挂载字典中的词并未加载. 加入了新的字典后进行"重新部署"也是一闪而过, 而不是原先有个时间漏斗, 需要等上一阵那样.

我的输入法选择, aurora极光是我唯一的选择.

【小狼毫】方案選單設定_20211005_201353

这是我的文件目录, 和aurora相关的就这4个:

rime_20211005_201504

aurora_pinyin.custom.yaml 的内容:

patch:
  'translator/dictionary': aurora_pinyin.extended

aurora_pinyin.extended.dict.yaml的内容:

# encoding: utf-8

---
name: aurora_pinyin.extended
version: "2021/09/22"
sort: by_weight
use_preset_vocabulary: true
import_tables:
  - aurora_pinyin
  - english
  - chinese_ancient
  - chinese_address
  - chinese_chengyu
  - chinese_names
  - chinese_proberb
...
# 自定义的词条
^_^ hh  5
T_T kk  5

至此, aurora_pinyin.extended.dict.yaml 文件似乎是被读取了的, 因为我自定义的两个词条是可以输入的.

但是通过import_tables方式引入的词条则似乎只有english被完全引入了, 而其他的似乎只引用了部分. 我尝试输入一些字典里面的词语, 都是有的有, 有的没有. 这让我很困惑.

rime_20211005_202026

我已经逐个检查过字典, 似乎都符合规范:

这里是一小段字典的开头部分, 供大家参详:

# Rime dictionary
# encoding: utf-8

---
name: chinese_acient
version: "2021/09/22"
sort: by_weight
use_preset_vocabulary: true
...

阿八哈     a ba ha   1
阿巴雅 a ba ya 1
阿拔斯一世   a ba si yi shi  1
阿班罗桑曲殿  a ban luo sang qu dian  1
阿般提 a ban ti    1
阿般图 a ban tu    1

无论怎么设置, 只要重新部署都是一闪而过. 当然改变也不会被应用.

我甚至在task manager中关闭了weaselserver.exe, 然后再重新启动该服务,

重启电脑也仍然无济于事.

请有经验的大神点拨一下, 我到底哪里做错了? 怎么才能让rime真正的应用我的全部import_tables的词典呢?

flyingicedragon commented 3 years ago

最后给的那个词典开头的“阿八哈”一行好像就有问题。方便分享一下词典文件检查吗?我感觉还是词典的问题。
配置部分我看着没有问题,而且也有词典可以成功加载。

hosxy commented 3 years ago

词库那块,分隔符只能用 tab ,不能用空格。

rsyqvthv commented 3 years ago

感谢两位的回复 @hosxy @flyingicedragon

我检查了一下字典文件, 分隔符都是tab. 不知道为什么我拷贝到github中变成了空格.

我将import_tables引入的所有字典文件打包, 点击下面的链接进行下载

https://anonfiles.com/72P1PfL9ua/rime_zip

烦请二位帮我看下. 万分感谢.

flyingicedragon commented 3 years ago

我把几个词库加载到我的里面都没有问题。不过我用的输入法不是 aurora 而是微软双拼,等 hosxy 测试一下吧。

rsyqvthv commented 3 years ago

@flyingicedragon 感谢你的回复.

我重置了aurora, 发现了可能是字典的问题:

首先我按照下面的方法重置了一下:

1, 备份我的词频, (用户词典管理 > 导出) 2, 更换输入法为一个非aurora的输入法. 3, 关闭weasalserver 4, 删除data目录中的aurora_pinyin.userdb 文件夹. 5, 到data目录中的build目录里, 将下面aurora相关的文件全部删除

build_20211006_073305

6, 启动weasalserver, 让他重新部署. 7, 切换回aurora.

这时输入法中文输入时只能输入字母, 没有组词了.

排除了一下发现, import_tables词典中, 只有三个词典是可以正常加载的:

  - aurora_pinyin
  - english
  - chinese_address

而另外4个, 写入import_tables后, 重新部署只是一闪而过, 似乎不能正常加载. 但也没有任何错误提示. 目前我已经注释掉了.

#  - chinese_ancient
#  - chinese_chengyu
#  - chinese_names
#  - chinese_proberb

我很仔细的校验了一下, 实在是找不到这几个词典文件出了什么问题. :(

rsyqvthv commented 3 years ago

为了排除字典里面的问题, 我尝试将其中的词语尽数删除, 只留下:

# Rime dictionary
# encoding: utf-8

---
name: chinese_chengyu
version: "2021/09/22"
sort: by_weight
use_preset_vocabulary: true
...

真得很烦    eee 1
阿保之功    a bao zhi gong  1
阿保之劳    a bao zhi lao   1
阿鼻地狱    a bi di yu  1
阿鼻叫唤    a bi jiao huan  1

这回倒是加载了, 但是输入eee却不能显示真得很烦.

越来越奇怪了.

rsyqvthv commented 3 years ago

终于发现了问题!

首先是我有个一字典里面的name 拼写错误了, 而有趣的是, rime从这个错误的文件开始就停止读取了, 导致后面其他正确的字典也被忽略了.

没想到还和顺序有关.

感谢 @flyingicedragon @hosxy

放在这里供有相似问题的朋友们参考.