Notes de mise à jour Campus Lingo
Le développement du logiciel Campus Lingo comprend les composants logiciels suivants :
- Extension TYPO3 campus_lingo
- API du campus Lingo
L'API Campus Lingo est utilisée par campus_lingo comme point final. Elle se veut un intergiciel entre les systèmes TYPO3 équipés de campus_lingo et le service de traduction DeepL. Les nouvelles versions de l'API campus Lingo sont toujours mises en service avec une mise à jour de campus_lingo.
Vous trouverez ici toutes les notes de mise à jour de campus_lingo. Le schéma de la numérotation des versions suit l'idée du Semantic Versioning (Major.Minor.Bugfix). Dans la mesure où une mise à jour de campus_lingo s'accompagne d'une mise à jour de Campus Lingo API, cela est mis en évidence en conséquence.
campus_lingo 3.1.2
Date de sortie : 07.05.2026 ☆ Version de correction de bugs ☆ TYPO3 v11, v12 & v13
Dans le changelog
- [BUGFIX] Correction de la traduction automatique des références de fichiers : Correction d'une erreur où les références de fichiers traduites manuellement (par exemple, les images avec des légendes individuelles dans la langue cible) étaient remplacées à tort par des traductions automatiques. Le système vérifie désormais correctement s'il existe déjà une traduction manuelle avant d'utiliser le service de traduction.
- [BUGFIX] Correction d'une erreur lors de la désactivation du service de traduction : Correction d'un contrôle erroné dans les propriétés des pages qui entraînait la désactivation du service de traduction pour les pages alors que l'indicateur correspondant n'était pas activé. Cela se produisait lorsque l'option "Traduction Campus Lingo - Service désactivable" était activée dans les paramètres du site.
- [BUGFIX] Correction du contexte linguistique pour les traductions de pages : Correction d'un problème où le contexte linguistique d'origine n'était pas correctement rétabli lorsqu'il n'y avait pas de pages à traduire automatiquement dans la liste actuelle.
- [TASK] Version mise à jour à 3.1.2
campus_lingo 3.1.1
Date de sortie : 26.03.2026 ☆ Version de correction de bugs ☆ TYPO3 v11, v12 & v13
Dans le changelog
- [TASK] Affichage AJAX du statut des traductions automatiques : Dans le backend, les anciennes fonctions d'affichage du statut de la traduction automatique dans la mise en page et la liste des enregistrements sont remplacées par AJAX. Ainsi, il n'est pas nécessaire d'écraser les modèles ou les classes PHP pour le backend et les éventuelles incompatibilités avec d'autres extensions TYPO3 sont évitées.
- [TASK] Limite de taille pour les caches de traduction : des limites supérieures ont été introduites pour la taille des caches dans les référentiels de traduction afin d'optimiser la consommation de mémoire.
- [TASK] Amélioration de la compatibilité avec TYPO3 < 13 : Une exception du noyau TYPO3 qui se produisait dans les versions de TYPO3 antérieures à 13 et qui pouvait être attribuée par erreur à campus_lingo est désormais interceptée (voir TYPO3 Forge #104559).
- [BUGFIX] Correction d'une erreur dans la liste déroulante de l'aperçu de la langue : Le système vérifie désormais si l'élément DropDownItem est valide pour l'aperçu de la langue avant de l'ajouter au bouton. L'erreur se produisait lors de l'installation d'une nouvelle extension qui ajoutait également un lien d'aperçu - l'étiquette du titre était alors vide jusqu'à la mise à jour des fichiers de traduction.
- [TASK] Version mise à jour à 3.1.1
campus_lingo 3.1.0
Date de sortie : 22.01.2026 ☆ Mise à jour mineure et version de correction de bugs ☆ TYPO3 v11, v12 & v13
Nouvelle fonctionnalité
PSR-14 Event "BrainAppeal\CampusLingo\Event\PreventAutoTranslationsEvent" pour le contrôle individuel de la traduction automatique :
Avec l'Event BrainAppeal\CampusLingo\Event\PreventAutoTranslationsEvent, il est désormais possible de désactiver la traduction automatique de manière tout à fait individuelle via l'implémentation d'un EventListener correspondant. Vous trouverez des exemples dans la documentation mise à jour, pages 15 et 16.
Un grand merci à l'université Carl von Ossietzky d'Oldenburg qui a sponsorisé cette fonctionnalité.
La version 3.1.0 contient en outre de nombreuses corrections de bugs de compatibilité qui s'étaient glissés dans la version 3.0.0.
Dans le changelog
- [Implémentation de l'événement PreventAutoTranslationsEvent de la PSR-14, qui permet d'empêcher individuellement la traduction automatique via un EventListener.
- [FEATURE] Éviter les requêtes de base de données sur les pages + ajout de données d'enregistrements individuels à l'événement PreventAutoTranslationsEvent
- [TASK] Version mise à jour à 3.1.0
- [TASK] Compatibilité PHP avec PHP 8.5
- [TASK] Année du copyright modifiée à 2026
- [TASK] Suppression du code mort
- [DOC] Clarification et ajout de la description de "feature_showAutoTranslationStateInfo". Optimisation du formatage.
- [BUGFIX] Correction d'un mauvais mappage de tableau lors du chargement ultérieur des indicateurs de contrôle pour la traduction automatique des pages.
- [BUGFIX] PreventAutoTranslationsEvent doit être exécuté lors de l'initialisation du contrôle de la traduction automatique.
- [BUGFIX] PageRepository::isPageSuitableForLanguage doit prendre en compte le paramètre de site hidePageIfNotTranslated ("cacher les pages non traduites")
- [BUGFIX] Correction des libellés du backend concernant les informations d'état
- [BUGFIX] TYPO3 v13 Backend/ garantir une initialisation minimale pour les pages
- [BUGFIX] Les pages doivent réussir le test de traduisibilité quelle que soit la langue cible (sinon problèmes dans le menu).
- [BUGFIX] Compatibilité avec PHP 7.4 rétablie pour TYPO3 v11.5 + petites améliorations de code
- [BUGFIX] Compatibilité rétablie avec TYPO3 v11 (régression depuis la version 3.0.0)
- [BUGFIX] TYPO3 v13 / migration des champs de superposition pour les pages. Cela pouvait entraîner des menus défectueux.
campus_lingo 3.0.1
Date de sortie : 27.11.2025 ☆ Version de correction de bugs ☆ TYPO3 v11, v12 & v13
Changelog
- [TASK] Mettre la version à 3.0.1
- [TASK] Mettre l'auteur sur l'équipe Brain Appeal DEV, version supprimée dans composer.json
- [BUGFIX] Correction de la régression dans Web > page pour que le glisser-déposer fonctionne à nouveau
- [BUGFIX] Correction d'une référence de classe erronée dans l'instruction use
Nouvelles fonctionnalités de l'extension TYPO3 campus_lingo
Avec la version 3.0.0, campus_lingo bénéficie d'une entrée optionnelle dans le backend TYPO3 et d'une documentation actualisée qui se trouve ici : TYPO3_EXT_campus_lingo-3.0.0.pdf. Les deux nouvelles fonctionnalités les plus importantes sont :
- campus_lingo est désormais officiellement compatible avec TYPO3 v13, v12 et v11.
Si vous utilisiez jusqu'à présent campus_lingo avec TYPO3 v13 via notre branche develop, veuillez mettre à jour la version utilisée à ^3.0.0 - Affichage du statut de la traduction automatique dans le backend TYPO3.
Après activation dans la configuration de l'extension, il est indiqué aux endroits suivants si le contenu respectif est traduit automatiquement : Web > Page, Web > Liste, Web > Info > Aperçu de la traduction, Fichier > Liste de fichiers et Panneaux en ligne. La fonction peut être désactivée par utilisateur ou groupe d'utilisateurs via la propriété "User TsConfig" "options.campusLingo.showAutoTranslationStateInfo = 0". Cette fonctionnalité est sans effet pour TYPO3 v11 et fonctionne à partir de TYPO3 v12.
Campus Lingo API
Avec la mise à jour de l'API du Campus Lingo le 20.10.2025, ce n'est pas seulement la technique travaillant en arrière-plan qui a été fondamentalement mise à jour. D'importantes adaptations ont également été apportées aux interfaces avec DeepL, afin que le Campus Lingo continue tout simplement à fonctionner comme d'habitude et sans que vous ayez à faire quoi que ce soit. Il y a aussi quelques nouveautés utiles :
- Nouveau point de menu DeepL > API Key
pour la configuration de l'API Key du Campus Lingo ("Options avancées") - API Key > Options avancées : Restriction d'accès aux adresses IP.
Il est maintenant possible de définir des adresses IP comme liste blanche ou liste noire qui peuvent utiliser la clé API du Campus Lingo. Cela permet par exemple d'éviter des coûts de traduction involontaires en cas d'utilisation sur un système de développement. - API Key > Options avancées : Pré- et post-traitement.
Les paramètres par défaut choisis ici traitent des problèmes typiques de la traduction automatique avec DeepL. Une adaptation n'est normalement pas nécessaire. Campus Lingo corrige ainsi ces deux problèmes DeepL : Traduction incorrecte lors de l'utilisation de formules carrées ou chimiques (trop d'exposants ou d'indices sont utilisés). Les espaces spéciaux aux limites de formatage sont "oubliés" lors de la traduction (les mots sont fusionnés sans espace, par exemple lorsqu'ils contiennent des graisses). Si les mesures de correction entraînent des problèmes individuels, elles peuvent être désactivées ici. - Widget Dashboard "Caractères traduits".
Le widget "Caractères traduits" affiche désormais les caractères entrants en comparaison avec les caractères traduits.
Annonce : campus_lingo version 4, TYPO3 v14 et TYPO3 v11
Avec la version 4, campus_lingo sera compatible avec TYPO3 v14. En revanche, la compatibilité avec TYPO3 v11 sera abandonnée. Si vous prévoyez d'utiliser TYPO3 v11 à long terme, vous ne pourrez pas utiliser campus_lingo dans la version 4. La fonctionnalité complète avec toutes les interfaces de DeepL reste cependant assurée pour la version 3 grâce à l'API campus lingo.
Changelog
- [FEATURE] Informations backend pour les traductions automatiques pour TYPO3 v12+ : Web > Page, Web > Liste, Liste de fichiers, Éléments en ligne, Web > Info > Vue de la traduction.
- [TASK] Le module Sites affiche désormais un avertissement lorsque les langues ont plusieurs fallbacks.
- [FEATURE] Si EXT:news est installé, une XClass pour \GeorgRinger\Nnews\Seo\NewsAvailability est ajoutée pour vérifier la disponibilité des news traduites.
- [FEATURE] Activer la traduction des enregistrements en mode Strict lorsque la langue par défaut est utilisée.
- [FEATURE] Compatibilité TYPO3 v13 + passage à la version v3.0.0
- [TASK] Détermination de la version principale de TYPO3 externalisée dans EnvironmentService::getTypo3version
- [TASK] Précision des libellés
- [FEATURE] Backend Web > Page : toujours afficher les informations de traduction d'une page (si possible) et éviter d'écraser le modèle backend
- [FEATURE] Backend Web > Page : Déplacement des informations de traduction de la page dans l'en-tête à côté du bouton de langue
- [BUGFIX] Correction des informations des traductions automatiques dans le backend.
- [TASK] Notes/ToDos pour des modifications backend moins invasives dans le module Web > Page & éléments en ligne ajoutés
- [TASK] TYPO3 v13 : Adaptation à la modification de la partie fluide du backend "RecordDefault".
- [TASK] TYPO3 v13 : Migration de ApiRecordTranslations
- [BUGFIX] Le contenu pouvant être mis en cache doit être transmis par référence au post-traitement, sinon "dontTranslateWrap" n'est plus résolu.
- [FEATURE] Commutateur "Pas de traduction automatique" : éviter le div "Extended" au profit du div "Language".
- [TASK] Éviter l'utilisation de code obsolète + analyser et corriger les avertissements pour TYPO3 v12 et v13 dans "Scan Extension Files".
- [TASK] Nettoyage des clés de label utilisées dans Web > Info > Vue de traduction translationStatus
- [Correction d'un bogue où les entrées de cache n'étaient pas mises à jour lorsque des entrées de glossaire étaient créées/mises à jour pour EN ou PT, mais que la langue de traduction configurée était une variante de langue (par exemple EN-US).
- [BUGFIX] Traduction automatique pour les champs configurés comme contenu HTML EXT:t3editor (par ex. tt_content avec CType "html")
- [TASK] Informations d'état IRRE pour l'auto-traduction : XClass remplacé par ModifyInlineElementControlsEvent
- [BUGFIX] TYPO3 v13 : Glisser-déposer d'éléments de contenu dans Web > Page récupérée
- [FEATURE] Ajouter les informations de version et le nom du client dans l'en-tête HTTP lors d'une requête à l'API
- [BUGFIX] TYPO3 v13 Régression : Réintroduire les valeurs dans l'onglet (nécessaire pour le placeholder de traduction)
- [TASK] Fichiers locallang.xlf auto-traduits : README mis à jour + XLIFF <header><tool> ajouté
- [BUGFIX] Traitement des "request" non initialisés (par ex. dans le contexte CLI)
- [DOC] Lien vers les notes de version sur academic-hero.de
- [FEATURE] Enregistrement des erreurs dans le fichier log typo3_campus_lingo_errors_[hash].log (y compris les erreurs individuelles qui n'étaient auparavant écrites que dans sys_log)
- [TASK] Mise à jour de l'avis de copyright
Changelog
- [TASK] Optimisation du retour à la ligne des labels dans le module Backend Sites
- [BUGFIX] Tester si la traduction automatique est désactivée avant d'appeler l'écouteur d'événement de superposition d'enregistrement.
- [BUGFIX] Propriétés du site backend : Les informations sur la traduction automatique doivent être affichées sous l'en-tête de la légende (TYPO3 v12+).
- [BUGFIX] Intercepter les avertissements PHP lorsque "Debug output of additional translation information" est activé.
- [TASK] Version mise à jour à 2.0.3
Changelog
- [TASK] CurrentPageAspect : Permet de déterminer la page courante si elle ne peut pas être déterminée par la requête.
- [BUGFIX] si pas encore présent, pages.tx_campus_lingo_features doit être chargé avant de vérifier la configuration
- [BUGFIX] Éviter les requêtes lentes de la base de données vers la table sys_log afin d'éviter les entrées répétées dans le journal.
- [BUGFIX] L'API TCA de désactivation de la traduction automatique ne doit pas placer le champ de contrôle dans une palette cachée (isHiddenPalette).
- [TASK] Version mise à jour à 2.0.1
Breaking Change : Cacher les pages non traduites
La fonctionnalité "Cacher les pages non traduites" dans la configuration des sites a été déplacée des traductions vers la langue par défaut et est activée par défaut à partir de la version 2.0.0.
Description de la fonction
Cache les pages qui n'ont été traduites ni manuellement ni automatiquement. Dès que cette option est activée, la case à cocher "Masquer la page si aucune traduction n'est disponible pour la langue actuelle" est supprimée dans les propriétés de la page.
Si vous avez déjà utilisé cette fonctionnalité auparavant, aucune adaptation n'est nécessaire.
Si vous n'avez pas utilisé cette fonctionnalité auparavant et que vous ne souhaitez pas continuer à l'utiliser, veuillez la désactiver dans la langue par défaut de la configuration du site.
Nouvelles fonctionnalités
Avec la version 2.0.0, campus_lingo bénéficie de nombreuses nouvelles fonctionnalités et d'une documentation actualisée qui se trouve ici : campus_lingo-2.0.0.pdf. Voici une liste des principales nouvelles fonctionnalités :
- Compatible avec TYPO3 v12
campus_lingo est maintenant officiellement compatible avec TYPO3 v12 et v11. Si vous utilisiez campus_lingo avec TYPO3 v12 via notre branche develop, veuillez mettre à jour la version utilisée à ^2.0.0. - Traduction automatique de contenus syndiqués
Il est ici possible de traduire des contenus dans le frontend qui ne sont pas enregistrés dans la base de données TYPO3, mais qui sont édités dans le frontend. Il peut s'agir par exemple de données provenant d'une base de données externe ou d'un service web. Veuillez lire la section "Translation of arbitrary content" dans la documentation. - Traduction automatique de contenus stockés dans FlexForms
Veuillez lire la section "Configure auto-translation for FlexForm fields" dans la documentation. - Traduction automatique des étiquettes de modèles
En tant que développeur, vous avez la possibilité de faire traduire automatiquement les étiquettes de modèles enregistrées dans les fichiers locallang.xlf. Veuillez lire la section "Translate locallang.xlf files" dans la documentation. L'intégration de nouvelles langues sera ainsi encore plus facile. - Identification des problèmes des sites TYPO3
Les sites TYPO3 (visibles dans le module backend Sites) indiquent les éventuels problèmes de compatibilité et de configuration lorsqu'ils sont traités dans l'onglet "Langues". La mise en service est ainsi encore plus simple. - Cacher les pages non traduites
Cette fonctionnalité fonctionne désormais de manière stable pour la création de menus.
Changelog
- [TASK] TYPO3 v12 / version définie en 2.0.0dev
- [BUGFIX] Empêche le retour de NULL en cas d'erreur sur preg_replace.
- [BUGFIX] languageAspect doit être restauré lorsque des pages sont demandées en dehors d'un site
- ! !![BUGFIX] Masquer les pages non traduites dans la configuration du site ne fonctionnait pas pour les menus de langue et avait une configuration incohérente.
- [TASK] TYPO3 v12 / Support de TYPO3 12.4
- [TASK] TYPO3 v12 / Configuration du site compatible avec TCA
- [TASK] TYPO3 v12 / Migration TCA
- [TASK] TYPO3 v12 / Ajout d'une clé d'extension lors de l'utilisation de translate VH
- [TASK] TYPO3 v12 / Prévention des erreurs 503 sur les pages 404 pour les pages déjà traduites, mais désactivées.
- [TASK] TYPO3 v12 / Migration pour le mode strict avec Extbase
- [TASK] TYPO3 v12 / refactorisation du code des hooks en événements + marquage des hooks pour <v12 comme obsolètes
- [FEATURE] traduction automatique des fichiers .xlf ("locallang.xlf") pour les extensions configurées
- ! !![FEATURE] l'option "Cacher les pages non traduites" est activée par défaut dans la configuration du site
- ! !![FEATURE] empêche l'écriture répétée de messages de journal d'erreurs dans le tableau de journal
- [TASK] TYPO3 v12 / traitement des bugs du core ext_conf_template
- [TASK] Nettoyage du code
- [FEATURE] Permet de passer directement les lignes non traduites et de définir le champ id. Streamlining des champs pid & tstamp
- [TASK] TranslationService refactorisé
- [FEATURE] Permet de comparer les valeurs avant une livraison à partir des caches campus_lingo.
- [FEATURE] Définition de l'état de la traduction pour source=langue cible
- [FEATURE] TranslationServiceModifyTCAEvent pour définir/modifier le TCA uniquement campus_lingo
- [FEATURE] LanguageOverlayService fournit une API pour traduire manuellement et automatiquement un tableau associatif.
- [TASK] Remplacement d'une URL invalide par DeepL Documentation pour les langues cibles
- [TASK] Correction des avertissements PHPStan
- [FEATURE] La commande de console campuslingo:delete-manual-translations permet la suppression ciblée des traductions éditoriales.
- [BUGFIX] Correction de la traduction des pages dans PageRouter pour les pages qui ne sont pas encore présentes dans le cache de traduction.
- [TASK] Refacturation du traitement spécial de sys_file_reference dans EventListener
- [FEATURE] Les contenus enregistrés via FlexForms peuvent désormais être traduits automatiquement (doit être configuré, voir README).
- [BUGFIX] Assurer la compatibilité lors de la traduction automatique de FlexForms avec TYPO3 v11 & EXT:form
- [FEATURE] Prise en compte des TCA columnsOverrides
- [FEATURE] Module de backend Sites : Les langues affichent des conseils pour la configuration automatique de la traduction
- [TASK] Suppression des dépréciations TYPO3 v13
- [DOC] Mise à jour README pour 2.0.0
- [TASK] Mise à jour de la version 2.0.0
Campus Lingo API
Entrées du glossaire
Nombreuses améliorations et corrections de bugs pour l'édition et la mise à jour automatique.
Widget Dashboard "Caractères traduits"
Après la connexion, le graphique "Caractères traduits" s'affiche dans le Dashboard. Il montre combien de caractères ont été traduits au cours des 30 derniers jours.
Changelog
- [BUGFIX] Les mises à jour du glossaire fonctionnent avec les entrées de glossaire contenant des caractères UTF8 multi-octets.
- [BUGFIX] Cache de traduction : éviter les plantages lorsque le contenu est trop volumineux + utilisation de LONGTEXT pour les champs langue source et traduction.
- [BUGFIX] La mise à jour automatique du glossaire détecte les caractères codés en HTML + Les entrées du cache sont mises à jour indépendamment du codage HTML.
- [BUGFIX] La mise à jour du glossaire détecte les guillemets codés en JSON dans le cache de traduction.
- [BUGFIX] Mise à jour du glossaire : correspondance des entrées de glossaire avec les caractères multi-octets indépendamment de la casse.
- [TASK] Méthode renommée pour refléter son caractère "flou".
- [TASK] Version définie à 1.6.1
Nouvelles fonctionnalités
- Opt-In / Opt-Out pour les pages (branches) Il est désormais possible de désactiver délibérément la traduction automatique (dans la "Sites Configuration") et de l'activer ensuite uniquement pour certaines pages ou branches de pages (dans les propriétés de la page). Ce comportement peut être annulé dans les pages ou les branches de pages sous-jacentes dans les propriétés des pages.
Merci à l'université de Kassel qui a sponsorisé cette fonctionnalité. - Exclusion de certains champs de la traduction automatique via le TCA
- Les possibilités de contrôle dans les propriétés de la page pour l'utilisation du service de traduction doivent désormais être activées explicitement dans la configuration du site et ne sont pas visibles autrement.
Changelog
- [BUGFIX] Correction d'une erreur de frappe lors de la suppression de "/" dans TYPO3_SITE_PATH
- [FEATURE] TCA autotranslate_forbidden pour interdire explicitement la traduction automatique
- [TASK] nouvelle icône d'extension
- [FEATURE] "Opt-in" : la commutation de la traduction automatique pour les sous-pages peut être annulée pour les sous-pages.
- [BUGFIX] selectCheckBox doit déclencher un rechargement si onChange=reload est configuré
- [FEATURE] Propriétés des pages : Afficher le champ de configuration de la traduction automatique pour tous les types de pages
- [FEATURE] Mise en place d'un cache d'exécution des membres statiques + refactorisation
- ! !![FEATURE] Désactivation du service de traduction via les propriétés de la page, configurable via Sites, réglage par défaut "désactivé".
- [TASK] Configuration des sites : espace réservé pour le code linguistique du Campus Lingo
- [TASK] Nettoyage du code
- [BUGFIX] Les champs fonctionnels de sys_file_reference ne peuvent pas être traduits automatiquement.
- [TASK] Mise à jour des liens @see
- [TASK] Refactoring des types autorisés et renderTypes
- [DOC] Meilleure description pour l'utilisation de l'API TCA
- [BUGFIX] Le contexte TYPO3 ne peut pas être mis en cache.
- [TASK] Version mise à jour à 1.6.0
Nouvelle fonctionnalité
Mise à jour automatique par les entrées de glossaire
Mise à jour automatique des traductions déjà existantes lors de la création, de la modification ou de la suppression d'une entrée de glossaire. Seules les traductions contenant le terme du glossaire dans la langue source ou dans la traduction sont mises à jour.
Nouvelles fonctionnalités
- Prise en charge du type de solution de secours "Strict".
- Prise en compte des paramètres de traduction automatique dans les propriétés de la page qui ne correspondent pas à la page en cours.
- Nouvelles options de configuration :
- Propriétés de la page / pages.l18n_cfg peut être co-contrôlé par la traduction automatique
- Propriétés de la page / les options permettant de désactiver l'API CampusLingo tout en conservant le cache de traduction peuvent être désactivées.



