What AI model powers the translations?
What AI model powers the translations?
LazyLocales uses OpenAI’s GPT-4o for translations. Each project can configure
the model and temperature in the dashboard settings.
Does it translate the entire file every time?
Does it translate the entire file every time?
No. LazyLocales uses incremental translation. When you push a source file update,
a diff is computed against the previous version. Only new and modified keys are sent
to the AI. Existing translations are preserved.
What file format is supported?
What file format is supported?
LazyLocales works with flat and nested JSON locale files — the same format used
by i18next, react-intl, and most i18n libraries. Each key maps to a string value.
How do I give the AI more context for better translations?
How do I give the AI more context for better translations?
Add
__context__ keys to your source JSON. These are sent to the AI as context
but are excluded from the translated output.Can I prevent certain keys from being translated?
Can I prevent certain keys from being translated?
Yes. Use Locked keys are counted separately and don’t consume translation credits.
__lock__ annotations to mark keys that should not be translated (like brand names
or technical terms). The source value will be copied to all locale files.Can I use LazyLocales in CI/CD?
Can I use LazyLocales in CI/CD?
Yes. Generate a read_write API token in your project settings, store it as a
CI secret named
LAZYLOCALES_API_KEY, and the CLI will use it automatically.
See the CI/CD guide for examples with GitHub Actions, GitLab CI, and Vercel.How do I load translations in my app?
How do I load translations in my app?
The CLI writes translated JSON files directly to your project. Import them in your i18next config
or serve them from your public directory with
i18next-http-backend for dynamic loading.
See the i18next integration guide.What are the API rate limits?
What are the API rate limits?
| Endpoint category | Limit |
|---|---|
| Locale file fetches (GET) | 300/min, burst 100 |
| Translation triggers (POST) | 10/hour |
| Source file pushes (PUT) | 60/min |
| General API calls | 120/min, burst 30 |
429 status with a Retry-After header.What locale codes are supported?
What locale codes are supported?
LazyLocales supports all BCP 47 language tags,
including regional variants. Common examples:
en, en-US, en-GB, es, fr, fr-FR, de, nl-NL, ja, ko, zh-CN, zh-TW, ar, hi, pt-BRThe CLI includes a built-in locale picker with 60+ languages.Where are my credentials stored?
Where are my credentials stored?
CLI credentials are stored locally in
~/.config/lazylocales/ using the
conf library. Run lazylocales logout to clear them.Can I use multiple source files per project?
Can I use multiple source files per project?
Currently, each project supports a single source locale file. If your app uses multiple
namespaces, combine them into a nested JSON structure: