ManuceTraduire un fichierTraduire une application Ruby on Rails en anglais

Traduire une application Ruby on Rails en anglais

Déposez vos fichiers <code>config/locales/*.yml</code> : Manuce traduit les valeurs en anglais, remplace la clé racine <code>fr:</code> par <code>en:</code>, vérifie les interpolations comme <code>%{count}</code> et adapte les formes <code>one</code>/<code>other</code>. Vous récupérez le même fichier YAML, prêt à reprendre sa place dans le projet, avec un rapport des chaînes laissées telles quelles.

Déposer mon fichier Voir les tarifs

Combien ça coûte

Pour les fichiers de langue d'une application Ruby on Rails totalisant environ 3 000 mots, vers l’anglais :

Essentiel
18 €

Comprendre, usage interne.

Professionnel
54 €

Prêt à transmettre, par le spécialiste technique.

Premium
105 €

Relecture croisée. Pour ce qui engage.

Prix pour une langue, mise en page d'origine comprise. TVA non applicable, article 293 B du CGI. Le devis exact, calculé sur le nombre de mots de votre fichier, s'affiche avant paiement.

Ce qui change quand un fichier de langue Rails passe en anglais

Un fichier de langue Rails commence par la clé racine de la langue. Le fichier livré commence par en: au lieu de fr: ; tout ce qui est en dessous garde la même arborescence, si bien que vos appels t('.title') ou t('users.index.title') continuent de trouver leur clé.

Les points qui demandent de l’attention en anglais :

  • Le pluriel. En français, la forme one couvre 0 et 1 : « 0 commentaire ». En anglais, one ne vaut que pour 1 ; avec count: 0, Rails choisit other : « 0 comments ». La valeur other: "%{count} commentaires" devient other: "%{count} comments", et la forme one est écrite pour le seul cas singulier. Si vous avez ajouté une clé zero: (« Aucun commentaire »), elle reste et est traduite (« No comments yet »).
  • Les messages de validation. Rails assemble %{attribute} %{message}. « Email doit être rempli(e) » devient « Email can’t be blank » : les marques d’accord du type « (e) » disparaissent, l’anglais n’accordant pas le participe.
  • La typographie. L’espace avant les deux-points disparaît : "Total :" devient "Total:", et les guillemets « » sont remplacés par des guillemets anglais.
  • La longueur. Le texte anglais est en général 10 à 15 % plus court que le français : les boutons et les libellés de formulaire tiennent sans retouche de mise en page.

Anglais britannique ou américain : à trancher avant de déposer

La clé produite est en:, mais l’orthographe et le vocabulaire doivent suivre une seule variante dans toute l’application. Quelques écarts typiques d’une interface Rails :

  • colour / color, organisation / organization, cancelled / canceled ;
  • basket / cart pour un panier, postcode / ZIP code pour un champ d’adresse ;
  • Sign in et Log in, à ne pas mélanger d’une vue à l’autre.

Les formats de date ne sont pas traduits : date.formats.default: "%d/%m/%Y" reste tel quel. Ce format convient au Royaume-Uni ; pour un public américain, remplacez-le vous-même par "%m/%d/%Y", et time.formats.short: "%H:%M" par une heure sur douze heures avec %p si vous le souhaitez. Même vigilance pour number.format : en français le séparateur décimal est la virgule et celui des milliers une espace, en anglais c’est l’inverse, point décimal et virgule pour les milliers (1,250.50).

Si votre application distingue en-GB et en-US, renommez la clé racine et le fichier en conséquence après livraison.

Ce que Manuce rend exactement, et ce qu’il ne fait pas

Le fichier rendu est le même que celui que vous avez déposé : indentation, ordre des clés, guillemets, commentaires, fins de ligne, encodage et BOM sont conservés. Seules les valeurs changent, ce qui garde un diff Git lisible ligne à ligne.

  • Chaque valeur traduite est comparée à la source : variables et balises. welcome_html: "Bonjour %{name}" doit redonner "Hello %{name}", avec le même %{name} et la même balise. En cas d’écart persistant, la valeur source est gardée et le rapport le signale.
  • Ne sont pas traduits : les clés, les valeurs vides, les URL, les adresses email, les nombres, les couleurs, les formats de date, les identifiants et tout ce qui est marqué non traduisible.
  • Le rapport liste les chaînes traduites et celles laissées telles quelles, avec la raison.

Ce que Manuce ne fait pas : il ne voit que les fichiers de langue. Une chaîne écrite en dur dans une vue ERB ou un contrôleur, par exemple notice: "Profil enregistré", n’est pas dans le YAML et reste en français. Manuce ne modifie pas non plus config/application.rb ni vos initialiseurs. Le prix porte sur les mots des valeurs, clés et balises exclues ; pour une interface publique, le niveau Professionnel, confié au spécialiste du domaine, est le plus adapté.

Préparer vos fichiers et vérifier après livraison

Avant le dépôt :

  • Sortez les chaînes encore écrites en dur dans les vues, les mailers et les messages flash ; un outil comme la gemme i18n-tasks aide à repérer les clés manquantes ou inutilisées.
  • Rassemblez tous les fichiers concernés : fr.yml, mais aussi devise.fr.yml ou les fichiers rangés par modèle (activerecord.models.user, activerecord.attributes.user.email).
  • Vérifiez que le YAML se charge sans erreur : un fichier mal indenté côté source le restera.

Après la livraison :

  1. Enregistrez le fichier sous config/locales/en.yml et ajoutez :en à config.i18n.available_locales.
  2. Passez I18n.locale = :en et affichez un compteur avec 0, 1 et 2 éléments pour contrôler one et other.
  3. Relisez les concaténations faites dans le code : t('label') + " :" réintroduit l’espace française.
  4. Ajustez les formats de date et de nombre selon la variante choisie, puis lisez le rapport pour traiter les chaînes restées en français.

En pratique

  1. Rassemblez les fichiers fr.yml de config/locales, y compris ceux des gemmes comme Devise.
  2. Déposez-les : le devis s’affiche aussitôt sur les mots des valeurs, et un extrait gratuit vous montre le résultat.
  3. Choisissez le niveau et payez ; un fichier courant est traduit en quelques minutes.
  4. Placez en.yml dans config/locales, ajoutez :en aux locales disponibles et ajustez dates et nombres.
  5. Lisez le rapport et testez les pluriels avec count à 0, 1 et 2.

Questions fréquentes

Le fichier livré remplace-t-il mon fr.yml ?

Non. C’est une copie de même structure dont la clé racine est en: ; enregistrez-la sous en.yml à côté de fr.yml. Rails charge par défaut les fichiers placés directement dans config/locales ; pour des sous-dossiers, il faut les ajouter au chemin de chargement.

Les %{count}, %{name} et les clés _html sont-ils préservés ?

Oui. Chaque valeur traduite est comparée à la source sur les variables et les balises. Si un écart persiste, la valeur source est conservée et le rapport l’indique, pour que rien ne casse à l’affichage.

Obtiendrai-je de l’anglais britannique ou américain ?

Indiquez la variante voulue et gardez-la partout : orthographe, vocabulaire comme basket ou cart. Les formats de date et de nombre ne sont pas modifiés ; c’est à vous de passer de %d/%m/%Y à %m/%d/%Y pour un public américain.

Les messages de validation ActiveRecord et Devise sont-ils traduits ?

Oui, s’ils figurent dans les fichiers YAML que vous déposez, comme activerecord.errors.messages ou devise.fr.yml. Les messages écrits en dur dans les modèles ou les contrôleurs ne sont pas vus.

Comment le prix est-il calculé ?

Sur le nombre exact de mots des valeurs, clés et balises exclues ; l’anglais est au tarif de base (coefficient ×1). Le devis s’affiche dès le dépôt du fichier, avant tout paiement.

Le spécialiste qui s’en charge

Ce sujet est confié à Dédale, le spécialiste technique. Voir comment il travaille.

Testez sur votre fichier, gratuitement

Un extrait de votre fichier traduit au niveau choisi, avant tout paiement. Vous jugez, puis vous décidez.

Déposer mon fichier