A general purpose internationalization library in 298 bytes.
Rosetta is a minimal internationalization library for JavaScript that provides translation management in under 300 bytes. It solves the problem of adding multi-language support to applications without the overhead of larger i18n solutions, offering a simple API for dynamic translations and language switching.
JavaScript developers building applications that require lightweight, efficient internationalization, particularly those working in constrained environments like serverless functions or performance-sensitive frontends.
Developers choose Rosetta for its extreme size efficiency and unopinionated design, allowing seamless integration into any project without bloating the bundle, while still providing essential i18n features like interpolation and debug tooling.
A general purpose internationalization library in 292 bytes
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
At less than 300 bytes including dependencies, it's one of the smallest i18n libraries, minimizing impact on performance-critical applications.
Uses familiar methods like `set`, `locale`, and `t` for translation management, making it easy to learn and integrate quickly.
Works with any JavaScript environment without imposing a specific structure, allowing seamless use in React, Vue, or vanilla JS projects.
Supports dynamic string interpolation with `{{ }}` syntax and function-based translations for handling complex or conditional content.
Lacks built-in support for pluralization, gender rules, or locale formatting (dates/numbers), forcing manual implementation for common i18n needs.
Debug mode requires bundler configuration (e.g., webpack aliases) to switch versions, adding complexity compared to libraries with built-in development tools.
Has fewer plugins, community resources, or tooling integrations compared to larger i18n libraries, which can slow down development for advanced use cases.