For an internationalization library for translating apps, the first results are lingui/js-lingui, jquery/globalize and i18next/i18next (i18next is a mature JavaScript i18n library that handles JSON translation files, locale detection, pluralization, interpolation, and supports framework integration and lazy loading via its plugin-based namespace system, directly matching every feature in the search). kazupon/vue-i18n and formatjs/formatjs round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
Software libraries for translating application interfaces and managing multi-language support across various programming frameworks.
Lingui is a JavaScript internationalization library that provides a framework-agnostic core with bindings for React, SolidJS, Svelte, Astro, and other JavaScript frameworks. It operates through a compile-time message extraction pipeline that scans source files for translatable strings, generates standard PO, JSON, or CSV catalog files, and compiles them into optimized JavaScript modules for production deployment. The library uses macro-based message definition to wrap translatable text in source code while preserving context for extraction, and includes a plural rule engine that automatically
Lingui is a comprehensive JavaScript internationalization library with framework bindings for React, Svelte, and others, supporting JSON catalog files, pluralization, interpolation, and efficient production bundles, directly fitting your need for a localization library with the listed features.
Globalize is a JavaScript internationalization library that uses Unicode Common Locale Data Repository JSON data to provide localization services. It functions as a locale-aware string formatter and a system for transforming dates, times, currencies, and numeric values into strings based on specific locale patterns. The library includes a precompiled localization engine that generates optimized formatting functions during the build process. This approach reduces runtime overhead and removes the requirement to load raw locale data at execution. The project covers a broad range of internationa
Globalize is a JavaScript internationalization library that handles locale-aware formatting of messages, dates, numbers, and currencies, and supports pluralization and interpolation—fitting the core need for managing translations, though its focus is on CLDR-based formatting rather than JSON translation file management.
i18next is a JavaScript localization library and internationalization framework used to translate application text into multiple languages. It functions as a dynamic translation manager that handles translation resources, language detection, and the mapping of unique keys to localized strings. The system features a pluralization and interpolation engine that applies language-specific grammatical rules for numeric counts and injects dynamic variables into strings. It utilizes a plugin-based backend architecture to load and cache translation namespaces from various sources, including remote ser
i18next is a mature JavaScript i18n library that handles JSON translation files, locale detection, pluralization, interpolation, and supports framework integration and lazy loading via its plugin-based namespace system, directly matching every feature in the search.
vue-i18n is an internationalization framework and plugin for Vue.js applications. It serves as a dynamic translation manager and localization formatting library used to translate user interface text and format dates and numbers for global audiences. The project distinguishes itself through a dynamic translation workflow that supports asynchronous locale loading and the ability to reload translation messages in real-time without refreshing the page. It provides specialized mechanisms for rich text rendering, allowing the interpolation of HTML tags and Vue components directly into translated st
vue-i18n is a comprehensive internationalization library for Vue.js that handles translation management, pluralization, interpolation, and lazy loading, making it a perfect fit for localizing a Vue-based application with the requested features.
FormatJS is an internationalization framework and library designed for building web applications that support multiple languages and regional formats. It provides a comprehensive suite of tools for managing the translation workflow, including the extraction of translatable strings from source code and the compilation of human-readable templates into optimized JavaScript functions. The project distinguishes itself by implementing the ICU MessageFormat standard, which enables the handling of complex linguistic requirements such as pluralization and gender-based text variations. By utilizing a b
FormatJS is a comprehensive internationalization framework that implements the ICU MessageFormat standard for handling complex pluralization and gender-based variations, providing extraction, compilation, and framework integration tools—exactly what you need to manage translations and localize your application's UI.
react-i18next is an internationalization framework that integrates the i18next ecosystem into React applications. It provides a system for replacing hardcoded strings with dynamic keys to support multiple languages across a user interface. The library includes an ICU message formatter for handling complex pluralization and gender-based translations. It features a localization management interface that allows for synchronizing translation keys with remote platforms and performing in-context content editing. The project covers server-side rendering localization with request-isolated translatio
react-i18next is a production-grade internationalization library for React that provides JSON-based translation file management, locale detection, pluralization via ICU messages, interpolation, lazy loading of namespaces, and deep React framework integration — exactly what you need to localize your UI.
Next-translate is a localization framework designed for Next.js applications that manages multi-language content through server-side integration and build-time optimization. It provides a comprehensive set of utilities for injecting translated strings into React components, enabling developers to handle dynamic content, pluralization, and locale-specific formatting within a unified architecture. The library distinguishes itself by optimizing application performance through selective resource loading. It parses translation files during the build process to generate page-specific bundles and su
next-translate is a Next.js-focused i18n library that handles JSON-based translations, locale detection, pluralization, interpolation, and lazy page loading, directly matching your requirements for managing UI translations with framework integration.
react-intl is a React internationalization framework and locale-aware formatting tool. It serves as an i18n message formatting library and part of the FormatJS ecosystem, providing components and APIs to format dates, numbers, and messages within React applications. The framework uses the native browser Internationalization API to ensure numeric and temporal data adheres to specific cultural conventions. It implements a system for translating user-facing text and interpolating variables using standardized ICU message syntax. The project covers the broader requirements of React UI localizatio
react-intl is a dedicated React internationalization library that handles message translation with pluralization, interpolation, and locale-aware formatting, covering the core i18n features, though it lacks built-in lazy loading of translation files.
Symfony Translation is a PHP library and framework component for internationalizing applications. It provides a complete system for managing message catalogs, handling locale-aware string translation, and formatting messages using ICU MessageFormat syntax to support pluralization, gender, and conditional selection. The component organizes translatable strings into named domains, supports key-based lookup that decouples source text from localized versions, and offers deferred rendering through translatable objects that store parameters and render only when output is needed. The library disting
Symfony Translation is a PHP internationalization library that provides locale-aware string translation, ICU MessageFormat for pluralization and interpolation, and framework integration — it fits the i18n library category, though its default file format is not JSON-based.
AngularJS Internationalization Library is a localization framework for AngularJS 1.x applications. It functions as an i18n translation tool used to swap static user interface text with localized versions based on a selected locale. The framework manages multi-language content through asynchronous loading of translation files to minimize bundle size. It includes systems for handling pluralization rules and interpolating dynamic variables into translation strings. The project also provides capabilities for language switching and fallback-chain resolution to ensure a readable string is displaye
angular-translate is a dedicated i18n library for AngularJS 1.x that handles JSON translation files, locale detection, pluralization, and interpolation, but it is deprecated and only supports AngularJS, not modern frameworks.
This library provides a foundational framework for internationalizing Ruby applications by decoupling text from source code. It manages the complete translation lifecycle, including dynamic content interpolation, pluralization, and locale-specific formatting. The system ensures application stability through thread-safe state management and configurable error handling for missing translation keys. The project distinguishes itself through a highly modular architecture that supports pluggable storage backends, allowing translation data to be retrieved from databases, key-value stores, or standar
The i18n gem is the standard internationalization library for Ruby, providing translation management with pluralization and interpolation, and deep Rails integration, though it defaults to YAML rather than JSON translation files.
This project is a cookie consent manager and GDPR compliance tool used to collect user agreement for cookie categories. It is implemented as a vanilla JavaScript plugin that operates without external frameworks or dependencies. The tool provides a multilingual consent interface that automatically detects browser or document locales to serve translated content. It manages privacy preferences by blocking third-party iframes and scripts until explicit user consent is granted. The system covers website privacy customization through configurable banners and modals, including options for layout st
This repository is a cookie consent manager with multilingual support rather than a general-purpose internationalization (i18n) library; it handles locale detection and translation for consent banners but not for localizing an application's full UI.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| lingui/js-lingui | 5.8K | TypeScript | MIT | |
| jquery/globalize | 4.8K | JavaScript | MIT | |
| i18next/i18next |
| 8.6K |
| JavaScript |
| MIT |
| kazupon/vue-i18n | 7.2K | JavaScript | MIT |
| formatjs/formatjs | 14.7K | TypeScript | — |
| i18next/react-i18next | 10K | JavaScript | MIT |
| aralroca/next-translate | 2.7K | JavaScript | MIT |
| yahoo/react-intl | 14.7K | TypeScript | — |
| symfony/translation | 6.6K | PHP | MIT |
| angular-translate/angular-translate | 4.3K | JavaScript | MIT |