Localization editor for Mac · being finalized

Translate your app. Review before export.

Edit your localization files on your Mac, check placeholders and review the export before writing to your project.

Translate → Check → Review → Export

No account. AI is optional.

LocalePilot translation table: keys, English source and Arabic target side by side, review statuses, and the detail panel of an AI draft with its placeholder and the French and Spanish values.
Fig. 1 Translate: the Arabic catalog, right to left, with an AI draft to review Open full-size image

QA that catches what the compiler lets through

A dropped placeholder compiles just fine, then renders wrong for your users. LocalePilot checks every translation against its source before export.

  • ICU placeholders ({name}, plurals, select) and {{name}}
  • printf and Apple: %@, %1$@, %d, %lld, %.2f…
  • Plurals in ARB/ICU and String Catalogs: every CLDR category the language needs (one, few, many…)
  • Missing or extra keys, empty values, copied source
  • A blocking issue blocks export unless you explicitly override it
Fig. 2 QA: translated, flagged, fixed

Exports that never overwrite silently

Export writes your translation files to the project after review. Settings and drafts are stored separately; store listings have their own save action.

  • Review of changed files and remaining issues
  • Three-way merge with the disk: if a file changed in the meantime, you decide value by value
  • Backup of every replaced file, kept in LocalePilot's own storage on your Mac, never in your project
  • Export summary and a recovery journal if an export is interrupted
Fig. 3 Export review

Optional AI, and you choose which one

Import, checks, review and export work without AI. When you turn it on, you decide where your strings go.

Translate your Flutter ARB files with local AI

Free local AI
Ollama or LM Studio with a model running on your Mac: your strings stay there.
Cloud AI, your keyPro
OpenAI, Anthropic, Gemini or DeepSeek, with your own API key.
Drafts to review
Every suggestion lands as an "AI draft to review". Nothing is approved without you.
GlossaryPro
Approved terms guide the model; QA flags forbidden translations. Review every suggestion.
LocalePilot batch AI translation window: Ollama selected among the providers, local model gemma3:12b detected, scope set to every target language and to missing or empty entries.
Fig. 4 Batch AI translation: 11 cells, English to 4 languages, with a local model Open full-size image

Your formats, with their metadata

ARB metadata, JSON structure, Apple comments and catalog states are preserved where supported. A JSON file that cannot be patched may be rewritten; the export summary explains it. See each format’s documented limits. A duplicate key is rejected at import instead of overwriting the existing one.

Format Typical path What is preserved
Flutter ARB Flutter lib/l10n/app_fr.arb @key metadata preserved
Nested JSON i18next, React Native, Expo, easy_localization, slang, vue-i18n locales/fr/common.json Indentation and structure preserved
Apple .strings iOS, macOS fr.lproj/Localizable.strings Comments kept as context
String Catalog iOS, SwiftUI, macOS Localizable.xcstrings Minimal diff, Xcode style
Multi-language JSON translations.json One section per language
i18next plurals Soon item_one, item_other Today each suffix is a separate key
Android strings.xml Soon res/values-fr/strings.xml Not supported yet

Your App Store listing, in every language Pro

LocalePilot reads and writes your fastlane/metadata files: name, subtitle, promotional text, description and keywords. Apple's limits are checked as you type. Keywords are counted in bytes, the unit used by the App Store Connect documentation: an accented letter counts twice.

The model is instructed to use only your source listing and not invent claims. Review every field before saving; publication remains in your usual tools.

Translate your App Store listing in your fastlane files

Free to start, Pro when your project grows

Pro is a perpetual license, with no subscription. Payments by Polar. Are future updates included?

Free

  • Every format
  • 1 project, up to 300 source keys per project
  • Local AI (Ollama, LM Studio)
  • QA and safe export

Past 300 keys, a project opens in discovery mode: you can browse it and review its QA, but editing, AI and export are locked.

Pro trial

14 days

  • Every Pro feature
  • One-time trial, no account or payment. Your files are kept when it ends.

Pro

€49 excl. VAT, one-time payment

  • Perpetual license
  • Unlimited projects and keys
  • Cloud AI with your key
  • Glossary and AI audit
  • App Store listing

Compare Free and Pro

Frequently asked questions

Is LocalePilot a translation service?

No. It is desktop software for developers. It provides no human translation, consulting or hosted localization service.

Where are my files stored?

On your machine. LocalePilot has no account and no server: it reads your project files and writes them back on export. Only the strings you send to a cloud model or a remote server leave your machine.

Which formats are supported?

Flutter ARB, nested JSON (i18next, easy_localization, slang, vue-i18n), Apple .strings, Xcode String Catalogs (.xcstrings) and multi-language JSON ({"en": {…}, "fr": {…}}), plus the fastlane files of your App Store listing. i18next suffix plurals (_one, _other) are read as separate keys for now; grouping them into one plural is coming.

Is AI required?

No. Import, QA, review and export work without AI. You can use free local AI (Ollama, LM Studio) or, with Pro, a cloud provider with your own API key.

What happens past 300 keys on the free plan?

The project opens in discovery mode: browsing and QA stay available; editing, AI and export need Pro or the 14-day trial.

Which platforms?

macOS first. A Windows version is planned next.

When will LocalePilot be available?

The app is being finalized. Join the waitlist to hear about the launch.

A local alternative to Lokalise, Crowdin and BabelEdit

Get notified at launch

LocalePilot is being finalized. Leave your email to hear when it launches.

  • macOS 12 or later · Ollama or LM Studio optional
  • App interface in English, French, Spanish, Italian and Portuguese.
Fig. 5 Export result