Documentation

Internationaliser un projet

Lancez l'assistant d'Internationalisation pour rendre un projet multilingue. Coroid analyse le dépôt, suggère les langues et les paramètres, puis prépare une tâche pull request.

L'assistant d'internationalisation rend un projet multilingue. Il analyse votre dépôt, démarre chaque étape à partir de ce qu'il a trouvé, et aboutit à une tâche qui ouvre un pull request. Vous n'avez jamais besoin de saisir de code de langue ni d'éditer JSON ; modifiez uniquement ce que vous souhaitez, et rien ne changera dans votre dépôt tant que vous n'aurez pas fusionné les modifications.

Les propriétaires et les administrateurs lancent l'assistant. Démarrez-le depuis Globalisation → Internationalisation: choisissez Internationaliser un projet, ou Démarrer l'assistant sur la ligne du projet. Pour un projet déjà multilingue, Paramètres → Changer les langues dans son interface de travail ouvre le même assistant pour proposer des modifications.

Les étapes

1. Analyse

Coroid lit la branche par défaut sans exécuter le moindre code. Il recherche les catalogues et leurs langues, les frameworks utilisés, ainsi que le texte encore écrit directement dans le code, compté par fichier.

  • Catalogues trouvés. L'assistant les conserve : Coroid y ajoute ses vérifications et traduit ce qui manque. C'est ce qu'on appelle l'adoption.
  • Aucun catalogue pour l'instant. Coroid déplace le texte de votre code dans des catalogues et substitue ces occurrences par des appels de recherche. C'est ce qu'on appelle l'introduction.
  • Déjà configuré. Le projet dispose déjà d'une configuration Coroid, et l'assistant propose des modifications à apporter.

2. Langue source

Langue dans laquelle le produit est écrit ; toutes les autres langues sont traduites à partir de celle-ci. L'assistant la détecte grâce à vos catalogues ou la devine à partir du texte dans le code. Toute langue peut être la langue source : un produit suédois traduit en anglais et en allemand fonctionne de la même manière.

3. Langues

Sélectionnez les langues une par une, ou ajoutez un marché entier d'un coup : Les plus parlées, Europe, Nordiques, Asie de l'Est, Les Amériques ou De droite à gauche. Chaque langue affiche son propre nom, indique si elle s'écrit de droite à gauche et précise le nombre de formes pluriels nécessaires.

Les variantes régionales peuvent être dérivées au lieu d'être traduites. L'anglais britannique est dérivé de l'anglais américain avec une orthographe britannique, et l'allemand suisse de l'allemand avec une orthographe suisse, ce qui permet de les obtenir sans coût supplémentaire et de les garder synchronisées avec leur version parent.

Internationalisation
Assistant d'internationalisation

Chaque étape part de ce que le dépôt contient déjà. Modifiez uniquement ce que vous souhaitez ; rien ne sera appliqué tant que le pull request n'est pas fusionné.

Étape 3 sur 8
Langues à ajouter

Sélectionnez les langues une par une ou ajoutez un marché entier. Les variantes régionales, comme l'anglais britannique, peuvent être générées automatiquement selon des règles au lieu d'être traduites manuellement.

5 langues
  • Deutschallemand · de · 2 formes pluriels
  • Françaisfrançais · fr · 3 formes pluriels
  • 日本語japonais · ja · 1 forme plurielle
  • العربيةarabe · ar · de droite à gauche · 6 formes pluriels
  • British Englishanglais britannique · en-GB · 2 formes plurielsAdapté avec l'orthographe britannique
Ajouter un marché
Les plus parléesEuropePays nordiquesAsie de l'EstLes AmériquesDe droite à gauche
RetourContinuer

L’assistant d’Internationalisation à son étape Langues : chaque langue avec sa direction d’écriture et ses formes plurielles, l’anglais britannique généré par des règles, et les marchés à ajouter en une seule opération. Données illustratives.

4. Chaînes de caractères

Lors de l'adoption, choisissez les catalogues que Coroid conservera traduits ; leurs clés et leur structure resteront inchangées. Lors de l'introduction, sélectionnez les fichiers dont le texte Coroid déplacera dans les catalogues ; les fichiers que vous excluez resteront tels quels.

5. Style et termes

Tous ces éléments sont optionnels et appliqués dans chaque langue :

  • Formel ou informel. Pour les langues qui distinguent le registre formel ou informel, comme l'allemand Sie et du. Par défaut, chaque registre suit le ton du texte source.
  • Termes conservés tels quels. Les noms de produit, de marque et de fonctionnalité qui restent identiques dans toutes les langues.
  • À propos du produit. Quelques phrases sur le produit et ses lecteurs, qui aident chaque traducteur à choisir les mots appropriés.

6. Culture

Chaque marché écrit les dates, les nombres et les prix à sa manière. Choisissez comment le code formate l'affichage pour le lecteur : l'assistant suggère le formateur du framework qu'il a détecté, comme next-intl ou react-intl, ou vous pouvez en définir un personnalisé. Ensuite, sélectionnez la monnaie utilisée dans chaque marché ; chacune commence par celle de la région concernée. Chaque marché affiche un exemple de date et de nombre, le jour où la semaine commence et la taille du papier. Les agents de Coroid respectent ces choix ; consultez Culture.

