Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Flutter Extract to ARBNew to Visual Studio Code? Get it now.
Flutter Extract to ARB

Flutter Extract to ARB

Zealous Foundry

|
457 installs
| (2) | Free
Extract and auto-translate Flutter text into ARB localization files.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Flutter Extract to ARB

Visual Studio Marketplace Version Visual Studio Marketplace Downloads Open VSX Downloads

🔗 Links

Download the extension from the Visual Studio Marketplace or the Open VSX Registry

If you want to add a feature or file a bug, please open an issue on the GitHub repository

💡 Code Action

Extract String to ARB : Right-click a string (or quick fix it with ⌘. / Ctrl+.) and select "Extract String to ARB".

🚀 Getting Started (Auto Setup)

Access from the Command Palette (⇧⌘P / Ctrl+Shift+P):

Setup Localization for Project : Sets up all necessary files for localization in your Flutter project, including l10n.yaml, pubspec.yaml and arb files.

⚡️ Commands (Premium Features)

🛒 Premium only: Requires a valid license key. Buy one for $9.90 →

Access from the Command Palette (⇧⌘P / Ctrl+Shift+P):

  • Extract Texts (Current File) : Extracts all Text() widget strings in the current Dart file to your ARB files.

  • Extract Texts (Project) : Extracts all Text() widget strings from the lib/ folder to your ARB files.

🔧 Manual Setup (I recommend using the setup command instead)

You should already have a l10n.yaml file in your project. If not, create one.
This extension uses Flutter's official options for internationalization. See Flutter's i18n docs

The extension also supports additional options:

Extension-specific l10n.yaml options (with defaults)

# Enable translation (via DeepL)
translate: true              

# Auto-run flutter gen-l10n after extraction              
generate: true       

# Key prefix for translations             
key-prefix: AppLocalizations.of(context)!.  

# Generate key name
# "ask" = Prompt with a suggested key name, true = infer from text, false = prompt manually  
auto-name-key: true       

# Language to use for key name generation                 
key-name-language: en       

# Import line to insert if needed                
import-line: ""

# Explicitly set source language for google trad fallback
source-language: ""                             

For translation to work, you need to add your Deepl API key in vscode settings.json file (⇧⌘P / Ctrl+Shift+P → Preferences: Open User Settings (JSON)):

"flutter.deeplApiKey": "your-key",

You can get a generous free API key here

Finally, make sure generate: true is set in your pubspec.yaml:

flutter:
  generate: true # <---

And that's it! You're ready to go 🚀

😎 Pro tips

You can define an extension getter to access your translations more concisely:

extension ContextExt on BuildContext {
  AppLocalizations get t => AppLocalizations.of(this);
}

// then instead of this
Text(AppLocalizations.of(context).yourKey)

// use it like this:
Text(context.t.yourKey)

Don't forget to update the key-prefix & import-line options in l10n.yaml ;)

☕ Support

If you'd like to support this project, consider contributing here. Thank you! :)

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft