-
Notifications
You must be signed in to change notification settings - Fork 76
feat(FR-1335): add automated i18n translation Claude Code slash command #4079
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: main
Are you sure you want to change the base?
Conversation
How to use the Graphite Merge QueueAdd either label to this PR to merge it via the merge queue:
You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has required the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
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 implements a new Claude Code slash command /fill-out-i18n
to automate internationalization translation workflows for Backend.AI WebUI and fixes Jira integration documentation issues.
Key Changes
- Added comprehensive i18n automation command with Claude AI translation capabilities
- Fixed critical Jira API field format documentation to prevent Bad Request errors
- Included performance optimizations using jq for JSON processing
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.
File | Description |
---|---|
.claude/commands/fill-out-i18n.md |
New comprehensive command documentation for automated i18n translation workflow |
.claude/commands/create-pr-stack-for-stage.md |
Fixed Jira Sprint field format documentation and added critical format notes |
- **React components**: `/packages/backend.ai-ui/src/locale/` - Modern React components | ||
|
||
### Supported Languages | ||
`de`, `el`, `es`, `fi`, `fr`, `id`, `it`, `ja`, `mn`, `ms`, `pl`, `pt-BR`, `pt`, `ru`, `th`, `tr`, `vi`, `zh-CN`, `zh-TW` |
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.
This list shows 19 languages but the description mentions '20+ languages'. Either update the count or add the missing languages to match the claim.
`de`, `el`, `es`, `fi`, `fr`, `id`, `it`, `ja`, `mn`, `ms`, `pl`, `pt-BR`, `pt`, `ru`, `th`, `tr`, `vi`, `zh-CN`, `zh-TW` | |
`de`, `el`, `es`, `fi`, `fr`, `id`, `it`, `ja`, `ko`, `mn`, `ms`, `pl`, `pt-BR`, `pt`, `ru`, `th`, `tr`, `vi`, `zh-CN`, `zh-TW` |
Copilot uses AI. Check for mistakes.
## Technical Implementation | ||
|
||
### Core Performance Features | ||
- **jq-based JSON processing**: 10x faster than pure JS parsing |
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.
[nitpick] The '10x faster' claim lacks substantiation. Consider either providing benchmarks or using more conservative language like 'significantly faster' or 'optimized performance'.
- **jq-based JSON processing**: 10x faster than pure JS parsing | |
- **jq-based JSON processing**: significantly faster than pure JS parsing |
Copilot uses AI. Check for mistakes.
git diff --name-only $TARGET | grep -E '(ko|en)\.json$' | ||
|
||
# Extract changed keys with jq | ||
jq --slurpfile old $OLD --slurpfile new $NEW -n '$new - $old' |
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.
The jq command syntax may be incorrect. The subtraction operator '-' is not a standard jq operation for object difference. Consider using a proper jq expression or clarifying this is pseudocode.
jq --slurpfile old $OLD --slurpfile new $NEW -n '$new - $old' | |
jq --slurpfile old $OLD --slurpfile new $NEW -n ' | |
($new[0] | to_entries | map(select(.key as $k | ($old[0]|has($k)|not))) | from_entries) | |
' |
Copilot uses AI. Check for mistakes.
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.
(dismiss)
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.
Is it okay to resolve the copilot review?
Resolves #4078 (FR-1335)
Summary
Implements a new Claude Code slash command
/fill-out-i18n
to automate the internationalization workflow for Backend.AI WebUI, with improved Jira integration documentation.Features
Changes
.claude/commands/fill-out-i18n.md
with comprehensive command documentationcreate-pr-stack-for-stage.md
with correct Jira field formats to prevent Bad Request errorsImprovements Made
Testing