style(design): apply Minimal Dark Mode design system\n\n- Switched to complete Dark Mode (OLED-friendly)\n- Established standard color palette matching modern technical aesthetics\n- Changed font to Plus Jakarta Sans for increased legibility\n- Enforced dark mode as default in App.tsx\n- Fixed several React cascading render (setState in useEffect) warnings

This commit is contained in:
Gemini Nexus Bot committed 2026-04-28 03:49:34 -03:00
1 parent b80531f8a8
commit bac7b5591e
738 files changed
+138513 -138123

No files matched your search

@@ -1,30 +1,30 @@
# Design: Multilingual Support
## Architecture
The application uses `react-i18next` for i18n and `i18next-browser-languagedetector` for language detection. Configuration is centralized in `src/localization/i18n.ts`.
### Language Resources
Translation resources are built as JSON objects in `i18n.ts` (or split into files if they grow large).
We add a `zh-CN` key in the `resources` object.
### Default Language Strategy
We introduce the `LanguageDetector` plugin.
`i18n.use(LanguageDetector).init({...})` is configured to check `localStorage` first, then `navigator` (browser/system language).
`fallbackLng` remains `'en'` as the final fallback.
### Key Mapping
Existing English strings are mapped to semantic keys (for example, `home.title`, `settings.theme`).
## Data Flow
1. App starts.
2. `i18next` initializes and determines language via `LanguageDetector`:
* Check whether `localStorage` has a saved preference.
* If not, check `navigator.language`.
* If detected language is supported (`en` or `zh-CN`), use it.
* Otherwise, use `fallbackLng` (`en`).
3. Components use `useTranslation` to resolve strings for the active language.
# Design: Multilingual Support
## Architecture
The application uses `react-i18next` for i18n and `i18next-browser-languagedetector` for language detection. Configuration is centralized in `src/localization/i18n.ts`.
### Language Resources
Translation resources are built as JSON objects in `i18n.ts` (or split into files if they grow large).
We add a `zh-CN` key in the `resources` object.
### Default Language Strategy
We introduce the `LanguageDetector` plugin.
`i18n.use(LanguageDetector).init({...})` is configured to check `localStorage` first, then `navigator` (browser/system language).
`fallbackLng` remains `'en'` as the final fallback.
### Key Mapping
Existing English strings are mapped to semantic keys (for example, `home.title`, `settings.theme`).
## Data Flow
1. App starts.
2. `i18next` initializes and determines language via `LanguageDetector`:
* Check whether `localStorage` has a saved preference.
* If not, check `navigator.language`.
* If detected language is supported (`en` or `zh-CN`), use it.
* Otherwise, use `fallbackLng` (`en`).
3. Components use `useTranslation` to resolve strings for the active language.