Repository navigation
Conversation
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Overview
Changes ReviewedThis incremental update includes: Documentation:
API Routes (Improvements):
i18n Files:
AnalysisBoth API route changes add proper input validation using Zod schemas, which is an improvement over the previous minimal validation. The validation helpers are used correctly and error responses follow the expected format. The orphaned Verification
Files Reviewed (12 files)
Reviewed by minimax-m2.5-20260211 · 478,056 tokens |
There was a problem hiding this comment.
Code Review
This pull request introduces new localization keys for branding and whitelabeling features across multiple language files. Several review comments correctly identify that these new strings were added in English and require translation into their respective target languages. Additionally, one comment highlights a duplicate key issue in the Hindi localization file that was partially addressed, and others point out non-standard or deprecated language codes in the Filipino and Indonesian files that should be corrected for better standardization.
Move hardcoded ignore list from validate_translation.py into scripts/i18n/untranslatable-keys.json for easier maintenance. Add ignored count to quick-check output. Update list to 236 keys covering all intentionally untranslated strings.
The generator used deprecated Google Translate code 'in' instead of ISO 639-1 'hi', creating an orphaned in.json duplicate of hi.json. Fix code to 'hi' and remove the orphaned in.json file.
Create comprehensive i18n toolchain documentation covering:
- Architecture, runtime flow, supported locales table
- Auto-translation pipeline (Google Translate + LLM)
- Validation & QA tools with examples
- Untranslatable keys management
- CI integration, best practices, known issues
Add I18N.md to DOC_SOURCE_FILES so it gets auto-translated
to docs/i18n/{locale}/docs/I18N.md for all 30 locales.
Update validate_translation.py quick output to show ignored count.
|
Thanks @zen0bit for this great contribution! 🎉 This PR has been integrated into the release/v3.4.5 branch and will be part of the next release. We appreciate your effort! |
|
Integrated manually into release/v3.4.5 due to base branch merge conflicts. Will be released as part of v3.4.5. Thank you! |
…ted base-reds - Reconcile [3.8.33] CHANGELOG to 1:1 commit coverage (51 bullets) + env contract (QUOTA_PREFLIGHT_CUTOFF_ENABLED, KIRO_VERIFY_FULL_CRC) + README What's New range. - fix(translator): dedupe the duplicate input_audio handler in geminiHelper; mp3 normalizes to canonical audio/mpeg and the data: prefix is stripped (#912/#913). - fix(auth): wire admin-configured maxCooldownMs to all 4 markAccountUnavailable model-lockout sites (#4530 follow-up — combo.ts sites were already covered). - fix(api): add src/models/ to package.json files so the published --mcp closure ships it (#3578 gate). - test: align stale expectations to intentional code (10 essential MCP tools incl. web_fetch; busy_timeout 2s cap from v3.8.32). - chore(quality): rebaseline file-size for auth.ts 2279->2289 + db-core-init.test.ts.
…ted base-reds - Reconcile [3.8.33] CHANGELOG to 1:1 commit coverage (51 bullets) + env contract (QUOTA_PREFLIGHT_CUTOFF_ENABLED, KIRO_VERIFY_FULL_CRC) + README What's New range. - fix(translator): dedupe the duplicate input_audio handler in geminiHelper; mp3 normalizes to canonical audio/mpeg and the data: prefix is stripped (diegosouzapw#912/diegosouzapw#913). - fix(auth): wire admin-configured maxCooldownMs to all 4 markAccountUnavailable model-lockout sites (diegosouzapw#4530 follow-up — combo.ts sites were already covered). - fix(api): add src/models/ to package.json files so the published --mcp closure ships it (diegosouzapw#3578 gate). - test: align stale expectations to intentional code (10 essential MCP tools incl. web_fetch; busy_timeout 2s cap from v3.8.32). - chore(quality): rebaseline file-size for auth.ts 2279->2289 + db-core-init.test.ts.
Summary
Comprehensive i18n improvements across translations, validation tooling, generator fixes, and documentation.
Changes
🇨🇿 Czech Translation Updates
src/i18n/messages/cs.json(previously identical to en.json)🔧 Validation Tooling
UNTRANSLATABLE_KEYSfrom inline Python set toscripts/i18n/untranslatable-keys.json(236 keys)validate_translation.py quickoutput:Ignored (UNTRANSLATABLE_KEYS): 236🇮🇳 Hindi Code Fix
code: "in"→code: "hi"ingenerate-multilang.mjsLOCALE_SPECSsrc/i18n/messages/in.json(duplicate of hi.json with wrong filename)952b0b22cused deprecated Google Translate code📖 I18N Documentation
docs/I18N.md— comprehensive i18n toolchain documentation (~400 lines)DOC_SOURCE_FILESso it gets auto-translated to all 30 localesFiles Changed
src/i18n/messages/cs.json— 158 translations appliedscripts/validate_translation.py— external JSON loading, ignored count outputscripts/i18n/untranslatable-keys.json— new file (236 keys)scripts/i18n/generate-multilang.mjs—in→hifix,I18N.mdadded to docssrc/i18n/messages/in.json— deleted (orphaned)docs/I18N.md— new documentationValidation
python3 scripts/validate_translation.py quick -l cs→ Missing: 0, Untranslated: 0