# General Translation Integrations: Démarrage rapide URL: https://generaltranslation.com/fr/docs/integrations/sanity/quickstart.mdx --- title: Démarrage rapide description: Installez gt-sanity, ajoutez le plugin General Translation à Sanity Studio et traduisez votre premier document. related: links: - /docs/integrations/sanity/guides/translating-content - /docs/integrations/sanity/guides/managing-translations - /docs/integrations/sanity/guides/querying-translations - /docs/integrations/sanity/guides/configuring-sanity --- Le plugin `gt-sanity` de General Translation traduit les documents Sanity directement depuis Sanity Studio. Le plugin utilise une localisation au niveau du document : chaque traduction est enregistrée dans un document Sanity distinct avec un champ de langue, par exemple `language: "es"`. Les traductions sont liées au document source via un document `translation.metadata` géré par `@sanity/document-internationalization`. ## Avant de commencer [#before-start] Vous avez besoin des éléments suivants : * Sanity Studio 5.0.0 ou version ultérieure. * React 19.2.0 ou version ultérieure. * Un projet Sanity existant. * Un [ID de projet](/docs/platform/dashboard/get-started) General Translation et une [clé API](/docs/platform/dashboard/reference/api-keys) de production. ## Démarrage rapide [#quickstart] ### 1. Installer `gt-sanity` [#install] Installez le plugin dans votre projet Sanity Studio. ```bash npm install gt-sanity ``` ```bash yarn add gt-sanity ``` ```bash bun add gt-sanity ``` ```bash pnpm add gt-sanity ``` ### 2. Ajouter le plugin [#add-plugin] Ajoutez `gtPlugin` à `sanity.config.ts`. Spécifiez votre paramètre régional source, les paramètres régionaux cibles et les types de document à traduire. ```ts title="sanity.config.ts" import { defineConfig } from 'sanity'; import { gtPlugin } from 'gt-sanity'; export default defineConfig({ // ... votre configuration existante plugins: [ gtPlugin({ sourceLocale: 'en', locales: ['es', 'zh', 'ja'], translateDocuments: [{ type: 'article' }, { type: 'page' }], }), ], }); ``` Lorsque `translateDocuments` inclut des types de documents, le plugin ajoute automatiquement le plugin `@sanity/document-internationalization` : des badges de langue, un menu de traduction dans la barre d’outils du document et des modèles de documents par langue. Définissez `showDocumentInternationalization: false` pour désactiver cette fonctionnalité. ### 3. Ajouter un champ de langue [#language-field] Chaque type de document que vous traduisez doit comporter un champ de langue. Par défaut, il s’appelle `language`. ```ts title="schema/article.ts" import { defineField, defineType } from 'sanity'; export const articleType = defineType({ name: 'article', title: 'Article', type: 'document', fields: [ // ... vos champs existants defineField({ name: 'language', type: 'string', readOnly: true, hidden: true, }), ], }); ``` Si vous définissez un [`languageField`](/docs/integrations/sanity/reference/plugin-configuration#language-field) personnalisé dans les options du plugin, utilisez ce nom dans votre schéma au lieu de `language`. ### 4. Enregistrer les identifiants [#credentials] Le plugin lit votre clé API de General Translation et votre ID de projet dans un document Sanity privé. Créez un fichier temporaire `populateSecrets.js` dans votre dossier Studio. ```js title="populateSecrets.js" import { getCliClient } from 'sanity/cli'; const client = getCliClient({ apiVersion: '2026-04-06' }); client.createOrReplace({ // Le `.` en tête de cet _id garde le document privé, // même dans un dataset public. _id: 'generaltranslation.secrets', _type: 'generaltranslation.secrets', secret: process.env.GT_API_KEY, project: process.env.GT_PROJECT_ID, }); ``` Exécutez le script avec vos identifiants : ```bash GT_API_KEY=your-api-key GT_PROJECT_ID=your-project-id npx sanity exec populateSecrets.js --with-user-token ``` Le document `_id` doit correspondre au `secretsNamespace` du plugin (par défaut `generaltranslation.secrets`). Le plugin lit le champ `secret` comme clé API et le champ `project` comme ID du projet. Vérifiez que le document existe à l’aide de l’outil Vision dans votre Studio : ```text *[_id == 'generaltranslation.secrets'] ``` Si vous utilisez plusieurs jeux de données, répétez cette opération pour chacun d’eux. Une fois la vérification effectuée, supprimez `populateSecrets.js`. ### 5. Traduire un document [#translate-document] 1. Ouvrez un document dans la langue source dans Sanity Studio. 2. Cliquez sur **Traduire** dans la barre d’actions du document. 3. Sélectionnez les paramètres régionaux cibles. 4. Cliquez sur **Générer des traductions**. Dans la boîte de dialogue du document, le plugin vérifie régulièrement si des traductions sont terminées et les importe automatiquement. Après l’importation, il met à jour les références du document et publie les documents traduits, car l’importation automatique, la mise à jour automatique et la publication automatique sont activées par défaut dans cette boîte de dialogue. Consultez les guides complets pour [traduire le contenu](/docs/integrations/sanity/guides/translating-content) et [gérer les traductions](/docs/integrations/sanity/guides/managing-translations). ### 6. Interroger le contenu traduit [#query-content] Les traductions sont stockées dans des documents séparés avec un champ de langue. Pour récupérer du contenu traduit, filtrez sur le champ de langue. ```text // Par défaut, les documents dans la langue source ne définissent pas le champ language *[_type == "article" && !defined(language)]{ title, slug, body } ``` ```text // Récupère les articles en espagnol *[_type == "article" && language == "es"]{ title, slug, body } ``` Consultez [Interroger les traductions](/docs/integrations/sanity/guides/querying-translations) pour voir d'autres exemples de requêtes. ## Next steps - /docs/integrations/sanity/guides/translating-content - /docs/integrations/sanity/guides/managing-translations - /docs/integrations/sanity/guides/querying-translations - /docs/integrations/sanity/guides/configuring-sanity