Kivy - 拼写检查



Kivy 库在其 "kivy.core" 包中提供了一个拼写模块。它提供对一系列拼写检查后端以及单词建议的抽象访问。API 受到 "python-enchant" 库的启发。

您需要安装 enchant 才能使用此功能。

pip3 install pyenchant

示例

创建一个 Spelling 类(定义在 "kivy.core.spelling" 模块中)的对象以调用其各种方法。例如,list_languages() 方法返回支持的语言列表。

from kivy.core.spelling import Spelling
s = Spelling()
s.list_languages()

输出

它将列出所有支持的语言 -

['en_BW', 'en_AU', 'en_BZ', 'en_GB', 'en_JM', 'en_DK',
'en_HK', 'en_GH', 'en_US', 'en_ZA', 'en_ZW', 'en_SG', 'en_NZ',
'en_BS', 'en_AG', 'en_PH', 'en_IE', 'en_NA', 'en_TT', 'en_IN',
'en_NG', 'en_CA']

您可以从列表中选择特定语言以供后续使用。

s.select_language('en_US')

Spelling 类中的 check() 方法检查给定单词在当前活动语言中是否有效。如果是,则返回 True。如果单词不应该被检查,则返回 None(例如,对于 '')。如果它不是 self._language 中的有效单词,则返回 False。

>>> s.check('this')
   True
>>> s.check('thes')
   False

您可以从 Spelling 类获取给定单词的建议。

s.suggest('wold')

['wild', 'wolf', 'old', 'wolds', 'woald', 'world', 'would',
'weld', 'sold', 'woad', 'word', 'told', 'wood', 'cold', 'gold']

如果您尝试选择列表中不存在的支持语言,Kivy 将引发以下 NoSuchLangError 异常 -

s.select_language('Hindi')
kivy.core.spelling.NoSuchLangError: Enchant Backend: No
language for "Hindi"

当调用使用语言的方法但之前未选择任何语言时,Kivy 会引发 "NoLanguageSelectedError"。

广告