ManuceTraduire un fichierTraduire une application Laravel en espagnol

Traduire une application Laravel en espagnol

Déposez le fichier JSON de langue de votre application Laravel et récupérez le même fichier avec les valeurs en espagnol, prêt à enregistrer sous lang/es.json. Les clés ne bougent pas, les paramètres comme :name sont contrôlés et un rapport indique ce qui a été traduit ou laissé tel quel.

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’espagnol :

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 que Laravel attend : un fichier lang/es.json

Dans Laravel, les traductions au format JSON tiennent dans un seul fichier par langue, dans le dossier lang (resources/lang sur les versions plus anciennes). La clé est la phrase source elle-même, la valeur est sa traduction : "Forgot your password?": "¿Olvidaste tu contraseña?". Dans une vue Blade, {{ __('Forgot your password?') }} affiche alors la valeur espagnole quand la locale active est es.

Conséquence directe : la clé ne doit pas changer d'un caractère, sinon Laravel ne trouve plus la correspondance et affiche la phrase source. Manuce ne touche jamais aux clés ; seules les valeurs sont traduites. Pour viser plusieurs pays, rien n'empêche d'avoir lang/es.json et lang/es_MX.json : ce sont deux fichiers distincts, à faire traduire séparément.

Les paramètres s'écrivent avec deux-points : :name, :count, :attribute. Laravel distingue aussi :Name (initiale en majuscule) et :NAME (tout en majuscules) ; la forme doit rester identique dans la valeur espagnole, même si le mot change de place : "Hello :name, you have :count new messages" devient "Hola, :name. Tienes :count mensajes nuevos".

Espagnol : les pièges propres à une interface

  • Ponctuation inversée. Une question ou une exclamation s'ouvre par ¿ ou ¡ : "Are you sure?" donne "¿Estás seguro?". Si une phrase est découpée en plusieurs clés (« Are you » + variable + « sure? »), le signe d'ouverture tombe dans une autre valeur que le signe de fermeture : préférez une phrase entière avec paramètre.
  • Majuscules. L'espagnol ne met une majuscule qu'au premier mot d'un titre ou d'un bouton : "Reset Password" devient "Restablecer contraseña". Jours et mois s'écrivent en minuscules.
  • Tú ou usted, Espagne ou Amérique latine. Les applications grand public tutoient volontiers (Inicia sesión), les outils métier vouvoient (Inicie sesión). Le vocabulaire varie : ordenador ou computadora, móvil ou celular, vosotros en Espagne et ustedes ailleurs. Décidez de votre cible avant de relire.
  • Genre. "Welcome back, :name!" donne "¡Bienvenido de nuevo, :name!", au masculin. Pour un public mixte, une tournure neutre comme "¡Hola de nuevo, :name!" évite l'accord.
  • Pluriels. Le CLDR compte trois catégories pour l'espagnol (one, many, other) ; many ne concerne que les grands nombres ronds écrits en toutes lettres (un millón de usuarios). Le sélecteur de pluriel de Laravel n'utilise que deux formes pour l'espagnol : "{0} No hay mensajes|{1} Un mensaje|[2,*] :count mensajes" suffit. Le nombre de segments séparés par | doit rester celui de la source.
  • Longueur. L'espagnol est plus long que l'anglais, proche du français : « Settings » devient Configuración, « Sign out » devient Cerrar sesión. Prévoyez la place dans les menus, badges et boutons.

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

Vous déposez votre fichier source (par exemple lang/en.json ou lang/fr.json) et vous récupérez le même fichier, dans le même format, avec les valeurs en espagnol : indentation, ordre des clés, guillemets, fins de ligne, encodage et BOM sont conservés. Il reste à l'enregistrer sous lang/es.json.

  • Chaque valeur traduite est comparée à la source : les paramètres :name, :count et les balises comme <strong> doivent s'y retrouver. En cas d'écart persistant, la valeur source est gardée et le rapport le signale.
  • Restent tels quels : clés, valeurs vides, URL, adresses email, nombres, couleurs, formats de date, identifiants et tout ce qui est marqué non traduisible.
  • Le rapport liste les chaînes traduites et celles laissées en l'état, avec la raison.
  • Le prix porte sur les mots des valeurs, clés et balises exclues. Dans un JSON Laravel, où chaque clé répète la phrase source, la différence est nette : les clés ne sont pas comptées.

