ManuceTraduire un fichierTraduire une application Symfony en japonais

Traduire une application Symfony en japonais

Déposez votre fichier translations/messages.fr.xlf ou .yaml : Manuce rend le même fichier avec des valeurs en japonais, prêt à devenir messages.ja.xlf ou messages.ja.yaml. Les paramètres %name% et {name} sont contrôlés un à un, et un rapport indique chaque chaîne laissée telle quelle et pourquoi.

Déposer mon fichier Voir les tarifs

Combien ça coûte

Pour les fichiers de langue d'une application Symfony totalisant environ 3 000 mots, vers le japonais :

Essentiel
28 €

Comprendre, usage interne.

Professionnel
87 €

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

Premium
168 €

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 le japonais change dans vos fichiers de traduction Symfony

Le japonais n'a qu'une catégorie de pluriel CLDR : other. Une chaîne ICU comme {count, plural, one {# commande} other {# commandes}} devient {count, plural, other {#件の注文}}. La branche other est obligatoire en ICU : c'est elle qu'il faut retrouver dans le fichier japonais. Avec l'ancienne syntaxe à barre verticale (%count% commande|%count% commandes), Symfony n'utilise qu'une forme pour le japonais.

Le pluriel disparaît, mais les compteurs apparaissent : 件 pour des commandes ou des résultats, 人 ou 名 pour des personnes, 個 pour des objets. %count% utilisateurs devient par exemple %count%人のユーザー.

  • Ordre des mots : le paramètre change de place. Bienvenue, %name% devient %name%様、ようこそ, avec le suffixe honorifique 様 après le nom.
  • Pas d'espaces entre les mots, ni autour des paramètres.
  • Ponctuation pleine chasse : 、 et 。 au lieu de la virgule et du point, parenthèses ( ).
  • Registre : en contexte professionnel, les messages s'écrivent en forme polie (です/ます), tandis que les boutons restent des noms courts : 保存, 削除, ログイン.

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

Les formats XLIFF et YAML de Symfony sont pris en charge. Le fichier rendu est le même fichier : indentation, ordre des clés, guillemets, commentaires, fins de ligne, encodage et BOM sont conservés ; seules les valeurs changent. Dans un XLIFF, vos identifiants et vos notes restent en place.

Chaque valeur traduite est comparée à la source. Si le japonais perd un paramètre, par exemple %name% transformé en %名前%, ou une balise <b>, et que l'écart persiste, la valeur source est gardée et le rapport le signale. Mieux vaut une chaîne française visible qu'une exception à l'affichage.

Ne sont pas traduits : les clés, les valeurs vides, les URL, les adresses email, les nombres, les couleurs, les formats de date, les identifiants et tout ce que vous avez marqué non traduisible. Le prix porte sur les mots des valeurs, clés et balises exclues ; le japonais fait partie des langues à supplément (coefficient ×1,6).

Manuce ne modifie ni votre configuration, ni vos gabarits Twig, ni vos feuilles de style, et ne traduit pas les textes écrits en dur dans le code. Il ne produit pas non plus de traduction assermentée : pour des conditions générales destinées à un usage juridique au Japon, faites relire par un professionnel habilité.

Préparer le fichier source avant l'envoi

  1. Extraire toutes les chaînes : php bin/console translation:extract --force fr complète le fichier source avec les clés utilisées dans vos gabarits et contrôleurs. Une chaîne absente du fichier ne sera pas traduite.
  2. Traiter chaque domaine : messages, mais aussi vos domaines personnalisés. Les messages des contraintes intégrées et du composant Security sont déjà fournis en japonais par Symfony ; seuls vos messages de validation personnalisés sont à traduire.
  3. Garder le suffixe ICU : un fichier messages+intl-icu.fr.xlf doit devenir messages+intl-icu.ja.xlf, sinon Symfony ne lira pas les {count, plural, …}.
  4. Donner du contexte : une note XLIFF ou un commentaire YAML du type « libellé de bouton, 10 caractères max. » aide à choisir entre 送信 et 送信する.
  5. Marquer le non traduisible : noms de produit, sigles, codes internes.

Vérifiez aussi l'encodage : UTF-8 est indispensable pour les kanji et les kana.

Vérifier le japonais dans l'application

Une fois le fichier renommé en messages.ja.xlf ou messages.ja.yaml, ajoutez ja aux locales activées (enabled_locales) puis contrôlez :

  • La syntaxe : php bin/console lint:xliff translations ou lint:yaml translations. En YAML, un deux-points demi-chasse dans une valeur non citée casse le fichier ; le deux-points pleine chasse : ne pose pas ce problème.
  • Les manques : php bin/console debug:translation ja liste les clés absentes ou identiques à la source, à rapprocher du rapport de Manuce.
  • Les polices : prévoyez une pile qui couvre le japonais (Noto Sans JP ou les polices système), faute de quoi certains caractères s'affichent en carrés.
  • Les retours à la ligne : sans espaces, le navigateur coupe entre caractères. La propriété CSS line-break: strict évite qu'une ligne commence par 。 ou ー.
  • La largeur : une chaîne japonaise compte souvent moins de caractères, mais chacun est plus large. Un |u.truncate(20) dans Twig peut déborder ; testez les boutons et les colonnes de tableau.
  • Les dates : avec format_date et la locale ja, vous obtenez 2025年3月5日. Ne traduisez pas les formats à la main.

En pratique

  1. Exécutez translation:extract pour obtenir un fichier source complet, domaine par domaine.
  2. Déposez messages.fr.xlf ou .yaml, choisissez le japonais et le niveau, et consultez l'extrait gratuit.
  3. Renommez le fichier rendu en messages.ja.xlf (ou +intl-icu.ja.xlf) et placez-le dans translations/.
  4. Lisez le rapport, lancez lint et debug:translation ja, puis testez polices, coupures et largeurs.

Questions fréquentes

Que deviennent mes chaînes au pluriel ?

Le japonais n'a qu'une forme, la catégorie other. Dans une chaîne ICU, c'est la branche other qui porte la traduction, souvent avec un compteur comme 件 ou 人. Vérifiez à la relecture que cette branche est bien présente, car elle est obligatoire.

Mes paramètres %name% et {count} survivent-ils au changement d'ordre des mots ?

Oui, ils peuvent changer de place dans la phrase, ce qui est normal en japonais. Chaque valeur est comparée à la source : si un paramètre manque ou est modifié et que l'écart persiste, la valeur française est conservée et le rapport l'indique.

Quel niveau de politesse est utilisé ?

Pour une interface professionnelle, la forme polie です/ます est la norme dans les messages, avec des libellés courts pour les boutons. Indiquez en commentaire si une chaîne s'adresse à un client et demande 様 ou un registre plus formel. Le niveau Professionnel est conçu pour un texte prêt à transmettre.

Faut-il traduire les fichiers validators et security fournis par Symfony ?

Non pour les messages intégrés : Symfony les fournit déjà en japonais. Seuls vos messages de contraintes personnalisés, placés dans vos propres fichiers validators, sont à envoyer.

Le japonais coûte-t-il plus cher ?

Le japonais applique un coefficient ×1,6 sur le prix au mot. Le décompte se fait sur les mots des valeurs du fichier source, sans les clés ni les balises, et le devis s'affiche dès le dépôt.

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