@intlayer/docs 8.3.0-canary.4 → 8.3.1
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/docs/ar/compiler.md +84 -49
- package/docs/ar/configuration.md +80 -37
- package/docs/ar/intlayer_with_nextjs_16.md +174 -1
- package/docs/ar/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/ar/intlayer_with_react_router_v7.md +224 -1
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/ar/intlayer_with_svelte_kit.md +175 -2
- package/docs/ar/intlayer_with_tanstack.md +176 -1
- package/docs/ar/intlayer_with_vite+preact.md +174 -1
- package/docs/ar/intlayer_with_vite+react.md +174 -1
- package/docs/ar/intlayer_with_vite+solid.md +174 -1
- package/docs/ar/intlayer_with_vite+svelte.md +174 -1
- package/docs/ar/intlayer_with_vite+vue.md +174 -1
- package/docs/de/compiler.md +83 -48
- package/docs/de/configuration.md +434 -212
- package/docs/de/intlayer_with_nextjs_16.md +176 -1
- package/docs/de/intlayer_with_nextjs_compiler.md +106 -349
- package/docs/de/intlayer_with_react_router_v7.md +225 -2
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +221 -79
- package/docs/de/intlayer_with_svelte_kit.md +158 -2
- package/docs/de/intlayer_with_tanstack.md +159 -1
- package/docs/de/intlayer_with_vite+preact.md +157 -1
- package/docs/de/intlayer_with_vite+react.md +157 -1
- package/docs/de/intlayer_with_vite+solid.md +159 -3
- package/docs/de/intlayer_with_vite+svelte.md +157 -1
- package/docs/de/intlayer_with_vite+vue.md +157 -1
- package/docs/en/compiler.md +60 -33
- package/docs/en/configuration.md +80 -57
- package/docs/en/intlayer_with_nextjs_16.md +176 -0
- package/docs/en/intlayer_with_nextjs_compiler.md +179 -1
- package/docs/en/intlayer_with_react_router_v7.md +159 -0
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +159 -0
- package/docs/en/intlayer_with_svelte_kit.md +159 -0
- package/docs/en/intlayer_with_tanstack.md +160 -1
- package/docs/en/intlayer_with_vite+preact.md +159 -0
- package/docs/en/intlayer_with_vite+react.md +159 -0
- package/docs/en/intlayer_with_vite+solid.md +148 -27
- package/docs/en/intlayer_with_vite+svelte.md +159 -0
- package/docs/en/intlayer_with_vite+vue.md +142 -41
- package/docs/en-GB/compiler.md +66 -34
- package/docs/en-GB/configuration.md +78 -36
- package/docs/es/compiler.md +83 -48
- package/docs/es/configuration.md +429 -206
- package/docs/es/intlayer_with_adonisjs.md +1 -1
- package/docs/es/intlayer_with_express.md +1 -1
- package/docs/es/intlayer_with_fastify.md +1 -1
- package/docs/es/intlayer_with_hono.md +1 -1
- package/docs/es/intlayer_with_nestjs.md +1 -1
- package/docs/es/intlayer_with_nextjs_16.md +176 -3
- package/docs/es/intlayer_with_nextjs_compiler.md +175 -2
- package/docs/es/intlayer_with_nuxt.md +1 -1
- package/docs/es/intlayer_with_react_router_v7.md +227 -4
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +162 -4
- package/docs/es/intlayer_with_svelte_kit.md +158 -2
- package/docs/es/intlayer_with_tanstack.md +160 -2
- package/docs/es/intlayer_with_vite+preact.md +162 -6
- package/docs/es/intlayer_with_vite+react.md +160 -4
- package/docs/es/intlayer_with_vite+solid.md +163 -7
- package/docs/es/intlayer_with_vite+svelte.md +157 -1
- package/docs/es/intlayer_with_vite+vue.md +165 -9
- package/docs/fr/compiler.md +81 -46
- package/docs/fr/configuration.md +355 -134
- package/docs/fr/intlayer_with_adonisjs.md +1 -1
- package/docs/fr/intlayer_with_express.md +1 -1
- package/docs/fr/intlayer_with_fastify.md +1 -1
- package/docs/fr/intlayer_with_hono.md +1 -1
- package/docs/fr/intlayer_with_nestjs.md +1 -1
- package/docs/fr/intlayer_with_nextjs_16.md +183 -7
- package/docs/fr/intlayer_with_nextjs_compiler.md +179 -3
- package/docs/fr/intlayer_with_react_router_v7.md +229 -3
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +237 -6
- package/docs/fr/intlayer_with_svelte_kit.md +158 -2
- package/docs/fr/intlayer_with_tanstack.md +159 -1
- package/docs/fr/intlayer_with_vite+preact.md +164 -8
- package/docs/fr/intlayer_with_vite+react.md +162 -6
- package/docs/fr/intlayer_with_vite+solid.md +163 -7
- package/docs/fr/intlayer_with_vite+svelte.md +157 -1
- package/docs/fr/intlayer_with_vite+vue.md +164 -8
- package/docs/hi/compiler.md +81 -46
- package/docs/hi/configuration.md +87 -44
- package/docs/hi/intlayer_with_nextjs_16.md +174 -1
- package/docs/hi/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/hi/intlayer_with_react_router_v7.md +224 -1
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/hi/intlayer_with_svelte_kit.md +158 -2
- package/docs/hi/intlayer_with_tanstack.md +159 -1
- package/docs/hi/intlayer_with_vite+preact.md +157 -1
- package/docs/hi/intlayer_with_vite+react.md +157 -1
- package/docs/hi/intlayer_with_vite+solid.md +157 -1
- package/docs/hi/intlayer_with_vite+svelte.md +157 -1
- package/docs/hi/intlayer_with_vite+vue.md +157 -1
- package/docs/id/compiler.md +84 -51
- package/docs/id/configuration.md +83 -45
- package/docs/id/intlayer_with_nextjs_16.md +174 -1
- package/docs/id/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/id/intlayer_with_react_router_v7.md +224 -1
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/id/intlayer_with_svelte_kit.md +158 -2
- package/docs/id/intlayer_with_tanstack.md +159 -1
- package/docs/id/intlayer_with_vite+preact.md +157 -1
- package/docs/id/intlayer_with_vite+react.md +157 -1
- package/docs/id/intlayer_with_vite+solid.md +157 -1
- package/docs/id/intlayer_with_vite+svelte.md +157 -1
- package/docs/id/intlayer_with_vite+vue.md +157 -1
- package/docs/it/compiler.md +81 -46
- package/docs/it/configuration.md +426 -204
- package/docs/it/intlayer_with_nextjs_16.md +174 -1
- package/docs/it/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/it/intlayer_with_react_router_v7.md +225 -2
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +226 -2
- package/docs/it/intlayer_with_svelte_kit.md +158 -2
- package/docs/it/intlayer_with_tanstack.md +159 -1
- package/docs/it/intlayer_with_vite+preact.md +157 -1
- package/docs/it/intlayer_with_vite+react.md +157 -1
- package/docs/it/intlayer_with_vite+solid.md +159 -3
- package/docs/it/intlayer_with_vite+svelte.md +157 -1
- package/docs/it/intlayer_with_vite+vue.md +157 -1
- package/docs/ja/compiler.md +94 -58
- package/docs/ja/configuration.md +88 -45
- package/docs/ja/intlayer_with_nextjs_16.md +174 -1
- package/docs/ja/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/ja/intlayer_with_react_router_v7.md +184 -394
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +226 -2
- package/docs/ja/intlayer_with_svelte_kit.md +119 -595
- package/docs/ja/intlayer_with_tanstack.md +131 -642
- package/docs/ja/intlayer_with_vite+preact.md +111 -1231
- package/docs/ja/intlayer_with_vite+react.md +129 -1304
- package/docs/ja/intlayer_with_vite+solid.md +159 -3
- package/docs/ja/intlayer_with_vite+svelte.md +157 -1
- package/docs/ja/intlayer_with_vite+vue.md +157 -1
- package/docs/ko/compiler.md +88 -52
- package/docs/ko/configuration.md +87 -44
- package/docs/ko/intlayer_with_nextjs_16.md +174 -1
- package/docs/ko/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/ko/intlayer_with_react_router_v7.md +225 -2
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +226 -2
- package/docs/ko/intlayer_with_svelte_kit.md +158 -2
- package/docs/ko/intlayer_with_tanstack.md +159 -1
- package/docs/ko/intlayer_with_vite+preact.md +157 -1
- package/docs/ko/intlayer_with_vite+react.md +157 -1
- package/docs/ko/intlayer_with_vite+solid.md +159 -3
- package/docs/ko/intlayer_with_vite+svelte.md +157 -1
- package/docs/ko/intlayer_with_vite+vue.md +157 -1
- package/docs/pl/compiler.md +84 -51
- package/docs/pl/configuration.md +83 -37
- package/docs/pl/intlayer_with_nextjs_16.md +174 -1
- package/docs/pl/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/pl/intlayer_with_react_router_v7.md +224 -1
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/pl/intlayer_with_svelte_kit.md +158 -2
- package/docs/pl/intlayer_with_tanstack.md +159 -1
- package/docs/pl/intlayer_with_vite+preact.md +157 -1
- package/docs/pl/intlayer_with_vite+react.md +157 -1
- package/docs/pl/intlayer_with_vite+solid.md +157 -1
- package/docs/pl/intlayer_with_vite+svelte.md +157 -1
- package/docs/pl/intlayer_with_vite+vue.md +157 -1
- package/docs/pt/compiler.md +81 -46
- package/docs/pt/configuration.md +404 -194
- package/docs/pt/intlayer_with_nextjs_16.md +174 -1
- package/docs/pt/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/pt/intlayer_with_react_router_v7.md +224 -1
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/pt/intlayer_with_svelte_kit.md +158 -2
- package/docs/pt/intlayer_with_tanstack.md +159 -1
- package/docs/pt/intlayer_with_vite+preact.md +157 -1
- package/docs/pt/intlayer_with_vite+react.md +157 -1
- package/docs/pt/intlayer_with_vite+solid.md +157 -1
- package/docs/pt/intlayer_with_vite+svelte.md +157 -1
- package/docs/pt/intlayer_with_vite+vue.md +157 -1
- package/docs/ru/compiler.md +90 -57
- package/docs/ru/configuration.md +76 -46
- package/docs/ru/intlayer_with_nextjs_16.md +174 -1
- package/docs/ru/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/ru/intlayer_with_react_router_v7.md +224 -1
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/ru/intlayer_with_svelte_kit.md +158 -2
- package/docs/ru/intlayer_with_tanstack.md +159 -1
- package/docs/ru/intlayer_with_vite+preact.md +157 -1
- package/docs/ru/intlayer_with_vite+react.md +157 -1
- package/docs/ru/intlayer_with_vite+solid.md +157 -1
- package/docs/ru/intlayer_with_vite+svelte.md +157 -1
- package/docs/ru/intlayer_with_vite+vue.md +157 -1
- package/docs/tr/compiler.md +85 -52
- package/docs/tr/configuration.md +83 -40
- package/docs/tr/intlayer_with_nextjs_16.md +174 -1
- package/docs/tr/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/tr/intlayer_with_react_router_v7.md +224 -1
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/tr/intlayer_with_svelte_kit.md +158 -2
- package/docs/tr/intlayer_with_tanstack.md +159 -1
- package/docs/tr/intlayer_with_vite+preact.md +157 -1
- package/docs/tr/intlayer_with_vite+react.md +157 -1
- package/docs/tr/intlayer_with_vite+solid.md +157 -1
- package/docs/tr/intlayer_with_vite+svelte.md +157 -1
- package/docs/tr/intlayer_with_vite+vue.md +157 -1
- package/docs/uk/compiler.md +96 -61
- package/docs/uk/configuration.md +83 -37
- package/docs/uk/intlayer_with_nextjs_16.md +174 -1
- package/docs/uk/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/uk/intlayer_with_react_router_v7.md +224 -1
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/uk/intlayer_with_svelte_kit.md +157 -1
- package/docs/uk/intlayer_with_tanstack.md +159 -1
- package/docs/uk/intlayer_with_vite+preact.md +157 -1
- package/docs/uk/intlayer_with_vite+react.md +157 -1
- package/docs/uk/intlayer_with_vite+solid.md +157 -1
- package/docs/uk/intlayer_with_vite+svelte.md +157 -1
- package/docs/uk/intlayer_with_vite+vue.md +157 -1
- package/docs/vi/compiler.md +85 -50
- package/docs/vi/configuration.md +85 -39
- package/docs/vi/intlayer_with_nextjs_16.md +174 -1
- package/docs/vi/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/vi/intlayer_with_react_router_v7.md +224 -1
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/vi/intlayer_with_svelte_kit.md +158 -2
- package/docs/vi/intlayer_with_tanstack.md +159 -1
- package/docs/vi/intlayer_with_vite+preact.md +157 -1
- package/docs/vi/intlayer_with_vite+react.md +157 -1
- package/docs/vi/intlayer_with_vite+solid.md +157 -1
- package/docs/vi/intlayer_with_vite+svelte.md +157 -1
- package/docs/vi/intlayer_with_vite+vue.md +157 -1
- package/docs/zh/compiler.md +84 -49
- package/docs/zh/configuration.md +80 -37
- package/docs/zh/intlayer_with_adonisjs.md +1 -1
- package/docs/zh/intlayer_with_express.md +1 -1
- package/docs/zh/intlayer_with_fastify.md +1 -1
- package/docs/zh/intlayer_with_hono.md +1 -1
- package/docs/zh/intlayer_with_nestjs.md +1 -1
- package/docs/zh/intlayer_with_nextjs_16.md +174 -1
- package/docs/zh/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/zh/intlayer_with_react_router_v7.md +227 -4
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +228 -4
- package/docs/zh/intlayer_with_svelte_kit.md +158 -2
- package/docs/zh/intlayer_with_tanstack.md +159 -1
- package/docs/zh/intlayer_with_vite+preact.md +159 -3
- package/docs/zh/intlayer_with_vite+react.md +157 -1
- package/docs/zh/intlayer_with_vite+solid.md +161 -5
- package/docs/zh/intlayer_with_vite+svelte.md +157 -1
- package/docs/zh/intlayer_with_vite+vue.md +158 -2
- package/package.json +6 -6
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-04-18
|
|
3
|
-
updatedAt:
|
|
3
|
+
updatedAt: 2026-03-12
|
|
4
4
|
title: Vite + Preact i18n - Как перевести приложение Preact в 2026
|
|
5
5
|
description: Узнайте, как сделать ваш сайт на Vite и Preact многоязычным. Следуйте документации по интернационализации (i18n) и переводу.
|
|
6
6
|
keywords:
|
|
@@ -1361,6 +1361,162 @@ Intlayer использует расширение модулей (module augmen
|
|
|
1361
1361
|
|
|
1362
1362
|
---
|
|
1363
1363
|
|
|
1364
|
+
### (Опционально) Шаг 1 : Извлечение содержимого ваших компонентов
|
|
1365
|
+
|
|
1366
|
+
Если у вас есть существующая кодовая база, преобразование тысяч файлов может занять много времени.
|
|
1367
|
+
|
|
1368
|
+
Чтобы упростить этот процесс, Intlayer предлагает [компилятор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/compiler.md) / [экстрактор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/cli/extract.md) для преобразования ваших компонентов и извлечения содержимого.
|
|
1369
|
+
|
|
1370
|
+
Чтобы настроить его, вы можете добавить раздел `compiler` в ваш файл `intlayer.config.ts`:
|
|
1371
|
+
|
|
1372
|
+
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
1373
|
+
import { type IntlayerConfig } from "intlayer";
|
|
1374
|
+
|
|
1375
|
+
const config: IntlayerConfig = {
|
|
1376
|
+
// ... Остальная часть вашей конфигурации
|
|
1377
|
+
compiler: {
|
|
1378
|
+
/**
|
|
1379
|
+
* Указывает, должен ли быть включен компилятор.
|
|
1380
|
+
*/
|
|
1381
|
+
enabled: true,
|
|
1382
|
+
|
|
1383
|
+
/**
|
|
1384
|
+
* Определяет путь к выходным файлам
|
|
1385
|
+
*/
|
|
1386
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1387
|
+
|
|
1388
|
+
/**
|
|
1389
|
+
* Указывает, должны ли компоненты сохраняться после преобразования. Таким образом, компилятор можно запустить только один раз для преобразования приложения, а затем удалить.
|
|
1390
|
+
*/
|
|
1391
|
+
saveComponents: false,
|
|
1392
|
+
|
|
1393
|
+
/**
|
|
1394
|
+
* Префикс ключа словаря
|
|
1395
|
+
*/
|
|
1396
|
+
dictionaryKeyPrefix: "",
|
|
1397
|
+
},
|
|
1398
|
+
};
|
|
1399
|
+
|
|
1400
|
+
export default config;
|
|
1401
|
+
```
|
|
1402
|
+
|
|
1403
|
+
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
1404
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
1405
|
+
const config = {
|
|
1406
|
+
// ... Остальная часть вашей конфигурации
|
|
1407
|
+
compiler: {
|
|
1408
|
+
/**
|
|
1409
|
+
* Указывает, должен ли быть включен компилятор.
|
|
1410
|
+
*/
|
|
1411
|
+
enabled: true,
|
|
1412
|
+
|
|
1413
|
+
/**
|
|
1414
|
+
* Определяет путь к выходным файлам
|
|
1415
|
+
*/
|
|
1416
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1417
|
+
|
|
1418
|
+
/**
|
|
1419
|
+
* Указывает, должны ли компоненты сохраняться после преобразования. Таким образом, компилятор можно запустить только один раз для преобразования приложения, а затем удалить.
|
|
1420
|
+
*/
|
|
1421
|
+
saveComponents: false,
|
|
1422
|
+
|
|
1423
|
+
/**
|
|
1424
|
+
* Префикс ключа словаря
|
|
1425
|
+
*/
|
|
1426
|
+
dictionaryKeyPrefix: "",
|
|
1427
|
+
},
|
|
1428
|
+
};
|
|
1429
|
+
|
|
1430
|
+
export default config;
|
|
1431
|
+
```
|
|
1432
|
+
|
|
1433
|
+
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
1434
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
1435
|
+
const config = {
|
|
1436
|
+
// ... Остальная часть вашей конфигурации
|
|
1437
|
+
compiler: {
|
|
1438
|
+
/**
|
|
1439
|
+
* Указывает, должен ли быть включен компилятор.
|
|
1440
|
+
*/
|
|
1441
|
+
enabled: true,
|
|
1442
|
+
|
|
1443
|
+
/**
|
|
1444
|
+
* Определяет путь к выходным файлам
|
|
1445
|
+
*/
|
|
1446
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1447
|
+
|
|
1448
|
+
/**
|
|
1449
|
+
* Указывает, должны ли компоненты сохраняться после преобразования. Таким образом, компилятор можно запустить только один раз для преобразования приложения, а затем удалить.
|
|
1450
|
+
*/
|
|
1451
|
+
saveComponents: false,
|
|
1452
|
+
|
|
1453
|
+
/**
|
|
1454
|
+
* Префикс ключа словаря
|
|
1455
|
+
*/
|
|
1456
|
+
dictionaryKeyPrefix: "",
|
|
1457
|
+
},
|
|
1458
|
+
};
|
|
1459
|
+
|
|
1460
|
+
module.exports = config;
|
|
1461
|
+
```
|
|
1462
|
+
|
|
1463
|
+
<Tabs>
|
|
1464
|
+
<Tab value='Команда извлечения'>
|
|
1465
|
+
|
|
1466
|
+
Запустите экстрактор для преобразования компонентов и извлечения содержимого
|
|
1467
|
+
|
|
1468
|
+
```bash packageManager="npm"
|
|
1469
|
+
npx intlayer extract
|
|
1470
|
+
```
|
|
1471
|
+
|
|
1472
|
+
```bash packageManager="pnpm"
|
|
1473
|
+
pnpm intlayer extract
|
|
1474
|
+
```
|
|
1475
|
+
|
|
1476
|
+
```bash packageManager="yarn"
|
|
1477
|
+
yarn intlayer extract
|
|
1478
|
+
```
|
|
1479
|
+
|
|
1480
|
+
```bash packageManager="bun"
|
|
1481
|
+
bunx intlayer extract
|
|
1482
|
+
```
|
|
1483
|
+
|
|
1484
|
+
</Tab>
|
|
1485
|
+
<Tab value='Компилятор Babel'>
|
|
1486
|
+
|
|
1487
|
+
Обновите ваш `vite.config.ts`, чтобы включить плагин `intlayerCompiler`:
|
|
1488
|
+
|
|
1489
|
+
```ts fileName="vite.config.ts"
|
|
1490
|
+
import { defineConfig } from "vite";
|
|
1491
|
+
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
1492
|
+
|
|
1493
|
+
export default defineConfig({
|
|
1494
|
+
plugins: [
|
|
1495
|
+
intlayer(),
|
|
1496
|
+
intlayerCompiler(), // Добавляет плагин компилятора
|
|
1497
|
+
],
|
|
1498
|
+
});
|
|
1499
|
+
```
|
|
1500
|
+
|
|
1501
|
+
```bash packageManager="npm"
|
|
1502
|
+
npm run build # Или npm run dev
|
|
1503
|
+
```
|
|
1504
|
+
|
|
1505
|
+
```bash packageManager="pnpm"
|
|
1506
|
+
pnpm run build # Or pnpm run dev
|
|
1507
|
+
```
|
|
1508
|
+
|
|
1509
|
+
```bash packageManager="yarn"
|
|
1510
|
+
yarn build # Or yarn dev
|
|
1511
|
+
```
|
|
1512
|
+
|
|
1513
|
+
```bash packageManager="bun"
|
|
1514
|
+
bun run build # Or bun run dev
|
|
1515
|
+
```
|
|
1516
|
+
|
|
1517
|
+
</Tab>
|
|
1518
|
+
</Tabs>
|
|
1519
|
+
|
|
1364
1520
|
### Продвигайтесь дальше
|
|
1365
1521
|
|
|
1366
1522
|
Чтобы продвинуться дальше, вы можете реализовать [визуальный редактор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_visual_editor.md) или вынести ваш контент вовне с помощью [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_CMS.md).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-03-07
|
|
3
|
-
updatedAt:
|
|
3
|
+
updatedAt: 2026-03-12
|
|
4
4
|
title: Vite + React i18n - Как перевести приложение React в 2026
|
|
5
5
|
description: Узнайте, как добавить интернационализацию (i18n) в ваше приложение на Vite и React с помощью Intlayer. Следуйте этому руководству, чтобы сделать ваше приложение многоязычным.
|
|
6
6
|
keywords:
|
|
@@ -1419,6 +1419,162 @@ Intlayer использует расширение модулей (module augmen
|
|
|
1419
1419
|
|
|
1420
1420
|
---
|
|
1421
1421
|
|
|
1422
|
+
### (Опционально) Шаг 1 : Извлечение содержимого ваших компонентов
|
|
1423
|
+
|
|
1424
|
+
Если у вас есть существующая кодовая база, преобразование тысяч файлов может занять много времени.
|
|
1425
|
+
|
|
1426
|
+
Чтобы упростить этот процесс, Intlayer предлагает [компилятор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/compiler.md) / [экстрактор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/cli/extract.md) для преобразования ваших компонентов и извлечения содержимого.
|
|
1427
|
+
|
|
1428
|
+
Чтобы настроить его, вы можете добавить раздел `compiler` в ваш файл `intlayer.config.ts`:
|
|
1429
|
+
|
|
1430
|
+
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
1431
|
+
import { type IntlayerConfig } from "intlayer";
|
|
1432
|
+
|
|
1433
|
+
const config: IntlayerConfig = {
|
|
1434
|
+
// ... Остальная часть вашей конфигурации
|
|
1435
|
+
compiler: {
|
|
1436
|
+
/**
|
|
1437
|
+
* Указывает, должен ли быть включен компилятор.
|
|
1438
|
+
*/
|
|
1439
|
+
enabled: true,
|
|
1440
|
+
|
|
1441
|
+
/**
|
|
1442
|
+
* Определяет путь к выходным файлам
|
|
1443
|
+
*/
|
|
1444
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1445
|
+
|
|
1446
|
+
/**
|
|
1447
|
+
* Указывает, должны ли компоненты сохраняться после преобразования. Таким образом, компилятор можно запустить только один раз для преобразования приложения, а затем удалить.
|
|
1448
|
+
*/
|
|
1449
|
+
saveComponents: false,
|
|
1450
|
+
|
|
1451
|
+
/**
|
|
1452
|
+
* Префикс ключа словаря
|
|
1453
|
+
*/
|
|
1454
|
+
dictionaryKeyPrefix: "",
|
|
1455
|
+
},
|
|
1456
|
+
};
|
|
1457
|
+
|
|
1458
|
+
export default config;
|
|
1459
|
+
```
|
|
1460
|
+
|
|
1461
|
+
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
1462
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
1463
|
+
const config = {
|
|
1464
|
+
// ... Остальная часть вашей конфигурации
|
|
1465
|
+
compiler: {
|
|
1466
|
+
/**
|
|
1467
|
+
* Указывает, должен ли быть включен компилятор.
|
|
1468
|
+
*/
|
|
1469
|
+
enabled: true,
|
|
1470
|
+
|
|
1471
|
+
/**
|
|
1472
|
+
* Определяет путь к выходным файлам
|
|
1473
|
+
*/
|
|
1474
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1475
|
+
|
|
1476
|
+
/**
|
|
1477
|
+
* Указывает, должны ли компоненты сохраняться после преобразования. Таким образом, компилятор можно запустить только один раз для преобразования приложения, а затем удалить.
|
|
1478
|
+
*/
|
|
1479
|
+
saveComponents: false,
|
|
1480
|
+
|
|
1481
|
+
/**
|
|
1482
|
+
* Префикс ключа словаря
|
|
1483
|
+
*/
|
|
1484
|
+
dictionaryKeyPrefix: "",
|
|
1485
|
+
},
|
|
1486
|
+
};
|
|
1487
|
+
|
|
1488
|
+
export default config;
|
|
1489
|
+
```
|
|
1490
|
+
|
|
1491
|
+
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
1492
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
1493
|
+
const config = {
|
|
1494
|
+
// ... Остальная часть вашей конфигурации
|
|
1495
|
+
compiler: {
|
|
1496
|
+
/**
|
|
1497
|
+
* Указывает, должен ли быть включен компилятор.
|
|
1498
|
+
*/
|
|
1499
|
+
enabled: true,
|
|
1500
|
+
|
|
1501
|
+
/**
|
|
1502
|
+
* Определяет путь к выходным файлам
|
|
1503
|
+
*/
|
|
1504
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1505
|
+
|
|
1506
|
+
/**
|
|
1507
|
+
* Указывает, должны ли компоненты сохраняться после преобразования. Таким образом, компилятор можно запустить только один раз для преобразования приложения, а затем удалить.
|
|
1508
|
+
*/
|
|
1509
|
+
saveComponents: false,
|
|
1510
|
+
|
|
1511
|
+
/**
|
|
1512
|
+
* Префикс ключа словаря
|
|
1513
|
+
*/
|
|
1514
|
+
dictionaryKeyPrefix: "",
|
|
1515
|
+
},
|
|
1516
|
+
};
|
|
1517
|
+
|
|
1518
|
+
module.exports = config;
|
|
1519
|
+
```
|
|
1520
|
+
|
|
1521
|
+
<Tabs>
|
|
1522
|
+
<Tab value='Команда извлечения'>
|
|
1523
|
+
|
|
1524
|
+
Запустите экстрактор для преобразования компонентов и извлечения содержимого
|
|
1525
|
+
|
|
1526
|
+
```bash packageManager="npm"
|
|
1527
|
+
npx intlayer extract
|
|
1528
|
+
```
|
|
1529
|
+
|
|
1530
|
+
```bash packageManager="pnpm"
|
|
1531
|
+
pnpm intlayer extract
|
|
1532
|
+
```
|
|
1533
|
+
|
|
1534
|
+
```bash packageManager="yarn"
|
|
1535
|
+
yarn intlayer extract
|
|
1536
|
+
```
|
|
1537
|
+
|
|
1538
|
+
```bash packageManager="bun"
|
|
1539
|
+
bunx intlayer extract
|
|
1540
|
+
```
|
|
1541
|
+
|
|
1542
|
+
</Tab>
|
|
1543
|
+
<Tab value='Компилятор Babel'>
|
|
1544
|
+
|
|
1545
|
+
Обновите ваш `vite.config.ts`, чтобы включить плагин `intlayerCompiler`:
|
|
1546
|
+
|
|
1547
|
+
```ts fileName="vite.config.ts"
|
|
1548
|
+
import { defineConfig } from "vite";
|
|
1549
|
+
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
1550
|
+
|
|
1551
|
+
export default defineConfig({
|
|
1552
|
+
plugins: [
|
|
1553
|
+
intlayer(),
|
|
1554
|
+
intlayerCompiler(), // Добавляет плагин компилятора
|
|
1555
|
+
],
|
|
1556
|
+
});
|
|
1557
|
+
```
|
|
1558
|
+
|
|
1559
|
+
```bash packageManager="npm"
|
|
1560
|
+
npm run build # Или npm run dev
|
|
1561
|
+
```
|
|
1562
|
+
|
|
1563
|
+
```bash packageManager="pnpm"
|
|
1564
|
+
pnpm run build # Or pnpm run dev
|
|
1565
|
+
```
|
|
1566
|
+
|
|
1567
|
+
```bash packageManager="yarn"
|
|
1568
|
+
yarn build # Or yarn dev
|
|
1569
|
+
```
|
|
1570
|
+
|
|
1571
|
+
```bash packageManager="bun"
|
|
1572
|
+
bun run build # Or bun run dev
|
|
1573
|
+
```
|
|
1574
|
+
|
|
1575
|
+
</Tab>
|
|
1576
|
+
</Tabs>
|
|
1577
|
+
|
|
1422
1578
|
### Продвинутые возможности
|
|
1423
1579
|
|
|
1424
1580
|
Для расширения возможностей вы можете реализовать [визуальный редактор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_visual_editor.md) или вынести ваш контент во внешний [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_CMS.md).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-04-18
|
|
3
|
-
updatedAt:
|
|
3
|
+
updatedAt: 2026-03-12
|
|
4
4
|
title: Vite + Solid i18n - Как перевести приложение Solid в 2026
|
|
5
5
|
description: Узнайте, как сделать ваш сайт на Vite и Solid многоязычным. Следуйте документации для интернационализации (i18n) и перевода.
|
|
6
6
|
keywords:
|
|
@@ -579,6 +579,162 @@ const MyComponent = () => {
|
|
|
579
579
|
|
|
580
580
|
---
|
|
581
581
|
|
|
582
|
+
### (Опционально) Шаг 1 : Извлечение содержимого ваших компонентов
|
|
583
|
+
|
|
584
|
+
Если у вас есть существующая кодовая база, преобразование тысяч файлов может занять много времени.
|
|
585
|
+
|
|
586
|
+
Чтобы упростить этот процесс, Intlayer предлагает [компилятор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/compiler.md) / [экстрактор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/cli/extract.md) для преобразования ваших компонентов и извлечения содержимого.
|
|
587
|
+
|
|
588
|
+
Чтобы настроить его, вы можете добавить раздел `compiler` в ваш файл `intlayer.config.ts`:
|
|
589
|
+
|
|
590
|
+
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
591
|
+
import { type IntlayerConfig } from "intlayer";
|
|
592
|
+
|
|
593
|
+
const config: IntlayerConfig = {
|
|
594
|
+
// ... Остальная часть вашей конфигурации
|
|
595
|
+
compiler: {
|
|
596
|
+
/**
|
|
597
|
+
* Указывает, должен ли быть включен компилятор.
|
|
598
|
+
*/
|
|
599
|
+
enabled: true,
|
|
600
|
+
|
|
601
|
+
/**
|
|
602
|
+
* Определяет путь к выходным файлам
|
|
603
|
+
*/
|
|
604
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
605
|
+
|
|
606
|
+
/**
|
|
607
|
+
* Указывает, должны ли компоненты сохраняться после преобразования. Таким образом, компилятор можно запустить только один раз для преобразования приложения, а затем удалить.
|
|
608
|
+
*/
|
|
609
|
+
saveComponents: false,
|
|
610
|
+
|
|
611
|
+
/**
|
|
612
|
+
* Префикс ключа словаря
|
|
613
|
+
*/
|
|
614
|
+
dictionaryKeyPrefix: "",
|
|
615
|
+
},
|
|
616
|
+
};
|
|
617
|
+
|
|
618
|
+
export default config;
|
|
619
|
+
```
|
|
620
|
+
|
|
621
|
+
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
622
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
623
|
+
const config = {
|
|
624
|
+
// ... Остальная часть вашей конфигурации
|
|
625
|
+
compiler: {
|
|
626
|
+
/**
|
|
627
|
+
* Указывает, должен ли быть включен компилятор.
|
|
628
|
+
*/
|
|
629
|
+
enabled: true,
|
|
630
|
+
|
|
631
|
+
/**
|
|
632
|
+
* Определяет путь к выходным файлам
|
|
633
|
+
*/
|
|
634
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
635
|
+
|
|
636
|
+
/**
|
|
637
|
+
* Указывает, должны ли компоненты сохраняться после преобразования. Таким образом, компилятор можно запустить только один раз для преобразования приложения, а затем удалить.
|
|
638
|
+
*/
|
|
639
|
+
saveComponents: false,
|
|
640
|
+
|
|
641
|
+
/**
|
|
642
|
+
* Префикс ключа словаря
|
|
643
|
+
*/
|
|
644
|
+
dictionaryKeyPrefix: "",
|
|
645
|
+
},
|
|
646
|
+
};
|
|
647
|
+
|
|
648
|
+
export default config;
|
|
649
|
+
```
|
|
650
|
+
|
|
651
|
+
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
652
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
653
|
+
const config = {
|
|
654
|
+
// ... Остальная часть вашей конфигурации
|
|
655
|
+
compiler: {
|
|
656
|
+
/**
|
|
657
|
+
* Указывает, должен ли быть включен компилятор.
|
|
658
|
+
*/
|
|
659
|
+
enabled: true,
|
|
660
|
+
|
|
661
|
+
/**
|
|
662
|
+
* Определяет путь к выходным файлам
|
|
663
|
+
*/
|
|
664
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
665
|
+
|
|
666
|
+
/**
|
|
667
|
+
* Указывает, должны ли компоненты сохраняться после преобразования. Таким образом, компилятор можно запустить только один раз для преобразования приложения, а затем удалить.
|
|
668
|
+
*/
|
|
669
|
+
saveComponents: false,
|
|
670
|
+
|
|
671
|
+
/**
|
|
672
|
+
* Префикс ключа словаря
|
|
673
|
+
*/
|
|
674
|
+
dictionaryKeyPrefix: "",
|
|
675
|
+
},
|
|
676
|
+
};
|
|
677
|
+
|
|
678
|
+
module.exports = config;
|
|
679
|
+
```
|
|
680
|
+
|
|
681
|
+
<Tabs>
|
|
682
|
+
<Tab value='Команда извлечения'>
|
|
683
|
+
|
|
684
|
+
Запустите экстрактор для преобразования компонентов и извлечения содержимого
|
|
685
|
+
|
|
686
|
+
```bash packageManager="npm"
|
|
687
|
+
npx intlayer extract
|
|
688
|
+
```
|
|
689
|
+
|
|
690
|
+
```bash packageManager="pnpm"
|
|
691
|
+
pnpm intlayer extract
|
|
692
|
+
```
|
|
693
|
+
|
|
694
|
+
```bash packageManager="yarn"
|
|
695
|
+
yarn intlayer extract
|
|
696
|
+
```
|
|
697
|
+
|
|
698
|
+
```bash packageManager="bun"
|
|
699
|
+
bunx intlayer extract
|
|
700
|
+
```
|
|
701
|
+
|
|
702
|
+
</Tab>
|
|
703
|
+
<Tab value='Компилятор Babel'>
|
|
704
|
+
|
|
705
|
+
Обновите ваш `vite.config.ts`, чтобы включить плагин `intlayerCompiler`:
|
|
706
|
+
|
|
707
|
+
```ts fileName="vite.config.ts"
|
|
708
|
+
import { defineConfig } from "vite";
|
|
709
|
+
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
710
|
+
|
|
711
|
+
export default defineConfig({
|
|
712
|
+
plugins: [
|
|
713
|
+
intlayer(),
|
|
714
|
+
intlayerCompiler(), // Добавляет плагин компилятора
|
|
715
|
+
],
|
|
716
|
+
});
|
|
717
|
+
```
|
|
718
|
+
|
|
719
|
+
```bash packageManager="npm"
|
|
720
|
+
npm run build # Или npm run dev
|
|
721
|
+
```
|
|
722
|
+
|
|
723
|
+
```bash packageManager="pnpm"
|
|
724
|
+
pnpm run build # Or pnpm run dev
|
|
725
|
+
```
|
|
726
|
+
|
|
727
|
+
```bash packageManager="yarn"
|
|
728
|
+
yarn build # Or yarn dev
|
|
729
|
+
```
|
|
730
|
+
|
|
731
|
+
```bash packageManager="bun"
|
|
732
|
+
bun run build # Or bun run dev
|
|
733
|
+
```
|
|
734
|
+
|
|
735
|
+
</Tab>
|
|
736
|
+
</Tabs>
|
|
737
|
+
|
|
582
738
|
### Продвинутые возможности
|
|
583
739
|
|
|
584
740
|
Для расширения возможностей вы можете реализовать [визуальный редактор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_visual_editor.md) или вынести ваш контент во внешний [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_CMS.md).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-04-18
|
|
3
|
-
updatedAt:
|
|
3
|
+
updatedAt: 2026-03-12
|
|
4
4
|
title: Vite + Svelte i18n - Как перевести приложение Svelte в 2026
|
|
5
5
|
description: Узнайте, как сделать ваш сайт на Vite и Svelte многоязычным. Следуйте документации для интернационализации (i18n) и перевода.
|
|
6
6
|
keywords:
|
|
@@ -496,6 +496,162 @@ const changeLocale = (event: Event) => {
|
|
|
496
496
|
|
|
497
497
|
---
|
|
498
498
|
|
|
499
|
+
### (Опционально) Шаг 1 : Извлечение содержимого ваших компонентов
|
|
500
|
+
|
|
501
|
+
Если у вас есть существующая кодовая база, преобразование тысяч файлов может занять много времени.
|
|
502
|
+
|
|
503
|
+
Чтобы упростить этот процесс, Intlayer предлагает [компилятор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/compiler.md) / [экстрактор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/cli/extract.md) для преобразования ваших компонентов и извлечения содержимого.
|
|
504
|
+
|
|
505
|
+
Чтобы настроить его, вы можете добавить раздел `compiler` в ваш файл `intlayer.config.ts`:
|
|
506
|
+
|
|
507
|
+
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
508
|
+
import { type IntlayerConfig } from "intlayer";
|
|
509
|
+
|
|
510
|
+
const config: IntlayerConfig = {
|
|
511
|
+
// ... Остальная часть вашей конфигурации
|
|
512
|
+
compiler: {
|
|
513
|
+
/**
|
|
514
|
+
* Указывает, должен ли быть включен компилятор.
|
|
515
|
+
*/
|
|
516
|
+
enabled: true,
|
|
517
|
+
|
|
518
|
+
/**
|
|
519
|
+
* Определяет путь к выходным файлам
|
|
520
|
+
*/
|
|
521
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
522
|
+
|
|
523
|
+
/**
|
|
524
|
+
* Указывает, должны ли компоненты сохраняться после преобразования. Таким образом, компилятор можно запустить только один раз для преобразования приложения, а затем удалить.
|
|
525
|
+
*/
|
|
526
|
+
saveComponents: false,
|
|
527
|
+
|
|
528
|
+
/**
|
|
529
|
+
* Префикс ключа словаря
|
|
530
|
+
*/
|
|
531
|
+
dictionaryKeyPrefix: "",
|
|
532
|
+
},
|
|
533
|
+
};
|
|
534
|
+
|
|
535
|
+
export default config;
|
|
536
|
+
```
|
|
537
|
+
|
|
538
|
+
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
539
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
540
|
+
const config = {
|
|
541
|
+
// ... Остальная часть вашей конфигурации
|
|
542
|
+
compiler: {
|
|
543
|
+
/**
|
|
544
|
+
* Указывает, должен ли быть включен компилятор.
|
|
545
|
+
*/
|
|
546
|
+
enabled: true,
|
|
547
|
+
|
|
548
|
+
/**
|
|
549
|
+
* Определяет путь к выходным файлам
|
|
550
|
+
*/
|
|
551
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
552
|
+
|
|
553
|
+
/**
|
|
554
|
+
* Указывает, должны ли компоненты сохраняться после преобразования. Таким образом, компилятор можно запустить только один раз для преобразования приложения, а затем удалить.
|
|
555
|
+
*/
|
|
556
|
+
saveComponents: false,
|
|
557
|
+
|
|
558
|
+
/**
|
|
559
|
+
* Префикс ключа словаря
|
|
560
|
+
*/
|
|
561
|
+
dictionaryKeyPrefix: "",
|
|
562
|
+
},
|
|
563
|
+
};
|
|
564
|
+
|
|
565
|
+
export default config;
|
|
566
|
+
```
|
|
567
|
+
|
|
568
|
+
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
569
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
570
|
+
const config = {
|
|
571
|
+
// ... Остальная часть вашей конфигурации
|
|
572
|
+
compiler: {
|
|
573
|
+
/**
|
|
574
|
+
* Указывает, должен ли быть включен компилятор.
|
|
575
|
+
*/
|
|
576
|
+
enabled: true,
|
|
577
|
+
|
|
578
|
+
/**
|
|
579
|
+
* Определяет путь к выходным файлам
|
|
580
|
+
*/
|
|
581
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
582
|
+
|
|
583
|
+
/**
|
|
584
|
+
* Указывает, должны ли компоненты сохраняться после преобразования. Таким образом, компилятор можно запустить только один раз для преобразования приложения, а затем удалить.
|
|
585
|
+
*/
|
|
586
|
+
saveComponents: false,
|
|
587
|
+
|
|
588
|
+
/**
|
|
589
|
+
* Префикс ключа словаря
|
|
590
|
+
*/
|
|
591
|
+
dictionaryKeyPrefix: "",
|
|
592
|
+
},
|
|
593
|
+
};
|
|
594
|
+
|
|
595
|
+
module.exports = config;
|
|
596
|
+
```
|
|
597
|
+
|
|
598
|
+
<Tabs>
|
|
599
|
+
<Tab value='Команда извлечения'>
|
|
600
|
+
|
|
601
|
+
Запустите экстрактор для преобразования компонентов и извлечения содержимого
|
|
602
|
+
|
|
603
|
+
```bash packageManager="npm"
|
|
604
|
+
npx intlayer extract
|
|
605
|
+
```
|
|
606
|
+
|
|
607
|
+
```bash packageManager="pnpm"
|
|
608
|
+
pnpm intlayer extract
|
|
609
|
+
```
|
|
610
|
+
|
|
611
|
+
```bash packageManager="yarn"
|
|
612
|
+
yarn intlayer extract
|
|
613
|
+
```
|
|
614
|
+
|
|
615
|
+
```bash packageManager="bun"
|
|
616
|
+
bunx intlayer extract
|
|
617
|
+
```
|
|
618
|
+
|
|
619
|
+
</Tab>
|
|
620
|
+
<Tab value='Компилятор Babel'>
|
|
621
|
+
|
|
622
|
+
Обновите ваш `vite.config.ts`, чтобы включить плагин `intlayerCompiler`:
|
|
623
|
+
|
|
624
|
+
```ts fileName="vite.config.ts"
|
|
625
|
+
import { defineConfig } from "vite";
|
|
626
|
+
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
627
|
+
|
|
628
|
+
export default defineConfig({
|
|
629
|
+
plugins: [
|
|
630
|
+
intlayer(),
|
|
631
|
+
intlayerCompiler(), // Добавляет плагин компилятора
|
|
632
|
+
],
|
|
633
|
+
});
|
|
634
|
+
```
|
|
635
|
+
|
|
636
|
+
```bash packageManager="npm"
|
|
637
|
+
npm run build # Или npm run dev
|
|
638
|
+
```
|
|
639
|
+
|
|
640
|
+
```bash packageManager="pnpm"
|
|
641
|
+
pnpm run build # Or pnpm run dev
|
|
642
|
+
```
|
|
643
|
+
|
|
644
|
+
```bash packageManager="yarn"
|
|
645
|
+
yarn build # Or yarn dev
|
|
646
|
+
```
|
|
647
|
+
|
|
648
|
+
```bash packageManager="bun"
|
|
649
|
+
bun run build # Or bun run dev
|
|
650
|
+
```
|
|
651
|
+
|
|
652
|
+
</Tab>
|
|
653
|
+
</Tabs>
|
|
654
|
+
|
|
499
655
|
### Продвинуться дальше
|
|
500
656
|
|
|
501
657
|
Чтобы продвинуться дальше, вы можете реализовать [визуальный редактор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_visual_editor.md) или вынести ваш контент, используя [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_CMS.md).
|