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"。

廣告