Live everywhere
CDN-friendly bundles with ETag revalidation plus a server-sent event stream. The SDK and i18next plugin apply changes to running apps in milliseconds.
Self-hosted translation management with live delivery — edit a string in the dashboard and every connected app updates. No redeploy, no rebuild, no waiting.
docker run -p 3000:3000 -v openlocale-data:/data \
-e OPENLOCALE_DB_URL=file:/data/openlocale.db \
-e OPENLOCALE_AUTH_SECRET=$(openssl rand -hex 32) \
openlocale/openlocaleimport { createClient } from "@openlocale/sdk";
const ol = createClient({
endpoint: "https://locale.example.com",
project: "demo",
live: true // SSE with polling fallback
});
await ol.load("es");
ol.t("checkout.title"); // "Pagar"
ol.on("update", () => rerender()); // fires when a translator hits saveimport i18next from "i18next";
import { OpenLocaleBackend } from "@openlocale/i18next-backend";
await i18next.use(OpenLocaleBackend).init({
lng: "es",
backend: {
endpoint: "https://locale.example.com",
project: "demo"
}
});
// react-i18next / vue bindings re-render on live updates automaticallyopenlocale init --endpoint https://locale.example.com --project demo
openlocale pull --locale all --format json-nested --out ./locales
openlocale push ./locales/en.json --locale en --dry-run # fails CI on new duplicates