Posez votre question et obtenez un résumé du document en referencant cette page et le Provider AI de votre choix
Historique des versions
- "Mettre à jour l'utilisation de l'API useIntlayer de Solid pour un accès direct aux propriétés"v8.9.004/05/2026
- "Ajouter la commande init"v8.0.030/12/2025
- "Initialiser l'historique"v5.5.1029/06/2025
Le contenu de cette page a été traduit à l'aide d'une IA.
Voir la dernière version du contenu original en anglaisIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
Traduisez votre site web Angular 19 (Webpack) avec Intlayer | Internationalisation (i18n)
Table des matières
Pourquoi Intlayer plutôt que des alternatives ?
Par rapport aux solutions principales telles que ngx-translate ou angular-l10n, Intlayer est une solution dotée d'optimisations intégrées telles que :
Intlayer est optimisé pour fonctionner parfaitement avec Angular en offrant une portée du contenu au niveau des composants, des traductions chargées à la demande (lazy-loading) et toutes les fonctionnalités nécessaires pour mettre à l'échelle votre internationalisation (i18n).
Au lieu de charger de lourds fichiers JSON dans vos pages, ne chargez que le contenu strictement nécessaire. Intlayer vous aide à réduire la taille de votre bundle et de vos pages jusqu'à 50 %.
Déclarer le contenu directement au plus près de vos composants facilite la maintenance des applications de grande envergure. Vous pouvez dupliquer ou supprimer le dossier d'une fonctionnalité sans le fardeau mental de devoir passer en revue toute votre base de code de contenu. De plus, Intlayer est entièrement typé pour garantir l'exactitude de vos traductions.
La colocalisation du contenu réduit le contexte nécessaire aux grands modèles de langage (LLM). Intlayer est également livré avec une suite d'outils, tels qu'une CLI pour vérifier les traductions manquantes, un LSP, un MCP et des agent skills, afin de rendre l'expérience développeur (DX) encore plus fluide pour les agents IA.
Automatisez les traductions dans votre pipeline CI/CD en utilisant le LLM de votre choix au coût de votre propre fournisseur d'IA. Intlayer propose également un compilateur pour automatiser l'extraction de contenu, ainsi qu'une plateforme web pour vous aider à traduire en arrière-plan.
Associer de gros fichiers JSON à vos composants peut ralentir les performances et impacter la réactivité. Intlayer optimise le chargement du contenu directement au moment du build.
Bien plus qu'une simple solution i18n, Intlayer propose un éditeur visuel auto-hébergé et un CMS complet pour gérer votre contenu multilingue en temps réel. Cela rend la collaboration avec les traducteurs, concepteurs-rédacteurs et autres membres de l'équipe extrêmement simple. Le contenu peut être stocké localement et/ou à distance.
Guide étape par étape pour configurer Intlayer dans une application Angular
Voir le Modèle d'application sur GitHub.
Installer les dépendances
Installez les packages nécessaires en utilisant npm :
bashCopier le codeCopier le code dans le presse-papiers
npm install intlayer angular-intlayernpm install @angular-builders/custom-webpack --save-devnpx intlayer initintlayer
Le package principal qui fournit des outils d'internationalisation pour la gestion de la configuration, la traduction, la déclaration de contenu, la transpilation et les commandes CLI.
angular-intlayer Le package qui intègre Intlayer à l'application Angular. Il fournit des fournisseurs de contexte et des hooks pour l'internationalisation Angular.
@angular-builders/custom-webpack Requis pour personnaliser la configuration Webpack de l'Angular CLI.
Configuration de votre projet
Créez un fichier de configuration pour configurer les langues de votre application :
intlayer.config.tsCopier le codeCopier le code dans le presse-papiers
import { Locales, type IntlayerConfig } from "intlayer"; const config: IntlayerConfig = { internationalization: { locales: [ Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH, // Vos autres locales ], defaultLocale: Locales.ENGLISH, }, }; export default config;Grâce à ce fichier de configuration, vous pouvez configurer les URL localisées, la redirection middleware, les noms de cookies, l'emplacement et l'extension de vos déclarations de contenu, désactiver les logs Intlayer dans la console, et plus encore. Pour une liste complète des paramètres disponibles, reportez-vous à la documentation de configuration.
Intégrer Intlayer dans votre configuration Angular
Pour intégrer Intlayer avec l'Angular CLI, vous devez utiliser un builder personnalisé. Ce guide suppose que vous utilisez Webpack (par défaut pour de nombreux projets Angular).
Tout d'abord, modifiez votre
angular.jsonpour utiliser le builder Webpack personnalisé. Mettez à jour les configurationsbuildetserve:angular.jsonCopier le codeCopier le code dans le presse-papiers
{ "projects": { "votre-nom-d-application": { "architect": { "build": { "builder": "@angular-builders/custom-webpack:browser", // replace "@angular-devkit/build-angular:application", "options": { "customWebpackConfig": { "path": "./webpack.config.ts", "mergeStrategies": { "module.rules": "prepend" }, }, "main": "src/main.ts", // replace "browser": "src/main.ts", // ... }, }, }, }, },}Assurez-vous de remplacer
votre-nom-d-applicationpar le nom réel de votre projet dansangular.json.Ensuite, créez un fichier
webpack.config.tsà la racine de votre projet :webpack.config.tsCopier le codeCopier le code dans le presse-papiers
import { mergeConfig } from "angular-intlayer/webpack";export default mergeConfig({});La fonction
mergeConfigconfigure Webpack avec Intlayer. Elle injecte leIntlayerPlugin(pour gérer les fichiers de déclaration de contenu) et configure des alias pour des performances optimales.Déclarer votre contenu
Créez et gérez vos déclarations de contenu pour stocker les traductions :
Vos déclarations de contenu peuvent être définies n'importe où dans votre application tant qu'elles sont incluses dans le répertoire
contentDir(par défaut,./src) et qu'elles correspondent à l'extension de fichier de déclaration de contenu (par défaut,.content.{json,ts,tsx,js,jsx,mjs,cjs,md,mdx,yaml,yml}).Pour plus de détails, reportez-vous à la documentation de déclaration de contenu.
Utiliser Intlayer dans votre code
Pour utiliser les fonctionnalités d'internationalisation d'Intlayer dans toute votre application Angular, vous devez fournir Intlayer dans la configuration de votre application.
src/app/app.config.tsCopier le codeCopier le code dans le presse-papiers
import { ApplicationConfig } from "@angular/core";import { provideRouter } from "@angular/router";import { provideIntlayer } from "angular-intlayer";import { routes } from "./app.routes";export const appConfig: ApplicationConfig = { providers: [ provideRouter(routes), provideIntlayer(), // Ajoutez le fournisseur Intlayer ici ],};Ensuite, vous pouvez utiliser la fonction
useIntlayerdans n'importe quel composant.src/app/app.component.tsCopier le codeCopier le code dans le presse-papiers
import { Component } from "@angular/core";import { RouterOutlet } from "@angular/router";import { useIntlayer } from "angular-intlayer";@Component({ selector: "app-root", standalone: true, imports: [RouterOutlet], templateUrl: "./app.component.html", styleUrl: "./app.component.css",})export class AppComponent { content = useIntlayer("app");}Et dans votre template :
src/app/app.component.htmlCopier le codeCopier le code dans le presse-papiers
<div class="content"> <h1>{{ content().title }}</h1> <p>{{ content().congratulations }}</p></div>Le contenu Intlayer est retourné sous forme de
Signal, vous accédez donc aux valeurs en appelant le signal :content().title.Changer la langue de votre contenu
FacultatifPour changer la langue de votre contenu, vous pouvez utiliser la fonction
setLocalefournie par la fonctionuseLocale. Cela vous permet de définir la locale de l'application et de mettre à jour le contenu en conséquence.Créez un composant pour basculer entre les langues :
src/app/locale-switcher.component.tsCopier le codeCopier le code dans le presse-papiers
import { Component } from "@angular/core";import { CommonModule } from "@angular/common";import { useLocale } from "angular-intlayer";@Component({ selector: "app-locale-switcher", standalone: true, imports: [CommonModule], template: ` <div class="locale-switcher"> <select [value]="locale()" (change)="setLocale($any($event.target).value)" > @for (loc of availableLocales; track loc) { <option [value]="loc">{{ loc }}</option> } </select> </div> `,})export class LocaleSwitcherComponent { localeCtx = useLocale(); locale = this.localeCtx.locale; availableLocales = this.localeCtx.availableLocales; setLocale = this.localeCtx.setLocale;}Ensuite, utilisez ce composant dans votre
app.component.ts:src/app/app.component.tsCopier le codeCopier le code dans le presse-papiers
import { Component } from "@angular/core";import { RouterOutlet } from "@angular/router";import { useIntlayer } from "angular-intlayer";import { LocaleSwitcherComponent } from "./locale-switcher.component";@Component({ selector: "app-root", standalone: true, imports: [RouterOutlet, LocaleSwitcherComponent], templateUrl: "./app.component.html", styleUrl: "./app.component.css",})export class AppComponent { content = useIntlayer("app");}
Configurer TypeScript
Intlayer utilise l'augmentation de module pour tirer parti de TypeScript et renforcer votre codebase.


Assurez-vous que votre configuration TypeScript inclut les types autogénérés.
Copier le code dans le presse-papiers
{ // ... Vos configurations TypeScript existantes "include": [ // ... Vos configurations TypeScript existantes ".intlayer/**/*.ts", // Inclure les types auto-générés ],}Configuration Git
Il est recommandé d'ignorer les fichiers générés par Intlayer. Cela vous évite de les commiter dans votre dépôt Git.
Pour ce faire, vous pouvez ajouter les instructions suivantes à votre fichier .gitignore :
Copier le code dans le presse-papiers
# Ignorer les fichiers générés par Intlayer.intlayerExtension VS Code
Pour améliorer votre expérience de développement avec Intlayer, vous pouvez installer l'extension officielle Intlayer VS Code Extension.
Installer depuis le VS Code Marketplace
Cette extension fournit :
- L'autocomplétion pour les clés de traduction.
- La détection d'erreurs en temps réel pour les traductions manquantes.
- Des prévisualisations en ligne du contenu traduit.
- Des actions rapides pour créer et mettre à jour facilement les traductions.
Pour plus de détails sur l'utilisation de l'extension, reportez-vous à la documentation de l'extension Intlayer VS Code.
Aller plus loin
Pour aller plus loin, vous pouvez implémenter l'éditeur visuel ou externaliser votre contenu en utilisant le CMS.