@@ -257,9 +257,8 @@ def setup_spell_checking(self):
257257 spell_checker_adapter .set_enabled (True )
258258
259259 # Collect the spell checking provider's supported languages.
260- spell_checker_supported_languages_glist = self .spell_checker .get_provider ().list_languages ()
261260 self .spell_checker_supported_languages = {}
262- for lang_object in spell_checker_supported_languages_glist :
261+ for lang_object in self . spell_checker . get_provider (). list_languages () :
263262 lang_code = lang_object .get_code ()
264263 lang_base_code = re .split ("_|-" , lang_code )[0 ]
265264 if lang_base_code not in self .spell_checker_supported_languages :
@@ -705,9 +704,9 @@ def _pick_spell_checking_language(self, lang_code: str):
705704 if lang_code in self .spell_checker_supported_languages [lang_base_code ]:
706705 # The language is matched exactly.
707706 spell_checker_lang_code = lang_code
708- elif lang_code .replace ("-" , "_" ) in self .spell_checker_supported_languages [lang_base_code ]:
707+ elif ( code := lang_code .replace ("-" , "_" ) ) in self .spell_checker_supported_languages [lang_base_code ]:
709708 # The language code needs underscores within the provider.
710- spell_checker_lang_code = lang_code . replace ( "-" , "_" )
709+ spell_checker_lang_code = code
711710 elif default_user_lang_code .startswith (lang_base_code ):
712711 # Default to user preference if at least the base language code matches.
713712 # Probably the most common scenario: en -> en_US.
@@ -1040,6 +1039,9 @@ def _on_src_lang_changed(self, *_args):
10401039 self .src_langs .pop ()
10411040 self .src_langs .insert (0 , code )
10421041
1042+ # Try to set the language in the spell checker.
1043+ self ._pick_spell_checking_language (code )
1044+
10431045 # Rewrite recent langs
10441046 self .src_recent_lang_model .set_langs (self .src_langs , auto = True )
10451047
0 commit comments