Translate Your Expo App with AI in Minutes

Babely is the only translation CLI with an official Expo preset. Automate app strings, native App Store metadata, and CI workflows — without a heavyweight TMS.

Why teams automate this

Two translation surfaces to maintain

Expo apps need both in-app strings (locales/*.json) and native store metadata (locales/native/*.json). Keeping them in sync manually doubles the work.

Manual copy-paste before every release

Adding a language means duplicating JSON files, translating by hand, and hoping nothing breaks in expo-localization setup.

No CI pipeline for translations

Without automation, translated files drift from source strings and block releases when new keys land in English.

How it works

1

Initialize with the Expo preset

From your Expo project root, run the official preset. Babely installs i18n-js and expo-localization, creates the locale folder structure, and configures app.json.

npx @babely/cli@latest init --preset expo
2

Configure target languages

Set your source locale and targets in babely.json. Babely watches both app strings and native metadata paths.

{
  "locale": {
    "source": "en",
    "targets": ["es", "sv"]
  },
  "files": {
    "json": {
      "include": [
        "locales/native/[locale].json",
        "locales/[locale].json"
      ]
    }
  }
}
3

Translate changed strings

Run translate locally or in CI. Babely detects new or modified keys via Git diff and generates AI translations only where needed.

npx @babely/cli@latest translate
4

Wire into GitHub Actions

Add the Babely GitHub Action so every pull request keeps translations up to date before you ship to TestFlight or 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", "sv"]
  },
  "files": {
    "json": {
      "include": [
        "locales/native/[locale].json",
        "locales/[locale].json"
      ]
    }
  }
}

Why Babely for Expo

Official Expo preset

One command sets up i18n-js, expo-localization, locale folders, and app.json — the fastest path from zero to multilingual.

App + store metadata

Translate UI copy and native App Store / Play Store strings in a single babely.json config.

Git-aware translations

Only changed keys are sent for translation, keeping costs low and diffs reviewable in pull requests.

Developer-friendly pricing

Starts at $6.99/month — a fraction of enterprise localization platforms built for marketing teams, not mobile devs.

Start translating your Expo project

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

Frequently Asked Questions

Does Babely work with expo-localization?

Yes. The Expo preset configures expo-localization and i18n-js out of the box. Babely manages the JSON translation files your app already reads at runtime.

Can I translate App Store and Play Store metadata?

Yes. Include locales/native/[locale].json in your babely.json so store listing strings are translated alongside in-app copy.

Do I need a translation management platform?

No. Babely is CLI-first: translations live in your repo as JSON files, fit your existing Git workflow, and sync via GitHub Actions when you choose.

Will OTA updates pick up new translations?

Yes. Translated JSON files are bundled like any other asset. Run Babely before your EAS build or in CI so every release ships fresh locale files.

Następny krok

Wdrażaj każdy język z tego samego pipeline’u.

Zaloguj się przez GitHub lub Google, połącz przestrzeń roboczą i synchronizuj tłumaczenia przez CLI lub CI/CD — aby aktualizacje trafiały do każdego języka bez spowalniania wydań.