-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
feat(i18n): add Simplified and Traditional Chinese language support #651
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
Add complete i18n support for Chinese languages with 1,046 translation keys each covering all UI namespaces (common, navigation, settings, tasks, welcome, onboarding, dialogs, gitlab, taskReview, terminal). Simplified Chinese (zh-CN): - Uses simplified characters (项目, 显示, 设置) - Follows mainland China terminology (拉取请求, 仓库, 工作树) Traditional Chinese (zh-TW): - Uses traditional characters (專案, 顯示, 設定) - Follows Taiwan terminology (提取請求, 存儲庫, 工作區) All translation keys validated for structural consistency with English source. Language switcher in Settings automatically displays new options with immediate effect.
📝 WalkthroughWalkthroughAdds Simplified Chinese ( Changes
Sequence Diagram(s)(omitted — changes are localization assets and config; no new multi-component control flow) Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested reviewers
Pre-merge checks✅ Passed checks (3 passed)
📜 Recent review detailsConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro 📒 Files selected for processing (5)
🧰 Additional context used📓 Path-based instructions (1)apps/frontend/src/shared/i18n/locales/**/*.json📄 CodeRabbit inference engine (CLAUDE.md)
Files:
🧠 Learnings (4)📓 Common learnings📚 Learning: 2025-12-30T16:38:36.314ZApplied to files:
📚 Learning: 2025-12-30T16:38:36.314ZApplied to files:
📚 Learning: 2025-12-30T16:38:36.314ZApplied to files:
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
🔇 Additional comments (5)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary of ChangesHello @keoy7am, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly enhances the application's internationalization capabilities by introducing full support for Simplified and Traditional Chinese. This initiative aims to provide a more inclusive and native user experience for Chinese-speaking users by meticulously translating all UI elements and adhering to regional linguistic nuances. The implementation is additive, leveraging the existing i18n framework, and allows users to easily switch to the new languages through settings. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎉 Thanks for your first PR!
A maintainer will review it soon. Please make sure:
- Your branch is synced with
develop - CI checks pass
- You've followed our contribution guide
Welcome to the Auto Claude community!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds comprehensive Simplified Chinese (zh-CN) and Traditional Chinese (zh-TW) language support to Auto Claude, expanding the application's accessibility to Chinese-speaking users. The implementation includes complete translations across all 10 translation namespaces with proper regional terminology and character conventions.
Key Changes
- Added 20 new translation files (10 for zh-CN, 10 for zh-TW) covering all UI elements
- Updated configuration to register both Chinese language variants
- Implemented region-specific terminology conventions (mainland China vs Taiwan)
Reviewed changes
Copilot reviewed 22 out of 22 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
apps/frontend/src/shared/constants/i18n.ts |
Added 'zh-CN' and 'zh-TW' to supported language types and display labels |
apps/frontend/src/shared/i18n/index.ts |
Imported and registered Chinese translation resources for both variants |
apps/frontend/src/shared/i18n/locales/zh-CN/*.json |
Simplified Chinese translations with mainland terminology (项目, 拉取请求, 服务器) |
apps/frontend/src/shared/i18n/locales/zh-TW/*.json |
Traditional Chinese translations with Taiwan terminology (專案, 提取請求, 伺服器) |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request introduces full support for Simplified Chinese (zh-CN) and Traditional Chinese (zh-TW) languages. The changes involve updating the SupportedLanguage type and AVAILABLE_LANGUAGES constant in i18n.ts, importing new locale JSON files for both languages in index.ts, and adding all the corresponding translated JSON files. Review comments suggest improving the accuracy of Simplified Chinese translations for 'critical' severity and 'blocking issues' by using more appropriate technical terms, and adding missing measure words ('個') in several Traditional Chinese phrases to ensure grammatical correctness when numbers are used.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (22)
apps/frontend/src/shared/constants/i18n.tsapps/frontend/src/shared/i18n/index.tsapps/frontend/src/shared/i18n/locales/zh-CN/common.jsonapps/frontend/src/shared/i18n/locales/zh-CN/dialogs.jsonapps/frontend/src/shared/i18n/locales/zh-CN/gitlab.jsonapps/frontend/src/shared/i18n/locales/zh-CN/navigation.jsonapps/frontend/src/shared/i18n/locales/zh-CN/onboarding.jsonapps/frontend/src/shared/i18n/locales/zh-CN/settings.jsonapps/frontend/src/shared/i18n/locales/zh-CN/taskReview.jsonapps/frontend/src/shared/i18n/locales/zh-CN/tasks.jsonapps/frontend/src/shared/i18n/locales/zh-CN/terminal.jsonapps/frontend/src/shared/i18n/locales/zh-CN/welcome.jsonapps/frontend/src/shared/i18n/locales/zh-TW/common.jsonapps/frontend/src/shared/i18n/locales/zh-TW/dialogs.jsonapps/frontend/src/shared/i18n/locales/zh-TW/gitlab.jsonapps/frontend/src/shared/i18n/locales/zh-TW/navigation.jsonapps/frontend/src/shared/i18n/locales/zh-TW/onboarding.jsonapps/frontend/src/shared/i18n/locales/zh-TW/settings.jsonapps/frontend/src/shared/i18n/locales/zh-TW/taskReview.jsonapps/frontend/src/shared/i18n/locales/zh-TW/tasks.jsonapps/frontend/src/shared/i18n/locales/zh-TW/terminal.jsonapps/frontend/src/shared/i18n/locales/zh-TW/welcome.json
🧰 Additional context used
📓 Path-based instructions (4)
apps/frontend/src/shared/i18n/locales/**/*.json
📄 CodeRabbit inference engine (CLAUDE.md)
apps/frontend/src/shared/i18n/locales/**/*.json: Store translation strings in namespace-organized JSON files atapps/frontend/src/shared/i18n/locales/{lang}/*.jsonfor each supported language
When implementing new frontend features, add translation keys to all language files (minimum: en/.json and fr/.json)
Files:
apps/frontend/src/shared/i18n/locales/zh-TW/dialogs.jsonapps/frontend/src/shared/i18n/locales/zh-TW/settings.jsonapps/frontend/src/shared/i18n/locales/zh-TW/gitlab.jsonapps/frontend/src/shared/i18n/locales/zh-TW/welcome.jsonapps/frontend/src/shared/i18n/locales/zh-TW/taskReview.jsonapps/frontend/src/shared/i18n/locales/zh-TW/onboarding.jsonapps/frontend/src/shared/i18n/locales/zh-CN/navigation.jsonapps/frontend/src/shared/i18n/locales/zh-TW/terminal.jsonapps/frontend/src/shared/i18n/locales/zh-CN/terminal.jsonapps/frontend/src/shared/i18n/locales/zh-CN/onboarding.jsonapps/frontend/src/shared/i18n/locales/zh-TW/tasks.jsonapps/frontend/src/shared/i18n/locales/zh-CN/tasks.jsonapps/frontend/src/shared/i18n/locales/zh-CN/common.jsonapps/frontend/src/shared/i18n/locales/zh-CN/welcome.jsonapps/frontend/src/shared/i18n/locales/zh-CN/gitlab.jsonapps/frontend/src/shared/i18n/locales/zh-TW/navigation.jsonapps/frontend/src/shared/i18n/locales/zh-CN/taskReview.jsonapps/frontend/src/shared/i18n/locales/zh-TW/common.jsonapps/frontend/src/shared/i18n/locales/zh-CN/dialogs.jsonapps/frontend/src/shared/i18n/locales/zh-CN/settings.json
apps/frontend/src/**/*.{ts,tsx,jsx}
📄 CodeRabbit inference engine (CLAUDE.md)
Always use i18n translation keys for all user-facing text in the frontend instead of hardcoded strings
Files:
apps/frontend/src/shared/i18n/index.tsapps/frontend/src/shared/constants/i18n.ts
apps/frontend/src/**/*.{ts,tsx}
📄 CodeRabbit inference engine (CLAUDE.md)
Use
useTranslation()hook with namespace prefixes (e.g., 'navigation:items.key') for accessing translation strings in React components
Files:
apps/frontend/src/shared/i18n/index.tsapps/frontend/src/shared/constants/i18n.ts
apps/frontend/**/*.{ts,tsx}
⚙️ CodeRabbit configuration file
apps/frontend/**/*.{ts,tsx}: Review React patterns and TypeScript type safety.
Check for proper state management and component composition.
Files:
apps/frontend/src/shared/i18n/index.tsapps/frontend/src/shared/constants/i18n.ts
🧠 Learnings (5)
📓 Common learnings
Learnt from: CR
Repo: AndyMik90/Auto-Claude PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-30T16:38:36.314Z
Learning: Applies to apps/frontend/src/shared/i18n/locales/**/*.json : When implementing new frontend features, add translation keys to all language files (minimum: en/*.json and fr/*.json)
Learnt from: CR
Repo: AndyMik90/Auto-Claude PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-30T16:38:36.314Z
Learning: Applies to apps/frontend/src/shared/i18n/locales/**/*.json : Store translation strings in namespace-organized JSON files at `apps/frontend/src/shared/i18n/locales/{lang}/*.json` for each supported language
📚 Learning: 2025-12-30T16:38:36.314Z
Learnt from: CR
Repo: AndyMik90/Auto-Claude PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-30T16:38:36.314Z
Learning: Applies to apps/frontend/src/shared/i18n/locales/**/*.json : When implementing new frontend features, add translation keys to all language files (minimum: en/*.json and fr/*.json)
Applied to files:
apps/frontend/src/shared/i18n/locales/zh-TW/dialogs.jsonapps/frontend/src/shared/i18n/locales/zh-TW/settings.jsonapps/frontend/src/shared/i18n/locales/zh-TW/gitlab.jsonapps/frontend/src/shared/i18n/locales/zh-TW/welcome.jsonapps/frontend/src/shared/i18n/locales/zh-TW/onboarding.jsonapps/frontend/src/shared/i18n/locales/zh-CN/navigation.jsonapps/frontend/src/shared/i18n/locales/zh-TW/terminal.jsonapps/frontend/src/shared/i18n/locales/zh-CN/terminal.jsonapps/frontend/src/shared/i18n/locales/zh-CN/onboarding.jsonapps/frontend/src/shared/i18n/locales/zh-TW/tasks.jsonapps/frontend/src/shared/i18n/locales/zh-CN/tasks.jsonapps/frontend/src/shared/i18n/index.tsapps/frontend/src/shared/i18n/locales/zh-CN/common.jsonapps/frontend/src/shared/i18n/locales/zh-CN/welcome.jsonapps/frontend/src/shared/i18n/locales/zh-CN/gitlab.jsonapps/frontend/src/shared/i18n/locales/zh-TW/navigation.jsonapps/frontend/src/shared/i18n/locales/zh-CN/taskReview.jsonapps/frontend/src/shared/i18n/locales/zh-TW/common.jsonapps/frontend/src/shared/i18n/locales/zh-CN/dialogs.jsonapps/frontend/src/shared/constants/i18n.tsapps/frontend/src/shared/i18n/locales/zh-CN/settings.json
📚 Learning: 2025-12-30T16:38:36.314Z
Learnt from: CR
Repo: AndyMik90/Auto-Claude PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-30T16:38:36.314Z
Learning: Applies to apps/frontend/src/shared/i18n/locales/**/*.json : Store translation strings in namespace-organized JSON files at `apps/frontend/src/shared/i18n/locales/{lang}/*.json` for each supported language
Applied to files:
apps/frontend/src/shared/i18n/locales/zh-TW/dialogs.jsonapps/frontend/src/shared/i18n/locales/zh-TW/settings.jsonapps/frontend/src/shared/i18n/locales/zh-TW/gitlab.jsonapps/frontend/src/shared/i18n/locales/zh-TW/onboarding.jsonapps/frontend/src/shared/i18n/locales/zh-CN/navigation.jsonapps/frontend/src/shared/i18n/locales/zh-TW/terminal.jsonapps/frontend/src/shared/i18n/locales/zh-CN/terminal.jsonapps/frontend/src/shared/i18n/locales/zh-CN/onboarding.jsonapps/frontend/src/shared/i18n/locales/zh-TW/tasks.jsonapps/frontend/src/shared/i18n/locales/zh-CN/tasks.jsonapps/frontend/src/shared/i18n/index.tsapps/frontend/src/shared/i18n/locales/zh-CN/common.jsonapps/frontend/src/shared/i18n/locales/zh-CN/welcome.jsonapps/frontend/src/shared/i18n/locales/zh-CN/gitlab.jsonapps/frontend/src/shared/i18n/locales/zh-TW/navigation.jsonapps/frontend/src/shared/i18n/locales/zh-TW/common.jsonapps/frontend/src/shared/i18n/locales/zh-CN/dialogs.jsonapps/frontend/src/shared/constants/i18n.tsapps/frontend/src/shared/i18n/locales/zh-CN/settings.json
📚 Learning: 2025-12-30T16:38:36.314Z
Learnt from: CR
Repo: AndyMik90/Auto-Claude PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-30T16:38:36.314Z
Learning: Applies to apps/frontend/src/**/*.{ts,tsx,jsx} : Always use i18n translation keys for all user-facing text in the frontend instead of hardcoded strings
Applied to files:
apps/frontend/src/shared/i18n/locales/zh-TW/onboarding.jsonapps/frontend/src/shared/i18n/locales/zh-CN/navigation.jsonapps/frontend/src/shared/i18n/locales/zh-CN/onboarding.jsonapps/frontend/src/shared/i18n/index.tsapps/frontend/src/shared/i18n/locales/zh-TW/common.jsonapps/frontend/src/shared/i18n/locales/zh-CN/dialogs.jsonapps/frontend/src/shared/constants/i18n.ts
📚 Learning: 2025-12-30T16:38:36.314Z
Learnt from: CR
Repo: AndyMik90/Auto-Claude PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-30T16:38:36.314Z
Learning: Applies to apps/frontend/src/**/*.{ts,tsx} : Use `useTranslation()` hook with namespace prefixes (e.g., 'navigation:items.key') for accessing translation strings in React components
Applied to files:
apps/frontend/src/shared/i18n/index.ts
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: Agent
- GitHub Check: CodeQL analysis (javascript-typescript)
🔇 Additional comments (23)
apps/frontend/src/shared/i18n/locales/zh-TW/taskReview.json (1)
1-7: LGTM! Traditional Chinese translations added correctly.The taskReview namespace translations are properly structured with appropriate Traditional Chinese characters for the Taiwan locale.
apps/frontend/src/shared/i18n/locales/zh-CN/taskReview.json (1)
1-7: LGTM! Simplified Chinese translations added correctly.The taskReview namespace translations properly use Simplified Chinese characters appropriate for the mainland China locale.
apps/frontend/src/shared/constants/i18n.ts (2)
6-6: LGTM! Language type properly extended.The SupportedLanguage type correctly adds both Chinese variants, maintaining type safety across the application.
8-13: Chinese language support properly configured with complete translations.The AVAILABLE_LANGUAGES array correctly adds both Simplified Chinese (zh-CN) and Traditional Chinese (zh-TW) with appropriate labels. All 10 namespace translation files are present and properly registered in the i18n resource configuration for both variants, maintaining consistency with existing locales (en, fr).
apps/frontend/src/shared/i18n/locales/zh-TW/dialogs.json (1)
1-129: LGTM! Comprehensive Traditional Chinese dialog translations.The dialogs namespace is properly structured with all dialog sections translated into Traditional Chinese. Interpolation variables (e.g., {{branchName}}, {{projectName}}) are correctly preserved.
apps/frontend/src/shared/i18n/locales/zh-CN/tasks.json (1)
1-102: LGTM! Comprehensive Simplified Chinese task translations.The tasks namespace is properly structured with all sections translated into Simplified Chinese, including nested structures for execution phases and kanban board labels.
apps/frontend/src/shared/i18n/locales/zh-CN/common.json (1)
1-246: LGTM! Comprehensive Simplified Chinese (zh-CN) translations.The translation file is structurally sound with all interpolation variables correctly preserved (e.g.,
{{count}},{{time}},{{source}},{{name}}). The translations follow Simplified Chinese conventions appropriate for mainland China, and pluralization keys follow i18next standards with the_pluralsuffix.As per coding guidelines, these translations are correctly organized in namespace-specific JSON files at the expected path structure.
apps/frontend/src/shared/i18n/locales/zh-TW/navigation.json (1)
1-50: LGTM! Traditional Chinese (zh-TW) navigation translations with appropriate regional terminology.The translations correctly use Traditional Chinese characters and Taiwan-specific terminology (e.g., "專案" for project, "代理程式" for agents, "資料夾" for folder). The structure aligns with the navigation namespace and follows the established i18n organization pattern.
apps/frontend/src/shared/i18n/locales/zh-CN/welcome.json (1)
1-16: LGTM! Simplified Chinese (zh-CN) welcome screen translations.The welcome screen translations are concise and follow Simplified Chinese conventions. The terminology is consistent with the broader zh-CN locale (e.g., "项目" for project).
apps/frontend/src/shared/i18n/locales/zh-TW/welcome.json (1)
1-16: LGTM! Traditional Chinese (zh-TW) welcome screen translations with regional variants.The translations appropriately use Traditional Chinese characters and Taiwan-specific terminology (e.g., "專案" instead of "项目", "代理程式" instead of "代理"). The structure matches the zh-CN welcome file with correct regional adaptations.
apps/frontend/src/shared/i18n/locales/zh-TW/onboarding.json (1)
1-139: LGTM! Comprehensive Traditional Chinese (zh-TW) onboarding translations.The onboarding translations provide detailed Traditional Chinese content across all wizard steps (welcome, oauth, memory, claudeCode, devtools, ollama). The terminology is consistent with Taiwan regional conventions and maintains coherence with other zh-TW locale files (e.g., "專案", "代理程式", "設定").
apps/frontend/src/shared/i18n/index.ts (1)
28-102: LGTM! Well-structured locale integration.The zh-CN and zh-TW locale resources are properly imported and registered following the established pattern. The implementation is clean and consistent with existing en and fr locales.
apps/frontend/src/shared/i18n/locales/zh-CN/navigation.json (1)
1-50: LGTM! Appropriate Simplified Chinese translations.The navigation translations correctly use Simplified Chinese characters and maintain appropriate terminology for mainland China users. Brand names (GitHub, GitLab, Claude Code, MCP) are properly kept in English, which is the standard practice.
apps/frontend/src/shared/i18n/locales/zh-TW/terminal.json (1)
1-26: LGTM! Proper Traditional Chinese translations.The terminal/worktree translations use appropriate Traditional Chinese characters and terminology. Interpolation variables for branch names are correctly preserved.
apps/frontend/src/shared/i18n/locales/zh-TW/gitlab.json (1)
1-208: LGTM! Comprehensive and well-structured GitLab translations.The GitLab integration translations are thorough and properly localized for Traditional Chinese (Taiwan). Technical terminology is handled appropriately with English brand names and technical terms preserved where standard practice dictates (OAuth, CLI, API, GitLab).
The nested structure for settings, review statuses, severity levels, and categories is well-organized and matches the complexity of the feature.
apps/frontend/src/shared/i18n/locales/zh-TW/settings.json (1)
1-431: Excellent Traditional Chinese localization for settings UI!The Traditional Chinese (zh-TW) settings translations are comprehensive and well-structured. The file properly:
- Covers all settings sections with appropriate Traditional Chinese characters and Taiwan-specific terminology
- Preserves interpolation variables (e.g.,
{{projectName}},{{count}},{{agent}},{{branch}})- Follows the namespace organization pattern at
apps/frontend/src/shared/i18n/locales/zh-TW/settings.json- Maintains consistent key structure across all nested sections
This additive change enhances the application's accessibility for Traditional Chinese users.
Based on coding guidelines, translation files should be stored in namespace-organized JSON files at the specified path pattern, which is correctly followed here.
apps/frontend/src/shared/i18n/locales/zh-CN/settings.json (1)
1-431: Excellent Simplified Chinese localization for settings UI!The Simplified Chinese (zh-CN) settings translations are comprehensive and properly adapted for mainland China users. The file:
- Uses appropriate Simplified Chinese characters and mainland terminology
- Maintains parallel structure with the zh-TW variant while respecting regional language differences
- Correctly preserves all interpolation variables (e.g.,
{{projectName}},{{count}},{{agent}},{{branch}})- Follows the namespace organization pattern at
apps/frontend/src/shared/i18n/locales/zh-CN/settings.jsonThis additive change provides complete settings UI localization for Simplified Chinese users.
Based on coding guidelines, this correctly stores translation strings in the namespace-organized JSON file pattern.
apps/frontend/src/shared/i18n/locales/zh-CN/onboarding.json (1)
1-139: Well-structured Simplified Chinese onboarding translations!The zh-CN onboarding localization provides comprehensive coverage of the setup wizard flow. The file:
- Covers all onboarding sections (wizard, welcome, oauth, memory, completion, Claude Code setup, devtools, Ollama)
- Uses appropriate Simplified Chinese characters and terminology
- Properly organizes nested keys for multi-step onboarding flows
- Follows the namespace pattern at
apps/frontend/src/shared/i18n/locales/zh-CN/onboarding.jsonThis enhances the first-run experience for Simplified Chinese users.
Based on coding guidelines, this follows the correct namespace-organized JSON file pattern for translations.
apps/frontend/src/shared/i18n/locales/zh-CN/terminal.json (1)
1-26: Clean and focused Simplified Chinese terminal translations!The zh-CN terminal localization provides concise translations for worktree functionality. The file:
- Covers all worktree-related UI strings with appropriate Simplified Chinese
- Correctly preserves interpolation variables (e.g.,
{{branch}}at lines 17, 20)- Follows the namespace organization at
apps/frontend/src/shared/i18n/locales/zh-CN/terminal.json- Maintains clear, professional terminology for terminal/workspace concepts
This completes the terminal UI localization for Simplified Chinese users.
Based on coding guidelines, this correctly implements the namespace-organized JSON file pattern.
apps/frontend/src/shared/i18n/locales/zh-CN/dialogs.json (1)
1-129: Comprehensive Simplified Chinese dialog translations!The zh-CN dialogs localization provides complete coverage of all application dialogs. The file:
- Covers all dialog types (initialize, gitSetup, githubSetup, worktrees, update, addFeature, addProject, customModel, removeProject)
- Uses appropriate Simplified Chinese characters and terminology
- Correctly preserves interpolation variables (e.g.,
{{branchName}}at line 41,{{projectName}}at line 124)- Follows the namespace pattern at
apps/frontend/src/shared/i18n/locales/zh-CN/dialogs.json- Maintains professional, clear language for technical concepts
This provides complete dialog UI localization for Simplified Chinese users.
Based on coding guidelines, this correctly stores translation strings in namespace-organized JSON files as specified.
apps/frontend/src/shared/i18n/locales/zh-CN/gitlab.json (2)
1-208: Translation file structure looks good.The JSON structure is valid and follows the proper namespace organization pattern. The Simplified Chinese translations use appropriate mainland China conventions and terminology.
Based on learnings, this file correctly follows the guideline to store translation strings in namespace-organized JSON files at the specified path structure.
136-137: The translation strings at lines 136-137 match the English source format exactly and do not require interpolation variables. The English gitlab.json also uses "new commit" and "new commits" without{{count}}placeholders, indicating the application handles count/pluralization separately. All language files (English, French, and Simplified Chinese) follow this same consistent pattern without embedded variables.Likely an incorrect or invalid review comment.
apps/frontend/src/shared/i18n/locales/zh-TW/tasks.json (1)
1-102: Excellent Traditional Chinese translations.The file uses proper Traditional Chinese characters consistently throughout (e.g., 清單, 進行, 開啟) and appropriate Taiwan conventions. The JSON structure is valid and follows the correct namespace organization pattern.
Based on learnings, this file correctly implements translation keys in the proper language file structure.
Add missing {{count}} variables to 4 status description strings to enable dynamic content display. Without these variables, the UI cannot show the actual count of findings or blocking issues.
Fixes:
- reviewCompleteDesc: "找到项发现" → "找到 {{count}} 项发现"
- waitingForChangesDesc: "项发现已发布" → "{{count}} 项发现已发布"
- needsAttentionDesc: "项发现需要发布" → "{{count}} 项发现需要发布"
- blockingIssuesDesc: "个阻止问题" → "{{count}} 个阻止问题"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 4
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (5)
apps/frontend/src/shared/i18n/locales/zh-CN/common.jsonapps/frontend/src/shared/i18n/locales/zh-CN/gitlab.jsonapps/frontend/src/shared/i18n/locales/zh-CN/tasks.jsonapps/frontend/src/shared/i18n/locales/zh-TW/common.jsonapps/frontend/src/shared/i18n/locales/zh-TW/gitlab.json
🧰 Additional context used
📓 Path-based instructions (1)
apps/frontend/src/shared/i18n/locales/**/*.json
📄 CodeRabbit inference engine (CLAUDE.md)
apps/frontend/src/shared/i18n/locales/**/*.json: Store translation strings in namespace-organized JSON files atapps/frontend/src/shared/i18n/locales/{lang}/*.jsonfor each supported language
When implementing new frontend features, add translation keys to all language files (minimum: en/.json and fr/.json)
Files:
apps/frontend/src/shared/i18n/locales/zh-CN/tasks.jsonapps/frontend/src/shared/i18n/locales/zh-CN/common.jsonapps/frontend/src/shared/i18n/locales/zh-TW/common.jsonapps/frontend/src/shared/i18n/locales/zh-CN/gitlab.jsonapps/frontend/src/shared/i18n/locales/zh-TW/gitlab.json
🧠 Learnings (3)
📓 Common learnings
Learnt from: CR
Repo: AndyMik90/Auto-Claude PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-30T16:38:36.314Z
Learning: Applies to apps/frontend/src/shared/i18n/locales/**/*.json : When implementing new frontend features, add translation keys to all language files (minimum: en/*.json and fr/*.json)
Learnt from: CR
Repo: AndyMik90/Auto-Claude PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-30T16:38:36.314Z
Learning: Applies to apps/frontend/src/shared/i18n/locales/**/*.json : Store translation strings in namespace-organized JSON files at `apps/frontend/src/shared/i18n/locales/{lang}/*.json` for each supported language
📚 Learning: 2025-12-30T16:38:36.314Z
Learnt from: CR
Repo: AndyMik90/Auto-Claude PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-30T16:38:36.314Z
Learning: Applies to apps/frontend/src/shared/i18n/locales/**/*.json : When implementing new frontend features, add translation keys to all language files (minimum: en/*.json and fr/*.json)
Applied to files:
apps/frontend/src/shared/i18n/locales/zh-CN/tasks.jsonapps/frontend/src/shared/i18n/locales/zh-CN/common.jsonapps/frontend/src/shared/i18n/locales/zh-TW/common.jsonapps/frontend/src/shared/i18n/locales/zh-CN/gitlab.jsonapps/frontend/src/shared/i18n/locales/zh-TW/gitlab.json
📚 Learning: 2025-12-30T16:38:36.314Z
Learnt from: CR
Repo: AndyMik90/Auto-Claude PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-30T16:38:36.314Z
Learning: Applies to apps/frontend/src/shared/i18n/locales/**/*.json : Store translation strings in namespace-organized JSON files at `apps/frontend/src/shared/i18n/locales/{lang}/*.json` for each supported language
Applied to files:
apps/frontend/src/shared/i18n/locales/zh-CN/tasks.jsonapps/frontend/src/shared/i18n/locales/zh-CN/common.jsonapps/frontend/src/shared/i18n/locales/zh-TW/common.jsonapps/frontend/src/shared/i18n/locales/zh-CN/gitlab.jsonapps/frontend/src/shared/i18n/locales/zh-TW/gitlab.json
🔇 Additional comments (10)
apps/frontend/src/shared/i18n/locales/zh-CN/common.json (1)
173-182: Terminology fix from previous review has been applied.The
severity.criticalvalue has been correctly updated to "阻塞项" as suggested in the previous review, which is more natural technical terminology in Simplified Chinese compared to the literal "阻止程序".apps/frontend/src/shared/i18n/locales/zh-CN/tasks.json (1)
1-102: File structure and translations are well-organized.The task namespace translations follow proper structure with clear categorization (status, actions, labels, execution phases, etc.). The file correctly uses namespace-organized JSON format per coding guidelines.
apps/frontend/src/shared/i18n/locales/zh-CN/gitlab.json (1)
151-166: Previous review issues have been addressed.The
{{count}}interpolation variables have been correctly added toreviewCompleteDesc,waitingForChangesDesc,needsAttentionDesc, andblockingIssuesDesc. The terminology "阻塞性问题" is also properly applied.apps/frontend/src/shared/i18n/locales/zh-TW/gitlab.json (3)
136-137: Past review comments have been addressed.The missing measure words ("個") flagged in previous reviews have been correctly added to
newCommits,newCommitsPlural,blockingIssuesDesc,newIssue, andnewIssues. The grammar now correctly follows Traditional Chinese conventions for quantifiers.Also applies to: 165-165, 175-176
155-165: Measure word usage is correct throughout.All interpolation variables use appropriate Traditional Chinese measure words:
- "項" for findings/discoveries (formal items)
- "個" for commits, issues, and problems (general objects)
The translations follow proper zh-TW grammar conventions for quantifiers.
Also applies to: 136-137, 175-176
188-190: Terminology is consistent across namespaces.Severity and status terminology ("阻礙性" for critical/blocking, "必需" for high) matches the translations in
common.json, ensuring a consistent user experience across the application.Also applies to: 164-165
apps/frontend/src/shared/i18n/locales/zh-TW/common.json (4)
11-11: Past terminology inconsistency has been resolved.The "save" terminology now consistently uses "儲存" and "儲存中..." throughout the file, following Taiwan-standard Traditional Chinese conventions. The previous mainland-leaning term "保存" has been replaced.
Also applies to: 32-32, 39-39
139-140: Measure word usage is comprehensive and correct.All interpolated counts include appropriate Traditional Chinese measure words:
- "個" for commits, files, issues, downloads, and general objects
- "項" for findings and formal items
The translations properly follow zh-TW grammatical conventions for quantifiers throughout the entire file.
Also applies to: 147-163, 235-240
65-101: Interpolation variables are correctly preserved throughout.Complex sections with multiple placeholders (rate limits, PR reviews) correctly maintain all interpolation variables (
{{count}},{{time}},{{name}},{{source}},{{reason}},{{resolved}},{{unresolved}},{{suggestions}}). The translations preserve both the technical requirements and natural language flow.Also applies to: 102-232
1-246: High-quality Traditional Chinese localization.This translation file demonstrates professional localization quality:
- Proper Taiwan-standard terminology throughout
- Comprehensive coverage of all UI sections (218 keys per PR objectives)
- Natural language flow while maintaining technical accuracy
- Correctly structured as namespace-organized JSON per coding guidelines
The file successfully expands language support as outlined in the PR objectives.
Based on learnings, the translation keys have been properly added to the zh-TW language files alongside the existing en and fr locales.
AndyMik90
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🤖 Auto Claude PR Review
Merge Verdict: 🔴 BLOCKED
Blocked: 5 workflow(s) awaiting approval. Approve workflows on GitHub to run CI checks.
Risk Assessment
| Factor | Level | Notes |
|---|---|---|
| Complexity | High | Based on lines changed |
| Security Impact | None | Based on security findings |
| Scope Coherence | Good | Based on structural review |
🚨 Blocking Issues (Must Fix)
- Workflows Pending: 5 workflow(s) awaiting maintainer approval
Findings Summary
- Medium: 1 issue(s)
- Low: 1 issue(s)
Generated by Auto Claude PR Review
Findings (2 selected of 2 total)
🟡 [MEDIUM] Inconsistent resume/recover terminology in needsResume label
📁 apps/frontend/src/shared/i18n/locales/zh-CN/tasks.json:28
The 'needsResume' label is translated as '需要恢复' (needs recovery) but should be '需要继续' (needs resume) to maintain consistency with actions.resume on line 14 which correctly uses '继续'. The zh-TW version correctly uses '需要繼續'. Using recovery terminology when resume is intended could confuse users into thinking there was an error rather than a simple pause.
Suggested fix:
Change line 28 from '"needsResume": "需要恢复"' to '"needsResume": "需要继续"'
🔵 [LOW] Inconsistent 'critical' severity terminology across files
📁 apps/frontend/src/shared/i18n/locales/zh-CN/gitlab.json:188
The 'critical' severity is translated as '阻止程序' in gitlab.json (line 188) but as '阻塞项' in common.json (line 174). Both terms are understandable but inconsistency may confuse users. Recommend unifying to '阻塞项' which is more natural in technical Chinese.
Suggested fix:
Change gitlab.json line 188 from '"critical": "阻止程序"' to '"critical": "阻塞项"' for consistency with common.json
This review was generated by Auto Claude.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
♻️ Duplicate comments (1)
apps/frontend/src/shared/i18n/locales/zh-CN/gitlab.json (1)
175-176: Missing {{count}} interpolation variables in resolution strings.Lines 175-176 are missing the
{{count}}variable before the measure word "个". In Chinese, measure words require a preceding number for grammatical correctness. Without{{count}}, these strings will render incorrectly (e.g., "个新问题" instead of "3 个新问题").🔎 Proposed fix
"resolution": { "resolved": "已解决", "stillOpen": "仍未打开", - "newIssue": "个新问题", - "newIssues": "个新问题" + "newIssue": "{{count}} 个新问题", + "newIssues": "{{count}} 个新问题" }
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (4)
apps/frontend/src/shared/i18n/locales/zh-CN/common.jsonapps/frontend/src/shared/i18n/locales/zh-CN/gitlab.jsonapps/frontend/src/shared/i18n/locales/zh-CN/tasks.jsonapps/frontend/src/shared/i18n/locales/zh-TW/gitlab.json
🧰 Additional context used
📓 Path-based instructions (1)
apps/frontend/src/shared/i18n/locales/**/*.json
📄 CodeRabbit inference engine (CLAUDE.md)
apps/frontend/src/shared/i18n/locales/**/*.json: Store translation strings in namespace-organized JSON files atapps/frontend/src/shared/i18n/locales/{lang}/*.jsonfor each supported language
When implementing new frontend features, add translation keys to all language files (minimum: en/.json and fr/.json)
Files:
apps/frontend/src/shared/i18n/locales/zh-CN/tasks.jsonapps/frontend/src/shared/i18n/locales/zh-CN/common.jsonapps/frontend/src/shared/i18n/locales/zh-CN/gitlab.jsonapps/frontend/src/shared/i18n/locales/zh-TW/gitlab.json
🧠 Learnings (3)
📓 Common learnings
Learnt from: CR
Repo: AndyMik90/Auto-Claude PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-30T16:38:36.314Z
Learning: Applies to apps/frontend/src/shared/i18n/locales/**/*.json : When implementing new frontend features, add translation keys to all language files (minimum: en/*.json and fr/*.json)
Learnt from: CR
Repo: AndyMik90/Auto-Claude PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-30T16:38:36.314Z
Learning: Applies to apps/frontend/src/shared/i18n/locales/**/*.json : Store translation strings in namespace-organized JSON files at `apps/frontend/src/shared/i18n/locales/{lang}/*.json` for each supported language
📚 Learning: 2025-12-30T16:38:36.314Z
Learnt from: CR
Repo: AndyMik90/Auto-Claude PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-30T16:38:36.314Z
Learning: Applies to apps/frontend/src/shared/i18n/locales/**/*.json : When implementing new frontend features, add translation keys to all language files (minimum: en/*.json and fr/*.json)
Applied to files:
apps/frontend/src/shared/i18n/locales/zh-CN/tasks.jsonapps/frontend/src/shared/i18n/locales/zh-CN/common.jsonapps/frontend/src/shared/i18n/locales/zh-CN/gitlab.jsonapps/frontend/src/shared/i18n/locales/zh-TW/gitlab.json
📚 Learning: 2025-12-30T16:38:36.314Z
Learnt from: CR
Repo: AndyMik90/Auto-Claude PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-30T16:38:36.314Z
Learning: Applies to apps/frontend/src/shared/i18n/locales/**/*.json : Store translation strings in namespace-organized JSON files at `apps/frontend/src/shared/i18n/locales/{lang}/*.json` for each supported language
Applied to files:
apps/frontend/src/shared/i18n/locales/zh-CN/tasks.jsonapps/frontend/src/shared/i18n/locales/zh-CN/common.jsonapps/frontend/src/shared/i18n/locales/zh-CN/gitlab.jsonapps/frontend/src/shared/i18n/locales/zh-TW/gitlab.json
🔇 Additional comments (9)
apps/frontend/src/shared/i18n/locales/zh-TW/gitlab.json (5)
1-40: LGTM! Clean and natural translations.The basic UI sections (title, states, filters, detail) are translated naturally with appropriate Traditional Chinese terminology. The translations are grammatically correct and consistent.
41-113: LGTM! Settings and investigation sections well-translated.The extensive settings configuration translations handle technical terminology appropriately (OAuth, CLI, API remain in English), and all Chinese sentences are grammatically complete and natural. The investigation dialog flow is clear and user-friendly.
115-131: LGTM! Standard merge request terminology.The merge request states and filters use standard Traditional Chinese translations that are clear and appropriate for GitLab terminology.
132-178: LGTM! All previous review issues have been successfully addressed.The MR review section now correctly includes:
- Measure words ("個") in lines 136-137, 165, 175-176 where numbers are prepended
- Complete sentence at line 163 with proper predicate ("自審查以來有新提交")
- All interpolation variables ({{count}}) properly preserved
- Natural, grammatically correct Traditional Chinese throughout
The translations accurately reflect the review workflow states and are consistent with the terminology conventions established in the PR.
Based on learnings, this aligns with the project's requirement to maintain translation keys across all supported language files.
179-207: LGTM! Clear severity and category translations.The findings section uses appropriately graduated severity descriptions (必須修復 → 應該修復 → 改善品質 → 考慮) that clearly communicate priority levels. The technical category terms are standard and appropriate for code review contexts. The terminology for "blocking/critical" (阻礙性) is consistent with usage throughout the file.
apps/frontend/src/shared/i18n/locales/zh-CN/tasks.json (1)
13-14: Resume/recover terminology now consistent.The distinction between "恢复" (recover) and "继续" (resume) is now properly maintained across both the
actionssection (lines 13-14) andlabelssection (lines 26-29). This resolves the previous ambiguity.Also applies to: 26-29
apps/frontend/src/shared/i18n/locales/zh-CN/common.json (1)
174-174: Blocking-related terminology is well-standardized.The file consistently uses "阻塞项" for the critical severity level (line 174) and "阻塞性问题" for blocking issues/problems (lines 214-222). These terms serve distinct purposes and are applied appropriately throughout the file.
Also applies to: 214-222
apps/frontend/src/shared/i18n/locales/zh-CN/gitlab.json (2)
155-155: Previously flagged interpolation issues resolved.All four status description strings now correctly include the
{{count}}variable, making them grammatically correct in Chinese where measure words require a preceding number.Also applies to: 157-157, 161-161, 165-165
188-188: Severity terminology now consistent across files.The translation for
findings.severity.criticalnow uses "阻塞项" (line 188), matching the terminology incommon.json(line 174). The blocking-related terms are well-aligned across the codebase.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (2)
apps/frontend/src/shared/i18n/locales/zh-CN/common.jsonapps/frontend/src/shared/i18n/locales/zh-TW/common.json
🧰 Additional context used
📓 Path-based instructions (1)
apps/frontend/src/shared/i18n/locales/**/*.json
📄 CodeRabbit inference engine (CLAUDE.md)
apps/frontend/src/shared/i18n/locales/**/*.json: Store translation strings in namespace-organized JSON files atapps/frontend/src/shared/i18n/locales/{lang}/*.jsonfor each supported language
When implementing new frontend features, add translation keys to all language files (minimum: en/.json and fr/.json)
Files:
apps/frontend/src/shared/i18n/locales/zh-CN/common.jsonapps/frontend/src/shared/i18n/locales/zh-TW/common.json
🧠 Learnings (3)
📓 Common learnings
Learnt from: CR
Repo: AndyMik90/Auto-Claude PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-30T16:38:36.314Z
Learning: Applies to apps/frontend/src/shared/i18n/locales/**/*.json : When implementing new frontend features, add translation keys to all language files (minimum: en/*.json and fr/*.json)
Learnt from: CR
Repo: AndyMik90/Auto-Claude PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-30T16:38:36.314Z
Learning: Applies to apps/frontend/src/shared/i18n/locales/**/*.json : Store translation strings in namespace-organized JSON files at `apps/frontend/src/shared/i18n/locales/{lang}/*.json` for each supported language
📚 Learning: 2025-12-30T16:38:36.314Z
Learnt from: CR
Repo: AndyMik90/Auto-Claude PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-30T16:38:36.314Z
Learning: Applies to apps/frontend/src/shared/i18n/locales/**/*.json : When implementing new frontend features, add translation keys to all language files (minimum: en/*.json and fr/*.json)
Applied to files:
apps/frontend/src/shared/i18n/locales/zh-CN/common.jsonapps/frontend/src/shared/i18n/locales/zh-TW/common.json
📚 Learning: 2025-12-30T16:38:36.314Z
Learnt from: CR
Repo: AndyMik90/Auto-Claude PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-30T16:38:36.314Z
Learning: Applies to apps/frontend/src/shared/i18n/locales/**/*.json : Store translation strings in namespace-organized JSON files at `apps/frontend/src/shared/i18n/locales/{lang}/*.json` for each supported language
Applied to files:
apps/frontend/src/shared/i18n/locales/zh-CN/common.jsonapps/frontend/src/shared/i18n/locales/zh-TW/common.json
🔇 Additional comments (4)
apps/frontend/src/shared/i18n/locales/zh-CN/common.json (1)
117-117: LGTM! Measure words correctly applied.The translations properly use Chinese measure words (量詞):
- Line 117: "位" for counting people (contributors)
- Line 198: "项" for counting items (issues/findings)
This aligns with the commit message about adding grammatical correctness through measure words.
Also applies to: 198-198
apps/frontend/src/shared/i18n/locales/zh-TW/common.json (3)
11-11: LGTM! Terminology consistency achieved.The file now consistently uses "儲存" (Taiwan standard) throughout:
- Line 11: "save": "儲存"
- Line 32: "saving": "儲存中..."
- Line 39: "saving": "儲存中..."
This addresses the past review comment about mixing "保存" (mainland) with "儲存" (Taiwan). The terminology is now regionally appropriate and consistent.
Also applies to: 32-32, 39-39
72-72: Good terminology choice for "profile".The zh-TW version uses "帳戶:{{name}}" (Account: {{name}}), which is clearer and more user-friendly than a technical term. This effectively communicates the user account context.
This could serve as a reference for improving the zh-CN equivalent (currently "配置文件").
117-117: LGTM! Measure words correctly applied.The translations properly use Chinese measure words (量詞):
- Line 117: "位" for counting people (contributors)
- Line 198: "項" for counting items (issues/findings)
This demonstrates the grammatical correctness improvements mentioned in the commit message.
Also applies to: 198-198
Address all AI review findings plus systematic terminology issues discovered through deep analysis.
zh-CN fixes (22 total):
- Remove incorrectly added {{count}} variables (4 occurrences)
English uses "finding(s)" and "issue(s)" notation, not interpolation
Affected: reviewCompleteDesc, waitingForChangesDesc, needsAttentionDesc, blockingIssuesDesc
- Standardize blocking terminology (13 occurrences)
阻止 → 阻塞 for consistency with software development terminology
阻止程序 → 阻塞项 for critical severity
阻止问题 → 阻塞性问题 for blocking issues
- Disambiguate resume vs recover (2 occurrences)
resume: 恢复 → 继续 (continue/resume)
needsResume: 需要恢复 → 需要继续
- Add missing measure words (2 occurrences)
contributorsSelected: add 位
selectCriticalHigh: add 项
- Complete grammatically incomplete sentence (1 occurrence)
自审查以来。→ 自审查以来有新提交。
zh-TW fixes (11 total):
- Remove incorrectly added {{count}} variables (4 occurrences)
Same fields as zh-CN: English uses "(s)" not interpolation
- Add grammatically required measure words (4 occurrences)
newCommits: 新提交 → 個新提交
newIssue: 新問題 → 個新問題
contributorsSelected: add 位
selectCriticalHigh: add 項
- Unify terminology consistency (2 occurrences)
saving: 保存中 → 儲存中 (matches 儲存)
- Complete grammatically incomplete sentence (1 occurrence)
自審查以來。→ 自審查以來有新提交。
Root cause: Misinterpreted AI review suggestions - English "(s)" notation was incorrectly treated as missing {{count}} variables. All fixes validated against English source.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
Fix all issues with AI Agents 🤖
In @apps/frontend/src/shared/i18n/locales/zh-CN/tasks.json:
- Line 52: The translation value for the key "emptyInProgress" is incomplete;
update its string to include the noun "任务" so it reads grammatically consistent
with other empty-state keys (e.g., "没有进行中的任务" or "没有运行的任务") by modifying the
value associated with the "emptyInProgress" key in the tasks.json locale file.
♻️ Duplicate comments (6)
apps/frontend/src/shared/i18n/locales/zh-CN/common.json (1)
72-72: Address previously flagged terminology issue: use "账户" instead of "配置文件".This was flagged in a previous review but remains unchanged. The term "配置文件" (configuration file) is misleading in this context and suggests a system config file rather than a user account/profile. For consistency with line 60 which uses "账户" (account), and for better user clarity, update this to "账户:{{name}}".
🔎 Suggested fix
- "profile": "配置文件:{{name}}", + "profile": "账户:{{name}}",apps/frontend/src/shared/i18n/locales/zh-CN/gitlab.json (2)
136-137: Missing {{count}} interpolation variables in commit count strings.Lines 136-137 are missing the
{{count}}variable before the measure word "个". In Chinese, measure words require a preceding number for grammatical correctness. Without{{count}}, these strings will display as "个新提交" instead of the expected "3 个新提交".🔎 Proposed fix
- "newCommits": "个新提交", - "newCommitsPlural": "个新提交" + "newCommits": "{{count}} 个新提交", + "newCommitsPlural": "{{count}} 个新提交"
175-176: Missing {{count}} interpolation variables in resolution strings.Lines 175-176 are missing the
{{count}}variable before the measure word "个". Without the interpolation variable, these strings will render incorrectly (e.g., "个新问题" instead of "2 个新问题").🔎 Proposed fix
"resolution": { "resolved": "已解决", "stillOpen": "仍未打开", - "newIssue": "个新问题", - "newIssues": "个新问题" + "newIssue": "{{count}} 个新问题", + "newIssues": "{{count}} 个新问题" }apps/frontend/src/shared/i18n/locales/zh-TW/gitlab.json (3)
136-137: Missing {{count}} interpolation variables in commit count strings.Lines 136-137 have the measure word "個" but are missing the
{{count}}variable. For proper grammatical structure in Traditional Chinese, the count must precede the measure word. These strings should render as "5 個新提交" not just "個新提交".🔎 Proposed fix
- "newCommits": "個新提交", - "newCommitsPlural": "個新提交" + "newCommits": "{{count}} 個新提交", + "newCommitsPlural": "{{count}} 個新提交"
165-165: Missing {{count}} interpolation variable and measure word in blocking issues description.Line 165 is missing both the
{{count}}variable and the measure word "個". This string displays a count of blocking issues, so it requires the pattern{{count}} 個before "阻礙性問題" for grammatical correctness.🔎 Proposed fix
- "blockingIssuesDesc": "阻礙性問題仍未解決。" + "blockingIssuesDesc": "{{count}} 個阻礙性問題仍未解決。"
175-176: Missing {{count}} interpolation variables in resolution strings.Lines 175-176 have the measure word "個" but are missing the
{{count}}variable. The count must precede the measure word for proper Traditional Chinese grammar (e.g., "2 個新問題" not just "個新問題").🔎 Proposed fix
"resolution": { "resolved": "已解決", "stillOpen": "仍未解決", - "newIssue": "個新問題", - "newIssues": "個新問題" + "newIssue": "{{count}} 個新問題", + "newIssues": "{{count}} 個新問題" }
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (5)
apps/frontend/src/shared/i18n/locales/zh-CN/common.jsonapps/frontend/src/shared/i18n/locales/zh-CN/gitlab.jsonapps/frontend/src/shared/i18n/locales/zh-CN/tasks.jsonapps/frontend/src/shared/i18n/locales/zh-TW/common.jsonapps/frontend/src/shared/i18n/locales/zh-TW/gitlab.json
🧰 Additional context used
📓 Path-based instructions (1)
apps/frontend/src/shared/i18n/locales/**/*.json
📄 CodeRabbit inference engine (CLAUDE.md)
apps/frontend/src/shared/i18n/locales/**/*.json: Store translation strings in namespace-organized JSON files atapps/frontend/src/shared/i18n/locales/{lang}/*.jsonfor each supported language
When implementing new frontend features, add translation keys to all language files (minimum: en/.json and fr/.json)
Files:
apps/frontend/src/shared/i18n/locales/zh-TW/gitlab.jsonapps/frontend/src/shared/i18n/locales/zh-CN/common.jsonapps/frontend/src/shared/i18n/locales/zh-TW/common.jsonapps/frontend/src/shared/i18n/locales/zh-CN/gitlab.jsonapps/frontend/src/shared/i18n/locales/zh-CN/tasks.json
🧠 Learnings (5)
📓 Common learnings
Learnt from: CR
Repo: AndyMik90/Auto-Claude PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-30T16:38:36.314Z
Learning: Applies to apps/frontend/src/shared/i18n/locales/**/*.json : When implementing new frontend features, add translation keys to all language files (minimum: en/*.json and fr/*.json)
Learnt from: MikeeBuilds
Repo: AndyMik90/Auto-Claude PR: 661
File: apps/frontend/src/renderer/components/onboarding/OllamaModelSelector.tsx:176-189
Timestamp: 2026-01-04T23:59:45.209Z
Learning: In the AndyMik90/Auto-Claude repository, pre-existing i18n issues (hardcoded user-facing strings that should be localized) can be deferred to future i18n cleanup passes rather than requiring immediate fixes in PRs that don't introduce new i18n violations.
Learnt from: CR
Repo: AndyMik90/Auto-Claude PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-30T16:38:36.314Z
Learning: Applies to apps/frontend/src/shared/i18n/locales/**/*.json : Store translation strings in namespace-organized JSON files at `apps/frontend/src/shared/i18n/locales/{lang}/*.json` for each supported language
📚 Learning: 2025-12-30T16:38:36.314Z
Learnt from: CR
Repo: AndyMik90/Auto-Claude PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-30T16:38:36.314Z
Learning: Applies to apps/frontend/src/shared/i18n/locales/**/*.json : When implementing new frontend features, add translation keys to all language files (minimum: en/*.json and fr/*.json)
Applied to files:
apps/frontend/src/shared/i18n/locales/zh-TW/gitlab.jsonapps/frontend/src/shared/i18n/locales/zh-CN/common.jsonapps/frontend/src/shared/i18n/locales/zh-TW/common.jsonapps/frontend/src/shared/i18n/locales/zh-CN/gitlab.jsonapps/frontend/src/shared/i18n/locales/zh-CN/tasks.json
📚 Learning: 2025-12-30T16:38:36.314Z
Learnt from: CR
Repo: AndyMik90/Auto-Claude PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-30T16:38:36.314Z
Learning: Applies to apps/frontend/src/shared/i18n/locales/**/*.json : Store translation strings in namespace-organized JSON files at `apps/frontend/src/shared/i18n/locales/{lang}/*.json` for each supported language
Applied to files:
apps/frontend/src/shared/i18n/locales/zh-TW/gitlab.jsonapps/frontend/src/shared/i18n/locales/zh-CN/common.jsonapps/frontend/src/shared/i18n/locales/zh-TW/common.jsonapps/frontend/src/shared/i18n/locales/zh-CN/gitlab.jsonapps/frontend/src/shared/i18n/locales/zh-CN/tasks.json
📚 Learning: 2025-12-30T16:38:36.314Z
Learnt from: CR
Repo: AndyMik90/Auto-Claude PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-30T16:38:36.314Z
Learning: Applies to apps/frontend/src/**/*.{ts,tsx,jsx} : Always use i18n translation keys for all user-facing text in the frontend instead of hardcoded strings
Applied to files:
apps/frontend/src/shared/i18n/locales/zh-TW/common.json
📚 Learning: 2026-01-04T23:59:45.209Z
Learnt from: MikeeBuilds
Repo: AndyMik90/Auto-Claude PR: 661
File: apps/frontend/src/renderer/components/onboarding/OllamaModelSelector.tsx:176-189
Timestamp: 2026-01-04T23:59:45.209Z
Learning: In the AndyMik90/Auto-Claude repository, pre-existing i18n issues (hardcoded user-facing strings that should be localized) can be deferred to future i18n cleanup passes rather than requiring immediate fixes in PRs that don't introduce new i18n violations.
Applied to files:
apps/frontend/src/shared/i18n/locales/zh-CN/gitlab.json
🔇 Additional comments (2)
apps/frontend/src/shared/i18n/locales/zh-TW/common.json (1)
1-246: Terminology consistency addressed and file structure valid.The Traditional Chinese (Taiwan) translation file is well-structured with proper JSON syntax throughout. The previous terminology inconsistency for "save" (儲存 vs 保存) has been successfully resolved—lines 11, 32, and 39 now consistently use 儲存-based terms, which is the correct Taiwan convention rather than mainland terminology.
All interpolation variables ({{count}}, {{time}}, {{name}}, {{reason}}, {{source}}, {{selected}}, {{total}}, {{resolved}}, {{unresolved}}, {{suggestions}}) are correctly formatted and match the expected i18n patterns. The file placement at
apps/frontend/src/shared/i18n/locales/zh-TW/common.jsonfollows the required structure per coding guidelines.Per the PR description, key-structure parity with English, interpolation variable preservation, and JSON syntax validation have all been confirmed.
apps/frontend/src/shared/i18n/locales/zh-CN/tasks.json (1)
1-102: Overall translation quality is excellent.The Simplified Chinese translations are well-structured and appropriate for the mainland China audience. The file correctly follows the i18n namespace organization pattern, and the previous resume/recover terminology issue has been properly addressed.
As per coding guidelines, the translation file is correctly placed at
apps/frontend/src/shared/i18n/locales/zh-CN/tasks.jsonand follows the required structure for namespace-organized JSON files.
…inese localization
Base Branch
developbranch (required for all feature/fix PRs)main(hotfix only - maintainers)Description
Adds Simplified Chinese (简体中文) and Traditional Chinese (繁體中文) language support to Auto Claude. This includes complete translations for all 10 translation namespaces with 1,046 translation keys each, covering the entire application UI. Both variants follow their respective regional terminology and character conventions to provide native experiences for mainland China and Taiwan users.
Related Issue
None
Type of Change
Area
Commit Message Format
Follow conventional commits:
<type>: <subject>Types: feat, fix, docs, style, refactor, test, chore
Example:
feat: add user authentication systemThis PR:
feat(i18n): add Simplified and Traditional Chinese language supportChecklist
developbranchCI/Testing Requirements
Screenshots
Language Switcher - Now includes Chinese options
After selecting Chinese:
Files Changed
New Translation Files (20 files)
Simplified Chinese (zh-CN) - 10 files:
Traditional Chinese (zh-TW) - 10 files:
Modified Configuration Files (2 files)
apps/frontend/src/shared/constants/i18n.ts'zh-CN'and'zh-TW'toSupportedLanguagetype andAVAILABLE_LANGUAGESarrayapps/frontend/src/shared/i18n/index.tsTranslation Quality
Character Usage Verification
Terminology Conventions
Simplified Chinese (zh-CN):
Traditional Chinese (zh-TW):
Validation Results
Supported Languages
enfrzh-CNzh-TWFeature Toggle
use_feature_nameBreaking Changes
Breaking: No
This is a pure additive feature. Existing users will continue using their current language setting (English by default). The new Chinese language options are opt-in via Settings → Language.
Testing Instructions
npm run devImplementation Notes
react-i18nextinfrastructureSummary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.