Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Formatjs | 13,925 | 7,980 | 3,748 | 8 days ago | 321 | November 14, 2023 | 39 | TypeScript | ||
The monorepo home to all of the FormatJS related libraries, most notably react-intl. | ||||||||||
React I18next | 8,613 | 1,307 | 3,525 | 2 days ago | 297 | November 15, 2023 | 14 | mit | JavaScript | |
Internationalization for react done right. Using the i18next i18n ecosystem. | ||||||||||
Js Lingui | 3,987 | 47 | 132 | a day ago | 99 | September 14, 2023 | 33 | mit | TypeScript | |
🌍 📖 A readable, automated, and optimized (3 kb) internationalization for JavaScript | ||||||||||
React Most Wanted | 2,415 | 8 | 3 months ago | 98 | October 18, 2022 | 18 | mit | JavaScript | ||
React starter kit with "Most Wanted" application features | ||||||||||
React Native Localize | 2,119 | 58 | 118 | 7 days ago | 49 | November 24, 2023 | 3 | mit | Java | |
🌍 A toolbox for your React Native app localization | ||||||||||
Typesafe I18n | 1,932 | 13 | 4 days ago | 265 | August 25, 2023 | 18 | mit | TypeScript | ||
A fully type-safe and lightweight internationalization library for all your TypeScript and JavaScript projects. | ||||||||||
Reactjs Interview Questions | 1,552 | 3 years ago | JavaScript | |||||||
List of top 304 ReactJS Interview Questions & Answers | ||||||||||
React Intl Universal | 1,304 | 56 | 92 | 5 days ago | 122 | November 11, 2023 | 52 | bsd-3-clause | JavaScript | |
Internationalize React apps. Not only for Component but also for Vanilla JS. | ||||||||||
Next Intl | 1,301 | 24 | 13 hours ago | 187 | November 29, 2023 | 31 | mit | TypeScript | ||
Internationalization (i18n) for Next.js that gets out of your way. 🌐 | ||||||||||
Tolgee Platform | 1,011 | 11 hours ago | 113 | other | Kotlin | |||||
Developer & translator friendly web-based localization platform |
A readable, automated, and optimized (3 kb) internationalization for JavaScript
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.
Lingui is an easy yet powerful internationalization framework for global projects.
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.
Full rich-text support - Use React components inside localized messages without any limitation. Writing rich-text messages is as easy as writing JSX.
Powerful tooling - Manage the whole intl workflow using Lingui CLI. It extracts messages from source code, validates messages coming from translators and checks that all messages are translated before shipping to production.
Unopinionated - Integrate Lingui into your existing workflow. It supports message keys as well as auto-generated messages. Translations are stored either in JSON or standard PO files, which are supported in almost all translation tools.
Lightweight and optimized - Core library is only 1.5 kB gzipped, React components are an additional 1.3 kBs gzipped. That's less than Redux for a full-featured intl library.
Active community - Join us on Discord to discuss the latest development. At the moment, Lingui is the most active intl project on GitHub.
Compatible with react-intl - Low-level React API is very similar to react-intl and the message format is the same. It's easy to migrate an existing project.
If you're a react-intl user, check out a comparison of react-intl and Lingui.
Short example how i18n looks with JSX:
import { Trans } from "@lingui/macro"
function App() {
return (
<Trans id="msg.docs" /* id is optional */>
Read the <a href="https://lingui.dev">documentation</a>
for more info.
</Trans>
)
}
Message from this component will be extracted in following format:
msgid "msg.docs"
msgstr "Read the <0>documentation</0> for more info."
For more example see the Examples directory.
If you are having issues, please let us know.
Contribution to open-source project is everything from spreading the word, writing documentation to implement features and fixing bugs.
This project exists thanks to all the people who contribute. [Contribute].
The project is licensed under the MIT license.