(self, lang_code: str)
| 695 | ) |
| 696 | |
| 697 | def _pick_spell_checking_language(self, lang_code: str): |
| 698 | # Try and set the correct language if available. |
| 699 | lang_base_code = lang_code.split("-")[0] |
| 700 | default_user_lang_code = self.spell_checker.get_provider().get_default_code() |
| 701 | |
| 702 | spell_checker_lang_code = default_user_lang_code # Default to the user's preference |
| 703 | |
| 704 | if lang_base_code in self.spell_checker_supported_languages: |
| 705 | if lang_code in self.spell_checker_supported_languages[lang_base_code]: |
| 706 | # The language is matched exactly. |
| 707 | spell_checker_lang_code = lang_code |
| 708 | elif (code := lang_code.replace("-", "_")) in self.spell_checker_supported_languages[lang_base_code]: |
| 709 | # The language code needs underscores within the provider. |
| 710 | spell_checker_lang_code = code |
| 711 | elif default_user_lang_code.startswith(lang_base_code): |
| 712 | # Default to user preference if at least the base language code matches. |
| 713 | # Probably the most common scenario: en -> en_US. |
| 714 | spell_checker_lang_code = default_user_lang_code |
| 715 | else: |
| 716 | # Try to set the language even if the country code doesn't match, to the first available one. |
| 717 | spell_checker_lang_code = self.spell_checker_supported_languages[lang_base_code][0] |
| 718 | |
| 719 | self.spell_checker.set_language(spell_checker_lang_code) |
| 720 | |
| 721 | """ |
| 722 | User interface functions |
no outgoing calls
no test coverage detected