MCPcopy Index your code
hub / github.com/dialect-app/dialect / load_translator

Method load_translator

dialect/window.py:306–421  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

304
305 @background_task
306 async def load_translator(self):
307 self.translator_loading = True
308
309 provider = Settings.get().active_translator
310
311 # Show loading view
312 self.main_stack.props.visible_child_name = "loading"
313
314 # Translator object
315 self.provider["trans"] = TRANSLATORS[provider]()
316 # Get saved languages
317 self.src_langs = self.provider["trans"].recent_src_langs
318 self.dest_langs = self.provider["trans"].recent_dest_langs
319 # Connect to provider settings changes
320 self.provider["trans"].settings.connect(
321 "changed::instance-url", self._on_provider_changed, self.provider["trans"].name
322 )
323 self.provider["trans"].settings.connect(
324 "changed::api-key", self._on_provider_changed, self.provider["trans"].name
325 )
326
327 try:
328 # Do provider init
329 await self.provider["trans"].init_trans()
330
331 # Update navigation UI
332 self._check_navigation_enabled()
333 # Check mistakes support
334 self._check_mistakes()
335 # Check pronunciation support
336 self._check_pronunciation()
337 # Check suggestions support and update UI
338 self._on_suggest_cancel_action()
339 self.edit_btn.props.visible = self.provider["trans"].supports_suggestions
340
341 # Update langs
342 self.src_lang_model.set_langs(self.provider["trans"].src_languages)
343 self.dest_lang_model.set_langs(self.provider["trans"].dest_languages)
344
345 # Update selected langs
346 set_auto = Settings.get().src_auto and self.provider["trans"].supports_detection
347 src_lang = self.provider["trans"].src_languages[0]
348 if self.src_langs and self.src_langs[0] in self.provider["trans"].src_languages:
349 src_lang = self.src_langs[0]
350 self.src_lang_selector.selected = "auto" if set_auto else src_lang
351
352 dest_lang = self.provider["trans"].dest_languages[1]
353 if self.dest_langs and self.dest_langs[0] in self.provider["trans"].dest_languages:
354 dest_lang = self.dest_langs[0]
355 self.dest_lang_selector.selected = dest_lang
356
357 # Update chars limit
358 if self.provider["trans"].chars_limit == -1: # -1 means unlimited
359 self.char_counter.props.label = ""
360 else:
361 count = f"{str(self.src_buffer.get_char_count())}/{self.provider['trans'].chars_limit}"
362 self.char_counter.props.label = count
363

Callers 2

setupMethod · 0.95
reload_providerMethod · 0.95

Calls 11

_check_mistakesMethod · 0.95
_check_pronunciationMethod · 0.95
set_langsMethod · 0.80
errorMethod · 0.80
getMethod · 0.45
init_transMethod · 0.45
validate_api_keyMethod · 0.45

Tested by

no test coverage detected