Skip to content
Skills Library
Programming · Tool integration

intlayer-angular

/intlayer-angular

Integrates Intlayer internationalization with Angular applications. Use when the user asks to "setup Angular i18n", create a new translated component, use the "useIntlayer" composable, or configure providers.

Repository
intlayer ↗
Licence
Apache-2.0
Last repository change
27.10.2026

Assessment and security

100/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content35 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
12
Scripts
0
HTML comments
0
URLs in SKILL.md
4
Deprecation

No signals detected. Repository changed on 27.10.2026, without references to retired models or APIs.

Licence

Apache-2.0, otwarta: można używać i zmieniać, z zachowaniem licencji i informacji o zmianach.

What it does and when to use it

Integrates Intlayer internationalization with Angular applications. Use when the user asks to "setup Angular i18n", create a new translated component, use the "useIntlayer" composable, or configure providers.

Triggers from the description

setup Angular i18nuseIntlayer
Original author description

Integrates Intlayer internationalization with Angular applications. Use when the user asks to "setup Angular i18n", create a new translated component, use the "useIntlayer" composable, or configure providers.

How it works

  1. Core Philosophy
  2. Workflow
  3. Setup
  4. useIntlayer Hook
  5. Bundle Optimization
  6. Compiler
  7. References
Original SKILL.md headings · 102 lines, 323 words
SKILL.md preview
---
name: intlayer-angular
description: Integrates Intlayer internationalization with Angular applications. Use when the user asks to "setup Angular i18n", create a new translated component, use the "useIntlayer" composable, or configure providers.
metadata:
  author: Intlayer
  url: https://intlayer.org
  license: Apache-2.0
  mcp-server: "@intlayer/mcp"
  category: productivity
  tags: [i18n, angular]
  documentation: https://intlayer.org/doc
  support: contact@intlayer.org
---

# Intlayer Angular Usage

## Core Philosophy

Intlayer promotes **Component-Level Content Declaration**. Instead of a massive global translation file, content is declared in `*.content.ts` files adjacent to the Angular components that use them.

## Workflow

To create a translated component, you need two files:

1.  **Declaration:** A content file (e.g., `my-component.content.ts`) defining the dictionary.
2.  **Implementation:** An Angular component (e.g., `my-component.component.ts`) using the `useIntlayer` signal.

### 1. Declare Content

Create a content file using `t()` for translations.
**File:** `src/app/my-component/my-component.content.ts`

```typescript
import { t, type Dictionary } from "intlayer";

const content = {
  // The 'key' must be unique and matches what you pass to useIntlayer()
  key: "my-component",
  content: {
    text: t({
      en: "Welcome",
      fr: "Bienvenue",
      es: "Hola",
    }),
  },
} satisfies Dictionary;

export default content;
```

## Setup

- [Angular](references/environment_angular.md)
- [Angular 19](references/environment_angular_19.md)
- [Analog](references/environment_analog.md)

Register `provideIntlayer()` in the `providers` of your `ApplicationConfig` (see the [Angular guide](references/environment_angular.md)).

## useIntlayer Hook

In Angular, `useIntlayer` returns a **Signal**. You must call it as a function to access the value.

```typescript
import { Component } from "@angular/core";
import { useIntlayer } from "angular-intlayer";

@Component({
  selector: "app-my-component",
  standalone: true,
  template: `
    <div>
      <h1>
        {{ content().text }}
      </h1>
      <img [src]="content().text.value" [alt]="content().text.value" />
    </div>
  `,
})
export class MyComponent {
  content = useIntlayer("my-component");
}
```

## Bundle Optimization

Read content fields by name (dot access or destructuring) so the build can purge and minify the dictionary. Never index content at runtime (`content.statuses[status]`, use `select()`), and call `useIntlayer` in each child component instead of passing content as a prop. See the `intlayer-bundle-optimization` skill.

## Compiler

The [Intlayer Compiler](references/compiler.md) can extract all your content keys from your components, using one CLI command (`npx intlayer extract`) or automatically at app build.

## References

- [Website](https://intlayer.org)
- [Doc](https://intlayer.org/doc)

### Environments

- [Angular](references/environment_angular.md)
- [Angular 19](references/environment_angular_19.md)
- [Analog](references/environment_analog.md)

### Concepts

- [Variants](references/concept_variants.md)
- [Collections](references/concept_collections.md)
- [Compiler](references/compiler.md)
- [Formatters (number, currency, date, …)](references/formatters.md)

### Packages

- [Angular Intlayer Exports](references/packages_angular-intlayer_exports.md)
- [Intlayer Exports](references/packages_intlayer_exports.md)
- [angular-intlayer usePathname](references/packages_angular-intlayer_usePathname.md)
Files in this package (12)
  • LICENCE.md 11 KB
  • SKILL.md 3 KB
  • references/compiler.md 15 KB
  • references/concept_collections.md 6 KB
  • references/concept_variants.md 21 KB
  • references/environment_analog.md 27 KB
  • references/environment_angular.md 29 KB
  • references/environment_angular_19.md 29 KB
  • references/formatters.md 17 KB
  • references/packages_angular-intlayer_exports.md 4 KB
  • references/packages_angular-intlayer_usePathname.md 4 KB
  • references/packages_intlayer_exports.md 12 KB

Versions

The database has no other skills named intlayer-angular.

Identical content appears in 1 other GitHub folders. We show one copy with the highest score.

Database snapshot: 13.11.2026 · package version b71f689f2df3 (SHA-256 digest of the entire package)

Downloads in the last 30 days: 0 · ranking

Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.

Similar skills

  • 100intlayer-react
    Integrates Intlayer internationalization with React component. Use when the user asks to "setup React i18n", create a new translated component, use the "useIntlayer" hook, or configure providers.
  • 100intlayer-svelte
    Integrates Intlayer internationalization with Svelte and SvelteKit applications. Use when the user asks to "setup Svelte i18n", create a new translated component, use the "useIntlayer" store, or configure providers.
  • 95auth0-angular
    Use when adding authentication to Angular applications with route guards and HTTP interceptors - integrates @auth0/auth0-angular SDK for SPAs
  • 100angular
    Show how to use custom elements in Angular, including required CUSTOM_ELEMENTS_SCHEMA configuration. Use when the user asks to "use in Angular", "Angular custom elements", "custom elements in Angular", "CUSTOM_ELEMENTS_SCHEMA", or mentions "Angular module", "standalone…
  • 100angular-dependency-injection
    Configure DI, inject() usage, and providers in Angular. Use when configuring Angular dependency injection, using inject(), or defining providers.
  • 90angular-components-angular-v22-component-contracts
    Use this skill when Angular 22 changes affect component creation, selector rules, host directives, or default component behavior.

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.