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/coreimport { 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-serviceOr 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.