# General Translation Knowledge Base: Comment fournir suffisamment de contexte à la traduction par IA pour les chaînes d’un logiciel ?
URL: https://generaltranslation.com/fr/kb/ai-translation-context.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Traduisez des messages complets, accompagnés de notes sur leur sens, du rôle de chaque espace réservé, des limites de longueur et d’une terminologie commune. La CLI de General Translation extrait le JSX balisé sous forme de bloc structuré et transmet les notes de contexte à la génération. Pour les catalogues JSON et YAML existants, les métadonnées associées aux clés fournissent des instructions propres à chaque chaîne de caractères. Les groupes de contexte appliquent votre glossaire et vos instructions personnalisées à tous les projets auxquels ils sont assignés, et les relecteurs corrigent le résultat dans le tableau de bord.
Category: Traduction
Last updated: 2026-11-13
Authors: Jackie Chen
Published: 2026-11-13

Une courte chaîne d’interface peut avoir plusieurs traductions correctes. Prenons « Free » : sur un badge de tarification, le mot signifie « gratuit » (en allemand *kostenlos*), tandis que sur un plan de salle, il signifie « disponible » (en allemand *frei*). Le mot seul ne permet pas de savoir quel sens vous visez. Fournissez les informations qu’un traducteur humain demanderait : ce que décrit le texte et ce que l’utilisateur peut faire ensuite.

## De quel contexte un modèle de traduction a-t-il besoin ?

| Contexte                              | Ce qu’il indique au modèle                                                     | Exemple                                                                         | Comment le fournir                                    |
| ------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------- | ----------------------------------------------------- |
| La phrase ou le bloc d’IU environnant | Comment les mots s’articulent, y compris les liens et le formatage             | « Lisez nos **conditions** avant de continuer », traduit comme une seule phrase | Traduire des blocs entiers, pas des fragments         |
| Une note de sens                      | Le sens visé d’un mot ambigu                                                   | « Free » signifie « disponible »                                                | Une description, un commentaire ou une note `context` |
| Rôle dans l’IU et limite de longueur  | S’il s’agit d’un bouton, d’un titre ou d’une infobulle, et la place disponible | Un libellé d’onglet limité à 12 caractères                                      | Une note de rôle et une longueur maximale             |
| Variables et espaces réservés         | Ce que contient une valeur, et le fait qu’elle ne doit pas être traduite       | `{name}` est le prénom d’une personne                                           | La syntaxe des espaces réservés et une note           |
| Terminologie                          | Les noms de produits et les termes qui n’ont qu’une seule traduction approuvée | « Workspace » n’est jamais traduit par « bureau »                               | Un glossaire                                          |
| Ton et formalité                      | La façon dont le produit s’adresse à l’utilisateur                             | Le vouvoiement avec *Sie* en allemand                                           | Des règles de style                                   |
| Emplacement                           | L’apparence de l’écran autour de la chaîne de caractères                       | Une capture d’écran de la page de paiement                                      | Des captures d’écran jointes dans un TMS              |

La terminologie et les règles de style s’appliquent à toutes les chaînes de caractères : il suffit de les définir une fois. Le [guide du glossaire](/kb/ai-translation-glossary) explique comment assurer la cohérence terminologique. Le reste relève du contexte propre à chaque chaîne, et c’est là que les flux de travail diffèrent le plus.

## Comment les flux de travail basés sur des catalogues fournissent-ils du contexte ?

Lorsque les chaînes sont stockées dans des catalogues clé-valeur, le contexte est transmis dans des champs associés à chaque clé :

