import 'package:manager_api_new/api.dart'; import 'package:mymuseum_visitapp/Models/visitContext.dart'; import 'package:mymuseum_visitapp/translations.dart'; class TranslationHelper { static String get(List? translationDTO, VisitAppContext visitAppContext) { try { return translationDTO!.where((element) => element.language == visitAppContext.language).first.value!; } catch (_) { return ""; } } static String getWithResource(List? translationAndResourceDTO, VisitAppContext visitAppContext) { try { return translationAndResourceDTO!.where((element) => element.language == visitAppContext.language).first.value!; } catch (_) { return ""; } } /// Tous les champs traduits sont saisis dans l'éditeur riche du manager : /// leur valeur est du HTML. À utiliser quand le rendu ne peut pas être un /// HtmlWidget — texte interpolé dans une phrase, comparaison, recherche. static String stripHtml(String html) => html .replaceAll(RegExp(r'<[^>]*>', multiLine: true), ' ') .replaceAll(' ', ' ') .replaceAll(RegExp(r'\s+'), ' ') .trim(); static String getPlain(List? translationDTO, VisitAppContext visitAppContext) => stripHtml(get(translationDTO, visitAppContext)); static String getWithResourcePlain(List? translationAndResourceDTO, VisitAppContext visitAppContext) => stripHtml(getWithResource(translationAndResourceDTO, visitAppContext)); static String getFromLocale(String valueToGet, VisitAppContext visitAppContext) { try { return translations.where((element) => element.language == visitAppContext.language).first.data![valueToGet]!; } catch (_) { return ""; } } }