@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-07
|
|
3
|
-
updatedAt:
|
|
3
|
+
updatedAt: 2026-03-12
|
|
4
4
|
title: Vite + Vue i18n - Vue uygulamasını çevirme 2026
|
|
5
5
|
description: Vite ve Vue web sitenizi çok dilli hale getirmeyi öğrenin. Dokümantasyonu takip ederek uluslararasılaştırma (i18n) ve çevirisini yapın.
|
|
6
6
|
keywords:
|
|
@@ -1049,6 +1049,162 @@ Uzantıyı kullanma hakkında daha fazla ayrıntı için [Intlayer VS Code Uzant
|
|
|
1049
1049
|
|
|
1050
1050
|
---
|
|
1051
1051
|
|
|
1052
|
+
### (İsteğe bağlı) Adım 12 : Bileşenlerinizin içeriğini çıkarın
|
|
1053
|
+
|
|
1054
|
+
Mevcut bir kod tabanınız varsa, binlerce dosyayı dönüştürmek zaman alıcı olabilir.
|
|
1055
|
+
|
|
1056
|
+
Bu süreci kolaylaştırmak için Intlayer, bileşenlerinizi dönüştürmek ve içeriği çıkarmak için bir [derleyici](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/compiler.md) / [çıkarıcı](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/cli/extract.md) sunar.
|
|
1057
|
+
|
|
1058
|
+
Kurulum için `intlayer.config.ts` dosyanıza bir `compiler` bölümü ekleyebilirsiniz:
|
|
1059
|
+
|
|
1060
|
+
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
1061
|
+
import { type IntlayerConfig } from "intlayer";
|
|
1062
|
+
|
|
1063
|
+
const config: IntlayerConfig = {
|
|
1064
|
+
// ... Yapılandırmanızın geri kalanı
|
|
1065
|
+
compiler: {
|
|
1066
|
+
/**
|
|
1067
|
+
* Derleyicinin etkinleştirilip etkinleştirilmeyeceğini belirtir.
|
|
1068
|
+
*/
|
|
1069
|
+
enabled: true,
|
|
1070
|
+
|
|
1071
|
+
/**
|
|
1072
|
+
* Çıktı dosyalarının yolunu tanımlar
|
|
1073
|
+
*/
|
|
1074
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1075
|
+
|
|
1076
|
+
/**
|
|
1077
|
+
* Bileşenlerin dönüştürüldükten sonra kaydedilip kaydedilmeyeceğini belirtir. Bu sayede derleyici, uygulamayı dönüştürmek için yalnızca bir kez çalıştırılabilir ve ardından kaldırılabilir.
|
|
1078
|
+
*/
|
|
1079
|
+
saveComponents: false,
|
|
1080
|
+
|
|
1081
|
+
/**
|
|
1082
|
+
* Sözlük anahtarı öneki
|
|
1083
|
+
*/
|
|
1084
|
+
dictionaryKeyPrefix: "",
|
|
1085
|
+
},
|
|
1086
|
+
};
|
|
1087
|
+
|
|
1088
|
+
export default config;
|
|
1089
|
+
```
|
|
1090
|
+
|
|
1091
|
+
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
1092
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
1093
|
+
const config = {
|
|
1094
|
+
// ... Yapılandırmanızın geri kalanı
|
|
1095
|
+
compiler: {
|
|
1096
|
+
/**
|
|
1097
|
+
* Derleyicinin etkinleştirilip etkinleştirilmeyeceğini belirtir.
|
|
1098
|
+
*/
|
|
1099
|
+
enabled: true,
|
|
1100
|
+
|
|
1101
|
+
/**
|
|
1102
|
+
* Çıktı dosyalarının yolunu tanımlar
|
|
1103
|
+
*/
|
|
1104
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1105
|
+
|
|
1106
|
+
/**
|
|
1107
|
+
* Bileşenlerin dönüştürüldükten sonra kaydedilip kaydedilmeyeceğini belirtir. Bu sayede derleyici, uygulamayı dönüştürmek için yalnızca bir kez çalıştırılabilir ve ardından kaldırılabilir.
|
|
1108
|
+
*/
|
|
1109
|
+
saveComponents: false,
|
|
1110
|
+
|
|
1111
|
+
/**
|
|
1112
|
+
* Sözlük anahtarı öneki
|
|
1113
|
+
*/
|
|
1114
|
+
dictionaryKeyPrefix: "",
|
|
1115
|
+
},
|
|
1116
|
+
};
|
|
1117
|
+
|
|
1118
|
+
export default config;
|
|
1119
|
+
```
|
|
1120
|
+
|
|
1121
|
+
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
1122
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
1123
|
+
const config = {
|
|
1124
|
+
// ... Yapılandırmanızın geri kalanı
|
|
1125
|
+
compiler: {
|
|
1126
|
+
/**
|
|
1127
|
+
* Derleyicinin etkinleştirilip etkinleştirilmeyeceğini belirtir.
|
|
1128
|
+
*/
|
|
1129
|
+
enabled: true,
|
|
1130
|
+
|
|
1131
|
+
/**
|
|
1132
|
+
* Çıktı dosyalarının yolunu tanımlar
|
|
1133
|
+
*/
|
|
1134
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1135
|
+
|
|
1136
|
+
/**
|
|
1137
|
+
* Bileşenlerin dönüştürüldükten sonra kaydedilip kaydedilmeyeceğini belirtir. Bu sayede derleyici, uygulamayı dönüştürmek için yalnızca bir kez çalıştırılabilir ve ardından kaldırılabilir.
|
|
1138
|
+
*/
|
|
1139
|
+
saveComponents: false,
|
|
1140
|
+
|
|
1141
|
+
/**
|
|
1142
|
+
* Sözlük anahtarı öneki
|
|
1143
|
+
*/
|
|
1144
|
+
dictionaryKeyPrefix: "",
|
|
1145
|
+
},
|
|
1146
|
+
};
|
|
1147
|
+
|
|
1148
|
+
module.exports = config;
|
|
1149
|
+
```
|
|
1150
|
+
|
|
1151
|
+
<Tabs>
|
|
1152
|
+
<Tab value='Çıkarma komutu'>
|
|
1153
|
+
|
|
1154
|
+
Bileşenlerinizi dönüştürmek ve içeriği çıkarmak için çıkarıcıyı çalıştırın
|
|
1155
|
+
|
|
1156
|
+
```bash packageManager="npm"
|
|
1157
|
+
npx intlayer extract
|
|
1158
|
+
```
|
|
1159
|
+
|
|
1160
|
+
```bash packageManager="pnpm"
|
|
1161
|
+
pnpm intlayer extract
|
|
1162
|
+
```
|
|
1163
|
+
|
|
1164
|
+
```bash packageManager="yarn"
|
|
1165
|
+
yarn intlayer extract
|
|
1166
|
+
```
|
|
1167
|
+
|
|
1168
|
+
```bash packageManager="bun"
|
|
1169
|
+
bunx intlayer extract
|
|
1170
|
+
```
|
|
1171
|
+
|
|
1172
|
+
</Tab>
|
|
1173
|
+
<Tab value='Babel derleyicisi'>
|
|
1174
|
+
|
|
1175
|
+
`vite.config.ts` dosyanızı `intlayerCompiler` eklentisini içerecek şekilde güncelleyin:
|
|
1176
|
+
|
|
1177
|
+
```ts fileName="vite.config.ts"
|
|
1178
|
+
import { defineConfig } from "vite";
|
|
1179
|
+
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
1180
|
+
|
|
1181
|
+
export default defineConfig({
|
|
1182
|
+
plugins: [
|
|
1183
|
+
intlayer(),
|
|
1184
|
+
intlayerCompiler(), // Derleyici eklentisini ekler
|
|
1185
|
+
],
|
|
1186
|
+
});
|
|
1187
|
+
```
|
|
1188
|
+
|
|
1189
|
+
```bash packageManager="npm"
|
|
1190
|
+
npm run build # Veya npm run dev
|
|
1191
|
+
```
|
|
1192
|
+
|
|
1193
|
+
```bash packageManager="pnpm"
|
|
1194
|
+
pnpm run build # Or pnpm run dev
|
|
1195
|
+
```
|
|
1196
|
+
|
|
1197
|
+
```bash packageManager="yarn"
|
|
1198
|
+
yarn build # Or yarn dev
|
|
1199
|
+
```
|
|
1200
|
+
|
|
1201
|
+
```bash packageManager="bun"
|
|
1202
|
+
bun run build # Or bun run dev
|
|
1203
|
+
```
|
|
1204
|
+
|
|
1205
|
+
</Tab>
|
|
1206
|
+
</Tabs>
|
|
1207
|
+
|
|
1052
1208
|
### Daha Fazla İlerle
|
|
1053
1209
|
|
|
1054
1210
|
Daha fazla ilerlemek için [görsel düzenleyici](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_visual_editor.md) veya içeriğinizi [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md) kullanarak dışa aktarmayı uygulayabilirsiniz.
|
package/docs/uk/compiler.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-09-09
|
|
3
|
-
updatedAt: 2026-03-
|
|
3
|
+
updatedAt: 2026-03-12
|
|
4
4
|
title: Intlayer Compiler | Автоматизоване витягування контенту для i18n
|
|
5
5
|
description: Автоматизуйте процес інтернаціоналізації за допомогою Intlayer Compiler. Витягуйте контент безпосередньо з ваших компонентів для швидшого та ефективнішого i18n у Vite, Next.js та інших.
|
|
6
6
|
keywords:
|
|
@@ -22,7 +22,7 @@ slugs:
|
|
|
22
22
|
history:
|
|
23
23
|
- version: 8.2.0
|
|
24
24
|
date: 2026-03-09
|
|
25
|
-
changes:
|
|
25
|
+
changes: Оновлення опцій компілятора, додана підтримка FilePathPattern
|
|
26
26
|
- version: 8.1.7
|
|
27
27
|
date: 2026-02-25
|
|
28
28
|
changes: Оновлення опцій компілятора
|
|
@@ -35,27 +35,27 @@ history:
|
|
|
35
35
|
|
|
36
36
|
## Що таке Intlayer Compiler?
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
**Intlayer Compiler** — це потужний інструмент, розроблений для автоматизації процесу інтернаціоналізації (i18n) у ваших додатках. Він сканує ваш вихідний код (JSX, TSX, Vue, Svelte) на наявність декларацій контенту, витягує їх і автоматично генерує необхідні файли словників. Це дозволяє зберігати контент поруч із компонентами, тоді як Intlayer займається керуванням та синхронізацією ваших словників.
|
|
39
39
|
|
|
40
40
|
## Чому використовувати Intlayer Compiler?
|
|
41
41
|
|
|
42
|
-
-
|
|
43
|
-
-
|
|
44
|
-
-
|
|
45
|
-
-
|
|
42
|
+
- **Автоматизація**: Усуває ручне копіювання та вставляння контенту у словники.
|
|
43
|
+
- **Швидкість**: Оптимізоване витягування контенту забезпечує швидкість процесу збірки.
|
|
44
|
+
- **Досвід розробника**: Тримайте декларації контенту там, де вони використовуються, що покращує підтримуваність.
|
|
45
|
+
- **Оновлення в реальному часі**: Підтримує Hot Module Replacement (HMR) для миттєвого зворотного зв'язку під час розробки.
|
|
46
46
|
|
|
47
|
-
Див.
|
|
47
|
+
Див. статтю в блозі [Compiler vs. Declarative i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/uk/compiler_vs_declarative_i18n.md) для глибшого порівняння.
|
|
48
48
|
|
|
49
49
|
## Чому не використовувати Intlayer Compiler?
|
|
50
50
|
|
|
51
|
-
Хоча компілятор
|
|
51
|
+
Хоча компілятор пропонує чудовий досвід «just works», він також вносить певні компроміси, про які варто знати:
|
|
52
52
|
|
|
53
|
-
-
|
|
54
|
-
-
|
|
53
|
+
- **Евристична неоднозначність**: Компілятор має вгадувати, що є контентом для користувача, а що — логікою додатка (наприклад, `className="active"`, коди статусів, ID продуктів). У складних кодових базах це може призводити до хибних спрацьовувань або пропущених рядків, що вимагатиме ручних анотацій та винятків.
|
|
54
|
+
- **Тільки статична екстракція**: Екстракція на основі компілятора покладається на статичний аналіз. Рядки, які існують лише під час виконання (коди помилок API, поля CMS тощо), не можуть бути виявлені або перекладені лише компілятором, тому вам усе одно знадобиться додаткова стратегія i18n під час виконання.
|
|
55
55
|
|
|
56
|
-
Для
|
|
56
|
+
Для глибшого архітектурного порівняння див. статтю в блозі [Compiler vs. Declarative i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/uk/compiler_vs_declarative_i18n.md).
|
|
57
57
|
|
|
58
|
-
Як альтернативу, щоб автоматизувати ваш процес i18n і зберегти повний контроль над контентом, Intlayer також
|
|
58
|
+
Як альтернативу, щоб автоматизувати ваш процес i18n і зберегти повний контроль над контентом, Intlayer також пропонує команду автоматичної екстракції `intlayer extract` (див. [документацію CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/cli/extract.md)), або команду `Intlayer: extract content to Dictionary` з розширення Intlayer для VS Code (див. [документацію розширення VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/vs_code_extension.md)).
|
|
59
59
|
|
|
60
60
|
## Використання
|
|
61
61
|
|
|
@@ -64,7 +64,7 @@ The **Intlayer Compiler**, потужний інструмент, створен
|
|
|
64
64
|
|
|
65
65
|
### Vite
|
|
66
66
|
|
|
67
|
-
Для додатків на базі Vite (React, Vue, Svelte тощо) найпростіший спосіб використовувати
|
|
67
|
+
Для додатків на базі Vite (React, Vue, Svelte тощо) найпростіший спосіб використовувати компілятор — через плагін `vite-intlayer`.
|
|
68
68
|
|
|
69
69
|
#### Встановлення
|
|
70
70
|
|
|
@@ -121,7 +121,7 @@ npm install @intlayer/svelte-compiler
|
|
|
121
121
|
npm install @intlayer/babel
|
|
122
122
|
```
|
|
123
123
|
|
|
124
|
-
####
|
|
124
|
+
#### Налаштування
|
|
125
125
|
|
|
126
126
|
Оновіть ваш `babel.config.js` (або `babel.config.json`), щоб додати плагін для екстракції. Ми надаємо хелпер `getExtractPluginOptions`, який автоматично завантажує вашу конфігурацію Intlayer.
|
|
127
127
|
|
|
@@ -144,78 +144,90 @@ module.exports = {
|
|
|
144
144
|
};
|
|
145
145
|
```
|
|
146
146
|
|
|
147
|
-
Ця конфігурація гарантує, що контент, оголошений у ваших компонентах, автоматично
|
|
147
|
+
Ця конфігурація гарантує, що контент, оголошений у ваших компонентах, буде автоматично витягнутий і використаний для генерації словників під час процесу збірки.
|
|
148
148
|
|
|
149
149
|
See complete tutorial: [Intlayer Compiler with Next.js](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_nextjs_compiler.md)
|
|
150
150
|
|
|
151
151
|
</Tab>
|
|
152
|
+
</Tabs>
|
|
152
153
|
|
|
153
154
|
### Користувацька конфігурація
|
|
154
155
|
|
|
155
156
|
Щоб налаштувати поведінку компілятора, ви можете оновити файл `intlayer.config.ts` у корені вашого проєкту.
|
|
156
157
|
|
|
157
|
-
|
|
158
|
+
````ts fileName="intlayer.config.ts"
|
|
158
159
|
import { type IntlayerConfig, Locales } from "intlayer";
|
|
159
160
|
|
|
160
161
|
const config: IntlayerConfig = {
|
|
161
162
|
compiler: {
|
|
162
163
|
/**
|
|
164
|
+
* Вказує, чи має бути увімкнено компілятор.
|
|
163
165
|
* Встановіть значення 'build-only', щоб пропустити компілятор під час розробки та прискорити запуск.
|
|
164
166
|
*/
|
|
165
167
|
enabled: true,
|
|
166
168
|
|
|
167
169
|
/**
|
|
168
|
-
*
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
*
|
|
170
|
+
* Визначає шлях до вихідних файлів. Замінює `outputDir`.
|
|
171
|
+
*
|
|
172
|
+
* - Шляхи, що починаються з `./`, розв'язуються відносно каталогу компонента.
|
|
173
|
+
* - Шляхи, що починаються з `/`, розв'язуються відносно кореня проєкту (`baseDir`).
|
|
174
|
+
*
|
|
175
|
+
* - Включення змінної `{{locale}}` у шлях дозволить генерувати словники, розділені за локалями.
|
|
176
|
+
*
|
|
177
|
+
* Приклади:
|
|
178
|
+
* ```ts
|
|
179
|
+
* {
|
|
180
|
+
* // Створює багатомовні файли .content.ts поруч із компонентом
|
|
181
|
+
* output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
182
|
+
*
|
|
183
|
+
* // output: './{{fileName}}{{extension}}', // Еквівалент з використанням рядкового шаблону
|
|
184
|
+
* }
|
|
185
|
+
* ```
|
|
186
|
+
*
|
|
187
|
+
* ```ts
|
|
188
|
+
* {
|
|
189
|
+
* // Створює централізовані JSON-файли за локалями в корені проєкту
|
|
190
|
+
* output: ({ key, locale }) => `/locales/${locale}/${key}.content.json`,
|
|
191
|
+
*
|
|
192
|
+
* // output: '/locales/{{locale}}/{{key}}.content.json', // Еквівалент з використанням рядкового шаблону
|
|
193
|
+
* }
|
|
194
|
+
* ```
|
|
195
|
+
*
|
|
196
|
+
* Список змінних:
|
|
197
|
+
* - `fileName`: Назва файлу.
|
|
198
|
+
* - `key`: Ключ контенту.
|
|
199
|
+
* - `locale`: Локаль контенту.
|
|
200
|
+
* - `extension`: Розширення файлу.
|
|
201
|
+
* - `componentFileName`: Назва файлу компонента.
|
|
202
|
+
* - `componentExtension`: Розширення файлу компонента.
|
|
203
|
+
* - `format`: Формат словника.
|
|
204
|
+
* - `componentFormat`: Формат словника компонента.
|
|
205
|
+
* - `componentDirPath`: Шлях до каталогу компонента.
|
|
177
206
|
*/
|
|
178
|
-
|
|
207
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
179
208
|
|
|
180
209
|
/**
|
|
181
|
-
*
|
|
210
|
+
* Вказує, чи мають компоненти зберігатися після трансформації.
|
|
211
|
+
* Таким чином компілятор можна запустити лише один раз для трансформації додатка, а потім видалити.
|
|
182
212
|
*/
|
|
183
|
-
|
|
213
|
+
saveComponents: false,
|
|
184
214
|
|
|
185
215
|
/**
|
|
186
|
-
*
|
|
216
|
+
* Вставляє лише контент у згенерований файл. Корисно для виводу JSON для i18next або ICU MessageFormat для кожної локалі.
|
|
217
|
+
*
|
|
218
|
+
* - `output: ({ locale, key }) => `./locale/${locale}/${key}.json`,`
|
|
187
219
|
*/
|
|
188
220
|
noMetadata: false,
|
|
189
221
|
|
|
190
222
|
/**
|
|
191
223
|
* Префікс ключа словника
|
|
192
224
|
*/
|
|
193
|
-
dictionaryKeyPrefix: "", //
|
|
194
|
-
|
|
195
|
-
/**
|
|
196
|
-
* Вказує, чи мають компоненти зберігатися після трансформації.
|
|
197
|
-
* Таким чином компілятор можна запустити лише один раз для трансформації додатка, а потім видалити.
|
|
198
|
-
*/
|
|
199
|
-
saveComponents: false,
|
|
225
|
+
dictionaryKeyPrefix: "", // Додає необов'язковий префікс для витягнутих ключів словника
|
|
200
226
|
},
|
|
201
227
|
};
|
|
202
228
|
|
|
203
229
|
export default config;
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
### Заповнити відсутні переклади
|
|
207
|
-
|
|
208
|
-
Intlayer надає інструмент CLI, який допоможе вам заповнити відсутні переклади. Ви можете використовувати команду `intlayer` для тестування та заповнення відсутніх перекладів у вашому коді.
|
|
209
|
-
|
|
210
|
-
```bash
|
|
211
|
-
npx intlayer test # Перевірити наявність відсутніх перекладів
|
|
212
|
-
```
|
|
213
|
-
|
|
214
|
-
```bash
|
|
215
|
-
npx intlayer fill # Заповнити відсутні переклади
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
> Для отримання додаткової інформації зверніться до [документації CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/cli/ci.md)
|
|
230
|
+
````
|
|
219
231
|
|
|
220
232
|
### Довідник з конфігурації компілятора
|
|
221
233
|
|
|
@@ -225,36 +237,37 @@ npx intlayer fill # Заповнити відсутні переклад
|
|
|
225
237
|
- _Тип_: `boolean | 'build-only'`
|
|
226
238
|
- _Типово_: `true`
|
|
227
239
|
- _Опис_: Вказує, чи має бути увімкнено компілятор.
|
|
240
|
+
|
|
228
241
|
- **dictionaryKeyPrefix**:
|
|
229
242
|
- _Тип_: `string`
|
|
230
|
-
- _Типово_: `'
|
|
243
|
+
- _Типово_: `''`
|
|
231
244
|
- _Опис_: Префікс для витягнутих ключів словника.
|
|
245
|
+
|
|
232
246
|
- **transformPattern**:
|
|
233
247
|
- _Тип_: `string | string[]`
|
|
234
248
|
- _Типово_: `['**/*.{js,ts,mjs,cjs,jsx,tsx,vue,svelte}', '!**/node_modules/**']`
|
|
235
|
-
- _Опис_: Шаблони для обходу коду для оптимізації.
|
|
249
|
+
- _Опис_: (Застаріло: використовуйте `build.traversePattern`) Шаблони для обходу коду для оптимізації.
|
|
250
|
+
|
|
236
251
|
- **excludePattern**:
|
|
237
252
|
- _Тип_: `string | string[]`
|
|
238
253
|
- _Типово_: `['**/node_modules/**']`
|
|
239
|
-
- _Опис_: Шаблони для виключення з оптимізації.
|
|
240
|
-
- **outputDir** (Deprecated):
|
|
241
|
-
- _Тип_: `string`
|
|
242
|
-
- _Типово_: `'compiler'`
|
|
243
|
-
- _Опис_: Каталог, у якому зберігатимуться витягнуті словники.
|
|
254
|
+
- _Опис_: (Застаріло: використовуйте `build.traversePattern`) Шаблони для виключення з оптимізації.
|
|
244
255
|
|
|
245
256
|
- **output**:
|
|
246
257
|
- _Тип_: `FilePathPattern`
|
|
247
258
|
- _Типово_: `({ key }) => 'compiler/${key}.content.json'`
|
|
248
259
|
- _Опис_: Визначає шлях до вихідних файлів. Замінює `outputDir`. Обробляє динамічні змінні, такі як `{{locale}}`, `{{key}}`, `{{fileName}}`, `{{extension}}`, `{{format}}`, `{{dirPath}}`, `{{componentFileName}}`, `{{componentExtension}}` та `{{componentFormat}}`. Можна встановити як рядок у форматі `'my/{{var}}/path'` або як функцію.
|
|
249
260
|
- _Примітка_: Шляхи `./**/*` розв'язуються відносно компонента. Шляхи `/**/*` розв'язуються відносно `baseDir` Intlayer.
|
|
261
|
+
- _Примітка_: Якщо локаль визначена в шляху, словники будуть генеруватися для кожної локалі.
|
|
250
262
|
- _Приклад_: `output: ({ locale, key }) => 'compiler/${locale}/${key}.json'`
|
|
251
263
|
|
|
252
264
|
- **noMetadata**:
|
|
253
265
|
- _Тип_: `boolean`
|
|
254
266
|
- _Типово_: `false`
|
|
255
|
-
- _Опис_: Вказує, чи мають метадані зберігатися у файлі. Якщо true, компілятор не зберігатиме метадані словників (ключ, оболонка вмісту).
|
|
267
|
+
- _Опис_: Вказує, чи мають метадані зберігатися у файлі. Якщо true, компілятор не зберігатиме метадані словників (ключ, оболонка вмісту). Корисно для виводу JSON для i18next або ICU MessageFormat для кожної локалі.
|
|
256
268
|
- _Примітка_: Корисно при використанні з плагіном `loadJSON`.
|
|
257
|
-
- _Приклад_:
|
|
269
|
+
- _Приклад_:
|
|
270
|
+
Якщо `true`:
|
|
258
271
|
```json
|
|
259
272
|
{
|
|
260
273
|
"key": "value"
|
|
@@ -274,3 +287,25 @@ npx intlayer fill # Заповнити відсутні переклад
|
|
|
274
287
|
- _Тип_: `boolean`
|
|
275
288
|
- _Типово_: `false`
|
|
276
289
|
- _Опис_: Вказує, чи мають компоненти зберігатися після трансформації.
|
|
290
|
+
|
|
291
|
+
### Заповнення відсутніх перекладів
|
|
292
|
+
|
|
293
|
+
Intlayer надає CLI-інструмент, який допоможе заповнити відсутні переклади. Ви можете використовувати команду `intlayer` для перевірки та заповнення відсутніх перекладів у вашому коді.
|
|
294
|
+
|
|
295
|
+
```bash
|
|
296
|
+
npx intlayer test # Перевірити наявність відсутніх перекладів
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
```bash
|
|
300
|
+
npx intlayer fill # Заповнити відсутні переклади
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
### Екстракція
|
|
304
|
+
|
|
305
|
+
Intlayer надає CLI-інструмент, який допоможе вам витягти контент із вашого коду. Ви можете використовувати команду `intlayer extract`, щоб витягти контент із вашого коду.
|
|
306
|
+
|
|
307
|
+
```bash
|
|
308
|
+
npx intlayer extract
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
> Для отримання детальнішої інформації див. [документацію CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/cli/index.md)
|