ManuceTranslate a fileTranslate a JSON i18n file into Japanese

Translate a JSON i18n file into Japanese

Upload your JSON locale file (i18next, react-intl, vue-i18n, next-intl, ngx-translate) and Manuce translates the values into Japanese, leaves every key alone and checks each placeholder and ICU message. You get the same file back, ready to drop into your project, with a report of what was translated and what was left as is.

Upload my file See pricing

What it costs

For a JSON i18n file with about 2,000 words of values, into Japanese:

Essentiel
€19

To understand, internal use.

Professional
€58

Ready to send, by the technical specialist.

Premium
€112

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 when a UI goes into Japanese

Japanese mixes three scripts (kanji, hiragana, katakana) and puts no spaces between words. A Japanese string often has fewer characters than its source, but each one is full-width, and loanwords in katakana grow quickly: “Download” becomes ダウンロード, “Account settings” アカウント設定. A button sized for English can overflow or look half empty.

Punctuation changes too: the comma 、, the full stop 。, the full-width question mark ?. “Saved!” typically becomes 保存しました。.

  • Line breaking: with no spaces, browsers break between characters. Set lang="ja" and try line-break: strict so that 。 or 、 never starts a line.
  • Fonts: kanji share code points with Chinese. Without a Japanese font in your font-family stack and lang="ja", some characters render in their Chinese form.

These are CSS settings: Manuce only works on the string file.

Plurals, placeholders and word order

Japanese has a single CLDR plural category, other, so there are no categories to add, unlike Polish or Arabic. In i18next, only items_other is used for Japanese; an items_one key inherited from the source stays in the file, since keys are never changed, but Japanese plural rules never pick it. In ICU, {count, plural, other {#件のメッセージ}} is enough; only exact matches such as =0 or =1 still apply.

The real trap is word order: the verb goes last, so the placeholder moves and takes a particle.

  • "Delete {{count}} files?" becomes "{{count}}件のファイルを削除しますか?", with a counter word (件, 個, 人) that depends on what is being counted.
  • "Welcome back, {name}" becomes "おかえりなさい、{name}さん": the honorific さん follows the variable.

A sentence split across keys and joined in code (t('sentBy') + name) cannot be reordered for Japanese. Merge it into one value with a placeholder before uploading.

Register: buttons, messages and keigo

A professional Japanese interface uses the polite -masu / -desu form for sentences and short nouns for actions: 保存 or 送信 on a button, パスワードが正しくありません。 for an error rather than the blunt plain form 正しくない.

Switching register from one screen to the next stands out at once. Check it on the free sample: one paragraph of your file translated at the level you choose, before you pay. For an interface aimed at Japanese customers, Professional (domain specialist) or Premium (most advanced engine, then cross-review) fits best; Essential is for understanding or internal testing.

For brand and product names, check on the sample and then on the delivered file whether they stay in Latin script or move to katakana, in line with your market's usage.

What Manuce returns, and what it does not do

You get the same file back: indentation, key order, quotes, comments, line endings, encoding and BOM are preserved. Only the values are now in Japanese. Flat or nested JSON and arrays of strings are supported.

  • Every value is compared with the source: {name}, {{count}}, %s and ICU messages (plural, select) must appear identically, the same number of times. 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.
  • The report lists translated strings and those left unchanged, with the reason.

Manuce does not edit your CSS or components, convert the encoding or adapt date patterns: "MM/DD/YYYY" stays as it is, whereas Japan writes 2025/03/14 or 2025年3月14日. Use Intl.DateTimeFormat('ja-JP') or change that value yourself. Pricing covers the words in the values, keys and tags excluded, with a ×1.6 coefficient for Japanese.

Preparing the file and checking the result

  1. Encoding: the original encoding is kept. A Latin-1 file cannot hold Japanese; save it as UTF-8 before uploading.
  2. Concatenation: merge sentence fragments into full values with placeholders, so Japanese word order is possible.
  3. Counter context: a bare count value says nothing about what is counted; a full value such as "{{count}} files" allows the right counter word.
  4. After delivery: read the report, then run the app in ja and check buttons, narrow menus and line breaks.

In practice

  1. Save the JSON file as UTF-8 and merge sentences split across several keys.
  2. Upload it: the quote appears straight away, based on the words in the values.
  3. Check the free sample: polite register, 、。 punctuation, placeholder position.
  4. Download the Japanese file and its report, then put it back in your locales folder.
  5. Test the UI in ja: overflow, line breaks and Japanese font rendering.

Frequently asked questions

Will my keys be translated into Japanese?

No. Keys are never translated; only values are. Key order and file structure stay identical, so your code keeps calling the same identifiers.

What happens to my _one and _other keys in i18next?

They all stay in the file, because keys are not changed. Japanese only uses the other category, so i18next reads the _other key and Japanese plural rules never select _one.

Can a placeholder move within the sentence?

Yes, and it often has to, because Japanese puts the verb last, as in “{{count}}件のファイルを削除しますか?”. Manuce checks that every placeholder appears identically and the same number of times as in the source, wherever it sits.

Does Manuce fix how Japanese characters display?

No, Manuce only handles the string file. The Japanese font, the lang="ja" attribute and line-breaking rules are set in your application.

Why does Japanese cost more than a European language?

Japanese carries a ×1.6 coefficient on the per-word rate. The quote is based on the words in your file's values, keys and tags excluded, and appears as soon as you upload.

The specialist in charge

This subject goes to Dédale, the technical specialist. See how it works.

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.

Upload my file