Clean, lightweight i18n library for JavaScript - no boilerplate, tiny runtime. Supports React (React Native & RSC), SolidJS, Node.js, Vue, and more.

Internet
Joined August 2018
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
4
20
1,614
If you use Lingui with the @nextjs App Router: on Next 16.3+, Lingui can read the locale from root params, so you no longer pass it through every page, layout and metadata function. Updated guide: lingui.dev/tutorials/react-r… #nextjs #i18n #lingui
3
67
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
1
11
455
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
7
162
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
5
166
Lingui retweeted
Old localization workflow at @wearemiq: 2 weeks, per copy change, every time. New one, with @LinguiJS + @crowdin: under 15 minutes. Zero engineers involved. Worth the read if your team still treats translations as a code change: crowdin.info/PPVyDjq
1
2
135
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
1
4
172
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
1
1
100
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
2
16
1,483
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
4
188
"Post" - verb or noun? "Right" - direction or correctness? "Order" - purchase or command? Short UI strings are ambiguous, and translators don't see your screens. Lingui's context disambiguates identical source text - one word, multiple correct translations. #i18n #react #l10n
4
182
🌍 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
4
212
Lingui is now fully compatible with the latest @vite_js 8 release! ⚡️ Check it out: github.com/lingui/js-lingui/… #i18n #vite #lingui
1
6
258
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
7
200