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 apportée à ceux-ci se présente sous forme de tâche et de pull request, et seuls les segments de texte nouveaux, modifiés ou défectueux sont envoyés au modèle.
La Localisation occupe sa propre place dans le menu principal. Elle affiche les langues de chaque Projet sur une seule page et attribue à chaque Projet un poste de travail. Les Projets qui ne sont pas encore multilingues commencent par le Assistant d'internationalisation.
Tous les projets sur une seule page
La Localisation s'ouvre sur les projets que vous pouvez consulter. Chaque ligne indique la langue source du Projet, le nombre de langues utilisées, le nombre de segments de texte, ainsi qu'une barre représentant le taux de traduction global pour toutes les langues.
Le petit globe à côté de chaque Projet comporte une perle par langue : verte lorsque la langue est complète, un anneau turquoise lorsque des segments de texte manquent ou ont été modifiés, et ambre lorsque certains segments de texte sont défectueux.
Faites en sorte que chaque projet s'exprime dans les langues de vos utilisateurs, et maintenez cette conformité au fil des évolutions du produit.
- Boutique en ligneanglais source · 5 langues · 1 240 chaînes97,2 %135 chaînes en attente
- Centre d’aidesuédois source · 2 langues · 318 chaînes100 %Toutes les langues sont complètes
- Lancer l’assistantApplication de réservationPas encore internationalisé
Localisation : les langues de chaque projet apparaissent comme des perles autour d’une petite sphère, montrant ce qui est traduit et ce qui nécessite encore des travaux. Données illustratives.
Un Projet sans traductions affiche : Pas encore internationalisé. Les Propriétaires et les administrateurs lancent l'assistant depuis cette ligne, ou depuis Internationaliser un projet en haut de la page.
Le poste de travail
L'ouverture d'un Projet affiche son poste de travail : les sections sur la gauche, et la section ouverte à côté d'elles.
| Section | À quoi elle sert |
|---|---|
| Aperçu | Pour connaître l'état de chaque langue et l'action à entreprendre pour traduire ce qui manque. |
| Chaînes de caractères | Toutes les chaînes de caractères dans chaque langue, filtrées selon les tâches prioritaires. |
| Suggestions | Corrections apportées par les contributeurs, en attente d'une décision. |
| Échange | Fichiers destinés aux agences, outils de traduction et feuilles de calcul, ainsi que leurs traductions correspondantes. |
| Contributeurs | Qui peut proposer des formulations et dans quelles langues |
| Automatisations | Les corrections sont appliquées chaque nuit et les chaînes traduites sont fusionnées en dehors de Coroid |
| Paramètres | Langues, la vérification des traductions, l'accès et la consommation, ainsi que le fichier de configuration |
Les suggestions, les contributeurs et les automatisations sont abordés dans Gérer les traductions grâce aux suggestions.
L'interface de travail lit les catalogues sur votre branche par défaut. Lorsqu'ils changent, Coroid les relit la prochaine fois qu'un utilisateur ouvre le projet ; jusqu'à ce moment-là, l'Aperçu indique qu'il est en cours de lecture. Coroid n'exécute jamais le code de votre dépôt pour effectuer cette tâche. Les catalogues utilisant un adaptateur personnalisé ne sont pas affichés ; leurs chaînes continuent néanmoins d'être vérifiées dans les tâches.
Aperçu : une ligne par langue
L'Aperçu commence par quatre totaux : chaînes de caractères, langues, pourcentage de traduction et nombre de chaînes nécessitant des travaux. En dessous, chaque langue s'étend sur une ligne en trois étapes :
- Internationaliser. Le catalogue de la langue existe déjà et contient les chaînes de caractères.
- Localiser. Chaque chaîne est traduite à partir du texte source actuel.
- Vérifier. Aucune chaîne n'est corrompue : chacune se analyse correctement, conserve les espaces réservés du texte source et possède les formes pluriels requises par la langue.
L'étape suivante d'une langue correspond à l'endroit où sa ligne s'arrête. Un point vert indique l'achèvement, un anneau bleu turquoise signale les travaux à effectuer, et un point ambre indique des chaînes corrompues.
- AperçuÉtat de chaque langue
- ChaînesChaque chaîne dans chaque langue
- SuggestionsEn attente de décision
- ÉchangerFichiers pour d'autres outils
- ContributeursQui peut proposer des formulations
- AutomatisationsTravaux nocturnes et lors des fusionnements
- ParamètresLangues, accès et coûts
Chaque langue traverse trois étapes. L'étape suivante correspond à l'endroit où sa ligne s'arrête.
- Englishanglais · en · Source
1 240 chaînes dans 3 catalogues
- Deutschallemand · de100 %TerminéValidé
- Françaisfrançais · fr98 %18 chaînes manquantesValidé
- 日本語japonais · ja96,3 %42 chaînes manquantes3 chaînes corrompues
- العربيةarabe · ar94,6 %64 chaînes manquantesValidé
- British Englishanglais britannique · en-GB · Dérivé de anglais100 %Dérivé et à jourValidé
L’aperçu du poste de travail : chaque langue est représentée sur une ligne via Internationaliser, Localiser et Vérifier, avec le retard qui l’empêche d’avancer. Données illustratives.
La barre sous Localiser affiche depuis le début : vert foncé pour les chaînes revues par des personnes, vert clair pour celles générées par un modèle, ambre pour les chaînes nécessitant une attention, et la partie vide pour les chaînes manquantes. Le texte sous la barre précise l'écart, comme 42 chaînes manquantes, et ouvre exactement ces chaînes.
Les langues dérivées d'une autre selon des règles, comme l'anglais britannique à partir de l'anglais américain, affichent Dérivée et à jour lorsque ces règles ont été appliquées à chaque chaîne.
Traduire ce qui manque
Les Propriétaires et administrateurs voient une action en haut de l'Aperçu : Traduire avec le nombre de chaînes nécessitant des travaux : manquantes, modifiées dans le texte source ou corrompues. Cette fonction les traduit dans l'atelier en deux passes :
- Mémoire de traduction. Une chaîne déjà traduite dans un autre Projet de votre organisation, avec exactement le même texte source, réutilise cette traduction. Les traductions humaines priment sur celles du modèle. Ainsi, aucun appel au modèle n'est émis et cela ne coûte rien.
- Le modèle Traducteur. Le moteur intégré à votre dépôt traduit le reste via le portail de traduction, en vérifiant chaque réponse par rapport aux espaces réservés et aux formes pluriels.
Pendant son exécution, un panneau sous les totaux indique le nombre de chaînes traitées et le temps consacré ; la barre de chaque langue se remplit d'encre rayée à mesure que les chaînes arrivent. Arrêter la traduction met fin au processus ; ce qui a été écrit reste.
- AperçuÉtat de chaque langue
- ChaînesChaque chaîne dans chaque langue
- SuggestionsEn attente de décision
- ÉchangerFichiers pour d'autres outils
- ContributeursQui peut proposer des formulations
- AutomatisationsTravaux nocturnes et lors des fusionnements
- ParamètresLangues, accès et coûts
Chaque langue traverse trois étapes. L'étape suivante correspond à l'endroit où sa ligne s'arrête.
Nombre de chaînes écrites jusqu'à présent : 71 sur 133
Réutilisé depuis la mémoire de traduction sans frais : 26 · 0,04 $US dépensé sur la limite de 5,00 $US
- Deutschallemand · deTerminé
- Françaisfrançais · frLes traductions sont prêtes à être validées : 24
- 日本語japonais · jaTraduction en cours : 28 sur 45 de texte traduit.
- العربيةarabe · arTraduction en cours : 19 sur 64 de texte traduit.
Vue d'ensemble pendant l'exécution de la traduction automatique : la presse fonctionne, chaque langue se remplit d'encre rayée à mesure que les chaînes de caractères arrivent, et la mémoire de traduction reprend ce que d'autres projets ont déjà exprimé. Données illustratives.
Les traductions ne sont pas directement envoyées dans votre dépôt. Elles attendent Valider avec vos autres modifications, marquées comme traductions automatiques, afin que vous puissiez les vérifier dans Chaînes d'abord. Une chaîne déjà modifiée par quelqu'un ou suggérée par un contributeur reste sous leur responsabilité.
Chaînes
Chaînes liste chaque chaîne avec son texte source et sa valeur dans une langue donnée. Elle s'ouvre sur Nécessite des corrections: les chaînes manquantes, dont le texte source a changé, qui sont erronées ou qui restent identiques au texte source. Sélectionnez une autre langue, un catalogue ou recherchez par clés et texte.
| État | Signification |
|---|---|
| Manquant | La chaîne n'a pas de traduction. |
| Texte source modifié | Le texte source a été modifié après la traduction de la chaîne. |
| Erronée | Elle ne se parse pas, ses espaces réservés diffèrent du texte source ou ses formes pluriels ne correspondent pas à la langue. |
| Identique au texte source | Elle est identique au texte source. |
| Automatique | Un modèle l'a générée et aucune personne ne l'a encore révisée. |
| Révisée | Une personne l'a rédigée ou corrigée. |
| Dérivée | Des règles l'ont produite à partir d'une autre langue. |
Sélectionnez une chaîne pour la voir dans toutes les langues. Les espaces réservés et la mise en forme apparaissent sous forme de blocs verrouillés, car ils doivent rester inchangés lors de la traduction. Pour la langue choisie, les détails indiquent également qui a rédigé la valeur, ce qui ne va pas avec elle et, pour un message pluriel, quelles formes pluriels la langue requiert.
- AperçuÉtat de chaque langue
- ChaînesChaque chaîne dans chaque langue
- SuggestionsEn attente de décision
- ÉchangerFichiers pour d'autres outils
- ContributeursQui peut proposer des formulations
- AutomatisationsTravaux nocturnes et lors des fusionnements
- ParamètresLangues, accès et coûts
Chaque chaîne de caractères dans chaque langue. Les filtres permettent de cibler uniquement le travail qui importe.
| Source | 日本語 |
|---|---|
| Total: {amount} | 合計: {price}Endommagé |
| Your cart is empty | Aucune traduction pour l’instantManquant |
| Welcome back, {name} | Aucune traduction pour l’instantManquant |
| Prices include <b>VAT</b> | 価格には<b>消費税</b>が含まれますEndommagé |
| Weekly deals | Aucune traduction pour l’instantManquant |
- 日本語 · japonaisEndommagé合計: {price}
Rédigé par un modèle · Les espaces réservés diffèrent de la source
- DeutschRevuGesamt: {amount}
- FrançaisMachineTotal : {amount}
- العربيةMachineالإجمالي: {amount}
- British EnglishDérivéTotal: {amount}
Les chaînes dans le poste de travail, filtrées pour n’afficher que les chaînes japonaises nécessitant des travaux ; la chaîne ouverte montre ses espaces réservés sous forme de puces verrouillées et la valeur pour chaque langue. Données illustratives.
Modifier et valider
Les propriétaires et administrateurs corrigent les traductions dans Chaînes. Sélectionnez une chaîne, choisissez Modifier dans une langue, puis enregistrez la modification. L'éditeur affiche les espaces réservés du texte source sous forme de blocs que vous pouvez insérer, et vérifie la modification au fur et à mesure : les espaces réservés, les formes pluriels requises par la langue, les termes de votre glossaire et la longueur. Coroid les vérifie à nouveau par rapport à la branche par défaut lorsque vous enregistrez.
Suggérer dans l'éditeur propose une traduction pour cette chaîne : depuis la mémoire de traduction si un autre projet la possède, sinon via le modèle de traducteur. Choisissez Utiliser celle-ci pour l'insérer dans l'éditeur ; rien n'est enregistré tant que vous n'enregistrez pas la modification.
Les modifications enregistrées attendent dans une barre sous les chaînes, où vous pouvez les réviser ou les rejeter individuellement. Valider regroupe toutes ces modifications, ainsi que les suggestions de contributeurs approuvées et les traductions automatiques, en une seule tâche. Cette tâche applique exactement ces valeurs avec le moteur verrouillé et ouvre une pull request. Une validation peut contenir jusqu'à 5 000 modifications ; le reste attend la suivante. Tant que cette pull request n'est pas fusionnée, les chaînes affichent Non validée ou En cours d'application.
Une traduction automatique validée reste une traduction automatique dans le cache du moteur, donc elle est toujours considérée comme Automatique jusqu'à ce qu'une personne la révise.
L'édition nécessite que les contributions soient activées dans le fichier de configuration ; l' Assistant d'internationalisation les active par défaut. Les contributeurs peuvent également suggérer une formulation plus adaptée sur votre propre site.
Échanger des fichiers
Sous Échange, téléchargez les chaînes pour une agence, un outil de traduction ou un tableur, puis importez leurs traductions en retour.
| Format | Langues par fichier | À utiliser pour |
|---|---|---|
| XLIFF 1.2 et 2.0 | Un | Outils de traduction et agences ; les espaces réservés apparaissent sous forme de balises verrouillées |
| Gettext PO | Un | Poedit, Weblate et autres outils Gettext |
| CSV et Excel | Toutes les langues | Tableurs, avec toutes les langues côte à côte |
| JSON | Un | Clés et traductions |
| Catalogue de chaînes Apple | Toutes les langues | Xcode |
| Fichier .strings Apple | Un | Projets Xcode |
| Fichier strings.xml Android | Un | Android Studio |
| ARB Flutter | Un | Flutter |
Un export contient les chaînes nécessitant des corrections ou toutes les chaînes. Les espaces réservés et les messages pluriels sont conservés tels quels.
Une importation affiche chaque ligne avant toute validation. Les nouvelles traductions et modifications peuvent être acceptées. Coroid ignore les clés absentes du projet, les traductions issues d'une source modifiée depuis, les espaces réservés défectueux et les formes pluriels manquantes pour la langue concernée. Les lignes acceptées deviennent des modifications en attente de Valider, comme les éditions effectuées dans Chaînes.
JSON, les fichiers .strings et Android ne précisent pas la langue qu'ils contiennent. Coroid l'extrait du nom du fichier, par exemple storefront-de.json, ou le demande.
Vérifier chaque modification
Le Traductions la vérification dans Contrôle qualité s'exécute lors du QA de tâche et sur les demandes d'intégration, et ne concerne que les chaînes modifiées. L'assistant l'active par défaut une fois que son pull request est fusionné ; Paramètres indique si cette fonctionnalité est activée et l'ouvre dans Contrôle qualité. Dans l'Aperçu, Consulter la dernière vérification sous Vérifier ouvre l'exécution la plus récente.
Chaque problème génère une observation accompagnée d'un code :
| Code | Signification | Bloque par défaut |
|---|---|---|
missing | La chaîne n'a pas de traduction | Oui |
invalid_syntax | La traduction ne se prête pas à l'analyse, par exemple en cas d'ICU défectueux | Oui |
placeholder_mismatch | Les espaces réservés diffèrent de ceux de la source | Oui |
plural_categories | Une forme plurielle nécessaire pour la langue est absente | Oui |
stale | La source a été modifiée après la traduction de la chaîne | Non |
Vous choisissez quels codes bloquent dans les paramètres de la vérification. Le glossaire, les règles de longueur et les termes interdits déclarent leurs propres codes lorsque votre fichier de configuration les active.
- Ouvrirui · checkout.total · fr: missingTraductions · Non traduit
- Ouvrirui · nav.deals · de: staleTraductions · La source a changé depuis la traduction
- En cours de correctionui · cart.items · ja: placeholder_mismatchTraductions · Les espaces réservés diffèrent de la source
- Corrigéui · cart.count · ar: plural_categoriesTraductions · Formes 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 observation 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 dispose de son propre rôle 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. Vous pouvez modifier ce mapping dans un profil AI comme pour tout autre rôle.
Le moteur regroupe également les chaînes par taille, valide chaque réponse selon vos espaces réservés et règles plurelles, puis retente ou transfère à un niveau supérieur la chaîne qui échoue.
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 à votre organisation au titre de l'utilisation du modèle, tout comme les exécutions d'agents. Les tâches de traduction 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 pour 1 000 chaînes 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 et chaque exécution ont une limite de traduction. La session d'une tâche s'arrête à sa limite de dépense, fixée à 1 $ par défaut ; une Traduire exécution dans l'interface de travail s'arrête à 5 $. Un projet peut définir une limite inférieure dans Paramètres → Accès et dépenses.
- La mémoire de traduction est gratuite. Les chaînes déjà traduites par votre organisation ailleurs sont réutilisées sans appel au modèle.
- La lecture est gratuite. L'interface de travail et la vérification Traductions lisent vos catalogues ; aucun appel au modèle n'est effectué.
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. Au sein de Coroid, les tâches utilisent toujours le portail de traduction, de sorte que les dépenses et les limites restent centralisées.