@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-09-04
|
|
3
|
-
updatedAt:
|
|
3
|
+
updatedAt: 2026-03-12
|
|
4
4
|
title: React Router v7 i18n - Як перекласти додаток React Router v7 у 2026
|
|
5
5
|
description: Дізнайтеся, як додати інтернаціоналізацію (i18n) до вашого застосунку на React Router v7 за допомогою Intlayer. Дотримуйтеся цього вичерпного посібника, щоб зробити ваш застосунок багатомовним із маршрутизацією, що враховує локаль.
|
|
6
6
|
keywords:
|
|
@@ -517,6 +517,229 @@ export default function RootLayout() {
|
|
|
517
517
|
}
|
|
518
518
|
```
|
|
519
519
|
|
|
520
|
+
### (Необов'язково) Крок 1 : Витягніть вміст ваших компонентів
|
|
521
|
+
|
|
522
|
+
Якщо у вас є існуюча кодова база, перетворення тисяч файлів може зайняти багато часу.
|
|
523
|
+
|
|
524
|
+
Щоб спростити цей процес, Intlayer пропонує [компілятор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/compiler.md) / [екстрактор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/cli/extract.md) для перетворення ваших компонентів і витягування вмісту.
|
|
525
|
+
|
|
526
|
+
Щоб налаштувати його, ви можете додати розділ `compiler` у свій файл `intlayer.config.ts`:
|
|
527
|
+
|
|
528
|
+
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
529
|
+
import { type IntlayerConfig } from "intlayer";
|
|
530
|
+
|
|
531
|
+
const config: IntlayerConfig = {
|
|
532
|
+
// ... Інша частина вашої конфігурації
|
|
533
|
+
compiler: {
|
|
534
|
+
/**
|
|
535
|
+
* Вказує, чи повинен бути включений компілятор.
|
|
536
|
+
*/
|
|
537
|
+
enabled: true,
|
|
538
|
+
|
|
539
|
+
/**
|
|
540
|
+
* Визначає шлях до вихідних файлів
|
|
541
|
+
*/
|
|
542
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
543
|
+
|
|
544
|
+
/**
|
|
545
|
+
* Вказує, чи повинні компоненти зберігатися після перетворення. Таким чином, компілятор можна запустити лише один раз для перетворення програми, а потім видалити.
|
|
546
|
+
*/
|
|
547
|
+
saveComponents: false,
|
|
548
|
+
|
|
549
|
+
/**
|
|
550
|
+
* Префікс ключа словника
|
|
551
|
+
*/
|
|
552
|
+
dictionaryKeyPrefix: "",
|
|
553
|
+
},
|
|
554
|
+
};
|
|
555
|
+
|
|
556
|
+
export default config;
|
|
557
|
+
```
|
|
558
|
+
|
|
559
|
+
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
560
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
561
|
+
const config = {
|
|
562
|
+
// ... Інша частина вашої конфігурації
|
|
563
|
+
compiler: {
|
|
564
|
+
/**
|
|
565
|
+
* Вказує, чи повинен бути включений компілятор.
|
|
566
|
+
*/
|
|
567
|
+
enabled: true,
|
|
568
|
+
|
|
569
|
+
/**
|
|
570
|
+
* Визначає шлях до вихідних файлів
|
|
571
|
+
*/
|
|
572
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
573
|
+
|
|
574
|
+
/**
|
|
575
|
+
* Вказує, чи повинні компоненти зберігатися після перетворення. Таким чином, компілятор можна запустити лише один раз для перетворення програми, а потім видалити.
|
|
576
|
+
*/
|
|
577
|
+
saveComponents: false,
|
|
578
|
+
|
|
579
|
+
/**
|
|
580
|
+
* Префікс ключа словника
|
|
581
|
+
*/
|
|
582
|
+
dictionaryKeyPrefix: "",
|
|
583
|
+
},
|
|
584
|
+
};
|
|
585
|
+
|
|
586
|
+
export default config;
|
|
587
|
+
```
|
|
588
|
+
|
|
589
|
+
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
590
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
591
|
+
const config = {
|
|
592
|
+
// ... Інша частина вашої конфігурації
|
|
593
|
+
compiler: {
|
|
594
|
+
/**
|
|
595
|
+
* Вказує, чи повинен бути включений компілятор.
|
|
596
|
+
*/
|
|
597
|
+
enabled: true,
|
|
598
|
+
|
|
599
|
+
/**
|
|
600
|
+
* Визначає шлях до вихідних файлів
|
|
601
|
+
*/
|
|
602
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
603
|
+
|
|
604
|
+
/**
|
|
605
|
+
* Вказує, чи повинні компоненти зберігатися після перетворення. Таким чином, компілятор можна запустити лише один раз для перетворення програми, а потім видалити.
|
|
606
|
+
*/
|
|
607
|
+
saveComponents: false,
|
|
608
|
+
|
|
609
|
+
/**
|
|
610
|
+
* Префікс ключа словника
|
|
611
|
+
*/
|
|
612
|
+
dictionaryKeyPrefix: "",
|
|
613
|
+
},
|
|
614
|
+
};
|
|
615
|
+
|
|
616
|
+
module.exports = config;
|
|
617
|
+
```
|
|
618
|
+
|
|
619
|
+
<Tabs>
|
|
620
|
+
<Tab value='Команда витягування'>
|
|
621
|
+
|
|
622
|
+
Запустіть екстрактор для перетворення компонентів і витягування вмісту
|
|
623
|
+
|
|
624
|
+
```bash packageManager="npm"
|
|
625
|
+
npx intlayer extract
|
|
626
|
+
```
|
|
627
|
+
|
|
628
|
+
```bash packageManager="pnpm"
|
|
629
|
+
pnpm intlayer extract
|
|
630
|
+
```
|
|
631
|
+
|
|
632
|
+
```bash packageManager="yarn"
|
|
633
|
+
yarn intlayer extract
|
|
634
|
+
```
|
|
635
|
+
|
|
636
|
+
```bash packageManager="bun"
|
|
637
|
+
bunx intlayer extract
|
|
638
|
+
```
|
|
639
|
+
|
|
640
|
+
</Tab>
|
|
641
|
+
<Tab value='Компілятор Babel'>
|
|
642
|
+
|
|
643
|
+
Оновіть свій `vite.config.ts`, щоб включити плагін `intlayerCompiler`:
|
|
644
|
+
|
|
645
|
+
```ts fileName="vite.config.ts"
|
|
646
|
+
import { defineConfig } from "vite";
|
|
647
|
+
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
648
|
+
|
|
649
|
+
export default defineConfig({
|
|
650
|
+
plugins: [
|
|
651
|
+
intlayer(),
|
|
652
|
+
intlayerCompiler(), // Додає плагін компілятора
|
|
653
|
+
],
|
|
654
|
+
});
|
|
655
|
+
```
|
|
656
|
+
|
|
657
|
+
```bash packageManager="npm"
|
|
658
|
+
npm run build # Або npm run dev
|
|
659
|
+
```
|
|
660
|
+
|
|
661
|
+
```bash packageManager="pnpm"
|
|
662
|
+
pnpm run build # Or pnpm run dev
|
|
663
|
+
```
|
|
664
|
+
|
|
665
|
+
```bash packageManager="yarn"
|
|
666
|
+
yarn build # Or yarn dev
|
|
667
|
+
```
|
|
668
|
+
|
|
669
|
+
```bash packageManager="bun"
|
|
670
|
+
bun run build # Or bun run dev
|
|
671
|
+
```
|
|
672
|
+
|
|
673
|
+
</Tab>
|
|
674
|
+
</Tabs>
|
|
675
|
+
|
|
676
|
+
---
|
|
677
|
+
|
|
678
|
+
## Configure TypeScript
|
|
679
|
+
|
|
680
|
+
Intlayer uses module augmentation to get benefits of TypeScript and make your codebase stronger.
|
|
681
|
+
|
|
682
|
+
Ensure your TypeScript configuration includes the autogenerated types:
|
|
683
|
+
|
|
684
|
+
```json5 fileName="tsconfig.json"
|
|
685
|
+
{
|
|
686
|
+
// ... your existing configurations
|
|
687
|
+
include: [
|
|
688
|
+
// ... your existing includes
|
|
689
|
+
".intlayer/**/*.ts", // Include the auto-generated types
|
|
690
|
+
],
|
|
691
|
+
}
|
|
692
|
+
```
|
|
693
|
+
|
|
694
|
+
---
|
|
695
|
+
|
|
696
|
+
## Git Configuration
|
|
697
|
+
|
|
698
|
+
It is recommended to ignore the files generated by Intlayer. This allows you to avoid committing them to your Git repository.
|
|
699
|
+
|
|
700
|
+
To do this, you can add the following instructions to your `.gitignore` file:
|
|
701
|
+
|
|
702
|
+
```plaintext fileName=".gitignore"
|
|
703
|
+
# Ignore the files generated by Intlayer
|
|
704
|
+
.intlayer
|
|
705
|
+
```
|
|
706
|
+
|
|
707
|
+
---
|
|
708
|
+
|
|
709
|
+
## VS Code Extension
|
|
710
|
+
|
|
711
|
+
To improve your development experience with Intlayer, you can install the official **Intlayer VS Code Extension**.
|
|
712
|
+
|
|
713
|
+
[Install from the VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
|
|
714
|
+
|
|
715
|
+
This extension provides:
|
|
716
|
+
|
|
717
|
+
- **Autocompletion** for translation keys.
|
|
718
|
+
- **Real-time error detection** for missing translations.
|
|
719
|
+
- **Inline previews** of translated content.
|
|
720
|
+
- **Quick actions** to easily create and update translations.
|
|
721
|
+
|
|
722
|
+
For more details on how to use the extension, refer to the [Intlayer VS Code Extension documentation](https://intlayer.org/doc/vs-code-extension).
|
|
723
|
+
|
|
724
|
+
---
|
|
725
|
+
|
|
726
|
+
## Go Further
|
|
727
|
+
|
|
728
|
+
To go further, you can implement the [visual editor](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_visual_editor.md) or externalize your content using the [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md).
|
|
729
|
+
|
|
730
|
+
---
|
|
731
|
+
|
|
732
|
+
## Documentation References
|
|
733
|
+
|
|
734
|
+
- [Intlayer Documentation](https://intlayer.org)
|
|
735
|
+
- [React Router v7 Documentation](https://reactrouter.com/)
|
|
736
|
+
- [useIntlayer hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/react-intlayer/useIntlayer.md)
|
|
737
|
+
- [useLocale hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/react-intlayer/useLocale.md)
|
|
738
|
+
- [Content Declaration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md)
|
|
739
|
+
- [Configuration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/configuration.md)
|
|
740
|
+
|
|
741
|
+
This comprehensive guide provides everything you need to integrate Intlayer with React Router v7 for a fully internationalized application with locale-aware routing and TypeScript support.
|
|
742
|
+
|
|
520
743
|
### Крок 11: Додати middleware (необов'язково)
|
|
521
744
|
|
|
522
745
|
Ви також можете використовувати `intlayerProxy` для додавання маршрутизації на серверній стороні у ваш застосунок. Цей плагін автоматично визначає поточну locale на основі URL і встановлює відповідний cookie для locale. Якщо locale не вказано, плагін визначить найбільш підходящу locale на основі мовних налаштувань браузера користувача. Якщо ж жодну locale не буде виявлено, відбудеться перенаправлення на локаль за замовчуванням.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-12-07
|
|
3
|
-
updatedAt:
|
|
3
|
+
updatedAt: 2026-03-12
|
|
4
4
|
title: React Router v7 i18n - Як перекласти додаток React Router v7 у 2026
|
|
5
5
|
description: Дізнайтеся, як додати інтернаціоналізацію (i18n) до вашого додатка на React Router v7 за допомогою Intlayer і маршрутизації на основі файлової системи. Дотримуйтеся цього вичерпного керівництва, щоб зробити ваш додаток багатомовним із локалізованою маршрутизацією.
|
|
6
6
|
keywords:
|
|
@@ -585,6 +585,230 @@ export const useI18nHTMLAttributes = () => {
|
|
|
585
585
|
|
|
586
586
|
Цей хук уже використовується в компоненті макета (`($locale)._layout.tsx`), показаному в кроці 5.
|
|
587
587
|
|
|
588
|
+
### (Необов'язково) Крок 1 : Витягніть вміст ваших компонентів
|
|
589
|
+
|
|
590
|
+
Якщо у вас є існуюча кодова база, перетворення тисяч файлів може зайняти багато часу.
|
|
591
|
+
|
|
592
|
+
Щоб спростити цей процес, Intlayer пропонує [компілятор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/compiler.md) / [екстрактор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/cli/extract.md) для перетворення ваших компонентів і витягування вмісту.
|
|
593
|
+
|
|
594
|
+
Щоб налаштувати його, ви можете додати розділ `compiler` у свій файл `intlayer.config.ts`:
|
|
595
|
+
|
|
596
|
+
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
597
|
+
import { type IntlayerConfig } from "intlayer";
|
|
598
|
+
|
|
599
|
+
const config: IntlayerConfig = {
|
|
600
|
+
// ... Інша частина вашої конфігурації
|
|
601
|
+
compiler: {
|
|
602
|
+
/**
|
|
603
|
+
* Вказує, чи повинен бути включений компілятор.
|
|
604
|
+
*/
|
|
605
|
+
enabled: true,
|
|
606
|
+
|
|
607
|
+
/**
|
|
608
|
+
* Визначає шлях до вихідних файлів
|
|
609
|
+
*/
|
|
610
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
611
|
+
|
|
612
|
+
/**
|
|
613
|
+
* Вказує, чи повинні компоненти зберігатися після перетворення. Таким чином, компілятор можна запустити лише один раз для перетворення програми, а потім видалити.
|
|
614
|
+
*/
|
|
615
|
+
saveComponents: false,
|
|
616
|
+
|
|
617
|
+
/**
|
|
618
|
+
* Префікс ключа словника
|
|
619
|
+
*/
|
|
620
|
+
dictionaryKeyPrefix: "",
|
|
621
|
+
},
|
|
622
|
+
};
|
|
623
|
+
|
|
624
|
+
export default config;
|
|
625
|
+
```
|
|
626
|
+
|
|
627
|
+
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
628
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
629
|
+
const config = {
|
|
630
|
+
// ... Інша частина вашої конфігурації
|
|
631
|
+
compiler: {
|
|
632
|
+
/**
|
|
633
|
+
* Вказує, чи повинен бути включений компілятор.
|
|
634
|
+
*/
|
|
635
|
+
enabled: true,
|
|
636
|
+
|
|
637
|
+
/**
|
|
638
|
+
* Визначає шлях до вихідних файлів
|
|
639
|
+
*/
|
|
640
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
641
|
+
|
|
642
|
+
/**
|
|
643
|
+
* Вказує, чи повинні компоненти зберігатися після перетворення. Таким чином, компілятор можна запустити лише один раз для перетворення програми, а потім видалити.
|
|
644
|
+
*/
|
|
645
|
+
saveComponents: false,
|
|
646
|
+
|
|
647
|
+
/**
|
|
648
|
+
* Префікс ключа словника
|
|
649
|
+
*/
|
|
650
|
+
dictionaryKeyPrefix: "",
|
|
651
|
+
},
|
|
652
|
+
};
|
|
653
|
+
|
|
654
|
+
export default config;
|
|
655
|
+
```
|
|
656
|
+
|
|
657
|
+
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
658
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
659
|
+
const config = {
|
|
660
|
+
// ... Інша частина вашої конфігурації
|
|
661
|
+
compiler: {
|
|
662
|
+
/**
|
|
663
|
+
* Вказує, чи повинен бути включений компілятор.
|
|
664
|
+
*/
|
|
665
|
+
enabled: true,
|
|
666
|
+
|
|
667
|
+
/**
|
|
668
|
+
* Визначає шлях до вихідних файлів
|
|
669
|
+
*/
|
|
670
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
671
|
+
|
|
672
|
+
/**
|
|
673
|
+
* Вказує, чи повинні компоненти зберігатися після перетворення. Таким чином, компілятор можна запустити лише один раз для перетворення програми, а потім видалити.
|
|
674
|
+
*/
|
|
675
|
+
saveComponents: false,
|
|
676
|
+
|
|
677
|
+
/**
|
|
678
|
+
* Префікс ключа словника
|
|
679
|
+
*/
|
|
680
|
+
dictionaryKeyPrefix: "",
|
|
681
|
+
},
|
|
682
|
+
};
|
|
683
|
+
|
|
684
|
+
module.exports = config;
|
|
685
|
+
```
|
|
686
|
+
|
|
687
|
+
<Tabs>
|
|
688
|
+
<Tab value='Команда витягування'>
|
|
689
|
+
|
|
690
|
+
Запустіть екстрактор для перетворення компонентів і витягування вмісту
|
|
691
|
+
|
|
692
|
+
```bash packageManager="npm"
|
|
693
|
+
npx intlayer extract
|
|
694
|
+
```
|
|
695
|
+
|
|
696
|
+
```bash packageManager="pnpm"
|
|
697
|
+
pnpm intlayer extract
|
|
698
|
+
```
|
|
699
|
+
|
|
700
|
+
```bash packageManager="yarn"
|
|
701
|
+
yarn intlayer extract
|
|
702
|
+
```
|
|
703
|
+
|
|
704
|
+
```bash packageManager="bun"
|
|
705
|
+
bunx intlayer extract
|
|
706
|
+
```
|
|
707
|
+
|
|
708
|
+
</Tab>
|
|
709
|
+
<Tab value='Компілятор Babel'>
|
|
710
|
+
|
|
711
|
+
Оновіть свій `vite.config.ts`, щоб включити плагін `intlayerCompiler`:
|
|
712
|
+
|
|
713
|
+
```ts fileName="vite.config.ts"
|
|
714
|
+
import { defineConfig } from "vite";
|
|
715
|
+
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
716
|
+
|
|
717
|
+
export default defineConfig({
|
|
718
|
+
plugins: [
|
|
719
|
+
intlayer(),
|
|
720
|
+
intlayerCompiler(), // Додає плагін компілятора
|
|
721
|
+
],
|
|
722
|
+
});
|
|
723
|
+
```
|
|
724
|
+
|
|
725
|
+
```bash packageManager="npm"
|
|
726
|
+
npm run build # Або npm run dev
|
|
727
|
+
```
|
|
728
|
+
|
|
729
|
+
```bash packageManager="pnpm"
|
|
730
|
+
pnpm run build # Or pnpm run dev
|
|
731
|
+
```
|
|
732
|
+
|
|
733
|
+
```bash packageManager="yarn"
|
|
734
|
+
yarn build # Or yarn dev
|
|
735
|
+
```
|
|
736
|
+
|
|
737
|
+
```bash packageManager="bun"
|
|
738
|
+
bun run build # Or bun run dev
|
|
739
|
+
```
|
|
740
|
+
|
|
741
|
+
</Tab>
|
|
742
|
+
</Tabs>
|
|
743
|
+
|
|
744
|
+
---
|
|
745
|
+
|
|
746
|
+
## Configure TypeScript
|
|
747
|
+
|
|
748
|
+
Intlayer uses module augmentation to get benefits of TypeScript and make your codebase stronger.
|
|
749
|
+
|
|
750
|
+
Ensure your TypeScript configuration includes the autogenerated types:
|
|
751
|
+
|
|
752
|
+
```json5 fileName="tsconfig.json"
|
|
753
|
+
{
|
|
754
|
+
// ... your existing configurations
|
|
755
|
+
include: [
|
|
756
|
+
// ... your existing includes
|
|
757
|
+
".intlayer/**/*.ts", // Include the auto-generated types
|
|
758
|
+
],
|
|
759
|
+
}
|
|
760
|
+
```
|
|
761
|
+
|
|
762
|
+
---
|
|
763
|
+
|
|
764
|
+
## Git Configuration
|
|
765
|
+
|
|
766
|
+
It is recommended to ignore the files generated by Intlayer. This allows you to avoid committing them to your Git repository.
|
|
767
|
+
|
|
768
|
+
To do this, you can add the following instructions to your `.gitignore` file:
|
|
769
|
+
|
|
770
|
+
```plaintext fileName=".gitignore"
|
|
771
|
+
# Ignore the files generated by Intlayer
|
|
772
|
+
.intlayer
|
|
773
|
+
```
|
|
774
|
+
|
|
775
|
+
---
|
|
776
|
+
|
|
777
|
+
## VS Code Extension
|
|
778
|
+
|
|
779
|
+
To improve your development experience with Intlayer, you can install the official **Intlayer VS Code Extension**.
|
|
780
|
+
|
|
781
|
+
[Install from the VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
|
|
782
|
+
|
|
783
|
+
This extension provides:
|
|
784
|
+
|
|
785
|
+
- **Autocompletion** for translation keys.
|
|
786
|
+
- **Real-time error detection** for missing translations.
|
|
787
|
+
- **Inline previews** of translated content.
|
|
788
|
+
- **Quick actions** to easily create and update translations.
|
|
789
|
+
|
|
790
|
+
For more details on how to use the extension, refer to the [Intlayer VS Code Extension documentation](https://intlayer.org/doc/vs-code-extension).
|
|
791
|
+
|
|
792
|
+
---
|
|
793
|
+
|
|
794
|
+
## Go Further
|
|
795
|
+
|
|
796
|
+
To go further, you can implement the [visual editor](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_visual_editor.md) or externalize your content using the [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md).
|
|
797
|
+
|
|
798
|
+
---
|
|
799
|
+
|
|
800
|
+
## Documentation References
|
|
801
|
+
|
|
802
|
+
- [Intlayer Documentation](https://intlayer.org)
|
|
803
|
+
- [React Router v7 Documentation](https://reactrouter.com/)
|
|
804
|
+
- [React Router fs-routes Documentation](https://reactrouter.com/how-to/file-route-conventions)
|
|
805
|
+
- [useIntlayer hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/react-intlayer/useIntlayer.md)
|
|
806
|
+
- [useLocale hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/react-intlayer/useLocale.md)
|
|
807
|
+
- [Content Declaration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md)
|
|
808
|
+
- [Configuration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/configuration.md)
|
|
809
|
+
|
|
810
|
+
This comprehensive guide provides everything you need to integrate Intlayer with React Router v7 using file-system based routing for a fully internationalized application with locale-aware routing and TypeScript support.
|
|
811
|
+
|
|
588
812
|
### Крок 10: Додати middleware (необов'язково)
|
|
589
813
|
|
|
590
814
|
Ви також можете використовувати `intlayerProxy` для додавання server-side routing до вашого додатка. Цей плагін автоматично визначатиме поточну локаль за URL і встановлюватиме відповідний cookie локалі. Якщо локаль явно не вказана, плагін підбере найвідповіднішу локаль на основі мовних налаштувань браузера користувача. Якщо локаль не буде виявлена, він перенаправить на локаль за замовчуванням.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-11-20
|
|
3
|
-
updatedAt:
|
|
3
|
+
updatedAt: 2026-03-12
|
|
4
4
|
title: SvelteKit i18n - Як перекласти додаток SvelteKit у 2026
|
|
5
5
|
description: Дізнайтеся, як зробити ваш вебсайт на SvelteKit багатомовним. Дотримуйтесь документації, щоб інтернаціоналізувати (i18n) та перекласти його з використанням Server-Side Rendering (SSR).
|
|
6
6
|
keywords:
|
|
@@ -573,6 +573,162 @@ export default defineConfig({
|
|
|
573
573
|
|
|
574
574
|
---
|
|
575
575
|
|
|
576
|
+
### (Необов'язково) Крок 1 : Витягніть вміст ваших компонентів
|
|
577
|
+
|
|
578
|
+
Якщо у вас є існуюча кодова база, перетворення тисяч файлів може зайняти багато часу.
|
|
579
|
+
|
|
580
|
+
Щоб спростити цей процес, Intlayer пропонує [компілятор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/compiler.md) / [екстрактор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/cli/extract.md) для перетворення ваших компонентів і витягування вмісту.
|
|
581
|
+
|
|
582
|
+
Щоб налаштувати його, ви можете додати розділ `compiler` у свій файл `intlayer.config.ts`:
|
|
583
|
+
|
|
584
|
+
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
585
|
+
import { type IntlayerConfig } from "intlayer";
|
|
586
|
+
|
|
587
|
+
const config: IntlayerConfig = {
|
|
588
|
+
// ... Інша частина вашої конфігурації
|
|
589
|
+
compiler: {
|
|
590
|
+
/**
|
|
591
|
+
* Вказує, чи повинен бути включений компілятор.
|
|
592
|
+
*/
|
|
593
|
+
enabled: true,
|
|
594
|
+
|
|
595
|
+
/**
|
|
596
|
+
* Визначає шлях до вихідних файлів
|
|
597
|
+
*/
|
|
598
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
599
|
+
|
|
600
|
+
/**
|
|
601
|
+
* Вказує, чи повинні компоненти зберігатися після перетворення. Таким чином, компілятор можна запустити лише один раз для перетворення програми, а потім видалити.
|
|
602
|
+
*/
|
|
603
|
+
saveComponents: false,
|
|
604
|
+
|
|
605
|
+
/**
|
|
606
|
+
* Префікс ключа словника
|
|
607
|
+
*/
|
|
608
|
+
dictionaryKeyPrefix: "",
|
|
609
|
+
},
|
|
610
|
+
};
|
|
611
|
+
|
|
612
|
+
export default config;
|
|
613
|
+
```
|
|
614
|
+
|
|
615
|
+
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
616
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
617
|
+
const config = {
|
|
618
|
+
// ... Інша частина вашої конфігурації
|
|
619
|
+
compiler: {
|
|
620
|
+
/**
|
|
621
|
+
* Вказує, чи повинен бути включений компілятор.
|
|
622
|
+
*/
|
|
623
|
+
enabled: true,
|
|
624
|
+
|
|
625
|
+
/**
|
|
626
|
+
* Визначає шлях до вихідних файлів
|
|
627
|
+
*/
|
|
628
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
629
|
+
|
|
630
|
+
/**
|
|
631
|
+
* Вказує, чи повинні компоненти зберігатися після перетворення. Таким чином, компілятор можна запустити лише один раз для перетворення програми, а потім видалити.
|
|
632
|
+
*/
|
|
633
|
+
saveComponents: false,
|
|
634
|
+
|
|
635
|
+
/**
|
|
636
|
+
* Префікс ключа словника
|
|
637
|
+
*/
|
|
638
|
+
dictionaryKeyPrefix: "",
|
|
639
|
+
},
|
|
640
|
+
};
|
|
641
|
+
|
|
642
|
+
export default config;
|
|
643
|
+
```
|
|
644
|
+
|
|
645
|
+
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
646
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
647
|
+
const config = {
|
|
648
|
+
// ... Інша частина вашої конфігурації
|
|
649
|
+
compiler: {
|
|
650
|
+
/**
|
|
651
|
+
* Вказує, чи повинен бути включений компілятор.
|
|
652
|
+
*/
|
|
653
|
+
enabled: true,
|
|
654
|
+
|
|
655
|
+
/**
|
|
656
|
+
* Визначає шлях до вихідних файлів
|
|
657
|
+
*/
|
|
658
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
659
|
+
|
|
660
|
+
/**
|
|
661
|
+
* Вказує, чи повинні компоненти зберігатися після перетворення. Таким чином, компілятор можна запустити лише один раз для перетворення програми, а потім видалити.
|
|
662
|
+
*/
|
|
663
|
+
saveComponents: false,
|
|
664
|
+
|
|
665
|
+
/**
|
|
666
|
+
* Префікс ключа словника
|
|
667
|
+
*/
|
|
668
|
+
dictionaryKeyPrefix: "",
|
|
669
|
+
},
|
|
670
|
+
};
|
|
671
|
+
|
|
672
|
+
module.exports = config;
|
|
673
|
+
```
|
|
674
|
+
|
|
675
|
+
<Tabs>
|
|
676
|
+
<Tab value='Команда витягування'>
|
|
677
|
+
|
|
678
|
+
Запустіть екстрактор для перетворення компонентів і витягування вмісту
|
|
679
|
+
|
|
680
|
+
```bash packageManager="npm"
|
|
681
|
+
npx intlayer extract
|
|
682
|
+
```
|
|
683
|
+
|
|
684
|
+
```bash packageManager="pnpm"
|
|
685
|
+
pnpm intlayer extract
|
|
686
|
+
```
|
|
687
|
+
|
|
688
|
+
```bash packageManager="yarn"
|
|
689
|
+
yarn intlayer extract
|
|
690
|
+
```
|
|
691
|
+
|
|
692
|
+
```bash packageManager="bun"
|
|
693
|
+
bunx intlayer extract
|
|
694
|
+
```
|
|
695
|
+
|
|
696
|
+
</Tab>
|
|
697
|
+
<Tab value='Компілятор Babel'>
|
|
698
|
+
|
|
699
|
+
Оновіть свій `vite.config.ts`, щоб включити плагін `intlayerCompiler`:
|
|
700
|
+
|
|
701
|
+
```ts fileName="vite.config.ts"
|
|
702
|
+
import { defineConfig } from "vite";
|
|
703
|
+
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
704
|
+
|
|
705
|
+
export default defineConfig({
|
|
706
|
+
plugins: [
|
|
707
|
+
intlayer(),
|
|
708
|
+
intlayerCompiler(), // Додає плагін компілятора
|
|
709
|
+
],
|
|
710
|
+
});
|
|
711
|
+
```
|
|
712
|
+
|
|
713
|
+
```bash packageManager="npm"
|
|
714
|
+
npm run build # Або npm run dev
|
|
715
|
+
```
|
|
716
|
+
|
|
717
|
+
```bash packageManager="pnpm"
|
|
718
|
+
pnpm run build # Or pnpm run dev
|
|
719
|
+
```
|
|
720
|
+
|
|
721
|
+
```bash packageManager="yarn"
|
|
722
|
+
yarn build # Or yarn dev
|
|
723
|
+
```
|
|
724
|
+
|
|
725
|
+
```bash packageManager="bun"
|
|
726
|
+
bun run build # Or bun run dev
|
|
727
|
+
```
|
|
728
|
+
|
|
729
|
+
</Tab>
|
|
730
|
+
</Tabs>
|
|
731
|
+
|
|
576
732
|
### Далі
|
|
577
733
|
|
|
578
734
|
- **Visual Editor**: Інтегруйте [Intlayer Visual Editor](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_visual_editor.md), щоб редагувати переклади безпосередньо з UI.
|