@intlayer/docs 9.2.0 → 9.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 (233) hide show
  1. package/README.md +24 -24
  2. package/blog/ar/index.md +1 -1
  3. package/blog/ar/rag_powered_documentation_assistant.md +1 -1
  4. package/blog/de/index.md +1 -1
  5. package/blog/en/index.md +1 -1
  6. package/blog/en-GB/index.md +1 -1
  7. package/blog/es/index.md +1 -1
  8. package/blog/fr/index.md +1 -1
  9. package/blog/hi/index.md +1 -1
  10. package/blog/id/index.md +1 -1
  11. package/blog/it/index.md +1 -1
  12. package/blog/ja/index.md +1 -1
  13. package/blog/ko/index.md +1 -1
  14. package/blog/pl/index.md +1 -1
  15. package/blog/pl/rag_powered_documentation_assistant.md +1 -1
  16. package/blog/pt/index.md +1 -1
  17. package/blog/ru/index.md +1 -1
  18. package/blog/uk/index.md +1 -1
  19. package/blog/vi/index.md +1 -1
  20. package/blog/zh/index.md +1 -1
  21. package/dist/cjs/_virtual/_rolldown/runtime.cjs +1 -2
  22. package/dist/cjs/authors2.cjs +0 -1
  23. package/dist/cjs/common.cjs +24 -1
  24. package/dist/cjs/common.cjs.map +1 -1
  25. package/dist/cjs/generated/blog.entry.cjs +35 -6
  26. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  27. package/dist/cjs/generated/docs.entry.cjs +35 -6
  28. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  29. package/dist/cjs/generated/frequentQuestions.entry.cjs +35 -6
  30. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  31. package/dist/cjs/generated/legal.entry.cjs +35 -6
  32. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  33. package/dist/esm/common.mjs +24 -1
  34. package/dist/esm/common.mjs.map +1 -1
  35. package/dist/esm/generated/blog.entry.mjs +35 -6
  36. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  37. package/dist/esm/generated/docs.entry.mjs +35 -6
  38. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  39. package/dist/esm/generated/frequentQuestions.entry.mjs +35 -6
  40. package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
  41. package/dist/esm/generated/legal.entry.mjs +35 -6
  42. package/dist/esm/generated/legal.entry.mjs.map +1 -1
  43. package/dist/types/common.d.ts.map +1 -1
  44. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  45. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  46. package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
  47. package/dist/types/generated/legal.entry.d.ts.map +1 -1
  48. package/docs/ar/bundle_optimization.md +58 -25
  49. package/docs/ar/configuration.md +10 -10
  50. package/docs/ar/interest_of_intlayer.md +24 -22
  51. package/docs/ar/intlayer_with_express.md +1 -1
  52. package/docs/ar/intlayer_with_svelte_kit.md +1 -1
  53. package/docs/ar/intlayer_with_tanstack+solid.md +5 -3
  54. package/docs/ar/intlayer_with_tanstack.md +5 -3
  55. package/docs/ar/live-sync.md +4 -0
  56. package/docs/ar/lsp.md +114 -175
  57. package/docs/ar/readme.md +25 -25
  58. package/docs/bn/bundle_optimization.md +58 -25
  59. package/docs/bn/configuration.md +10 -10
  60. package/docs/bn/interest_of_intlayer.md +24 -22
  61. package/docs/cs/bundle_optimization.md +58 -25
  62. package/docs/cs/configuration.md +10 -10
  63. package/docs/cs/interest_of_intlayer.md +24 -22
  64. package/docs/de/bundle_optimization.md +58 -25
  65. package/docs/de/configuration.md +10 -10
  66. package/docs/de/interest_of_intlayer.md +24 -22
  67. package/docs/de/intlayer_with_svelte_kit.md +1 -1
  68. package/docs/de/intlayer_with_tanstack+solid.md +5 -3
  69. package/docs/de/intlayer_with_tanstack.md +5 -3
  70. package/docs/de/live-sync.md +4 -0
  71. package/docs/de/lsp.md +111 -172
  72. package/docs/de/readme.md +24 -24
  73. package/docs/en/bundle_optimization.md +51 -23
  74. package/docs/en/configuration.md +10 -10
  75. package/docs/en/interest_of_intlayer.md +24 -22
  76. package/docs/en/intlayer_with_svelte_kit.md +1 -1
  77. package/docs/en/intlayer_with_tanstack+solid.md +5 -3
  78. package/docs/en/intlayer_with_tanstack.md +5 -3
  79. package/docs/en/live-sync.md +4 -0
  80. package/docs/en/lsp.md +109 -170
  81. package/docs/en/readme.md +24 -24
  82. package/docs/en-GB/bundle_optimization.md +58 -25
  83. package/docs/en-GB/configuration.md +10 -10
  84. package/docs/en-GB/interest_of_intlayer.md +24 -22
  85. package/docs/en-GB/intlayer_with_svelte_kit.md +1 -1
  86. package/docs/en-GB/intlayer_with_tanstack+solid.md +5 -3
  87. package/docs/en-GB/intlayer_with_tanstack.md +5 -3
  88. package/docs/en-GB/live-sync.md +4 -0
  89. package/docs/en-GB/lsp.md +109 -170
  90. package/docs/en-GB/readme.md +24 -24
  91. package/docs/es/bundle_optimization.md +58 -25
  92. package/docs/es/configuration.md +10 -10
  93. package/docs/es/interest_of_intlayer.md +24 -22
  94. package/docs/es/intlayer_with_svelte_kit.md +1 -1
  95. package/docs/es/intlayer_with_tanstack+solid.md +5 -3
  96. package/docs/es/intlayer_with_tanstack.md +5 -3
  97. package/docs/es/live-sync.md +4 -0
  98. package/docs/es/lsp.md +114 -175
  99. package/docs/es/readme.md +24 -24
  100. package/docs/fr/bundle_optimization.md +58 -25
  101. package/docs/fr/configuration.md +10 -10
  102. package/docs/fr/interest_of_intlayer.md +24 -22
  103. package/docs/fr/intlayer_with_svelte_kit.md +1 -1
  104. package/docs/fr/intlayer_with_tanstack+solid.md +5 -3
  105. package/docs/fr/intlayer_with_tanstack.md +5 -3
  106. package/docs/fr/live-sync.md +4 -0
  107. package/docs/fr/lsp.md +110 -171
  108. package/docs/fr/readme.md +24 -24
  109. package/docs/hi/bundle_optimization.md +58 -25
  110. package/docs/hi/configuration.md +10 -10
  111. package/docs/hi/interest_of_intlayer.md +24 -22
  112. package/docs/hi/intlayer_with_express.md +1 -1
  113. package/docs/hi/intlayer_with_svelte_kit.md +1 -1
  114. package/docs/hi/intlayer_with_tanstack+solid.md +5 -3
  115. package/docs/hi/intlayer_with_tanstack.md +5 -3
  116. package/docs/hi/live-sync.md +4 -0
  117. package/docs/hi/lsp.md +113 -174
  118. package/docs/hi/readme.md +24 -24
  119. package/docs/id/bundle_optimization.md +58 -25
  120. package/docs/id/configuration.md +10 -10
  121. package/docs/id/interest_of_intlayer.md +24 -22
  122. package/docs/id/intlayer_with_svelte_kit.md +1 -1
  123. package/docs/id/intlayer_with_tanstack+solid.md +5 -3
  124. package/docs/id/intlayer_with_tanstack.md +5 -3
  125. package/docs/id/live-sync.md +4 -0
  126. package/docs/id/lsp.md +113 -174
  127. package/docs/id/readme.md +24 -24
  128. package/docs/it/bundle_optimization.md +58 -25
  129. package/docs/it/configuration.md +10 -10
  130. package/docs/it/interest_of_intlayer.md +24 -22
  131. package/docs/it/intlayer_with_svelte_kit.md +1 -1
  132. package/docs/it/intlayer_with_tanstack+solid.md +5 -3
  133. package/docs/it/intlayer_with_tanstack.md +5 -3
  134. package/docs/it/live-sync.md +4 -0
  135. package/docs/it/lsp.md +115 -176
  136. package/docs/it/readme.md +24 -24
  137. package/docs/ja/bundle_optimization.md +58 -25
  138. package/docs/ja/configuration.md +10 -10
  139. package/docs/ja/interest_of_intlayer.md +24 -22
  140. package/docs/ja/intlayer_with_tanstack+solid.md +5 -3
  141. package/docs/ja/intlayer_with_tanstack.md +5 -3
  142. package/docs/ja/live-sync.md +4 -0
  143. package/docs/ja/lsp.md +113 -174
  144. package/docs/ja/readme.md +24 -24
  145. package/docs/ko/bundle_optimization.md +58 -25
  146. package/docs/ko/configuration.md +10 -10
  147. package/docs/ko/interest_of_intlayer.md +24 -22
  148. package/docs/ko/intlayer_with_svelte_kit.md +1 -1
  149. package/docs/ko/intlayer_with_tanstack+solid.md +5 -3
  150. package/docs/ko/intlayer_with_tanstack.md +5 -3
  151. package/docs/ko/live-sync.md +4 -0
  152. package/docs/ko/lsp.md +112 -173
  153. package/docs/ko/readme.md +24 -24
  154. package/docs/nl/bundle_optimization.md +58 -25
  155. package/docs/nl/configuration.md +10 -10
  156. package/docs/nl/interest_of_intlayer.md +24 -22
  157. package/docs/pl/bundle_optimization.md +58 -25
  158. package/docs/pl/configuration.md +10 -10
  159. package/docs/pl/interest_of_intlayer.md +4 -2
  160. package/docs/pl/intlayer_with_svelte_kit.md +1 -1
  161. package/docs/pl/intlayer_with_tanstack+solid.md +5 -3
  162. package/docs/pl/intlayer_with_tanstack.md +5 -3
  163. package/docs/pl/live-sync.md +4 -0
  164. package/docs/pl/lsp.md +115 -176
  165. package/docs/pl/readme.md +24 -24
  166. package/docs/pt/bundle_optimization.md +58 -24
  167. package/docs/pt/configuration.md +10 -10
  168. package/docs/pt/interest_of_intlayer.md +24 -22
  169. package/docs/pt/intlayer_with_svelte_kit.md +1 -1
  170. package/docs/pt/intlayer_with_tanstack+solid.md +5 -3
  171. package/docs/pt/intlayer_with_tanstack.md +5 -3
  172. package/docs/pt/live-sync.md +4 -0
  173. package/docs/pt/lsp.md +113 -174
  174. package/docs/pt/readme.md +24 -24
  175. package/docs/ru/bundle_optimization.md +58 -25
  176. package/docs/ru/configuration.md +10 -10
  177. package/docs/ru/interest_of_intlayer.md +24 -22
  178. package/docs/ru/intlayer_with_nextjs_14.md +1 -1
  179. package/docs/ru/intlayer_with_nextjs_15.md +1 -1
  180. package/docs/ru/intlayer_with_svelte_kit.md +1 -1
  181. package/docs/ru/intlayer_with_tanstack+solid.md +5 -3
  182. package/docs/ru/intlayer_with_tanstack.md +5 -3
  183. package/docs/ru/live-sync.md +4 -0
  184. package/docs/ru/lsp.md +112 -173
  185. package/docs/ru/readme.md +24 -24
  186. package/docs/tr/bundle_optimization.md +58 -25
  187. package/docs/tr/configuration.md +10 -10
  188. package/docs/tr/interest_of_intlayer.md +24 -22
  189. package/docs/tr/intlayer_with_svelte_kit.md +1 -1
  190. package/docs/tr/intlayer_with_tanstack+solid.md +5 -3
  191. package/docs/tr/intlayer_with_tanstack.md +5 -3
  192. package/docs/tr/live-sync.md +4 -0
  193. package/docs/tr/lsp.md +113 -174
  194. package/docs/tr/readme.md +24 -24
  195. package/docs/uk/bundle_optimization.md +58 -25
  196. package/docs/uk/configuration.md +10 -10
  197. package/docs/uk/interest_of_intlayer.md +4 -2
  198. package/docs/uk/intlayer_with_svelte_kit.md +1 -1
  199. package/docs/uk/intlayer_with_tanstack+solid.md +5 -3
  200. package/docs/uk/intlayer_with_tanstack.md +5 -3
  201. package/docs/uk/live-sync.md +4 -0
  202. package/docs/uk/lsp.md +113 -174
  203. package/docs/uk/per_locale_file.md +1 -1
  204. package/docs/uk/readme.md +24 -24
  205. package/docs/ur/bundle_optimization.md +58 -25
  206. package/docs/ur/configuration.md +10 -10
  207. package/docs/ur/interest_of_intlayer.md +24 -22
  208. package/docs/vi/bundle_optimization.md +58 -25
  209. package/docs/vi/configuration.md +10 -10
  210. package/docs/vi/interest_of_intlayer.md +24 -22
  211. package/docs/vi/intlayer_with_svelte_kit.md +1 -1
  212. package/docs/vi/intlayer_with_tanstack+solid.md +5 -3
  213. package/docs/vi/intlayer_with_tanstack.md +5 -3
  214. package/docs/vi/live-sync.md +4 -0
  215. package/docs/vi/lsp.md +115 -176
  216. package/docs/vi/readme.md +24 -24
  217. package/docs/zh/bundle_optimization.md +58 -25
  218. package/docs/zh/configuration.md +10 -10
  219. package/docs/zh/interest_of_intlayer.md +24 -22
  220. package/docs/zh/intlayer_with_svelte_kit.md +1 -1
  221. package/docs/zh/intlayer_with_tanstack+solid.md +5 -3
  222. package/docs/zh/intlayer_with_tanstack.md +5 -3
  223. package/docs/zh/live-sync.md +4 -0
  224. package/docs/zh/lsp.md +113 -174
  225. package/docs/zh/readme.md +21 -21
  226. package/docs/zh-TW/bundle_optimization.md +58 -25
  227. package/docs/zh-TW/interest_of_intlayer.md +24 -22
  228. package/package.json +7 -7
  229. package/src/common.ts +39 -2
  230. package/src/generated/blog.entry.ts +39 -7
  231. package/src/generated/docs.entry.ts +39 -7
  232. package/src/generated/frequentQuestions.entry.ts +39 -7
  233. package/src/generated/legal.entry.ts +39 -7
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-11-25
3
- updatedAt: 2026-06-07
3
+ updatedAt: 2026-08-09
4
4
  title: i18n Paket Boyutu ve Performans Optimizasyonu
