An open API service indexing awesome lists of open source software.

https://github.com/opral/inlang

open file format for localizing software (i18n)
https://github.com/opral/inlang

globalization i18n localisation localization vscode

Last synced: about 2 months ago
JSON representation

open file format for localizing software (i18n)

Awesome Lists containing this project

README

          


inlang icon


The open file format and ecosystem for localization (i18n)




πŸ•ΉοΈ Apps
Β·
πŸ“„ Docs
Β·
πŸ’™ Discord
Β·
𝕏 Twitter


## 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 and hand-offs.

## The solution

An open file format. Everything interoperates.

```
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Paraglideβ”‚ β”‚ Fink β”‚ β”‚ Sherlock β”‚
β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜
β”‚ β”‚ β”‚
└─────────┐ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β–Ό β–Ό β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ .inlang file β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
```

One file format. Multiple tools. All interoperable. The good old Unix philosophy.

## Popular tools

- [Paraglide](https://inlang.com/m/gerre34r/library-inlang-paraglideJs) β€” i18n library for JS/TS with fully translated, typesafe & fast apps in minutes
- [Fink](https://inlang.com/m/tdozzpar/app-inlang-finkLocalizationEditor) β€” translation editor in the browser, invite collaborators to help
- [Sherlock](https://inlang.com/m/r7kp499g/app-inlang-ideExtension) β€” VS Code extension to translate right in your editor
- [Parrot](https://inlang.com/m/gkrpgoir/app-parrot-figmaPlugin) β€” see translations directly in Figma
- [CLI](https://inlang.com/m/2qj2w8pu/app-inlang-cli) β€” lint messages, machine translate, quality control in CI/CD

## 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 β†’](https://inlang.com/documentation)

## Contributing

There are many ways you can contribute to inlang! Here are a few options:

- Star this repo
- Create issues every time you feel something is missing or goes wrong
- Upvote issues with πŸ‘ reaction so we know what the demand for a particular issue to prioritize it within the roadmap

If you would like to contribute to the development of the project, please refer to our [Contributing guide](https://github.com/opral/monorepo/blob/main/CONTRIBUTING.md).

All contributions are highly appreciated. πŸ™