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,59 +1,59 @@
# Spec: Localization
## ADDED Requirements
### Requirement: Automatic Language Detection
On first launch, the application MUST automatically detect the user's system language and set the corresponding UI language.
#### Scenario: System language is Chinese
Given the user opens the app for the first time
And the user's system language is set to Chinese (`zh-CN`)
And no language preference is saved in local storage
When the app loads
Then the UI should be displayed in Simplified Chinese (`zh-CN`)
#### Scenario: System language is non-Chinese
Given the user opens the app for the first time
And the user's system language is set to French (`fr`)
And no language preference is saved in local storage
When the app loads
Then the UI should fall back to English (`en`)
### Requirement: Language Switching
Users MUST be able to switch between supported languages, and manual selection MUST override automatic detection.
#### Scenario: Switch language
Given the user is on the settings page
When the user selects "English" from the language dropdown
Then the UI should switch to English immediately
And the preference should be saved to local storage
### Requirement: Persistence
The user's manual language preference MUST persist across sessions and take precedence over system language.
#### Scenario: Persist language preference
Given the user has manually selected "English" as preferred language
And the user's system language is Chinese
When the user restarts the app
Then the UI should display English (respecting user preference)
## MODIFIED Requirements
### Requirement: Update i18n Configuration
i18n configuration MUST be updated to support the language detection plugin.
#### Scenario: i18n configuration
`src/localization/i18n.ts` must be updated to:
1. Integrate `i18next-browser-languagedetector`.
2. Configure detection order as `['localStorage', 'navigator']`.
3. Include `zh-CN` resource objects.
# Spec: Localization
## ADDED Requirements
### Requirement: Automatic Language Detection
On first launch, the application MUST automatically detect the user's system language and set the corresponding UI language.
#### Scenario: System language is Chinese
Given the user opens the app for the first time
And the user's system language is set to Chinese (`zh-CN`)
And no language preference is saved in local storage
When the app loads
Then the UI should be displayed in Simplified Chinese (`zh-CN`)
#### Scenario: System language is non-Chinese
Given the user opens the app for the first time
And the user's system language is set to French (`fr`)
And no language preference is saved in local storage
When the app loads
Then the UI should fall back to English (`en`)
### Requirement: Language Switching
Users MUST be able to switch between supported languages, and manual selection MUST override automatic detection.
#### Scenario: Switch language
Given the user is on the settings page
When the user selects "English" from the language dropdown
Then the UI should switch to English immediately
And the preference should be saved to local storage
### Requirement: Persistence
The user's manual language preference MUST persist across sessions and take precedence over system language.
#### Scenario: Persist language preference
Given the user has manually selected "English" as preferred language
And the user's system language is Chinese
When the user restarts the app
Then the UI should display English (respecting user preference)
## MODIFIED Requirements
### Requirement: Update i18n Configuration
i18n configuration MUST be updated to support the language detection plugin.
#### Scenario: i18n configuration
`src/localization/i18n.ts` must be updated to:
1. Integrate `i18next-browser-languagedetector`.
2. Configure detection order as `['localStorage', 'navigator']`.
3. Include `zh-CN` resource objects.