ManuceTraduire un fichierTraduire une application Laravel en anglais

Traduire une application Laravel en anglais

Déposez le fichier <code>lang/fr.json</code> de votre application Laravel : Manuce rend le même fichier avec les valeurs en anglais, clés, paramètres <code>:name</code> et mise en forme intacts, prêt à enregistrer sous <code>lang/en.json</code>. Un rapport liste les chaînes traduites et celles laissées telles quelles, avec la raison.

Déposer mon fichier Voir les tarifs

Combien ça coûte

Pour les fichiers de langue d'une application Laravel totalisant environ 2 500 mots, vers l’anglais :

Essentiel
15 €

Comprendre, usage interne.

Professionnel
45 €

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

Premium
88 €

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 une interface Laravel passe à l’anglais

L’anglais raccourcit en général le texte de 10 à 15 % par rapport au français : les boutons et colonnes de vos vues Blade débordent rarement. Les vrais points d’attention sont ailleurs.

  • Britannique ou américain. Décidez avant de commander : colour ou color, cancelled ou canceled, organisation ou organization. Le choix se reflète aussi dans le nom du fichier si vous distinguez les variantes (en_GB.json, en_US.json) ou si vous gardez un simple en.json.
  • Pluriels. L’anglais n’a que deux catégories, one et other, comme le français, mais elles ne se répartissent pas pareil : en français, zéro prend le singulier (« 0 article »), en anglais le pluriel (« 0 items »). Avec la forme courte article|articles, Laravel applique la règle de la locale active. Avec des intervalles explicites comme {0} Aucun article|{1} :count article|[2,*] :count articles, ce sont vos bornes qui décident : elles restent valables en anglais.
  • Ponctuation. L’espace avant les deux-points disparaît : Total : devient Total:. Les guillemets « » deviennent “ ” ou ‘ ’.
  • Majuscules. L’usage américain met souvent une majuscule à chaque mot des titres et boutons (Save Changes), l’usage britannique s’en tient plus volontiers à la première (Save changes). Indiquez la convention de votre interface pour rester cohérent avec les messages déjà en anglais.

Paramètres, clés et balises : là où une application casse

Dans un fichier JSON Laravel, la clé est souvent la phrase source elle-même, appelée dans le code par __('Bienvenue sur votre espace'). Cette clé n’est pas traduite : seule la valeur change, et l’appel continue de fonctionner une fois la locale passée en anglais.

Les paramètres de remplacement doivent revenir à l’identique, y compris leur casse, car Laravel distingue :name, :Name (première lettre en majuscule) et :NAME (tout en majuscules). Leur place, en revanche, peut bouger avec la syntaxe anglaise :

  • "Bonjour :name, vous avez :count messages" → "Hello :name, you have :count messages"
  • "Commande n° :id expédiée le :date" → "Order :id shipped on :date"

Les valeurs contenant du HTML, par exemple Lisez les <a href=":url">conditions</a>, gardent leurs balises et leur attribut :url. Chaque valeur traduite est comparée à la source sur ces variables et balises ; si un écart persiste, Manuce garde la valeur source plutôt que de livrer une chaîne qui casserait la page, et le rapport le signale.

Un cas propre à l’anglais : si vos clés sont déjà des phrases anglaises (__('Save changes')), Laravel affiche la clé quand la traduction manque. Le fichier en.json n’est alors utile que pour les clés en français ou abstraites, comme dashboard.empty_state.

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

Vous recevez le même fichier, dans le même format : indentation, ordre des clés, guillemets, fins de ligne, encodage et éventuel BOM sont conservés ; seules les valeurs changent. Un git diff entre fr.json et le fichier livré ne montre donc que des lignes de valeurs.

Ne sont pas traduits : les clés, les valeurs vides, les URL, les adresses email, les nombres, les couleurs, les formats de date (un d/m/Y reste d/m/Y), les identifiants et tout ce que vous avez marqué non traduisible. Le rapport livré liste les chaînes traduites et celles laissées telles quelles, avec la raison.

Le devis porte sur les mots des valeurs uniquement, clés et balises exclues : dans un fichier où chaque clé répète la phrase française, vous ne payez pas deux fois.

Limites à connaître :

  • Les fichiers en tableaux PHP (lang/fr/messages.php) ne sont pas pris en charge ; il faut les convertir en JSON.
  • Les textes écrits en dur dans les vues Blade ou les contrôleurs ne sont pas dans le fichier de langue et ne seront donc pas traduits.
  • Manuce ne produit pas de traduction assermentée : pour des conditions générales ayant une valeur juridique, faites relire le texte anglais par un juriste.

Préparer le fichier et vérifier après livraison

Avant le dépôt. Si vos chaînes sont réparties dans lang/fr/*.php, aplatissez-les dans un JSON : 'welcome' => 'Bienvenue' du fichier messages.php devient "messages.welcome": "Bienvenue". Laravel cherche d’abord la clé complète dans le fichier JSON de la locale, ce qui permet en général de garder vos appels __('messages.welcome') ; testez-le sur une page avant de généraliser. Les messages de validation, d’authentification et de pagination fournis par le framework existent déjà en anglais : inutile de les faire traduire, seules vos propres chaînes comptent.

Après la livraison.

  • Enregistrez le fichier sous lang/en.json (ou en_GB.json) et vérifiez la locale et la locale de repli dans la configuration de l’application.
  • Affichez les écrans qui utilisent trans_choice avec 0, 1 et 2 éléments pour contrôler les pluriels.
  • Les formats de date restent ceux de la source : si vous visez un public américain, passez vous-même d/m/Y en m/d/Y.
  • Lisez le rapport et reprenez à la main les chaînes gardées en français.

En pratique

  1. Rassemblez vos chaînes dans lang/fr.json, en convertissant au besoin les fichiers PHP en JSON.
  2. Déposez le fichier, précisez anglais britannique ou américain et consultez le devis et l’extrait gratuit.
  3. Choisissez le niveau, payez, puis récupérez le fichier traduit et son rapport dans votre espace client.
  4. Enregistrez-le sous lang/en.json, réglez la locale et testez pluriels, paramètres et liens.

Questions fréquentes

Mes traductions sont dans lang/fr/messages.php : puis-je les envoyer telles quelles ?

Non, les fichiers en tableaux PHP ne sont pas pris en charge. Convertissez-les en un fichier JSON en reprenant les clés sous la forme messages.welcome. Vous recevrez ce JSON traduit, au même format.

Faut-il faire traduire validation.php, auth.php et passwords.php ?

Pour l’anglais, non : Laravel fournit ces messages en anglais d’origine. Seules les chaînes propres à votre application, et les messages de validation que vous avez personnalisés, sont à traduire.

Les paramètres comme :name ou :count risquent-ils d’être modifiés ?

Chaque valeur traduite est comparée à la source sur ses variables et balises. Si un écart persiste, la valeur française est gardée et le rapport l’indique, pour que vous la repreniez à la main plutôt que de découvrir une erreur en production.

Anglais britannique ou américain : lequel choisir ?

Celui de votre public principal. Le choix touche l’orthographe (colour, color) et l’usage des majuscules dans les boutons. Les formats de date de votre fichier ne sont pas traduits : adaptez-les vous-même si vous visez les États-Unis.

Combien de temps faut-il pour un fichier de quelques milliers de mots ?

Pour un fichier de langue courant, la traduction est livrée en quelques minutes. Le devis s’affiche au dépôt, calculé sur les mots des valeurs seulement, sans les clés ni les balises.

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