# General Translation Integrations: Traduire du contenu URL: https://generaltranslation.com/fr/docs/integrations/sanity/guides/translating-content.mdx --- title: Traduire du contenu description: Comment traduire des documents Sanity depuis l’action du document, la vue à onglets ou la page Translations. related: links: - /docs/integrations/sanity/guides/managing-translations - /docs/integrations/sanity/guides/querying-translations - /docs/integrations/sanity/guides/configuring-sanity --- Générez des traductions au niveau du document ou au niveau du champ avec le plugin General Translation. Les traductions au niveau du document créent un document pour chaque paramètre régional. Les traductions au niveau du champ ajoutent des valeurs localisées à des tableaux internationalisés dans le document source. ## Traduire un document [#translate-one] L’action **Traduire** est disponible sur tous les documents, mais les outils de traduction n’apparaissent que sur les documents dans la langue source. Pour un document traduit, la boîte de dialogue affiche un message à la place. 1. Ouvrez un document dans la langue source dans Sanity Studio. 2. Cliquez sur **Traduire** dans la barre d’actions du document. 3. Sous **Traduire**, sélectionnez les paramètres régionaux cibles. 4. Cliquez sur **Traduire**. Une fois les traductions générées, la boîte de dialogue vérifie régulièrement la progression sous **État de la traduction**. Pour la localisation au niveau du document, le plugin importe chaque document de paramètre régional, met à jour ses références et le publie, car l’importation automatique, la mise à jour automatique des références et la publication automatique sont activées par défaut. Vous pouvez activer ou désactiver chacun de ces comportements, importer manuellement un paramètre régional depuis sa ligne d’état, ou utiliser **Tout importer**, **Mettre à jour les références** et **Publier les traductions**. Pour la localisation au niveau des champs, l’importation fusionne les valeurs traduites dans les champs `internationalizedArray*` du même document. Vérifiez et publiez ce document dans Sanity. La correction des références et les commandes de publication des traductions s’appliquent uniquement aux traductions au niveau du document. ## Utiliser l’onglet Translations [#translations-tab] Si votre Studio inclut `TranslationsTab`, ouvrez l’onglet **General Translation** dans un document. Il reprend le même workflow que l’action **Traduire**, tout en restant visible dans l’éditeur de document. Consultez [Configurer Sanity](/docs/integrations/sanity/guides/configuring-sanity#translations-tab) pour ajouter l’onglet. ## Traduire plusieurs documents [#translate-many] Utilisez l’outil **Translations** du site pour travailler sur tous les documents traduisibles en une seule fois. Vous pouvez notamment : * Générer des traductions pour tous les documents (**Tout traduire**). * Importer toutes les traductions prêtes (**Tout importer**). * Importer uniquement les traductions qui n’ont pas encore été importées (**Importer les éléments manquants**). * Mettre à jour les références entre les documents traduits (**Mettre à jour les références**). * Publier les documents traduits dont la source est publiée (**Publier les traductions**). * Envoyer à General Translation les traductions déjà présentes dans Sanity (**Enregistrer les modifications locales**). Consultez [Gérer les traductions](/docs/integrations/sanity/guides/managing-translations). ## Conserver les modifications apportées aux traductions [#preserve-edits] Les éditeurs révisent souvent le contenu traduit après son retour de General Translation. Par défaut, une exécution ultérieure régénère ce contenu et ces modifications sont perdues. Activez **Enregistrer les modifications locales** pour les conserver. Lorsque le bouton bascule est activé, chaque exécution de traduction envoie d’abord à General Translation les traductions actuellement présentes dans Sanity pour les documents disposant déjà d’une version source General Translation. Le contenu dont le texte source n’a pas changé est alors réutilisé depuis Sanity au lieu d’être traduit à nouveau. Le bouton bascule se trouve dans l’outil **Translations** et, dans l’onglet du document, sous **Enregistrer les modifications locales avant la traduction**. Il est désactivé par défaut. Son activation demande d’abord une confirmation ; sa désactivation prend effet immédiatement. Le bouton bascule s’applique aux exécutions de traduction lancées depuis la session Studio actuelle et se réinitialise lorsque Studio est rechargé. Définissez son état initial avec [`preserveExistingTranslations`](/docs/integrations/sanity/reference/plugin-configuration#preserve-existing-translations). Les deux stratégies de localisation sont prises en charge. Les traductions au niveau du document sont lues via `translation.metadata`, en privilégiant les brouillons aux documents publiés afin que les modifications non publiées soient prises en compte. Les traductions au niveau des champs sont lues depuis les tableaux internationalisés du document source. Les paramètres régionaux sans contenu existant sont ignorés. L’activation de cette option fait de Sanity la source de vérité. Le contenu présent dans Sanity remplace tout ce que General Translation conserve pour cette version du document, y compris une traduction terminée mais pas encore importée. Importez d’abord toutes les traductions en attente. Si le plugin ne peut pas envoyer les traductions existantes, l’exécution de traduction se poursuit malgré tout et Studio avertit que des modifications risquent d’être écrasées. ## Enregistrer les modifications locales sans traduire [#save-local-edits] Utilisez l’action **Enregistrer les modifications locales** pour envoyer à General Translation les traductions déjà présentes dans Sanity sans lancer d’exécution de traduction. Le plugin téléverse les fichiers source nécessaires, puis enregistre le contenu existant de chaque paramètre régional comme traduction pour cette version. Utilisez cette action avant le bouton bascule lorsqu’un document ne dispose pas encore d’une version source General Translation. Cette action est utile lorsque vous adoptez le plugin dans un projet précédemment traduit ailleurs, afin que General Translation parte du contenu dont vous disposez déjà. L’action est disponible dans l’outil **Translations** et dans l’onglet du document. Elle s’exécute à la demande et ne dépend pas de l’option **Enregistrer les modifications locales**. ## Régénérer les traductions [#retranslate] Pour supprimer les traductions existantes et les générer à nouveau, ouvrez **Tout traduire** et cochez **Retraduire depuis le début**. Le bouton de confirmation devient **Tout retraduire**. Cette opération supprime les modifications apportées aux documents traduits dans Studio et ignore l’étape **Enregistrer les modifications locales** pour cette exécution. Laissez la case décochée pour réutiliser les traductions existantes. Cette option est disponible uniquement dans la boîte de dialogue **Tout traduire**. Le workflow **Traduire** pour un seul document réutilise toujours les traductions existantes et respecte le bouton bascule **Enregistrer les modifications locales**. ## Ce qui est traduit [#what-translated] Le plugin sérialise les documents en HTML, envoie ce HTML pour traduction, puis réintègre le HTML traduit dans des documents du paramètre régional ou des champs de tableau internationalisés, selon `translationLevel`. Il traite récursivement : * Les champs de type string et de texte. * Les blocs Portable Text. * Les objets imbriqués. * Les tableaux. Certains types de champs sont conservés et ne sont pas envoyés pour traduction par défaut, notamment les références, les dates, les fichiers, les images, les nombres, les booléens, les URL, les couleurs, le code et les géopoints. Consultez la liste complète des [types ignorés par défaut](/docs/integrations/sanity/reference/plugin-configuration#stop-types). Les champs slug ne sont *pas* ignorés par défaut, donc la valeur `current` d’un slug est envoyée pour traduction. Utilisez `dedupeFields` ou `skipFields` pour contrôler le comportement du slug. ## Gérer les références [#references] Les traductions au niveau du document peuvent faire référence à d'autres documents. Le plugin recherche la traduction de chaque document référencé et réécrit la référence pour qu'elle pointe vers la version correspondant au bon paramètre régional, lorsqu'il en existe une. Cela s'exécute automatiquement après l'importation dans la boîte de dialogue du document, et à la demande avec **Mettre à jour les références** sur la page Translations. Voir [Gérer les traductions](/docs/integrations/sanity/guides/managing-translations#patch-references). ## Gérer les slugs et les champs copiés [#slugs-fields] Certains champs ne doivent pas être traduits directement. Utilisez des sélecteurs de champs pour en contrôler le comportement : * `dedupeFields` — copiez la valeur source et ajoutez le paramètre régional pour la rendre unique pour chaque document, par exemple `about` devient `about-es`. Couramment utilisé pour les slugs. * `ignoreFields` — copiez la valeur source sans la modifier dans chaque document traduit. * `skipFields` — supprimez complètement le champ des documents traduits. Voir [Gérer les traductions](/docs/integrations/sanity/guides/managing-translations#field-behavior). ## Next steps - /docs/integrations/sanity/guides/managing-translations - /docs/integrations/sanity/guides/querying-translations - /docs/integrations/sanity/guides/configuring-sanity