┌─────────────────────────────────────────────────────────────────┐
│ [logo] inlang [Blog] [Docs] [GH] │
├─────────────────────────────────────────────────────────────────┤
│ │
│ [Two Column Hero Layout] │
│ │
│ ┌─────────────────────────┐ ┌─────────────────────────────┐ │
│ │ │ │ │ │
│ │ The open file format │ │ ┌────────┐ ┌────────┐ ┌────────┐
│ │ for localization (i18n)│ │ │i18n Lib│ │Translat│ │ Design │
│ │ │ │ │ │ │ Tool │ │ Tool │
│ │ One file format. │ │ └───┬────┘ └───┬────┘ └───┬────┘
│ │ Multiple tools. │ │ │ │ │ │
│ │ All interoperable. │ │ └─────────┼─────────┘ │
│ │ │ │ │ │
│ │ The good old Unix │ │ ▼ │
│ │ philosophy. │ │ ┌───────────────────┐ │
│ │ │ │ │ .inlang file │ │
│ │ [Explore tools] [Docs] │ │ └───────────────────┘ │
│ │ │ │ │ │
│ └─────────────────────────┘ └─────────────────────────────┘ │
│ │
│ ───────────────────────────────────────────────────── │
│ │
│ ★ 2.3k 📦 45k 👥 118 │
│ stars weekly downloads contributors │
│ │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ## The problem │
│ │
│ i18n tools are not interoperable. │
│ │
│ ┌──────────┐ ┌───────────┐ ┌──────────┐ │
│ │ i18n lib │───╳────│Translation│────╳────│ Design │ │
│ │ │ │ Tool │ │ Tool │ │
│ └──────────┘ └───────────┘ └──────────┘ │
│ │
│ Every tool has its own format, its own sync, its own │
│ collaboration layer. Cross-team work? Manual exports. │
│ │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ## The solution │
│ │
│ A file format designed for applications, not just data. │
│ │
│ Unlike JSON or YAML, the .inlang file is a complete backend │
│ for i18n tools: │
│ │
│ • CRUD API — Read and write translations programmatically │
│ • SQL queries — Query messages like a database │
│ • Plugin system — Import/export any format (JSON, XLIFF, etc.) │
│ • Version control — Built-in change tracking via lix │
│ │
│ One file. Every tool builds on the same foundation. │
│ │
│ ┌──────────┐ ┌───────────┐ ┌──────────┐ │
│ │ Paraglide│ │ Fink │ │ Sherlock │ │
│ └────┬─────┘ └─────┬─────┘ └─────┬────┘ │
│ │ │ │ │
│ └─────────┐ │ ┌──────────┘ │
│ ▼ ▼ ▼ │
│ ┌──────────────────────────────────┐ │
│ │ .inlang file │ │
│ └──────────────────────────────────┘ │
│ │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ## Popular tools │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Paraglide │ │ Fink │ │ Sherlock │ │
│ │ ─────────── │ │ ─────────── │ │ ─────────── │ │
│ │ i18n library│ │ Translation │ │ VS Code │ │
│ │ for JS/TS │ │ editor │ │ extension │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │
│ [View all tools →] │
│ │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ## Build your own │
│ │
│ ts │ │ import { loadProjectFromDirectory } from "@inlang/sdk" │ │ │ │ const project = await loadProjectFromDirectory({ │ │ path: "./project.inlang" │ │ }) │ │ │ │ const messages = await project.db │ │ .selectFrom("message") │ │ .selectAll() │ │ .execute() │ │ │
│ │
│ The SDK gives you: │
│ • CRUD API for translations │
│ • SQL queries │
│ • Plugin system for any format │
│ • Version control via lix │
│ │
│ [████ Read the docs] │
│ │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ Get started │ │
│ │ │ │
│ │ [████ Explore tools] [○ Documentation] │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