Repository navigation
Conversation
added 2 commits
October 20, 2026 17:33
collections and notifications pieces The remaining all-purpose components whose text is plain strings: the About modal, the Discord banner, the drop overlay, the release-notes empty state, the What's-new modal, the collections dialog (its delete confirmation now counts through a plural) and the notification hub, bell title and unread counts included. - 41 new keys in each catalog (229 total). - ReleaseNotes imports the store as `i18n`: its toneFor() declares a local `t`, and a `$t` in the template would collide with it — the same trap the toast dismiss button hit. - The notifications bell's hand-built "1 notification / 2 notifications" plural moves into the catalog. npm test: 310/310 · vite build clean · catalogs aligned (0 missing, 0 extra).
…uts sheet and pause button
The framework-layer batch: every remaining chrome-and-banner component
whose text was plain strings, including the ones whose English sentences
were assembled piece by piece.
- 73 new keys in each catalog (302 total).
- Sentence restructures: the cloud-offer card's "X has a newer save for
Y" and its accepted-toast, the pairing card's "X wants to pair" with
its "over the internet / from {address}" sub-line now whole-sentence
keys with placeholders instead of English-order fragments; the sidebar's
hand-built "1 sync / 2 syncs in progress" plural moves into the catalog;
the new-games list keeps its enumeration but takes the "and"/","
joiners and "{n} more" from the catalog.
- ProtectionBadge now keys its labels and details by protection state,
so lib/protection.js stays untouched and its wording tests keep
passing; same for the palette's six kind chips.
- Reused existing keys where the string matched exactly: common.dismiss,
statusBar.pause, home.addGame.title, home.welcome.scanForSaves,
home.syncAllToast and the home.title/home.devices/home.cloudBackup/
about.changelog page names for the sidebar nav.
- Palette entry labels with lib values ("Go to {page}", pause lengths,
snapshot note labels) take the English value as a {placeholder} — the
lib/i18n split is a later batch, as with pauseLength() inside the
pause button's title. The shortcuts sheet's descriptions come from
lib/shortcuts.js and stay English for the same reason.
npx vitest run: 310/310 · vite build clean · catalogs aligned (0 missing, 0 extra).
|
Someone is attempting to deploy a commit to the sivadaboi's projects Team on Vercel. A member of the Team first needs to authorize it. |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Extracts the user-facing strings of the remaining shared / chrome components into the catalog (en / zh-Hans / zh-Hant), one key per sentence, grouped per component:
Notes
Intl.PluralRules; English uses{one, other}objects, Chinese uses the single{n}form.segments()like Home; no hintA/hintB splits.dev-publicafter PR i18n: offer Chinese by script (zh-Hans/zh-Hant) and extract the window shell #77 were still hardcoded: the NotificationHub "Clear all" button and the CommandPalette "Rename" entry. Both are extracted here too, addingnotifications.clearAll,notifications.clearAllTitleandpalette.renameGame.npm test287/287 ·vite buildclean · catalog alignment verified (344/344/344).lib/behavior changes.Verification
Translation and review: @Janlhin (simplified & traditional)