Alpha
Le Compiler de Lingo.dev est en version alpha. Il est instable, n’est pas recommandé pour un usage en production, et les API peuvent évoluer d’une version à l’autre.
L’attribut data-lingo-override vous offre un contrôle précis sur certaines traductions. Si vous avez besoin d’une traduction exacte pour un nom de marque, un texte juridique ou un titre marketing, ajoutez cet attribut à n’importe quel élément JSX et le compilateur utilisera les traductions que vous fournissez au lieu de les générer avec l’IA.
Utilisation de base#
Passez un objet qui associe des codes de langue à leurs traductions :
<h1 data-lingo-override={{ es: "Bienvenido", de: "Willkommen", fr: "Bienvenue" }}>
Welcome
</h1>Le compilateur utilise la valeur de remplacement pour chaque langue spécifiée. Pour les langues qui ne figurent pas dans l’objet de remplacement, il génère les traductions normalement.
Comment fonctionnent les remplacements#
Le Compiler rencontre un élément JSX avec data-lingo-override
Lors de la phase d’analyse de l’AST, le compilateur détecte l’attribut data-lingo-override sur l’élément.
Les valeurs de remplacement sont extraites
L’association entre codes de langue et traductions est lue à partir de la valeur de l’attribut.
Les remplacements priment
Pour chaque langue présente dans l’objet de remplacement, le compilateur utilise la traduction fournie. La traduction par IA est ignorée pour ces langues. Celles qui n’apparaissent pas dans le remplacement sont traduites normalement.
Cas d’usage#
| Cas d’usage | Pourquoi utiliser un remplacement | Exemple |
|---|---|---|
| Noms de marque | L’IA peut localiser des noms qui devraient rester cohérents d’une langue à l’autre | data-lingo-override={{ es: "Lingo.dev", de: "Lingo.dev" }} |
| Textes marketing | Une formulation précise rédigée par un copywriter | data-lingo-override={{ es: "Tu motor de localizacion" }} |
| Texte juridique | Les exigences réglementaires imposent une formulation exacte | data-lingo-override={{ de: "Datenschutzerklarung" }} |
| Expressions idiomatiques et jeux de mots | Un jeu de mots qui demande de la créativité humaine | data-lingo-override={{ fr: "C'est la vie" }} |
| UI avec limites strictes de caractères | Les traductions générées par l’IA peuvent dépasser l’espace disponible | data-lingo-override={{ ja: "OK" }} |
Exemples#
Texte de paragraphe#
<p data-lingo-override={{ es: "Crea un motor de localizacion en Lingo.dev" }}>
Create a localization engine on Lingo.dev
</p>Attributs#
Les remplacements s’appliquent au contenu textuel de l’élément. Pour les attributs traduisibles comme placeholder, alt ou aria-label, le compilateur les gère séparément via son pipeline standard de traduction des attributs.
Remplacements partiels#
Vous n’avez pas besoin de fournir des remplacements pour chaque langue cible. Indiquez uniquement les langues qui nécessitent un contrôle manuel :
<h2 data-lingo-override={{ ja: "はじめに" }}>
Getting Started
</h2>Dans cet exemple, le japonais utilise le remplacement, tandis que toutes les autres langues cibles reçoivent des traductions générées par l’IA.
Quand utiliser les remplacements plutôt que d’autres approches#
| Approche | Quand l’utiliser |
|---|---|
data-lingo-override | Des éléments spécifiques dont vous connaissez déjà la traduction exacte. |
| Glossaire (Lingo.dev Engine) | Des termes qui doivent être traduits de manière cohérente dans toute l’application. |
| Voix de marque (Lingo.dev Engine) | Des préférences de ton et de style qui s’appliquent à toutes les traductions. |
| Prompts personnalisés | Des consignes générales de traduction pour l’ensemble du contenu. |
Les remplacements sont l’option la plus granulaire : ils s’appliquent à un seul élément. Pour garantir une cohérence à l’échelle du projet, utilisez plutôt un glossaire ou une voix de marque via le moteur de localisation Lingo.dev.
