ManuceTraduire un fichierTraduire un fichier PO (gettext) en japonais

Traduire un fichier PO (gettext) en japonais

Déposez votre fichier .po ou votre modèle .pot : Manuce traduit les msgstr en japonais, pose l'en-tête Language et Plural-Forms à une seule forme, vérifie les variables printf et vous rend le même fichier, prêt à remettre dans le projet. Un rapport indique les chaînes traduites et celles laissées telles quelles, avec la raison.

Déposer mon fichier Voir les tarifs

Combien ça coûte

Pour un fichier PO (gettext) d'environ 2 500 mots de valeurs, vers le japonais :

Essentiel
24 €

Comprendre, usage interne.

Professionnel
72 €

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

Premium
140 €

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 qui change dans un .po quand la cible est le japonais

Le japonais n'a qu'une catégorie de pluriel (other). L'en-tête attendu est donc Plural-Forms: nplurals=1; plural=0; et chaque entrée qui porte un msgid_plural ne reçoit qu'un seul msgstr[0], qui couvre à la fois le singulier et le pluriel de la source :

  • msgid "%d file" / msgid_plural "%d files" → msgstr[0] "%d 件のファイル"

Le nombre n'est presque jamais seul : il s'accompagne d'un classificateur (件 pour des éléments, 人 pour des personnes, 枚 pour des feuilles ou des images). C'est le sens de la chaîne, souvent donné par msgctxt ou un commentaire #., qui permet de choisir le bon.

L'ordre des mots est inversé par rapport au français ou à l'anglais : le verbe va à la fin. "Delete %s?" devient "%s を削除しますか?". Avec deux variables, l'ordre peut s'inverser : "Page %1$d of %2$d" donne "%2$d ページ中 %1$d ページ目". Cette permutation n'est possible que si la source utilise les formes positionnelles %1$s, %2$d ; avec de simples %s %d, la traduction est contrainte de garder l'ordre d'origine.

Registre, ponctuation et longueur des chaînes

Dans une interface japonaise, les messages adressés à l'utilisateur s'écrivent couramment à la forme polie en です・ます : "ファイルを保存できませんでした。" pour « Impossible d'enregistrer le fichier ». Les boutons et entrées de menu, eux, restent des noms courts : "Save" → "保存", "Cancel" → "キャンセル". Un même fichier mêle donc deux registres, et c'est le contexte de chaque chaîne qui tranche.

La ponctuation passe en pleine chasse : 。 pour le point, 、 pour la virgule, ? et ( ), sans espace avant ni après. Une chaîne source terminée par « … », comme "Loading…", devient "読み込み中…".

Côté longueur, le japonais compte souvent moins de caractères que le français, mais chaque caractère occupe environ deux fois la largeur d'une lettre latine. Un libellé de bouton peut donc déborder malgré un texte plus court. L'absence d'espaces entre les mots laisse aussi la coupure de ligne à la charge de votre application, et la police utilisée doit contenir les kanji, sinon on voit des carrés vides.

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

  • Le même fichier : indentation, ordre des entrées, guillemets, commentaires #. #: #,, fins de ligne, encodage et BOM conservés ; seules les valeurs changent.
  • Les msgctxt et msgid_plural sont conservés, et le contexte guide la traduction.
  • Un .pot revient en .po japonais, avec Language: ja et Plural-Forms posés ; le nombre de msgstr[n] correspond au japonais.
  • Les variables printf (%s, %d, %1$s) et les balises sont comparées à la source pour chaque valeur ; en cas d'écart persistant, la valeur source est gardée et le rapport le signale.
  • Ne sont pas traduits : clés, valeurs vides, URL, adresses email, nombres, couleurs, formats de date, identifiants et tout ce qui est marqué non traduisible.

Manuce ne compile pas le .mo, ne teste pas l'affichage dans votre application et ne choisit pas la police. Il ne reçoit ni glossaire ni mémoire de traduction, et ne produit pas de traduction assermentée.

Préparer le fichier avant de le déposer

  1. Vérifiez l'encodage. L'en-tête doit déclarer Content-Type: text/plain; charset=UTF-8. Un fichier en ISO-8859-1 ne peut pas contenir de caractères japonais, et Manuce conserve l'encodage d'origine : convertissez-le en UTF-8 avant le dépôt.
  2. Levez les ambiguïtés avec msgctxt. "Open" peut être un verbe (開く) ou un état (公開中) ; "Post", un nom (投稿) ou une action (投稿する). Un contexte comme msgctxt "button" suffit souvent.
  3. Passez aux variables positionnelles dès qu'une chaîne en contient plusieurs, pour que l'ordre japonais soit possible.
  4. Ajoutez des commentaires #. sur ce que représente %s (un nom de fichier, une personne), car cela décide du classificateur et de la particule.
  5. Marquez comme non traduisibles les noms de produit que vous voulez garder en alphabet latin.

Vérifier le fichier japonais au retour

  • Lancez msgfmt --check sur le fichier rendu : il contrôle les formats printf et la cohérence avec Plural-Forms.
  • Lisez le rapport : une chaîne restée en anglais ou en français signale le plus souvent une variable ou une balise que la traduction ne pouvait pas respecter sans trahir la source.
  • Compilez, puis affichez les écrans réels : boutons tronqués, retours à la ligne au milieu d'un mot katakana, carrés vides dus à une police sans kanji.
  • Contrôlez les termes sensibles : un nom de marque peut être transcrit en katakana ou laissé en latin. Regardez-le d'abord dans l'extrait gratuit, puis dans la traduction complète.

Le japonais est une langue à supplément (coefficient ×1,6) ; le décompte porte sur les mots des valeurs source, clés et balises exclues.

En pratique

  1. Vérifiez que l'en-tête du .po ou du .pot déclare charset=UTF-8.
  2. Déposez le fichier et choisissez le japonais : le devis s'affiche aussitôt.
  3. Lisez l'extrait gratuit pour juger le registre et les termes.
  4. Récupérez le .po japonais et son rapport, puis passez msgfmt --check.
  5. Compilez le .mo et vérifiez l'affichage dans l'application.

Questions fréquentes

Pourquoi mon fichier japonais n'a-t-il qu'un msgstr[0] pour les pluriels ?

Le japonais n'a qu'une forme de pluriel : l'en-tête est nplurals=1; plural=0;. Une seule traduction couvre donc 1 comme 50 éléments, le nombre étant porté par la variable %d et un classificateur comme 件.

Puis-je déposer un .pot vide plutôt qu'un .po ?

Oui. Le modèle revient sous forme de .po pour le japonais, avec l'en-tête Language et Plural-Forms posés et le bon nombre de msgstr[n].

Mon nom de produit sera-t-il écrit en katakana ?

Ce qui est marqué non traduisible reste tel quel. Pour un autre terme que vous voulez garder en alphabet latin, vérifiez son rendu dans l'extrait gratuit, puis dans la traduction livrée.

Que se passe-t-il si une variable %s risque d'être déplacée ou perdue ?

Chaque valeur traduite est comparée à la source. Si l'écart persiste, la valeur source est conservée et le rapport l'indique, pour que votre fichier reste valide.

Comment le prix est-il calculé pour le japonais ?

Sur le nombre exact de mots des valeurs source, clés et balises exclues, avec le coefficient ×1,6 propre au japonais. Le devis est affiché dès le dépôt du fichier.

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