fix(i18n): update Japanese translations#2745
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
2 Skipped Deployments
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughSummary by CodeRabbit
WalkthroughThe PR expands the Japanese locale JSON with ~438 added lines across many namespaces, introducing a command palette block, extended keyboard shortcut strings, new settings toggles, enriched package/compare/downloads/code-viewer labels, and several administrative pages (translation_status, brand, changelog, vacations). ChangesJapanese Locale Expansion
Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Lunaria Status Overview🌕 This pull request will trigger status changes. Learn moreBy default, every PR changing files present in the Lunaria configuration's You can change this by adding one of the keywords present in the Tracked Files
Warnings reference
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@i18n/locales/ja-JP.json`:
- Line 1620: The third plural variant for translation_status.p1_count in the
ja-JP.json contains an extra space after the pipe; update the value for the
"p1_count" key so the third variant removes that space (change " | {count}" to
"|{count}") to match the repo convention and source behavior.
- Line 1674: The translation for the key action_bar.shortcut contains malformed
quote escaping (\"\"\"{key}\"\" を押してアクションにフォーカス) — replace the triple-escaped
quotes with a properly formatted string, e.g. use Japanese corner quotes around
the placeholder or a single escaped double-quote: "「{key}」を押してアクションにフォーカス" or
"\"{key}\" を押してアクションにフォーカス", ensuring the JSON string uses valid escaping and
the placeholder {key} remains intact.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: fd701ae1-666b-4000-aa22-f275274d1144
📒 Files selected for processing (1)
i18n/locales/ja-JP.json
| "welcome": "あなたが {npmx} の翻訳に興味があるのだとしたら、ここは最適な場所です!このページは自動的に更新され、あなたが今すぐ翻訳に協力できるすべてのコンテンツがリスト化されています。", | ||
| "p1": "npmx はデフォルト言語として {lang} を使用しており、合計 {count} 件あります。翻訳に協力したい場合は、{bylang} から言語を探して、詳細情報を展開してください。", | ||
| "p1_lang": "アメリカ英語 (en-US)", | ||
| "p1_count": "0 メッセージ | 1 メッセージ | {count} メッセージ", |
There was a problem hiding this comment.
Fix plural-form spacing in translation_status.p1_count third variant.
The third plural form should not include a space after | to match repo convention and source behaviour.
Suggested patch
- "p1_count": "0 メッセージ | 1 メッセージ | {count} メッセージ",
+ "p1_count": "0 メッセージ | 1 メッセージ |{count} メッセージ",Based on learnings: for translation_status.p1_count, the third plural form intentionally omits the space before {count} (|{count} ...).
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "p1_count": "0 メッセージ | 1 メッセージ | {count} メッセージ", | |
| "p1_count": "0 メッセージ | 1 メッセージ |{count} メッセージ", |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@i18n/locales/ja-JP.json` at line 1620, The third plural variant for
translation_status.p1_count in the ja-JP.json contains an extra space after the
pipe; update the value for the "p1_count" key so the third variant removes that
space (change " | {count}" to "|{count}") to match the repo convention and
source behavior.
There was a problem hiding this comment.
No need to remove it because the original english has the same space.
There was a problem hiding this comment.
🧩 Analysis chain
Let me verify the current English source for that key before updating the learning.
🏁 Script executed:
#!/bin/bash
rg "p1_count" i18n/locales/ -n -A1 -B1
Length of output: 6118
@shuuji3 — I double-checked the English source file directly, and it actually does not have a space before {count} in the third plural form:
i18n/locales/en.json (line 1620):
"p1_count": "0 messages | 1 message |{count} messages",
The Japanese translation currently has | {count} メッセージ (with a space), while the source has |{count} messages (no space). The original suggestion remains valid — the space should be removed to stay in sync with the English source. Several other locale files (e.g. zh-TW, zh-CN, pt-PT, pt-BR, es) already follow this pattern correctly.
🧠 Learnings used
Learnt from: userquin
Repo: npmx-dev/npmx.dev PR: 1096
File: i18n/locales/es-419.json:34-41
Timestamp: 2026-02-06T14:53:23.339Z
Learning: In the npmx.dev project, when using country locale variants (e.g., es-419, es-ES), place only translations that differ from the base language in variant JSON files (e.g., es-419.json). The base file (es.json) is loaded first, then the variant file overlays any keys it defines. This behavior is provided by vue-i18n's multiple-files feature. See CONTRIBUTING.md under 'Country variants (advanced)' for details.
Learnt from: shuuji3
Repo: npmx-dev/npmx.dev PR: 1461
File: lunaria/files/ja-JP.json:1096-1100
Timestamp: 2026-02-13T08:32:50.257Z
Learning: In all Japanese translation files (ja-JP.json), ensure placeholders like {about}, {app}, {username} are padded with spaces around interpolated values to maintain consistency across i18n entries.
Learnt from: mikouaji
Repo: npmx-dev/npmx.dev PR: 2029
File: i18n/locales/pl-PL.json:1220-1220
Timestamp: 2026-03-10T21:43:05.255Z
Learning: Treat the locale key pds.community.new_accounts as intentionally lowercase in all locale files under i18n/locales (and by extension the entire npmx-dev/npmx.dev project). Do not flag capitalization for this key in any locale translations. Apply this exception consistently across all locale JSON files (e.g., i18n/locales/*.json) to avoid false positives when reviewing translations.
Learnt from: alex-key
Repo: npmx-dev/npmx.dev PR: 2271
File: i18n/locales/uk-UA.json:333-336
Timestamp: 2026-03-27T03:42:05.416Z
Learning: In this repo’s locale files under `i18n/locales/` (e.g., `uk-UA.json`), do not require `{version}` interpolation for the `package.docs.page_title_version` key. These translations intentionally omit a `{version}` placeholder for this key. The `en-US.json` source is `"{name} docs - npmx"` (no version interpolation), so missing `{version}` in localized values for `package.docs.page_title_version` is expected and should not be flagged.
Learnt from: aitorres
Repo: npmx-dev/npmx.dev PR: 2318
File: i18n/locales/es.json:1442-1467
Timestamp: 2026-03-29T20:36:02.203Z
Learning: In `i18n/locales/*.json`, ensure the `vacations` i18n keys are represented using the required nested object structure, specifically for `vacations.what`, `vacations.meantime`, `vacations.return`, and `vacations.stats` (including `vacations.stats.subtitle`). These keys are consumed as objects in `app/pages/recharging.vue` (e.g. `$t('vacations.what.title')`, `$t('vacations.stats.subtitle.some')`), so review must NOT suggest flattening these `vacations` entries into scalar string keys.
Learnt from: alfonsusac
Repo: npmx-dev/npmx.dev PR: 2334
File: i18n/locales/id-ID.json:1418-1418
Timestamp: 2026-03-30T18:09:23.414Z
Learning: In locale JSON files under `i18n/locales/` (including `en.json`), for the `translation_status.p1_count` key’s third plural form, the formatting intentionally omits the space before `{count}`: use `|{count} messages` (no space) rather than `| {count} messages`. Treat this as intentional and do not flag it as a formatting inconsistency in future reviews if it matches the source behavior in `en.json`.
Learnt from: ihardlight
Repo: npmx-dev/npmx.dev PR: 2503
File: i18n/locales/ru-RU.json:1243-1243
Timestamp: 2026-04-13T16:05:50.617Z
Learning: In `i18n/locales/*.json`, for the key `compare.scatter_chart.copy_alt.analysis`, keep the intentionally formatted token spacing in the string (it uses `{package} : {x_name} ({x_value}) ...`, i.e., a space before the colon). Do not flag this as awkward punctuation in locale translations, since it is designed to match the English source (`en-US.json`).
Learnt from: WarningImHack3r
Repo: npmx-dev/npmx.dev PR: 2560
File: i18n/locales/fr-FR.json:426-426
Timestamp: 2026-04-17T17:53:13.407Z
Learning: In locale JSON files under `i18n/locales` (including `fr-FR.json`), do not treat the translation key `package.skills.skills_cli` as missing or inconsistent if it intentionally keeps the word "skills" in English (e.g., "CLI de skills"). This is because "skills" is the product/feature name for the AI agent skills, not the generic French term. Therefore, do not flag it as an untranslated/incorrect label even if other keys in the `package.skills` section use "compétences".
Learnt from: WarningImHack3r
Repo: npmx-dev/npmx.dev PR: 2560
File: i18n/locales/fr-FR.json:572-573
Timestamp: 2026-04-17T17:59:25.311Z
Learning: In locale JSON files under i18n/locales (e.g., i18n/locales/fr-FR.json), treat the key `package.timeline.esm_added` as an intentional asymmetric translation. If its value is written without a `de X à Y` “from/to” structure (e.g., “Le type de module a changé à ESM”) because the English source string is asymmetric, do not flag it as inconsistent with other keys that use the `de X à Y` pattern (such as `esm_removed` or `license_change`).
Learnt from: Adebesin-Cell
Repo: npmx-dev/npmx.dev PR: 2602
File: i18n/locales/id-ID.json:79-95
Timestamp: 2026-04-21T10:08:28.894Z
Learning: In this repo’s `i18n/locales/*.json` non-English locale files, it’s an intentional convention to include empty `{}` placeholder objects for keys that exist in the English source but are not yet translated. Because `autofix.ci` automatically inserts/maintains these `{}` entries when new English keys are added, code reviewers should not flag empty `{}` placeholders in these locale JSON files as issues, since they are automation-managed and not authored by the PR.
Learnt from: Adebesin-Cell
Repo: npmx-dev/npmx.dev PR: 2602
File: i18n/locales/tr-TR.json:76-92
Timestamp: 2026-04-21T10:08:33.504Z
Learning: In npmx-dev/npmx.dev, under i18n/locales/*.json (non-English locale files), do NOT flag empty placeholder objects (`{}`) for specific key groups (e.g., `command_palette`, `vacations`, `action_bar`, `logo_menu`, `brand`) or their nested sub-objects as incorrect. These `{}` placeholders are expected output injected by `autofix.ci` when it syncs the English key structure across locale files; real translations are provided separately. Only flag issues if the autofix-generated placeholders are missing where other locales/English define the structure, or if the file contains non-placeholder value changes that look manually edited.
Learnt from: bonsak
Repo: npmx-dev/npmx.dev PR: 2677
File: i18n/locales/nb-NO.json:24-26
Timestamp: 2026-05-05T06:23:27.973Z
Learning: When reviewing JSON locale files under i18n/locales/, do not treat Title Case values as a casing inconsistency for the footer translation keys `resources`, `features`, and `other`. These three keys are intentionally Title Case in the English source ("Resources", "Features", "Other"), so other locales may match that exact casing even if surrounding footer keys use lower-case values.
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
|
Thanks! 🙂 |
🔗 Linked issue
N/A
🧭 Context
Updated overdue Japanese translation for new strings (+326 keys!)
📚 Description
vacation.*keys since there was actually my previous translations here: fix(i18n): update Japanese translations #1461 (comment) I'll revive them later 🪦🙂