Skip to content

feat: chrome translation — settings + vocab + self-compassion (final, ~32 sites) - #52

Merged
TrainTravel merged 1 commit into
mainfrom
feat/chrome-translation-settings-misc
May 27, 2026
Merged

feat: chrome translation — settings + vocab + self-compassion (final, ~32 sites)#52
TrainTravel merged 1 commit into
mainfrom
feat/chrome-translation-settings-misc

Conversation

@TrainTravel

Copy link
Copy Markdown
Owner

Summary

Final pass of the chrome translation sweep. Adds Japanese, Simplified Chinese, and Traditional Chinese keys to settings screens, vocabulary view, theme/font pickers, and the self-compassion components.

Files (~32 t() / bilingual() sites total):

  • LanguageSettingsScreen.tsx
  • VocabularyScreen.tsx
  • GardenThemeSelector.tsx
  • FontPicker.tsx
  • SelfCompassionPractice.tsx
  • SelfCompassionSeed.tsx (extends the STEP_FR/EN/ES arrays with STEP_JA/ZH_HANS/ZH_HANT so the daily-step bilingual label localizes properly)

Also unifies the Brain Dump translation in LanguageSettingsScreen's preview card with the value used everywhere else (脳のメモ / 想法清空 / 想法清空 — was previously the off-pattern 清空大脑/清空大腦).

Translation samples

  • Language settings言語設定 / 语言设置 / 語言設定
  • I'm learning学んでいる言語 / 正在学习 / 正在學習
  • Your emotion vocabularyあなたの感情の語彙 / 你的情绪词汇 / 你的情緒詞彙
  • Self-compassion自分への思いやり / 自我关怀 / 自我關懷
  • Mindfulness (Neff step) → 今この瞬間に気づく / 正念 / 正念
  • Choose a garden庭を選ぶ / 选一个花园 / 選一個花園

Known carve-outs (intentional)

  • Language-NAME strings (opt.native / opt.en in LanguageSettingsScreen, "French journaling practice" subtitle on HomeScreen, "Practice French Conversation" in ChatScreen) are part of the LANGUAGE_NAMES architectural refactor the user flagged as a separate concern.
  • ChatScreen has ~10 hard-coded isFr/isEs/isZh ternaries — same pre-existing pattern as ReflectionScreen / FeedbackScreen (per the PR feat: chrome translation — reflection flow (3 screens) #46 carve-out note). Not t() sites, out of scope for chrome-translation.

Test plan

  • tsc --noEmit passes
  • vitest run — 14 files / 198 tests pass
  • Manual: switch primary to ja, open gear → Language settings
  • Manual: switch primary to zh-Hans, open Vocabulary screen, cycle through filter chips
  • Manual: trigger Self-compassion practice (long emotion-write entry) in zh-Hant

Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com

…Hans/zh-Hant)

Final pass of the chrome translation sweep. Adds Japanese, Simplified
Chinese, and Traditional Chinese keys to:

- LanguageSettingsScreen.tsx
- VocabularyScreen.tsx
- GardenThemeSelector.tsx
- FontPicker.tsx
- SelfCompassionPractice.tsx
- SelfCompassionSeed.tsx (extends STEP_FR/EN/ES arrays with
  STEP_JA/ZH_HANS/ZH_HANT so the daily-step bilingual label
  localizes properly)

~32 t()/bilingual() sites total. Also unifies the Brain Dump
translation in LanguageSettingsScreen's preview card with the value
used everywhere else (脳のメモ / 想法清空 / 想法清空 — was
previously the off-pattern 清空大脑/清空大腦).

Known carve-outs (intentional, flagged in PR body):
- Language-NAME strings (opt.native/opt.en) are part of the
  LANGUAGE_NAMES architectural refactor, separate PR.
- ChatScreen's ~10 hard-coded isFr/isEs/isZh ternaries — same
  pre-existing pattern as ReflectionScreen / FeedbackScreen, not t()
  sites, out of scope.

Register: polite Japanese (です・ます), neutral Mandarin (S/T
distinguished — 设置/設定, 学习/學習, 主题/主題).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@TrainTravel
TrainTravel force-pushed the feat/chrome-translation-settings-misc branch from f1384fa to cbc4561 Compare May 27, 2026 07:03
@TrainTravel
TrainTravel merged commit fde59ab into main May 27, 2026
1 check failed
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.

1 participant