Menu
Libraries |
Category

wuchale

wuchale is a compile-time internationalization (i18n) toolkit that requires zero code changes. Write your components naturally, and wuchale automatically extracts and replaces translatable strings at build time.

  • ✨ No extra syntax! - Your normal code is enough
  • 📦 Tiny catalogs to bundle - Text catalogs are just arrays, no keys necessary, like Protobuf
  • 🔌 Zero-effort integration - Add i18n to existing projects without rewriting code
  • 🤖 Optional AI translation - Gemini integration for automatic on-the-fly translations
  • ⚡ Full, granular HMR support - Live updates during development, including AI auto-translation
  • 📦 Tiny footprint - Very few (less than 5) additional dependencies, no bloated node_modules
  • 🧠 Smart extraction - Uses AST analysis to handle nested markup, conditionals, loops, and complex interpolations
  • 🌍 Standard .po files - Compatible with existing translation tools and workflows

Why wuchale?

Traditional i18n solutions require you to wrap every translatable string with function calls or components. wuchale doesn't.

Traditional i18n:

<p>{t('Hello')}</p>
<p><Trans>Welcome {userName}</Trans></p>

With wuchale:

<p>Hello</p>
<p>Welcome {userName}</p>

Write your code naturally. No imports, no wrappers, no annotations. wuchale handles everything at compile time by analyzing your code and automatically extracting translatable strings.

How it works

wuchale uses static Abstract Syntax Tree (AST) analysis to:

  1. Scan your source code and identify translatable text content
  2. Extract strings into standard .po translation files
  3. Replace strings with translation function calls that access the messages by indices
  4. Generate compact catalogs using arrays instead of string keys, synchronized with the indices

Your original code stays clean and readable, while the build output is automatically internationalized.

Supported Features

  • Complex interpolations: Welcome {userName}, you have {count} messages
  • Nested markup: `

    Visit our

ai-translationastgeminigettexti18ninternationalizationl10nlocalizationmultilingualposveltesveltekittranslationvitevite-plugin

Comments