@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.
Files changed (240) hide show
  1. package/docs/ar/compiler.md +84 -49
  2. package/docs/ar/configuration.md +80 -37
  3. package/docs/ar/intlayer_with_nextjs_16.md +174 -1
  4. package/docs/ar/intlayer_with_nextjs_compiler.md +174 -1
  5. package/docs/ar/intlayer_with_react_router_v7.md +224 -1
  6. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +225 -1
  7. package/docs/ar/intlayer_with_svelte_kit.md +175 -2
  8. package/docs/ar/intlayer_with_tanstack.md +176 -1
  9. package/docs/ar/intlayer_with_vite+preact.md +174 -1
  10. package/docs/ar/intlayer_with_vite+react.md +174 -1
  11. package/docs/ar/intlayer_with_vite+solid.md +174 -1
  12. package/docs/ar/intlayer_with_vite+svelte.md +174 -1
  13. package/docs/ar/intlayer_with_vite+vue.md +174 -1
  14. package/docs/de/compiler.md +83 -48
  15. package/docs/de/configuration.md +434 -212
  16. package/docs/de/intlayer_with_nextjs_16.md +176 -1
  17. package/docs/de/intlayer_with_nextjs_compiler.md +106 -349
  18. package/docs/de/intlayer_with_react_router_v7.md +225 -2
  19. package/docs/de/intlayer_with_react_router_v7_fs_routes.md +221 -79
  20. package/docs/de/intlayer_with_svelte_kit.md +158 -2
  21. package/docs/de/intlayer_with_tanstack.md +159 -1
  22. package/docs/de/intlayer_with_vite+preact.md +157 -1
  23. package/docs/de/intlayer_with_vite+react.md +157 -1
  24. package/docs/de/intlayer_with_vite+solid.md +159 -3
  25. package/docs/de/intlayer_with_vite+svelte.md +157 -1
  26. package/docs/de/intlayer_with_vite+vue.md +157 -1
  27. package/docs/en/compiler.md +60 -33
  28. package/docs/en/configuration.md +80 -57
  29. package/docs/en/intlayer_with_nextjs_16.md +176 -0
  30. package/docs/en/intlayer_with_nextjs_compiler.md +179 -1
  31. package/docs/en/intlayer_with_react_router_v7.md +159 -0
  32. package/docs/en/intlayer_with_react_router_v7_fs_routes.md +159 -0
  33. package/docs/en/intlayer_with_svelte_kit.md +159 -0
  34. package/docs/en/intlayer_with_tanstack.md +160 -1
  35. package/docs/en/intlayer_with_vite+preact.md +159 -0
  36. package/docs/en/intlayer_with_vite+react.md +159 -0
  37. package/docs/en/intlayer_with_vite+solid.md +148 -27
  38. package/docs/en/intlayer_with_vite+svelte.md +159 -0
  39. package/docs/en/intlayer_with_vite+vue.md +142 -41
  40. package/docs/en-GB/compiler.md +66 -34
  41. package/docs/en-GB/configuration.md +78 -36
  42. package/docs/es/compiler.md +83 -48
  43. package/docs/es/configuration.md +429 -206
  44. package/docs/es/intlayer_with_adonisjs.md +1 -1
  45. package/docs/es/intlayer_with_express.md +1 -1
  46. package/docs/es/intlayer_with_fastify.md +1 -1
  47. package/docs/es/intlayer_with_hono.md +1 -1
  48. package/docs/es/intlayer_with_nestjs.md +1 -1
  49. package/docs/es/intlayer_with_nextjs_16.md +176 -3
  50. package/docs/es/intlayer_with_nextjs_compiler.md +175 -2
  51. package/docs/es/intlayer_with_nuxt.md +1 -1
  52. package/docs/es/intlayer_with_react_router_v7.md +227 -4
  53. package/docs/es/intlayer_with_react_router_v7_fs_routes.md +162 -4
  54. package/docs/es/intlayer_with_svelte_kit.md +158 -2
  55. package/docs/es/intlayer_with_tanstack.md +160 -2
  56. package/docs/es/intlayer_with_vite+preact.md +162 -6
  57. package/docs/es/intlayer_with_vite+react.md +160 -4
  58. package/docs/es/intlayer_with_vite+solid.md +163 -7
  59. package/docs/es/intlayer_with_vite+svelte.md +157 -1
  60. package/docs/es/intlayer_with_vite+vue.md +165 -9
  61. package/docs/fr/compiler.md +81 -46
  62. package/docs/fr/configuration.md +355 -134
  63. package/docs/fr/intlayer_with_adonisjs.md +1 -1
  64. package/docs/fr/intlayer_with_express.md +1 -1
  65. package/docs/fr/intlayer_with_fastify.md +1 -1
  66. package/docs/fr/intlayer_with_hono.md +1 -1
  67. package/docs/fr/intlayer_with_nestjs.md +1 -1
  68. package/docs/fr/intlayer_with_nextjs_16.md +183 -7
  69. package/docs/fr/intlayer_with_nextjs_compiler.md +179 -3
  70. package/docs/fr/intlayer_with_react_router_v7.md +229 -3
  71. package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +237 -6
  72. package/docs/fr/intlayer_with_svelte_kit.md +158 -2
  73. package/docs/fr/intlayer_with_tanstack.md +159 -1
  74. package/docs/fr/intlayer_with_vite+preact.md +164 -8
  75. package/docs/fr/intlayer_with_vite+react.md +162 -6
  76. package/docs/fr/intlayer_with_vite+solid.md +163 -7
  77. package/docs/fr/intlayer_with_vite+svelte.md +157 -1
  78. package/docs/fr/intlayer_with_vite+vue.md +164 -8
  79. package/docs/hi/compiler.md +81 -46
  80. package/docs/hi/configuration.md +87 -44
  81. package/docs/hi/intlayer_with_nextjs_16.md +174 -1
  82. package/docs/hi/intlayer_with_nextjs_compiler.md +174 -1
  83. package/docs/hi/intlayer_with_react_router_v7.md +224 -1
  84. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +225 -1
  85. package/docs/hi/intlayer_with_svelte_kit.md +158 -2
  86. package/docs/hi/intlayer_with_tanstack.md +159 -1
  87. package/docs/hi/intlayer_with_vite+preact.md +157 -1
  88. package/docs/hi/intlayer_with_vite+react.md +157 -1
  89. package/docs/hi/intlayer_with_vite+solid.md +157 -1
  90. package/docs/hi/intlayer_with_vite+svelte.md +157 -1
  91. package/docs/hi/intlayer_with_vite+vue.md +157 -1
  92. package/docs/id/compiler.md +84 -51
  93. package/docs/id/configuration.md +83 -45
  94. package/docs/id/intlayer_with_nextjs_16.md +174 -1
  95. package/docs/id/intlayer_with_nextjs_compiler.md +174 -1
  96. package/docs/id/intlayer_with_react_router_v7.md +224 -1
  97. package/docs/id/intlayer_with_react_router_v7_fs_routes.md +225 -1
  98. package/docs/id/intlayer_with_svelte_kit.md +158 -2
  99. package/docs/id/intlayer_with_tanstack.md +159 -1
  100. package/docs/id/intlayer_with_vite+preact.md +157 -1
  101. package/docs/id/intlayer_with_vite+react.md +157 -1
  102. package/docs/id/intlayer_with_vite+solid.md +157 -1
  103. package/docs/id/intlayer_with_vite+svelte.md +157 -1
  104. package/docs/id/intlayer_with_vite+vue.md +157 -1
  105. package/docs/it/compiler.md +81 -46
  106. package/docs/it/configuration.md +426 -204
  107. package/docs/it/intlayer_with_nextjs_16.md +174 -1
  108. package/docs/it/intlayer_with_nextjs_compiler.md +174 -1
  109. package/docs/it/intlayer_with_react_router_v7.md +225 -2
  110. package/docs/it/intlayer_with_react_router_v7_fs_routes.md +226 -2
  111. package/docs/it/intlayer_with_svelte_kit.md +158 -2
  112. package/docs/it/intlayer_with_tanstack.md +159 -1
  113. package/docs/it/intlayer_with_vite+preact.md +157 -1
  114. package/docs/it/intlayer_with_vite+react.md +157 -1
  115. package/docs/it/intlayer_with_vite+solid.md +159 -3
  116. package/docs/it/intlayer_with_vite+svelte.md +157 -1
  117. package/docs/it/intlayer_with_vite+vue.md +157 -1
  118. package/docs/ja/compiler.md +94 -58
  119. package/docs/ja/configuration.md +88 -45
  120. package/docs/ja/intlayer_with_nextjs_16.md +174 -1
  121. package/docs/ja/intlayer_with_nextjs_compiler.md +174 -1
  122. package/docs/ja/intlayer_with_react_router_v7.md +184 -394
  123. package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +226 -2
  124. package/docs/ja/intlayer_with_svelte_kit.md +119 -595
  125. package/docs/ja/intlayer_with_tanstack.md +131 -642
  126. package/docs/ja/intlayer_with_vite+preact.md +111 -1231
  127. package/docs/ja/intlayer_with_vite+react.md +129 -1304
  128. package/docs/ja/intlayer_with_vite+solid.md +159 -3
  129. package/docs/ja/intlayer_with_vite+svelte.md +157 -1
  130. package/docs/ja/intlayer_with_vite+vue.md +157 -1
  131. package/docs/ko/compiler.md +88 -52
  132. package/docs/ko/configuration.md +87 -44
  133. package/docs/ko/intlayer_with_nextjs_16.md +174 -1
  134. package/docs/ko/intlayer_with_nextjs_compiler.md +174 -1
  135. package/docs/ko/intlayer_with_react_router_v7.md +225 -2
  136. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +226 -2
  137. package/docs/ko/intlayer_with_svelte_kit.md +158 -2
  138. package/docs/ko/intlayer_with_tanstack.md +159 -1
  139. package/docs/ko/intlayer_with_vite+preact.md +157 -1
  140. package/docs/ko/intlayer_with_vite+react.md +157 -1
  141. package/docs/ko/intlayer_with_vite+solid.md +159 -3
  142. package/docs/ko/intlayer_with_vite+svelte.md +157 -1
  143. package/docs/ko/intlayer_with_vite+vue.md +157 -1
  144. package/docs/pl/compiler.md +84 -51
  145. package/docs/pl/configuration.md +83 -37
  146. package/docs/pl/intlayer_with_nextjs_16.md +174 -1
  147. package/docs/pl/intlayer_with_nextjs_compiler.md +174 -1
  148. package/docs/pl/intlayer_with_react_router_v7.md +224 -1
  149. package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +225 -1
  150. package/docs/pl/intlayer_with_svelte_kit.md +158 -2
  151. package/docs/pl/intlayer_with_tanstack.md +159 -1
  152. package/docs/pl/intlayer_with_vite+preact.md +157 -1
  153. package/docs/pl/intlayer_with_vite+react.md +157 -1
  154. package/docs/pl/intlayer_with_vite+solid.md +157 -1
  155. package/docs/pl/intlayer_with_vite+svelte.md +157 -1
  156. package/docs/pl/intlayer_with_vite+vue.md +157 -1
  157. package/docs/pt/compiler.md +81 -46
  158. package/docs/pt/configuration.md +404 -194
  159. package/docs/pt/intlayer_with_nextjs_16.md +174 -1
  160. package/docs/pt/intlayer_with_nextjs_compiler.md +174 -1
  161. package/docs/pt/intlayer_with_react_router_v7.md +224 -1
  162. package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +225 -1
  163. package/docs/pt/intlayer_with_svelte_kit.md +158 -2
  164. package/docs/pt/intlayer_with_tanstack.md +159 -1
  165. package/docs/pt/intlayer_with_vite+preact.md +157 -1
  166. package/docs/pt/intlayer_with_vite+react.md +157 -1
  167. package/docs/pt/intlayer_with_vite+solid.md +157 -1
  168. package/docs/pt/intlayer_with_vite+svelte.md +157 -1
  169. package/docs/pt/intlayer_with_vite+vue.md +157 -1
  170. package/docs/ru/compiler.md +90 -57
  171. package/docs/ru/configuration.md +76 -46
  172. package/docs/ru/intlayer_with_nextjs_16.md +174 -1
  173. package/docs/ru/intlayer_with_nextjs_compiler.md +174 -1
  174. package/docs/ru/intlayer_with_react_router_v7.md +224 -1
  175. package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +225 -1
  176. package/docs/ru/intlayer_with_svelte_kit.md +158 -2
  177. package/docs/ru/intlayer_with_tanstack.md +159 -1
  178. package/docs/ru/intlayer_with_vite+preact.md +157 -1
  179. package/docs/ru/intlayer_with_vite+react.md +157 -1
  180. package/docs/ru/intlayer_with_vite+solid.md +157 -1
  181. package/docs/ru/intlayer_with_vite+svelte.md +157 -1
  182. package/docs/ru/intlayer_with_vite+vue.md +157 -1
  183. package/docs/tr/compiler.md +85 -52
  184. package/docs/tr/configuration.md +83 -40
  185. package/docs/tr/intlayer_with_nextjs_16.md +174 -1
  186. package/docs/tr/intlayer_with_nextjs_compiler.md +174 -1
  187. package/docs/tr/intlayer_with_react_router_v7.md +224 -1
  188. package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +225 -1
  189. package/docs/tr/intlayer_with_svelte_kit.md +158 -2
  190. package/docs/tr/intlayer_with_tanstack.md +159 -1
  191. package/docs/tr/intlayer_with_vite+preact.md +157 -1
  192. package/docs/tr/intlayer_with_vite+react.md +157 -1
  193. package/docs/tr/intlayer_with_vite+solid.md +157 -1
  194. package/docs/tr/intlayer_with_vite+svelte.md +157 -1
  195. package/docs/tr/intlayer_with_vite+vue.md +157 -1
  196. package/docs/uk/compiler.md +96 -61
  197. package/docs/uk/configuration.md +83 -37
  198. package/docs/uk/intlayer_with_nextjs_16.md +174 -1
  199. package/docs/uk/intlayer_with_nextjs_compiler.md +174 -1
  200. package/docs/uk/intlayer_with_react_router_v7.md +224 -1
  201. package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +225 -1
  202. package/docs/uk/intlayer_with_svelte_kit.md +157 -1
  203. package/docs/uk/intlayer_with_tanstack.md +159 -1
  204. package/docs/uk/intlayer_with_vite+preact.md +157 -1
  205. package/docs/uk/intlayer_with_vite+react.md +157 -1
  206. package/docs/uk/intlayer_with_vite+solid.md +157 -1
  207. package/docs/uk/intlayer_with_vite+svelte.md +157 -1
  208. package/docs/uk/intlayer_with_vite+vue.md +157 -1
  209. package/docs/vi/compiler.md +85 -50
  210. package/docs/vi/configuration.md +85 -39
  211. package/docs/vi/intlayer_with_nextjs_16.md +174 -1
  212. package/docs/vi/intlayer_with_nextjs_compiler.md +174 -1
  213. package/docs/vi/intlayer_with_react_router_v7.md +224 -1
  214. package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +225 -1
  215. package/docs/vi/intlayer_with_svelte_kit.md +158 -2
  216. package/docs/vi/intlayer_with_tanstack.md +159 -1
  217. package/docs/vi/intlayer_with_vite+preact.md +157 -1
  218. package/docs/vi/intlayer_with_vite+react.md +157 -1
  219. package/docs/vi/intlayer_with_vite+solid.md +157 -1
  220. package/docs/vi/intlayer_with_vite+svelte.md +157 -1
  221. package/docs/vi/intlayer_with_vite+vue.md +157 -1
  222. package/docs/zh/compiler.md +84 -49
  223. package/docs/zh/configuration.md +80 -37
  224. package/docs/zh/intlayer_with_adonisjs.md +1 -1
  225. package/docs/zh/intlayer_with_express.md +1 -1
  226. package/docs/zh/intlayer_with_fastify.md +1 -1
  227. package/docs/zh/intlayer_with_hono.md +1 -1
  228. package/docs/zh/intlayer_with_nestjs.md +1 -1
  229. package/docs/zh/intlayer_with_nextjs_16.md +174 -1
  230. package/docs/zh/intlayer_with_nextjs_compiler.md +174 -1
  231. package/docs/zh/intlayer_with_react_router_v7.md +227 -4
  232. package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +228 -4
  233. package/docs/zh/intlayer_with_svelte_kit.md +158 -2
  234. package/docs/zh/intlayer_with_tanstack.md +159 -1
  235. package/docs/zh/intlayer_with_vite+preact.md +159 -3
  236. package/docs/zh/intlayer_with_vite+react.md +157 -1
  237. package/docs/zh/intlayer_with_vite+solid.md +161 -5
  238. package/docs/zh/intlayer_with_vite+svelte.md +157 -1
  239. package/docs/zh/intlayer_with_vite+vue.md +158 -2
  240. package/package.json +6 -6
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-09-07
3
- updatedAt: 2025-12-30
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.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-09-09
3
- updatedAt: 2026-03-10
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: Update compiler options, add FilePathPattern support
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
- The **Intlayer Compiler**, потужний інструмент, створений для автоматизації процесу інтернаціоналізації (i18n) у ваших додатках. Він сканує ваш вихідний код (JSX, TSX, Vue, Svelte) на наявність декларацій контенту, витягує їх і автоматично генерує необхідні файли словників. Це дозволяє зберігати контент поруч із компонентами, у той час як Intlayer займається керуванням та синхронізацією ваших словників.
38
+ **Intlayer Compiler** — це потужний інструмент, розроблений для автоматизації процесу інтернаціоналізації (i18n) у ваших додатках. Він сканує ваш вихідний код (JSX, TSX, Vue, Svelte) на наявність декларацій контенту, витягує їх і автоматично генерує необхідні файли словників. Це дозволяє зберігати контент поруч із компонентами, тоді як Intlayer займається керуванням та синхронізацією ваших словників.
39
39
 