5
5
  description: Uluslararasılaştırma (i18n) içeriğini optimize ederek uygulama paket boyutunuzu küçültün. Intlayer ile sözlükler için tree shaking ve lazy loading'i nasıl kullanacağınızı öğrenin.
6
6
  keywords:
@@ -16,6 +16,12 @@ slugs:
16
16
  - concept
17
17
  - bundle-optimization
18
18
  history:
19
+ - version: 9.2.1
20
+ date: 2026-08-09
21
+ changes: "`purge` ve `minify` artık `@intlayer/swc` aracılığıyla Next.js'te çalışıyor — `babel.config.js` gerekmiyor"
22
+ - version: 8.12.0
23
+ date: 2026-06-24
24
+ changes: "Babel eklentilerini referans tablolarında gerekli pipeline sırasına göre listeleme (extract → purge → minify → optimize)"
19
25
  - version: 8.12.0
20
26
  date: 2026-06-07
21
27
  changes: "Babel/Webpack için `intlayerPurgeBabelPlugin` ve `intlayerMinifyBabelPlugin` eklendi; eklenti (plugin) süreci netleştirildi"
@@ -191,12 +197,14 @@ Intlayer'ın derleme optimizasyonu, her birinin tek bir sorumluluğu olduğu bir
191
197
 
