Skip to content

feat(i18n): add complete English and Chinese localization - #4

Merged
DrEden33773 merged 8 commits into
mainfrom
feat/i18n-v2-zh
Jul 24, 2026
Merged

feat(i18n): add complete English and Chinese localization#4
DrEden33773 merged 8 commits into
mainfrom
feat/i18n-v2-zh

Conversation

@MIAO-mia

@MIAO-mia MIAO-mia commented Jul 23, 2026

Copy link
Copy Markdown
Collaborator

Summary

Completes T23 with supported en, zh-CN, and zh-TW application/content localization while preserving canonical English domain fields and all user/OFF free text.

  • restores saved language before notification startup and rendering; explicit English overrides a Chinese device locale
  • maps Hans/CN/SG to Simplified Chinese and Hant/TW/HK/MO/unqualified zh to Traditional Chinese
  • localizes navigation, product flows, validation, safety copy, accessibility labels/defaults, notification copy/channel names, 36 ingredients, and 12 recipes
  • keeps search multilingual and Rescue ranking language-invariant
  • adds stable validation codes, typed translation keys, service-owned language switching, and locale-bearing reminder reconciliation without a SQLite migration
  • adds Expo 57 locale metadata and tiered Android verification

Local verification

  • npm run typecheck — PASS
  • npm run lint — PASS, 0 errors and 1 pre-existing development-only warning
  • npm test -- --runInBand — PASS, 58 suites / 162 tests
  • npm run export:android — PASS
  • npm run export:ios — PASS (export only; no iOS device claim)
  • Expo public config — PASS for all three supported locales
  • clean Expo Android prebuild plus :app:lintVitalRelease — PASS

CI boundary

Pull requests run the fast deterministic gates: typecheck, lint, 58 Jest suites / 162 tests, Android/iOS exports, and Windows/WSL contracts. Main pushes and manual runs additionally build and publish a cached x86_64 release APK.

Run 30092316784 completed the release APK build, then the hosted emulator disappeared (emulator-5554 not found) and the runner kept polling ADB. That run was cancelled instead of waiting for a known-bad surface to time out. The three Maestro journeys remain available through workflow_dispatch; they are supporting hosted-emulator evidence rather than a per-commit gate. Final Android surface acceptance remains in F1-F4, and no local Android-device or iOS-device claim is made here.

Evidence: qa/evidence/T23-i18n/

MIAO-mia added 3 commits July 24, 2026 01:24
Introduce limited i18n with English, zh-CN and zh-TW via i18next + react-i18next. Language persists in SQLite settings and can be switched in the Settings screen. Core screens (tabs, today, pantry, rescue, insights, settings, onboarding) now use translation keys. Jest setup with global react-i18next mock using English translations.
@MIAO-mia
MIAO-mia requested a review from DrEden33773 July 23, 2026 17:25
@DrEden33773 DrEden33773 changed the title Feat/i18n v2 zh feat(i18n): add complete English and Chinese localization Jul 24, 2026
@DrEden33773
DrEden33773 merged commit 0472d53 into main Jul 24, 2026
5 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.

2 participants