Coroid traduit votre produit avec le même moteur qu'il utilise pour ses propres treize langues. Vos catalogues restent des fichiers dans votre dépôt. Chaque modification de ceux-ci arrive sous forme de tâche normale et pull request, et seules les chaînes nouvelles, modifiées ou défectueuses sont envoyées au modèle.
Les traductions se trouvent sous Contrôle qualité → Traductions. La liste affiche chaque projet, indique si les traductions sont configurées et la dernière analyse effectuée. Ouvrez un projet pour accéder à son poste de travail.
- Boutique en ligne
- Site de documentation
- Application mobile
| Locale | Manquant | Obsolète |
|---|---|---|
| de | 0 | 2 |
| fr | 14 | 0 |
| ja | 14 | 1 |
| ar | 14 | 0 |
- TraductionsContrôle qualité des tâches et demandes de fusion · uniquement les chaînes modifiéesPublié
- Audit des traductionsProgrammé · chaque catalogue et page de localeBrouillon
Contrôle qualité → Traductions pour un projet : le dernier contrôle de traduction par locale, ainsi que les contrôles de traduction et d'audit des traductions. Données illustratives.
Ce dont votre dépôt a besoin
Coroid lit les catalogues dans ces formats :
| Format | À utiliser pour |
|---|---|
| ICU JSON | Fichiers de messages avec pluriels et sélections ICU |
| i18next JSON | Catalogues i18next et react-i18next, y compris les suffixes de pluriel |
| Vue i18n JSON | Messages vue-i18n, y compris les messages liés et les pluriels en pipe |
| Rails YAML | config/locales/*.yml, avec %{name} interpolation et clés de pluriel |
| gettext PO | .po fichiers et un .pot modèle, avec Plural-Forms par langue |
| Markdown et MDX | Pages de documentation dans un dossier de langue (docs/en/…): texte, descriptions d'images et champs de métadonnées choisis ; le code et la mise en forme restent tels quels |
| Personnalisé | Tout autre format, via une petite commande adaptateur dans votre dépôt |
Vous n'avez pas encore besoin de traductions. Si votre projet ne dispose pas d'i18n, Coroid peut l'introduire.
Configurer
L'onglet Configuration guide à travers trois étapes.
- Détecter. Coroid prépare une tâche de découverte. Il exécute le moteur de traduction verrouillé sur votre dépôt et enregistre la pile technique, les catalogues, la langue source et tout ce qui reste incertain.
- Choisir. Sélectionnez Adopter l'i18n existant pour conserver votre framework et vos catalogues et ajouter les vérifications et le moteur de delta de Coroid. Choisissez Introduire l'i18n pour que Coroid configure votre framework, extraie les chaînes représentatives et ajoute le routage par locale, les replis et le support du texte de droite à gauche.
- Créer. Coroid crée la tâche de configuration avec une Spécification et des critères d'acceptation. Elle se termine par un pull request que vous examinez comme n'importe quelle autre.
- Boutique en ligne
- Site de documentation
- Application mobile
- Détecter
- 2Choisir
- 3Créer
Conservez votre infrastructure et vos catalogues actuels, et ajoutez les contrôles de traduction et le moteur de détection des écarts de Coroid.
Reliez votre infrastructure, extrayez les chaînes représentatives, et ajoutez le routage par locale, les solutions de secours et le comportement RTL.
- Locale source
- en
- Locales cibles
- de, fr, ja, ar
L'onglet Configuration après détection : adopter l'i18n existant ou l'introduire, avec les locales sources et cibles. Données illustratives.
La configuration est prête une fois que ce pull request est fusionné dans la branche par défaut ; Coroid synchronise alors les données. Jusqu'à lors, rien d'autre dans le poste de travail ne prend cette configuration en compte.
Le fichier du dépôt
La configuration écrit .coroid/i18n.json. Il décrit votre dépôt, donc il se trouve dans votre dépôt et évolue via des demandes de fusion :
{
"version": 1,
"cli": { "version": "1.7.0", "sha256": "…" },
"sourceLocale": "en",
"targetLocales": ["de", "fr", "ja", "ar"],
"catalogs": [
{
"id": "ui",
"format": "i18next-json",
"source": "messages/{locale}.json"
}
],
"localeTier": { "ja": "escalation" }
}cliverrouille la version exacte du moteur et son checksum. Coroid télécharge et vérifie cette version avant chaque exécution, afin qu'une mise à jour ne modifie jamais votre résultat de façon inattendue.sourceLocalepeut être n'importe quelle langue. Une source suédoise traduite en anglais et en allemand fonctionne de la même manière.localeTierdemande le niveau de traduction le plus élevé pour une locale. Vous choisissez un niveau, jamais un modèle.
Le fichier peut également contenir un glossaire, des termes protégés, le contexte du produit et des instructions spécifiques à chaque locale.
Pour le modifier, éditez la proposition sur l'onglet Configuration et choisissez Proposer une modification. Coroid ouvre une tâche qui applique exactement ce fichier et corrige les traductions affectées par la modification.
Le même onglet contient les paramètres appartenant à Coroid plutôt qu'à votre dépôt : quels sites peuvent ouvrir le sélecteur de suggestions, si les suggestions sont révisées par défaut et la limite de dépense pour les traductions du projet.
Vérifier chaque modification
Les traductions deviennent partie intégrante de la vérification grâce à deux contrôles qualité. Ajoutez-les depuis l'onglet Aperçu .
- Traductions s'exécute lors de la QA de tâche et sur les demandes de fusion. Il vérifie uniquement les chaînes touchées par une modification.
- Audit de traduction s'exécute selon un planning. Il vérifie chaque catalogue et locale et peut inclure un test dans le navigateur des pages de locale, pour le layout de droite à gauche, les débordements et les textes non traduits sur la page.
Ajouter un contrôle prépare un brouillon de politique. Examinez-le et publiez-le sous Politiques qualité pour l'activer.
Chaque problème devient une constatation avec un code d'incident :
| Code | Signification | Bloque par défaut |
|---|---|---|
missing | La chaîne n'a pas de traduction | Oui |
invalid_syntax | La traduction ne se parsse pas, par exemple un ICU incorrect | Oui |
placeholder_mismatch | Les espaces réservés diffèrent de la source | Oui |
plural_categories | Une forme plurielle requise par la locale est manquante | Oui |
stale | La source a été modifiée après la traduction de cette chaîne | Non |
Vous choisissez quels codes bloquer dans les paramètres du contrôle. Le glossaire, les règles de longueur et de termes interdits indiquent leurs propres codes lorsque votre fichier les configure.
missingui · checkout.total · frNon traduitstaleui · nav.deals · deLa source a changé depuis la traductionplaceholder_mismatchui · cart.items · jaLes espaces réservés diffèrent de la sourceplural_categoriesui · cart.count · arFormes plurielles absentes pour cette locale
Résultats du contrôle qualité sur les traductions, un code de problème par résultat. Données illustratives.
Lorsqu'une erreur de traduction bloque une tâche, l'agent développeur la corrige toujours de la même manière : il ouvre une session de traduction pour la tâche et exécute le moteur sur les chaînes modifiées. Il n'édite jamais manuellement les catalogues cibles.
Le modèle Traducteur
La traduction occupe un rôle propre dans les profils AI, Traducteur, aux côtés d'Architecte, Développeur, QA et Réviseur. Par défaut, il utilise Hy-MT2, un modèle de traduction, avec GPT-6 Luna comme solution de repli, lorsque la politique de votre organisation le permet. Modifiez ce mappage dans un profil AI comme pour tout autre rôle.
Le moteur regroupe également les chaînes par taille, valide chaque réponse par rapport à vos espaces réservés et règles de pluriel, puis réessaie ou transfère une chaîne défaillante.
Coûts
Les traductions sont disponibles sur tous les abonnements. Les appels de traduction passent par le portail de traduction de Coroid et sont facturés en tant qu'utilisation de modèles pour votre organisation, au même titre que les exécutions d'agents. Les tâches de configuration comptent dans les heures d'agent de votre abonnement comme toute autre tâche.
Avec la route Traducteur par défaut, la traduction coûte environ deux centimes par 1 000 chaînes et par langue. La traduction d'un catalogue de 2 000 chaînes en dix langues coûte environ 0,33 $ selon nos mesures.
- Seules les modifications entraînent des frais. Le moteur conserve un cache indexé par le texte source, afin que les chaînes inchangées ne soient jamais renvoyées.
- Chaque tâche possède une limite de traduction. Une session s'arrête à la limite de dépense de la tâche, fixée à 1 $ par défaut. Un projet peut définir une limite inférieure sous Configuration → Accès et dépenses.
- Les Vérifications n'effectuent aucun appel de modèle. Le contrôle Traductions et l'audit lisent vos catalogues ; ils ne traduisent pas.
Traduire en dehors de Coroid
Le moteur est un outil en ligne de commande, coroid-i18n. Votre propre CI peut exécuter la même version verrouillée avec sa propre clé OpenRouter. À l'intérieur de Coroid, les tâches utilisent toujours le portail de traduction, de sorte que les dépenses et les limites restent centralisées.