A compile-time i18n toolkit that requires zero code changes and produces the smallest possible bundles for React, Svelte, SolidJS, and Astro.
Wuchale is a compile-time internationalization toolkit that automatically extracts translatable strings from source code without requiring any code changes. It solves the problem of i18n boilerplate and large runtime bundles by analyzing ASTs at build time and replacing messages with optimized translation function calls.
Frontend developers working with React, Svelte, SolidJS, Astro, or vanilla JavaScript/TypeScript who need to add internationalization to existing or new projects without rewriting components.
Developers choose wuchale because it requires zero code changes, produces the smallest possible translation bundles, and supports a wide range of frameworks with full hot module replacement and optional AI translation integration.
Compile-time i18n toolkit that requires zero code changes and produces the smallest possible bundles. Supports React, Svelte, SolidJS, Astro, and more
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Wuchale requires no imports, wrappers, or annotations in source code, as it automatically extracts strings via AST analysis, keeping codebases clean and readable without manual i18n integration.
Translation catalogs compile into compact arrays similar to Protobuf, minimizing runtime overhead and producing optimized bundles, as emphasized in the README for performance.
Supports React, Preact, Svelte(Kit), SolidJS, Astro, and plain JS/TS, making it versatile for multi-framework projects without locking into a specific ecosystem.
Offers live updates during development, including optional AI auto-translation, enabling rapid iteration without restarting the dev server, as highlighted in the features list.
Handles nested markup, conditionals, loops, and complex interpolations through AST analysis, ensuring comprehensive string extraction from modern component syntax without manual tagging.
Since translations are baked in at build time, it may not support dynamic runtime language changes without recompilation, limiting flexibility for real-time localization updates.
Requires integration into build tools for AST analysis and compilation, which can add complexity compared to drop-in runtime libraries, especially for teams new to compile-time workflows.
The README focuses on basic extraction and interpolation; advanced i18n features like pluralization, gender rules, or context-aware translations are not explicitly detailed, potentially requiring custom workarounds.
As a newer project, it has a smaller community and fewer third-party integrations compared to established tools like Lingui or i18next, which might affect long-term support and resources.