192
198
  Bunlar doğrudan Webpack tabanlı yapılandırmalarda (Babel ile kullanılan Next.js, CRA, özel Webpack vb.) `babel.config.js` içinde kullanılır.
193
199
 
200
+ Aşağıdaki tablo bunları gerekli pipeline sırasına göre listeler (`babel.config.js` içinde görünmeleri gereken sırayla aynı):
201
+
194
202
  | Eklenti | Ne yapar |
195
203
  | :---------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------- |
196
204
  | `intlayerExtractBabelPlugin` | `.content.ts` dosyalarını tarayarak derlenmiş sözlükleri `.intlayer/` altına yazar |
197
- | `intlayerOptimizeBabelPlugin` | `useIntlayer('key')` çağrısını `useDictionary(hash)` olarak yeniden yazar ve ilgili sözlük için eşleşen bir `import` ifadesi enjekte eder |
198
205
  | `intlayerPurgeBabelPlugin` | Tüm kaynak dosyaları tarar, derlenmiş `.intlayer/**/*.json` sözlük dosyalarından **kullanılmayan içerik alanlarını** temizler |
199
206
  | `intlayerMinifyBabelPlugin` | JSON dosyalarındaki ve kaynak koddaki **içerik alanı anahtarlarını kısa alfabetik isimlere (alias)** (`title` → `a`) dönüştürür |
207
+ | `intlayerOptimizeBabelPlugin` | `useIntlayer('key')` çağrısını `useDictionary(hash)` olarak yeniden yazar ve ilgili sözlük için eşleşen bir `import` ifadesi enjekte eder |
200
208
 
201
209
  > **Eklenti sırası önemlidir.** `babel.config.js` dosyanızda purge ve minify eklentileri optimize eklentisinden **önce** gelmelidir. Optimize aşaması `useIntlayer('key')` öğesini belirsiz bir `useDictionary(hash)` çağrısı ile değiştirdiğinden, purge ve minify işlemlerinin hangi alanların kullanıldığını tespit edebilmesi için gerekli olan sözlük anahtar bilgisi kaybolur.
202
210
 
@@ -205,9 +213,9 @@ Her Babel eklentisi, yapılandırma yüklenme zamanında `intlayer.config.ts`'yi
205
213
  | Opsiyon yardımcısı | Birlikte kullanıldığı eklenti |
206
214
  | :--------------------------- | :---------------------------- |
207
215
  | `getExtractPluginOptions()` | `intlayerExtractBabelPlugin` |
208
- | `getOptimizePluginOptions()` | `intlayerOptimizeBabelPlugin` |
209
216
  | `getPurgePluginOptions()` | `intlayerPurgeBabelPlugin` |
210
217
  | `getMinifyPluginOptions()` | `intlayerMinifyBabelPlugin` |
218
+ | `getOptimizePluginOptions()` | `intlayerOptimizeBabelPlugin` |
211
219
 
212
220
  ### Vite eklentileri (`vite-intlayer`)
213
221
 
@@ -220,6 +228,20 @@ Vite kullanıcıları **bunları asla doğrudan yapılandırmaz**. Bunlar `vite.
220
228
  | Dictionary minify | `intlayerMinifyBabelPlugin` JSON yazma adımı ile aynı |
221
229
  | Babel transform | `intlayerMinifyBabelPlugin` kaynak kod yeniden adlandırması + `intlayerOptimizeBabelPlugin` aynı |
222
230
 
231
+ ### SWC eklentisi (`@intlayer/swc`)
232
+
233
+ Next.js kullanıcıları da **bunları asla doğrudan yapılandırmaz**. **v9.2.1**'den itibaren `next.config.ts` içindeki `withIntlayer()`, yalnızca `build.purge` ve `build.minify` bayraklarına dayanarak tüm pipeline'ı — purge, minify ve import yeniden yazımını — çalıştırır.
234
+
235
+ İş ikiye bölünmüştür, çünkü bir SWC Wasm eklentisi her seferinde tek bir dosyayı dönüştürür ve dosya sistemine erişimi yoktur:
236
+
237
+ | Geçiş | Nerede çalışır | Ne yapar |
238
+ | :-------------------------------------------------- | :---------------------------- | :------------------------------------------------------------------------------------------------------------------------ |
239
+ | Kullanım analizi + JSON purge/minify | Node, `withIntlayer()` içinde | Her bileşen kaynak dosyasını okur, `.intlayer/**/*.json` dosyalarını yeniden yazar, yeniden adlandırma tablolarını üretir |
240
+ | Kaynak kodu yeniden yazımı (`content.title` → `.a`) | `@intlayer/swc` (Wasm) | Yeniden adlandırma tablolarını kodunuzdaki eşleşen özellik erişimlerine uygular |
241
+ | Import yeniden yazımı (`useIntlayer` → dict) | `@intlayer/swc` (Wasm) | `intlayerOptimizeBabelPlugin` ile aynı |
242
+
243
+ _Hangi_ alanların kullanılmadığına ve her birinin _hangi_ takma adı alacağına karar vermek dosyalar arası durum ve dosya G/Ç gerektirir; bu nedenle bu yarısı Node'da çalışır ve SWC eklentisi yalnızca ortaya çıkan tabloları alır.
244
+
223
245
  ## Platforma Göre Kurulum
224
246
 
225
247
  <Tabs>
@@ -227,10 +249,12 @@ Vite kullanıcıları **bunları asla doğrudan yapılandırmaz**. Bunlar `vite.
227
249
 
228
250
  ### Next.js
229
251
 
