Translate a PO file (gettext) into Japanese
Upload your .po file or .pot template and Manuce translates the msgstr values into Japanese, sets the Language and Plural-Forms headers for a single plural form, checks every printf variable and returns the same file, ready to drop back into your project. A report lists which strings were translated and which were left as they were, and why.
What it costs
For a PO file (gettext) with about 2,500 words of values, into Japanese:
To understand, internal use.
Ready to send, by the technical specialist.
Cross-checked. For documents that commit you.
Price for one language, original layout included. VAT not applicable — article 293 B of the French General Tax Code (CGI). The exact quote, based on your file's word count, is shown before you pay.
What changes in a .po file when the target is Japanese
Japanese has a single CLDR plural category, other. The header becomes Plural-Forms: nplurals=1; plural=0;, and every entry with a msgid_plural gets exactly one msgstr[0] covering both source forms:
msgid "%d file"/msgid_plural "%d files"→msgstr[0] "%d 件のファイル"
A number rarely stands alone in Japanese: it takes a counter word, such as 件 for items, 人 for people or 枚 for sheets and images. Picking the right one depends on what the string refers to, which is why msgctxt and #. comments matter.
Word order is also different: the verb comes last. "Delete %s?" becomes "%s を削除しますか?". With two placeholders the order may flip entirely: "Page %1$d of %2$d" becomes "%2$d ページ中 %1$d ページ目". That reordering only works if the source uses positional placeholders (%1$s, %2$d); plain %s %d forces the translation to keep the source order.
Politeness, punctuation and string length
Japanese user interfaces usually address the user in the polite desu/masu form: "ファイルを保存できませんでした。" for “The file could not be saved”. Buttons and menu items, by contrast, are short nouns: "Save" → "保存", "Cancel" → "キャンセル". One catalogue therefore mixes two registers, and each string's context decides which applies.
Punctuation switches to full-width forms: 。 for full stops, 、 for commas, plus ? and ( ), with no surrounding spaces. A source string ending in an ellipsis, like "Loading…", becomes "読み込み中…".
Japanese often uses fewer characters than English, but each glyph is roughly twice as wide as a Latin letter, so a button label can still overflow. With no spaces between words, line breaking is left to your application, and the font in use must include kanji or users will see empty boxes.
What Manuce returns, and what it does not do
- The same file: indentation, entry order, quoting,
#.#:#,comments, line endings, encoding and BOM are preserved; only the values change. msgctxtandmsgid_pluralare kept, and the context guides the translation.- A
.potcomes back as a Japanese.powithLanguage: jaandPlural-Formsset; the number ofmsgstr[n]matches Japanese. - Printf placeholders (
%s,%d,%1$s) and tags are compared with the source for every value; if a mismatch persists, the source value is kept and the report says so. - Not translated: keys, empty values, URLs, email addresses, numbers, colours, date formats, identifiers and anything marked as non-translatable.
Manuce does not compile the .mo, test the display in your application or choose your font. It does not accept glossaries or translation memories, and it does not produce sworn or certified translations.
Preparing the file before upload
- Check the encoding. The header should read
Content-Type: text/plain; charset=UTF-8. A file in ISO-8859-1 cannot hold Japanese characters, and Manuce keeps the original encoding, so convert it to UTF-8 first. - Disambiguate with
msgctxt."Open"may be an action (開く) or a status (公開中);"Post"may be a noun (投稿) or a verb (投稿する). A context such asmsgctxt "button"is often enough. - Switch to positional placeholders wherever a string holds more than one, so Japanese word order is possible.
- Add
#.comments saying what%sstands for (a file name, a person), since that decides the counter word and particle. - Mark product names as non-translatable if they must stay in Latin script.
Checking the Japanese file on return
- Run
msgfmt --checkon the returned file: it validates printf formats and consistency withPlural-Forms. - Read the report: a string left in the source language usually points to a placeholder or tag the translation could not respect without distorting the source.
- Compile and look at real screens: truncated buttons, line breaks in the middle of a katakana word, empty boxes from a font without kanji.
- Check sensitive terms: a brand name may be rendered in katakana or left in Latin script. Look at it in the free excerpt first, then in the full translation.
Japanese carries a surcharge (×1.6 coefficient); the count covers words in the source values only, with keys and tags excluded.
In practice
- Make sure the .po or .pot header declares charset=UTF-8.
- Upload the file and choose Japanese: the quote appears straight away.
- Read the free excerpt to judge register and terminology.
- Download the Japanese .po and its report, then run msgfmt --check.
- Compile the .mo and check the strings in your application.
Frequently asked questions
Why does my Japanese file have only msgstr[0] for plurals?
Japanese has one plural form, so the header is nplurals=1; plural=0;. A single translation covers 1 item as well as 50, with the quantity carried by %d and a counter word such as 件.
Can I upload an empty .pot template instead of a .po?
Yes. The template comes back as a Japanese .po, with the Language and Plural-Forms headers set and the correct number of msgstr[n] entries.
Will my product name be written in katakana?
Anything marked as non-translatable stays as it is. For any other term you want kept in Latin script, check how it appears in the free excerpt and then in the delivered translation.
What happens if a %s placeholder could be lost or altered?
Every translated value is compared with the source. If a mismatch persists, the source value is kept and the report flags it, so your catalogue still compiles.
How is the price worked out for Japanese?
On the exact number of words in the source values, excluding keys and tags, with the ×1.6 coefficient that applies to Japanese. The quote is shown as soon as you upload the file.
The specialist in charge
This subject goes to Dédale, the technical specialist. See how it works.
The same file, into another language
Into Japanese, other files
See also
Try it on your own file, free
A sample of your file translated at the level you choose, before any payment. You judge, then you decide.