Traduire une application Java (Spring) en allemand
Déposez le fichier messages.properties de votre application Spring : Manuce vous rend le même fichier, avec les valeurs en allemand, prêt à être enregistré sous messages_de.properties. Clés, variables {0}, échappements et encodage restent intacts, et un rapport indique ce qui a été traduit ou laissé tel quel.
Combien ça coûte
Pour les fichiers de langue d'une application Java (Spring) totalisant environ 2 000 mots, vers l’allemand :
Comprendre, usage interne.
Prêt à transmettre, par le spécialiste technique.
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 vos messages Spring
L'allemand est souvent 20 à 35 % plus long que l'anglais, et les mots composés allongent encore les libellés courts. Un bouton «\u00a0Paramètres\u00a0» devient Einstellungen, «\u00a0Historique des commandes\u00a0» devient Bestellverlauf ou Bestellhistorie : un seul mot, impossible à couper proprement dans une cellule étroite d'un gabarit Thymeleaf ou d'une barre de navigation.
- Majuscule à tous les noms :
password.forgot=Passwort vergessen?. Une majuscule manquante se voit immédiatement pour un lecteur germanophone. - Vouvoiement : en contexte professionnel, on écrit
Geben Sie Ihre E-Mail-Adresse ein, avec Sie et Ihre en majuscule. Le tutoiement (du) se choisit pour une application grand public, mais il doit être tenu dans tout le fichier. - Ponctuation : pas d'espace avant «\u00a0?\u00a0» ni «\u00a0:\u00a0», et des guillemets „ainsi“ en Allemagne et en Autriche.
- Variante régionale : la Suisse n'emploie pas le ß (
Strasseau lieu deStraße) et utilise des guillemets « ». Si vous visez ce marché, prévoyez unmessages_de_CH.propertiesdistinct.
Pluriels, apostrophes et umlauts : les pièges propres aux .properties
Le pluriel du zéro. L'allemand n'a que deux catégories (one, other), comme le français, mais pas au même endroit : en français, «\u00a00 fichier\u00a0» est au singulier ; en allemand, on écrit 0 Dateien. Si vos messages utilisent un ChoiceFormat, relisez chaque branche, par exemple files.count={0,choice,0#Keine Dateien|1#Eine Datei|1<{0} Dateien}.
L'apostrophe de MessageFormat. Dans un message qui contient {0}, une apostrophe simple doit être doublée, sinon le texte qui suit disparaît. L'allemand en emploie peu, mais on la croise dans Geht''s weiter, {0}? ou Max'' Profil. Manuce gère ces apostrophes.
Les umlauts et l'encodage. Avant Java 9, les .properties étaient lus en ISO-8859-1 et beaucoup de projets contiennent encore des échappements comme zur\\u00fcck pour «\u00a0zurück\u00a0». Ces échappements sont conservés s'ils sont utilisés. Attention : ä, ö, ü et ß existent en ISO-8859-1, mais pas les guillemets „ “. Vérifiez aussi que votre MessageSource lit le fichier dans son véritable encodage, sinon «\u00a0Bestätigen\u00a0» s'affichera Bestätigen.
Ce que Manuce rend exactement, et ce qu'il ne fait pas
Vous recevez le même fichier, dans le même format : indentation, ordre des clés, guillemets, commentaires, fins de ligne, encodage et BOM conservés. Seules les valeurs changent. Les lignes de continuation (une valeur longue terminée par \\ puis reprise à la ligne suivante) sont respectées.
- Chaque valeur allemande est comparée à la source : si
{0}ou une balise comme<b>manque, et que l'écart persiste, la valeur source est gardée et le rapport le signale. - Ne sont pas traduits : les clés (
checkout.button.payreste tel quel), les valeurs vides, URL, adresses email, nombres, couleurs, formats de date commedd.MM.yyyy, identifiants et tout ce que vous marquez non traduisible. - Le rapport liste les chaînes traduites et celles laissées telles quelles, avec la raison.
Manuce ne touche ni à votre code Java ni à vos gabarits : un texte écrit en dur dans un contrôleur reste en français, et un bouton trop étroit pour Bestellung abschließen se corrige dans votre CSS. Le format des nombres (1.234,56) relève de la Locale Java, pas de la traduction. Le prix porte sur les mots des valeurs, clés et balises exclues.
Préparer le fichier et vérifier le rendu allemand
- Partez du fichier de référence complet : celui de la langue source, avec toutes les clés à jour, pas un ancien
messages_de.propertiesà moitié rempli. - Indiquez le registre : Sie pour un outil métier, du seulement si votre marque tutoie déjà en français.
- Marquez ce qui ne se traduit pas : noms de produit, codes d'erreur affichés, libellés techniques que l'équipe allemande connaît en anglais.
- Contrôlez l'encodage : réglez la lecture des messages sur l'encodage réel du fichier (UTF-8 est le plus simple si vous voulez des „guillemets“).
- Testez avec la locale
de: formulaires d'inscription, messages de validation, courriels générés. Repérez les libellés qui débordent, les majuscules et le ß dans les titres en capitales (STRASSEouSTRAẞEselon votre choix).
L'extrait gratuit, un paragraphe traduit au niveau choisi, permet de juger le ton et le vouvoiement avant de payer.
En pratique
- Déposez votre messages.properties de référence pour obtenir le devis immédiat sur le nombre exact de mots.
- Lisez l'extrait gratuit pour valider le registre (Sie ou du) et la terminologie.
- Récupérez le fichier traduit et le rapport des chaînes laissées telles quelles.
- Enregistrez-le sous messages_de.properties dans le dossier de vos ressources.
- Testez l'application avec la locale de et ajustez les libellés qui débordent.
Questions fréquentes
Les clés et les variables {0} risquent-elles d'être modifiées ?
Non. Les clés ne sont pas traduites et chaque valeur est comparée à la source pour les variables et les balises. Si une variable manque et que l'écart persiste, la valeur source est conservée et le rapport l'indique.
Mon fichier utilise des échappements \\u00fc : seront-ils cassés ?
Les échappements \\uXXXX sont conservés s'ils sont utilisés, tout comme l'encodage et le BOM du fichier. Vérifiez ensuite que votre MessageSource lit bien le fichier dans cet encodage, faute de quoi les umlauts s'afficheront mal.
Faut-il vouvoyer ou tutoyer l'utilisateur allemand ?
Pour une application professionnelle, le vouvoiement Sie est la norme, avec Sie et Ihre en majuscule. Le tutoiement se rencontre dans des applications grand public au ton détendu. L'essentiel est de choisir une forme et de la garder partout.
Un seul fichier suffit-il pour l'Allemagne, l'Autriche et la Suisse ?
Un messages_de.properties convient généralement aux trois. La Suisse n'utilise cependant pas le ß et préfère les guillemets « » : si ce marché compte, prévoyez un messages_de_CH.properties distinct.
Les textes écrits en dur dans mes contrôleurs seront-ils traduits ?
Non. Manuce traduit les valeurs du fichier .properties que vous déposez et ne modifie pas votre code. Déplacez d'abord ces textes dans vos fichiers de messages si vous voulez qu'ils passent en allemand.
Le spécialiste qui s’en charge
Ce sujet est confié à Dédale, le spécialiste technique. Voir comment il travaille.
Le même fichier, vers une autre langue
Vers l’allemand, d’autres fichiers
À lire aussi
Testez sur votre fichier, gratuitement
Un extrait de votre fichier traduit au niveau choisi, avant tout paiement. Vous jugez, puis vous décidez.