230
- Next.js, derleme işlemleri için SWC kullandığından, optimize adımı (import yeniden yazma) için `@intlayer/swc` eklentisine ihtiyaç duyar.
252
+ Next.js, derlemeler için SWC kullandığından `@intlayer/swc` eklentisini gerektirir. **v9.2.1**'den itibaren bu tek paket tüm pipeline'ı kapsar — optimize (import yeniden yazımı), purge ve minify.
231
253
 
232
254
  > Bu eklenti varsayılan olarak yüklenmez çünkü SWC eklentileri Next.js için hala deneysel aşamadadır. İlerleyen zamanlarda bu durum değişebilir.
233
255
 
256
+ > **Next.js 16.1.0 minimum sürümdür.** SWC'nin ileriye dönük uyumlu Wasm eklenti ABI'si üzerine kurulan ilk sürümdür; daha eski sürümler eklentiyi reddeder. `withIntlayer` projenizin Next.js sürümünü okur ve 16.1.0'ın altında eklentiyi hiç kaydetmez — bu derlemeler yine de başarılı olur, sadece paket optimizasyonu olmadan çalışır.
257
+
234
258
  <Tabs>
235
259
  <Tab value="npm">
236
260
 
@@ -265,33 +289,40 @@ intlayer-swc-plugin = "*"
265
289
 
266
290
  Yüklendikten sonra Intlayer eklentiyi otomatik olarak algılar ve kullanır.
267
291
 
268
- **Purge ve minify** adımları için (alan kaldırma ve alan yeniden adlandırma), bununla birlikte `@intlayer/babel` paketini de kurun ve Babel eklentilerini ekleyin. Next.js dönüşüm için SWC'yi kullansa da, eklenti yapılandırması için hala `babel.config.js` dosyasını kontrol ettiği için Babel eklentileri SWC'den önceki bir adım olarak çalışır.
292
+ **Purge ve minify** geçişleri (alan kaldırma ve alan yeniden adlandırma) ek bir paket veya `babel.config.js` gerektirmez. Yapılandırmanızı `withIntlayer` ile sarın ve bayrakları `intlayer.config.ts` içinde açın:
269
293
 
270
- ```bash packageManager="npm"
271
- npm install -D @intlayer/babel
294
+ ```typescript fileName="next.config.ts"
295
+ import { withIntlayer } from "next-intlayer/server";
296
+ import type { NextConfig } from "next";
297
+
298
+ const nextConfig: NextConfig = {/* yapılandırmanız */};
299
+
300
+ export default withIntlayer(nextConfig);
272
301
  ```
273
302
 
274
- ```javascript fileName="babel.config.js"
275
- const {
276
- intlayerPurgeBabelPlugin,
277
- intlayerMinifyBabelPlugin,
278
- getPurgePluginOptions,
279
- getMinifyPluginOptions,
280
- } = require("@intlayer/babel");
303
+ ```typescript fileName="intlayer.config.ts"
304
+ import type { IntlayerConfig } from "intlayer";
281
305
 
282
- module.exports = {
283
- presets: ["next/babel"],
284
- plugins: [
285
- // Purge: kullanılmayan içerik alanlarını .intlayer/**/*.json'dan siler
286
- [intlayerPurgeBabelPlugin, getPurgePluginOptions()],
287
- // Minify: JSON + kaynak kodunda içerik alanı anahtarlarını yeniden adlandırır
288
- [intlayerMinifyBabelPlugin, getMinifyPluginOptions()],
289
- // Not: intlayerOptimizeBabelPlugin burada GEREKLİ DEĞİLDİR çünkü
290
- // @intlayer/swc paketi useIntlayer → useDictionary değişikliğini halleder.
291
- ],
306
+ const config: IntlayerConfig = {
307
+ build: {
308
+ purge: true, // paketlenen JSON'dan kullanılmayan içerik alanlarını kaldırır
309
+ minify: true, // içerik alanı anahtarlarını kısa takma adlara dönüştürür
310
+ },
292
311
  };
312
+
313
+ export default config;
293
314
  ```
294
315
 
316
+ `next build` sırasında `withIntlayer` kaynaklarınızı analiz eder, derlenmiş sözlükleri yeniden yazar ve elde edilen alan yeniden adlandırma tablolarını `@intlayer/swc` eklentisine iletir; eklenti de kodunuzdaki eşleşen özellik erişimlerini günceller.
317
+
318
+ > `withIntlayerSync` yerine asenkron `withIntlayer` kullanın. Senkron sürüm analiz pipeline'ını çalıştırmaz, bu nedenle purge ve minify onunla hiçbir etki yaratmaz.
319
+
320
+ > Purge ve minify yalnızca `next build` sırasında çalışır — optimize pipeline'ı `next dev` sırasında kapalıdır.
321
+
322
+ > Uyumluluk adaptörü çağıranları yapılandırıldığında da devre dışı kalırlar (`swcExtraCallers`; `@intlayer/next-intl` veya `@intlayer/react-i18next` gibi uyumluluk paketleri tarafından ayarlanır): bu çağrı noktaları kullanım analizörüne görünmez, dolayısıyla purge kodun hâlâ okuduğu alanları kaldırırdı. Import yeniden yazımı etkin kalır.
323
+
324
+ **Daha eski sürümler (9.2.1 öncesi)** `@intlayer/babel` paketini ve `intlayerPurgeBabelPlugin` ile `intlayerMinifyBabelPlugin` tanımlayan bir `babel.config.js` dosyasını gerektiriyordu. Bu dosya artık gerekli değildir ve silinebilir.
325
+
295
326
  </Tab>
296
327
  <Tab value="vite">
297
328
 
@@ -447,6 +478,8 @@ export default config;
447
478
 
448
479
  > `optimize` seçeneği `false` olduğunda veya `editor.enabled` `true` olduğunda minification atlanır (görsel düzenleyicinin düzenlemeye olanak tanıması için orijinal alan isimlerine ihtiyacı vardır).
449
480
 
481
+ > Next.js'te minifikasyon, `@intlayer/swc` kurulu değilse veya yüklenemiyorsa (16.1.0 altındaki Next.js) da atlanır. Eklenti, kaynak kodundaki erişimleri yeniden yazan yarıdır; onsuz sözlükleri yeniden adlandırmak kodunuzun artık var olmayan alan adlarını okumasına yol açardı.
482
+
450
483
  > Ayrıca, JSON'ların orijinal isimleriyle uzak (remote) API'den getirildiği durumlarda, yani sözlüklerin `importMode: 'fetch'` ile yüklendiği durumlarda da atlanır — istemci tarafındaki (client-side) isimleri değiştirmek sunucu/istemci sözleşmesini bozacaktır.
451
484
 
452
485
  ### Purging (kullanılmayan alanların silinmesi)
@@ -475,7 +508,7 @@ export default config;
475
508
  { "title": "…", "subtitle": "…" }
