Lokalio
Sign In

AI-powered translation, Git-native workflow

Push locale files. We translate and open a PR. Your team reviews and merges. No new workflow to learn.

terminal
$ npx lokalio init
✓ Created .lokalio.yaml
✓ Added CI workflow
$ git push origin main
lokalio detected 12 new keys in en.json
lokalio translating with AI...
✓ PR #42 opened: feat: add translations

Why Lokalio?

Translation that fits your existing workflow, not the other way around.

Git-based

Push locale changes, receive a PR with translations. No dashboards, no manual uploads.

AI-powered

Context-aware translations using state-of-the-art models. Quality that reads like it was written by a native speaker.

Format-agnostic

JSON, YAML, XLIFF, Android XML, iOS Strings, PO, Properties, PHP — one tool for every platform.

CI-native

GitHub Action runs translations directly in your pipeline. Set it and forget it.

How it works

Three steps from source files to translated PR.

01

Push

Push your locale source files to your repository as you normally would.

02

Translate

Lokalio detects the changes, translates the content via AI, and opens a pull request.

03

Merge

Review the PR, merge it, and ship. Your translations are live.

Supported formats

We handle all major i18n and l10n file formats out of the box.

JSON

.json

Flat and nested JSON locale files, the most common format for web applications.

YAML

.yaml, .yml

YAML-based translation files, popular in Rails, Symfony, and server-side projects.

XLIFF

.xliff, .xlf

XML Localization Interchange File Format, the industry standard for professional translation tools.

Android XML

.xml

Android string resources, supporting plurals, string arrays, and CDATA sections.

iOS Strings

.strings

Apple's key-value format for iOS, macOS, watchOS, and tvOS apps.

PO / POT

.po, .pot

Portable Object files used by gettext, WordPress, and open-source projects.

Java Properties

.properties

Java .properties key-value format, used across JVM-based applications and frameworks.

PHP Array

.php

PHP array-based locale files, common in Laravel and custom PHP applications.

Simple pricing

One variable: hosted words. All features included at every tier. Unlimited seats.

Free

$0/mo
  • Up to 10,000 hosted words
  • Up to 5 languages
  • High quality AI translations
  • GitHub integration
  • Format-agnostic parsing
  • Unlimited seats
Start free trial

Starter

$49/mo
  • Everything in Free, plus:
  • Up to 30,000 hosted words
  • Up to 15 languages
Start free trial
Popular

Growth

$149/mo
  • Everything in Starter, plus:
  • Up to 500,000 hosted words
  • Unlimited languages
  • Priority support
Start free trial

Scale

$249/mo
  • Everything in Growth, plus:
  • Up to 500,000 hosted words
Start free trial

Need more? Contact us for a custom plan.

Frequently asked questions

Everything you need to know about translating with Lokalio.

How does Lokalio work?
When you push code with new or changed locale keys, Lokalio detects them, sends the strings to an AI for translation, and opens a pull request with the translated files. Your team reviews and merges — no dashboards, no manual uploads.
What file formats are supported?
Lokalio supports JSON, YAML, XLIFF, Android XML, iOS Strings, PO/POT, Java Properties, and PHP Array files. See the Supported Formats section above for details on each format.
How do I get started?
Run npx lokalio init to scaffold your .lokalio.yaml configuration and CI workflow. Add your Lokalio API key as a secret in your CI environment, commit the files, and push. Lokalio will start translating on your next push.
Is my content sent to third-party AI services?
Yes, translation strings are sent to an LLM provider for translation. Only the locale strings are transmitted — your full codebase never leaves your repository.
How does billing work?
Plans are based on word count. We offer Free, Starter ($49/mo), Growth ($149/mo), and Scale ($249/mo) tiers. Each tier includes a monthly word allowance and a set number of target languages. See the Pricing section for full details.
Does it handle placeholders and variables?
Yes. Lokalio extracts placeholders like {{name}}, %s, <0>text</0>, and HTML tags before translation and reinserts them afterward. Your template variables, format specifiers, and markup stay intact through the entire translation pipeline.
What is the difference between diff and add-remove mode?
Diff mode (the default) translates only keys that changed in the current push — ideal for ongoing development. Add-remove mode compares source files against target files and translates any missing keys, which is perfect for bootstrapping a new language.