7. Qualité et automatisation

Activés par défaut, et chacun peut être modifié ultérieurement :

  • Vérifier les traductions à chaque modification. La Vérification de la globalisation renvoie une modification lorsqu'elle détecte des chaînes manquantes ou corrompues, ou quand du texte est ajouté au code au lieu du catalogue.
  • Traduire les chaînes fusionnées en dehors de Coroid. Lorsqu'une personne fusionne du nouveau texte sans passer par Coroid, une tâche se charge de le traduire.
  • Appliquer les corrections chaque nuit. Les suggestions approuvées par les contributeurs arrivent sous forme d'un seul pull request chaque nuit.
  • Permettre aux personnes invitées de proposer des formulations. Les locuteurs natifs que vous invitez peuvent corriger les traductions sur votre site. Consultez Gérer les traductions avec des suggestions.

Le fichier de configuration conserve la dernière version. Coroid active les autres la prochaine fois qu'un propriétaire ou un administrateur ouvrira la section Globalisation après la fusion de pull request, et ce, une seule fois : si vous désactivez un paramètre ultérieurement, il restera désactivé.

8. Révision

Un résumé du projet : l'objectif de la tâche, la langue source, les langues cibles et celles qui sont dérivées, le volume de traduction, les termes conservés tels quels, le formateur et les devises, ainsi que ce qui se déclenche après la fusion. La traduction est facturée au titre de l'utilisation du modèle, comme pour tout autre travail d'agent, avec un plafond par tâche.

Sélectionner Internationaliser. Coroid crée une tâche avec une spécification et des critères d'acceptation, puis la lance immédiatement.

L'objectif de la tâche

  • Mettre en œuvre écrit le fichier de configuration exactement comme l'a composé l'assistant, puis traduit toutes les chaînes manquantes.
  • Présenter relie votre framework, déplace le texte des fichiers choisis dans des catalogues, ajoute le routage linguistique, les retours en arrière et le support du texte de droite à gauche, puis effectue la traduction.
  • Modifier écrit la nouvelle configuration et corrige les traductions affectées par ce changement.

La tâche aboutit à un seul pull request. Une fois fusionné dans la branche par défaut, chaque langue apparaît dans Localisation, et World readiness analyse le code pour détecter les éléments encore supposant une seule langue.

Formats

Coroid lit les catalogues dans ces formats :

FormatUtilisé pour
ICU JSONFichiers de messages avec des formes pluriels et sélectives ICU
i18next JSONCatalogues i18next et react-i18next, y compris les suffixes pluriels
Vue i18n JSONMessages vue-i18n, y compris les messages liés et les pluriels via pipe
Rails YAMLconfig/locales/*.yml, avec %{name} interpolation et clés pluriels
gettext PO.po fichiers et un .pot modèle, avec Plural-Forms par langue
Markdown et MDXPages de documentation sous un dossier de langue (docs/en/…): texte, descriptions d'images et champs de métadonnées choisis ; le code et la balise restent tels quels.
PersonnaliséTout autre format, via une petite commande adaptateur dans votre dépôt.

Le fichier de configuration

L'assistant écrit .coroid/i18n.json. Il décrit votre dépôt, donc il réside dans celui-ci et évolue via des demandes de fusion :

{
  "version": 1,
  "cli": { "version": "1.16.0", "sha256": "…" },
  "sourceLocale": "en",
  "targetLocales": ["de", "fr", "ja", "ar"],
  "derivedLocales": [
    { "locale": "en-GB", "from": "en", "rules": "en-gb-spelling" }
  ],
  "catalogs": [
    {
      "id": "ui",
      "format": "i18next-json",
      "source": "messages/{locale}.json"
    }
  ],
  "protectedTerms": ["Storefront"],
  "localeInstructions": {
    "de": "Address the reader informally (du)."
  },
  "world": {
    "formatter": "useFormatter from next-intl",
    "currencies": { "de": "EUR", "fr": "EUR", "ja": "JPY", "ar": "SAR" }
  }
}
  • cli verrouille 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 pas votre résultat de façon inattendue.
  • derivedLocales liste les variantes régionales produites par les règles.
  • protectedTerms et localeInstructions conservent vos choix sous Style et termes, et world ce que vous avez choisi sous Culture. Le Contrôle de globalisation liste le reste de world.

Le fichier peut également contenir un glossaire, le contexte produit, les routes de traduction par langue et la liaison des suggestions pour les contributeurs.

Paramètres → Fichier de configuration dans l'interface de travail affiche le fichier exact de la branche par défaut. Pour le modifier là-bas, éditez la proposition et sélectionnez Proposer une modification: Coroid ouvre une tâche qui applique exactement ce fichier et corrige les traductions affectées par le changement. Pour les langues et le style, l'assistant constitue la méthode la plus simple.