angular-i18n
ALWAYS use when working with Angular i18n, internationalization, localization, translations, or multi-language support in Angular applications.
How do I install this agent skill?
npx skills add https://github.com/oguzhan18/angular-ecosystem-skills --skill angular-i18nIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill provides standard documentation and best practices for Angular internationalization (i18n), including code snippets for translation markers, pluralization, and Angular CLI commands. No malicious patterns or security risks were identified, though it establishes an attack surface for processing external project data.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
Angular i18n
Version: Angular 21 (2025) Tags: i18n, Internationalization, Localization, Translations
References: i18n Guide • Angular Localize
API Changes
This section documents recent version-specific API changes.
-
NEW: @angular/localize — Built-in i18n support
-
NEW: $localize — Message extraction
-
NEW: Angular CLI i18n — Multiple language builds
-
NEW: Lazy-loaded translations — Runtime translation loading
Best Practices
- Mark text for translation
@Component({
template: `
<h1 i18n="@@welcome">Welcome to our app!</h1>
<p i18n="@@greeting">Hello, world!</p>
`
})
export class HomeComponent {}
- Use translations with placeholders
@Component({
template: `
<p i18n="@@userCount">
There are { count, plural, =0 { no users } =1 { one user } other { {{ count }} users } } in the system.
</p>
`
})
export class UsersComponent {
count = 5;
}
- Use gender-specific translations
@Component({
template: `
<p i18n="@@message">
{ gender, select, male {He} female {She} other {They} } is attending.
</p>
`
})
export class MessageComponent {}
- Extract messages
ng extract-i18n --output-path src/locale
- Build for multiple locales
ng build --localize
- Configure locales in angular.json
{
"projects": {
"my-app": {
"i18n": {
"locales": {
"en": "src/locale/messages.en.xlf",
"es": "src/locale/messages.es.xlf",
"fr": "src/locale/messages.fr.xlf"
}
}
}
}
}
- Use i18n attribute for elements
@Component({
template: `
<img i18n-title title="Logo" src="logo.png" />
<a i18n-href href="/about" hreflang="es">About</a>
`
})
export class HeaderComponent {}
- Use @angular/localize for runtime translations
import { $localize } from '@angular/localize';
$localize`:@@greeting:Hello, ${name}:name:World!`;
- Use ngx-translate for runtime translations
// Alternative: use @ngx-translate/core
import { TranslateModule } from '@ngx-translate/core';
@NgModule({
imports: [TranslateModule.forRoot()]
})
export class AppModule {}
- Lazy load translations
// Using @ngx-translate
this.translate.getTranslation('en').subscribe(translations => {
// Load translations
});
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/oguzhan18/angular-ecosystem-skills/angular-i18n">View angular-i18n on skillZs</a>