ManuceTraduire un fichierTraduire une application Laravel en allemand

Traduire une application Laravel en allemand

Déposez le fichier <code>lang/fr.json</code> (ou <code>en.json</code>) de votre application Laravel\u00a0: Manuce vous rend le même fichier, prêt à enregistrer sous <code>lang/de.json</code>, avec des valeurs en allemand et des paramètres comme <code>:name</code> vérifiés un à un. Les fichiers en tableaux PHP doivent d'abord être convertis en JSON.

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

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 l'allemand change dans les chaînes d'une application Laravel

L'allemand ne pose pas de problème d'écriture ni de sens de lecture, mais il bouscule la mise en page de vos vues Blade. Le texte est souvent 20 à 35\u00a0% plus long que l'anglais, et les mots composés allongent surtout les libellés courts\u00a0: "Gestion des utilisateurs" devient "Benutzerverwaltung", un seul mot qu'aucun navigateur ne coupera sans aide. Un bouton, un onglet ou une colonne de tableau dimensionnés pour le français peuvent déborder.

  • Majuscules\u00a0: tous les noms prennent une majuscule ("Ihre Bestellung", "Neues Passwort"). Une chaîne passée dans Str::lower() ou affichée en text-transform: lowercase devient fautive en allemand.
  • Registre\u00a0: en contexte professionnel, on vouvoie avec Sie ("Bitte melden Sie sich an."). Le tutoiement du se rencontre dans des applications grand public\u00a0; il faut choisir avant la traduction et s'y tenir dans tout le fichier.
  • Ponctuation\u00a0: pas d'espace avant ?, ! ou :. "Mot de passe oublié\u00a0?" donne "Passwort vergessen?". Les guillemets allemands s'écrivent „…“.
  • Pluriels\u00a0: l'allemand n'a que deux catégories CLDR, one et other, ce qui correspond bien à la forme courte de Laravel "Datei|Dateien".

Paramètres, pluriels et validation\u00a0: les pièges propres à Laravel

Dans un fichier JSON Laravel, la clé est en général la phrase source elle-même et la valeur sa traduction. Trois points demandent de l'attention pour l'allemand.

  1. Les paramètres et leur casse. Laravel distingue :name, :Name (première lettre en majuscule) et :NAME. En allemand, l'ordre des mots change souvent\u00a0: "Bienvenue, :name" devient "Willkommen, :name", mais ":count fichiers supprimés" peut devenir ":count Dateien gelöscht", avec le paramètre déplacé. Manuce compare chaque valeur à la source pour vérifier que les mêmes paramètres sont présents.
  2. Les chaînes de trans_choice. Une valeur comme "{0} Aucun fichier|{1} Un fichier|[2,*] :count fichiers" doit garder ses segments et ses intervalles\u00a0: "{0} Keine Dateien|{1} Eine Datei|[2,*] :count Dateien". Relisez ces lignes après livraison\u00a0: un segment perdu ne déclenche pas d'erreur, il affiche simplement le mauvais texte.
  3. Le genre des attributs de validation. Les messages du type "Le champ :attribute est obligatoire." reçoivent un nom inséré à l'exécution. En allemand, l'article dépend du genre (der, die, das)\u00a0; la tournure "Das Feld :attribute ist erforderlich." contourne le problème parce que l'article porte sur Feld, pas sur l'attribut.

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

Vous recevez le même fichier, dans le même format\u00a0: indentation, ordre des clés, guillemets, commentaires, fins de ligne, encodage et BOM sont conservés\u00a0; seules les valeurs changent. Vous l'enregistrez sous lang/de.json et il est prêt à remettre dans le projet.

  • Les clés ne sont jamais traduites, ce qui est indispensable puisque __('Se connecter') cherche exactement cette clé.
  • Ne sont pas traduits non plus\u00a0: valeurs vides, URL, adresses email, nombres, couleurs, formats de date, identifiants et tout ce que vous marquez non traduisible.
  • Chaque valeur est comparée à la source (paramètres, balises HTML éventuelles). En cas d'écart persistant, la valeur source est gardée et le rapport l'indique, à côté de la liste des chaînes traduites et de celles laissées telles quelles, avec la raison.
  • Le prix porte sur les mots des valeurs uniquement, clés et balises exclues.

Limites à connaître\u00a0: les fichiers en tableaux PHP (lang/fr/auth.php, validation.php, etc.) ne sont pas pris en charge et doivent être convertis en JSON avant dépôt. Manuce ne touche pas à votre code\u00a0: le format des dates (d.m.Y en allemand), des nombres (1.234,56) et la locale de Carbon restent à régler côté application. Enfin, Manuce ne produit pas de traduction assermentée, ce qui concerne par exemple des conditions générales devant être certifiées.

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

Avant dépôt\u00a0:

  • Partez du fichier de langue le plus complet (fr.json ou en.json) et vérifiez que toutes les chaînes appelées par __() ou @lang y figurent\u00a0; une chaîne absente restera en langue source dans l'interface allemande.
  • Convertissez en JSON les fichiers PHP que vous voulez faire traduire. Pour les messages de validation standard, des paquets communautaires fournissent déjà une version allemande\u00a0: ne payez que vos propres chaînes.
  • Signalez le registre voulu (Sie ou du) et marquez comme non traduisibles les noms de produit ou de module.

Après livraison\u00a0:

  • Lisez le rapport et traitez les valeurs gardées en langue source.
  • Passez la locale à de et parcourez les écrans aux libellés courts\u00a0: menus, boutons, en-têtes de tableau.
  • Vérifiez que votre layout émet bien <html lang="de">\u00a0: c'est ce qui permet à hyphens: auto de couper correctement "Benutzerverwaltung".
  • Testez une chaîne de pluriel avec 0, 1 et 2 éléments.

En pratique

  1. Rassemblez les chaînes de l'application dans un seul fichier JSON source, en convertissant au besoin les fichiers PHP.
  2. Déposez le fichier, indiquez l'allemand et le registre Sie ou du, puis consultez le devis et l'extrait gratuit.
  3. Récupérez le fichier traduit et enregistrez-le sous lang/de.json.
  4. Lisez le rapport, puis testez l'interface en locale de, en particulier les libellés courts et les pluriels.

Questions fréquentes

Mes traductions sont dans lang/fr/*.php. Pouvez-vous les traduire\u00a0?

Pas directement\u00a0: les tableaux PHP ne sont pas pris en charge. Il faut les convertir en JSON avant dépôt. Après traduction, vous pouvez les reconvertir en PHP si votre projet l'exige.

Les clés du fichier JSON seront-elles traduites\u00a0?

Non. Les clés restent identiques, puisque Laravel s'en sert pour retrouver la chaîne appelée par __(). Seules les valeurs passent en allemand.

Que se passe-t-il si un paramètre comme :count disparaît d'une traduction\u00a0?

Chaque valeur traduite est comparée à la source. Si l'écart persiste, la valeur source est conservée et le rapport le signale, pour que vous puissiez la reprendre vous-même.

Faut-il vouvoyer ou tutoyer les utilisateurs allemands\u00a0?

En contexte professionnel, le vouvoiement Sie est la norme. Certaines applications grand public tutoient. L'essentiel est de choisir avant la traduction et de garder le même registre dans tout le fichier.

Les dates et les montants seront-ils au format allemand\u00a0?

Les formats de date et les nombres ne sont pas modifiés dans le fichier. L'affichage 31.12.2025 ou 1.234,56 se règle dans votre code, via la locale de l'application et de Carbon.

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