@intlayer/docs 6.0.1 → 6.0.2
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.map +1 -1
- package/dist/cjs/common.cjs +6 -5
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs +318 -1863
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +1317 -6282
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +197 -1182
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +43 -84
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/esm/blog.mjs.map +1 -1
- package/dist/esm/common.mjs +2 -5
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +318 -1863
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +1317 -6282
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs +197 -1182
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs +43 -84
- package/dist/esm/generated/legal.entry.mjs.map +1 -1
- package/dist/types/blog.d.ts +1 -1
- package/dist/types/blog.d.ts.map +1 -1
- package/dist/types/common.d.ts +1 -1
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/generated/blog.entry.d.ts +1 -1
- package/dist/types/generated/blog.entry.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +2 -1
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/dist/types/generated/frequentQuestions.entry.d.ts +1 -1
- package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
- package/dist/types/generated/legal.entry.d.ts +1 -1
- package/dist/types/generated/legal.entry.d.ts.map +1 -1
- package/docs/ar/intlayer_CMS.md +261 -85
- package/docs/ar/releases/v6.md +273 -0
- package/docs/ar/roadmap.md +1 -3
- package/docs/ar/vs_code_extension.md +94 -63
- package/docs/de/intlayer_CMS.md +247 -65
- package/docs/de/releases/v6.md +298 -0
- package/docs/de/roadmap.md +1 -3
- package/docs/de/vs_code_extension.md +89 -58
- package/docs/en/configuration.md +9 -2
- package/docs/en/intlayer_CMS.md +205 -23
- package/docs/en/intlayer_cli.md +4 -4
- package/docs/en/intlayer_visual_editor.md +7 -6
- package/docs/en/intlayer_with_nextjs_14.md +17 -1
- package/docs/en/intlayer_with_nextjs_15.md +17 -1
- package/docs/en/releases/v6.md +268 -0
- package/docs/en/roadmap.md +1 -3
- package/docs/en/vs_code_extension.md +79 -49
- package/docs/en-GB/intlayer_CMS.md +216 -52
- package/docs/en-GB/releases/v6.md +297 -0
- package/docs/en-GB/roadmap.md +1 -3
- package/docs/en-GB/vs_code_extension.md +79 -48
- package/docs/es/intlayer_CMS.md +257 -84
- package/docs/es/releases/v6.md +274 -0
- package/docs/es/roadmap.md +1 -3
- package/docs/es/vs_code_extension.md +90 -60
- package/docs/fr/intlayer_CMS.md +250 -68
- package/docs/fr/releases/v6.md +274 -0
- package/docs/fr/roadmap.md +1 -3
- package/docs/fr/vs_code_extension.md +94 -63
- package/docs/hi/intlayer_CMS.md +253 -77
- package/docs/hi/releases/v6.md +273 -0
- package/docs/hi/roadmap.md +1 -3
- package/docs/hi/vs_code_extension.md +92 -61
- package/docs/it/intlayer_CMS.md +251 -73
- package/docs/it/releases/v6.md +273 -0
- package/docs/it/roadmap.md +1 -3
- package/docs/it/vs_code_extension.md +94 -63
- package/docs/ja/intlayer_CMS.md +282 -97
- package/docs/ja/releases/v6.md +273 -0
- package/docs/ja/roadmap.md +1 -3
- package/docs/ja/vs_code_extension.md +99 -68
- package/docs/ko/intlayer_CMS.md +267 -93
- package/docs/ko/releases/v6.md +273 -0
- package/docs/ko/roadmap.md +1 -3
- package/docs/ko/vs_code_extension.md +88 -57
- package/docs/pt/intlayer_CMS.md +261 -83
- package/docs/pt/releases/v6.md +273 -0
- package/docs/pt/roadmap.md +1 -3
- package/docs/pt/vs_code_extension.md +89 -58
- package/docs/ru/intlayer_CMS.md +240 -65
- package/docs/ru/releases/v6.md +274 -0
- package/docs/ru/roadmap.md +1 -1
- package/docs/ru/vs_code_extension.md +83 -52
- package/docs/tr/intlayer_CMS.md +278 -96
- package/docs/tr/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/tr/intlayer_with_tanstack.md +3 -0
- package/docs/tr/releases/v6.md +273 -0
- package/docs/tr/roadmap.md +1 -1
- package/docs/tr/vs_code_extension.md +100 -71
- package/docs/zh/intlayer_CMS.md +257 -76
- package/docs/zh/releases/v6.md +273 -0
- package/docs/zh/roadmap.md +1 -3
- package/docs/zh/vs_code_extension.md +99 -68
- package/package.json +11 -10
- package/src/blog.ts +1 -1
- package/src/common.ts +2 -6
- package/src/generated/blog.entry.ts +323 -1864
- package/src/generated/docs.entry.ts +1317 -6278
- package/src/generated/frequentQuestions.entry.ts +202 -1183
- package/src/generated/legal.entry.ts +48 -85
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-09-22
|
|
3
|
+
updatedAt: 2025-09-22
|
|
4
|
+
title: Новый Intlayer v6 - Что нового?
|
|
5
|
+
description: Узнайте, что нового в Intlayer v6. Значительные улучшения в производительности, опыте разработчика и новые функции для улучшения вашего процесса интернационализации.
|
|
6
|
+
keywords:
|
|
7
|
+
- Intlayer
|
|
8
|
+
- Локализация
|
|
9
|
+
- Разработка
|
|
10
|
+
- Производительность
|
|
11
|
+
- Опыт разработчика
|
|
12
|
+
- Функции
|
|
13
|
+
- React
|
|
14
|
+
- Next.js
|
|
15
|
+
- JavaScript
|
|
16
|
+
- TypeScript
|
|
17
|
+
slugs:
|
|
18
|
+
- doc
|
|
19
|
+
- releases
|
|
20
|
+
- v6
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Новый Intlayer v6 - Что нового?
|
|
24
|
+
|
|
25
|
+
Добро пожаловать в Intlayer v6! Этот релиз сосредоточен на производительности, опыте разработчика и надежности. Ниже приведены основные моменты, а также заметки по миграции и примеры для копирования.
|
|
26
|
+
|
|
27
|
+
## Основные моменты
|
|
28
|
+
|
|
29
|
+
- Новая команда: `npx intlayer content test` для обнаружения отсутствующих переводов
|
|
30
|
+
- Новая глобальная опция `autoFill` для автоматической генерации отсутствующих переводов
|
|
31
|
+
- Команда fill по умолчанию пропускает существующие переводы: `npx intlayer fill`
|
|
32
|
+
- Расширение VS Code: новая панель активности Intlayer (Поиск и Словари), действия на панели инструментов/контекстные действия, автоматическое раскрытие, команды Fill/Test
|
|
33
|
+
- Сборки стали в 10 раз быстрее благодаря параллелизации промисов
|
|
34
|
+
- Кэширование удалённых словарей для избежания повторного запроса при запуске приложения
|
|
35
|
+
- Улучшенное логирование: установите `log.mode: 'verbose'` для детального анализа поведения
|
|
36
|
+
- Усиленная валидация для предотвращения сбоев приложения из-за проблем со словарём
|
|
37
|
+
- Живые обновления с CMS с использованием `build.importMode = 'live'` и `pnpm intlayer live`
|
|
38
|
+
- Исправления: интеграция с Vue.js, адаптер Lynx, Визуальный редактор на Windows
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Новое: Тестирование отсутствующих переводов
|
|
43
|
+
|
|
44
|
+
Быстро проверьте ваш проект, чтобы найти отсутствующие ключи/локали.
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npx intlayer content test
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Output:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
pnpm intlayer content test
|
|
54
|
+
Отсутствующие переводы:
|
|
55
|
+
- blog-data - Японский (ja), Корейский (ko), Китайский (zh), Немецкий (de), Итальянский (it) - src/components/BlogPage/blogData.content.ts
|
|
56
|
+
- demo-page - Французский (fr), Итальянский (it) - src/components/DemoPage/demo.content.ts
|
|
57
|
+
- locale-switcher - Итальянский (it), Португальский (pt) - src/components/LocaleSwitcher/localeSwitcher.content.ts
|
|
58
|
+
Локали: Английский (en), Русский (ru), Японский (ja), Французский (fr), Корейский (ko), Китайский (zh), Испанский (es), Немецкий (de), Арабский (ar), Итальянский (it), Британский английский (en-GB), Португальский (pt), Хинди (hi)
|
|
59
|
+
Обязательные локали: Английский (en)
|
|
60
|
+
Отсутствующие локали: Японский (ja), Корейский (ko), Китайский (zh), Немецкий (de), Итальянский (it), Французский (fr), Португальский (pt)
|
|
61
|
+
Отсутствующие обязательные локали: -
|
|
62
|
+
Всего отсутствующих локалей: 7
|
|
63
|
+
Всего отсутствующих обязательных локалей: 0
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
См. больше опций в документации CLI: [Справочник CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_cli.md) → "Проверка отсутствующих переводов". А также руководство [Тестирование](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/testing.md).
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Новинка: Глобальный autoFill для автоматического заполнения отсутствующих переводов
|
|
71
|
+
|
|
72
|
+
Теперь вы можете включить авто-заполнение глобально, чтобы любой словарь с отсутствующими переводами автоматически дополнялся.
|
|
73
|
+
|
|
74
|
+
```ts fileName="intlayer.config.ts"
|
|
75
|
+
import { type IntlayerConfig, Locales } from "intlayer";
|
|
76
|
+
|
|
77
|
+
const config: IntlayerConfig = {
|
|
78
|
+
internationalization: {
|
|
79
|
+
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
80
|
+
defaultLocale: Locales.ENGLISH,
|
|
81
|
+
requiredLocales: [Locales.ENGLISH, Locales.FRENCH],
|
|
82
|
+
},
|
|
83
|
+
content: {
|
|
84
|
+
// Автоматически генерировать отсутствующие переводы для всех словарей
|
|
85
|
+
autoFill: "./{{fileName}}.content.ts",
|
|
86
|
+
//
|
|
87
|
+
// autoFill: "/messages/{{locale}}/{{key}}/{{fileName}}.content.json",
|
|
88
|
+
//
|
|
89
|
+
// autoFill: true, // автоматически генерировать отсутствующие переводы для всех словарей, используя "./{{fileName}}.content.json"
|
|
90
|
+
//
|
|
91
|
+
// autoFill: {
|
|
92
|
+
// en: "./{{fileName}}.en.content.json",
|
|
93
|
+
// fr: "./{{fileName}}.fr.content.json",
|
|
94
|
+
// es: "./{{fileName}}.es.content.json",
|
|
95
|
+
// },
|
|
96
|
+
},
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
export default config;
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Вы все еще можете тонко настраивать каждый словарь, используя поле `autoFill` в файлах контента. Полную справку смотрите в `doc/autoFill` и `doc/dictionary/content_file`.
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Команда fill: более безопасные настройки по умолчанию
|
|
107
|
+
|
|
108
|
+
Команда fill теперь по умолчанию заполняет только отсутствующие переводы и пропускает уже существующий контент.
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
npx intlayer fill
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
Затронутые ключи словарей для обработки: access-key-creation-form-schema, doc-search-metadata, doc-search-page
|
|
116
|
+
- [access-key-creation-form-schema] У словаря нет пути к файлу. Пропуск.
|
|
117
|
+
- [access-key-creation-form-schema] Обработка декларации контента: src/components/Dashboard/ProjectForm/AccessKey/useAccessKeyCreationFormSchema.content.ts
|
|
118
|
+
- [access-key-creation-form-schema] Нет локалей для заполнения - пропуск словаря
|
|
119
|
+
- [doc-search-metadata] Словарь не имеет пути к файлу. Пропуск.
|
|
120
|
+
- [doc-search-metadata] Обработка объявления контента: src/app/[locale]/(docs)/doc/search/metadata.content.ts
|
|
121
|
+
- [doc-search-metadata] Нет локалей для заполнения - пропуск словаря
|
|
122
|
+
- [doc-search-page] Словарь не имеет пути к файлу. Пропуск.
|
|
123
|
+
- [doc-search-page] Обработка объявления контента: src/app/[locale]/(docs)/doc/search/page.content.ts
|
|
124
|
+
- [doc-search-page] [Русский (ru)] Подготовка перевода словаря с английского (en) на русский (ru)
|
|
125
|
+
[intlayer] Применено форматирование Prettier к src/app/[locale]/(docs)/doc/search/page.content.ts
|
|
126
|
+
- [doc-search-page] Объявление контента записано в src/app/[locale]/(docs)/doc/search/page.content.ts
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Примеры CI доступны в разделе [CI/CD](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/CI_CD.md).
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Обновленное расширение VS Code
|
|
134
|
+
|
|
135
|
+
Теперь расширение включает выделенную вкладку Intlayer в панели активности и несколько улучшений рабочего процесса:
|
|
136
|
+
|
|
137
|
+
- Панель активности Intlayer с двумя представлениями:
|
|
138
|
+
- Веб-просмотр поиска (`intlayer.searchBar`) для живого поиска по словарю/контенту
|
|
139
|
+
- Дерево словарей (`intlayer.dictionaries`), отображающее окружения, словари и участвующие файлы
|
|
140
|
+
- Панель инструментов в представлении словарей: Build, Pull, Push, Fill, Refresh, Test, Create Dictionary File
|
|
141
|
+
- Контекстные меню: Pull/Push для словарей; Fill для файлов
|
|
142
|
+
|
|
143
|
+
- Автоматическое выделение: текущий файл редактора подсвечивается в дереве словарей, если применимо
|
|
144
|
+
- Новые команды доступны из Палитры команд: Заполнить словари и Тестировать словари
|
|
145
|
+
|
|
146
|
+
Подробности смотрите в документации [Официальное расширение VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/vs_code_extension.md).
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Производительность: в 10 раз быстрее
|
|
151
|
+
|
|
152
|
+
- Параллельное разрешение локальных и удалённых словарей
|
|
153
|
+
- Удалённые словари кэшируются, чтобы избежать повторного запроса при запуске приложения
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
npx intlayer build
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
Вывод:
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
[intlayer] Подготовка Intlayer (v6.0.1)
|
|
163
|
+
[intlayer] Словари:
|
|
164
|
+
[intlayer] ✓ Локальный контент: 163/163
|
|
165
|
+
[intlayer] ✓ Удалённый контент: 100/100
|
|
166
|
+
[intlayer] - access-key-creation-form [local: ✔ построен] [distant: ✔ импортирован]
|
|
167
|
+
[intlayer] - access-key-creation-form-schema [local: ✔ построено] [distant: ✔ импортировано]
|
|
168
|
+
[intlayer] - access-key-form [local: ✔ построено] [distant: ✔ импортировано]
|
|
169
|
+
[intlayer] - ai-ab-testing-section [distant: ✔ импортировано]
|
|
170
|
+
[intlayer] - application-not-running-view [local: ✔ построено] [distant: ✔ импортировано]
|
|
171
|
+
[intlayer] - application-template-message [local: ✔ построено] [distant: ✔ получено]
|
|
172
|
+
[intlayer] - aside-navigation [local: ✔ построено] [distant: ✔ импортировано]
|
|
173
|
+
[intlayer] - ask-reset-password [local: ✔ построено] [distant: ✔ импортировано]
|
|
174
|
+
[intlayer] - ask-reset-password-schema [local: ✔ построено] [distant: ✔ импортировано]
|
|
175
|
+
[intlayer] - autocompletion-section [local: ✔ построено] [distant: ✔ получено]
|
|
176
|
+
[intlayer] - available-techno-section [local: ✔ построено] [distant: ✔ импортировано]
|
|
177
|
+
[intlayer] - blog-data [local: ✔ построено]
|
|
178
|
+
[intlayer] - blog-metadata [local: ✔ построено]
|
|
179
|
+
[intlayer] - blog-nav-list [local: ✔ построено] [distant: ✔ импортировано]
|
|
180
|
+
[intlayer] - blog-page [distant: ✔ получено]
|
|
181
|
+
[intlayer] - blog-search-metadata [local: ✔ построено] [distant: ✔ импортировано]
|
|
182
|
+
[intlayer] - blog-search-page [local: ✔ построено] [distant: ✔ импортировано]
|
|
183
|
+
...
|
|
184
|
+
[intlayer] Контент загружен (Всего: 8401мс - Локально: 4050мс - Удаленно: 4222мс)
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## Улучшения логирования
|
|
190
|
+
|
|
191
|
+
Система логирования была улучшена для предоставления более подробной информации о том, что происходит во время сборки и выполнения трансформаций.
|
|
192
|
+
|
|
193
|
+
> Включите подробные логи, чтобы лучше понимать, что происходит во время сборки и выполнения трансформаций.
|
|
194
|
+
|
|
195
|
+
```ts fileName="intlayer.config.ts"
|
|
196
|
+
export default {
|
|
197
|
+
log: {
|
|
198
|
+
mode: "verbose", // опции: "default" | "verbose" | "disabled"
|
|
199
|
+
},
|
|
200
|
+
};
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
Смотрите [Конфигурация](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/configuration.md) для всех опций логирования.
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## Усиленная валидация
|
|
208
|
+
|
|
209
|
+
Обработка словарей теперь выполняет более надежную валидацию. Когда словарь не удается обработать, Intlayer предотвращает сбой вашего приложения и выводит понятные ошибки.
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## Живые обновления с CMS (безопасно для продакшена)
|
|
214
|
+
|
|
215
|
+
Обеспечьте обновление контента в реальном времени (например, редакционные обновления) в продакшене без необходимости пересобирать приложение.
|
|
216
|
+
|
|
217
|
+
1. Включите режим живого импорта:
|
|
218
|
+
|
|
219
|
+
```ts fileName="intlayer.config.ts"
|
|
220
|
+
import { type IntlayerConfig } from "intlayer";
|
|
221
|
+
|
|
222
|
+
const config: IntlayerConfig = {
|
|
223
|
+
build: {
|
|
224
|
+
importMode: "live", // "static" | "dynamic" | "live"
|
|
225
|
+
},
|
|
226
|
+
editor: {
|
|
227
|
+
liveSync: true, // включить живую синхронизацию на стороне сервера
|
|
228
|
+
},
|
|
229
|
+
};
|
|
230
|
+
|
|
231
|
+
export default config;
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
2. Запустите приложение и процесс живого обновления параллельно:
|
|
235
|
+
|
|
236
|
+
```bash
|
|
237
|
+
npx intlayer live --process 'vite preview'
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
Примечания:
|
|
241
|
+
|
|
242
|
+
- Только словари, помеченные для использования живого режима, будут загружаться в реальном времени. Остальные оптимизированы для производительности.
|
|
243
|
+
- При недоступности живого API происходит возврат к динамическому импорту.
|
|
244
|
+
|
|
245
|
+
См. [CMS и Live Sync](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_CMS.md) и [Конфигурация](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/configuration.md) для полного руководства.
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## Заметки по миграции
|
|
250
|
+
|
|
251
|
+
- Удалено: `dictionaryOutput` (ранее `i18next` или `next-intl`). Это вернется в виде подключаемых адаптеров в будущих версиях. Удалите это поле из вашей конфигурации.
|
|
252
|
+
- Связанное удаление: `i18nextResourcesDir` (см. журнал изменений `doc/configuration`).
|
|
253
|
+
- Предпочитайте новую глобальную опцию `content.autoFill` для массовой генерации отсутствующих переводов.
|
|
254
|
+
- Используйте `npx intlayer content test` для проверки PR на наличие отсутствующих переводов.
|
|
255
|
+
- Для подробной диагностики установите `log.mode = 'verbose'`.
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
## Исправления
|
|
260
|
+
|
|
261
|
+
- Стабильность интеграции с Vue.js
|
|
262
|
+
- Улучшения адаптера Lynx
|
|
263
|
+
- Визуальный редактор в Windows
|
|
264
|
+
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
## Полезные ссылки
|
|
268
|
+
|
|
269
|
+
- [Справочник CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_cli.md)
|
|
270
|
+
- [Автозаполнение](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/autoFill.md)
|
|
271
|
+
- [Конфигурация](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/configuration.md)
|
|
272
|
+
- [Справочник по файлам контента](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/dictionary/content_file.md)
|
|
273
|
+
- [Официальное расширение для VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/vs_code_extension.md)
|
|
274
|
+
- [CMS и синхронизация в реальном времени](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_CMS.md)
|
package/docs/ru/roadmap.md
CHANGED
|
@@ -121,7 +121,7 @@ Intlayer поддерживает **TypeScript** (также JavaScript) и **JS
|
|
|
121
121
|
|
|
122
122
|
> Ресурсы:
|
|
123
123
|
>
|
|
124
|
-
> - [Форматы объявления контента](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/dictionary/
|
|
124
|
+
> - [Форматы объявления контента](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/dictionary/content_file.md)
|
|
125
125
|
|
|
126
126
|
### 7. Очистка, оптимизация бандла и динамические импорты
|
|
127
127
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-03-17
|
|
3
|
-
updatedAt: 2025-
|
|
3
|
+
updatedAt: 2025-09-22
|
|
4
4
|
title: Официальное расширение VS Code
|
|
5
5
|
description: Узнайте, как использовать расширение Intlayer в VS Code для улучшения вашего рабочего процесса разработки. Быстро переходите между локализованным контентом и эффективно управляйте своими словарями.
|
|
6
6
|
keywords:
|
|
@@ -21,7 +21,7 @@ slugs:
|
|
|
21
21
|
|
|
22
22
|
## Обзор
|
|
23
23
|
|
|
24
|
-
[**Intlayer**](https://marketplace.visualstudio.com/items?itemName=Intlayer.intlayer-vs-code-extension)
|
|
24
|
+
[**Intlayer**](https://marketplace.visualstudio.com/items?itemName=Intlayer.intlayer-vs-code-extension) — официальное расширение Visual Studio Code для **Intlayer**, созданное для улучшения опыта разработчика при работе с локализованным контентом в ваших проектах.
|
|
25
25
|
|
|
26
26
|

|
|
27
27
|
|
|
@@ -31,8 +31,8 @@ slugs:
|
|
|
31
31
|
|
|
32
32
|
### Мгновенная навигация
|
|
33
33
|
|
|
34
|
-
**Поддержка перехода к определению** – Используйте
|
|
35
|
-
**Бесшовная интеграция** – Работает без усилий с проектами **react-intlayer** и **next-intlayer**.
|
|
34
|
+
**Поддержка перехода к определению** – Используйте `⌘ + Click` (Mac) или `Ctrl + Click` (Windows/Linux) по ключу `useIntlayer`, чтобы мгновенно открыть соответствующий файл с контентом.
|
|
35
|
+
**Бесшовная интеграция** – Работает без усилий с проектами на **react-intlayer** и **next-intlayer**.
|
|
36
36
|
**Поддержка нескольких языков** – Поддерживает локализованный контент на разных языках.
|
|
37
37
|
**Интеграция с VS Code** – Плавно интегрируется с навигацией и палитрой команд VS Code.
|
|
38
38
|
|
|
@@ -40,18 +40,66 @@ slugs:
|
|
|
40
40
|
|
|
41
41
|
Управляйте своими словарями контента прямо из VS Code:
|
|
42
42
|
|
|
43
|
-
- **Сборка словарей**
|
|
44
|
-
- **Отправка словарей**
|
|
45
|
-
-
|
|
43
|
+
- **Сборка словарей** – Генерируйте файлы контента на основе структуры вашего проекта.
|
|
44
|
+
- **Отправка словарей** – Загружайте актуальное содержимое словарей в ваш репозиторий.
|
|
45
|
+
- **Получение словарей** – Синхронизируйте актуальное содержимое словарей из репозитория с вашей локальной средой.
|
|
46
|
+
- **Заполнение словарей** – Заполняйте словари контентом из вашего проекта.
|
|
47
|
+
- **Тестирование словарей** – Определяйте отсутствующие или неполные переводы.
|
|
46
48
|
|
|
47
49
|
### Генератор деклараций контента
|
|
48
50
|
|
|
49
51
|
Легко генерируйте структурированные файлы словарей в различных форматах:
|
|
50
52
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
Если вы сейчас работаете над компонентом, он сгенерирует для вас файл `.content.{ts,tsx,js,jsx,mjs,cjs,json}`.
|
|
54
|
+
|
|
55
|
+
Пример компонента:
|
|
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
|
+
|
|
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 (Панель активности)
|
|
92
|
+
|
|
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
|
+
- При переключении редакторов дерево покажет соответствующий файл, если он принадлежит словарю.
|
|
55
103
|
|
|
56
104
|
## Установка
|
|
57
105
|
|
|
@@ -62,12 +110,6 @@ slugs:
|
|
|
62
110
|
3. Найдите **"Intlayer"**.
|
|
63
111
|
4. Нажмите **Установить**.
|
|
64
112
|
|
|
65
|
-
Альтернативно, установите через командную строку:
|
|
66
|
-
|
|
67
|
-
```sh
|
|
68
|
-
code --install-extension intlayer
|
|
69
|
-
```
|
|
70
|
-
|
|
71
113
|
## Использование
|
|
72
114
|
|
|
73
115
|
### Быстрая навигация
|
|
@@ -79,11 +121,19 @@ code --install-extension intlayer
|
|
|
79
121
|
const content = useIntlayer("app");
|
|
80
122
|
```
|
|
81
123
|
|
|
82
|
-
3.
|
|
124
|
+
3. Выполните **Command-click** (`⌘+Click` на macOS) или **Ctrl+Click** (на Windows/Linux) по ключу (например, `"app"`).
|
|
83
125
|
4. VS Code автоматически откроет соответствующий файл словаря, например, `src/app.content.ts`.
|
|
84
126
|
|
|
85
127
|
### Управление словарями контента
|
|
86
128
|
|
|
129
|
+
### Вкладка Intlayer (Панель активности)
|
|
130
|
+
|
|
131
|
+
Используйте боковую вкладку для просмотра и управления словарями:
|
|
132
|
+
|
|
133
|
+
- Откройте значок Intlayer в панели активности.
|
|
134
|
+
- В **Поиске** введите текст для фильтрации словарей и записей в реальном времени.
|
|
135
|
+
- В разделе **Словари** просматривайте окружения, словари и файлы. Используйте панель инструментов для команд Build, Pull, Push, Fill, Refresh, Test и Create Dictionary File. Щелкните правой кнопкой мыши для контекстных действий (Pull/Push для словарей, Fill для файлов). Текущий файл редактора автоматически отображается в дереве, когда это применимо.
|
|
136
|
+
|
|
87
137
|
#### Сборка словарей
|
|
88
138
|
|
|
89
139
|
Сгенерируйте все файлы содержимого словарей с помощью:
|
|
@@ -108,45 +158,26 @@ Cmd + Shift + P (macOS) / Ctrl + Shift + P (Windows/Linux)
|
|
|
108
158
|
|
|
109
159
|
1. Откройте **Палитру команд**.
|
|
110
160
|
2. Найдите **Pull Dictionaries**.
|
|
111
|
-
3. Выберите словари для
|
|
112
|
-
|
|
113
|
-
## Разработка и Вклад
|
|
114
|
-
|
|
115
|
-
Хотите внести свой вклад? Мы приветствуем участие сообщества!
|
|
161
|
+
3. Выберите словари для загрузки.
|
|
116
162
|
|
|
117
|
-
|
|
163
|
+
#### Заполнение словарей
|
|
118
164
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
Клонируйте репозиторий и установите зависимости:
|
|
122
|
-
|
|
123
|
-
```sh
|
|
124
|
-
git clone https://github.com/aymericzip/intlayer-vs-code-extension.git
|
|
125
|
-
cd intlayer-vs-code-extension
|
|
126
|
-
npm install
|
|
127
|
-
```
|
|
165
|
+
Заполните словари содержимым из вашего проекта:
|
|
128
166
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
1. Откройте проект в **VS Code**.
|
|
134
|
-
2. Нажмите `F5`, чтобы запустить новое окно **Extension Development Host**.
|
|
135
|
-
|
|
136
|
-
### Отправка Pull Request
|
|
137
|
-
|
|
138
|
-
Если вы улучшили расширение, отправьте PR на [GitHub](https://github.com/aymericzip/intlayer-vs-code-extension).
|
|
139
|
-
|
|
140
|
-
## Обратная связь и проблемы
|
|
141
|
-
|
|
142
|
-
Нашли ошибку или хотите предложить новую функцию? Откройте issue в нашем **репозитории на GitHub**:
|
|
167
|
+
1. Откройте **Палитру команд**.
|
|
168
|
+
2. Найдите **Fill Dictionaries**.
|
|
169
|
+
3. Выполните команду для заполнения словарей.
|
|
143
170
|
|
|
144
|
-
|
|
171
|
+
#### Тестирование словарей
|
|
145
172
|
|
|
146
|
-
|
|
173
|
+
Проверьте словари и найдите отсутствующие переводы:
|
|
147
174
|
|
|
148
|
-
|
|
175
|
+
1. Откройте **Палитру команд**.
|
|
176
|
+
2. Найдите **Test Dictionaries**.
|
|
177
|
+
3. Просмотрите обнаруженные проблемы и исправьте их при необходимости.
|
|
149
178
|
|
|
150
|
-
## История
|
|
179
|
+
## История документа
|
|
151
180
|
|
|
152
|
-
|
|
181
|
+
| Версия | Дата | Изменения |
|
|
182
|
+
| ------ | ---------- | --------------------- |
|
|
183
|
+
| 5.5.10 | 2025-06-29 | Инициализация истории |
|