Lingui 6.0 is out! 🚀
This major release modernizes the stack with ESM-only packages, a lighter install footprint, better TypeScript support, and new i18n features like named JSX placeholders in <Trans>.
Read the full announcement 👇
dub.sh/lingui-6
#l10n #i18n
Lingui 6.10 is out ✨
- Runtime macro (experimental): macros with no build step, for Node.js, serverless and CLI tools
- Default variables: set a value like your app name once, use it in any message
github.com/lingui/js-lingui/…
#i18n #nodejs #javascript #typescript #lingui
Lingui macros in Vite, no Babel or SWC plugin needed 🦀
The Lingui Vite plugin compiles macros natively in Rust. One option replaces that plugin, and macros compile almost 30x faster than Babel.
Read more ⏬
lingui.dev/blog/2026/10/01/n…
#i18n #vite #javascript #typescript #lingui
Ever merged a PR with a new message nobody extracted? Or a translation that quietly went empty?
Lingui 6.8 adds lingui check to catch both in CI:
→ check sync: catalogs match your source code
→ check missing: every message has a translation
github.com/lingui/js-lingui/…
#i18n
Moving to @OxcProject's oxlint? Your Lingui lint rules come with you.
The Lingui ESLint plugin runs as an oxlint JS plugin, no changes needed. Compatibility is verified in CI on every change ✨
lingui.dev/ref/eslint-plugin…
#i18n #l10n #javascript #typescript #lingui
Lingui 6.7 adds RTL pseudolocalization ✨
One flag wraps your messages in RTL override marks: catch mirrored layout bugs with zero Arabic translations. Multiple pseudolocales too, so LTR expansion and RTL sit side by side.
#i18n #l10n #javascript #typescript #lingui
Lingui 6.5 levels up pseudolocalization for UI testing!
The pseudoLocale config now takes options: extend simulates text expansion (German/Finnish run ~30% longer), so you catch layout breaks before they ship. Plus custom prepend/append/override.
#i18n #l10n #lingui #javascript
Lingui retweeted
Just published lingui-rr! 🎉
If you use @LinguiJS and @ReactRouter , this handles all the heavy lifting for i18n routing. It manages URL prefixes, SSR/SPA state syncing, and keeps your loader data fully typed without any manual casting.
Docs & repo: github.com/ws-rush/lingui-rr
Lingui 6.4 ships native @solid_js support! 🚀
The new @lingui/solid package brings the familiar Lingui macros, ICU MessageFormat, and compile-time message extraction to your Solid apps.
Get started 👇
lingui.dev/tutorials/solid
#i18n #l10n #solidjs #javascript #typescript #lingui
Generated IDs or explicit IDs? Lingui supports both. Now you can enforce whichever one your team picked.
The Lingui ESLint plugin ships `require-implicit-id` and `require-explicit-id` rules: turn one on and stay consistent ✅
🔗dub.sh/jW0beDl
#i18n #lingui #typescript
Lingui 6.2 is out! ⚡️
This release makes the CLI a lot faster: `extract` up to 2.4x and `compile` up to 4.5x. It also brings typed message IDs for safer, autocompleted explicit IDs.
Check it out ⬇️
github.com/lingui/js-lingui/…
#i18n #l10n #javascript #typescript #lingui
New in Lingui: lingui-set and lingui-reset comment directives. Set context, comment, or idPrefix once per file - all your macro calls inherit it automatically! 🪄
lingui.dev/blog/2026/05/22/l…
Lingui retweeted
I can't remember who mentioned it, but we just moved over our i18n stack to lingui.dev - thank you kind internet stranger whoever you were!
🌍 i18n tip: Don't nest <Plural> inside <Trans> in Lingui.
Translators need control of the full sentence, not just the noun, because grammar changes across languages.
The new 'no-plural-inside-trans' ESLint rule catches this automatically!
Check it out: git.new/RMNC2dq
1M weekly downloads for `@lingui/core` 💜
This milestone belongs to every contributor, maintainer, and team shipping multilingual apps with Lingui. Thank you!
#opensource #javascript #i18n #react #nodejs















