Une règle est une instruction linguistique nommée qu’un moteur de localisation applique à une langue cible — par exemple « abréger Straße en Str. dans les adresses », et non « être plus décontracté ». Les règles sont regroupées dans des jeux de règles : des conteneurs appartenant à l’organisation, qu’un moteur applique lorsqu’ils lui sont associés. Ainsi, un même jeu de règles peut piloter tous les moteurs qui en ont besoin.
Les règles s’appelaient auparavant instructions
Dans le tableau de bord, elles s’appellent désormais règles et sont regroupées en jeux de règles. L’API REST expose toujours une règle individuelle à /instructions avec les mêmes noms de champs qu’avant — le changement porte sur l’endroit où la règle est rédigée : rulesetId remplace désormais ownerEngineId.
Fonctionnement#
Un jeu de règles appartient à votre organisation, pas à un moteur. C’est son association à un moteur qui rend ses règles actives — rien n’est copié dans le moteur.
| Objet | Champs |
|---|---|
| Jeu de règles | Nom, description. Peut contenir autant de règles que nécessaire. |
| Règle | Nom, langue cible (ou *), texte. |
Lorsqu’une demande de traduction arrive, le moteur rassemble toutes les règles de tous les jeux de règles associés dont la langue cible correspond à la targetLocale de la demande, puis les ajoute au prompt du LLM aux côtés de la voix de marque et du glossaire. Les règles n’entrent pas en concurrence : toutes les règles correspondantes sont incluses, en commençant par la langue la plus précise, afin que les consignes les plus ciblées passent en premier.
| Champ | Description |
|---|---|
| Nom | Un libellé court qui identifie la règle (par ex. « adresse formelle en allemand ») |
| Langue cible | La langue à laquelle cette règle s’applique, ou * pour toutes les langues |
| Texte | La règle linguistique, rédigée en langage naturel |
Plusieurs règles par langue
Créez autant de règles que nécessaire pour une langue. Chaque règle doit traiter un seul point — c’est ce qui permet de la tester individuellement, de l’évaluer avec la évaluation IA des règles et de la supprimer sans risque.
Les jeux de règles appartiennent à l’organisation#
| Action | Effet |
|---|---|
| Créer un jeu de règles | Il existe au niveau de l’organisation et ne s’applique à rien tant qu’il n’est pas associé |
| L’associer à un moteur | Toutes les règles qu’il contient s’appliquent aux traductions de ce moteur |
| L’associer à plusieurs moteurs | Les mêmes règles s’appliquent à tous — une seule modification, et chaque moteur suit |
| Associer plusieurs jeux de règles à un moteur | Toutes leurs règles se combinent |
| Le dissocier d’un moteur | Le moteur cesse de l’appliquer. Le jeu de règles et ses règles sont conservés. |
| Supprimer un jeu de règles | Opération refusée tant qu’un moteur l’applique encore — dissociez-le d’abord. Sa suppression entraîne aussi celle de ses règles. |
| Supprimer un moteur | Les jeux de règles et les règles restent en place. Ils appartiennent à l’organisation, pas au moteur. |
Gérez les jeux de règles dans Rules, dans la barre latérale de l’organisation. L’onglet Rules d’un moteur liste ce qu’il applique actuellement et permet d’associer ou de dissocier des jeux de règles.
Instructions prédéfinies#
Lingo.dev propose un catalogue de règles prêtes à l’emploi — des conventions propres à chaque langue dont la plupart des équipes ont besoin, mais que peu pensent à formaliser. Ouvrez Predefined Instructions depuis l’onglet Rules d’un moteur et sélectionnez celles que vous voulez. Elles sont associées directement au moteur, plutôt que via un jeu de règles, et vous pouvez les dissocier à tout moment.
Les règles sélectionnées sont placées dans le prompt avant les vôtres, afin qu’une règle que vous rédigez vienne affiner ou remplacer la base de départ, au lieu d’entrer en conflit avec elle.
Règles ou voix de marque#
Les deux influencent le résultat de la traduction, mais à des niveaux différents :
| Voix de marque | Règle | |
|---|---|---|
| Portée | Ton général, style, niveau de formalité | Une règle linguistique précise |
| Par langue | Un texte par langue, une voix par langue et par moteur | Plusieurs règles par langue |
| Appliqué | Un seul texte, celui qui correspond le mieux | Toutes les règles correspondantes se combinent |
| Joker | Oui (* sert de voix par défaut) | Oui (* s’applique à toutes les langues) |
| Exemple | « Utiliser le tutoiement, avec un ton technique » | « Toujours abréger Straße en Str. dans les adresses » |
Utilisez une voix de marque pour définir la manière dont votre produit s’exprime dans une langue — niveau de formalité, registre, style de phrase.
Utilisez des règles pour formaliser des conventions précises que le modèle risquerait sinon de manquer — abréviations, ponctuation, formatage des unités ou structures grammaticales propres à une langue.
Elles fonctionnent ensemble : la voix de marque donne le ton, les règles gèrent les cas particuliers.
Rédiger des règles efficaces#
Chaque règle doit être une instruction unique et sans ambiguïté. Le moteur inclut le texte complet dans le prompt du LLM : la clarté est donc essentielle.
Bonnes règles#
Always use the Oxford comma in English lists.In Japanese, use full-width parentheses ()instead of half-width ().For German addresses, abbreviate "Straße" to "Str." and
"Nummer" to "Nr."When translating percentage values for French, add a
non-breaking space before the percent sign: 42 %.À éviter#
- Les consignes vagues qui recoupent la voix de marque (« être plus décontracté ») — mettez-les plutôt dans la voix de marque
- Plusieurs consignes sans lien dans une seule règle — séparez-les pour que chacune puisse être testée indépendamment
- Les règles qui contredisent le glossaire — dans la hiérarchie du moteur, les termes du glossaire ont priorité
Langue générique#
Définissez la langue cible sur * pour appliquer une règle à toutes les langues. C’est utile pour les conventions indépendantes de la langue :
Never translate product feature names: "Smart Compose",
"Quick Actions", "Flow Builder".Preserve Markdown formatting in all translated strings.
Keep bold (**), italic (*), and link syntax [text](url) intact.Les règles spécifiques à une langue et les règles génériques sont toutes deux incluses lorsque le moteur traite une demande — elles se combinent, elles ne se remplacent pas.
Utiliser les règles avec l’API#
Les règles sont appliquées automatiquement lorsque vous appelez le endpoint localize. Le moteur collecte toutes les règles qui correspondent à la targetLocale de la demande (ainsi que les éventuelles règles *) à partir des jeux de règles appliqués par le moteur. Aucun paramètre supplémentaire n’est nécessaire.
| Appel | Objectif |
|---|---|
POST /rulesets | Créer un jeu de règles pour l’organisation |
GET /organizations/:id/rulesets | Lister les jeux de règles de l’organisation avec le nombre de règles et de moteurs |
GET /rulesets/:id/rules | Lister les règles d’un jeu de règles |
POST /instructions avec rulesetId | Ajouter une règle à un jeu de règles |
PUT /engines/:id/rulesets | Remplacer l’ensemble des jeux de règles appliqués par un moteur |
DELETE /engines/:id/rulesets/:rulesetId | Cesser d’appliquer un jeu de règles à un moteur |
GET /engines/:id/instructions | Lister toutes les règles qu’un moteur applique actuellement |
ownerEngineId sur POST /instructions fonctionne toujours — cela écrit dans le jeu de règles propre au moteur, en en créant un s’il n’en a pas encore. Préférez rulesetId.
Accès#
org:ruleset:read et org:ruleset:edit régissent les jeux de règles et les règles qu’ils contiennent ; associer l’un d’eux à un moteur nécessite aussi engine:edit sur ce moteur. Une autorisation par jeu de règles permet à une personne de lire et modifier un seul jeu de règles, au lieu d’avoir accès à tous les jeux de règles de l’organisation. Voir Roles & Permissions.
Gérer les règles via MCP#
Si vous utilisez le serveur MCP Lingo.dev, votre assistant de code IA peut créer, mettre à jour et supprimer directement des règles et des jeux de règles :
"Create a ruleset called German conventions and apply it to
the marketing engine.""Add a rule to that ruleset: always abbreviate Straße to Str.
in addresses.""Add a wildcard rule: never translate the term Smart Compose."