* **Descriptions de messages.** Les [descripteurs de messages de react-intl](https://formatjs.github.io/docs/react-intl/api#message-descriptor) acceptent une `description` que l’extraction peut conserver. Les fichiers PO de gettext disposent de commentaires extraits (`#.`) destinés aux traducteurs et de [`msgctxt`](https://www.gnu.org/software/gettext/manual/html_node/Contexts.html) pour distinguer des chaînes identiques ayant des sens différents.
* **Commentaires de plateforme.** Les fichiers XML Android et les fichiers `.strings` d’Apple prennent en charge les commentaires ; les String Catalogs d’Apple et les entrées `.resx` de .NET comportent des champs de commentaire. Votre export et votre intégration de traduction doivent transmettre ces notes jusqu’au bout.
* **Noms de clés.** Une clé telle que `pricing.badge.free` donne une indication sur le sens, mais un modèle ne peut pas s’y fier. Le [guide de nommage des clés](/kb/i18n-key-naming) explique comment nommer les clés selon leur sens.
* **Champs des TMS.** Les systèmes de gestion de la traduction ajoutent des descriptions, des captures d’écran et des limites de caractères pour chaque clé. [SimpleLocalize](/kb/general-translation-vs-simplelocalize), par exemple, conserve pour chaque clé une description du code rédigée par le développeur et une description destinée au traducteur. [SimpleLocalize AI](https://simplelocalize.io/docs/general/auto-translation/#simplelocalize-ai) s’appuie sur ces descriptions, captures d’écran et commentaires lors de la traduction.

Ne découpez pas les phrases : gardez chacune d’elles entière, avec ses espaces réservés et son balisage. Un catalogue le permet en la plaçant sous une seule clé ; la scinder en fragments traduits séparément rend la réorganisation plus difficile. Vérifiez ensuite que les notes parviennent bien jusqu’à l’étape de traduction. Une description saisie dans un éditeur ou un fichier source n’est utile que si l’intégration la transmet.

## Comment General Translation transmet-il le contexte depuis votre code ?

General Translation part du composant. [`<T>`](/docs/react/reference/components/t) délimite un bloc de JSX, dont la CLI extrait le texte, la structure des éléments, les espaces réservés aux variables et la note à destination du service de traduction. Le SDK affiche ensuite le résultat avec vos valeurs d&#39;exécution :

```tsx title="src/SeatStatus.tsx"
import { T, Var } from 'gt-react';

export function SeatStatus({ seat }: { seat: string }) {
  return (
    <T context="Seat map. Free means the seat is available, not that it costs nothing.">
      <p>
        Seat <Var>{seat}</Var> is free. <a href="/checkout">Book it now</a>
      </p>
    </T>
  );
}
```

* **Le bloc est l’unité.** La phrase, l’espace réservé du siège et le texte du lien sont transmis ensemble, ce qui permet au service de les traduire et de les réordonner tout en préservant les éléments. La valeur d’exécution du siège reste dans l’application. Le [guide sur le JSX conditionnel](/kb/translate-conditional-jsx) explique comment cela fonctionne pour les phrases comportant des branches.
* **Les notes et les limites figurent à côté du texte.** La prop `context` lève les ambiguïtés, et la prop `maxChars` demande une limite de longueur best-effort, par exemple `<T maxChars={12}>` sur le libellé d’un onglet. Les chaînes situées hors du JSX acceptent les mêmes options dans [`gt()`](/docs/react/reference/hooks/use-gt), sous la forme `$context` et `$maxChars`.
* **Le code source comme contexte.** Dans `files.gt.parsingFlags` du fichier `gt.config.json`, définissez `includeSourceCodeContext` sur `true` pour envoyer les lignes de code environnantes comme contexte supplémentaire. Cette option est à activation volontaire et complète le bloc extrait. (Voir [analyse du contenu intégré](/docs/cli/reference/formats/gt-jsx-files#parsing).)
* **Les valeurs qui ne sont pas traduites.** Encapsulez les noms, les adresses e-mail et les autres valeurs dynamiques dans [`<Var>`](/docs/react/reference/components/var) ; leur contenu n&#39;est pas envoyé en traduction, et la traduction conserve l’espace réservé sur place.
* **Le contexte pour les catalogues existants.** Pour les fichiers JSON et YAML, un fichier associé de [métadonnées associées aux clés](/docs/cli/reference/keyed-metadata) ajoute une note `context` et une limite `maxChars` par clé. Les commentaires des fichiers [Android `strings.xml`](/docs/cli/reference/formats/android-strings-files), [Apple `.strings`](/docs/cli/reference/formats/dot-strings-files) et [`.resx`](/docs/cli/reference/formats/resx-files) sont transmis à la traduction comme contexte.
* **Des termes et un ton partagés.** Les [groupes de contexte](/docs/platform/dashboard/guides/defining-context-for-translations) regroupent un glossaire et des instructions personnalisées, et les appliquent à chaque projet auquel vous les attribuez. Créez-en un depuis un projet avec **Autogenerate from project files** pour générer un brouillon de termes et d’instructions à partir de vos textes existants ; un agent de codage peut également les mettre à jour via le [serveur MCP](/docs/overview/for-coding-agents#mcp) de General Translation.

Pour un catalogue à clés, la même instruction relative au plan des sièges a sa place à côté du fichier source. Ces deux fichiers vous permettent de conserver la clé et la bibliothèque existantes :

```json title="locales/en.json"
{
  "seatStatus": "Free"
}
```

```json title="locales/en.metadata.json"
{
  "seatStatus": {
    "context": "Seat map. Free means the seat is available, not that it costs nothing.",
    "maxChars": 12
  }
}
```

## Comment savoir si le contexte est suffisant ?

Rassemblez les boutons d&#39;un seul mot, les mots à plusieurs sens, les phrases contenant des variables et les formes plurielles. Traduisez-les dans vos langues de lancement et faites-les vérifier dans le [tableau de bord](/kb/review-translations) par une personne qui maîtrise chaque langue. Corrigez-y d&#39;abord la formulation actuelle, puis ajoutez les informations manquantes au bon endroit : une note `context` pour cette chaîne de caractères, ou un terme du glossaire ou une instruction personnalisée si le problème risque de se reproduire. Les instructions mises à jour orientent les générations suivantes, mais ne réécrivent pas d&#39;elles-mêmes les traductions déjà enregistrées. Le [guide sur la précision de la traduction par IA](/kb/is-ai-translation-accurate) explique comment mettre en place une évaluation plus complète.

## Points clés

* Gardez un message et ses espaces réservés ensemble, que vous le rédigiez en JSX ou sous une clé de catalogue.
* General Translation intègre la structure balisée et les notes explicites lors de la génération ; les lignes source (en activation volontaire) et les groupes de contexte partagés apportent du sens au-delà du message lui-même.
* Corrigez les traductions existantes et améliorez les instructions pour les traductions à venir. Vérifiez séparément le sens et la mise en page.

## Related questions

- [Comment garantir une terminologie cohérente dans la traduction par IA ?](https://generaltranslation.com/fr/kb/ai-translation-glossary.mdx): Tenez un glossaire unique des termes approuvés, y compris les noms qui ne se traduisent pas, appliquez-le à chaque requête de traduction, tenez les variables et le code à l’écart de la traduction, puis relisez le résultat. General Translation y parvient grâce aux groupes de contexte, dont le glossaire et les instructions personnalisées s’appliquent à chaque projet auquel vous les assignez, et grâce au composant Var pour les valeurs qui ne doivent jamais être traduites.
- [La traduction par IA est-elle assez précise pour une application en production ?](https://generaltranslation.com/fr/kb/is-ai-translation-accurate.mdx): Souvent, pour les langues les plus parlées, mais seulement après une évaluation concluante sur vos propres langues, vos chaînes de caractères d’IU et vos contenus plus sensibles. Lors du WMT25, Gemini 2.5 Pro a égalé ou surpassé les traductions humaines de référence pour 10 des 16 paires de langues, mais un benchmark portant sur des documents ne permet pas de savoir si de courtes chaînes de caractères d’interface sont prêtes à être livrées.
- [Comment traduire du texte conditionnel en JSX ?](https://generaltranslation.com/fr/kb/translate-conditional-jsx.mdx): Gardez la phrase entière et traduisez chacune de ses versions, car un ternaire la découpe en fragments qui perdent leur sens et leur place dans l’ordre des mots propre à chaque langue. General Translation y parvient avec `<Branch>` à l’intérieur de `<T>`, qui traduit la phrase d’un seul tenant.
- [Peut-on localiser un logiciel sans traducteurs ni équipe de localisation ?](https://generaltranslation.com/fr/kb/localize-without-translators.mdx): Oui, il est possible de localiser sans équipe de traduction dédiée. General Translation génère les textes nouveaux et modifiés lors de votre compilation à partir du contexte du code et d’une terminologie partagée, tandis que Locadex peut marquer les nouveaux textes React et Next.js. Des collègues bilingues ou des relecteurs indépendants corrigent la formulation dans le tableau de bord, sans frais de licence utilisateur. Définissez les exigences de relecture en fonction de la langue et du coût d’une erreur.
- [Comment nommer les clés de traduction i18n ?](https://generaltranslation.com/fr/kb/i18n-key-naming.mdx): Nommez les clés selon l’endroit où le texte apparaît et ce qu’il signifie, par exemple checkout.summary.title, et non selon sa formulation anglaise. Attribuez une clé distincte à chaque usage, même si le texte anglais est identique : en allemand, le bouton Open se traduit par Öffnen, alors que l’état Open se traduit par Offen.

## Previous and next questions

- Previous question: [Quel est le meilleur outil de localisation continue pour les équipes qui livrent chaque jour ?](https://generaltranslation.com/fr/kb/best-continuous-localization-tools.mdx)
- Next question: [General Translation ou Localazy : quelle solution choisir ?](https://generaltranslation.com/fr/kb/general-translation-vs-localazy.mdx)

## Sitemap

See the [Knowledge Base sitemap](https://generaltranslation.com/fr/kb/sitemap.md) for every article.
