Skip to content

fix(i18n): update Japanese translations#2745

Merged
graphieros merged 3 commits into
mainfrom
shuuji3/fix/update-japanese
May 15, 2026
Merged

fix(i18n): update Japanese translations#2745
graphieros merged 3 commits into
mainfrom
shuuji3/fix/update-japanese

Conversation

@shuuji3
Copy link
Copy Markdown
Member

@shuuji3 shuuji3 commented May 14, 2026

🔗 Linked issue

N/A

🧭 Context

Updated overdue Japanese translation for new strings (+326 keys!)

📚 Description

@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented May 14, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
npmx.dev Ready Ready Preview, Comment May 15, 2026 3:48am
2 Skipped Deployments
Project Deployment Actions Updated (UTC)
docs.npmx.dev Ignored Ignored Preview May 15, 2026 3:48am
npmx-lunaria Ignored Ignored May 15, 2026 3:48am

Request Review

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 14, 2026

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: a3bab0af-96fe-4029-9ad6-0faa9a968b14

📥 Commits

Reviewing files that changed from the base of the PR and between 78f2880 and c394c42.

📒 Files selected for processing (1)
  • i18n/locales/ja-JP.json
🚧 Files skipped from review as they are similar to previous changes (1)
  • i18n/locales/ja-JP.json

📝 Walkthrough

Summary by CodeRabbit

  • Localization
    • Significantly expanded Japanese translations across the app: command palette, keyboard shortcuts, settings (new toggles and theme palettes), package pages (sizes, versions, timeline, dependencies), code viewer controls, compare charts and facets (including scatter chart), filters, downloads/metrics, translation status tables, new pages (vacations, action bar, logo/brand resources) and enriched changelog/announcement copy.

Walkthrough

The 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).

Changes

Japanese Locale Expansion

Layer / File(s) Summary
Command palette & shortcuts
i18n/locales/ja-JP.json
Adds a new command_palette block (titles, quick actions, groups, navigation, theme/accent/background, package actions, announcements) and extends shortcuts.keyboard_shortcuts with command-palette access, view shortcuts and enable/disable hints.
Settings, header & common UI
i18n/locales/ja-JP.json
Adds settings toggles and descriptions (graph pulse loop, translation status, code ligatures, changelog autoscroll, keyboard shortcut enablement), theme accent/background labels, header.pr, common.per_week_short, common.view_on.socket_dev, and collapse/expand variants.
Package pages (metadata, versions, timeline, dependencies, maintainers, trends)
i18n/locales/ja-JP.json
Extends package strings: size decrease/replacement edge cases, skills/links/docs/readme copy, card license selection limits, semver grouping/distribution and license-change wording, timeline event types and richer chart alt-text, dependencies.vulnerabilities_count, maintainer templates, and trends assistive text.
Downloads, metrics, leaderboard, code viewer, filters
i18n/locales/ja-JP.json
Adds downloads subtitle, sparkline hint, metrics.wasm, explicit download/tarball labels, leaderboard.likes, code viewer copy/raw controls, binary-file warnings/messages, dropdown/path UI labels, and filters selection UI plus filters.columns.selection.
Compare UI, charts, facets, diff sidebar
i18n/locales/ja-JP.json
Adds chart navigation hints, new compare.packages.scatter_chart block (title, freshness, axis/copy templates), facet bulk select/deselect messages, new facet items (githubStars, githubIssues, createdAt), version-comparison UI strings, and diff sidebar filtering/metrics/loading/options/word-wrap labels.
Administrative & secondary pages
i18n/locales/ja-JP.json
Adds a full translation_status page/table structure and new sections for vacations, action_bar, logo_menu, brand (guidelines/resources), alt_logo_kawaii, and expanded changelog strings.

Possibly related PRs

  • npmx-dev/npmx.dev#2625: i18n locale updates touching similar namespaces (shortcuts, settings.theme, package.timeline, compare.scatter_chart, vacations).
  • npmx-dev/npmx.dev#1516: Modifies the same ja-JP.json keys (versions distribution, dependencies replacement, trends labels).
  • npmx-dev/npmx.dev#1951: Overlaps in shortcuts / command-palette related localization additions.

Suggested reviewers

  • danielroe
  • graphieros
🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: updating Japanese translations in the i18n locale file with 326 new translation keys.
Description check ✅ Passed The description is directly related to the changeset, providing context about the overdue Japanese translations, the number of keys added, and explaining the decision to skip vacation keys with reference to prior work.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch shuuji3/fix/update-japanese

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.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 14, 2026

Lunaria Status Overview

🌕 This pull request will trigger status changes.

Learn more

By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.

You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

File Note
i18n/locales/ja-JP.json Localization changed, will be marked as complete.
Warnings reference
Icon Description
🔄️ The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.

@codecov
Copy link
Copy Markdown

codecov Bot commented May 14, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

📢 Thoughts on this report? Let us know!

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 7033500 and 78f2880.

📒 Files selected for processing (1)
  • i18n/locales/ja-JP.json

Comment thread i18n/locales/ja-JP.json
"welcome": "あなたが {npmx} の翻訳に興味があるのだとしたら、ここは最適な場所です!このページは自動的に更新され、あなたが今すぐ翻訳に協力できるすべてのコンテンツがリスト化されています。",
"p1": "npmx はデフォルト言語として {lang} を使用しており、合計 {count} 件あります。翻訳に協力したい場合は、{bylang} から言語を探して、詳細情報を展開してください。",
"p1_lang": "アメリカ英語 (en-US)",
"p1_count": "0 メッセージ | 1 メッセージ | {count} メッセージ",
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot May 14, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

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.

Suggested change
"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.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need to remove it because the original english has the same space.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧩 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.

Comment thread i18n/locales/ja-JP.json Outdated
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

@graphieros graphieros left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🌿

@graphieros graphieros added this pull request to the merge queue May 15, 2026
Merged via the queue into main with commit 01e3d83 May 15, 2026
27 checks passed
@graphieros graphieros deleted the shuuji3/fix/update-japanese branch May 15, 2026 04:31
@shuuji3
Copy link
Copy Markdown
Member Author

shuuji3 commented May 15, 2026

Thanks! 🙂

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.

2 participants