# Une université multilingue : traduire les fiches sans dupliquer le catalogue

> Un établissement d'enseignement supérieur international maintient un catalogue de cours cohérent dans plusieurs langues, sans multiplier les erreurs de synchronisation entre versions.

- Auteur : WordPress Développement
- Publié le : 2021-08-24
- Mis à jour le : 2021-08-24
- Catégorie : Multilingue
- URL : https://www.wpmoderne.fr/multilingue/universite-multilingue-catalogue-cours-traduction/

## L’essentiel

- Le catalogue de cours change chaque semestre, la traduction doit suivre le même rythme
- Un statut de synchronisation par fiche évite les publications incomplètes
- La structure de données prime sur le contenu éditorial libre

Un semestre qui commence, c'est en moyenne quarante fiches de cours modifiées, quinze créées, huit archivées, sur les 640 fiches actives du catalogue d'un établissement d'enseignement supérieur qui publie en français, anglais et espagnol pour ses filières internationales. Chaque changement doit se répercuter dans les trois langues, sans qu'aucune version ne se retrouve figée sur un contenu du semestre précédent.

L'architecture technique retenue ne repose pas sur un simple réglage de traduction automatique, mais sur une structuration précise du type de contenu personnalisé « cours » et sur un processus éditorial qui distingue clairement ce qui doit rester identique dans toutes les langues de ce qui peut varier.

## Structure en arborescence : un CPT « cours » avec des champs traduisibles et non traduisibles

Le point de départ a été de cartographier chaque champ ACF du type de contenu personnalisé `cours` selon qu'il doit être traduit ou synchronisé tel quel entre les langues :

```
cours (custom post type)
├── titre_cours          [traduisible]
├── description          [traduisible]
├── code_ects            [synchronisé, identique partout : "ECTS-4521"]
├── credits              [synchronisé, identique partout : 6]
├── enseignant_reference [synchronisé, relation vers une fiche enseignant]
├── semestre             [synchronisé, identique partout : "S1 2021"]
└── prerequis            [traduisible, texte libre]
```

Cette distinction, posée une fois pour toutes dans les réglages WPML de synchronisation des champs personnalisés, évite l'erreur la plus fréquente sur ce type de projet : un code ECTS ou un nombre de crédits qui diverge entre la version française et anglaise d'une même fiche, simplement parce qu'un traducteur a modifié un champ qui n'aurait jamais dû être traduisible.

## Le statut de synchronisation, visible directement dans la liste des fiches

> L'essentiel à retenir : Le catalogue de cours change chaque semestre, la traduction doit suivre le même rythme ; Un statut de synchronisation par fiche évite les publications incomplètes ; La structure de données prime sur le contenu éditorial libre

WPML affiche, dans l'écran de gestion des traductions, un indicateur visuel par fiche et par langue : à jour, en attente de traduction, ou traduction obsolète après modification de la fiche source. L'équipe pédagogique a pris l'habitude de filtrer cette liste chaque début de semestre pour identifier en un coup d'œil les fiches anglaises et espagnoles devenues obsolètes après une modification côté français.

- Aucune fiche n'est publiée dans une langue si son statut de synchronisation indique une divergence non résolue sur un champ structurant (crédits, code ECTS)
- Une fiche peut rester publiée avec une description en attente de traduction, marquée visuellement comme telle pour l'équipe, plutôt que bloquée entièrement
- Un rapport hebdomadaire, généré par une requête WP-CLI planifiée, liste les fiches désynchronisées depuis plus de dix jours

## Le piège des relations entre cours et parcours

Une fiche de cours n'existe jamais seule : elle appartient à un ou plusieurs parcours (licence, master), eux-mêmes des types de contenu personnalisé distincts avec leurs propres relations ACF. Traduire une fiche de cours sans que WPML sache maintenir la relation vers la bonne version traduite du parcours parent produit des pages de parcours qui listent des cours dans la mauvaise langue, ou des liens brisés vers des fiches non encore traduites.

La correction a consisté à activer explicitement, dans les réglages ACF multilingues de WPML, la synchronisation des champs de relation avec une résolution automatique vers la traduction correspondante quand elle existe, et un repli vers la langue source quand elle n'existe pas encore — plutôt qu'un lien cassé.

### Pourquoi ne pas simplement dupliquer le catalogue par langue

L'option de trois catalogues indépendants, un par langue, sans lien de traduction entre eux, a été envisagée puis écartée : elle aurait résolu le problème de synchronisation en supprimant purement et simplement la contrainte de cohérence, au prix d'un travail de mise à jour multiplié par trois à chaque changement de crédits ECTS ou d'enseignant référent, une information qui change plus souvent qu'on ne l'imagine dans un établissement de cette taille.

## En résumé

Un catalogue de cours multilingue à grande échelle ne se maintient pas en traduisant tout, mais en distinguant précisément ce qui doit rester strictement synchronisé (données structurelles) de ce qui peut être traduit librement (contenu éditorial). Le statut de synchronisation par fiche, consulté régulièrement par l'équipe pédagogique, reste le garde-fou qui évite qu'une divergence de contenu passe inaperçue d'un semestre à l'autre.
