From 4d34b390d5aff2d6ecce7c983164944a1f8d2124 Mon Sep 17 00:00:00 2001 From: William Jordan-Cooley Date: Wed, 3 Jul 2024 14:00:11 -0400 Subject: [PATCH 1/2] simplify logic of message translation --- .../chat/message_translation_card.dart | 30 ++++++------------- 1 file changed, 9 insertions(+), 21 deletions(-) diff --git a/lib/pangea/widgets/chat/message_translation_card.dart b/lib/pangea/widgets/chat/message_translation_card.dart index 094f481ec..31b6addb2 100644 --- a/lib/pangea/widgets/chat/message_translation_card.dart +++ b/lib/pangea/widgets/chat/message_translation_card.dart @@ -29,41 +29,26 @@ class MessageTranslationCardState extends State { PangeaRepresentation? repEvent; String? selectionTranslation; String? oldSelectedText; - String? l1Code; - String? l2Code; bool _fetchingRepresentation = false; - String? translationLangCode() { - if (widget.immersionMode) return l1Code; - final String? originalSentCode = - widget.messageEvent.originalSent?.content.langCode; - return (l1Code == originalSentCode || originalSentCode == null) - ? l2Code - : l1Code; - } - Future fetchRepresentation(BuildContext context) async { - final String? langCode = translationLangCode(); - if (langCode == null) return; + if (l1Code == null) return; repEvent = widget.messageEvent .representationByLanguage( - langCode, + l1Code!, ) ?.content; if (repEvent == null && mounted) { repEvent = await widget.messageEvent.representationByLanguageGlobal( - langCode: langCode, + langCode: l1Code!, ); } } Future translateSelection() async { - final String? targetLang = translationLangCode(); - if (widget.selection.selectedText == null || - targetLang == null || l1Code == null || l2Code == null) { selectionTranslation = null; @@ -78,7 +63,7 @@ class MessageTranslationCardState extends State { accessToken: accessToken, request: FullTextTranslationRequestModel( text: widget.selection.messageText, - tgtLang: translationLangCode()!, + tgtLang: l1Code!, userL1: l1Code!, userL2: l2Code!, srcLang: widget.messageEvent.messageDisplayLangCode, @@ -106,11 +91,14 @@ class MessageTranslationCardState extends State { } } + String? get l1Code => + MatrixState.pangeaController.languageController.activeL1Code(); + String? get l2Code => + MatrixState.pangeaController.languageController.activeL2Code(); + @override void initState() { super.initState(); - l1Code = MatrixState.pangeaController.languageController.activeL1Code(); - l2Code = MatrixState.pangeaController.languageController.activeL2Code(); if (mounted) { setState(() {}); } From 266826fd0ee435c23bb4f6dd6ac023aa952fd23e Mon Sep 17 00:00:00 2001 From: William Jordan-Cooley Date: Wed, 3 Jul 2024 14:01:54 -0400 Subject: [PATCH 2/2] take out hasInfo --- lib/pangea/repo/igc_repo.dart | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lib/pangea/repo/igc_repo.dart b/lib/pangea/repo/igc_repo.dart index d3dbbcb6b..d6271470a 100644 --- a/lib/pangea/repo/igc_repo.dart +++ b/lib/pangea/repo/igc_repo.dart @@ -47,27 +47,22 @@ class IgcRepo { tokens: [ PangeaToken( text: PangeaTokenText(content: "This", offset: 0, length: 4), - hasInfo: true, lemmas: [Lemma(form: "This", text: "this", saveVocab: true)], ), PangeaToken( text: PangeaTokenText(content: "be", offset: 5, length: 2), - hasInfo: true, lemmas: [Lemma(form: "be", text: "be", saveVocab: true)], ), PangeaToken( text: PangeaTokenText(content: "a", offset: 8, length: 1), - hasInfo: false, lemmas: [], ), PangeaToken( text: PangeaTokenText(content: "sample", offset: 10, length: 6), - hasInfo: false, lemmas: [], ), PangeaToken( text: PangeaTokenText(content: "text", offset: 17, length: 4), - hasInfo: false, lemmas: [], ), ],