@intlayer/docs 8.0.4 → 8.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/blog.cjs +1 -0
- package/dist/cjs/blog.cjs.map +1 -1
- package/dist/cjs/common.cjs +1 -0
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/doc.cjs +1 -0
- package/dist/cjs/doc.cjs.map +1 -1
- package/dist/cjs/frequentQuestions.cjs +1 -0
- package/dist/cjs/frequentQuestions.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs +1 -0
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +21 -0
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +1 -0
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +1 -0
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/cjs/index.cjs +1 -0
- package/dist/cjs/legal.cjs +1 -0
- package/dist/cjs/legal.cjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +20 -0
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +1 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/cli/doc-translate.md +1 -0
- package/docs/ar/cli/fill.md +1 -0
- package/docs/ar/configuration.md +10 -0
- package/docs/ar/intlayer_with_analog.md +371 -0
- package/docs/ar/intlayer_with_angular.md +12 -14
- package/docs/ar/packages/solid-intlayer/useIntlayer.md +1 -1
- package/docs/de/agent_skills.md +53 -0
- package/docs/de/cli/doc-translate.md +1 -0
- package/docs/de/cli/fill.md +1 -0
- package/docs/de/configuration.md +10 -0
- package/docs/de/intlayer_with_analog.md +369 -0
- package/docs/de/intlayer_with_angular.md +11 -16
- package/docs/de/packages/solid-intlayer/useIntlayer.md +1 -1
- package/docs/en/agent_skills.md +53 -0
- package/docs/en/cli/doc-translate.md +1 -0
- package/docs/en/cli/fill.md +1 -0
- package/docs/en/configuration.md +21 -1
- package/docs/en/intlayer_with_analog.md +4 -12
- package/docs/en/intlayer_with_angular.md +13 -15
- package/docs/en/packages/react-intlayer/useIntlayer.md +1 -1
- package/docs/en/packages/solid-intlayer/useIntlayer.md +1 -1
- package/docs/en-GB/cli/doc-translate.md +1 -0
- package/docs/en-GB/cli/fill.md +1 -0
- package/docs/en-GB/configuration.md +10 -0
- package/docs/en-GB/intlayer_with_analog.md +369 -0
- package/docs/en-GB/intlayer_with_angular.md +12 -14
- package/docs/en-GB/packages/solid-intlayer/useIntlayer.md +1 -1
- package/docs/es/agent_skills.md +53 -0
- package/docs/es/cli/doc-translate.md +1 -0
- package/docs/es/cli/fill.md +1 -0
- package/docs/es/configuration.md +10 -0
- package/docs/es/intlayer_with_analog.md +369 -0
- package/docs/es/intlayer_with_angular.md +11 -16
- package/docs/es/packages/solid-intlayer/useIntlayer.md +1 -1
- package/docs/fr/agent_skills.md +53 -0
- package/docs/fr/cli/doc-translate.md +1 -0
- package/docs/fr/cli/fill.md +1 -0
- package/docs/fr/configuration.md +10 -0
- package/docs/fr/intlayer_with_analog.md +369 -0
- package/docs/fr/intlayer_with_angular.md +11 -16
- package/docs/fr/packages/solid-intlayer/useIntlayer.md +1 -1
- package/docs/hi/cli/doc-translate.md +1 -0
- package/docs/hi/cli/fill.md +1 -0
- package/docs/hi/configuration.md +10 -0
- package/docs/hi/intlayer_with_analog.md +371 -0
- package/docs/hi/intlayer_with_angular.md +12 -14
- package/docs/hi/packages/solid-intlayer/useIntlayer.md +1 -1
- package/docs/id/cli/doc-translate.md +1 -0
- package/docs/id/cli/fill.md +1 -0
- package/docs/id/configuration.md +10 -0
- package/docs/id/intlayer_with_analog.md +371 -0
- package/docs/id/intlayer_with_angular.md +12 -14
- package/docs/id/packages/solid-intlayer/useIntlayer.md +1 -1
- package/docs/it/agent_skills.md +53 -0
- package/docs/it/cli/doc-translate.md +1 -0
- package/docs/it/cli/fill.md +1 -0
- package/docs/it/configuration.md +10 -0
- package/docs/it/intlayer_with_analog.md +371 -0
- package/docs/it/intlayer_with_angular.md +12 -14
- package/docs/it/packages/solid-intlayer/useIntlayer.md +1 -1
- package/docs/ja/agent_skills.md +53 -0
- package/docs/ja/cli/doc-translate.md +1 -0
- package/docs/ja/cli/fill.md +1 -0
- package/docs/ja/configuration.md +10 -0
- package/docs/ja/intlayer_with_analog.md +365 -0
- package/docs/ja/intlayer_with_angular.md +12 -14
- package/docs/ja/packages/solid-intlayer/useIntlayer.md +1 -1
- package/docs/ko/agent_skills.md +53 -0
- package/docs/ko/cli/doc-translate.md +1 -0
- package/docs/ko/cli/fill.md +1 -0
- package/docs/ko/configuration.md +10 -0
- package/docs/ko/intlayer_with_analog.md +365 -0
- package/docs/ko/intlayer_with_angular.md +12 -14
- package/docs/ko/packages/solid-intlayer/useIntlayer.md +1 -1
- package/docs/pl/cli/doc-translate.md +1 -0
- package/docs/pl/cli/fill.md +1 -0
- package/docs/pl/configuration.md +10 -0
- package/docs/pl/intlayer_with_analog.md +371 -0
- package/docs/pl/intlayer_with_angular.md +12 -14
- package/docs/pl/packages/solid-intlayer/useIntlayer.md +1 -1
- package/docs/pt/agent_skills.md +53 -0
- package/docs/pt/cli/doc-translate.md +1 -0
- package/docs/pt/cli/fill.md +1 -0
- package/docs/pt/configuration.md +10 -0
- package/docs/pt/intlayer_with_analog.md +371 -0
- package/docs/pt/intlayer_with_angular.md +12 -14
- package/docs/pt/packages/solid-intlayer/useIntlayer.md +1 -1
- package/docs/ru/cli/doc-translate.md +1 -0
- package/docs/ru/cli/fill.md +1 -0
- package/docs/ru/configuration.md +18 -0
- package/docs/ru/intlayer_with_analog.md +371 -0
- package/docs/ru/intlayer_with_angular.md +12 -14
- package/docs/ru/packages/solid-intlayer/useIntlayer.md +1 -1
- package/docs/tr/cli/doc-translate.md +1 -0
- package/docs/tr/cli/fill.md +1 -0
- package/docs/tr/configuration.md +10 -0
- package/docs/tr/intlayer_with_analog.md +365 -0
- package/docs/tr/intlayer_with_angular.md +12 -14
- package/docs/tr/packages/solid-intlayer/useIntlayer.md +1 -1
- package/docs/uk/cli/doc-translate.md +1 -0
- package/docs/uk/cli/fill.md +1 -0
- package/docs/uk/configuration.md +10 -0
- package/docs/uk/intlayer_with_analog.md +365 -0
- package/docs/uk/intlayer_with_angular.md +12 -14
- package/docs/uk/packages/solid-intlayer/useIntlayer.md +1 -1
- package/docs/vi/configuration.md +10 -0
- package/docs/vi/intlayer_with_analog.md +365 -0
- package/docs/vi/intlayer_with_angular.md +12 -14
- package/docs/vi/packages/solid-intlayer/useIntlayer.md +1 -1
- package/docs/zh/agent_skills.md +53 -0
- package/docs/zh/configuration.md +10 -0
- package/docs/zh/intlayer_with_analog.md +365 -0
- package/docs/zh/intlayer_with_angular.md +12 -14
- package/docs/zh/packages/solid-intlayer/useIntlayer.md +1 -1
- package/package.json +8 -8
- package/src/generated/docs.entry.ts +20 -0
|
@@ -0,0 +1,369 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-04-18
|
|
3
|
+
updatedAt: 2025-12-30
|
|
4
|
+
title: Analog i18n - Comment traduire votre application Analog – guide 2026
|
|
5
|
+
description: Découvrez comment rendre votre application Analog multilingue. Suivez la documentation pour l'internationaliser (i18n) et la traduire.
|
|
6
|
+
keywords:
|
|
7
|
+
- Internationalisation
|
|
8
|
+
- Documentation
|
|
9
|
+
- Intlayer
|
|
10
|
+
- Analog
|
|
11
|
+
- Angular
|
|
12
|
+
- JavaScript
|
|
13
|
+
slugs:
|
|
14
|
+
- doc
|
|
15
|
+
- environnement
|
|
16
|
+
- analog
|
|
17
|
+
applicationTemplate: https://github.com/aymericzip/intlayer/tree/main/examples/analog-app-template
|
|
18
|
+
history:
|
|
19
|
+
- version: 8.0.4
|
|
20
|
+
date: 2026-01-26
|
|
21
|
+
changes: Initialisation de l'historique
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
# Traduisez votre application Analog (Angular) avec Intlayer | Internationalisation (i18n)
|
|
25
|
+
|
|
26
|
+
## Table des matières
|
|
27
|
+
|
|
28
|
+
<TOC/>
|
|
29
|
+
|
|
30
|
+
## Qu'est-ce qu'Intlayer ?
|
|
31
|
+
|
|
32
|
+
**Intlayer** est une bibliothèque d'internationalisation (i18n) innovante et open-source conçue pour simplifier le support multilingue dans les applications web modernes.
|
|
33
|
+
|
|
34
|
+
Avec Intlayer, vous pouvez :
|
|
35
|
+
|
|
36
|
+
- **Gérer facilement les traductions** à l'aide de dictionnaires déclaratifs au niveau du composant.
|
|
37
|
+
- **Localiser dynamiquement les métadonnées**, les routes et le contenu.
|
|
38
|
+
- **Assurer le support de TypeScript** avec des types autogénérés, améliorant l'autocomplétion et la détection d'erreurs.
|
|
39
|
+
- **Bénéficier de fonctionnalités avancées**, comme la détection et le basculement dynamiques de la langue.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Guide étape par étape pour configurer Intlayer dans une application Analog
|
|
44
|
+
|
|
45
|
+
<Tabs defaultTab="code">
|
|
46
|
+
<Tab label="Code" value="code">
|
|
47
|
+
|
|
48
|
+
<iframe
|
|
49
|
+
src="https://stackblitz.com/github/aymericzip/intlayer/tree/main/examples/vite-analog-app?embed=1&ctl=1&file=intlayer.config.ts"
|
|
50
|
+
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
51
|
+
title="Démo CodeSandbox - Comment internationaliser votre application avec Intlayer"
|
|
52
|
+
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
53
|
+
loading="lazy"
|
|
54
|
+
/>
|
|
55
|
+
|
|
56
|
+
</Tab>
|
|
57
|
+
</Tabs>
|
|
58
|
+
|
|
59
|
+
Voir le [Modèle d'application](https://github.com/aymericzip/intlayer/tree/main/examples/analog-app-template) sur GitHub.
|
|
60
|
+
|
|
61
|
+
### Étape 1 : Installer les dépendances
|
|
62
|
+
|
|
63
|
+
Installez les packages nécessaires à l'aide de npm :
|
|
64
|
+
|
|
65
|
+
```bash packageManager="npm"
|
|
66
|
+
npm install intlayer angular-intlayer vite-intlayer
|
|
67
|
+
npx intlayer init
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
```bash packageManager="pnpm"
|
|
71
|
+
pnpm add intlayer angular-intlayer vite-intlayer
|
|
72
|
+
pnpm intlayer init
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
```bash packageManager="yarn"
|
|
76
|
+
yarn add intlayer angular-intlayer vite-intlayer
|
|
77
|
+
yarn intlayer init
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
```bash packageManager="bun"
|
|
81
|
+
bun add intlayer angular-intlayer vite-intlayer
|
|
82
|
+
bunx intlayer init
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
- **intlayer**
|
|
86
|
+
|
|
87
|
+
Le package principal qui fournit des outils d'internationalisation pour la gestion de la configuration, la traduction, la [déclaration de contenu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/dictionary/content_file.md), la transpilation et les [commandes CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/cli/index.md).
|
|
88
|
+
|
|
89
|
+
- **angular-intlayer**
|
|
90
|
+
Le package qui intègre Intlayer avec l'application Angular. Il fournit des fournisseurs de contexte et des hooks pour l'internationalisation d'Angular.
|
|
91
|
+
|
|
92
|
+
- **vite-intlayer**
|
|
93
|
+
Le package qui intègre Intlayer avec Vite. Il fournit un plugin pour gérer les fichiers de déclaration de contenu et configure des alias pour des performances optimales.
|
|
94
|
+
|
|
95
|
+
### Étape 2 : Configuration de votre projet
|
|
96
|
+
|
|
97
|
+
Créez un fichier de configuration pour configurer les langues de votre application :
|
|
98
|
+
|
|
99
|
+
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
100
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
101
|
+
|
|
102
|
+
const config: IntlayerConfig = {
|
|
103
|
+
internationalization: {
|
|
104
|
+
locales: [
|
|
105
|
+
Locales.ENGLISH,
|
|
106
|
+
Locales.FRENCH,
|
|
107
|
+
Locales.SPANISH,
|
|
108
|
+
// Vos autres locales
|
|
109
|
+
],
|
|
110
|
+
defaultLocale: Locales.ENGLISH,
|
|
111
|
+
},
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
export default config;
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
118
|
+
import { Locales } from "intlayer";
|
|
119
|
+
|
|
120
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
121
|
+
const config = {
|
|
122
|
+
internationalization: {
|
|
123
|
+
locales: [
|
|
124
|
+
Locales.ENGLISH,
|
|
125
|
+
Locales.FRENCH,
|
|
126
|
+
Locales.SPANISH,
|
|
127
|
+
// Vos autres locales
|
|
128
|
+
],
|
|
129
|
+
defaultLocale: Locales.ENGLISH,
|
|
130
|
+
},
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
export default config;
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
137
|
+
const { Locales } = require("intlayer");
|
|
138
|
+
|
|
139
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
140
|
+
const config = {
|
|
141
|
+
internationalization: {
|
|
142
|
+
locales: [
|
|
143
|
+
Locales.ENGLISH,
|
|
144
|
+
Locales.FRENCH,
|
|
145
|
+
Locales.SPANISH,
|
|
146
|
+
// Vos autres locales
|
|
147
|
+
],
|
|
148
|
+
defaultLocale: Locales.ENGLISH,
|
|
149
|
+
},
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
module.exports = config;
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
> Grâce à ce fichier de configuration, vous pouvez configurer des URL localisées, la redirection de 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](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/configuration.md).
|
|
156
|
+
|
|
157
|
+
### Étape 3 : Intégrer Intlayer dans votre configuration Vite
|
|
158
|
+
|
|
159
|
+
Pour intégrer Intlayer avec Analog, vous devez utiliser le plugin `vite-intlayer`.
|
|
160
|
+
|
|
161
|
+
Modifiez votre fichier `vite.config.ts` :
|
|
162
|
+
|
|
163
|
+
```typescript fileName="vite.config.ts"
|
|
164
|
+
import { defineConfig } from "vite";
|
|
165
|
+
import { intlayer } from "vite-intlayer";
|
|
166
|
+
import analog from "@analogjs/platform";
|
|
167
|
+
|
|
168
|
+
// https://vitejs.dev/config/
|
|
169
|
+
export default defineConfig(() => ({
|
|
170
|
+
plugins: [
|
|
171
|
+
analog(),
|
|
172
|
+
intlayer(), // Ajouter le plugin Intlayer
|
|
173
|
+
],
|
|
174
|
+
}));
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
> Le plugin `intlayer()` configure Vite avec Intlayer. Il gère les fichiers de déclaration de contenu et configure des alias pour des performances optimales.
|
|
178
|
+
|
|
179
|
+
### Étape 4 : Déclarer votre contenu
|
|
180
|
+
|
|
181
|
+
Créez et gérez vos déclarations de contenu pour stocker les traductions :
|
|
182
|
+
|
|
183
|
+
```tsx fileName="src/app/app.content.ts" contentDeclarationFormat="typescript"
|
|
184
|
+
import { t, type Dictionary } from "intlayer";
|
|
185
|
+
|
|
186
|
+
const appContent = {
|
|
187
|
+
key: "app",
|
|
188
|
+
content: {
|
|
189
|
+
title: t({
|
|
190
|
+
en: "Hello",
|
|
191
|
+
fr: "Bonjour",
|
|
192
|
+
es: "Hola",
|
|
193
|
+
}),
|
|
194
|
+
congratulations: t({
|
|
195
|
+
en: "Congratulations! Your app is running. 🎉",
|
|
196
|
+
fr: "Félicitations ! Votre application est en cours d'exécution. 🎉",
|
|
197
|
+
es: "¡Felicidades! Tu aplicación está en ejecución. 🎉",
|
|
198
|
+
}),
|
|
199
|
+
},
|
|
200
|
+
} satisfies Dictionary;
|
|
201
|
+
|
|
202
|
+
export default appContent;
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
> 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 correspondent à l'extension de fichier de déclaration de contenu (par défaut, `.content.{json,ts,tsx,js,jsx,mjs,cjs}`).
|
|
206
|
+
|
|
207
|
+
> Pour plus de détails, reportez-vous à la [documentation de déclaration de contenu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/dictionary/content_file.md).
|
|
208
|
+
|
|
209
|
+
### Étape 5 : Utiliser Intlayer dans votre code
|
|
210
|
+
|
|
211
|
+
Pour utiliser les fonctionnalités d'internationalisation d'Intlayer dans toute votre application Analog, vous devez fournir Intlayer dans la configuration de votre application.
|
|
212
|
+
|
|
213
|
+
```typescript fileName="src/app/app.config.ts"
|
|
214
|
+
import { ApplicationConfig } from "@angular/core";
|
|
215
|
+
import { provideIntlayer } from "angular-intlayer";
|
|
216
|
+
|
|
217
|
+
export const appConfig: ApplicationConfig = {
|
|
218
|
+
providers: [
|
|
219
|
+
provideIntlayer(), // Ajouter le fournisseur Intlayer ici
|
|
220
|
+
],
|
|
221
|
+
};
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
Ensuite, vous pouvez utiliser la fonction `useIntlayer` dans n'importe quel composant.
|
|
225
|
+
|
|
226
|
+
```typescript fileName="src/app/pages/index.page.ts"
|
|
227
|
+
import { Component } from "@angular/core";
|
|
228
|
+
import { useIntlayer } from "angular-intlayer";
|
|
229
|
+
|
|
230
|
+
@Component({
|
|
231
|
+
selector: "app-home",
|
|
232
|
+
standalone: true,
|
|
233
|
+
template: `
|
|
234
|
+
<div class="content">
|
|
235
|
+
<h1>{{ content().title }}</h1>
|
|
236
|
+
<p>{{ content().congratulations }}</p>
|
|
237
|
+
</div>
|
|
238
|
+
`,
|
|
239
|
+
})
|
|
240
|
+
export default class HomeComponent {
|
|
241
|
+
content = useIntlayer("app");
|
|
242
|
+
}
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
Le contenu Intlayer est retourné sous forme de `Signal`, vous accédez donc aux valeurs en appelant le signal : `content().title`.
|
|
246
|
+
|
|
247
|
+
### (Optionnel) Étape 6 : Changer la langue de votre contenu
|
|
248
|
+
|
|
249
|
+
Pour changer la langue de votre contenu, vous pouvez utiliser la fonction `setLocale` fournie par la fonction `useLocale`. Cela vous permet de définir la locale de l'application et de mettre à jour le contenu en conséquence.
|
|
250
|
+
|
|
251
|
+
Créez un composant pour basculer entre les langues :
|
|
252
|
+
|
|
253
|
+
```typescript fileName="src/app/locale-switcher.component.ts"
|
|
254
|
+
import { Component } from "@angular/core";
|
|
255
|
+
import { CommonModule } from "@angular/common";
|
|
256
|
+
import { useLocale } from "angular-intlayer";
|
|
257
|
+
|
|
258
|
+
@Component({
|
|
259
|
+
selector: "app-locale-switcher",
|
|
260
|
+
standalone: true,
|
|
261
|
+
imports: [CommonModule],
|
|
262
|
+
template: `
|
|
263
|
+
<div class="locale-switcher">
|
|
264
|
+
<select
|
|
265
|
+
[value]="locale()"
|
|
266
|
+
(change)="setLocale($any($event.target).value)"
|
|
267
|
+
>
|
|
268
|
+
@for (loc of availableLocales; track loc) {
|
|
269
|
+
<option [value]="loc">{{ loc }}</option>
|
|
270
|
+
}
|
|
271
|
+
</select>
|
|
272
|
+
</div>
|
|
273
|
+
`,
|
|
274
|
+
styles: [
|
|
275
|
+
`
|
|
276
|
+
.locale-switcher {
|
|
277
|
+
margin: 1rem;
|
|
278
|
+
padding: 0.5rem;
|
|
279
|
+
border: 1px solid #ccc;
|
|
280
|
+
border-radius: 4px;
|
|
281
|
+
width: fit-content;
|
|
282
|
+
}
|
|
283
|
+
`,
|
|
284
|
+
],
|
|
285
|
+
})
|
|
286
|
+
export class LocaleSwitcherComponent {
|
|
287
|
+
localeCtx = useLocale();
|
|
288
|
+
|
|
289
|
+
locale = this.localeCtx.locale;
|
|
290
|
+
availableLocales = this.localeCtx.availableLocales;
|
|
291
|
+
setLocale = this.localeCtx.setLocale;
|
|
292
|
+
}
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
Ensuite, utilisez ce composant dans vos pages :
|
|
296
|
+
|
|
297
|
+
```typescript fileName="src/app/pages/index.page.ts"
|
|
298
|
+
import { Component } from "@angular/core";
|
|
299
|
+
import { useIntlayer } from "angular-intlayer";
|
|
300
|
+
import { LocaleSwitcherComponent } from "../locale-switcher.component";
|
|
301
|
+
|
|
302
|
+
@Component({
|
|
303
|
+
selector: "app-home",
|
|
304
|
+
standalone: true,
|
|
305
|
+
imports: [LocaleSwitcherComponent],
|
|
306
|
+
template: `
|
|
307
|
+
<app-locale-switcher></app-locale-switcher>
|
|
308
|
+
<div class="content">
|
|
309
|
+
<h1>{{ content().title }}</h1>
|
|
310
|
+
<p>{{ content().congratulations }}</p>
|
|
311
|
+
</div>
|
|
312
|
+
`,
|
|
313
|
+
})
|
|
314
|
+
export default class HomeComponent {
|
|
315
|
+
content = useIntlayer("app");
|
|
316
|
+
}
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
### Configurer TypeScript
|
|
320
|
+
|
|
321
|
+
Intlayer utilise l'augmentation de module pour bénéficier de TypeScript et rendre votre codebase plus solide.
|
|
322
|
+
|
|
323
|
+

|
|
324
|
+
|
|
325
|
+

|
|
326
|
+
|
|
327
|
+
Assurez-vous que votre configuration TypeScript inclut les types autogénérés.
|
|
328
|
+
|
|
329
|
+
```json5 fileName="tsconfig.json"
|
|
330
|
+
{
|
|
331
|
+
// ... Vos configurations TypeScript existantes
|
|
332
|
+
"include": [
|
|
333
|
+
// ... Vos configurations TypeScript existantes
|
|
334
|
+
".intlayer/**/*.ts", // Inclure les types auto-générés
|
|
335
|
+
],
|
|
336
|
+
}
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
### Configuration Git
|
|
340
|
+
|
|
341
|
+
Il est recommandé d'ignorer les fichiers générés par Intlayer. Cela vous évite de les commettre dans votre dépôt Git.
|
|
342
|
+
|
|
343
|
+
Pour ce faire, vous pouvez ajouter les instructions suivantes à votre fichier `.gitignore` :
|
|
344
|
+
|
|
345
|
+
```plaintext
|
|
346
|
+
# Ignorer les fichiers générés par Intlayer
|
|
347
|
+
.intlayer
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
### Extension VS Code
|
|
351
|
+
|
|
352
|
+
Pour améliorer votre expérience de développement avec Intlayer, vous pouvez installer l'**extension officielle Intlayer VS Code**.
|
|
353
|
+
|
|
354
|
+
[Installer depuis le VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
|
|
355
|
+
|
|
356
|
+
Cette extension fournit :
|
|
357
|
+
|
|
358
|
+
- **Autocomplétion** pour les clés de traduction.
|
|
359
|
+
- **Détection d'erreurs en temps réel** pour les traductions manquantes.
|
|
360
|
+
- **Aperçus en ligne** du contenu traduit.
|
|
361
|
+
- **Actions rapides** pour créer et mettre à jour facilement les traductions.
|
|
362
|
+
|
|
363
|
+
Pour plus de détails sur l'utilisation de l'extension, reportez-vous à la [documentation de l'extension Intlayer VS Code](https://intlayer.org/doc/vs-code-extension).
|
|
364
|
+
|
|
365
|
+
---
|
|
366
|
+
|
|
367
|
+
### Aller plus loin
|
|
368
|
+
|
|
369
|
+
Pour aller plus loin, vous pouvez implémenter l'[éditeur visuel](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/intlayer_visual_editor.md) ou externaliser votre contenu à l'aide du [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/intlayer_CMS.md).
|
|
@@ -166,30 +166,25 @@ Pour intégrer Intlayer avec l'Angular CLI, vous devez utiliser un builder perso
|
|
|
166
166
|
|
|
167
167
|
Tout d'abord, modifiez votre `angular.json` pour utiliser le builder Webpack personnalisé. Mettez à jour les configurations `build` et `serve` :
|
|
168
168
|
|
|
169
|
-
```
|
|
169
|
+
```json5 fileName="angular.json"
|
|
170
170
|
{
|
|
171
171
|
"projects": {
|
|
172
172
|
"votre-nom-d-application": {
|
|
173
173
|
"architect": {
|
|
174
174
|
"build": {
|
|
175
|
-
"builder": "@angular-builders/custom-webpack:browser",
|
|
175
|
+
"builder": "@angular-builders/custom-webpack:browser", // replace "@angular-devkit/build-angular:application",
|
|
176
176
|
"options": {
|
|
177
177
|
"customWebpackConfig": {
|
|
178
|
-
"path": "./webpack.config.ts"
|
|
179
|
-
|
|
180
|
-
|
|
178
|
+
"path": "./webpack.config.ts",
|
|
179
|
+
"mergeStrategies": { "module.rules": "prepend" },
|
|
180
|
+
},
|
|
181
|
+
"main": "src/main.ts", // replace "browser": "src/main.ts",
|
|
182
|
+
// ...
|
|
183
|
+
},
|
|
181
184
|
},
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
"customWebpackConfig": {
|
|
186
|
-
"path": "./webpack.config.ts"
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
}
|
|
185
|
+
},
|
|
186
|
+
},
|
|
187
|
+
},
|
|
193
188
|
}
|
|
194
189
|
```
|
|
195
190
|
|
|
@@ -33,7 +33,7 @@ Le hook `useIntlayer` vous permet de récupérer du contenu localisé depuis un
|
|
|
33
33
|
import { useIntlayer } from "solid-intlayer";
|
|
34
34
|
|
|
35
35
|
const MyComponent = () => {
|
|
36
|
-
const content = useIntlayer("
|
|
36
|
+
const content = useIntlayer("my-dictionary-key");
|
|
37
37
|
|
|
38
38
|
return (
|
|
39
39
|
<div>
|
|
@@ -86,6 +86,7 @@ npx intlayer doc translate
|
|
|
86
86
|
- **`--temperature [temperature]`**: AI मॉडल के लिए तापमान सेटिंग।
|
|
87
87
|
- **`--api-key [apiKey]`**: AI सेवा के लिए अपनी स्वयं की API कुंजी प्रदान करें।
|
|
88
88
|
- **`--application-context [applicationContext]`**: AI अनुवाद के लिए अतिरिक्त संदर्भ प्रदान करें।
|
|
89
|
+
- **`--data-serialization [dataSerialization]`**: Intlayer की AI सुविधाओं के लिए उपयोग किया जाने वाला डेटा सीरियलाइजेशन प्रारूप। विकल्प: `json` (मानक, विश्वसनीय), `toon` (कम टोकन, कम सुसंगत)।
|
|
89
90
|
- **`--custom-prompt [prompt]`**: अनुवाद के लिए उपयोग किए जाने वाले बेस प्रॉम्प्ट को कस्टमाइज़ करें। (ध्यान दें: अधिकांश उपयोग मामलों के लिए, `--custom-instructions` विकल्प की सिफारिश की जाती है क्योंकि यह अनुवाद व्यवहार पर बेहतर नियंत्रण प्रदान करता है।)
|
|
90
91
|
|
|
91
92
|
> उदाहरण: `npx intlayer doc translate --model deepseek-chat --provider deepseek --temperature 0.5 --api-key sk-1234567890 --application-context "My application is a cat store"`
|
package/docs/hi/cli/fill.md
CHANGED
|
@@ -126,6 +126,7 @@ Affected dictionary keys for processing: app, comp-test, hello-world, lang-switc
|
|
|
126
126
|
- **`--api-key [apiKey]`**: AI सेवा के लिए अपनी API कुंजी प्रदान करें।
|
|
127
127
|
- **`--custom-prompt [prompt]`**: अपने अनुवाद निर्देशों के लिए एक कस्टम प्रॉम्प्ट प्रदान करें।
|
|
128
128
|
- **`--application-context [applicationContext]`**: AI अनुवाद के लिए अतिरिक्त संदर्भ प्रदान करें।
|
|
129
|
+
- **`--data-serialization [dataSerialization]`**: Intlayer की AI सुविधाओं के लिए उपयोग किया जाने वाला डेटा सीरियलाइजेशन प्रारूप। विकल्प: `json` (मानक, विश्वसनीय), `toon` (कम टोकन, कम सुसंगत)।
|
|
129
130
|
|
|
130
131
|
> उदाहरण: `npx intlayer fill --model gpt-3.5-turbo --provider openai --temperature 0.5 --api-key sk-1234567890 --application-context "My application is a cat store"`
|
|
131
132
|
|
package/docs/hi/configuration.md
CHANGED
|
@@ -14,6 +14,9 @@ slugs:
|
|
|
14
14
|
- concept
|
|
15
15
|
- configuration
|
|
16
16
|
history:
|
|
17
|
+
- version: 8.0.5
|
|
18
|
+
date: 2026-02-06
|
|
19
|
+
changes: AI कॉन्फ़िगरेशन में `dataSerialization` जोड़ें
|
|
17
20
|
- version: 8.0.0
|
|
18
21
|
date: 2026-01-22
|
|
19
22
|
changes: Move `importMode` build configuration to `dictionary` configuration.
|
|
@@ -880,6 +883,13 @@ Intlayer बेहतर लचीलापन और विकल्प के
|
|
|
880
883
|
- _उदाहरण_: `'https://api.openai.com/v1'`
|
|
881
884
|
- _नोट_: स्थानीय या कस्टम AI API एंडपॉइंट को इंगित करने के लिए उपयोग किया जा सकता है।
|
|
882
885
|
|
|
886
|
+
- **dataSerialization**:
|
|
887
|
+
- _प्रकार_: `'json' | 'toon'`
|
|
888
|
+
- _डिफ़ॉल्ट_: `'json'`
|
|
889
|
+
- _विवरण_: Intlayer की AI सुविधाओं के लिए उपयोग किया जाने वाला डेटा सीरियलाइजेशन प्रारूप।
|
|
890
|
+
- _उदाहरण_: `'toon'`
|
|
891
|
+
- _नोट_: `json`: मानक, विश्वसनीय; अधिक टोकन का उपयोग करता है। `toon`: कम टोकन, JSON की तुलना में कम सुसंगत।
|
|
892
|
+
|
|
883
893
|
### बिल्ड कॉन्फ़िगरेशन
|
|
884
894
|
|
|
885
895
|
सेटिंग्स जो नियंत्रित करती हैं कि Intlayer आपके एप्लिकेशन की अंतरराष्ट्रीयकरण को कैसे अनुकूलित और बिल्ड करता है।
|