Angular v21+ · Signal-First · SSR Ready

Type-Safe i18n for Angular

A signal-based translation library with lazy namespace loading, recursive proxy for crash-free templates, and LLM-powered CLI tooling.

bun add @angular-translation-service/core
app.config.ts
import { provideTranslation, httpLoader } from '@angular-translation-service/core';

provideTranslation({
  defaultLang: 'en',
  supportedLangs: ['en', 'pt-BR'],
  coreNamespaces: ['common'],
  loader: httpLoader('/i18n'),
})

Built for Modern Angular

Signal-Powered

Reactive translations via Angular Signals. Zero Zone.js dependency. Works seamlessly with zoneless change detection.

Crash-Free Templates

Recursive proxy ensures expressions like t().nav.title never throw — even when namespaces are still loading.

SSR & SSG Ready

TransferState hydration prevents flash of untranslated content. Works with both server and static rendering.

Lazy Loading

Load translation namespaces on-demand per route. Only fetch what the user needs, when they need it.

Type-Safe Keys

CLI generates TypeScript types from your JSON files. Catch missing keys at compile time, not runtime.

LLM Translation

Built-in CLI command and MCP server to batch-translate your JSON files using AI. Maintain consistent terminology across languages with local or cloud LLMs.

🤖

Vibe Code your i18n

Install the Agent Skill to teach your AI coding assistant how to use the library, run the scanner, and internationalize your app — works with Claude Code, Cursor, Windsurf, Copilot, and 30+ agents.

npx skills add igorls/angular-translation-service

Or copy the SKILL.md manually from the repository

See It In Action

This entire documentation site uses angular-translation-service for its own i18n. Toggle the language switcher above to see real-time language switching — no page reload needed.