@intlayer/docs 6.1.5 → 6.1.6-canary.0

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.
Files changed (53) hide show
  1. package/blog/ar/next-i18next_vs_next-intl_vs_intlayer.md +404 -173
  2. package/blog/de/next-i18next_vs_next-intl_vs_intlayer.md +262 -113
  3. package/blog/en/intlayer_with_next-i18next.mdx +431 -0
  4. package/blog/en/intlayer_with_next-intl.mdx +335 -0
  5. package/blog/en/next-i18next_vs_next-intl_vs_intlayer.md +403 -140
  6. package/blog/en-GB/next-i18next_vs_next-intl_vs_intlayer.md +38 -28
  7. package/blog/es/next-i18next_vs_next-intl_vs_intlayer.md +185 -71
  8. package/blog/fr/next-i18next_vs_next-intl_vs_intlayer.md +38 -28
  9. package/blog/it/next-i18next_vs_next-intl_vs_intlayer.md +38 -28
  10. package/blog/ja/next-i18next_vs_next-intl_vs_intlayer.md +38 -28
  11. package/blog/ko/next-i18next_vs_next-intl_vs_intlayer.md +38 -28
  12. package/blog/pt/next-i18next_vs_next-intl_vs_intlayer.md +38 -28
  13. package/blog/ru/next-i18next_vs_next-intl_vs_intlayer.md +36 -28
  14. package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
  15. package/blog/zh/next-i18next_vs_next-intl_vs_intlayer.md +38 -28
  16. package/dist/cjs/generated/docs.entry.cjs +16 -0
  17. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  18. package/dist/esm/generated/docs.entry.mjs +16 -0
  19. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  20. package/dist/types/generated/docs.entry.d.ts +1 -0
  21. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  22. package/docs/ar/component_i18n.md +186 -0
  23. package/docs/ar/vs_code_extension.md +48 -109
  24. package/docs/de/component_i18n.md +186 -0
  25. package/docs/de/vs_code_extension.md +46 -107
  26. package/docs/en/component_i18n.md +186 -0
  27. package/docs/en/intlayer_with_nextjs_14.md +18 -1
  28. package/docs/en/intlayer_with_nextjs_15.md +18 -1
  29. package/docs/en/vs_code_extension.md +24 -114
  30. package/docs/en-GB/component_i18n.md +186 -0
  31. package/docs/en-GB/vs_code_extension.md +42 -103
  32. package/docs/es/component_i18n.md +182 -0
  33. package/docs/es/vs_code_extension.md +53 -114
  34. package/docs/fr/component_i18n.md +186 -0
  35. package/docs/fr/vs_code_extension.md +50 -111
  36. package/docs/hi/component_i18n.md +186 -0
  37. package/docs/hi/vs_code_extension.md +49 -110
  38. package/docs/it/component_i18n.md +186 -0
  39. package/docs/it/vs_code_extension.md +50 -111
  40. package/docs/ja/component_i18n.md +186 -0
  41. package/docs/ja/vs_code_extension.md +50 -111
  42. package/docs/ko/component_i18n.md +186 -0
  43. package/docs/ko/vs_code_extension.md +48 -109
  44. package/docs/pt/component_i18n.md +186 -0
  45. package/docs/pt/vs_code_extension.md +46 -107
  46. package/docs/ru/component_i18n.md +186 -0
  47. package/docs/ru/vs_code_extension.md +48 -109
  48. package/docs/tr/component_i18n.md +186 -0
  49. package/docs/tr/vs_code_extension.md +54 -115
  50. package/docs/zh/component_i18n.md +186 -0
  51. package/docs/zh/vs_code_extension.md +51 -105
  52. package/package.json +11 -11
  53. package/src/generated/docs.entry.ts +16 -0
@@ -1,10 +1,10 @@
1
1
  ---
2
2
  createdAt: 2025-03-17
3
- updatedAt: 2025-09-22
4
- title: Extensión Oficial de VS Code
3
+ updatedAt: 2025-09-30
4
+ title: Extensión Oficial para VS Code
5
5
  description: Aprende a usar la extensión Intlayer en VS Code para mejorar tu flujo de trabajo de desarrollo. Navega rápidamente entre contenido localizado y gestiona tus diccionarios de manera eficiente.
6
6
  keywords:
7
- - Extensión de VS Code
7
+ - Extensión VS Code
8
8
  - Intlayer
9
9
  - Localización
10
10
  - Herramientas de Desarrollo
@@ -17,102 +17,46 @@ slugs:
17
17
  - vs-code-extension
18
18
  ---
19
19
 
20
- # Extensión Oficial de VS Code
20
+ # Extensión Oficial para VS Code
21
21
 
22
- ## Visión General
22
+ ## Descripción general
23
23
 
