gt-sanity@3.1.0
Vue d’ensemble
Le contenu traduit reste rarement exactement tel quel. Les éditeurs corrigent un terme, peaufinent un titre, adaptent le ton à un marché — et jusqu’à présent, l’exécution de traduction suivante régénérait l’ensemble.
gt-sanity v3.1 ajoute Enregistrer les modifications locales : les traductions déjà stockées dans Sanity sont envoyées à General Translation avant une exécution de traduction, afin que le contenu dont le texte source n’a pas changé conserve sa formulation existante. Cette option est désactivée par défaut et doit être activée pour chaque session Studio.
La version ajoute également une action Enregistrer les modifications locales pour envoyer les traductions existantes sans démarrer d’exécution, ainsi qu’une option Retraduire depuis zéro pour régénérer délibérément l’ensemble du contenu.
Nouveautés
Enregistrer les modifications locales
Activez le bouton bascule Enregistrer les modifications locales dans l’outil Translations ou dans l’onglet de document General Translation. Lorsqu’il est activé, chaque exécution de traduction commence par envoyer à General Translation les traductions actuellement présentes dans Sanity. Elles deviennent les traductions enregistrées pour la version source, de sorte que l’exécution suivante les réutilise au lieu de traduire à nouveau ce contenu.
Les deux stratégies de localisation sont prises en charge : les traductions au niveau du document sont lues via translation.metadata (les brouillons étant privilégiés par rapport aux documents publiés, les modifications non publiées sont donc prises en compte), et les valeurs de locale des tableaux internationalisés sont lues depuis le document source. Les locales sans contenu existant sont ignorées plutôt que téléversées comme traductions vides.
Définissez l'état initial du bouton bascule dans la configuration de votre plugin :
import { defineConfig } from 'sanity';
import { gtPlugin } from 'gt-sanity';
export default defineConfig({
plugins: [
gtPlugin({
sourceLocale: 'en',
locales: ['es', 'fr', 'ja'],
translateDocuments: [{ type: 'post' }],
preserveExistingTranslations: true,
}),
],
});preserveExistingTranslations définit l’état initial de l’interrupteur au chargement de Studio. Les Editor peuvent le modifier pour leur session depuis l’UI.
Sanity devient la source de référence
L’activation du bouton bascule affiche d’abord une explication, car le compromis est réel : le contenu de Sanity remplace tout ce que General Translation contient pour cette version du document, y compris une traduction terminée mais pas encore importée. Importez toutes les traductions en attente avant de l’activer.
L’étape de capture s’exécute avant l’envoi de la source et est effectuée dans la mesure du possible. En cas d’échec, l’exécution de traduction se poursuit tout de même et Studio avertit que des modifications pourraient être écrasées.
Enregistrer les modifications locales
L’action Enregistrer les modifications locales téléverse les traductions déjà présentes dans Sanity sans mettre de traduction en file d’attente, en initialisant les fichiers source si nécessaire. Utilisez-la lorsque vous adoptez le plugin dans un projet déjà traduit ailleurs, afin que General Translation parte du contenu dont vous disposez déjà.
Elle est disponible dans l’outil Translations et dans l’onglet du document.
Retraduire depuis zéro
Tout traduire propose désormais une case à cocher Retraduire depuis zéro. Lorsqu’elle est cochée, les traductions existantes sont supprimées et régénérées, y compris les modifications apportées aux documents traduits dans Studio. Laissez-la décochée pour réutiliser les traductions existantes.
Auparavant, le plugin ne permettait pas de forcer une retraduction.