Skip to content

fix(translations): correct mistranslated and untranslated strings in ja locale - #17830

Open
meikocho1 wants to merge 1 commit into
payloadcms:mainfrom
meikocho1:fix/ja-translations-quality
Open

fix(translations): correct mistranslated and untranslated strings in ja locale#17830
meikocho1 wants to merge 1 commit into
payloadcms:mainfrom
meikocho1:fix/ja-translations-quality

Conversation

@meikocho1

Copy link
Copy Markdown

What?

Corrects 17 strings in the Japanese (ja) locale — six that were never translated and eleven that were mistranslated. Translation strings only; no keys added or removed, so no other locale and no code is affected.

Left in English

Key Before After Other locales
general.field Field フィールド zh: '字段', de: 'Feld'
general.noLabel <No {{label}}> <{{label}}なし> ko: '<{{label}} 없음>', de: '<Kein {{label}}>'
general.notFound Not Found 見つかりません zh: '未找到'
general.nothingFound Nothing found 該当する項目がありません de: 'Keine Ergebnisse', ko: '찾을 수 없습니다'
general.untitled Untitled 無題 zh: '无标题', de: 'Ohne Titel'
hierarchy.noResults No results for "{{query}}" 「{{query}}」に一致する結果がありません

Mistranslated

Key Before After Why it was wrong
authentication.resetPasswordExpiration パスワードの有効期限をリセット パスワードリセットの有効期限 Read as the imperative "reset the password expiry". It is the auth field holding the expiry of the reset token (packages/payload/src/auth/baseFields/auth.ts).
authentication.resetPasswordToken パスワードのトークンをリセット パスワードリセット用トークン Same misparse — a field name, not a command.
fields.relatedDocument リレーションデータ 関連ドキュメント "Relation data", not "related document". Every other locale says related document (ko: '관련 문서', de: 'Verknüpftes Dokument').
general.checked 確認済み チェックあり 確認済み means "verified/confirmed", not "ticked". Rendered opposite unchecked in the version diff view (ui/src/views/Version/RenderFieldsToDiff/fields/Checkbox), where the two did not read as a pair.
general.unchecked 未選択 チェックなし "Not selected" — see above.
general.editedSince から編集 最終編集: Rendered as {label} <strong>{date}</strong> in ui/src/elements/DocumentLocked, producing "から編集 2026/08/18" — a dangling particle with nothing before it. Japanese needs the label to precede the date.
general.updateForEveryone 皆様への更新情報 全員に反映 "Update news for everyone" — a noun phrase. It labels the save button for a shared query preset (ui/src/elements/QueryPresets/QueryPresetBar), so it must be an action.
general.where どこ 条件 The interrogative "where?" (a place). It is the join label in ui/src/elements/WhereBuilder/Condition, i.e. the query clause.
general.documentIsTrashed この{{label}}は廃棄され… この{{label}}はゴミ箱に移動されており… 廃棄 ("discarded") contradicts the rest of the file, which consistently renders trash as ゴミ箱 (trash, emptyTrash, titleTrashed, noTrashResults).
localization.localeToPublish 公開する場所 公開するロケール 場所 means a physical place. The file uses ロケール everywhere else (locale, locales, allLocales).
localization.selectLocaleToDuplicate 重複するロケールを選択してください 複製するロケールを選択してください 重複 means "overlapping/redundant", not "duplicate (copy)". Used in ui/src/elements/DuplicateDocument/SelectLocalesDrawer to pick which locales to copy.

Why?

These are the remaining correctness problems in the Japanese locale that are independent of style or tone. Each one either shows English in an otherwise translated admin panel, or states something different from the English source — most visibly general.where, which labelled the query builder's clause row with the interrogative "どこ" (where is it?), and general.checked / general.unchecked, which did not read as opposites in the version diff.

How?

Edited the values in packages/translations/src/languages/ja.ts. Every string was checked against its actual call site in packages/ui and against the other locales, rather than translating the English label in isolation.

Two known problems were deliberately left out of this PR:

  • general.by — rendered as `${t('general:by')} ${collection}` in ui/src/elements/DefaultListViewTabs. Japanese needs this particle after the noun (投稿別), so it cannot be fixed by the string alone and would require a code change.
  • general.true / general.false — still the literal true / false where other locales localise them (ko: '참'/'거짓', zh: '是'/'否'). Comprehensible as-is, so this is a preference rather than a defect.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant