# Exporter les chaînes non traduites d’un site événementiel avant l’échéance

> Douze jours avant l'ouverture des inscriptions, il restait plus de deux cents chaînes non traduites. Un script d'export a permis de prioriser le travail du traducteur.

- Auteur : WordPress Développement
- Publié le : 2021-08-09
- Mis à jour le : 2021-08-09
- Catégorie : Multilingue
- URL : https://www.wpmoderne.fr/multilingue/exporter-chaines-non-traduites-site-evenementiel/

## L’essentiel

- WP-CLI permet d'exporter le nombre de chaînes non traduites par langue en une commande
- Un tri par page la plus consultée priorise le travail du traducteur indépendant
- Le fichier exporté sert de feuille de route commune entre l'équipe et le traducteur

Deux cent quatorze chaînes non traduites, recensées douze jours avant l'ouverture des inscriptions à un festival professionnel se déroulant en France mais accueillant une majorité d'intervenants et de participants anglophones : ce chiffre, obtenu par un simple export en ligne de commande, a servi de point de départ à toute la fin de campagne de traduction.

Le site utilisait WPML pour gérer ses deux langues, avec un volume de contenu conséquent : programme du festival, biographies des intervenants, formulaire d'inscription, pages pratiques. Sans priorisation, le traducteur indépendant engagé en urgence risquait de traiter les chaînes dans un ordre arbitraire, sans lien avec leur importance réelle pour un visiteur pressé de s'inscrire.

## Le problème à résoudre

Il fallait obtenir rapidement une liste exploitable des chaînes manquantes, classée par ordre d'importance plutôt que par ordre alphabétique ou chronologique de création, pour permettre au traducteur de commencer par les pages les plus consultées du site plutôt que par des contenus secondaires.

## Le snippet commenté

L'extension String Translation de WPML permet un export en CSV depuis son interface, mais ce format ne donne aucune indication de priorité. Un script complémentaire, exécuté via WP-CLI, a permis de croiser les chaînes manquantes avec les statistiques de consultation des pages correspondantes :

```
$chaines_manquantes = icl_get_string_translations();
foreach ( $chaines_manquantes as $chaine ) {
    if ( empty( $chaine['translations']['en'] ) ) {
        $vues = get_post_meta( $chaine['context_post_id'], '_vues_page', true );
        echo $chaine['value'] . ";" . intval( $vues ) . "\n";
    }
}
```

Le résultat, redirigé vers un fichier CSV, triait ensuite les chaînes non traduites par nombre de vues décroissant, plaçant en tête de liste les libellés du formulaire d'inscription et les intitulés des sessions les plus populaires du programme, loin devant des mentions secondaires figurant sur des pages peu consultées.

> L'essentiel à retenir : WP-CLI permet d'exporter le nombre de chaînes non traduites par langue en une commande ; Un tri par page la plus consultée priorise le travail du traducteur indépendant ; Le fichier exporté sert de feuille de route commune entre l'équipe et le traducteur

## Livrer un fichier exploitable au traducteur

Le fichier CSV obtenu a servi de feuille de route partagée avec le traducteur indépendant, qui a pu traiter les cent premières lignes en priorité, correspondant aux pages générant plus de 80 % du trafic du site sur les deux semaines précédentes. Les chaînes restantes, moins consultées, ont été traitées dans un second temps, une fois les inscriptions ouvertes.

- colonne 1 : la chaîne d'origine en français, telle qu'enregistrée dans WPML
- colonne 2 : le nombre de vues cumulées de la page où apparaît cette chaîne
- tri final : par nombre de vues décroissant, feuille remise telle quelle au traducteur

## Variantes possibles

Ce script reste adaptable à d'autres contextes proches :

1. remplacer le critère de vues par un critère métier différent, comme le montant des ventes associées à une page produit
2. exporter simultanément plusieurs langues cibles, avec une colonne par langue manquante
3. automatiser l'envoi hebdomadaire de ce fichier par e-mail pendant toute la durée d'une campagne de traduction urgente

Une quatrième variante, testée sur un projet suivant, consistait à ajouter une colonne indiquant le nombre de jours restants avant l'échéance de la page concernée, par exemple la date limite d'inscription à une session précise du programme. Ce croisement supplémentaire a permis d'identifier que certaines chaînes très consultées concernaient des sessions déjà complètes, et pouvaient donc être reportées derrière des chaînes moins vues mais liées à des sessions encore ouvertes.

> Un export brut de chaînes non traduites ne dit rien de leur importance : croiser cet export avec une donnée de fréquentation, même approximative, transforme une liste indifférenciée en véritable feuille de route de traduction.

## En résumé

Prioriser la traduction des chaînes manquantes par fréquentation réelle des pages, plutôt que par ordre de création, a permis de couvrir l'essentiel des besoins avant l'ouverture des inscriptions, avec un traducteur travaillant sur un fichier clair et déjà ordonné selon l'impact attendu de chaque chaîne.

La méthode ne demande aucun outil coûteux ni aucune extension supplémentaire : un simple script WP-CLI, une exportation de statistiques déjà disponibles, et un tableur suffisent à transformer une échéance stressante en plan de traduction structuré, applicable à n'importe quel site accumulant un volume conséquent de chaînes non traduites sous la pression du calendrier.
