i18nizer 🌍

Automate the boring parts of internationalization for React and Next.js projects

🎉

What's New in v0.7.0

Configure your AI provider and project paths, plus automatic pluralization and rich text detection with zero configuration required

AI Provider Configuration

Choose between OpenAI, Gemini, or Hugging Face with custom models

Paths Configuration

Define your source and i18n output directories once

Automatic Pluralization

Detects and converts plural patterns to ICU message format automatically

Automatic Rich Text

Handles JSX elements within text with automatic t.rich() generation

View full changelog →

What is i18nizer?

i18nizer is a CLI tool that automates the tedious process of internationalization in React and Next.js projects. It extracts hardcoded strings from your JSX/TSX files, generates AI-powered translations, and rewrites your components to use translation functions.

No runtime dependencies, no SaaS, no lock-in. Just a CLI that fits into your existing development workflow.

Key Features

🤖

AI-Powered Translations

Generate translations using OpenAI, Google Gemini, or Hugging Face at development time

Automatic Extraction

Extract translatable strings from JSX/TSX files with intelligent filtering

🔄

Component Rewriting

Automatically rewrite components to use t() translation functions

🎯

Smart Key Generation

AI-powered English camelCase keys for consistent, readable translation keys

💾

Intelligent Caching

Cache translations and keys to avoid redundant AI requests and ensure consistency

🔧

Framework Integration

Built-in support for i18next, next-intl, and react-i18next

Why i18nizer?

Internationalization is essential but tedious. The manual process involves:

  • Finding and extracting every hardcoded string
  • Creating translation keys that are consistent and readable
  • Manually translating content to multiple languages
  • Rewriting components to use translation functions
  • Maintaining JSON files across locales

i18nizer automates all of this, letting you focus on building features instead of managing i18n boilerplate. It works with your existing i18n setup—no runtime changes, no vendor lock-in.

Quick Start

1. Install i18nizer

npm install -g i18nizer

2. Initialize your project

i18nizer start

3. Translate your components

i18nizer translate src/components/Login.tsx --locales en,es,fr