Skip to main content
The gleef translate command sends your new and modified keys to Gleef, generates AI translations for the missing locales, and writes the generated translations back into your local files in a single step.
For the standard workflow of uploading new and updated translations, use gleef push. Use gleef translate only when you specifically want the generated translations merged into your local files immediately, rather than pulling them later.

Usage

Options

What it does

The translate command:
  1. Analyzes local files - Compares your local translations with remote state
  2. Detects changes - Identifies new keys and modified translations
  3. Handles conflicts - Checks for conflicts with remote edits
  4. Sends for translation - Uploads keys to Gleef’s AI translation service
  5. Updates local files - Merges generated translations back to your files
  6. Creates drafts - Sets up translations for team review (unless --skip-review is used)

Basic Usage

Push All Changes

This will process all new and modified translation keys in your project.

Filter by Key Pattern

Only processes keys matching the pattern. The pattern is a JavaScript regex (see Pattern Matching below).

Filter by Namespace

Only processes translations from files matching the namespace pattern. Useful for projects with multiple namespace/feature files.

Skip Review Process

Publishes translations immediately without creating drafts for review.

Example Output

Processing New Translations

Processing Mixed Changes

No Changes to Process

Pattern Matching

The --match flag accepts a JavaScript regular expression that is tested against each translation key. It is unanchored, so a pattern matches if it appears anywhere in the key. If the pattern isn’t valid regex, it falls back to a plain substring check.
This is regex, not a glob. . matches any character and * means “zero or more of the previous character”, so a pattern like *.title is invalid regex and won’t behave like a glob.

Common Patterns

Complex Patterns

Conflict Resolution

If there are conflicts with remotely edited translations, the command will stop and show details:

Resolving Conflicts

  1. Update locally - Change your local value to match the remote
  2. Update remotely - Change the value in Gleef Studio
  3. Pull first - Run gleef pull to get latest changes, then translate

Translation Process

New Keys

When you add new translation keys:
The translate command will:
  1. Detect the new keys
  2. Send them to Gleef AI for translation
  3. Generate translations in all your target languages
  4. Update your local files with the generated translations

Modified Keys

When you change existing translations:
The command will:
  1. Detect the modification
  2. Push the edited translation as draft or directly publish it
  3. Preserve translations in other languages

Review Workflow

Default Behavior (Draft Mode)

By default, translations are created as drafts for team review:
  1. Translations generated - AI creates translations for all target languages
  2. Drafts created - Translations are marked as drafts in Gleef Studio, where you can ask for a review
  3. Team reviews - Your team can review and approve in Gleef Studio
  4. Pull approved - Use gleef pull to sync approved translations

Skip Review Mode

With --skip-review, translations are published immediately:
This is useful for:
  • Automated workflows
  • Non-critical translations
  • When you trust the AI output completely

Examples

Development Workflow

Feature Development

Bulk Updates

Namespace-Specific Translation

Example Use Case: If your project structure is:
You can push translations for just the auth namespace:

Error Handling

Common Errors

Authentication Error:
Solution: Run gleef login to re-authenticate Configuration Error:
Solution: Run gleef init or check your .gleef/config.json Network Error:
Solution: Check internet connection and try again File Format Error:
Solution: Fix JSON syntax errors in your locale files

Best Practices

Always pull latest changes before pushing new translations to avoid conflicts.
  1. Pull latest changes - gleef pull to get recent updates
  2. Use patterns for large translation jobs - Filter with --match for focused updates
  3. Review in Gleef Studio - Check AI translations quality and ask for a review there or publish
  4. Coordinate with team - Ensure reviewers know about pending translations

Integration Examples

Git Hooks

This hook would filter keys based on the committed file name, given that the new keys follow a precise naming convention.

NPM Scripts

GitHub Actions

Next Steps

After pushing translations:

Review in Studio

Review and approve translations in Gleef Studio

Pull Updates

Sync approved translations back to your project