40
40
  ## Чому використовувати Intlayer Compiler?
41
41
 
42
- - **Automation**: Усуває ручне копіювання та вставляння контенту у словники.
43
- - **Speed**: Оптимізоване витягування контенту, яке забезпечує швидкість процесу збірки.
44
- - **Developer Experience**: Тримайте декларації контенту там, де вони використовуються, що покращує підтримуваність.
45
- - **Live Updates**: Підтримує Hot Module Replacement (HMR) для миттєвого зворотного зв'язку під час розробки.
42
+ - **Автоматизація**: Усуває ручне копіювання та вставляння контенту у словники.
43
+ - **Швидкість**: Оптимізоване витягування контенту забезпечує швидкість процесу збірки.
44
+ - **Досвід розробника**: Тримайте декларації контенту там, де вони використовуються, що покращує підтримуваність.
45
+ - **Оновлення в реальному часі**: Підтримує Hot Module Replacement (HMR) для миттєвого зворотного зв'язку під час розробки.
46
46
 
47
- Див. публікацію в блозі [Compiler vs. Declarative i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/uk/compiler_vs_declarative_i18n.md) для детальнішого порівняння.
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
- Хоча компілятор надає відмінний досвід «just works», він також запроваджує певні компроміси, про які слід знати:
51
+ Хоча компілятор пропонує чудовий досвід «just works», він також вносить певні компроміси, про які варто знати:
52
52
 
