You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 0657b31
Browse filesBrowse the repository at this point in the historyBrowse files
feat(i18n): translate network, history and DJ feedback (#933)
# Summary
The ninth Chinese translation PR (refs #726), finishing the status
tables after the source and speaker messages (#929): Spotify, listening
party, playlist sync, listening history, the exported HTML recap and AI
DJ feedback in Simplified Chinese (`zh-Hans`) and Traditional Chinese
with Taiwan wording (`zh-Hant`).
- `src/core/i18n/status_infra.rs`: the remaining 127 strings, so all 269
entries of the infrastructure table now have both translations.
- `src/core/i18n/recap.rs`: all 32 strings of the exported HTML recap
(periods, headings, play and time units).
- `src/core/i18n/tools.rs`: all 63 user-visible DJ and MCP strings,
including the DJ setup choices. Model-facing tool schemas and the
replies sent back to the model stay in English; only what the user sees
is translated.
- Templates keep their placeholders, so playlist names, paths, URLs,
pairing codes and error text are shown exactly as given.
- Tests: assertions that compared a translation to its own table field
now compare against the expected Chinese text, so a broken entry fails
instead of passing against itself. New checks cover the playlist sync
summary in the GUI payload, the DJ vibe status line, the DJ setup
labels, the history play/time details and the recap period label. No
non-test code outside the tables changes.
- The Traditional sync summary says 未對應 for "unmatched", the word the
screen table merged in #912 already uses, so the playlist sync row and
its summary agree.
- `gui/src/bindings/strings.json` is regenerated.
English is unchanged.
# Testing
macOS (aarch64), on top of `78923778`:
- `cargo fmt --all --check`: clean. `cargo clippy --locked -- -D
warnings`: clean on slim (`telemetry,tui`), default,
`telemetry,tui,ai-dj` and `telemetry,tui,mcp-server`.
- `cargo test --locked`: slim 1774 passed; `telemetry,tui,ai-dj` 2097
passed; `telemetry,tui,mcp-server` 1925 passed; default plus
`local-files,subsonic` 2376 passed, 21 ignored; the gui feature set with
the five sources 2197 passed, 30 ignored.
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.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
<!-- coderabbit-ai-generated:v1 -->
## Summary by CodeRabbit
* **New Features**
* Added Simplified and Traditional Chinese translations across recap
summaries, infrastructure statuses, and tool messages, including sync,
playback, network, and setup text.
* **Tests**
* Expanded localization checks for Chinese display labels, status
messages, and date and duration formatting.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: 2570165831 <200382837+2570165831@users.noreply.github.com>
0 commit comments