ManuceTraduire un fichierTraduire une application Flutter en allemand

Traduire une application Flutter en allemand

Pour traduire une application Flutter en allemand, il suffit de confier vos fichiers .arb : Manuce traduit les valeurs, passe @@locale à de, contrôle chaque placeholder et chaque message ICU, et vous rend le même fichier prêt à remettre dans le projet. L'essentiel du travail côté développeur consiste ensuite à vérifier que l'interface supporte des libellés allemands nettement plus longs.

Déposer mon fichier Voir les tarifs

Combien ça coûte

Pour les fichiers de langue d'une application Flutter totalisant environ 2 000 mots, vers l’allemand :

Essentiel
12 €

Comprendre, usage interne.

Professionnel
36 €

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

Premium
70 €

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 une interface Flutter

L'allemand est souvent 20 à 35 % plus long que l'anglais, et un libellé court peut doubler en largeur. Dans Flutter, cela se voit vite : un Row qui tenait en français affiche la bande jaune et noire et l'erreur RenderFlex overflowed en allemand.

  • Mots composés : « Paramètres de notification » devient Benachrichtigungseinstellungen, un seul mot sans espace. Il ne se coupe pas de lui-même à la bonne syllabe ; prévoyez Flexible, maxLines et TextOverflow.ellipsis là où la place manque.
  • Majuscule aux noms : tous les noms prennent une majuscule (Konto, Passwort, Warenkorb). Un libellé allemand tout en minuscules paraît fautif.
  • Sie ou du : le vouvoiement Sie (« Geben Sie Ihr Passwort ein ») est la norme en contexte professionnel ; beaucoup d'applications grand public tutoient (« Gib dein Passwort ein »). Choisissez avant la traduction et tenez-vous-y sur toute l'application.
  • Boutons : l'allemand emploie volontiers l'infinitif (Speichern, Abbrechen, Weiter), plus court qu'une phrase complète.

Pluriels, placeholders et formats : les pièges propres à l'allemand

L'allemand ne connaît que deux catégories de pluriel CLDR : one et other. La différence avec le français porte sur le zéro : on dit « 0 message » mais 0 Nachrichten. Un message ICU bien écrit ressemble à ceci :

{count, plural, =0{Keine Nachrichten} =1{1 Nachricht} other{{count} Nachrichten}}

Les messages select demandent aussi de l'attention : l'allemand accorde articles et adjectifs selon le genre et le cas, et une phrase construite par concaténation de morceaux (« Bonjour » + nom + « ! ») se traduit mal. Préférez une chaîne complète avec placeholder : "welcome": "Willkommen, {name}".

Pour les dates et les nombres, ne les écrivez pas en dur dans les valeurs. L'allemand utilise 31.12.2025 et la virgule décimale (1.234,56) ; un placeholder typé DateTime ou double, avec son format déclaré dans les métadonnées @, laisse le paquet intl produire la bonne forme pour la locale de.

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

Vous récupérez le même fichier, dans le même format : indentation, ordre des clés, guillemets, commentaires, fins de ligne, encodage et BOM sont conservés ; seules les valeurs changent, et @@locale passe à de.

  • Les clés @ ne sont pas traduites ; leurs champs description servent de contexte. Écrire « bouton, 12 caractères max. » dans une description aide à obtenir Weiter plutôt qu'une formule longue.
  • Les placeholders {name} et les messages ICU plural et select sont vérifiés, et les catégories de pluriel de l'allemand sont ajoutées.
  • Chaque valeur traduite est comparée à la source (variables, balises) ; si un écart persiste, 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.

Manuce ne modifie pas votre code Dart, ne teste pas la mise en page et ne voit pas les chaînes écrites en dur hors des fichiers .arb. Il ne produit pas non plus de traduction assermentée, si vos conditions d'utilisation devaient en exiger une. Le prix porte uniquement sur les mots des valeurs, clés et balises exclues, et l'allemand est au tarif de base.

Préparer les fichiers .arb avant l'envoi

  • Envoyez le fichier de référence (par exemple app_fr.arb ou app_en.arb) à jour : toutes les chaînes visibles doivent y figurer, celles laissées dans des widgets Text('…') ne seront pas traduites.
  • Complétez les description des chaînes ambiguës : « Archiver » peut être un verbe de bouton (Archivieren) ou un nom d'onglet (Archiv).
  • Indiquez si l'application vouvoie ou tutoie, et le nom de marque à ne pas traduire.
  • Remplacez les concaténations par des chaînes à placeholders, et les nombres de la forme « 1 élément(s) » par un message plural.

Vérifier l'application en allemand après intégration

  1. Placez le fichier rendu dans votre dossier de localisation, ajoutez Locale('de') aux supportedLocales si besoin et lancez flutter gen-l10n.
  2. Lisez le rapport : une chaîne restée en langue source signale souvent un placeholder mal formé dans l'original.
  3. Passez l'appareil en allemand et parcourez les écrans étroits : barres d'onglets, boutons, AppBar, boîtes de dialogue. Testez aussi avec une taille de police système agrandie, qui aggrave les débordements.
  4. Pour iOS, vérifiez que l'allemand est déclaré dans CFBundleLocalizations du fichier Info.plist, sans quoi la langue peut ne pas être proposée.
  5. Contrôlez les pluriels avec 0, 1 et 2 éléments, et les dates affichées.

En pratique

  1. Exportez le fichier .arb de référence à jour, avec des descriptions sur les chaînes ambiguës.
  2. Déposez-le sur Manuce, choisissez l'allemand et le niveau, consultez l'extrait gratuit.
  3. Récupérez le fichier traduit et le rapport des chaînes laissées telles quelles.
  4. Intégrez le fichier, lancez flutter gen-l10n et testez les écrans étroits en allemand.

Questions fréquentes

Faut-il envoyer tous les fichiers .arb ou seulement celui de la langue source ?

Le fichier de la langue source suffit : c'est lui qui contient les valeurs à traduire et les métadonnées qui servent de contexte. Vous récupérez le même fichier avec les valeurs en allemand et @@locale à de.

Les clés @ et les descriptions sont-elles traduites ?

Non. Les clés @ sont des métadonnées : elles sont ignorées pour la traduction, mais leurs descriptions sont lues comme contexte. Elles restent identiques dans le fichier rendu.

Que se passe-t-il si un placeholder risque d'être cassé ?

Chaque valeur traduite est comparée à la source, variables et balises comprises. Si un écart persiste, la valeur source est conservée et le rapport l'indique, pour que vous puissiez la reprendre sans que la génération du code échoue.

Comment éviter que les textes allemands débordent ?

Manuce ne touche pas à la mise en page : il faut adapter les widgets côté code, avec Flexible, maxLines ou une ellipse. Indiquer une longueur maximale dans la description d'une chaîne aide toutefois à obtenir un libellé plus court.

Combien de mots seront facturés pour mon application ?

Seuls les mots des valeurs sont comptés ; clés, balises, URL et identifiants sont exclus. Le devis s'affiche dès le dépôt du fichier, et l'allemand est au tarif de base.

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