476
509
  ```
477
510
 
478
- > `optimize` `false` olduğunda veya `editor.enabled` `true` olduğunda Purge işlemi atlanır.
511
+ > `optimize` `false` olduğunda veya `editor.enabled` `true` olduğunda Purge işlemi atlanır. Next.js'te ayrıca `@intlayer/swc` kullanılamadığında ve uyumluluk adaptörü çağıranları yapılandırıldığında atlanır.
479
512
 
480
513
  > Ayrıca, bir kaynak dosyasının ayrıştırılamadığı veya `useIntlayer` sonucunun bir değişkene atanıp (örneğin objeye yayılması, parçalama (destructuring) yapılmadan bir prop olarak iletilmesi gibi) statik analiz aracının takip edemeyeceği yollarla gönderildiği durumlarda Purge işlemi tedbir amaçlı olarak atlanır. Bu durumlarda tüm sözlük bozulmadan korunur.
481
514
 
@@ -404,7 +404,7 @@ const config: IntlayerConfig = {
404
404
  ai: {
405
405
  /**
406
406
  * Kullanılacak yapay zeka sağlayıcısı.
407
- * Seçenekler: 'openai', 'anthropic', 'mistral', 'deepseek', 'gemini', 'ollama', 'openrouter', 'alibaba', 'fireworks', 'groq', 'huggingface', 'bedrock', 'googlevertex', 'togetherai', 'lmstudio'
407
+ * Seçenekler: 'openai', 'anthropic', 'mistral', 'deepseek', 'gemini', 'ollama', 'openrouter', 'alibaba', 'fireworks', 'groq', 'huggingface', 'bedrock', 'googlevertex', 'togetherai', 'lmstudio', 'moonshotai'
408
408
  * Varsayılan: 'openai'
409
409
  */
410
410
  provider: "openai",
@@ -1032,15 +1032,15 @@ Intlayer, maksimum esneklik için birden fazla yapay zeka sağlayıcısını des
1032
1032
  - **Together.ai**
1033
1033
  - **LM Studio**
1034
1034
 
1035
- | Alan | Açıklama | Tür | Varsayılan | Örnek | Not |
1036
- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------- | ------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1037
- | `provider` | Intlayer yapay zeka özellikleri için kullanılacak sağlayıcı. | `'openai'` &#124; <br/> `'anthropic'` &#124; <br/> `'mistral'` &#124; <br/> `'deepseek'` &#124; <br/> `'gemini'` &#124; <br/> `'ollama'` &#124; <br/> `'openrouter'` &#124; <br/> `'alibaba'` &#124; <br/> `'fireworks'` &#124; <br/> `'groq'` &#124; <br/> `'huggingface'` &#124; <br/> `'bedrock'` &#124; <br/> `'googleaistudio'` &#124; <br/> `'googlevertex'` &#124; <br/> `'togetherai'` &#124; <br/> `'lmstudio'` | `undefined` | `'anthropic'` | Farklı sağlayıcılar farklı API anahtarları gerektirir ve farklı fiyatlandırmalara sahiptir. |
1038
- | `model` | Yapay zeka özellikleri için kullanılacak model. | `string` | Yok | `'gpt-4o-2024-11-20'` | Belirli model sağlayıcıya göre değişir. |
1039
- | `temperature` | Yapay zeka yanıtlarının rastgeleliğini kontrol eder. | `number` | Yok | `0.1` | Daha yüksek sıcaklık = daha yaratıcı ve daha az tahmin edilebilir. |
1040
- | `apiKey` | Seçilen sağlayıcı için API anahtarınız. | `string` | Yok | `process.env.OPENAI_API_KEY` | Gizli tutulmalıdır; ortam değişkenlerinde saklayın. |
1041
- | `applicationContext` | Yapay zekanın daha doğru çeviriler üretmesine yardımcı olmak için uygulamanız hakkında ek bağlam (alan adı, hedef kitle, ton, terminoloji). | `string` | Yok | `'Kendi uygulama bağlamım'` | Kurallar eklemek için kullanılabilir (örneğin: `"URL'leri dönüştürmemelisiniz"`). |
1042
- | `baseURL` | Yapay zeka API'si için temel URL. | `string` | Yok | `'https://api.openai.com/v1'` <br/> `'http://localhost:5000'` | Yerel veya özel bir yapay zeka API uç noktasına işaret edebilir. |
1043
- | `dataSerialization` | Yapay zeka özellikleri için veri serileştirme formatı. | `'json'` &#124; <br/> `'toon'` | `undefined` | `'toon'` | • `'json'`: varsayılan, güvenilir; daha fazla token kullanır.<br/>• `'toon'`: daha az token, daha az tutarlı.<br/>• Modele bağlam olarak ek parametreler iletilir (akıl yürütme çabası vb.). |
1035
+ | Alan | Açıklama | Tür | Varsayılan | Örnek | Not |
1036
+ | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | ------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1037
+ | `provider` | Intlayer yapay zeka özellikleri için kullanılacak sağlayıcı. | `'openai'` &#124; <br/> `'anthropic'` &#124; <br/> `'mistral'` &#124; <br/> `'deepseek'` &#124; <br/> `'gemini'` &#124; <br/> `'ollama'` &#124; <br/> `'openrouter'` &#124; <br/> `'alibaba'` &#124; <br/> `'fireworks'` &#124; <br/> `'groq'` &#124; <br/> `'huggingface'` &#124; <br/> `'bedrock'` &#124; <br/> `'googleaistudio'` &#124; <br/> `'googlevertex'` &#124; <br/> `'togetherai'` &#124; <br/> `'lmstudio'` &#124; <br/> `'moonshotai'` | `undefined` | `'anthropic'` | Farklı sağlayıcılar farklı API anahtarları gerektirir ve farklı fiyatlandırmalara sahiptir. |
1038
+ | `model` | Yapay zeka özellikleri için kullanılacak model. | `string` | Yok | `'gpt-4o-2024-11-20'` | Belirli model sağlayıcıya göre değişir. |
1039
+ | `temperature` | Yapay zeka yanıtlarının rastgeleliğini kontrol eder. | `number` | Yok | `0.1` | Daha yüksek sıcaklık = daha yaratıcı ve daha az tahmin edilebilir. |
1040
+ | `apiKey` | Seçilen sağlayıcı için API anahtarınız. | `string` | Yok | `process.env.OPENAI_API_KEY` | Gizli tutulmalıdır; ortam değişkenlerinde saklayın. |
1041
+ | `applicationContext` | Yapay zekanın daha doğru çeviriler üretmesine yardımcı olmak için uygulamanız hakkında ek bağlam (alan adı, hedef kitle, ton, terminoloji). | `string` | Yok | `'Kendi uygulama bağlamım'` | Kurallar eklemek için kullanılabilir (örneğin: `"URL'leri dönüştürmemelisiniz"`). |
1042
+ | `baseURL` | Yapay zeka API'si için temel URL. | `string` | Yok | `'https://api.openai.com/v1'` <br/> `'http://localhost:5000'` | Yerel veya özel bir yapay zeka API uç noktasına işaret edebilir. |
1043
+ | `dataSerialization` | Yapay zeka özellikleri için veri serileştirme formatı. | `'json'` &#124; <br/> `'toon'` | `undefined` | `'toon'` | • `'json'`: varsayılan, güvenilir; daha fazla token kullanır.<br/>• `'toon'`: daha az token, daha az tutarlı.<br/>• Modele bağlam olarak ek parametreler iletilir (akıl yürütme çabası vb.). |
1044
1044
 
1045
1045
  ---
1046
1046
 
@@ -207,7 +207,7 @@ export const ComponentExample = () => {
207
207
  Bu yaklaşım şunları yapmanızı sağlar:
208
208
 
209
209
  1. **Geliştirme hızını artırın**
210
- - `.content.{{ts|mjs|cjs|json}}` dosyaları bir VSCode eklentisi kullanılarak oluşturulabilir
210
+ - `.content.{ts|js|mjs|cjs|json|tsx|jsx|md|mdx|yaml|yml}` dosyaları bir VSCode eklentisi kullanılarak oluşturulabilir
211
211
  - IDE'nizdeki AI otomatik tamamlama araçları (GitHub Copilot gibi) içeriğinizi bildirmenize yardımcı olarak kopyala/yapıştır işlemlerini azaltabilir
212
212
 
213
213
  2. **Kod tabanınızı temizleyin**
@@ -231,27 +231,27 @@ Bu yaklaşım şunları yapmanızı sağlar:
231
231
 
232
232
  ## Intlayer'ın Ek Özellikleri
233
233
 
234
- | Özellik | Açıklama |
235
- | ------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
236
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/frameworks.png?raw=true) | **Çoklu Framework Desteği**<br><br>Intlayer; Next.js, React, Vite, Vue.js, Nuxt, Preact, Express ve daha fazlası dahil olmak üzere tüm büyük framework'ler ve kütüphanelerle uyumludur. |
237
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/javascript_content_management.jpg?raw=true) | **JavaScript Destekli İçerik Yönetimi**<br><br>İçeriğinizi verimli bir şekilde tanımlamak ve yönetmek için JavaScript'in esnekliğinden yararlanın. <br><br> - [İçerik bildirimi](https://intlayer.org/doc/concept/content) |
238
- | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.jpg?raw=true" alt="Feature" width="700"> | **Derleyici**<br><br>Intlayer Derleyicisi, bileşenlerden içeriği otomatik olarak çıkarır ve sözlük dosyalarını oluşturur.<br><br> - [Derleyici](https://intlayer.org/doc/compiler) |
239
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/per_locale_content_declaration_file.png?raw=true) | **Dil Başına İçerik Bildirim Dosyası**<br><br>Otomatik üretimden önce içeriğinizi bir kez bildirerek geliştirmenizi hızlandırın.<br><br> - [Dil Başına İçerik Bildirim Dosyası](https://intlayer.org/doc/concept/per-locale-file) |
240
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true) | **Tip Güvenlikli Ortam**<br><br>İçerik tanımlarınızın ve kodunuzun hatasız olmasını sağlamak için TypeScript'ten yararlanın ve aynı zamanda IDE otomatik tamamlamasından yararlanın.<br><br> - [TypeScript yapılandırması](https://intlayer.org/doc/environment/vite-and-react#configure-typescript) |
241
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/config_file.png?raw=true) | **Basitleştirilmiş Kurulum**<br><br>Minimum yapılandırma ile hızla kurun ve çalıştırın. Uluslararasılaştırma, yönlendirme, AI, derleme ve içerik işleme ayarlarını kolaylıkla yapın. <br><br> - [Next.js entegrasyonunu keşfedin](https://intlayer.org/doc/environment/nextjs) |
242
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/content_retrieval.png?raw=true) | **Basitleştirilmiş İçerik Çekme**<br><br>Her içerik parçası için `t` fonksiyonunuzu çağırmanıza gerek yok. Tek bir hook kullanarak tüm içeriğinizi doğrudan çekin.<br><br> - [React entegrasyonu](https://intlayer.org/doc/environment/create-react-app) |
243
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/server_component.png?raw=true) | **Tutarlı Server Component Uygulaması**<br><br>Next.js server component'leri için mükemmel şekilde uygundur; hem client hem de server component'leri için aynı uygulamayı kullanın, `t` fonksiyonunuzu her server component'e aktarmanıza gerek kalmaz. <br><br> - [Server Component'leri](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code) |
244
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/file_tree.png?raw=true) | **Düzenli Kod Tabanı**<br><br>Kod tabanınızı daha düzenli tutun: Aynı klasörde 1 bileşen = 1 sözlük. İlgili bileşenlerine yakın çeviriler, bakım kolaylığını ve netliği artırır. <br><br> - [Intlayer nasıl çalışır](https://intlayer.org/doc/concept/how-works-intlayer) |
245
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/url_routing.png?raw=true) | **Gelişmiş Yönlendirme**<br><br>Next.js, React, Vite, Vue.js vb. için karmaşık uygulama yapılarına sorunsuz bir şekilde uyum sağlayan tam uygulama yönlendirme desteği.<br><br> - [Next.js entegrasyonunu keşfedin](https://intlayer.org/doc/environment/nextjs) |
246
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/markdown.png?raw=true) | **Markdown Desteği**<br><br>Gizlilik politikaları, dokümantasyon vb. gibi çok dilli içerikler için yerel dosyaları ve uzak Markdown'ı içe aktarın ve yorumlayın. Kodunuzda Markdown meta verilerini yorumlayın ve erişilebilir hale getirin.<br><br> - [İçerik dosyaları](https://intlayer.org/doc/concept/content/file) |
247
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/visual_editor.png?raw=true) | **Ücretsiz Görsel Editör ve CMS**<br><br>İçerik yazarları için ücretsiz bir görsel editör ve CMS mevcuttur, bu da bir yerelleştirme platformuna olan ihtiyacı ortadan kaldırır. Git kullanarak içeriğinizi senkronize tutun veya CMS ile tamamen veya kısmen dışsallaştırın.<br><br> - [Intlayer Editörü](https://intlayer.org/doc/concept/editor) <br> - [Intlayer CMS](https://intlayer.org/doc/concept/cms) |
248
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/bundle.png?raw=true) | **Tree-shakable İçerik**<br><br>Nihai paket boyutunu azaltan tree-shakable içerik. İçeriği bileşen başına yükler, kullanılmayan içerikleri paketinizden hariç tutar. Uygulama yükleme verimliliğini artırmak için lazy loading desteği sunar. <br><br> - [Uygulama derleme optimizasyonu](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization) |
249
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/static_rendering.png?raw=true) | **Statik Oluşturma (Static Rendering)**<br><br>Statik Oluşturmayı engellemez. <br><br> - [Next.js entegrasyonu](https://intlayer.org/doc/environment/nextjs) |
250
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/AI_translation.png?raw=true) | **AI Destekli Çeviri**<br><br>Kendi AI sağlayıcınızı/API anahtarınızı kullanarak Intlayer'ın gelişmiş AI destekli çeviri araçlarıyla web sitenizi tek bir tıklamayla 231 dile dönüştürün. <br><br> - [CI/CD entegrasyonu](https://intlayer.org/doc/concept/ci-cd) <br> - [Intlayer CLI](https://intlayer.org/doc/concept/cli) <br> - [Otomatik Doldurma](https://intlayer.org/doc/concept/auto-fill) |
251
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/mcp.png?raw=true) | **MCP Sunucu Entegrasyonu**<br><br>IDE otomasyonu için bir MCP (Model Context Protocol) sunucusu sağlayarak, doğrudan geliştirme ortamınızda sorunsuz içerik yönetimi ve i18n iş akışları sağlar. <br><br> - [MCP Sunucusu](https://github.com/aymericzip/intlayer/blob/main/docs/tr/mcp_server.md) |
252
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/vscode_extension.png?raw=true) | **VSCode Eklentisi**<br><br>Intlayer, içeriğinizi ve çevirilerinizi yönetmenize, sözlüklerinizi derlemenize, içeriğinizi çevirmenize ve daha fazlasına yardımcı olacak bir VSCode eklentisi sağlar. <br><br> - [VSCode Eklentisi](https://intlayer.org/doc/vs-code-extension) |
253
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/interoperability.png?raw=true) | **Birlikte Çalışabilirlik**<br><br>react-i18next, next-i18next, next-intl ve react-intl ile birlikte çalışabilirliğe izin verir. <br><br> - [Intlayer ve react-intl](https://intlayer.org/blog/intlayer-with-react-intl) <br> - [Intlayer ve next-intl](https://intlayer.org/blog/intlayer-with-next-intl) <br> - [Intlayer ve next-i18next](https://intlayer.org/blog/intlayer-with-next-i18next) |
254
- | Eksik Çevirileri Test Etme (CLI/CI) | ✅ CLI: npx intlayer content test (CI dostu denetim) |
234
+ | Özellik | Açıklama |
235
+ | ------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
236
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/frameworks.png?raw=true) | **Çoklu Framework Desteği**<br><br>Intlayer; Next.js, React, Vite, Vue.js, Nuxt, Preact, Express ve daha fazlası dahil olmak üzere tüm büyük framework'ler ve kütüphanelerle uyumludur. |
237
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/javascript_content_management.jpg?raw=true) | **JavaScript Destekli İçerik Yönetimi**<br><br>İçeriğinizi verimli bir şekilde tanımlamak ve yönetmek için JavaScript'in esnekliğinden yararlanın. <br><br> - [İçerik bildirimi](https://intlayer.org/doc/concept/content) |
238
+ | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.jpg?raw=true" alt="Feature" width="700"> | **Derleyici**<br><br>Intlayer Derleyicisi, bileşenlerden içeriği otomatik olarak çıkarır ve sözlük dosyalarını oluşturur.<br><br> - [Derleyici](https://intlayer.org/doc/compiler) |
239
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/per_locale_content_declaration_file.png?raw=true) | **Dil Başına İçerik Bildirim Dosyası**<br><br>Otomatik üretimden önce içeriğinizi bir kez bildirerek geliştirmenizi hızlandırın.<br><br> - [Dil Başına İçerik Bildirim Dosyası](https://intlayer.org/doc/concept/per-locale-file) |
240
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true) | **Tip Güvenlikli Ortam**<br><br>İçerik tanımlarınızın ve kodunuzun hatasız olmasını sağlamak için TypeScript'ten yararlanın ve aynı zamanda IDE otomatik tamamlamasından yararlanın.<br><br> - [TypeScript yapılandırması](https://intlayer.org/doc/environment/vite-and-react#configure-typescript) |
241
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/config_file.png?raw=true) | **Basitleştirilmiş Kurulum**<br><br>Minimum yapılandırma ile hızla kurun ve çalıştırın. Uluslararasılaştırma, yönlendirme, AI, derleme ve içerik işleme ayarlarını kolaylıkla yapın. <br><br> - [Next.js entegrasyonunu keşfedin](https://intlayer.org/doc/environment/nextjs) |
242
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/content_retrieval.png?raw=true) | **Basitleştirilmiş İçerik Çekme**<br><br>Her içerik parçası için `t` fonksiyonunuzu çağırmanıza gerek yok. Tek bir hook kullanarak tüm içeriğinizi doğrudan çekin.<br><br> - [React entegrasyonu](https://intlayer.org/doc/environment/create-react-app) |
243
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/server_component.png?raw=true) | **Tutarlı Server Component Uygulaması**<br><br>Next.js server component'leri için mükemmel şekilde uygundur; hem client hem de server component'leri için aynı uygulamayı kullanın, `t` fonksiyonunuzu her server component'e aktarmanıza gerek kalmaz. <br><br> - [Server Component'leri](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code) |
244
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/file_tree.png?raw=true) | **Düzenli Kod Tabanı**<br><br>Kod tabanınızı daha düzenli tutun: Aynı klasörde 1 bileşen = 1 sözlük. İlgili bileşenlerine yakın çeviriler, bakım kolaylığını ve netliği artırır. <br><br> - [Intlayer nasıl çalışır](https://intlayer.org/doc/concept/how-works-intlayer) |
245
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/url_routing.png?raw=true) | **Gelişmiş Yönlendirme**<br><br>Next.js, React, Vite, Vue.js vb. için karmaşık uygulama yapılarına sorunsuz bir şekilde uyum sağlayan tam uygulama yönlendirme desteği.<br><br> - [Next.js entegrasyonunu keşfedin](https://intlayer.org/doc/environment/nextjs) |
246
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/markdown.png?raw=true) | **Markdown Desteği**<br><br>Gizlilik politikaları, dokümantasyon vb. gibi çok dilli içerikler için yerel dosyaları ve uzak Markdown'ı içe aktarın ve yorumlayın. Kodunuzda Markdown meta verilerini yorumlayın ve erişilebilir hale getirin.<br><br> - [İçerik dosyaları](https://intlayer.org/doc/concept/content/file) |
247
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/visual_editor.png?raw=true) | **Ücretsiz Görsel Editör ve CMS**<br><br>İçerik yazarları için ücretsiz bir görsel editör ve CMS mevcuttur, bu da bir yerelleştirme platformuna olan ihtiyacı ortadan kaldırır. Git kullanarak içeriğinizi senkronize tutun veya CMS ile tamamen veya kısmen dışsallaştırın.<br><br> - [Intlayer Editörü](https://intlayer.org/doc/concept/editor) <br> - [Intlayer CMS](https://intlayer.org/doc/concept/cms) |
248
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/bundle.png?raw=true) | **Tree-shakable İçerik**<br><br>Nihai paket boyutunu azaltan tree-shakable içerik. İçeriği bileşen başına yükler, kullanılmayan içerikleri paketinizden hariç tutar. Uygulama yükleme verimliliğini artırmak için lazy loading desteği sunar. <br><br> - [Uygulama derleme optimizasyonu](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization) |
249
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/static_rendering.png?raw=true) | **Statik Oluşturma (Static Rendering)**<br><br>Statik Oluşturmayı engellemez. <br><br> - [Next.js entegrasyonu](https://intlayer.org/doc/environment/nextjs) |
250
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/AI_translation.png?raw=true) | **AI Destekli Çeviri**<br><br>Kendi AI sağlayıcınızı/API anahtarınızı kullanarak Intlayer'ın gelişmiş AI destekli çeviri araçlarıyla web sitenizi tek bir tıklamayla 231 dile dönüştürün. <br><br> - [CI/CD entegrasyonu](https://intlayer.org/doc/concept/ci-cd) <br> - [Intlayer CLI](https://intlayer.org/doc/concept/cli) <br> - [Otomatik Doldurma](https://intlayer.org/doc/concept/auto-fill) |
251
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/mcp.png?raw=true) | **MCP Sunucu Entegrasyonu**<br><br>IDE otomasyonu için bir MCP (Model Context Protocol) sunucusu sağlayarak, doğrudan geliştirme ortamınızda sorunsuz içerik yönetimi ve i18n iş akışları sağlar. <br><br> - [MCP Sunucusu](https://github.com/aymericzip/intlayer/blob/main/docs/tr/mcp_server.md) |
252
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/vscode_extension.png?raw=true) | **VSCode Eklentisi**<br><br>Intlayer, içeriğinizi ve çevirilerinizi yönetmenize, sözlüklerinizi derlemenize, içeriğinizi çevirmenize ve daha fazlasına yardımcı olacak bir VSCode eklentisi sağlar. <br><br> - [VSCode Eklentisi](https://intlayer.org/doc/vs-code-extension) |
253
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/interoperability.png?raw=true) | **Birlikte Çalışabilirlik**<br><br>react-i18next, next-i18next, next-intl ve react-intl ile birlikte çalışabilirliğe izin verir. <br><br> - [Intlayer ve react-intl](https://intlayer.org/blog/intlayer-with-react-intl) <br> - [Intlayer ve next-intl](https://intlayer.org/blog/intlayer-with-next-intl) <br> - [Intlayer ve next-i18next](https://intlayer.org/blog/intlayer-with-next-i18next) <br> - [Intlayer uyumluluk adaptörleri](https://intlayer.org/doc/compatibility) |
254
+ | Eksik Çevirileri Test Etme (CLI/CI) | ✅ CLI: npx intlayer content test (CI dostu denetim) |
255
255
 
256
256
  ## Intlayer'ın Diğer Çözümlerle Karşılaştırılması
257
257
 
@@ -290,3 +290,5 @@ GitHub yıldızları, bir projenin popülerliğinin, topluluk güveninin ve uzun
290
290
  `intlayer` ayrıca `react-intl`, `react-i18next`, `next-intl`, `next-i18next` ve `vue-i18n` namespace'lerinizi yönetmenize yardımcı olabilir.
291
291
 
292
292
  `intlayer` kullanarak içeriğinizi en sevdiğiniz i18n kütüphanesinin biçiminde bildirebilirsiniz ve intlayer, namespace'lerinizi istediğiniz konumda oluşturur (örnek: `/messages/{{locale}}/{{namespace}}.json`).
293
+
294
+ Mevcut i18n kütüphanenizin API'sini kullanmaya devam etmek isterseniz, `intlayer` ayrıca **uyumluluk adaptörleri (compat adapters)** sunar: `react-i18next`, `next-intl`, `react-intl`, `vue-i18n` ve diğerleriyle tamamen aynı API'yi sunan, ancak içeriği Intlayer sözlüklerinden alan paketler. Böylece kodunuzu yeniden yazmadan kademeli olarak geçiş yapabilirsiniz. Bkz. [Uyumluluk adaptörleri dokümantasyonu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compat/index.md).
@@ -404,7 +404,7 @@ export const getLocale = (event: RequestEvent): Locale => {
404
404
  };
405
405
  ```
