@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,8 +1,8 @@
1
1
  ---
2
2
  createdAt: 2025-03-17
3
- updatedAt: 2025-09-22
3
+ updatedAt: 2025-09-30
4
4
  title: Extensão Oficial do VS Code
5
- description: Aprenda a usar a extensão Intlayer no VS Code para aprimorar seu fluxo de trabalho de desenvolvimento. Navegue rapidamente entre conteúdos localizados e gerencie seus dicionários de forma eficiente.
5
+ description: Aprenda a usar a extensão Intlayer no VS Code para melhorar seu fluxo de trabalho de desenvolvimento. Navegue rapidamente entre conteúdos localizados e gerencie seus dicionários de forma eficiente.
6
6
  keywords:
7
7
  - Extensão VS Code
8
8
  - Intlayer
@@ -21,94 +21,38 @@ slugs:
21
21
 
22
22
  ## Visão Geral
23
23
 
24
- [**Intlayer**](https://marketplace.visualstudio.com/items?itemName=Intlayer.intlayer-vs-code-extension) é a extensão oficial do Visual Studio Code para **Intlayer**, projetada para melhorar a experiência do desenvolvedor ao trabalhar com conteúdo localizado em seus projetos.
24
+ [**Intlayer**](https://marketplace.visualstudio.com/items?itemName=Intlayer.intlayer-vs-code-extension) é a extensão oficial do Visual Studio Code para o **Intlayer**, projetada para melhorar a experiência do desenvolvedor ao trabalhar com conteúdo localizado em seus projetos.
25
25
 
26
- ![Extensão Intlayer para VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/assets/vs_code_extension_demo.gif)
26
+ ![Extensão Intlayer para VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/assets/vs_code_extension_demo.gif?raw=true)
27
27
 
28
28
  Link da extensão: [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
- ### Navegação Instantânea
32
+ ![Preencher dicionários](https://github.com/aymericzip/intlayer-vs-code-extension/blob/master/assets/vscode_extention_fill_active_dictionary.gif?raw=true)
33
33
 
34
- **Suporte a Ir para Definição** – Use `⌘ + Clique` (Mac) ou `Ctrl + Clique` (Windows/Linux) em uma chave `useIntlayer` para abrir instantaneamente o arquivo de conteúdo correspondente.
35
- **Integração Fluida** – Funciona perfeitamente com projetos **react-intlayer** e **next-intlayer**.
36
- **Suporte Multilíngue** – Suporta conteúdo localizado em diferentes idiomas.
37
- **Integração com VS Code** – Integra-se suavemente com a navegação e a paleta de comandos do VS Code.
34
+ - **Navegação Instantânea** – rapidamente para o arquivo de conteúdo correto ao clicar em uma chave `useIntlayer`.
35
+ - **Preencher Dicionários** – Preencha dicionários com conteúdo do seu projeto.
38
36
 
39
- ### Comandos de Gerenciamento de Dicionários
37
+ ![Listar comandos](https://github.com/aymericzip/intlayer-vs-code-extension/blob/master/assets/vscode_extention_list_commands.gif?raw=true)
40
38
 
41
- Gerencie seus dicionários de conteúdo diretamente do VS Code:
39
+ - **Acesso fácil aos comandos do Intlayer** – Construir, enviar, puxar, preencher e testar dicionários de conteúdo com facilidade.
42
40
 
43
- - **Construir Dicionários** – Gere arquivos de conteúdo com base na estrutura do seu projeto.
44
- - **Enviar Dicionários** – Faça upload do conteúdo mais recente do dicionário para o seu repositório.
45
- - **Puxar Dicionários** – Sincronize o conteúdo mais recente do dicionário do seu repositório para o seu ambiente local.
46
- - **Preencher Dicionários** – Popule os dicionários com conteúdo do seu projeto.
47
- - **Testar Dicionários** – Identifique traduções faltantes ou incompletas.
41
+ ![Criar arquivo de conteúdo](https://github.com/aymericzip/intlayer-vs-code-extension/blob/master/assets/vscode_extention_create_content_file.gif?raw=true)
48
42
 
49
- ### Gerador de Declaração de Conteúdo
43
+ - **Gerador de Declaração de Conteúdo** – Criar arquivos de conteúdo de dicionário em vários formatos (`.ts`, `.esm`, `.cjs`, `.json`).
50
44
 
51
- Gere facilmente arquivos de dicionário estruturados em diferentes formatos:
45
+ ![Testar dicionários](https://github.com/aymericzip/intlayer-vs-code-extension/blob/master/assets/vscode_extention_test_missing_dictionary.gif?raw=true)
52
46
 
53
- Se você estiver trabalhando em um componente, ele gerará o arquivo `.content.{ts,tsx,js,jsx,mjs,cjs,json}` para você.
47
+ - **Testar Dicionários** Testar dicionários para traduções ausentes.
54
48
 
55
- Exemplo de componente:
49
+ ![Reconstruir dicionário](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
+ - **Mantenha seus dicionários atualizados** – Mantenha seus dicionários atualizados com o conteúdo mais recente do seu projeto.
60
52
 
61
- return <span>{myTranslatedContent}</span>;
62
- };
63
- ```
64
-
65
- Arquivo gerado no 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 disponíveis:
85
-
86
- - **TypeScript (`.ts`)**
87
- - **ES Module (`.esm`)**
88
- - **CommonJS (`.cjs`)**
89
- - **JSON (`.json`)**
90
-
91
- ### Aba Intlayer (Barra de Atividades)
53
+ ![Aba Intlayer (Barra de Atividades)](https://github.com/aymericzip/intlayer-vs-code-extension/blob/master/assets/vscode_extention_search_dictionary.gif?raw=true)
92
54
 
93
- Abra a aba Intlayer clicando no ícone do Intlayer na Barra de Atividades do VS Code. Ela contém duas visualizações:
94
-
95
- - **Pesquisar**: Uma barra de pesquisa ao vivo para filtrar rapidamente os dicionários e seu conteúdo. Digitar atualiza os resultados instantaneamente.
96
- - **Dicionários**: Uma visualização em árvore dos seus ambientes/projetos, chaves dos dicionários e os arquivos que contribuem com entradas. Você pode:
97
- - Clicar em um arquivo para abri-lo no editor.
98
- - Usar a barra de ferramentas para executar ações: Build, Pull, Push, Fill, Refresh, Test e Create Dictionary File.
99
- - Usar o menu de contexto para ações específicas do item:
100
- - Em um dicionário: Pull ou Push
101
- - Em um arquivo: Fill Dictionary
102
- - Quando você alternar de editor, a árvore revelará o arquivo correspondente se ele pertencer a um dicionário.
103
-
104
- ## Instalação
105
-
106
- Você pode instalar o **Intlayer** diretamente no Marketplace do VS Code:
107
-
108
- 1. Abra o **VS Code**.
109
- 2. Vá para o **Marketplace de Extensões**.
110
- 3. Pesquise por **"Intlayer"**.
111
- 4. Clique em **Instalar**.
55
+ - **Aba Intlayer (Barra de Atividades)** – Navegue e pesquise dicionários em uma aba lateral dedicada com barra de ferramentas e ações de contexto (Construir, Puxar, Enviar, Preencher, Atualizar, Testar, Criar Arquivo).
112
56
 
113
57
  ## Uso
114
58
 
@@ -121,63 +65,58 @@ Você pode instalar o **Intlayer** diretamente no Marketplace do VS Code:
121
65
  const content = useIntlayer("app");
122
66
  ```
123
67
 
124
- 3. **Command-click** (`⌘+Click` no macOS) ou **Ctrl+Click** (no Windows/Linux) na chave (ex.: `"app"`).
68
+ 3. **Clique com comando** (`⌘+Clique` no macOS) ou **Ctrl+Clique** (no Windows/Linux) na chave (por exemplo, `"app"`).
125
69
  4. O VS Code abrirá automaticamente o arquivo de dicionário correspondente, por exemplo, `src/app.content.ts`.
126
70
 
127
- ### Gerenciando Dicionários de Conteúdo
128
-
129
71
  ### Aba Intlayer (Barra de Atividades)
130
72
 
131
- Use a aba lateral para navegar e gerenciar os dicionários:
73
+ Use a aba lateral para navegar e gerenciar dicionários:
132
74
 
133
75
  - Abra o ícone do Intlayer na Barra de Atividades.
134
76
  - Em **Pesquisar**, digite para filtrar dicionários e entradas em tempo real.
135
77
  - Em **Dicionários**, navegue por ambientes, dicionários e arquivos. Use a barra de ferramentas para Construir, Puxar, Enviar, Preencher, Atualizar, Testar e Criar Arquivo de Dicionário. Clique com o botão direito para ações de contexto (Puxar/Enviar em dicionários, Preencher em arquivos). O arquivo atual do editor é revelado automaticamente na árvore quando aplicável.
136
78
 
137
- #### Construindo Dicionários
79
+ ### Acessando os comandos
138
80
 
139
- Gere todos os arquivos de conteúdo dos dicionários com:
81
+ Você pode acessar os comandos a partir da **Paleta de Comandos**.
140
82
 
141
83
  ```sh
142
84
  Cmd + Shift + P (macOS) / Ctrl + Shift + P (Windows/Linux)
143
85
  ```
144
86
 
145
- Pesquise por **Construir Dicionários** e execute o comando.
146
-
147
- #### Enviando Dicionários
148
-
149
- Envie o conteúdo mais recente dos dicionários:
150
-
151
- 1. Abra a **Paleta de Comandos**.
152
- 2. Pesquise por **Enviar Dicionários**.
153
- 3. Selecione os dicionários para enviar e confirme.
154
-
155
- #### Puxando Dicionários
87
+ - **Construir Dicionários**
88
+ - **Enviar Dicionários**
89
+ - **Puxar Dicionários**
90
+ - **Preencher Dicionários**
91
+ - **Testar Dicionários**
92
+ - **Criar Arquivo de Dicionário**
156
93
 
157
- Sincronize o conteúdo mais recente do dicionário:
94
+ ### Carregando Variáveis de Ambiente
158
95
 
159
- 1. Abra a **Paleta de Comandos**.
160
- 2. Procure por **Puxar Dicionários**.
161
- 3. Escolha os dicionários para puxar.
96
+ O Intlayer recomenda armazenar suas chaves de API de IA, assim como o ID e o segredo do cliente Intlayer, em variáveis de ambiente.
162
97
 
163
- #### Preenchendo Dicionários
98
+ A extensão pode carregar variáveis de ambiente do seu espaço de trabalho para executar comandos do Intlayer com o contexto correto.
164
99
 
165
- Preencha os dicionários com conteúdo do seu projeto:
100
+ - **Ordem de carregamento (por prioridade)**: `.env.<env>.local` → `.env.<env>` → `.env.local` → `.env`
101
+ - **Não destrutivo**: valores existentes em `process.env` não são sobrescritos.
102
+ - **Escopo**: os arquivos são resolvidos a partir do diretório base configurado (padrão é a raiz do espaço de trabalho).
166
103
 
167
- 1. Abra a **Paleta de Comandos**.
168
- 2. Procure por **Preencher Dicionários**.
169
- 3. Execute o comando para popular os dicionários.
104
+ #### Selecionando o ambiente ativo
170
105
 
171
- #### Testando Dicionários
106
+ - **Paleta de Comandos**: abra a paleta e execute `Intlayer: Select Environment`, depois escolha o ambiente (por exemplo, `development`, `staging`, `production`). A extensão tentará carregar o primeiro arquivo disponível na lista de prioridade acima e mostrará uma notificação como “Loaded env from .env.<env>.local”.
107
+ - **Configurações**: vá para `Settings → Extensions → Intlayer` e defina:
108
+ - **Environment**: o nome do ambiente usado para resolver arquivos `.env.<env>*`.
109
+ - (Opcional) **Env File**: um caminho explícito para um arquivo `.env`. Quando fornecido, ele tem precedência sobre a lista inferida.
172
110
 
173
- Valide os dicionários e encontre traduções faltantes:
111
+ #### Monorepos e diretórios personalizados
174
112
 
175
- 1. Abra a **Paleta de Comandos**.
176
- 2. Procure por **Testar Dicionários**.
177
- 3. Revise os problemas relatados e corrija conforme necessário.
113
+ Se os seus arquivos `.env` estiverem fora da raiz do espaço de trabalho, defina o **Diretório Base** em `Configurações → Extensões → Intlayer`. O carregador irá procurar arquivos `.env` relativos a esse diretório.
178
114
 
179
115
  ## Histórico do Documento
180
116
 
181
- | Versão | Data | Alterações |
182
- | ------ | ---------- | ----------------- |
183
- | 5.5.10 | 2025-06-29 | Histórico inicial |
117
+ | Versão | Data | Alterações |
118
+ | ------ | ---------- | ------------------------------------------ |
119
+ | 6.1.5 | 2025-09-30 | Adicionado gif de demonstração |
120
+ | 6.1.0 | 2025-09-24 | Adicionada seção de seleção de ambiente |
121
+ | 6.0.0 | 2025-09-22 | Aba Intlayer / Comandos Preencher & Testar |
122
+ | 5.5.10 | 2025-06-29 | Histórico inicial |
@@ -0,0 +1,186 @@
1
+ ---
2
+ createdAt: 2024-03-07
3
+ updatedAt: 2025-09-30
4
+ title: Сделать компонент многоязычным (i18n) в React и Next.js
5
+ description: Узнайте, как объявлять и получать локализованный контент для создания многоязычного компонента React или Next.js с помощью Intlayer.
6
+ keywords:
7
+ - i18n
8
+ - компонент
9
+ - react
10
+ - многоязычный
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
+ # Как сделать компонент многоязычным (i18n) с Intlayer
22
+
23
+ В этом руководстве показаны минимальные шаги для создания многоязычного UI-компонента в двух популярных конфигурациях:
24
+
25
+ - React (Vite/SPA)
26
+ - Next.js (App Router)
27
+
28
+ Сначала вы объявите свой контент, затем получите его в своем компоненте.
29
+
30
+ ## 1) Объявите ваш контент (общий для React и Next.js)
31
+
32
+ Создайте файл объявления контента рядом с вашим компонентом. Это позволяет держать переводы близко к месту их использования и обеспечивает типобезопасность.
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
+ Также поддерживается JSON, если вы предпочитаете конфигурационные файлы.
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) Получение вашего контента
80
+
81
+ ### Случай A — React приложение (Vite/SPA)
82
+
83
+ Стандартный подход: используйте `useIntlayer` для получения по ключу. Это позволяет компонентам оставаться легкими и типизированными.
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
+ Серверный рендеринг или использование вне провайдера: используйте `react-intlayer/server` и передавайте явный `locale` при необходимости.
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
+ Альтернатива: `useDictionary` может читать весь объявленный объект, если вы предпочитаете размещать структуру непосредственно в месте вызова.
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
+ ### Случай B — Next.js (App Router)
133
+
134
+ Предпочитайте серверные компоненты для безопасности данных и производительности. Используйте `useIntlayer` из `next-intlayer/server` в серверных файлах и `useIntlayer` из `next-intlayer` в клиентских компонентах.
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
+ Совет: Для метаданных страницы и SEO вы также можете получать контент с помощью `getIntlayer` и генерировать многоязычные URL с помощью `getMultilingualUrls`.
167
+
168
+ ## Почему подход Intlayer к компонентам лучший
169
+
170
+ - **Совмещение**: Объявления контента находятся рядом с компонентами, что снижает рассогласование и улучшает повторное использование в дизайн-системах.
171
+ - **Типобезопасность**: Ключи и структуры строго типизированы; отсутствующие переводы выявляются на этапе сборки, а не во время выполнения.
172
+ - **Server-first**: Работает нативно в серверных компонентах для лучшей безопасности и производительности; клиентские хуки остаются эргономичными.
173
+ - **Tree-shaking**: В бандл включается только контент, используемый компонентом, что позволяет сохранять размер payload небольшим в больших приложениях.
174
+ - **DX и инструменты**: Встроенный middleware, помощники SEO и опциональные Визуальный редактор/AI-переводы упрощают повседневную работу.
175
+
176
+ Смотрите сравнения и шаблоны в обзоре, ориентированном на Next.js: https://intlayer.org/blog/next-i18next-vs-next-intl-vs-intlayer
177
+
178
+ ## Связанные руководства и ссылки
179
+
180
+ - Настройка 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
+ - TanStack Start: https://intlayer.org/doc/environment/vite-and-react/tanstack-start
183
+ - Настройка Next.js: https://intlayer.org/doc/environment/nextjs
184
+ - Почему Intlayer вместо next-intl или next-i18next: https://intlayer.org/blog/next-i18next-vs-next-intl-vs-intlayer
185
+
186
+ Эти страницы включают полную настройку, провайдеры, маршрутизацию и помощники SEO.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-03-17
3
- updatedAt: 2025-09-22
3
+ updatedAt: 2025-09-30
4
4
  title: Официальное расширение VS Code
5
5
  description: Узнайте, как использовать расширение Intlayer в VS Code для улучшения вашего рабочего процесса разработки. Быстро переходите между локализованным контентом и эффективно управляйте своими словарями.
6
6
  keywords:
@@ -21,94 +21,38 @@ slugs:
21
21
 
22
22
  ## Обзор
23
23
 
24
- [**Intlayer**](https://marketplace.visualstudio.com/items?itemName=Intlayer.intlayer-vs-code-extension) — официальное расширение Visual Studio Code для **Intlayer**, созданное для улучшения опыта разработчика при работе с локализованным контентом в ваших проектах.
24
+ [**Intlayer**](https://marketplace.visualstudio.com/items?itemName=Intlayer.intlayer-vs-code-extension) — официальное расширение Visual Studio Code для **Intlayer**, разработанное для улучшения опыта разработчика при работе с локализованным контентом в ваших проектах.
25
25
 
26
- ![Расширение Intlayer для VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/assets/vs_code_extension_demo.gif)
26
+ ![Расширение Intlayer для VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/assets/vs_code_extension_demo.gif?raw=true)
27
27
 
28
28
  Ссылка на расширение: [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
  ## Возможности
31
31
 
32
- ### Мгновенная навигация
32
+ ![Заполнение словарей](https://github.com/aymericzip/intlayer-vs-code-extension/blob/master/assets/vscode_extention_fill_active_dictionary.gif?raw=true)
33
33
 
34
- **Поддержка перехода к определению** Используйте `⌘ + Click` (Mac) или `Ctrl + Click` (Windows/Linux) по ключу `useIntlayer`, чтобы мгновенно открыть соответствующий файл с контентом.
35
- **Бесшовная интеграция**Работает без усилий с проектами на **react-intlayer** и **next-intlayer**.
36
- **Поддержка нескольких языков** – Поддерживает локализованный контент на разных языках.
37
- **Интеграция с VS Code** – Плавно интегрируется с навигацией и палитрой команд VS Code.
34
+ - **Мгновенная навигация**Быстрый переход к нужному файлу контента при клике на ключ `useIntlayer`.
35
+ - **Заполнение словарей** Заполнение словарей контентом из вашего проекта.
38
36
 
39
- ### Команды управления словарями
37
+ ![Список команд](https://github.com/aymericzip/intlayer-vs-code-extension/blob/master/assets/vscode_extention_list_commands.gif?raw=true)
40
38
 
41
- Управляйте своими словарями контента прямо из VS Code:
39
+ - **Простой доступ к командам Intlayer** Легко собирайте, отправляйте, загружайте, заполняйте и тестируйте словари контента.
42
40
 
43
- - **Сборка словарей** – Генерируйте файлы контента на основе структуры вашего проекта.
44
- - **Отправка словарей** – Загружайте актуальное содержимое словарей в ваш репозиторий.
45
- - **Получение словарей** – Синхронизируйте актуальное содержимое словарей из репозитория с вашей локальной средой.
46
- - **Заполнение словарей** – Заполняйте словари контентом из вашего проекта.
47
- - **Тестирование словарей** – Определяйте отсутствующие или неполные переводы.
41
+ ![Создание файла контента](https://github.com/aymericzip/intlayer-vs-code-extension/blob/master/assets/vscode_extention_create_content_file.gif?raw=true)
48
42
 
49
- ### Генератор деклараций контента
43
+ - **Генератор деклараций контента** – Создавайте файлы словарей контента в различных форматах (`.ts`, `.esm`, `.cjs`, `.json`).
50
44
 
51
- Легко генерируйте структурированные файлы словарей в различных форматах:
45
+ ![Тестирование словарей](https://github.com/aymericzip/intlayer-vs-code-extension/blob/master/assets/vscode_extention_test_missing_dictionary.gif?raw=true)
52
46
 
53
- Если вы сейчас работаете над компонентом, он сгенерирует для вас файл `.content.{ts,tsx,js,jsx,mjs,cjs,json}`.
47
+ - **Тестирование словарей** Проверяйте словари на наличие отсутствующих переводов.
54
48
 
55
- Пример компонента:
49
+ ![Пересобрать словарь](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
+ - **Держите ваши словари в актуальном состоянии** – Обновляйте словари с последним содержимым из вашего проекта.
60
52
 
61
- return <span>{myTranslatedContent}</span>;
62
- };
63
- ```
64
-
65
- Сгенерированный файл в формате 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
- Доступные форматы:
85
-
86
- - **TypeScript (`.ts`)**
87
- - **ES Module (`.esm`)**
88
- - **CommonJS (`.cjs`)**
89
- - **JSON (`.json`)**
90
-
91
- ### Вкладка Intlayer (Панель активности)
53
+ ![Вкладка Intlayer (Панель активности)](https://github.com/aymericzip/intlayer-vs-code-extension/blob/master/assets/vscode_extention_search_dictionary.gif?raw=true)
92
54
 
93
- Откройте вкладку Intlayer, нажав на значок Intlayer в панели активности VS Code. Она содержит два представления:
94
-
95
- - **Поиск**: Живая строка поиска для быстрого фильтра словарей и их содержимого. При вводе результаты обновляются мгновенно.
96
- - **Словари**: Древовидное представление ваших окружений/проектов, ключей словарей и файлов, вносящих записи. Вы можете:
97
- - Кликнуть по файлу, чтобы открыть его в редакторе.
98
- - Использовать панель инструментов для выполнения действий: Build, Pull, Push, Fill, Refresh, Test и Create Dictionary File.
99
- - Использовать контекстное меню для действий, специфичных для элемента:
100
- - Для словаря: Pull или Push
101
- - Для файла: Fill Dictionary
102
- - При переключении редакторов дерево покажет соответствующий файл, если он принадлежит словарю.
103
-
104
- ## Установка
105
-
106
- Вы можете установить **Intlayer** напрямую из Marketplace VS Code:
107
-
108
- 1. Откройте **VS Code**.
109
- 2. Перейдите в **Marketplace расширений**.
110
- 3. Найдите **"Intlayer"**.
111
- 4. Нажмите **Установить**.
55
+ - **Вкладка Intlayer (Панель активности)** Просматривайте и ищите словари через специальную боковую вкладку с панелью инструментов и контекстными действиями (Сборка, Загрузка, Отправка, Заполнение, Обновление, Тестирование, Создание файла).
112
56
 
113
57
  ## Использование
114
58
 
@@ -121,63 +65,58 @@ export default componentContent;
121
65
  const content = useIntlayer("app");
122
66
  ```
123
67
 
124
- 3. Выполните **Command-click** (`⌘+Click` на macOS) или **Ctrl+Click** (на Windows/Linux) по ключу (например, `"app"`).
68
+ 3. **Командный клик** (`⌘+Click` на macOS) или **Ctrl+Click** (на Windows/Linux) по ключу (например, `"app"`).
125
69
  4. VS Code автоматически откроет соответствующий файл словаря, например, `src/app.content.ts`.
126
70
 
127
- ### Управление словарями контента
128
-
129
71
  ### Вкладка Intlayer (Панель активности)
130
72
 
131
73
  Используйте боковую вкладку для просмотра и управления словарями:
132
74
 
133
- - Откройте значок Intlayer в панели активности.
134
- - В **Поиске** введите текст для фильтрации словарей и записей в реальном времени.
135
- - В разделе **Словари** просматривайте окружения, словари и файлы. Используйте панель инструментов для команд Build, Pull, Push, Fill, Refresh, Test и Create Dictionary File. Щелкните правой кнопкой мыши для контекстных действий (Pull/Push для словарей, Fill для файлов). Текущий файл редактора автоматически отображается в дереве, когда это применимо.
75
+ - Откройте иконку Intlayer на панели активности.
76
+ - В поле **Поиск** введите текст для фильтрации словарей и записей в реальном времени.
77
+ - В разделе **Словари** просматривайте окружения, словари и файлы. Используйте панель инструментов для действий: Сборка, Загрузка, Отправка, Заполнение, Обновление, Тестирование и Создание файла словаря. Щелкните правой кнопкой мыши для контекстных действий (Загрузка/Отправка для словарей, Заполнение для файлов). Текущий файл редактора автоматически подсвечивается в дереве, если применимо.
136
78
 
137
- #### Сборка словарей
79
+ ### Доступ к командам
138
80
 
139
- Сгенерируйте все файлы содержимого словарей с помощью:
81
+ Вы можете получить доступ к командам через **Палитру команд**.
140
82
 
141
83
  ```sh
142
84
  Cmd + Shift + P (macOS) / Ctrl + Shift + P (Windows/Linux)
143
85
  ```
144
86
 
145
- Найдите команду **Build Dictionaries** и выполните её.
146
-
147
- #### Отправка словарей
148
-
149
- Загрузите последнее содержимое словарей:
150
-
151
- 1. Откройте **Палитру команд**.
152
- 2. Найдите **Push Dictionaries**.
153
- 3. Выберите словари для отправки и подтвердите.
154
-
155
- #### Получение словарей
87
+ - **Сборка словарей**
88
+ - **Отправка словарей**
89
+ - **Загрузка словарей**
90
+ - **Заполнение словарей**
91
+ - **Тестирование словарей**
92
+ - **Создание файла словаря**
156
93
 
157
- Синхронизируйте последнее содержимое словарей:
94
+ ### Загрузка переменных окружения
158
95
 
159
- 1. Откройте **Палитру команд**.
160
- 2. Найдите **Pull Dictionaries**.
161
- 3. Выберите словари для загрузки.
96
+ Intlayer рекомендует хранить ваши ключи API ИИ, а также идентификатор клиента Intlayer и секрет в переменных окружения.
162
97
 
163
- #### Заполнение словарей
98
+ Расширение может загружать переменные окружения из вашего рабочего пространства для выполнения команд Intlayer с правильным контекстом.
164
99
 
165
- Заполните словари содержимым из вашего проекта:
100
+ - **Порядок загрузки (по приоритету)**: `.env.<env>.local` → `.env.<env>` → `.env.local` → `.env`
101
+ - **Без разрушения**: существующие значения `process.env` не перезаписываются.
102
+ - **Область действия**: файлы разрешаются из настроенной базовой директории (по умолчанию корень рабочего пространства).
166
103
 
167
- 1. Откройте **Палитру команд**.
168
- 2. Найдите **Fill Dictionaries**.
169
- 3. Выполните команду для заполнения словарей.
104
+ #### Выбор активного окружения
170
105
 
171
- #### Тестирование словарей
106
+ - **Палитра команд**: откройте палитру и выполните команду `Intlayer: Select Environment`, затем выберите окружение (например, `development`, `staging`, `production`). Расширение попытается загрузить первый доступный файл из приведённого выше списка приоритетов и покажет уведомление, например «Загружено окружение из .env.<env>.local».
107
+ - **Настройки**: перейдите в `Настройки → Расширения → Intlayer` и установите:
108
+ - **Окружение**: имя окружения, используемое для разрешения файлов `.env.<env>*`.
109
+ - (Опционально) **Файл Env**: явный путь к файлу `.env`. При указании он имеет приоритет над списком, определённым автоматически.
172
110
 
173
- Проверьте словари и найдите отсутствующие переводы:
111
+ #### Моно-репозитории и пользовательские директории
174
112
 
175
- 1. Откройте **Палитру команд**.
176
- 2. Найдите **Test Dictionaries**.
177
- 3. Просмотрите обнаруженные проблемы и исправьте их при необходимости.
113
+ Если ваши файлы `.env` находятся за пределами корня рабочего пространства, установите **Базовый каталог** в `Настройки → Расширения → Intlayer`. Загрузчик будет искать файлы `.env` относительно этого каталога.
178
114
 
179
- ## История документа
115
+ ## История документации
180
116
 
181
- | Версия | Дата | Изменения |
182
- | ------ | ---------- | --------------------- |
183
- | 5.5.10 | 2025-06-29 | Инициализация истории |
117
+ | Версия | Дата | Изменения |
118
+ | ------ | ---------- | -------------------------------------- |
119
+ | 6.1.5 | 2025-09-30 | Добавлено демонстрационное gif |
120
+ | 6.1.0 | 2025-09-24 | Добавлен раздел выбора окружения |
121
+ | 6.0.0 | 2025-09-22 | Вкладка Intlayer / команды Fill & Test |
122
+ | 5.5.10 | 2025-06-29 | Инициализация истории |