Kivy 简明教程

Kivy - Spelling

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

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

pip3 install pyenchant

Example

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

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

Output

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

['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”。