406
406
 
407
- > `getLocaleFromStorage`, yapılandırmanıza bağlı olarak yerel ayarı header veya cookie'den kontrol edecektir. Daha fazla detay için [Configuration](https://intlayer.org/doc/configuration) sayfasına bakınız.
407
+ > `getLocaleFromStorage`, yapılandırmanıza bağlı olarak yerel ayarı header veya cookie'den kontrol edecektir. Daha fazla detay için [Configuration](https://intlayer.org/doc/concept/configuration) sayfasına bakınız.
408
408
 
409
409
  > `localeDetector` fonksiyonu `Accept-Language` header'ını işleyip en uygun eşleşmeyi döndürecektir.
410
410
 
@@ -253,19 +253,21 @@ import {
253
253
  HeadContent,
254
254
  Scripts,
255
255
  createRootRouteWithContext,
256
+ getRouteApi,
256
257
  } from "@tanstack/solid-router";
257
258
  import { HydrationScript } from "solid-js/web";
258
259
  import { Suspense, type ParentComponent } from "solid-js";
259
260
  import { IntlayerProvider } from "solid-intlayer";
260
261
  import { defaultLocale, getHTMLTextDir } from "intlayer";
261
- import { Route as LocaleRoute } from "./{-$locale}/route";
262
+
263
+ const localeRoute = getRouteApi("/{-$locale}");
262
264
 
