Skip to content

feat(i18n): translate GUI navigation, playback and onboarding - #939

Merged
LargeModGames merged 2 commits into
mainfrom
feat/l10n-zh-gui-playback
Oct 28, 2026
Merged

LargeModGames merged 2 commits into
mainfrom
feat/l10n-zh-gui-playback

Conversation

@2570165831

@2570165831 2570165831 commented Oct 26, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

The tenth Chinese translation PR (refs #726), the first of the GUI table: the browser frontend's navigation, playback, library overview, source onboarding and podcast controls in Simplified Chinese (zh-Hans) and Traditional Chinese with Taiwan wording (zh-Hant).

  • src/core/i18n/gui/zh_hans.rs, zh_hant.rs: 214 of the GUI table's 510 strings. That includes 13 that came in on main after the series was drafted and fit this part of the page: the visualizer hint, "Shuffle {name}", the settings and library filters with their empty states, and the announcements and changelog panel.
  • The rest of the GUI table (search, library actions, statistics and social views) stays on ..EN and comes in the next two PRs.
  • Templates keep their placeholders, so names, queries and counts are shown exactly as given. Quotation marks follow each script's existing entries: “…” in Simplified, 「…」 in Traditional.
  • gui/src/bindings/strings.json is regenerated.

English is unchanged.

Testing

macOS (aarch64), on top of 1e25bec6:

  • cargo fmt --all --check: clean. cargo clippy --locked -- -D warnings: clean on slim (telemetry,tui) and default.
  • cargo test --locked: slim 1778 passed; default plus local-files,subsonic 2382 passed, 21 ignored; the gui feature set with the five sources 2202 passed, 30 ignored.
  • gui/: npm test 540 passed (61 files); npm run typecheck and npm run lint clean.

Not run: the Linux-only all-sources leg (PipeWire), which CI covers.

Additional notes

A native-speaker review of the wording is welcome; any fix is a one-line change in the table.

Summary by CodeRabbit

  • New Features
    • Added Simplified and Traditional Chinese translations across playback, library, device, podcast, settings, announcements, and other interface areas. Untranslated labels continue to use English.

Translate the browser frontend's navigation, playback, library overview, source onboarding and podcast controls into both Chinese scripts, including the visualizer hint, settings and library filters and the announcements panel added on main since the series was drafted. Entries for GUI fields main no longer has are left out.
@coderabbitai

coderabbitai Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between 1e25bec and da7924f.

Files ignored due to path filters: 1
  • gui/src/bindings/strings.json is excluded by !gui/src/bindings/**
Files selected for processing: 2
  • src/core/i18n/gui/zh_hans.rs
  • src/core/i18n/gui/zh_hant.rs

Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 3 remain after this review.

Walkthrough

Changes

The GUI locale definitions now include Simplified and Traditional Chinese translations for many interface strings. Both definitions retain English fallback values for fields without explicit translations.

GUI Chinese translations

Layer / File(s) Summary
Add Chinese GUI strings
src/core/i18n/gui/zh_hans.rs, src/core/i18n/gui/zh_hant.rs
The locale definitions add translated GUI labels, messages, and formatted text for Simplified and Traditional Chinese. Unspecified fields continue to use English fallback values.

Priority: Normal

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Feature

Possibly related PRs

  • LargeModGames/spotatui#933: Adds Simplified and Traditional Chinese translations for infrastructure, recap, and tool strings in the same locale rollout.
  • LargeModGames/spotatui#923: Adds Simplified and Traditional Chinese translations for application and runtime status strings.
  • LargeModGames/spotatui#929: Adds Simplified and Traditional Chinese translations for infrastructure status strings.
Merge Risk: Minimal · up to da792

No concrete merge-blocking risk is identified in the supplied translation changes.

Pre-merge checks: Passed 4
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title uses the allowed conventional-commit prefix feat(i18n):, clearly describes the GUI translation changes, and uses a concise imperative subject.
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.
Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
✨ Simplify code
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@codecov

codecov Bot commented Oct 26, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@LargeModGames
LargeModGames merged commit a85fb61 into main Oct 28, 2026
39 checks passed
@LargeModGames
LargeModGames deleted the feat/l10n-zh-gui-playback branch October 28, 2026 09:33
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