24
24
  [**Intlayer**](https://marketplace.visualstudio.com/items?itemName=Intlayer.intlayer-vs-code-extension) es la extensión oficial de Visual Studio Code para **Intlayer**, diseñada para mejorar la experiencia del desarrollador al trabajar con contenido localizado en tus proyectos.
25
25
 
26
- ![Extensión Intlayer para VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/assets/vs_code_extension_demo.gif)
26
+ ![Extensión Intlayer para VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/assets/vs_code_extension_demo.gif?raw=true)
27
27
 
28
28
  Enlace de la extensión: [https://marketplace.visualstudio.com/items?itemName=Intlayer.intlayer-vs-code-extension](https://marketplace.visualstudio.com/items?itemName=Intlayer.intlayer-vs-code-extension)
29
29
 
30
30
  ## Funcionalidades
31
31
 
32
- ### Navegación Instantánea
32
+ ![Rellenar diccionarios](https://github.com/aymericzip/intlayer-vs-code-extension/blob/master/assets/vscode_extention_fill_active_dictionary.gif?raw=true)
33
33
 
34
- **Soporte para Ir a la Definición** – Usa `⌘ + Click` (Mac) o `Ctrl + Click` (Windows/Linux) sobre una clave `useIntlayer` para abrir instantáneamente el archivo de contenido correspondiente.
35
- **Integración Perfecta** – Funciona sin problemas con proyectos **react-intlayer** y **next-intlayer**.
36
- **Soporte Multilingüe** – Soporta contenido localizado en diferentes idiomas.
37
- **Integración con VS Code** – Se integra de manera fluida con la navegación y la paleta de comandos de VS Code.
34
+ - **Navegación Instantánea** – Salta rápidamente al archivo de contenido correcto al hacer clic en una clave `useIntlayer`.
35
+ - **Rellenar Diccionarios** – Rellena los diccionarios con contenido de tu proyecto.
38
36
 
39
- ### Comandos para la Gestión de Diccionarios
37
+ ![Listar comandos](https://github.com/aymericzip/intlayer-vs-code-extension/blob/master/assets/vscode_extention_list_commands.gif?raw=true)
40
38
 
41
- Gestiona tus diccionarios de contenido directamente desde VS Code:
39
+ - **Acceso fácil a los comandos de Intlayer** – Construye, envía, descarga, rellena y prueba diccionarios de contenido con facilidad.
42
40
 
43
- - **Construir Diccionarios** – Genera archivos de contenido basados en la estructura de tu proyecto.
44
- - **Subir Diccionarios** – Sube el contenido más reciente del diccionario a tu repositorio.
45
- - **Descargar Diccionarios** – Sincroniza el contenido más reciente del diccionario desde tu repositorio a tu entorno local.
46
- - **Rellenar Diccionarios** – Llena los diccionarios con contenido de tu proyecto.
47
- - **Probar Diccionarios** – Identifica traducciones faltantes o incompletas.
41
+ ![Crear archivo de contenido](https://github.com/aymericzip/intlayer-vs-code-extension/blob/master/assets/vscode_extention_create_content_file.gif?raw=true)
48
42
 
49
- ### Generador de Declaración de Contenido
43
+ - **Generador de declaración de contenido** – Crea archivos de contenido de diccionario en varios formatos (`.ts`, `.esm`, `.cjs`, `.json`).
50
44
 
51
- Genera fácilmente archivos de diccionario estructurados en diferentes formatos:
45
+ ![Probar diccionarios](https://github.com/aymericzip/intlayer-vs-code-extension/blob/master/assets/vscode_extention_test_missing_dictionary.gif?raw=true)
52
46
 
53
- Si estás trabajando actualmente en un componente, generará el archivo `.content.{ts,tsx,js,jsx,mjs,cjs,json}` para ti.
47
+ - **Probar diccionarios** Prueba diccionarios para detectar traducciones faltantes.
54
48
 
55
- Ejemplo de componente:
49
+ ![Reconstruir diccionario](https://github.com/aymericzip/intlayer-vs-code-extension/blob/master/assets/vscode_extention_rebuild_dictionary.gif?raw=true)
56
50
 
57
- ```tsx fileName="src/components/MyComponent/index.tsx"
58
- const MyComponent = () => {
59
- const { myTranslatedContent } = useIntlayer("my-component");
51
+ - **Mantén tus diccionarios actualizados** – Mantén tus diccionarios actualizados con el contenido más reciente de tu proyecto.
60
52
 
61
- return <span>{myTranslatedContent}</span>;
62
- };
63
- ```
64
-
65
- Archivo generado en formato TypeScript:
66
-
67
- ```tsx fileName="src/components/MyComponent/index.content.ts"
68
- import { t, type Dictionary } from "intlayer";
69
-
70
- const componentContent = {
71
- key: "my-component",
72
- content: {
73
- myTranslatedContent: t({
74
- en: "Hello World",
75
- es: "Hola Mundo",
76
- fr: "Bonjour le monde",
77
- }),
78
- },
79
- };
80
-
81
- export default componentContent;
82
- ```
83
-
84
- Formatos disponibles:
85
-
86
- - **TypeScript (`.ts`)**
87
- - **Módulo ES (`.esm`)**
88
- - **CommonJS (`.cjs`)**
89
- - **JSON (`.json`)**
90
-
91
- ### Pestaña Intlayer (Barra de Actividad)
53
+ ![Pestaña Intlayer (Barra de Actividad)](https://github.com/aymericzip/intlayer-vs-code-extension/blob/master/assets/vscode_extention_search_dictionary.gif?raw=true)
92
54
 
93
- Abre la pestaña de Intlayer haciendo clic en el ícono de Intlayer en la Barra de Actividades de VS Code. Contiene dos vistas:
94
-
95
- - **Buscar**: Una barra de búsqueda en vivo para filtrar rápidamente los diccionarios y su contenido. Al escribir, los resultados se actualizan instantáneamente.
96
- - **Diccionarios**: Una vista en árbol de tus entornos/proyectos, claves de diccionario y los archivos que aportan entradas. Puedes:
97
- - Hacer clic en un archivo para abrirlo en el editor.
98
- - Usar la barra de herramientas para ejecutar acciones: Construir, Extraer (Pull), Enviar (Push), Rellenar, Actualizar, Probar y Crear Archivo de Diccionario.
99
- - Usar el menú contextual para acciones específicas del ítem:
100
- - En un diccionario: Extraer (Pull) o Enviar (Push)
101
- - En un archivo: Rellenar Diccionario
102
- - Cuando cambias de editor, el árbol revelará el archivo correspondiente si pertenece a un diccionario.
103
-
104
- ## Instalación
105
-
106
- Puedes instalar **Intlayer** directamente desde el Marketplace de VS Code:
107
-
108
- 1. Abre **VS Code**.
109
- 2. Ve al **Marketplace de Extensiones**.
110
- 3. Busca **"Intlayer"**.
111
- 4. Haz clic en **Instalar**.
55
+ - **Pestaña Intlayer (Barra de Actividad)** Navega y busca diccionarios desde una pestaña lateral dedicada con barra de herramientas y acciones contextuales (Construir, Descargar, Enviar, Rellenar, Actualizar, Probar, Crear Archivo).
112
56
 
113
57
  ## Uso
114
58
 
115
- ### Navegación Rápida
59
+ ### Navegación rápida
116
60
 
117
61
  1. Abre un proyecto que use **react-intlayer**.
118
62
  2. Localiza una llamada a `useIntlayer()`, como:
@@ -121,63 +65,58 @@ Puedes instalar **Intlayer** directamente desde el Marketplace de VS Code:
121
65
  const content = useIntlayer("app");
122
66
  ```
123
67
 
124
- 3. Haz **Command-click** (`⌘+Click` en macOS) o **Ctrl+Click** (en Windows/Linux) sobre la clave (por ejemplo, `"app"`).
68
+ 3. **Haz clic con comando** (`⌘+Click` en macOS) o **Ctrl+Click** (en Windows/Linux) sobre la clave (por ejemplo, `"app"`).
125
69
  4. VS Code abrirá automáticamente el archivo de diccionario correspondiente, por ejemplo, `src/app.content.ts`.
126
70
 
127
- ### Gestión de Diccionarios de Contenido
128
-
129
- ### Pestaña Intlayer (Barra de Actividades)
71
+ ### Pestaña Intlayer (Barra de Actividad)
130
72
 
131
- Usa la pestaña lateral para explorar y gestionar diccionarios:
73
+ Usa la pestaña lateral para navegar y gestionar diccionarios:
132
74
 
133
- - Abre el ícono de Intlayer en la Barra de Actividades.
75
+ - Abre el ícono de Intlayer en la Barra de Actividad.
134
76
  - En **Buscar**, escribe para filtrar diccionarios y entradas en tiempo real.
135
- - En **Diccionarios**, navega por entornos, diccionarios y archivos. Usa la barra de herramientas para Construir, Extraer, Enviar, Rellenar, Actualizar, Probar y Crear Archivo de Diccionario. Haz clic derecho para acciones contextuales (Extraer/Enviar en diccionarios, Rellenar en archivos). El archivo actual del editor se revela automáticamente en el árbol cuando es aplicable.
77
+ - En **Diccionarios**, navega por entornos, diccionarios y archivos. Usa la barra de herramientas para Construir, Extraer (Pull), Enviar (Push), Rellenar, Actualizar, Probar y Crear Archivo de Diccionario. Haz clic derecho para acciones contextuales (Extraer/Enviar en diccionarios, Rellenar en archivos). El archivo actual del editor se revela automáticamente en el árbol cuando es aplicable.
136
78
 
137
- #### Construcción de Diccionarios
79
+ ### Acceso a los comandos
138
80
 
139
- Genera todos los archivos de contenido del diccionario con:
81
+ Puedes acceder a los comandos desde la **Paleta de Comandos**.
140
82
 
141
83
  ```sh
142
84
  Cmd + Shift + P (macOS) / Ctrl + Shift + P (Windows/Linux)
143
85
  ```
144
86
 
145
- Busca **Construir Diccionarios** y ejecuta el comando.
146
-
147
- #### Envío de Diccionarios
148
-
149
- Sube el contenido más reciente del diccionario:
150
-
151
- 1. Abre la **Paleta de Comandos**.
152
- 2. Busca **Enviar Diccionarios**.
153
- 3. Selecciona los diccionarios a enviar y confirma.
154
-
155
- #### Extracción de Diccionarios
87
+ - **Construir Diccionarios**
88
+ - **Enviar Diccionarios**
89
+ - **Obtener Diccionarios**
90
+ - **Rellenar Diccionarios**
91
+ - **Probar Diccionarios**
92
+ - **Crear Archivo de Diccionario**
156
93
 
157
- Sincroniza el contenido más reciente del diccionario:
94
+ ### Carga de Variables de Entorno
158
95
 
159
- 1. Abre la **Paleta de Comandos**.
160
- 2. Busca **Extraer Diccionarios**.
161
- 3. Elige los diccionarios que deseas extraer.
96
+ Intlayer recomienda almacenar tus claves API de IA, así como el ID y secreto del cliente de Intlayer en variables de entorno.
162
97
 
163
- #### Rellenar Diccionarios
98
+ La extensión puede cargar variables de entorno desde tu espacio de trabajo para ejecutar comandos de Intlayer con el contexto correcto.
164
99
 
165
- Rellena los diccionarios con contenido de tu proyecto:
100
+ - **Orden de carga (por prioridad)**: `.env.<env>.local` → `.env.<env>` → `.env.local` → `.env`
101
+ - **No destructivo**: los valores existentes en `process.env` no son sobrescritos.
102
+ - **Alcance**: los archivos se resuelven desde el directorio base configurado (por defecto la raíz del espacio de trabajo).
166
103
 
167
- 1. Abre la **Paleta de Comandos**.
168
- 2. Busca **Rellenar Diccionarios**.
169
- 3. Ejecuta el comando para poblar los diccionarios.
104
+ #### Selección del entorno activo
170
105
 
171
- #### Probar Diccionarios
106
+ - **Paleta de Comandos**: abre la paleta y ejecuta `Intlayer: Select Environment`, luego elige el entorno (por ejemplo, `development`, `staging`, `production`). La extensión intentará cargar el primer archivo disponible en la lista de prioridad mencionada y mostrará una notificación como “Entorno cargado desde .env.<env>.local”.
107
+ - **Configuración**: ve a `Settings → Extensions → Intlayer`, y configura:
108
+ - **Environment**: el nombre del entorno usado para resolver archivos `.env.<env>*`.
109
+ - (Opcional) **Env File**: una ruta explícita a un archivo `.env`. Cuando se proporciona, tiene prioridad sobre la lista inferida.
172
110
 
173
- Valida los diccionarios y encuentra traducciones faltantes:
111
+ #### Monorepos y directorios personalizados
174
112
 
175
- 1. Abre la **Paleta de Comandos**.
176
- 2. Busca **Probar Diccionarios**.
177
- 3. Revisa los problemas reportados y corrígelos según sea necesario.
113
+ Si tus archivos `.env` están fuera de la raíz del espacio de trabajo, configura el **Directorio Base** en `Configuración → Extensiones → Intlayer`. El cargador buscará los archivos `.env` relativos a ese directorio.
178
114
 
179
- ## Historial del Documento
115
+ ## Historial de Documentación
180
116
 
181
- | Versión | Fecha | Cambios |
182
- | ------- | ---------- | ----------------- |
183
- | 5.5.10 | 2025-06-29 | Historial inicial |
117
+ | Versión | Fecha | Cambios |
118
+ | ------- | ---------- | --------------------------------------------- |
119
+ | 6.1.5 | 2025-09-30 | Añadido gif de demostración |
120
+ | 6.1.0 | 2025-09-24 | Añadida sección de selección de entorno |
121
+ | 6.0.0 | 2025-09-22 | Pestaña Intlayer / Comandos Rellenar y Probar |
122
+ | 5.5.10 | 2025-06-29 | Historial inicial |
@@ -0,0 +1,186 @@
1
+ ---
2
+ createdAt: 2024-03-07
3
+ updatedAt: 2025-09-30
4
+ title: Rendre un composant multilingue (i18n) en React et Next.js
5
+ description: Apprenez à déclarer et récupérer du contenu localisé pour créer un composant React ou Next.js multilingue avec Intlayer.
6
+ keywords:
7
+ - i18n
8
+ - composant
9
+ - react
10
+ - multilingue
11
+ - next.js
12
+ - intlayer
13
+ slugs:
14
+ - doc
15
+ - component
16
+ - i18n
17
+ applicationTemplate: https://github.com/aymericzip/intlayer-vite-react-template
18
+ youtubeVideo: https://www.youtube.com/watch?v=dS9L7uJeak4
19
+ ---
20
+
21
+ # Comment rendre un composant multilingue (i18n) avec Intlayer
22
+
23
+ Ce guide montre les étapes minimales pour rendre un composant d'interface utilisateur multilingue dans deux configurations courantes :
24
+
25
+ - React (Vite/SPA)
26
+ - Next.js (App Router)
27
+
28
+ Vous commencerez par déclarer votre contenu, puis vous le récupérerez dans votre composant.
29
+
30
+ ## 1) Déclarez votre contenu (partagé pour React et Next.js)
31
+
32
+ Créez un fichier de déclaration de contenu à proximité de votre composant. Cela permet de garder les traductions proches de leur utilisation et assure la sécurité des types.
33
+
34
+ ```ts fileName="component.content.ts"
35
+ import { t, type Dictionary } from "intlayer";
36
+
37
+ const componentContent = {
38
+ key: "component-example",
39
+ content: {
40
+ title: t({
41
+ en: "Hello",
42
+ fr: "Bonjour",
43
+ es: "Hola",
44
+ }),
45
+ description: t({
46
+ en: "A multilingual React component",
47
+ fr: "Un composant React multilingue",
48
+ es: "Un componente React multilingüe",
49
+ }),
50
+ },
51
+ } satisfies Dictionary;
52
+
53
+ export default componentContent;
54
+ ```
55
+
56
+ Le JSON est également supporté si vous préférez les fichiers de configuration.
57
+
58
+ ```json fileName="component.content.json"
59
+ {
60
+ "$schema": "https://intlayer.org/schema.json",
61
+ "key": "component-example",
62
+ "content": {
63
+ "title": {
64
+ "nodeType": "translation",
65
+ "translation": { "en": "Hello", "fr": "Bonjour", "es": "Hola" }
66
+ },
67
+ "description": {
68
+ "nodeType": "translation",
69
+ "translation": {
70
+ "en": "A multilingual React component",
71
+ "fr": "Un composant React multilingue",
72
+ "es": "Un componente React multilingüe"
73
+ }
74
+ }
75
+ }
76
+ }
77
+ ```
78
+
79
+ ## 2) Récupérez votre contenu
80
+
81
+ ### Cas A — Application React (Vite/SPA)
82
+
83
+ Approche par défaut : utilisez `useIntlayer` pour récupérer par clé. Cela permet de garder les composants légers et typés.
84
+
85
+ ```tsx fileName="ComponentExample.tsx"
86
+ import { useIntlayer } from "react-intlayer";
87
+
88
+ export function ComponentExample() {
89
+ const content = useIntlayer("component-example");
90
+ return (
91
+ <div>
92
+ <h1>{content.title}</h1>
93
+ <p>{content.description}</p>
94
+ </div>
95
+ );
96
+ }
97
+ ```
98
+
99
+ Rendu côté serveur ou hors du provider : utilisez `react-intlayer/server` et passez un `locale` explicite si nécessaire.
100
+
101
+ ```tsx fileName="ServerRenderedExample.tsx"
102
+ import { useIntlayer } from "react-intlayer/server";
103
+
104
+ export function ServerRenderedExample({ locale }: { locale: string }) {
105
+ const content = useIntlayer("component-example", locale);
106
+ return (
107
+ <>
108
+ <h1>{content.title}</h1>
109
+ <p>{content.description}</p>
110
+ </>
111
+ );
112
+ }
113
+ ```
114
+
115
+ Alternative : `useDictionary` peut lire un objet déclaré en entier si vous préférez regrouper la structure au point d'appel.
116
+
117
+ ```tsx fileName="ComponentWithDictionary.tsx"
118
+ import { useDictionary } from "react-intlayer";
119
+ import componentContent from "./component.content";
120
+
121
+ export function ComponentWithDictionary() {
122
+ const { title, description } = useDictionary(componentContent);
123
+ return (
124
+ <div>
125
+ <h1>{title}</h1>
126
+ <p>{description}</p>
127
+ </div>
128
+ );
129
+ }
130
+ ```
131
+
132
+ ### Cas B — Next.js (App Router)
133
+
134
+ Privilégiez les composants serveur pour la sécurité des données et la performance. Utilisez `useIntlayer` depuis `next-intlayer/server` dans les fichiers serveur, et `useIntlayer` depuis `next-intlayer` dans les composants clients.
135
+
136
+ ```tsx fileName="app/[locale]/example/ServerComponent.tsx"
137
+ import { useIntlayer } from "next-intlayer/server";
138
+
139
+ export default function ServerComponent() {
140
+ const content = useIntlayer("component-example");
141
+ return (
142
+ <>
143
+ <h1>{content.title}</h1>
144
+ <p>{content.description}</p>
145
+ </>
146
+ );
147
+ }
148
+ ```
149
+
150
+ ```tsx fileName="app/[locale]/example/ClientComponent.tsx"
151
+ "use client";
152
+
153
+ import { useIntlayer } from "next-intlayer";
154
+
155
+ export function ClientComponent() {
156
+ const content = useIntlayer("component-example");
157
+ return (
158
+ <div>
159
+ <h1>{content.title}</h1>
160
+ <p>{content.description}</p>
161
+ </div>
162
+ );
163
+ }
164
+ ```
165
+
166
+ Astuce : Pour les métadonnées de page et le SEO, vous pouvez également récupérer le contenu en utilisant `getIntlayer` et générer des URLs multilingues via `getMultilingualUrls`.
167
+
168
+ ## Pourquoi l’approche composant d’Intlayer est la meilleure
169
+
170
+ - **Collocation** : Les déclarations de contenu vivent à proximité des composants, réduisant les dérives et améliorant la réutilisation à travers les systèmes de design.
171
+ - **Sécurité des types** : Les clés et structures sont fortement typées ; les traductions manquantes apparaissent à la compilation plutôt qu’à l’exécution.
172
+ - **Serveur d'abord** : Fonctionne nativement dans les composants serveur pour une meilleure sécurité et performance ; les hooks client restent ergonomiques.
173
+ - **Tree-shaking** : Seul le contenu utilisé par le composant est inclus, ce qui maintient les charges utiles légères dans les grandes applications.
174
+ - **Expérience développeur & outils** : Middleware intégré, assistants SEO, et traductions optionnelles via éditeur visuel/IA facilitent le travail quotidien.
175
+
176
+ Consultez les comparaisons et les modèles dans le résumé axé sur Next.js : https://intlayer.org/blog/next-i18next-vs-next-intl-vs-intlayer
177
+
178
+ ## Guides et références associés
179
+
180
+ - Configuration React (Vite) : https://intlayer.org/doc/environment/vite-and-react
181
+ - React Router v7 : https://intlayer.org/doc/environment/vite-and-react/react-router-v7
182
+ - Démarrage TanStack : https://intlayer.org/doc/environment/vite-and-react/tanstack-start
183
+ - Configuration Next.js : https://intlayer.org/doc/environment/nextjs
184
+ - Pourquoi Intlayer vs. next-intl vs. next-i18next : https://intlayer.org/blog/next-i18next-vs-next-intl-vs-intlayer
185
+
186
+ Ces pages incluent la configuration de bout en bout, les fournisseurs, le routage et les assistants SEO.
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  createdAt: 2025-03-17
3
- updatedAt: 2025-09-22
3
+ updatedAt: 2025-09-30
4
4
  title: Extension officielle VS Code
5
- description: Apprenez à utiliser l'extension Intlayer dans VS Code pour améliorer votre flux de développement. Naviguez rapidement entre les contenus localisés et gérez efficacement vos dictionnaires.
5
+ description: Apprenez à utiliser l'extension Intlayer dans VS Code pour améliorer votre flux de travail de développement. Naviguez rapidement entre les contenus localisés et gérez efficacement vos dictionnaires.
6
6
  keywords:
7
7
  - Extension VS Code
8
8
  - Intlayer
@@ -19,165 +19,104 @@ slugs:
19
19
 
20
20
  # Extension officielle VS Code
21
21
 
22
- ## Vue d'ensemble
22
+ ## Aperçu
23
23
 
24
24
  [**Intlayer**](https://marketplace.visualstudio.com/items?itemName=Intlayer.intlayer-vs-code-extension) est l'extension officielle Visual Studio Code pour **Intlayer**, conçue pour améliorer l'expérience développeur lors du travail avec du contenu localisé dans vos projets.
25
25
 
26
- ![Extension Intlayer VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/assets/vs_code_extension_demo.gif)
26
+ ![Extension Intlayer VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/assets/vs_code_extension_demo.gif?raw=true)
27
27
 
28
28
  Lien de l'extension : [https://marketplace.visualstudio.com/items?itemName=Intlayer.intlayer-vs-code-extension](https://marketplace.visualstudio.com/items?itemName=Intlayer.intlayer-vs-code-extension)
29
29
 
30
30
  ## Fonctionnalités
31
31
 
32
- ### Navigation instantanée
32
+ ![Remplir les dictionnaires](https://github.com/aymericzip/intlayer-vs-code-extension/blob/master/assets/vscode_extention_fill_active_dictionary.gif?raw=true)
33
33
 
34
- **Support de Aller à la définition** – Utilisez `⌘ + Clic` (Mac) ou `Ctrl + Clic` (Windows/Linux) sur une clé `useIntlayer` pour ouvrir instantanément le fichier de contenu correspondant.
35
- **Intégration transparente** – Fonctionne sans effort avec les projets **react-intlayer** et **next-intlayer**.
36
- **Support multilingue** – Prend en charge le contenu localisé dans différentes langues.
37
- **Intégration VS Code** – S'intègre parfaitement à la navigation et à la palette de commandes de VS Code.
38
-
39
- ### Commandes de gestion des dictionnaires
40
-
41
- Gérez vos dictionnaires de contenu directement depuis VS Code :
42
-
43
- - **Construire les dictionnaires** – Générez des fichiers de contenu basés sur la structure de votre projet.
44
- - **Pousser les dictionnaires** – Téléchargez le contenu le plus récent des dictionnaires vers votre dépôt.
45
- - **Tirer les dictionnaires** – Synchronisez le contenu le plus récent des dictionnaires depuis votre dépôt vers votre environnement local.
34
+ - **Navigation instantanée** – Accédez rapidement au fichier de contenu correct en cliquant sur une clé `useIntlayer`.
46
35
  - **Remplir les dictionnaires** – Remplissez les dictionnaires avec le contenu de votre projet.
47
- - **Tester les dictionnaires** – Identifiez les traductions manquantes ou incomplètes.
48
-
49
- ### Générateur de déclaration de contenu
50
-
51
- Générez facilement des fichiers de dictionnaire structurés dans différents formats :
52
-
53
- Si vous travaillez actuellement sur un composant, il générera pour vous le fichier `.content.{ts,tsx,js,jsx,mjs,cjs,json}`.
54
-
55
- Exemple de composant :
56
-
57
- ```tsx fileName="src/components/MyComponent/index.tsx"
58
- const MyComponent = () => {
59
- const { myTranslatedContent } = useIntlayer("my-component");
60
-
61
- return <span>{myTranslatedContent}</span>;
62
- };
63
- ```
64
36
 
65
- Fichier généré au format TypeScript :
37
+ ![Liste des commandes](https://github.com/aymericzip/intlayer-vs-code-extension/blob/master/assets/vscode_extention_list_commands.gif?raw=true)
66
38
 
67
- ```tsx fileName="src/components/MyComponent/index.content.ts"
68
- import { t, type Dictionary } from "intlayer";
39
+ - **Accès facile aux commandes Intlayer** – Construisez, poussez, tirez, remplissez, testez les dictionnaires de contenu en toute simplicité.
69
40
 
70
- const componentContent = {
71
- key: "my-component",
72
- content: {
73
- myTranslatedContent: t({
74
- en: "Hello World",
75
- es: "Hola Mundo",
76
- fr: "Bonjour le monde",
77
- }),
78
- },
79
- };
41
+ ![Créer un fichier de contenu](https://github.com/aymericzip/intlayer-vs-code-extension/blob/master/assets/vscode_extention_create_content_file.gif?raw=true)
80
42
 
81
- export default componentContent;
82
- ```
83
-
84
- Formats disponibles :
43
+ - **Générateur de déclaration de contenu** – Créez des fichiers de contenu de dictionnaire dans divers formats (`.ts`, `.esm`, `.cjs`, `.json`).
85
44
 
86
- - **TypeScript (`.ts`)**
87
- - **Module ES (`.esm`)**
88
- - **CommonJS (`.cjs`)**
89
- - **JSON (`.json`)**
45
+ ![Tester les dictionnaires](https://github.com/aymericzip/intlayer-vs-code-extension/blob/master/assets/vscode_extention_test_missing_dictionary.gif?raw=true)
90
46
 
91
- ### Onglet Intlayer (Barre d'activité)
47
+ - **Tester les dictionnaires** – Testez les dictionnaires pour détecter les traductions manquantes.
92
48
 
93
- Ouvrez l’onglet Intlayer en cliquant sur l’icône Intlayer dans la barre d’activités de VS Code. Il contient deux vues :
49
+ ![Reconstruire le dictionnaire](https://github.com/aymericzip/intlayer-vs-code-extension/blob/master/assets/vscode_extention_rebuild_dictionary.gif?raw=true)
94
50
 
95
- - **Recherche** : Une barre de recherche en direct pour filtrer rapidement les dictionnaires et leur contenu. La saisie met à jour les résultats instantanément.
96
- - **Dictionnaires** : Une vue arborescente de vos environnements/projets, des clés de dictionnaire, et des fichiers contribuant aux entrées. Vous pouvez :
97
- - Cliquer sur un fichier pour l’ouvrir dans l’éditeur.
98
- - Utiliser la barre d’outils pour exécuter des actions : Construire, Pull, Push, Remplir, Actualiser, Tester, et Créer un fichier de dictionnaire.
99
- - Utiliser le menu contextuel pour des actions spécifiques à l’élément :
100
- - Sur un dictionnaire : Pull ou Push
101
- - Sur un fichier : Remplir le dictionnaire
102
- - Lorsque vous changez d’éditeur, l’arborescence révélera le fichier correspondant s’il appartient à un dictionnaire.
51
+ - **Gardez vos dictionnaires à jour** Maintenez vos dictionnaires à jour avec le contenu le plus récent de votre projet.
103
52
 
104
- ## Installation
53
+ ![Onglet Intlayer (Barre d'activité)](https://github.com/aymericzip/intlayer-vs-code-extension/blob/master/assets/vscode_extention_search_dictionary.gif?raw=true)
105
54
 
106
- Vous pouvez installer **Intlayer** directement depuis le Marketplace de VS Code :
107
-
108
- 1. Ouvrez **VS Code**.
109
- 2. Allez dans le **Marketplace des extensions**.
110
- 3. Recherchez **"Intlayer"**.
111
- 4. Cliquez sur **Installer**.
55
+ - **Onglet Intlayer (Barre d'activité)** Parcourez et recherchez les dictionnaires depuis un onglet latéral dédié avec une barre d'outils et des actions contextuelles (Construire, Tirer, Pousser, Remplir, Actualiser, Tester, Créer un fichier).
112
56
 
113
57
  ## Utilisation
114
58
 
115
59
  ### Navigation rapide
116
60
 
117
61
  1. Ouvrez un projet utilisant **react-intlayer**.
118
- 2. Localisez un appel à `useIntlayer()`, par exemple :
62
+ 2. Localisez un appel à `useIntlayer()`, tel que :
119
63
 
120
64
  ```tsx
121
65
  const content = useIntlayer("app");
122
66
  ```
123
67
 
124
- 3. **Command-clic** (`⌘+Click` sur macOS) ou **Ctrl-clic** (sur Windows/Linux) sur la clé (par exemple, `"app"`).
125
- 4. VS Code ouvrira automatiquement le fichier de dictionnaire correspondant, par exemple `src/app.content.ts`.
126
-
127
- ### Gestion des dictionnaires de contenu
68
+ 3. **Cliquez avec la commande** (`⌘+Click` sur macOS) ou **Ctrl+Click** (sur Windows/Linux) sur la clé (par exemple, `"app"`).
69
+ 4. VS Code ouvrira automatiquement le fichier de dictionnaire correspondant, par exemple, `src/app.content.ts`.
128
70
 
129
- ### Onglet Intlayer (Barre d’activités)
71
+ ### Onglet Intlayer (Barre d'activité)
130
72
 
131
- Utilisez longlet latéral pour parcourir et gérer les dictionnaires :
73
+ Utilisez l'onglet latéral pour parcourir et gérer les dictionnaires :
132
74
 
133
- - Ouvrez licône Intlayer dans la barre d’activités.
75
+ - Ouvrez l'icône Intlayer dans la Barre d'activité.
134
76
  - Dans **Recherche**, tapez pour filtrer les dictionnaires et les entrées en temps réel.
135
- - Dans **Dictionnaires**, parcourez les environnements, les dictionnaires et les fichiers. Utilisez la barre doutils pour Construire, Tirer, Pousser, Remplir, Actualiser, Tester et Créer un fichier de dictionnaire. Faites un clic droit pour les actions contextuelles (Tirer/Pousser sur les dictionnaires, Remplir sur les fichiers). Le fichier actuellement ouvert dans l’éditeur se révèle automatiquement dans larborescence lorsque cest applicable.
77
+ - Dans **Dictionnaires**, parcourez les environnements, dictionnaires et fichiers. Utilisez la barre d'outils pour Construire, Tirer, Pousser, Remplir, Actualiser, Tester et Créer un fichier de dictionnaire. Cliquez avec le bouton droit pour les actions contextuelles (Tirer/Pousser sur les dictionnaires, Remplir sur les fichiers). Le fichier actuel de l'éditeur se révèle automatiquement dans l'arborescence lorsque c'est applicable.
136
78
 
137
- #### Construction des dictionnaires
79
+ ### Accéder aux commandes
138
80
 
139
- Générez tous les fichiers de contenu des dictionnaires avec :
81
+ Vous pouvez accéder aux commandes depuis la **Palette de commandes**.
140
82
 
141
83
  ```sh
142
84
  Cmd + Shift + P (macOS) / Ctrl + Shift + P (Windows/Linux)
143
85
  ```
144
86
 
145
- Recherchez **Construire les dictionnaires** et exécutez la commande.
146
-
147
- #### Pousser les dictionnaires
148
-
149
- Téléchargez le contenu le plus récent des dictionnaires :
150
-
151
- 1. Ouvrez la **Palette de commandes**.
152
- 2. Recherchez **Pousser les dictionnaires**.
153
- 3. Sélectionnez les dictionnaires à pousser et confirmez.
154
-
155
- #### Tirer les dictionnaires
87
+ - **Construire les dictionnaires**
88
+ - **Pousser les dictionnaires**
89
+ - **Tirer les dictionnaires**
90
+ - **Remplir les dictionnaires**
91
+ - **Tester les dictionnaires**
92
+ - **Créer un fichier de dictionnaire**
156
93
 
157
- Synchronisez le contenu le plus récent des dictionnaires :
94
+ ### Chargement des variables d'environnement
158
95
 
159
- 1. Ouvrez la **Palette de commandes**.
160
- 2. Recherchez **Pull Dictionaries**.
161
- 3. Choisissez les dictionnaires à synchroniser.
96
+ Intlayer recommande de stocker vos clés API d'IA, ainsi que l'ID client et le secret Intlayer dans des variables d'environnement.
162
97
 
163
- #### Remplissage des dictionnaires
98
+ L'extension peut charger les variables d'environnement depuis votre espace de travail pour exécuter les commandes Intlayer avec le contexte correct.
164
99
 
165
- Remplissez les dictionnaires avec le contenu de votre projet :
100
+ - **Ordre de chargement (par priorité)** : `.env.<env>.local` `.env.<env>` → `.env.local` → `.env`
101
+ - **Non destructif** : les valeurs existantes de `process.env` ne sont pas écrasées.
102
+ - **Portée** : les fichiers sont résolus à partir du répertoire de base configuré (par défaut la racine de l'espace de travail).
166
103
 
167
- 1. Ouvrez la **Palette de commandes**.
168
- 2. Recherchez **Fill Dictionaries**.
169
- 3. Exécutez la commande pour peupler les dictionnaires.
104
+ #### Sélection de l'environnement actif
170
105
 
171
- #### Test des dictionnaires
106
+ - **Palette de commandes** : ouvrez la palette et exécutez `Intlayer : Sélectionner l’environnement`, puis choisissez l’environnement (par exemple, `development`, `staging`, `production`). L’extension tentera de charger le premier fichier disponible dans la liste de priorité ci-dessus et affichera une notification comme « Environnement chargé depuis .env.<env>.local ».
107
+ - **Paramètres** : allez dans `Paramètres → Extensions → Intlayer`, et configurez :
108
+ - **Environnement** : le nom de l’environnement utilisé pour résoudre les fichiers `.env.<env>*`.
109
+ - (Optionnel) **Fichier Env** : un chemin explicite vers un fichier `.env`. Lorsqu’il est fourni, il prend le pas sur la liste déduite.
172
110
 
173
- Validez les dictionnaires et trouvez les traductions manquantes :
111
+ #### Monorepos et répertoires personnalisés
174
112
 
175
- 1. Ouvrez la **Palette de commandes**.
176
- 2. Recherchez **Test Dictionaries**.
177
- 3. Passez en revue les problèmes signalés et corrigez-les si nécessaire.
113
+ Si vos fichiers `.env` se trouvent en dehors de la racine de l’espace de travail, définissez le **Répertoire de base** dans `Paramètres → Extensions → Intlayer`. Le chargeur recherchera les fichiers `.env` relatifs à ce répertoire.
178
114
 
179
115
  ## Historique de la documentation
180
116
 
181
- | Version | Date | Modifications |
182
- | ------- | ---------- | ------------------ |
183
- | 5.5.10 | 2025-06-29 | Historique initial |
117
+ | Version | Date | Modifications |
118
+ | ------- | ---------- | --------------------------------------------------- |
119
+ | 6.1.5 | 2025-09-30 | Ajout d’un gif de démonstration |
120
+ | 6.1.0 | 2025-09-24 | Ajout de la section de sélection de l’environnement |
121
+ | 6.0.0 | 2025-09-22 | Onglet Intlayer / Commandes Remplir & Tester |
122
+ | 5.5.10 | 2025-06-29 | Historique initial |