Manuce ne prend pas en charge les fichiers de traduction en tableaux PHP (lang/en/validation.php, lang/en/auth.php…) : il faut d'abord les convertir en JSON. Il ne lit pas vos vues Blade : une phrase écrite en dur, sans __() ni @lang, n'est pas dans le fichier et ne sera pas traduite. Enfin, Manuce ne produit pas de traduction assermentée, à garder en tête si des conditions générales stockées dans ces fichiers doivent avoir une valeur juridique dans un pays hispanophone.

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

  1. Rassemblez les chaînes dans le JSON. Vérifiez que les textes visibles passent par __(). Pour les tableaux PHP, un court script qui aplatit validation.php en paires JSON puis les reconvertit après traduction fait l'affaire ; des paquets communautaires proposent par ailleurs des messages de validation déjà en espagnol.
  2. Choisissez la variante. es seul pour un public large, ou un fichier par pays (es_ES, es_MX, es_AR) si le vocabulaire et le registre doivent différer.
  3. Demandez l'extrait gratuit. Un paragraphe traduit au niveau choisi permet de juger le registre (tú ou usted) avant de payer. Pour une interface destinée à des clients, le niveau Professionnel correspond à un texte prêt à transmettre.
  4. Contrôlez l'affichage. Passez la locale de l'application à es, puis parcourez les écrans : boutons trop étroits, ¿ manquant dans une phrase découpée, accords au féminin, et formats de date restés en m/d/Y si votre source est américaine, à remplacer à la main par d/m/Y puisqu'ils ne sont pas traduits.
  5. Lisez le rapport. Une valeur laissée en langue source à cause d'un paramètre perdu se repère vite : ouvrez l'écran concerné et corrigez la chaîne.

En pratique

  1. Placez vos chaînes dans un fichier JSON Laravel (lang/en.json ou lang/fr.json), en convertissant les tableaux PHP si besoin.
  2. Déposez le fichier sur Manuce, choisissez l'espagnol et le niveau : le devis s'affiche aussitôt.
  3. Vérifiez l'extrait gratuit (registre, vocabulaire), puis réglez la commande.
  4. Enregistrez le fichier rendu sous lang/es.json et lisez le rapport.
  5. Activez la locale es et parcourez les écrans de l'application.

Questions fréquentes

Mes traductions sont dans lang/en/*.php : Manuce peut-il les traiter ?

Non, les fichiers en tableaux PHP ne sont pas pris en charge. Convertissez-les d'abord en JSON, par exemple avec un petit script qui aplatit les clés imbriquées, puis reconvertissez le fichier traduit. Le fichier lang/en.json, lui, est accepté tel quel.

Les paramètres :name et :count resteront-ils intacts ?

Chaque valeur traduite est comparée à la source pour vérifier que les paramètres et balises sont bien présents. Si l'écart persiste, la valeur source est conservée et le rapport l'indique, pour que vous la corrigiez vous-même.

Espagnol d'Espagne ou d'Amérique latine : comment choisir ?

Tout dépend de votre public : vocabulaire (ordenador ou computadora) et deuxième personne du pluriel (vosotros ou ustedes) diffèrent. Laravel accepte un fichier par variante, comme lang/es_ES.json et lang/es_MX.json. L'extrait gratuit vous aide à juger le résultat avant de payer.

Les clés du fichier JSON sont-elles facturées ?

Non. Le prix porte sur les mots des valeurs, clés et balises exclues. Dans un JSON Laravel où chaque clé est une phrase complète, cela divise à peu près par deux le texte apparent du fichier.

Faut-il prévoir trois formes de pluriel pour l'espagnol ?

Le CLDR en compte trois, mais la catégorie many ne vise que les grands nombres écrits en toutes lettres. Le sélecteur de pluriel de Laravel n'utilise que deux formes pour l'espagnol. Vérifiez simplement que le nombre de segments séparés par | est le même que dans la source.

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