← All tools

@lingui/cli

Popularity 65 Updated Development & Build

Lingui CLI to extract messages, compile catalogs, and manage translation workflows

npmauto-collected

Installation

npm
npm install -g @lingui/cli

Install with npm.

<div align="center" <h1Lingui<subjs</sub</h1

🌍📖 A readable, automated, and optimized (2 kb) internationalization for JavaScript

🎉 Lingui v6 is now available! Read the release announcement →

<hr /

![Main Suite][Badge-MainSuite-GithubCI] ![Release Workflow Testing][Badge-ReleaseWorkflowTesting-GithubCI] [![Code Coverage][Badge-Coverage]][Coverage] [![PRs Welcome][Badge-PRWelcome]][PRWelcome] [![Join the community on Discord][Badge-Discord]][Discord]

[Documentation][Documentation] · Example · Support · Contribute · License

</div

Internationalization is the design and development of a product, application or document content that enables easy localization for target audiences that vary in culture, region, or language. --- W3C Web Internationalization FAQ

Lingui is an easy yet powerful internationalization (i18n) framework for global projects.

Key Features

  • Clean and readable - Keep your code clean and readable, while the library uses battle-tested and powerful ICU MessageFormat under the hood.
  • Universal - Use it everywhere. @lingui/core provides the essential intl functionality which works in any JavaScript project, while @lingui/react offers components to leverage React rendering, including React Server Components (RSC) support, and @lingui/solid brings native SolidJS bindings. The same extract-and-compile workflow applies to React Native. Astro and Svelte work through community-supported packages.
  • Full rich-text support - Use React components inside localized messages without any limitation. Writing rich-text messages is as easy as writing JSX. That helps keep message catalogs in sync with your source code.
  • Powerful tooling - Manage your intl workflow with the Lingui CLI, Vite Plugin, and ESLint Plugin. The CLI extracts, compiles and validates messages, while the Vite plugin compiles catalogs on the fly, and the ESLint plugin helps catch common usage errors.
  • Unopinionated - Integrate Lingui into your existing workflow. It supports explicit message keys as well as auto-generated ones. Translations are stored in a standard PO file, which is supported in almost all translation tools. You can also use CSV or JSON, or add a custom formatter of your own.
  • Lightweight and optimized - Core library [](https://bundlejs.com/?q=%40lingui%2Fcore), React components [](https://bundlejs.com/?q=%40lingui%2Freact&config=%7B%22esbuild%22%3A%7B%22external%22%3A%5B%22react%22%2C%22%40lingui%2Fcore%22%5D%7D%7D).
  • Built for AI-assisted workflows - Good translations need context, especially for short UI strings. Lingui's localization formats let you describe where and how keys are used. Install lingui/skills to help your AI assistant apply Lingui patterns consistently, and see i18n with AI for MCP setup and more.
  • Active community - Join the growing community of developers who are using Lingui to build global products.