Organisation du code

Architecture

Le module ne dépend d'aucun package Composer. La classe module route les appels AJAX vers des classes spécialisées par domaine (contenu, modules, thèmes, e-mails).

ClasseRôle
FreshappiatranslatorClasse module : hooks, dispatcher AJAX interne (paramètre module_action, une vingtaine d'actions).
TranslateApiOrchestre une traduction unitaire : dictionnaire intelligent, mots exclus, découpage HTML-safe, translittération, réécriture des URL internes.
AbstractProvider + 8 adaptateursDeeplV2Provider, GoogleV2Provider, OpenAiProvider, MicrosoftV3Provider, LibreTranslateProvider, MammouthProvider, ReviradaProvider, CopyProvider.
HtmlParser / HtmlSplitterExtraction et réinjection des nœuds texte d'un contenu HTML ; découpage au nombre de caractères maximum du fournisseur.
AbstractTableAdapter / GenericLangAdapterRegistre des tables traduisibles : 26 adaptateurs dédiés (produits, catégories, CMS, transporteurs…) et découverte automatique de toute table *_lang.
TableTranslation / TableBackupTraduction paginée d'une table entre deux langues ; sauvegarde SQL (gzip si disponible) avant traduction en masse.
FailedTranslationJournalise les échecs de traduction (table failed_translation) pour revue et rejeu.
ModulesTranslator / ThemesTranslator / MailsTranslatorInventaire des modules, thèmes et modèles d'e-mail traduisibles.
TranslateContentCron / TranslateCommandTraduction en masse en ligne de commande (bin/console freshappiatranslator:translate) ou via cron.php, sans limite de temps d'exécution du navigateur.
Chargement...
Retour en haut