Create the account
Register at localesfs.com and open a project.
Docs
Create a project, move strings with the CLI, then connect a CMS or app. The API is on the same host.
Register at localesfs.com and open a project.
Create a project token in the dashboard. It looks like
lfs_...
and is shown once.
Point the SDK at https://localesfs.com.
npx @localesfs/sdk login --url https://localesfs.com
Import JSON, CSV, YAML, PO, or properties files, review the copy, then export a locale bundle or pull with the CLI.
npx @localesfs/sdk pull --lang fr --format json --out ./locales/fr.json
npx @localesfs/sdk push --lang en --file ./locales/en.json
npx @localesfs/sdk bundle --out ./locales
Install the connector, send source strings into LocalesFS, then pull the reviewed copy back. Setup for each platform is on Integrations.
WordPress
wp-content/plugins/localesfs
Contentful
npx @localesfs/contentful push
Shopify
npx @localesfs/shopify push
Strapi 5
npm install @localesfs/strapi
Generate a bundle, ship it with the app, then translate at runtime. Placeholders use {name}.
npx @localesfs/sdk bundle --out ./locales
React Native / Expo
@localesfs/react-native
Flutter
localesfs
iOS
localesfs-ios
Android
LocalesFS
Base URL https://localesfs.com.
Send
Authorization: Bearer lfs_...
with a project token, or a JWT from login.
/api/auth/login
Email and password. Returns a JWT for dashboard-scoped clients.
/api/projects
List projects the token can access.
/api/projects/:id/import
Bulk-upsert keys. Body: { lang, entries: [{ key, text, context? }] } or { lang, entries: { key: text } }. Used by CMS plugins.
/api/projects/:id/bundle
All locales as JSON: { data: { project_id, default_language, languages } }. Optional ?langs=en,fr. Used by mobile SDKs.
/api/projects/:id/export
One locale file. Query: lang, format=json|json_nested|csv|yaml|po|properties.
/api/projects/:id/tokens
Create a project API token. The plain lfs_... value is shown once.
/api/projects/:id/keys
Create a key. Body: { key, source_text, context?, tags?, max_length? }.
/api/projects/:id/webhooks
Subscribe a URL. Events: key.added, key.updated, translation.updated, translation.verified, import.completed, export.ready, task.created. The signing secret is returned once. Deliveries send X-LocalesFS-Signature: sha256=...
/api/projects/:id/qa
Placeholder, empty-string, missing-locale, and max-length issues for every target language.
/api/projects/:id/tasks
Open a review task. Body: { title, description?, priority?, status? }.
/api/projects/:id/contributors
Add a teammate who already has an account. Body: { email, role? }.
We can't find the internet
Something went wrong!