53
- - **Heuristic ambiguity**: Компилятор має вгадувати, який контент призначений для користувача, а що, логіка додатка (наприклад, `className="active"`, коди статусу, ідентифікатори продуктів). У складних кодових базах це може призводити до хибних спрацьовувань або пропущених рядків, що вимагатимуть ручних анотацій та винятків.
54
- - **Static-only extraction**: Екстракція на основі компілятора спирається на статичний аналіз. Рядки, які існують лише під час виконання (коди помилок API, поля CMS тощо), не можуть бути виявлені або перекладені лише компілятором, тому вам усе одно потрібна додаткова стратегія i18n на рівні виконання.
53
+ - **Евристична неоднозначність**: Компілятор має вгадувати, що є контентом для користувача, а що логікою додатка (наприклад, `className="active"`, коди статусів, ID продуктів). У складних кодових базах це може призводити до хибних спрацьовувань або пропущених рядків, що вимагатиме ручних анотацій та винятків.
54
+ - **Тільки статична екстракція**: Екстракція на основі компілятора покладається на статичний аналіз. Рядки, які існують лише під час виконання (коди помилок API, поля CMS тощо), не можуть бути виявлені або перекладені лише компілятором, тому вам усе одно знадобиться додаткова стратегія i18n під час виконання.
55
55
 
56
- Для більш глибокого архітектурного порівняння див. публікацію в блозі [Compiler vs. Declarative i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/uk/compiler_vs_declarative_i18n.md).
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 також надає команду автоматичної екстракції `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)).
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 тощо) найпростіший спосіб використовувати компілятор, через плагін `vite-intlayer`.
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
- ```ts fileName="intlayer.config.ts"
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
- * Pattern to traverse the code to optimize.
169
- */
170
- transformPattern: [
171
- "**/*.{js,ts,mjs,cjs,jsx,tsx,vue,svelte}",
172
- "!**/node_modules/**",
173
- ],
174
-
175
- /**
176
- * Pattern to exclude from the optimization.
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
- excludePattern: ["**/node_modules/**"],
207
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
179
208
 
180
209
  /**
181
- * Вихідний каталог для оптимізованих словників.
210
+ * Вказує, чи мають компоненти зберігатися після трансформації.
211
+ * Таким чином компілятор можна запустити лише один раз для трансформації додатка, а потім видалити.
182
212
  */
183
- output: ({ key }) => `compiler/${key}.content.json`,
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: "", // Remove base prefix
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
- - _Типово_: `'comp-'`
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
- - _Приклад_: Якщо `true`:
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)