Search packages, repositories and app categories

Package detailsv1.1.0

arb_translate

A command-line tool for automatically generating missing translations to ARB files using Google Gemini or OpenAI ChatGPT by LeanCode.

AndroidiOSmacOSWindowsLinux
30-day downloads
719
Likes
143
Pub points
140

Install package

flutter pub add arb_translate

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

arb_translate is a command-line tool that automates the generation of missing translations in ARB (App Resource Bundle) files using AI models from Google Gemini or OpenAI ChatGPT. Developed by LeanCode, it streamlines localization workflows by suggesting accurate translations based on existing strings, reducing manual effort. The tool integrates seamlessly into Flutter projects across multiple platforms, including Android, iOS, macOS, Windows, and Linux. It supports both real-time translation and batch processing, making it ideal for teams managing multilingual app content efficiently.

Use cases

  • Automating missing translation generation
  • Streamlining internationalization workflows
  • Reducing manual translation effort
  • Supporting multilingual Flutter apps
  • Integrating AI-powered translation into CI/CD pipelines

Key features

  • AI-powered translation via Google Gemini or OpenAI
  • Command-line interface for automation
  • Supports ARB file format
  • Cross-platform compatibility
  • Batch processing of translation keys
  • Easy integration with Flutter projects

Suitable for

  • Flutter developers managing multiple languages
  • Teams using ARB for localization
  • Projects requiring rapid translation iteration
  • CI/CD pipelines with localization needs
  • Developers seeking AI-assisted translation tools

Considerations

  • Requires API access to Google Gemini or OpenAI
  • Dependent on internet connection for AI calls
  • Potential cost for high-volume usage
  • Translation quality depends on prompt accuracy
  • Not a replacement for human review

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

arb_translate

arb_translate on pub.dev

A command-line tool for automatically generating missing translations to ARB files using Google Gemini or OpenAI ChatGPT by LeanCode

Installation

$ dart pub global activate arb_translate

Configuration

arb_translate has been designed to seamlessly integrate with Flutter apps using flutter_localizations for code generation from ARB files. Thanks to this integration, the setup process for arb_translate can be completed in just a few steps:

  1. Generate your API key. You can create your Gemini key here or your OpenAI key here

  2. Save your API token in the environment variable ARB_TRANSLATE_API_KEY or add arb-translate-api-key: {your-api-key} to l10n.yaml in your project.

  3. (Optional) Select model used for translation. To do it add arb-translate-model to l10n.yaml or use command argument --model. The default model is gemini-2.5-flash. For all available models see arb_translate --help.

  4. (Optional) Add context of your application arb-translate-context: {your-app-context} eg. "sporting goods store app"

All other required parameters match flutter_localizations parameters and will be read from l10n.yaml file. You can override them using command arguments if necessary. See arb_translate --help for more information.

Configuration without l10n.yaml

If you project doesn't include l10n.yaml configuration you have to provide configuration using environment variables and command arguments. You also have to provide:

  1. --arb-dir The directory where the template and translated ARB files are located

  2. --template-arb-file The template ARB file that will be used as the basis for translation

See arb_translate --help for more information.

Custom model configuration

You can use arb_translate with any model with an OpenAI-compatible API. To configure a custom model:

  1. Add arb-translate-custom-model: {your-model-name} to l10n.yaml or specify as command argument custom-model: {your-model-name}
  2. Add arb-translate-custom-model-provider-base-url: {your-model-url} to l10n.yaml or specify as command argument: --custom-model-provider-base-url: {your-model-url}
  3. (Optional) Set target batch size appropriately to model token count limits by adding arb-translate-batch-size: {size} to your l10n.yaml or specify as command argument batch-size: {size}. Batch size is the number of characters of ARB messages in a single batch and does not include the prompt or app context.

Usage

To generate translations, simply call arb_translate. All messages included in the template ARB file but missing from other files will be translated. To add a new locale, simply add an empty ARB file.

$ arb_translate

Or without l10n.yaml file

$ arb_translate --arb-dir...

Read more

If you want to know how we made this tool and what challenges we had, read the story.

LeanCode

Built with ☕️ by LeanCode

Categories

Dependencies

Dependency list 9 items

Source repository

Projects using this package

No data available yet.