Skip to content

fix: localize Cloud Sync settings - #2745

Merged
webbrain-one merged 2 commits into
webbrain-one:mainfrom
alectimison-maker:fix/cloud-sync-i18n
Aug 11, 2026
Merged

fix: localize Cloud Sync settings#2745
webbrain-one merged 2 commits into
webbrain-one:mainfrom
alectimison-maker:fix/cloud-sync-i18n

Conversation

@alectimison-maker

Copy link
Copy Markdown
Contributor

Fixes #2744

Summary

  • route the complete Cloud Sync settings card through the existing i18n system in Chrome and Firefox
  • add 42 explicit Cloud Sync strings to all 23 supported locales
  • refresh dynamic Cloud Sync status text when the locale changes
  • keep encryption, authentication, permissions, storage, and network behavior unchanged

Regression coverage

  • verifies both settings pages use localization bindings instead of hardcoded Cloud Sync copy
  • verifies both runtime implementations resolve dynamic Cloud Sync messages through t()
  • verifies every locale exposes the same 42 keys in Chrome and Firefox
  • verifies interpolation tokens and required HTML markup are preserved

Test plan

  • npm test — 33 rich-text toolbar tests
  • npm test — 1,618 core tests
  • npm test — 60/60 security tests
  • JavaScript syntax checks
  • locale parity and interpolation-token validation
  • git diff --check

Scope

This is a UI-localization-only change. It does not alter sync payloads, cryptography, authentication, permissions, persistence, or network requests.

@vercel

vercel Bot commented Aug 11, 2026

Copy link
Copy Markdown

@alectimison-maker is attempting to deploy a commit to the esokullu's projects Team on Vercel.

A member of the Team first needs to authorize it.

@alectimison-maker
alectimison-maker marked this pull request as ready for review August 11, 2026 08:06
@webbrain-one
webbrain-one requested a lite review from Copilot August 11, 2026 09:33

Copilot AI left a comment

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.

Pull request overview

This PR routes the Cloud Sync settings card (static markup + dynamic runtime messages) through the existing i18n system for both Chrome and Firefox builds, and adds regression coverage to prevent hard-coded Cloud Sync English copy from reappearing.

Changes:

  • Replaces Cloud Sync hard-coded settings markup with data-i18n / data-i18n-html bindings in Chrome + Firefox.
  • Updates Chrome + Firefox settings runtime logic to resolve Cloud Sync status/validation/confirm/pending/result text via t(), and refreshes dynamic status on locale changes.
  • Adds Cloud Sync locale-key completeness/parity tests and adds the 42 st.sync.* strings across all shipped locales.

Reviewed changes

