@@ -257,9 +257,8 @@ def setup_spell_checking(self):
257
257
spell_checker_adapter .set_enabled (True )
258
258
259
259
# Collect the spell checking provider's supported languages.
260
- spell_checker_supported_languages_glist = self .spell_checker .get_provider ().list_languages ()
261
260
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 () :
263
262
lang_code = lang_object .get_code ()
264
263
lang_base_code = re .split ("_|-" , lang_code )[0 ]
265
264
if lang_base_code not in self .spell_checker_supported_languages :
@@ -705,9 +704,9 @@ def _pick_spell_checking_language(self, lang_code: str):
705
704
if lang_code in self .spell_checker_supported_languages [lang_base_code ]:
706
705
# The language is matched exactly.
707
706
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 ]:
709
708
# The language code needs underscores within the provider.
710
- spell_checker_lang_code = lang_code . replace ( "-" , "_" )
709
+ spell_checker_lang_code = code
711
710
elif default_user_lang_code .startswith (lang_base_code ):
712
711
# Default to user preference if at least the base language code matches.
713
712
# Probably the most common scenario: en -> en_US.
@@ -1040,6 +1039,9 @@ def _on_src_lang_changed(self, *_args):
1040
1039
self .src_langs .pop ()
1041
1040
self .src_langs .insert (0 , code )
1042
1041
1042
+ # Try to set the language in the spell checker.
1043
+ self ._pick_spell_checking_language (code )
1044
+
1043
1045
# Rewrite recent langs
1044
1046
self .src_recent_lang_model .set_langs (self .src_langs , auto = True )
1045
1047
0 commit comments