Translate Your Android App with AI

Babely translates your strings.xml resources while preserving plurals, string arrays, and format specifiers — the standard Android localization workflow, automated.

Why teams automate this

values-xx folders multiply quickly

Every new language means duplicating strings.xml across values-es, values-de, values-fr folders. Manual copy-paste does not scale.

Plurals and arrays break easily

Android plurals blocks and string-array entries use XML structure that generic translators corrupt.

Strings drift before Play Store release

When English strings.xml changes, target locale files fall behind unless translation is part of your release pipeline.

How it works

1

Configure Babely for Android XML

Point Babely at your strings.xml paths. Use values-[locale] folder conventions or a flat locale directory.

{
  "locale": {
    "source": "en",
    "targets": ["es", "de", "fr"]
  },
  "files": {
    "android": {
      "include": ["app/src/main/res/values-[locale]/strings.xml"]
    }
  }
}
2

Translate changed strings

Run translate after editing your source strings. Babely detects Git diff changes and updates target locale XML files.

npx @babely/cli@latest translate
3

Review XML diffs in Git

Check that plurals, string-array items, and format specifiers like %1$s and %d stayed intact in translated files.

4

Wire into CI before release

Run Babely in GitHub Actions so every pull request keeps locale resources in sync before you ship to the Play Store.

# See docs/github-actions for the full workflow

Example babely.json

Copy this config into your project root and adjust targets to match your locale folders.

{
  "locale": {
    "source": "en",
    "targets": ["es"]
  },
  "files": {
    "android": {
      "include": ["locales/[locale].xml"]
    }
  }
}

Why Babely for Android

Native Android XML support

Babely handles strings.xml with plurals, string-array, and formatted string resources.

Standard res/ folder layout

Works with values-[locale]/strings.xml conventions used in Gradle Android projects.

Git diff detection

Only modified strings are translated, keeping pull request diffs focused and reviewable.

CI-ready CLI

Automate translations before every release build without a heavyweight TMS.

Start translating your Android project

Set up Babely in minutes, automate translations in CI, and ship multilingual products without enterprise localization overhead.

Frequently Asked Questions

Does Babely preserve Android plural rules?

Yes. Babely keeps plurals XML structure and quantity items intact while translating the string values inside each item.

Can I use a flat locale directory instead of res/values-xx?

Yes. Update the include path in babely.json to match your project layout, for example locales/[locale].xml as in the Babely example repo.

Are format specifiers like %1$s preserved?

Yes. Positional and typed format specifiers in Android strings stay unchanged during translation.

Does Babely replace Android Studio localization tools?

No. Babely automates strings.xml translation in your repo. Android Studio and Gradle still build and bundle your localized resources.

Passo successivo

Distribuisci ogni lingua dalla stessa pipeline.

Accedi con GitHub o Google, collega il tuo workspace e sincronizza le traduzioni tramite CLI o CI/CD, così ogni aggiornamento arriva in tutte le lingue senza rallentare le release.

Inizia ad automatizzare

3-day free trial