Copilot reviewed 45 out of 51 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
test/run.js Adds regression test ensuring Cloud Sync UI/runtime copy is fully i18n-driven and locale surfaces are complete/parity-checked.
src/chrome/src/ui/settings.js Localizes Cloud Sync runtime strings via t() and refreshes dynamic sync status on locale changes.
src/chrome/src/ui/settings.html Converts Cloud Sync card markup to data-i18n / data-i18n-html.
src/firefox/src/ui/settings.js Localizes Cloud Sync runtime strings via t() and refreshes dynamic sync status on locale changes.
src/firefox/src/ui/settings.html Converts Cloud Sync card markup to data-i18n / data-i18n-html.
src/chrome/src/ui/locales/ar.js Adds st.sync.* translations for Arabic.
src/chrome/src/ui/locales/bn.js Adds st.sync.* translations for Bengali.
src/chrome/src/ui/locales/de.js Adds st.sync.* translations for German.
src/chrome/src/ui/locales/en.js Adds st.sync.* English source strings.
src/chrome/src/ui/locales/es.js Adds st.sync.* translations for Spanish.
src/chrome/src/ui/locales/fa.js Adds st.sync.* translations for Persian.
src/chrome/src/ui/locales/fr.js Adds st.sync.* translations for French.
src/chrome/src/ui/locales/he.js Adds st.sync.* translations for Hebrew.
src/chrome/src/ui/locales/hi.js Adds st.sync.* translations for Hindi.
src/chrome/src/ui/locales/id.js Adds st.sync.* translations for Indonesian.
src/chrome/src/ui/locales/ja.js Adds st.sync.* translations for Japanese.
src/chrome/src/ui/locales/ko.js Adds st.sync.* translations for Korean.
src/chrome/src/ui/locales/ms.js Adds st.sync.* translations for Malay.
src/chrome/src/ui/locales/nl.js Adds st.sync.* translations for Dutch.
src/chrome/src/ui/locales/pl.js Adds st.sync.* translations for Polish.
src/chrome/src/ui/locales/pt.js Adds st.sync.* translations for Portuguese.
src/chrome/src/ui/locales/ru.js Adds st.sync.* translations for Russian.
src/chrome/src/ui/locales/th.js Adds st.sync.* translations for Thai.
src/chrome/src/ui/locales/tl.js Adds st.sync.* translations for Tagalog.
src/chrome/src/ui/locales/tr.js Adds st.sync.* translations for Turkish.
src/chrome/src/ui/locales/uk.js Adds st.sync.* translations for Ukrainian.
src/chrome/src/ui/locales/vi.js Adds st.sync.* translations for Vietnamese.
src/chrome/src/ui/locales/zh.js Adds st.sync.* translations for Chinese.
src/firefox/src/ui/locales/ar.js Adds st.sync.* translations for Arabic.
src/firefox/src/ui/locales/bn.js Adds st.sync.* translations for Bengali.
src/firefox/src/ui/locales/de.js Adds st.sync.* translations for German.
src/firefox/src/ui/locales/en.js Adds st.sync.* English source strings.
src/firefox/src/ui/locales/es.js Adds st.sync.* translations for Spanish.
src/firefox/src/ui/locales/fa.js Adds st.sync.* translations for Persian.
src/firefox/src/ui/locales/fr.js Adds st.sync.* translations for French.
src/firefox/src/ui/locales/he.js Adds st.sync.* translations for Hebrew.
src/firefox/src/ui/locales/hi.js Adds st.sync.* translations for Hindi.
src/firefox/src/ui/locales/id.js Adds st.sync.* translations for Indonesian.
src/firefox/src/ui/locales/ja.js Adds st.sync.* translations for Japanese.
src/firefox/src/ui/locales/ko.js Adds st.sync.* translations for Korean.
src/firefox/src/ui/locales/ms.js Adds st.sync.* translations for Malay.
src/firefox/src/ui/locales/nl.js Adds st.sync.* translations for Dutch.
src/firefox/src/ui/locales/pl.js Adds st.sync.* translations for Polish.
src/firefox/src/ui/locales/pt.js Adds st.sync.* translations for Portuguese.
src/firefox/src/ui/locales/ru.js Adds st.sync.* translations for Russian.
src/firefox/src/ui/locales/th.js Adds st.sync.* translations for Thai.
src/firefox/src/ui/locales/tl.js Adds st.sync.* translations for Tagalog.
src/firefox/src/ui/locales/tr.js Adds st.sync.* translations for Turkish.
src/firefox/src/ui/locales/uk.js Adds st.sync.* translations for Ukrainian.
src/firefox/src/ui/locales/vi.js Adds st.sync.* translations for Vietnamese.
src/firefox/src/ui/locales/zh.js Adds st.sync.* translations for Chinese.
Files not reviewed (6)
  • src/chrome/src/ui/locales/bn.js: Generated file
  • src/chrome/src/ui/locales/hi.js: Generated file
  • src/chrome/src/ui/locales/ru.js: Generated file
  • src/chrome/src/ui/locales/th.js: Generated file
  • src/chrome/src/ui/locales/uk.js: Generated file
  • src/firefox/src/ui/locales/bn.js: Generated file

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/firefox/src/ui/locales/hi.js Outdated
Comment thread src/chrome/src/ui/locales/hi.js Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@webbrain-one
webbrain-one merged commit e3a7e9f into webbrain-one:main Aug 11, 2026
1 of 2 checks passed
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.

Cloud Sync settings bypass localization in all non-English locales

3 participants