-
-
Notifications
You must be signed in to change notification settings - Fork 752
Add Turkish language support #592
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
Fixes issue where users with Python 3.9.6 at /usr/bin/python3 would get "Auto Claude requires Python 3.10 or higher" error even when they had newer Python versions installed via Homebrew. Changes: - Updated findHomebrewPython() to check for versioned Python installations - Now searches for python3.13, python3.12, python3.11, python3.10 in addition to generic python3 - Validates each found Python to ensure it meets version requirements - Checks both Apple Silicon (/opt/homebrew/bin) and Intel Mac (/usr/local/bin) locations This ensures the app automatically finds and uses the latest compatible Python version instead of falling back to the potentially outdated system Python. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Addresses all review findings from Auto Claude PR Review: 1. [HIGH] Align version ordering between python-detector.ts and cli-tool-manager.ts - Both now use consistent order: versioned first (3.13→3.10), then generic python3 - This ensures different parts of the app use the same Python version - Added validation in cli-tool-manager.ts (was missing before) 2. [MEDIUM] Add try/catch around validatePythonVersion calls - Wrapped validation in try/catch to handle timeouts and permission errors - Follows same pattern as findPythonCommand() - Ensures graceful fallback to next candidate on validation failure 3. [LOW] Add debug logging for Python detection - Added console.log for successful detection with version info - Added console.warn for rejected candidates with reason - Added logging when no valid Python found - Improves troubleshooting of user Python detection issues 4. [LOW] Document maintenance requirement for version list - Added JSDoc note about updating list for new Python releases - Added TODO comment for Python 3.14+ updates - Applied to both files for consistency Additional improvements: - Fixed bug in cli-tool-manager.ts that returned first found Python without validation - Both detection systems now validate Python version requirements (3.10+) - Consistent logging format between both detection systems 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
Python 3.14 was released, so adding it to the detection lists: - Updated pythonNames arrays in both python-detector.ts and cli-tool-manager.ts - Added python3.14 to SAFE_PYTHON_COMMANDS set - Updated JSDoc comments to reflect Python 3.14 support - Removed TODO about Python 3.14 (now implemented) This ensures the app can detect and use Python 3.14 installations. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
Eliminated code duplication by extracting shared Python detection logic into a reusable utility module. Changes: - Created apps/frontend/src/main/utils/homebrew-python.ts - Exported findHomebrewPython() utility function - Accepts validation function and log prefix as parameters - Contains all shared detection logic (version list, validation, logging) - Updated python-detector.ts - Removed duplicate findHomebrewPython() implementation (45 lines) - Now imports and delegates to shared utility - Maintains identical behavior and error semantics - Updated cli-tool-manager.ts - Removed duplicate findHomebrewPython() implementation (52 lines) - Now imports and delegates to shared utility - Maintains identical behavior and error semantics Benefits: - Single source of truth for Homebrew Python detection - Easier to maintain (update version list in one place) - Consistent behavior across the application - Reduced code duplication (~90 lines eliminated) The refactored code maintains 100% backward compatibility with identical return values, logging behavior, and error handling. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
|
Warning Rate limit exceeded@mirzaaghazadeh has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 17 minutes and 23 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (3)
Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. 📝 WalkthroughWalkthroughAdds Turkish ("tr") to the frontend i18n: updates SupportedLanguage and AVAILABLE_LANGUAGES, registers Turkish resources in the i18n index, and adds nine new Turkish locale JSON files covering UI, dialogs, GitLab, navigation, onboarding, settings, tasks, taskReview, and welcome. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested reviewers
Poem
Pre-merge checks✅ Passed checks (3 passed)
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 @mirzaaghazadeh, 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 Auto Claude application's accessibility by integrating comprehensive Turkish language support. It involves adding all necessary translation files and updating the core internationalization system to enable Turkish as a selectable language, ensuring a fully localized user experience for Turkish speakers. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. 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.
Code Review
This pull request adds comprehensive Turkish language support to the application. The changes are well-structured, adding all the necessary translation files and updating the i18n configuration correctly. I've reviewed the new translation files and they seem complete. I found one minor issue related to pluralization in the gitlab.json file, which I've commented on. Overall, this is a great contribution to make the application more accessible to Turkish-speaking users.
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
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 (11)
apps/frontend/src/shared/constants/i18n.tsapps/frontend/src/shared/i18n/index.tsapps/frontend/src/shared/i18n/locales/tr/common.jsonapps/frontend/src/shared/i18n/locales/tr/dialogs.jsonapps/frontend/src/shared/i18n/locales/tr/gitlab.jsonapps/frontend/src/shared/i18n/locales/tr/navigation.jsonapps/frontend/src/shared/i18n/locales/tr/onboarding.jsonapps/frontend/src/shared/i18n/locales/tr/settings.jsonapps/frontend/src/shared/i18n/locales/tr/taskReview.jsonapps/frontend/src/shared/i18n/locales/tr/tasks.jsonapps/frontend/src/shared/i18n/locales/tr/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/tr/taskReview.jsonapps/frontend/src/shared/i18n/locales/tr/common.jsonapps/frontend/src/shared/i18n/locales/tr/dialogs.jsonapps/frontend/src/shared/i18n/locales/tr/tasks.jsonapps/frontend/src/shared/i18n/locales/tr/onboarding.jsonapps/frontend/src/shared/i18n/locales/tr/gitlab.jsonapps/frontend/src/shared/i18n/locales/tr/welcome.jsonapps/frontend/src/shared/i18n/locales/tr/navigation.jsonapps/frontend/src/shared/i18n/locales/tr/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/constants/i18n.tsapps/frontend/src/shared/i18n/index.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/constants/i18n.tsapps/frontend/src/shared/i18n/index.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/constants/i18n.tsapps/frontend/src/shared/i18n/index.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)
📚 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/tr/taskReview.jsonapps/frontend/src/shared/i18n/locales/tr/common.jsonapps/frontend/src/shared/i18n/locales/tr/dialogs.jsonapps/frontend/src/shared/i18n/locales/tr/tasks.jsonapps/frontend/src/shared/constants/i18n.tsapps/frontend/src/shared/i18n/locales/tr/onboarding.jsonapps/frontend/src/shared/i18n/locales/tr/gitlab.jsonapps/frontend/src/shared/i18n/locales/tr/welcome.jsonapps/frontend/src/shared/i18n/locales/tr/navigation.jsonapps/frontend/src/shared/i18n/locales/tr/settings.jsonapps/frontend/src/shared/i18n/index.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/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/tr/taskReview.jsonapps/frontend/src/shared/i18n/locales/tr/common.jsonapps/frontend/src/shared/i18n/locales/tr/dialogs.jsonapps/frontend/src/shared/i18n/locales/tr/tasks.jsonapps/frontend/src/shared/constants/i18n.tsapps/frontend/src/shared/i18n/locales/tr/onboarding.jsonapps/frontend/src/shared/i18n/locales/tr/gitlab.jsonapps/frontend/src/shared/i18n/locales/tr/welcome.jsonapps/frontend/src/shared/i18n/locales/tr/navigation.jsonapps/frontend/src/shared/i18n/locales/tr/settings.jsonapps/frontend/src/shared/i18n/index.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,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/constants/i18n.tsapps/frontend/src/shared/i18n/index.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: CodeQL (javascript-typescript)
- GitHub Check: CodeQL (python)
🔇 Additional comments (10)
apps/frontend/src/shared/i18n/locales/tr/taskReview.json (1)
1-7: Turkish translations are properly aligned with all language files.Verification confirms the Turkish translation keys match exactly with the English and French versions. All three files contain identical keys:
terminal.openTerminal,terminal.openInbuilt, andterminal.openExternal. The JSON structure is valid and follows the required format.apps/frontend/src/shared/i18n/locales/tr/navigation.json (1)
1-50: Turkish navigation translations match English and French versions.The JSON structure is valid, placeholder formatting is consistent ({{branchName}}, {{count}}), and all 36 translation keys are present and match the English and French versions, including the comprehensive claudeCode status messages.
apps/frontend/src/shared/i18n/locales/tr/dialogs.json (1)
1-129: Turkish dialog translations are comprehensive and properly aligned.The JSON structure is valid with proper placeholder formatting ({{branchName}}, {{projectName}}). All 109 translation keys match exactly with the English and French versions, satisfying the requirement to maintain key parity across language files.
apps/frontend/src/shared/i18n/locales/tr/common.json (1)
1-245: Turkish common.json translation keys are correctly aligned with English and French versions.All 217 translation keys in the Turkish common.json file match exactly with the English and French versions. The pluralization patterns using the
_pluralsuffix (18 keys total) are consistent across all three languages. The JSON structure is valid with properly formatted placeholders ({{count}}, {{name}}, {{time}}, etc.), and the comprehensive coverage of UI elements including project tabs, buttons, labels, time formatting, errors, notifications, rate limiting, PR reviews, and downloads follows the required i18n structure.apps/frontend/src/shared/i18n/locales/tr/welcome.json (1)
1-16: Turkish welcome translations are properly implemented with all keys synchronized across languages.The JSON structure is valid and appropriately covers the welcome screen including the hero section, action buttons, and recent projects section. Translation keys match the English and French versions.
apps/frontend/src/shared/constants/i18n.ts (1)
6-11: LGTM! Turkish language support correctly integrated.The extension of
SupportedLanguageto include'tr'and the addition of the Turkish entry toAVAILABLE_LANGUAGESare correctly implemented. The native label 'Türkçe' is appropriate, and the changes follow the established pattern for language configuration.apps/frontend/src/shared/i18n/index.ts (1)
26-72: LGTM! Turkish resources correctly imported and registered.The Turkish translation resources are properly integrated into the i18n system:
- All 9 namespace imports follow the established pattern (lines 26-35)
- The
trresources object is correctly structured (lines 62-72)- The implementation mirrors the English and French configurations exactly
Note: This file imports 9 Turkish locale files (common, navigation, settings, tasks, welcome, onboarding, dialogs, gitlab, taskReview), though only 3 were provided in this review batch.
apps/frontend/src/shared/i18n/locales/tr/tasks.json (1)
1-102: Turkish translation keys are complete and properly aligned.The Turkish tasks.json file contains all 72 keys matching both the English and French locale files with no missing or extra keys. Translation coverage is complete across all three language files.
apps/frontend/src/shared/i18n/locales/tr/settings.json (1)
1-431: Turkish translation file is complete with all keys and placeholders correctly preserved.The Turkish settings translation (
tr/settings.json) maintains full parity with English and French locale files: all 325 translation keys are present and properly structured, with all dynamic placeholders ({{agent}},{{count}},{{projectName}}) consistently preserved. No missing or extra keys detected.apps/frontend/src/shared/i18n/locales/tr/onboarding.json (1)
1-139: Turkish onboarding translations are structurally consistent with English and French versions.Verification confirms that
tr/onboarding.jsoncontains all 87 translation keys with perfect parity to the English and French versions. The file correctly follows the coding guideline of adding translation keys to all supported language files.
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 (1)
apps/frontend/src/shared/i18n/locales/tr/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/tr/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/tr/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/tr/gitlab.json
🔇 Additional comments (2)
apps/frontend/src/shared/i18n/locales/tr/gitlab.json (2)
1-208: Turkish translation file has complete and correct key parity with English and French sources.All 174 keys match perfectly across en, fr, and tr language files with no missing or extraneous entries.
187-196: Severity translations are complete and properly localized.The
findings.severitysection contains all required keys (critical, criticalDesc, high, highDesc, medium, mediumDesc, low, lowDesc) with appropriate Turkish translations that are consistent with the English and French versions.
…rkish pluralization.
Base Branch
developbranch (required for all feature/fix PRs)main(hotfix only - maintainers)Description
Adds Turkish (Türkçe) language support to Auto Claude. This includes complete translations for all 9 translation namespaces (common, dialogs, gitlab, navigation, onboarding, settings, taskReview, tasks, welcome) and updates the i18n configuration to register Turkish as an available language option.
Related Issue
Closes #
Type of Change
Area
Commit Message Format
Checklist
developbranchCI/Testing Requirements
Feature Toggle
Breaking Changes
Breaking: No
Files Changed
New Files (9)
apps/frontend/src/shared/i18n/locales/tr/common.jsonapps/frontend/src/shared/i18n/locales/tr/dialogs.jsonapps/frontend/src/shared/i18n/locales/tr/gitlab.jsonapps/frontend/src/shared/i18n/locales/tr/navigation.jsonapps/frontend/src/shared/i18n/locales/tr/onboarding.jsonapps/frontend/src/shared/i18n/locales/tr/settings.jsonapps/frontend/src/shared/i18n/locales/tr/taskReview.jsonapps/frontend/src/shared/i18n/locales/tr/tasks.jsonapps/frontend/src/shared/i18n/locales/tr/welcome.jsonModified Files (2)
apps/frontend/src/shared/i18n/index.tsapps/frontend/src/shared/constants/i18n.ts'tr'toSupportedLanguagetype andAVAILABLE_LANGUAGESarrayCurrent Available Languages
enfrtrSummary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.