Flutter ARB

Translate Flutter Application Resource Bundle files while preserving ICU messages, placeholders, descriptions, and resource metadata.

Extensions
.arb
Output model
One ARB file per target locale

app_en.arb

json
{
  "@@locale": "en",
  "welcome": "Welcome, {userName}!",
  "@welcome": {
    "description": "Home screen greeting",
    "placeholders": {
      "userName": { "type": "String", "example": "Ada" }
    }
  },
  "itemCount": "{count, plural, =0 {No items} one {# item} other {# items}}",
  "@itemCount": {
    "placeholders": { "count": { "type": "int" } }
  }
}

app_de.arb

json
{
  "@@locale": "de",
  "welcome": "Willkommen, {userName}!",
  "@welcome": {
    "description": "Home screen greeting",
    "placeholders": {
      "userName": { "type": "String", "example": "Ada" }
    }
  },
  "itemCount": "{count, plural, =0 {Keine Elemente} one {# Element} other {# Elemente}}",
  "@itemCount": {
    "placeholders": { "count": { "type": "int" } }
  }
}

What autoglot preserves

  • @@ file attributes and @message resource metadata
  • Simple placeholders such as {userName}
  • ICU plural, select, date, time, and number expressions
  • Existing target-only messages and metadata when files are updated

Set the GitHub action paths input to your Flutter l10n directory. autoglot discovers English templates such as app_en.arb and writes Flutter locale suffixes such as app_pt_BR.arb and app_zh_Hans.arb.