263
265
  export const Route = createRootRouteWithContext()({
264
266
  shellComponent: RootComponent,
265
267
  });
266
268
 
267
269
  const RootComponent: ParentComponent = (props) => {
268
- const params = LocaleRoute.useParams();
270
+ const params = localeRoute.useParams();
269
271
  const locale = params()?.locale ?? defaultLocale;
270
272
 
271
273
  return (
@@ -551,7 +553,7 @@ Adım 5'te görüldüğü gibi, kök bileşeninizde `useParams` kullanarak `html
551
553
 
552
554
  ```tsx fileName="src/routes/__root.tsx"
553
555
  const RootComponent: ParentComponent = (props) => {
554
- const params = LocaleRoute.useParams();
556
+ const params = localeRoute.useParams();
555
557
  const locale = params()?.locale ?? defaultLocale;
556
558
 
557
559
  return (
@@ -270,13 +270,15 @@ Kök düzeninizi uluslararasılaştırmayı destekleyecek şekilde yapılandır
270
270
  ```tsx fileName="src/routes/__root.tsx"
271
271
  import {
272
272
  createRootRouteWithContext,
273
+ getRouteApi,
273
274
  HeadContent,
274
275
  Scripts,
275
276
  } from "@tanstack/react-router";
276
277
  import { defaultLocale, getHTMLTextDir } from "intlayer";
277
278
  import { type ReactNode } from "react";
278
279
  import { IntlayerProvider } from "react-intlayer";
279
- import { Route as LocaleRoute } from "./{-$locale}/route";
280
+
281
+ const localeRoute = getRouteApi("/{-$locale}");
280
282
 
281
283
  export const Route = createRootRouteWithContext<{}>()({
282
284
  head: () => ({
@@ -298,7 +300,7 @@ export const Route = createRootRouteWithContext<{}>()({
298
300
  });
299
301
 
300
302
  function RootDocument({ children }: { children: ReactNode }) {
301
- const params = LocaleRoute.useParams();
303
+ const params = localeRoute.useParams();
302
304
  const locale = params?.locale ?? defaultLocale;
303
305
 
304
306
  return (
@@ -631,7 +633,7 @@ Adım 5'te görüldüğü gibi, kök bileşeninizde `useParams` kullanarak `html
631
633
 
632
634
  ```tsx fileName="src/routes/__root.tsx"
633
635
  function RootDocument({ children }: { children: ReactNode }) {
634
- const params = LocaleRoute.useParams();
636
+ const params = localeRoute.useParams();
635
637
  const locale = params?.locale ?? defaultLocale;
636
638
 
637
639
  return (
@@ -13,6 +13,10 @@ keywords:
13
13
  - Intlayer
14
14
  - Next.js
15
15
  - Vite
16
+ slugs:
17
+ - doc
18
+ - concept
19
+ - live-sync
16
20
  history:
17
21
  - version: 9.0.0
18
22
  date: 2026-07-08