我如何知道 kate/KDE 使用哪个字典进行拼写检查?

我如何知道 kate/KDE 使用哪个字典进行拼写检查?

我注意到凯特认为某个特定单词拼写正确,即使它拼写错误。当我使用 aspell 或 enchant 实用程序检查单词时,它们都正确地将其识别为拼写错误。我如何知道 kate/KDE 正在使用哪个拼写检查实用程序或字典以及为什么它无法识别拼写错误?

答案1

所以我意识到这是一个老问题,但我似乎一直在重新审视这种情况,也许你也是。

KDE 现在使用“Sonnet”作为拼写框架。显然它可以在下面使用Hunspell(还有Aspell,它不再维护了?)

无论如何,我需要自己解决这个问题再次今天,想给后人留下一个注释... KDE 拼写检查中的 Sonnet 设置(区域设置、拼写检查)将导致无声的失败如果您的特定区域版本未完全安装 - 在我的例子中是澳大利亚英语 (en_AU)。

尝试从 shell 启动 KMail(例如)并注意:

sonnet.core: Missing trigrams for languages: QSet("en_GB", "en_CA", "en_AU")

因此,我的发行版不会自动引入我的 en_AU 词典,并且设置该区域进行拼写并不会抱怨或改变这种情况。

这可能是您问题的根源 - 还可以尝试禁用自动语言检测,直到您解决了字典问题。

答案2

首先找到 Kate 进程的 PID,例如ps aux | grep kate给出

user     23838  0.9  1.1 862548 97028 ?        Sl   12:17   0:05 kate -b /path/to/open/file
user     24710  0.0  0.0  12796   968 pts/0    S+   12:27   0:00 grep --color=auto kate

kate进程是第一行(检查行末尾的命令),因此它的PID是23838(第一个数字)。

现在运行lsof | grep <PID> | grep spell。我得到(精简)

kate      23838         jlippuner  mem       REG                8,1    110400    2884298 /var/lib/aspell/en-wo_accents-only.rws
kate      23838         jlippuner  mem       REG                8,1   2412496    2884269 /var/lib/aspell/en-common.rws
kate      23838         jlippuner  mem       REG                8,1    424224    3420495 /usr/lib/x86_64-linux-gnu/libhunspell-1.4.so.0.0.0
kate      23838         jlippuner  mem       REG                8,1     52128     657021 /usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/sonnet/hunspell.so
kate      23838         jlippuner  mem       REG                8,1     77328     657020 /usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/sonnet/hspell.so
kate      23838         jlippuner  mem       REG                8,1    714800    3408001 /usr/lib/x86_64-linux-gnu/libaspell.so.15.2.0
kate      23838         jlippuner  mem       REG                8,1     19088     657009 /usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/sonnet/aspell.so
kate      23838         jlippuner  mem       REG                8,1     91248    2884348 /var/lib/aspell/en_US-wo_accents-only.rws

所以就我而言,看起来 kate 加载了 hunspell 和 aspell 库(libhunspell-1.4.so.0.0.0libaspell.so.15.2.0),并且它正在使用aspell字典(/var/lib/aspell/en-wo_accents-only.rws/var/lib/aspell/en-common.rws

相关内容